136
136
136
84
136
84
84
83
83
83
82
133
81
132
80
79
78
76
75
75
74
128
127
73
125
125
126
74
126
127
129
77
77
76
76
131
131
137
140
143
149
104
158
160
159
158
106
105
107
107
106
106
106
104
104
156
159
159
160
160
160
161
161
162
162
164
114
116
119
172
123
124
124
124
125
127
131
183
183
184
184
133
185
187
187
187
188
188
189
189
138
138
138
138
191
193
196
199
199
147
146
146
145
145
147
146
144
141
191
188
185
183
183
182
129
128
127
126
179
127
126
125
176
122
121
127
127
178
176
175
173
172
172
171
170
118
120
170
169
168
167
167
167
166
166
166
166
166
167
168
116
117
117
169
119
122
124
125
128
182
184
184
133
136
190
191
140
140
192
192
192
192
192
192
195
195
196
196
197
197
197
196
197
198
199
200
201
201
205
205
206
206
207
207
207
204
200
198
198
196
194
140
139
188
187
187
133
130
127
127
178
177
175
174
173
173
122
121
120
118
117
116
115
116
116
115
115
114
114
113
113
112
111
111
110
109
110
110
109
160
108
107
106
156
104
104
105
105
106
106
106
106
107
107
106
156
102
149
97
97
150
98
151
99
98
151
152
153
155
157
157
159
159
159
159
159
107
160
160
108
108
108
108
108
160
164
164
112
164
112
164
164
162
162
162
162
162
162
162
136
136
136
136
84
136
136
84
84
135
83
134
134
134
134
133
132
130
128
127
127
128
127
125
73
73
126
74
74
127
129
77
77
76
76
129
129
135
137
139
145
151
103
158
158
106
157
105
106
159
158
106
158
156
104
156
158
158
158
107
107
160
160
161
109
110
165
115
170
171
122
175
123
122
124
127
131
184
132
132
133
133
133
135
136
188
188
189
189
189
138
138
138
138
139
141
144
147
146
146
146
145
145
145
146
145
143
193
138
188
186
184
183
131
130
129
128
128
129
129
128
127
127
126
178
180
180
180
179
127
178
177
176
174
173
121
174
121
119
172
172
120
172
171
119
170
171
171
172
122
175
175
124
176
178
181
183
184
187
189
190
191
191
141
142
195
196
194
142
142
142
142
142
142
196
144
145
197
197
198
198
146
198
147
148
148
149
149
153
153
153
206
154
154
207
153
149
148
147
146
143
141
192
189
188
187
185
182
179
178
125
124
123
173
121
120
119
118
117
116
115
166
166
115
167
115
114
114
114
165
164
112
111
110
109
109
161
161
108
160
159
158
105
156
104
104
104
105
157
106
105
105
106
106
105
155
101
149
149
97
98
98
151
99
97
98
99
152
153
103
103
155
104
157
158
159
108
161
161
109
109
109
109
109
109
109
109
109
109
109
161
109
163
111
111
111
111
111
163
85
85
85
137
85
85
137
136
136
136
136
137
137
137
137
84
135
132
130
129
76
76
75
125
73
125
126
74
126
127
77
77
77
76
76
76
127
131
133
82
139
146
149
155
157
105
157
156
105
106
105
105
105
155
155
155
157
106
106
158
159
107
107
160
109
110
112
115
169
171
172
121
122
122
124
127
184
184
185
133
133
134
134
136
188
189
189
189
190
190
138
138
138
138
139
141
144
146
198
145
145
145
144
196
144
143
142
140
190
188
186
184
184
132
132
131
131
183
180
128
128
129
181
181
181
185
185
185
185
184
132
132
130
128
178
178
126
124
123
122
174
122
173
173
120
120
173
122
175
125
127
128
128
182
184
135
189
190
192
195
195
195
195
196
144
144
144
197
145
145
145
145
145
145
197
146
146
147
147
147
147
147
148
200
200
149
149
201
152
152
153
153
153
154
154
156
151
150
149
148
145
143
142
138
137
136
133
129
127
124
123
174
121
172
171
170
168
116
115
166
166
165
165
167
166
166
114
165
165
112
112
163
162
161
109
108
160
159
159
158
157
156
104
103
103
103
104
156
104
105
104
104
156
156
155
154
151
97
97
97
98
98
99
99
97
149
150
151
99
100
101
153
101
103
104
157
108
108
107
107
107
107
107
107
107
109
109
161
161
161
161
161
163
111
163
111
163
163
163
86
86
86
86
86
138
86
84
84
85
85
86
138
138
87
86
137
133
79
78
77
76
75
73
125
73
74
74
74
127
77
77
77
128
128
128
75
130
80
81
86
91
146
154
156
105
105
103
104
157
104
104
104
102
102
154
158
158
106
107
107
160
160
109
161
110
113
115
118
171
172
122
122
175
125
128
133
133
185
185
186
134
134
137
137
189
189
190
190
190
190
138
138
138
139
141
144
145
197
197
145
196
196
195
195
142
141
139
190
188
186
184
184
184
132
184
184
184
182
182
131
131
132
133
133
137
188
188
135
187
186
134
132
131
129
180
180
178
125
124
123
123
175
122
122
122
123
123
176
180
129
130
183
185
187
190
192
141
144
146
198
198
197
145
145
145
145
146
198
198
146
146
146
146
146
146
147
147
148
148
148
200
148
201
201
149
149
201
151
204
204
153
153
205
205
157
152
151
150
149
147
145
143
191
189
136
133
129
178
175
175
173
120
119
170
170
116
167
167
166
166
165
165
166
166
166
113
113
165
164
163
163
162
161
160
160
107
159
158
157
104
156
103
102
155
155
155
104
156
156
103
103
103
103
103
153
151
149
149
97
150
98
99
151
98
98
98
151
151
100
100
101
154
102
103
104
106
107
106
106
158
106
106
158
158
109
161
161
109
109
161
161
110
162
162
110
110
110
162
86
86
86
86
86
138
138
137
85
85
138
87
139
140
89
140
138
134
80
130
130
76
75
125
73
73
74
126
126
75
77
77
77
128
128
129
75
78
79
79
84
90
143
100
155
156
104
103
155
105
104
104
104
102
102
154
159
159
160
108
108
161
161
110
162
164
114
168
171
120
173
174
175
124
126
182
185
133
185
186
134
187
135
189
137
189
190
190
191
191
190
138
190
190
139
141
196
197
197
145
196
196
195
143
194
141
140
139
189
188
186
185
133
133
133
185
185
133
136
189
189
138
140
193
194
194
193
140
139
138
135
135
136
186
132
131
182
128
127
180
128
128
180
127
179
126
128
129
182
185
135
136
189
192
142
197
147
148
203
205
152
152
203
150
149
149
201
148
148
200
148
148
148
148
199
147
200
148
149
201
149
201
201
201
201
149
149
149
203
203
152
152
153
153
153
158
154
204
204
150
148
198
196
140
138
136
133
181
178
123
174
121
119
170
169
117
167
167
167
167
166
166
166
166
166
165
165
164
164
163
163
162
161
161
160
159
106
158
157
156
104
103
102
154
154
154
155
155
156
104
102
102
103
102
154
152
150
149
149
97
98
98
99
151
99
151
151
100
152
152
100
102
103
155
103
103
155
155
104
156
104
156
104
104
156
158
106
106
106
106
106
106
160
160
108
108
108
108
160
89
141
141
139
138
85
85
86
138
87
87
88
140
88
141
140
139
136
82
81
80
77
77
76
75
126
125
125
127
75
76
76
77
129
129
127
127
128
129
79
81
134
138
96
100
155
156
156
157
105
105
105
105
104
104
156
109
109
161
162
162
162
110
113
114
116
117
171
120
173
176
177
179
129
131
185
187
188
188
138
191
140
141
192
192
192
192
192
192
192
191
192
141
142
195
196
197
198
198
198
197
197
197
196
195
194
140
138
137
188
188
187
187
136
138
139
141
193
196
196
196
144
144
144
196
194
194
193
193
141
140
140
138
137
188
186
131
182
181
182
182
129
129
183
132
133
133
135
137
139
141
143
145
151
203
204
153
154
155
155
156
155
155
154
154
154
153
151
202
201
200
199
147
198
202
150
149
149
149
148
148
201
201
201
201
201
149
149
150
150
151
151
152
152
204
205
153
153
203
201
200
198
198
141
191
137
135
132
181
178
174
119
118
118
118
169
167
114
166
165
164
163
111
165
165
113
112
112
164
111
162
162
160
159
158
157
106
106
105
104
155
103
102
101
153
153
153
153
153
101
154
102
103
102
101
100
149
150
150
98
98
98
150
150
99
99
99
152
100
153
153
101
101
101
102
102
155
103
154
154
102
154
154
154
154
154
154
154
155
155
156
156
157
157
157
157
105
157
157
90
141
141
139
87
86
138
87
87
87
88
140
141
141
141
89
140
136
135
82
133
130
129
76
75
126
126
73
75
75
76
76
77
129
129
127
127
127
129
78
80
133
134
92
149
100
103
155
157
158
105
106
158
105
105
105
110
110
162
111
111
112
112
167
168
117
119
172
121
122
177
178
180
182
184
133
136
188
137
138
191
141
193
141
141
141
193
193
141
141
192
193
141
195
196
197
198
146
198
198
198
197
197
196
195
194
140
139
137
189
189
139
140
192
194
143
197
197
197
145
197
145
145
145
145
195
143
143
194
142
193
141
191
138
137
188
133
184
183
131
130
182
131
134
136
137
137
139
142
144
197
148
202
206
206
206
156
157
157
157
157
157
208
155
207
207
207
204
204
202
202
201
200
200
203
203
150
150
201
149
149
201
201
201
201
149
149
201
150
151
151
203
151
152
152
204
205
204
203
201
200
199
199
194
191
190
136
185
182
126
121
171
118
118
117
168
114
113
165
164
163
162
110
113
165
165
112
112
112
162
162
109
160
107
105
105
105
105
156
104
103
102
153
100
100
100
100
152
100
152
101
101
102
154
101
152
149
150
150
150
98
98
98
150
99
99
151
151
152
100
153
153
153
153
101
154
154
103
154
154
154
102
102
154
102
154
102
102
154
155
103
156
156
156
156
156
104
104
156
142
142
90
89
89
89
141
140
89
89
90
142
142
142
144
143
142
139
137
136
135
130
130
129
128
127
126
126
127
75
128
128
129
77
129
129
128
128
129
130
79
132
80
89
146
150
153
155
158
158
158
159
160
159
159
108
112
112
113
166
167
168
168
120
172
173
175
176
176
125
128
181
183
184
186
135
137
190
139
140
141
142
143
144
144
144
196
196
196
144
194
195
196
197
198
199
201
147
199
199
198
146
198
145
197
196
194
141
140
140
141
143
143
196
197
197
198
147
146
146
198
198
198
146
198
197
145
145
196
144
143
143
142
193
193
192
189
137
188
131
183
131
133
189
191
193
143
197
147
201
151
153
207
209
209
209
157
158
158
210
160
160
211
211
158
158
210
208
208
206
154
205
204
204
204
204
204
203
203
151
150
202
202
202
202
202
202
202
203
151
151
151
151
203
151
150
151
151
203
201
200
199
200
143
141
191
137
186
184
178
121
118
169
168
167
167
167
114
114
113
112
111
111
112
164
112
163
111
111
161
108
107
158
105
104
103
104
103
103
102
101
100
100
99
99
99
99
99
151
151
98
151
99
100
152
151
97
149
149
149
97
97
97
149
150
150
150
99
151
152
152
152
152
100
153
101
102
102
153
101
101
101
101
101
101
153
153
153
154
154
103
155
155
155
155
155
103
103
103
91
143
143
143
91
91
91
142
90
90
143
91
92
144
146
145
144
141
139
138
137
131
131
129
128
128
127
127
127
75
76
128
77
77
77
131
131
78
130
79
80
133
130
137
89
144
148
151
154
158
159
160
109
161
162
110
114
167
116
169
170
171
172
176
124
177
178
126
127
127
131
184
185
134
135
136
139
191
140
141
142
196
144
198
198
146
198
146
198
198
197
145
146
199
148
201
203
200
200
199
147
199
198
198
198
197
196
143
194
143
144
198
198
198
198
199
199
199
198
198
198
198
198
146
198
145
145
197
145
144
144
143
144
196
195
143
141
141
192
190
190
138
138
142
196
197
148
150
205
155
208
210
161
161
213
213
213
161
161
213
163
162
162
213
213
161
212
212
211
210
209
208
208
155
206
206
205
205
152
204
204
151
203
203
203
203
203
203
204
152
151
203
202
202
202
149
150
202
202
149
200
147
200
142
192
191
137
134
131
178
173
170
116
115
166
113
112
163
111
110
109
108
160
162
161
161
109
160
160
107
107
158
157
104
102
102
154
102
153
101
100
99
98
149
149
97
97
149
149
97
96
149
98
98
98
98
148
148
148
148
96
96
96
148
149
149
150
98
150
151
151
151
99
100
152
100
101
101
102
102
102
102
102
102
154
152
152
153
101
154
154
102
103
103
103
103
155
103
155
91
143
143
143
91
143
143
142
90
90
143
92
92
92
146
146
144
141
140
139
138
131
131
129
129
128
75
127
127
75
76
128
129
129
129
132
80
79
79
80
81
134
77
83
87
90
94
148
99
159
159
160
162
161
162
163
114
115
116
170
171
172
121
177
177
178
179
127
128
180
184
133
134
135
136
188
139
139
192
193
195
196
145
146
146
146
146
146
146
198
145
145
198
199
201
202
203
148
148
148
147
199
198
198
198
197
196
195
195
195
197
147
147
147
200
148
148
200
197
197
197
197
197
145
145
145
145
197
196
196
143
143
145
145
144
144
142
142
142
141
141
141
194
144
198
199
203
153
207
157
158
161
215
216
216
216
215
163
163
163
215
215
215
162
162
213
213
212
160
211
210
157
208
156
206
206
205
205
204
152
152
151
151
203
151
203
203
151
152
204
203
203
202
202
202
148
150
202
150
201
148
147
148
194
140
138
188
185
183
178
121
118
116
115
166
165
110
109
108
108
107
158
158
161
161
160
108
108
159
159
159
158
105
103
102
101
102
154
153
152
152
99
98
97
149
97
149
97
149
149
147
96
149
150
150
150
96
96
148
148
96
96
96
96
97
149
97
98
98
99
151
151
151
151
100
100
101
101
103
103
103
103
103
103
155
152
152
152
153
154
154
102
104
156
156
104
104
104
156
145
92
91
142
143
144
145
143
91
144
144
93
93
93
144
91
144
140
138
86
137
134
132
129
129
77
78
77
75
127
128
128
129
129
77
77
77
77
129
77
77
129
132
81
135
86
91
147
150
102
159
161
162
110
111
165
168
118
119
171
120
174
123
125
178
127
180
181
130
182
185
134
187
137
138
139
140
141
193
195
196
145
146
148
148
148
149
149
149
202
202
150
202
202
202
150
150
203
203
151
150
150
149
149
199
199
199
199
199
147
147
201
149
149
201
201
201
201
147
147
199
198
198
197
197
198
198
146
145
145
145
145
146
146
146
199
200
148
148
148
148
149
203
206
207
208
157
158
159
216
166
167
220
220
168
220
220
220
168
168
168
168
167
165
165
216
164
161
161
212
211
158
158
210
208
208
207
206
205
153
152
204
152
203
203
203
202
150
202
202
150
202
202
150
150
150
150
150
150
150
150
150
149
197
144
142
191
135
132
178
172
116
113
112
111
161
161
107
158
105
105
157
106
107
159
159
159
107
159
159
158
158
156
103
102
101
102
153
152
151
98
149
96
95
147
95
147
147
147
147
149
149
149
96
96
148
95
147
147
95
96
148
149
149
148
96
149
98
98
100
152
151
151
152
100
100
101
101
101
101
101
101
153
101
101
153
153
153
153
153
153
153
155
155
103
155
155
155
155
93
145
144
144
92
93
145
145
93
145
146
94
94
95
146
93
93
89
138
138
137
135
81
130
130
130
79
78
76
128
76
76
76
128
128
130
130
78
78
130
78
78
133
133
134
136
87
89
90
99
156
159
161
161
164
113
119
173
173
120
121
174
176
127
128
181
182
183
184
185
188
189
190
139
140
141
141
142
195
196
197
198
199
150
150
150
150
203
203
203
151
203
203
203
203
203
151
151
203
203
203
151
151
151
150
202
202
202
202
150
150
203
202
202
202
202
149
201
199
199
199
146
146
197
197
196
144
145
145
197
146
198
199
200
201
151
154
155
156
157
158
159
161
216
217
218
165
165
166
169
170
172
172
173
225
225
225
225
225
173
172
172
171
169
169
168
168
165
165
215
162
161
160
159
210
210
209
208
207
155
154
154
153
153
204
204
152
204
203
202
202
150
150
201
149
150
150
150
150
150
150
150
203
199
198
197
194
191
188
127
122
118
115
165
110
108
159
157
156
103
155
103
104
157
157
105
105
157
105
106
157
156
155
154
101
152
153
153
152
99
150
96
96
93
93
93
145
145
145
145
147
146
146
94
93
93
93
146
146
95
147
95
96
148
96
96
149
98
150
100
100
152
152
152
153
101
102
102
102
102
102
102
102
102
102
154
154
102
154
154
154
154
155
155
155
155
103
103
155
93
145
94
146
146
145
145
93
94
146
147
147
95
95
95
94
94
89
139
138
137
135
81
130
78
78
79
78
76
128
76
76
128
128
128
78
78
78
78
130
130
78
81
133
82
136
86
87
88
148
154
157
159
160
111
113
119
173
121
121
173
123
125
180
129
182
183
184
185
134
189
189
139
192
193
142
142
195
196
197
198
199
148
202
150
150
151
151
152
152
151
203
203
203
151
151
203
151
151
151
151
151
151
151
151
203
203
203
203
151
203
152
151
203
150
150
149
149
147
199
147
198
198
145
145
144
196
145
145
146
147
147
149
150
152
153
157
159
159
160
160
214
215
166
167
220
169
221
170
172
173
173
174
175
175
175
227
227
175
227
224
172
171
170
169
168
220
219
219
217
163
162
161
160
160
159
158
209
208
156
156
154
154
154
153
205
205
204
203
203
150
150
149
201
149
150
150
150
150
202
150
150
203
148
199
146
144
192
189
127
175
119
116
165
162
107
158
156
155
154
102
154
154
157
105
105
105
105
105
157
156
155
154
153
152
151
153
152
99
98
97
96
95
143
91
91
143
143
143
143
146
146
145
145
145
92
144
94
94
94
95
95
96
148
148
148
149
150
150
152
100
152
152
153
153
101
102
102
102
102
102
102
102
102
154
154
154
154
154
154
154
154
103
155
155
103
103
103
155
145
146
95
96
147
146
145
95
95
95
148
148
149
149
96
95
147
89
87
86
84
136
134
131
79
79
80
79
77
77
76
128
75
75
127
131
131
131
79
79
131
131
131
133
135
85
86
86
87
142
97
153
104
105
109
163
116
118
120
121
175
177
180
182
183
184
185
186
187
136
189
190
191
192
193
142
144
196
197
198
199
201
201
202
202
150
150
151
203
203
202
202
202
150
150
150
150
203
203
203
152
152
153
153
204
204
204
204
204
204
204
153
153
152
151
202
201
149
147
199
147
198
198
197
197
197
197
146
147
148
149
149
155
208
209
210
213
162
163
165
217
219
220
171
172
225
174
226
226
175
175
175
175
177
177
177
177
177
177
229
228
176
175
174
173
172
224
223
222
219
166
216
163
162
162
161
160
211
158
210
158
208
208
155
207
206
206
154
204
203
150
150
149
200
148
150
150
150
150
150
202
202
150
200
147
146
144
141
190
128
124
121
117
114
161
158
156
154
153
152
152
100
152
103
103
155
103
103
103
103
155
154
101
100
150
150
150
150
97
96
94
93
92
89
89
89
89
89
141
141
146
145
145
93
92
144
92
93
93
94
146
94
95
147
148
96
97
150
150
152
152
101
101
153
102
102
103
103
103
103
103
103
103
103
103
155
155
155
155
103
155
155
103
103
155
155
103
103
155
149
149
97
149
149
149
97
96
96
97
151
151
152
152
97
96
148
91
88
87
138
133
133
80
80
131
132
80
77
77
128
76
75
127
127
127
129
132
81
81
80
132
132
133
134
84
86
88
89
92
146
96
99
101
103
105
113
116
171
173
176
179
182
182
183
184
185
134
135
187
190
191
192
192
193
194
196
197
198
200
200
201
200
202
150
150
150
150
150
150
150
202
150
150
150
150
150
202
150
150
150
151
205
156
206
206
207
207
207
156
156
207
155
154
153
151
149
149
149
148
146
145
144
197
198
197
145
199
201
203
206
207
211
211
160
213
215
216
165
168
168
170
172
228
229
178
230
178
178
230
230
230
178
180
180
180
180
180
232
232
232
232
179
177
176
228
227
225
224
222
221
220
167
167
165
164
162
213
160
159
159
211
211
157
207
206
205
205
153
204
203
203
150
201
201
150
150
202
202
150
202
202
150
148
148
148
199
144
142
184
127
123
119
115
162
158
103
100
150
150
151
99
150
102
103
103
103
103
102
100
100
99
99
151
99
99
98
148
146
144
90
141
141
87
87
139
140
88
141
89
143
143
143
144
144
145
93
92
92
92
93
93
94
146
96
97
97
150
150
151
152
152
152
101
102
102
104
104
104
104
104
104
104
156
104
104
156
156
156
156
104
104
104
104
156
156
156
104
156
149
149
97
149
149
97
97
96
96
97
150
151
152
152
149
96
96
91
88
87
86
81
81
133
132
79
132
132
77
77
76
128
128
127
75
75
77
132
81
81
80
132
132
133
134
136
87
140
142
92
145
96
99
100
155
156
112
167
118
120
174
178
180
182
183
184
185
134
135
187
137
139
192
192
192
194
144
197
147
148
201
149
149
150
150
150
150
150
150
150
201
201
149
149
149
149
149
149
149
149
150
203
153
156
155
207
207
208
208
208
209
155
155
154
153
152
150
201
149
148
146
197
197
198
198
197
146
200
202
204
155
156
161
161
214
215
166
218
219
168
169
171
225
229
230
179
233
181
233
233
233
233
181
234
182
182
182
234
234
234
233
180
180
178
229
229
228
226
225
171
222
221
220
168
166
165
215
162
161
160
160
159
159
209
208
155
154
205
205
204
204
151
150
149
149
202
202
202
202
150
202
150
150
148
148
148
147
144
142
132
128
123
119
115
110
107
103
99
98
98
98
98
98
101
102
103
103
102
101
100
100
151
151
151
150
150
149
148
146
92
90
141
141
139
139
139
140
140
141
141
143
143
143
144
144
144
93
144
92
92
93
93
146
94
96
148
97
98
98
100
152
100
152
153
102
103
156
156
156
104
104
104
104
156
156
156
156
156
156
156
104
104
104
104
156
104
104
104
156
150
98
98
150
150
150
150
97
97
149
150
151
151
99
97
96
96
91
88
87
86
83
82
134
133
80
82
81
78
78
129
129
128
76
76
128
128
78
79
80
80
132
134
134
135
137
88
89
91
91
92
146
149
150
152
153
109
164
166
168
170
173
176
128
181
183
184
134
135
187
189
139
191
191
192
194
197
198
148
149
202
202
202
204
203
203
203
151
202
150
201
201
201
149
149
201
149
149
201
201
201
202
152
207
209
158
210
210
211
211
211
157
156
155
154
205
151
202
149
148
147
146
198
200
200
201
202
203
205
207
210
159
164
164
217
218
221
222
170
172
225
226
228
180
233
234
186
186
186
186
238
186
186
237
185
185
185
237
237
237
235
183
183
234
181
181
233
230
229
227
226
225
224
224
222
169
219
217
164
163
162
162
161
211
158
209
208
207
206
205
204
151
203
202
202
150
202
202
202
202
202
202
202
148
148
148
147
196
194
133
128
124
120
115
111
159
103
99
97
97
98
150
97
101
102
102
102
102
101
100
100
151
151
98
149
149
148
147
145
143
141
89
89
87
87
87
139
139
139
139
141
142
142
142
143
143
143
92
92
92
93
93
146
94
95
96
96
97
99
100
153
101
101
154
154
155
105
157
104
104
104
104
104
156
156
156
156
156
156
156
156
104
104
104
156
104
156
156
156
151
151
151
99
99
99
151
150
98
98
150
150
150
98
97
96
148
143
140
87
138
136
136
136
135
134
135
135
131
78
78
77
129
77
77
128
128
128
129
130
132
132
135
136
85
139
142
91
93
144
144
146
148
149
151
152
159
110
164
165
167
170
120
124
178
180
130
183
133
134
136
138
190
190
191
193
199
148
201
203
204
204
203
205
153
153
152
151
151
202
202
150
202
150
202
202
202
202
150
202
151
152
154
157
210
211
159
211
212
212
213
158
210
209
156
155
153
152
150
149
148
200
148
150
203
205
206
207
209
211
214
163
165
217
166
167
222
223
171
228
229
230
232
184
185
186
187
239
239
239
239
187
239
238
238
186
186
186
238
238
238
186
186
186
186
186
238
235
234
232
231
230
177
176
227
226
223
221
219
166
165
164
215
213
160
159
158
158
155
206
205
204
203
151
150
150
202
202
202
202
202
202
202
200
200
148
199
196
142
186
181
177
173
116
111
160
102
98
96
96
97
97
149
152
101
102
102
101
100
100
152
151
150
149
148
147
146
145
91
90
141
141
141
139
139
139
139
138
138
138
140
88
88
141
89
141
142
92
92
92
93
93
94
94
146
95
96
97
99
101
102
153
154
154
155
156
157
158
104
104
104
104
156
156
104
104
104
104
104
104
104
104
104
104
104
104
104
156
156
99
151
151
99
99
99
151
98
98
98
150
150
150
98
97
96
148
143
88
87
138
137
137
136
135
135
136
84
79
131
78
78
129
129
129
76
128
127
128
78
131
133
84
136
86
88
90
144
145
144
145
146
148
149
151
99
107
162
163
164
114
169
119
122
176
178
128
130
184
184
188
138
138
190
191
193
200
149
150
203
204
204
204
154
154
153
152
203
151
202
203
203
203
203
203
151
203
203
151
151
151
205
207
157
158
211
159
159
160
212
212
159
210
210
208
155
205
153
150
149
201
200
149
151
204
206
207
208
210
212
216
165
219
220
168
170
172
173
173
229
230
231
233
185
187
188
189
189
241
241
241
241
241
240
240
240
240
240
240
240
239
239
187
187
188
240
240
236
236
182
181
180
231
230
229
228
172
170
220
167
218
217
216
162
161
160
211
211
207
206
205
204
204
151
203
202
150
150
202
202
202
202
202
200
148
148
199
144
142
186
181
177
173
168
112
108
101
98
96
96
97
97
96
100
101
101
101
101
100
100
152
151
150
148
147
146
145
92
91
89
89
89
89
87
139
139
138
138
137
137
139
139
140
140
88
89
89
92
92
92
93
145
146
94
94
94
96
97
151
154
102
102
102
103
103
156
158
158
156
104
104
104
156
156
156
156
104
104
104
104
104
104
104
104
104
156
156
156
156
152
152
100
151
98
98
150
99
151
151
98
150
150
98
98
97
95
90
87
85
136
135
135
135
135
135
135
83
81
81
79
131
78
129
129
76
128
129
77
78
130
78
135
139
89
89
91
92
94
148
148
149
151
99
152
153
159
108
162
164
113
115
115
120
122
125
128
131
133
134
186
188
189
191
140
142
196
198
148
150
204
153
153
151
151
203
150
150
201
201
203
203
202
202
203
153
155
205
206
154
154
154
206
207
159
159
159
160
160
161
213
212
160
211
209
207
152
203
202
150
202
202
151
155
208
210
210
211
212
214
221
223
224
172
173
174
177
177
230
233
233
234
236
187
188
189
191
191
243
191
191
243
243
243
243
243
242
242
241
241
242
242
190
241
240
240
240
242
242
240
238
185
184
183
181
180
229
228
226
173
173
169
219
216
163
163
164
216
211
209
208
206
205
151
151
203
203
202
202
201
201
201
202
200
200
200
147
144
194
186
181
178
174
170
165
163
104
101
99
151
151
151
150
151
99
100
100
101
101
153
153
152
151
97
148
147
95
93
92
91
143
142
89
87
87
87
138
138
137
85
85
85
86
139
139
88
89
91
91
144
145
145
147
95
146
146
96
97
151
154
154
155
155
103
104
104
105
157
157
105
105
105
157
157
157
103
103
155
103
103
155
155
106
106
106
105
156
104
104
152
152
152
151
99
99
150
100
100
151
98
98
149
97
96
95
93
89
139
137
84
135
135
135
135
135
135
135
82
82
80
131
79
78
130
129
129
130
78
78
79
79
135
87
89
89
91
92
94
148
148
150
100
100
154
102
159
160
110
163
113
114
114
119
173
175
178
129
131
184
186
188
189
191
140
142
197
198
148
150
152
152
152
151
151
150
150
202
202
201
151
203
202
202
151
153
155
155
208
156
156
157
157
210
211
160
160
160
161
161
161
213
212
159
210
208
153
205
204
203
203
204
153
209
210
212
212
161
163
217
223
172
174
226
227
176
178
179
232
234
235
236
238
189
190
191
194
246
246
246
194
246
246
245
245
193
192
244
243
243
243
243
242
190
241
241
241
243
243
241
240
239
186
185
185
185
234
232
179
177
177
225
172
167
217
216
163
163
212
211
209
207
206
205
152
151
151
203
202
202
202
201
202
200
148
200
147
144
142
134
181
178
174
170
165
163
156
153
99
151
151
151
150
151
151
100
100
101
101
101
100
151
98
97
96
95
95
93
92
91
91
142
89
139
87
87
138
138
137
85
137
85
86
87
139
140
89
90
91
91
92
145
146
147
146
146
148
149
151
154
154
155
155
103
104
104
105
157
156
104
104
104
156
156
156
155
155
155
155
103
103
155
106
157
157
105
156
156
104
153
153
152
152
151
151
151
100
100
151
150
97
149
148
94
93
92
88
139
137
85
136
136
136
136
136
136
84
83
82
81
132
79
131
78
78
130
78
79
79
79
80
135
139
89
89
91
92
146
149
149
151
101
153
155
103
108
109
162
111
113
114
114
118
120
175
126
128
130
183
186
136
137
139
192
194
197
198
148
202
203
152
152
150
150
150
202
150
150
202
203
203
202
202
151
153
155
156
209
209
210
211
159
212
212
212
212
161
213
161
162
213
160
160
158
209
207
206
205
205
205
205
207
210
211
161
162
163
217
220
172
226
227
228
176
230
232
233
233
236
237
238
239
191
192
192
247
247
247
247
195
195
195
246
246
194
193
193
193
244
244
243
243
190
242
242
242
192
191
242
189
188
187
239
238
185
235
181
180
178
230
228
227
170
219
217
164
163
162
160
210
157
155
206
205
152
151
151
203
202
202
150
202
148
148
200
147
144
142
134
129
126
174
170
165
111
104
101
99
151
151
151
150
99
151
100
100
153
153
152
152
99
98
97
95
95
95
93
144
91
143
142
141
139
87
139
138
138
137
85
85
85
138
139
139
140
141
142
90
91
92
93
94
146
94
94
148
149
151
102
102
103
155
155
104
104
157
157
155
103
155
155
155
155
103
155
155
155
155
155
103
103
157
105
105
104
104
103
155
154
153
153
100
152
152
100
151
151
150
148
147
146
93
90
90
89
139
138
138
85
137
137
137
137
137
137
137
84
84
135
82
81
80
80
79
131
132
80
81
133
133
135
139
89
89
143
144
146
97
98
152
154
156
105
158
163
164
164
113
166
115
115
172
122
124
127
182
184
133
134
188
189
191
192
194
197
198
148
201
150
150
150
149
149
150
202
202
202
203
151
151
202
202
203
205
207
209
210
158
160
161
214
215
213
213
161
161
162
214
215
161
213
160
160
211
209
209
208
208
208
157
158
161
163
164
165
220
223
173
176
176
230
231
232
233
235
236
236
239
240
241
243
194
195
196
197
249
249
249
249
197
197
248
247
195
194
194
194
193
245
245
245
244
244
243
243
193
193
192
192
191
191
190
239
187
236
182
181
179
179
231
230
175
225
170
167
217
216
162
161
159
157
156
156
153
204
204
203
203
203
151
150
200
200
148
147
144
142
134
129
178
122
118
165
163
156
101
99
151
151
151
150
151
99
152
100
153
153
152
151
150
149
148
147
94
95
93
92
143
91
142
141
139
87
139
138
138
137
85
85
85
138
139
139
140
141
141
90
90
91
92
145
146
94
94
148
97
151
102
102
103
155
155
104
156
157
157
104
104
104
156
156
156
156
103
155
155
155
155
155
103
156
156
104
104
103
155
102
154
154
154
153
100
100
152
150
149
96
93
92
143
91
140
140
88
87
138
86
86
85
137
85
85
85
85
137
85
85
83
83
134
81
81
80
80
133
81
82
82
134
83
87
89
141
143
144
146
149
150
153
155
157
159
160
165
166
167
167
116
116
117
122
177
179
130
185
135
136
186
188
189
139
140
194
197
146
148
201
201
149
149
149
149
149
150
202
203
203
151
203
202
202
203
205
155
209
209
210
212
161
162
216
161
161
161
162
162
215
215
162
162
161
160
160
211
210
210
158
158
158
160
163
164
165
219
222
174
176
230
178
180
181
233
235
237
238
238
189
242
243
244
196
249
249
197
249
249
249
197
197
197
247
247
195
194
194
245
193
194
246
246
193
192
192
192
194
194
245
193
193
193
244
243
243
240
187
237
184
183
179
231
230
228
225
222
169
217
215
162
160
159
158
157
205
205
204
204
203
203
203
202
200
148
148
147
196
142
186
129
126
122
170
165
111
104
153
99
99
99
151
150
151
151
152
152
101
101
151
151
150
97
95
94
93
95
93
92
143
91
90
141
139
139
139
138
138
85
85
85
85
138
139
139
140
141
141
89
90
143
143
145
145
146
94
96
149
151
102
102
155
103
155
156
104
157
157
157
157
105
157
157
105
157
155
103
155
155
103
155
103
104
156
156
155
154
154
154
104
156
103
152
99
98
150
150
98
148
145
92
91
142
88
88
87
138
139
88
88
138
138
138
86
86
86
86
85
85
84
84
83
83
83
82
82
82
82
82
134
134
83
86
88
90
92
93
146
148
151
153
154
155
106
109
164
166
115
169
118
171
172
124
125
179
129
131
132
185
185
136
190
190
192
143
144
145
146
200
201
149
148
201
149
201
202
202
151
151
152
152
151
151
151
204
206
156
157
211
213
162
163
162
162
162
214
163
163
216
216
215
215
162
162
160
159
159
210
210
158
159
161
165
166
220
222
174
176
228
231
232
235
183
236
237
240
189
241
243
244
244
246
196
249
249
199
199
199
199
199
199
199
250
249
249
195
246
245
245
246
194
194
194
194
194
246
246
246
194
194
194
194
246
245
245
242
240
238
237
236
183
182
231
229
227
225
225
221
216
162
161
160
157
155
207
206
153
203
202
201
201
203
150
149
147
145
194
141
183
129
126
119
168
166
110
102
101
100
100
100
152
153
100
152
152
100
152
100
148
96
148
95
95
146
94
93
93
144
143
91
142
89
87
139
139
138
86
85
137
138
86
138
139
139
140
140
142
142
143
144
144
146
94
94
146
147
96
98
100
100
155
103
103
104
156
156
156
106
157
105
157
104
104
104
157
157
105
157
105
105
157
105
104
104
156
155
155
102
156
155
154
152
99
98
149
149
149
96
92
91
90
141
140
139
138
85
86
87
88
138
138
138
138
86
86
86
86
86
85
85
84
84
84
83
83
135
135
135
83
135
136
139
88
90
92
93
93
95
150
153
102
156
107
109
165
166
116
169
171
172
121
124
125
179
181
131
184
185
187
137
138
190
139
141
144
145
146
148
149
149
148
201
149
201
201
202
150
150
203
151
150
150
150
151
153
156
157
211
161
162
215
162
214
162
214
163
215
216
216
163
215
162
161
161
159
159
159
211
159
160
162
166
168
169
172
175
229
230
180
181
184
236
237
238
241
189
190
244
245
246
247
197
198
198
251
251
199
199
199
199
199
199
198
250
248
248
195
247
195
195
195
195
195
247
247
246
246
194
194
194
194
246
194
245
243
241
188
238
238
184
184
180
230
228
227
226
223
218
216
163
161
158
208
156
154
153
204
203
202
201
151
150
149
147
196
142
192
183
181
179
171
116
113
161
154
101
100
99
99
99
151
149
149
149
149
149
149
95
95
147
95
94
94
146
93
145
144
143
143
142
141
87
87
139
138
86
85
137
86
138
138
138
139
139
140
141
142
142
143
144
145
94
94
94
147
96
150
152
152
102
154
154
103
155
104
156
156
104
156
155
155
102
102
103
103
103
155
155
103
155
104
103
103
103
102
154
154
103
102
154
99
98
149
97
96
147
146
91
141
88
87
139
138
137
137
85
86
87
87
87
87
87
87
87
139
87
87
87
86
86
138
85
84
84
136
136
136
136
84
86
88
89
91
92
92
145
95
151
154
104
157
109
111
166
167
116
170
172
121
121
176
125
127
129
131
132
185
188
138
138
190
190
192
144
145
146
148
149
149
148
148
200
148
201
201
149
150
202
149
149
200
149
150
152
155
156
210
160
213
214
161
214
214
214
215
215
216
216
162
162
213
161
161
160
160
162
162
162
163
164
169
170
171
226
229
179
232
234
184
185
238
239
240
242
191
192
245
245
246
195
198
198
199
199
251
199
199
199
199
199
199
199
250
250
198
197
197
196
196
196
248
248
196
196
247
247
195
195
247
247
195
246
246
244
243
190
189
189
239
238
183
181
231
229
228
227
222
168
166
216
161
158
208
155
154
153
203
203
202
202
149
148
198
195
193
191
181
180
127
119
116
164
159
102
101
99
98
97
149
150
147
147
95
147
95
95
94
94
94
94
94
146
94
93
145
144
143
143
142
89
139
87
87
138
86
85
85
137
137
137
138
138
138
139
141
89
90
90
91
93
145
94
94
95
148
98
100
152
153
153
154
103
156
157
106
157
105
156
156
103
155
103
104
104
156
104
156
104
104
105
157
105
104
103
155
155
155
154
153
151
150
149
148
147
94
145
142
140
87
139
139
138
137
136
137
138
87
88
88
88
88
88
88
88
88
88
87
87
87
86
86
85
85
137
137
137
137
85
139
141
90
91
92
92
93
148
152
155
105
107
162
113
114
167
117
118
172
173
122
124
125
179
181
131
132
133
135
137
190
190
191
141
144
197
198
148
149
201
148
147
200
148
200
201
149
201
201
148
148
147
148
149
151
154
207
157
211
212
212
212
214
214
214
215
215
216
216
213
161
213
161
161
161
161
163
215
163
164
165
170
171
172
175
231
233
233
183
185
238
239
239
241
191
192
192
192
245
246
195
197
198
198
251
251
199
199
199
199
199
250
250
250
250
198
198
198
197
197
249
249
249
249
249
248
248
196
196
196
196
196
246
246
245
244
191
242
190
188
187
184
182
180
230
230
229
224
169
167
165
162
159
209
155
154
153
152
151
150
149
149
148
198
195
193
191
181
180
127
120
115
163
106
102
153
99
97
97
97
149
146
146
94
146
146
146
93
93
93
93
94
94
94
145
145
144
143
143
90
89
87
139
87
138
138
85
137
84
137
137
137
138
86
138
140
141
141
142
143
144
93
94
94
95
148
98
100
100
153
154
103
104
105
107
107
107
106
106
106
105
105
156
158
158
158
158
158
158
158
159
159
107
106
105
105
157
154
154
153
98
149
148
148
146
145
144
141
140
138
138
138
137
136
84
84
85
86
88
140
88
88
88
88
88
89
89
88
140
139
87
87
138
138
138
138
138
138
86
140
142
91
92
93
92
145
97
154
157
159
109
165
168
115
168
117
171
172
174
122
124
125
127
129
131
132
185
185
188
190
190
192
143
144
197
146
148
149
201
200
147
199
199
200
200
201
149
200
200
199
147
147
200
202
152
205
155
157
210
210
158
214
214
214
215
215
164
164
213
161
161
161
161
161
161
164
216
216
217
167
171
172
174
176
180
234
235
185
186
239
187
240
189
192
193
193
243
244
244
194
196
197
197
199
251
251
251
251
199
199
249
249
249
249
197
198
198
198
198
250
250
198
250
250
248
248
248
196
196
196
196
195
195
193
193
192
192
243
189
189
185
183
181
232
231
232
174
171
169
166
215
160
157
156
155
153
152
151
151
149
148
199
197
194
192
191
128
180
127
172
167
111
104
102
153
99
97
148
96
148
146
94
146
146
146
146
144
92
92
93
93
94
146
145
145
92
143
143
90
141
139
87
87
138
138
85
137
84
84
136
137
137
138
138
88
140
141
90
142
92
92
94
146
147
96
150
152
152
102
155
104
157
107
109
109
110
110
109
109
160
108
160
109
109
161
109
161
109
161
163
163
110
110
161
109
161
153
100
151
149
95
94
94
144
92
143
142
89
88
88
86
138
138
138
138
86
86
88
140
89
141
90
142
142
142
142
89
141
141
88
88
139
139
139
139
139
139
139
88
89
143
92
93
94
94
149
153
157
161
165
168
169
170
171
121
122
176
177
126
128
129
130
131
132
133
186
186
187
188
189
190
191
194
144
146
146
146
199
149
148
149
202
150
150
150
149
200
147
146
145
144
145
146
149
150
203
204
206
208
210
158
210
211
211
212
213
162
163
162
161
212
160
162
162
216
217
219
220
171
174
175
177
230
233
235
237
187
239
241
189
190
190
191
191
243
245
245
246
195
196
249
197
250
250
250
251
252
252
252
251
251
251
251
251
199
199
198
250
250
250
250
250
198
198
198
249
249
197
196
196
195
195
194
194
246
193
193
242
190
239
237
184
183
182
232
174
172
170
168
217
215
161
155
153
152
152
150
201
200
147
198
195
192
138
136
129
125
122
117
112
157
155
152
98
96
148
95
146
93
92
92
92
144
144
144
144
92
92
144
92
92
92
145
145
92
143
90
90
141
89
89
140
139
86
138
85
84
84
136
136
84
136
136
86
87
87
141
142
92
144
91
92
145
147
97
100
101
104
104
106
107
109
112
112
113
113
114
115
116
117
169
168
168
116
168
116
116
116
169
117
116
115
114
113
165
98
97
149
147
94
145
145
92
92
143
142
89
140
140
140
140
140
140
140
140
140
141
141
90
142
142
143
91
144
143
143
142
142
142
90
89
89
141
141
141
141
141
89
91
144
93
94
95
96
99
104
108
164
117
172
173
121
122
123
125
179
180
180
131
132
185
186
187
187
188
134
135
188
189
191
191
193
195
197
145
197
198
148
201
150
151
152
152
151
150
148
199
198
197
196
197
198
148
148
201
151
152
153
207
209
157
158
159
212
212
213
163
163
215
215
163
216
164
167
220
221
223
173
177
177
231
232
183
185
239
188
240
190
190
190
191
243
244
244
245
245
194
195
196
197
249
250
250
250
251
252
200
200
200
252
252
252
200
200
252
199
199
251
251
251
199
199
199
199
198
198
197
197
197
196
248
195
195
194
194
194
192
191
240
239
185
184
235
233
175
173
172
170
167
216
213
207
153
152
151
149
199
147
198
196
193
190
135
133
124
120
168
112
107
153
152
149
147
93
93
93
144
91
92
92
144
144
144
144
143
143
91
91
91
91
91
144
143
91
142
90
141
141
88
88
139
139
138
85
136
83
135
135
135
83
83
135
136
85
138
139
88
142
143
92
93
146
96
99
103
104
107
108
109
110
112
167
115
117
117
118
119
120
121
173
174
122
122
174
175
175
175
175
123
123
122
173
121
173
97
96
96
95
94
145
145
92
92
91
142
141
88
88
88
140
140
140
88
88
88
141
141
142
90
143
143
91
92
144
144
143
143
143
142
89
141
141
89
141
89
89
142
92
93
94
95
96
97
152
157
109
166
118
173
175
174
175
125
127
128
181
182
133
134
186
135
188
188
137
135
136
137
190
191
192
141
143
197
197
145
146
148
202
203
152
153
153
152
151
149
200
199
198
197
198
199
200
201
149
150
152
153
154
209
209
210
158
159
212
213
215
215
216
217
217
166
166
169
169
223
225
227
230
231
232
182
184
186
187
188
188
190
242
191
243
244
244
244
245
193
194
195
196
197
197
250
250
250
251
252
200
200
252
252
200
252
200
200
200
199
251
251
251
251
251
199
199
199
198
198
198
197
197
196
248
247
195
195
194
194
193
192
189
188
238
185
236
234
176
174
173
223
167
217
213
207
204
203
150
148
146
198
197
195
192
136
133
131
124
118
114
162
157
153
151
147
146
144
145
145
92
143
144
92
144
144
144
92
143
143
91
143
91
91
91
91
90
142
142
142
141
141
140
140
139
138
85
85
136
83
135
135
135
135
83
83
136
136
137
86
88
142
90
92
93
95
97
152
104
105
160
109
110
112
113
116
117
119
171
119
120
122
174
123
124
124
124
125
126
178
178
176
176
124
124
123
123
123
148
96
96
95
147
147
95
144
92
91
142
141
88
140
142
142
142
142
90
90
90
90
142
91
143
91
144
144
146
94
145
145
144
92
92
143
91
143
91
143
143
91
92
93
94
147
149
97
98
152
157
162
167
171
175
177
177
178
128
129
131
132
185
137
189
189
138
138
138
138
137
190
191
193
194
195
194
144
146
146
146
147
201
152
204
205
154
154
153
152
151
150
201
200
200
148
201
202
202
150
151
152
205
153
156
208
157
158
159
159
212
215
216
166
220
220
220
220
223
224
174
175
178
233
234
235
184
186
187
188
189
189
191
191
191
192
244
245
245
193
193
194
195
196
197
197
250
250
250
251
252
252
200
201
253
253
201
201
253
253
200
200
200
200
200
252
200
200
200
199
199
198
198
198
197
197
196
248
195
195
195
194
193
191
241
239
238
186
183
178
176
174
172
169
218
214
207
204
202
149
199
197
195
141
139
188
184
128
126
172
113
109
104
152
148
148
146
145
92
93
145
145
144
144
92
144
92
92
92
142
142
142
142
90
90
90
141
89
141
141
141
141
89
139
87
86
138
137
84
83
82
82
134
134
82
82
134
84
85
86
87
88
142
91
144
93
96
98
101
106
107
161
110
111
112
114
117
169
120
172
121
174
123
176
124
124
125
125
178
128
181
181
180
128
128
180
129
129
181
151
99
151
149
96
95
94
145
145
92
91
90
89
89
90
90
90
90
142
142
142
142
90
91
143
92
92
92
92
92
145
145
145
146
146
146
146
146
146
94
146
94
92
93
94
96
97
98
98
99
105
110
115
119
175
177
178
128
130
132
135
136
137
139
139
139
191
191
139
139
138
191
140
192
193
194
197
198
199
200
150
151
152
153
206
207
156
156
208
155
152
203
150
149
201
149
150
152
152
203
203
151
204
206
208
156
157
158
158
159
212
217
217
166
167
221
223
223
228
228
230
179
181
183
236
239
239
240
241
189
191
191
191
191
243
192
193
193
193
193
193
193
246
247
247
247
250
250
251
200
201
254
254
254
202
254
253
252
252
252
200
200
200
200
252
252
252
252
200
199
199
198
198
250
198
198
197
197
196
196
248
195
246
244
190
241
240
239
235
179
177
175
224
220
216
213
206
204
202
149
147
198
197
192
189
187
131
126
122
111
158
156
153
151
148
148
143
91
90
90
90
143
143
143
143
91
143
91
91
91
91
143
90
90
89
89
90
142
142
141
89
140
140
88
139
138
138
137
136
135
81
81
133
134
82
135
83
82
83
136
86
88
143
144
146
95
148
151
153
157
106
110
163
164
113
115
118
118
171
171
172
122
124
177
177
179
179
128
129
182
183
183
183
183
131
132
133
133
133
151
99
98
97
96
147
146
93
145
144
91
90
141
89
90
90
90
90
142
90
142
142
142
143
143
92
92
144
143
92
144
145
145
145
145
146
146
146
146
94
146
146
92
94
147
96
149
150
98
152
158
162
115
120
124
178
179
180
183
133
136
137
138
140
140
140
140
140
192
140
139
140
141
194
194
195
198
198
199
201
150
151
152
206
155
208
157
209
209
156
152
204
202
149
149
149
151
204
204
203
203
151
204
206
156
208
209
209
158
211
212
216
217
166
167
221
223
172
176
229
230
231
233
236
236
239
239
240
241
242
243
191
191
191
243
192
193
193
193
193
193
245
246
247
247
247
250
250
251
200
201
254
254
254
254
202
201
200
200
200
200
200
252
252
252
200
200
252
252
199
199
251
250
250
250
198
197
197
197
196
248
247
246
244
242
189
240
239
235
179
177
227
224
220
217
161
154
151
150
201
147
197
195
189
187
184
128
124
120
108
156
153
151
148
94
146
143
91
90
141
142
142
143
143
143
91
91
91
91
91
91
90
142
142
141
89
90
90
89
141
141
140
140
87
87
138
137
136
136
135
81
81
133
134
82
135
135
82
135
136
86
140
144
144
146
147
149
99
153
158
158
163
163
112
114
168
118
171
172
120
173
174
177
177
178
179
179
128
129
182
183
131
183
183
184
132
133
133
185
150
98
149
147
95
95
96
94
94
93
91
91
142
90
91
91
91
91
143
143
143
143
91
92
92
92
93
93
143
143
92
92
93
93
93
147
95
95
95
95
95
147
94
96
97
150
151
152
153
156
161
165
170
174
177
127
130
132
134
188
139
140
141
143
143
143
143
143
143
143
143
144
145
197
198
199
200
201
201
202
203
152
153
207
208
157
158
211
159
211
207
154
205
152
151
151
152
204
204
203
151
151
152
154
155
155
156
157
210
210
211
215
216
218
220
222
174
174
229
230
231
233
182
237
186
188
240
189
189
190
192
192
243
243
243
244
193
193
193
245
245
245
194
195
195
247
249
249
198
200
200
253
201
201
201
201
201
201
201
253
253
253
253
253
253
253
201
201
201
200
252
251
251
251
199
199
198
198
249
249
249
249
248
245
191
189
240
239
236
232
178
176
173
221
165
161
154
150
148
146
144
142
139
185
182
179
123
118
114
103
99
96
146
144
90
142
90
90
88
140
140
141
142
141
141
89
89
89
89
90
90
90
89
89
141
88
141
141
89
88
140
140
139
138
85
85
136
136
135
135
133
81
81
82
82
135
135
83
84
86
140
90
93
94
95
148
150
152
155
107
108
164
165
166
168
169
172
173
173
122
123
124
126
179
180
127
179
128
129
130
131
183
184
184
184
133
133
134
186
98
96
147
145
94
96
97
95
94
94
92
91
91
90
92
92
92
144
92
92
144
144
92
92
93
93
93
94
92
144
93
145
94
146
146
148
148
96
96
148
148
148
149
98
99
100
102
102
155
158
163
114
171
175
178
127
132
186
188
190
193
142
143
145
145
145
145
145
145
145
146
147
147
148
149
201
203
203
203
204
204
153
153
154
155
157
158
212
160
160
211
210
156
154
153
153
153
204
152
203
151
151
152
154
206
155
155
156
209
210
211
214
215
165
168
171
176
229
231
180
181
182
236
239
187
188
241
241
242
191
192
193
243
243
243
244
193
193
193
245
245
245
246
195
195
195
248
249
249
199
200
200
253
252
252
201
201
253
202
254
254
254
254
254
254
254
202
202
201
201
252
200
252
200
200
199
251
250
250
250
198
199
250
246
191
189
187
187
237
233
179
177
174
169
166
162
153
149
146
143
192
138
187
181
178
174
118
112
109
99
95
145
144
90
140
140
140
88
87
138
87
87
140
140
140
88
88
88
88
89
89
89
89
88
88
88
88
88
140
140
139
139
139
136
84
84
135
135
135
83
81
81
81
134
134
83
83
137
138
139
89
143
95
95
97
150
152
154
156
160
109
165
165
167
116
170
172
173
174
174
123
124
127
180
180
179
127
128
129
130
131
131
185
185
133
185
134
186
187
97
96
146
93
146
148
150
147
147
94
92
144
91
91
92
92
92
144
144
144
92
144
144
145
145
93
146
146
93
145
94
94
95
147
147
96
96
96
96
96
96
96
150
99
100
101
102
155
156
106
111
166
170
122
177
127
184
186
188
191
141
143
144
145
145
145
145
197
197
197
198
199
200
201
201
202
204
204
204
205
153
153
205
205
154
156
210
211
212
160
212
211
209
207
154
153
153
204
204
151
151
151
204
154
154
206
207
156
157
157
158
213
215
165
220
172
177
179
232
180
181
183
185
187
240
241
241
242
242
191
193
245
243
243
243
244
193
193
193
245
245
245
194
195
195
247
248
248
197
199
251
252
252
200
200
252
201
202
202
254
202
202
254
254
254
202
202
202
202
201
253
252
252
252
252
200
251
251
250
250
250
199
198
246
192
189
187
186
185
181
179
229
226
222
166
162
205
149
145
194
139
189
183
125
174
170
165
160
104
148
144
91
89
88
138
86
140
139
138
138
86
139
139
139
139
139
87
87
87
141
141
141
140
140
140
139
140
88
88
139
139
139
138
83
83
83
83
135
135
135
133
81
81
82
134
135
135
138
138
140
142
144
147
96
98
98
152
103
157
161
162
164
165
166
168
169
172
173
173
122
123
124
126
179
180
127
127
128
129
130
183
183
185
185
185
186
134
135
187
147
147
95
95
147
95
95
146
94
146
93
92
92
92
91
143
143
91
91
91
91
145
145
94
94
146
146
95
149
149
97
149
149
97
149
149
97
98
98
98
151
99
153
101
101
154
104
158
159
107
164
166
168
171
176
179
185
136
139
194
195
144
197
144
145
198
198
199
200
200
202
203
204
152
205
206
207
207
207
156
156
157
157
156
208
156
157
157
210
210
210
158
157
157
155
207
206
152
152
205
206
154
155
208
208
208
209
158
159
159
160
159
161
216
218
168
176
180
232
234
236
184
184
186
240
244
244
193
246
194
196
248
195
247
247
195
195
195
195
247
247
195
195
195
195
247
248
196
197
198
199
200
200
199
199
251
252
253
253
201
255
255
255
255
255
255
255
202
202
201
201
252
252
252
251
251
251
251
251
251
251
251
199
196
194
191
188
187
184
232
230
229
226
222
219
156
149
199
195
139
134
184
127
122
170
167
111
159
103
95
145
91
89
140
140
88
139
139
138
138
137
137
137
137
137
138
138
87
87
139
139
139
139
139
139
139
87
139
139
86
86
85
85
83
83
83
83
83
135
135
134
134
81
81
82
135
86
88
88
142
143
93
95
148
97
98
152
155
157
162
111
165
165
167
116
170
121
173
122
122
123
124
125
126
126
128
128
181
182
183
132
184
133
185
185
134
135
135
187
95
95
95
95
95
147
147
146
146
146
145
93
93
92
144
144
144
144
144
144
144
94
146
147
147
148
148
148
150
150
150
150
150
150
150
151
151
100
100
101
101
101
102
154
102
104
106
107
108
109
113
115
169
172
176
127
184
135
139
142
144
197
197
145
145
146
147
200
200
201
203
203
204
205
206
206
155
156
208
156
157
157
157
156
156
156
156
157
157
209
210
210
157
156
156
155
154
205
205
205
205
206
154
206
207
155
156
156
209
210
211
158
160
162
164
167
227
178
179
233
235
236
184
238
240
244
192
193
194
194
248
248
247
247
195
195
195
195
195
195
195
247
247
247
195
247
247
196
196
198
199
199
200
199
199
251
252
252
252
253
203
255
255
255
255
255
203
202
202
201
201
200
200
252
251
251
251
251
251
251
199
251
199
196
194
191
188
187
185
232
230
228
225
220
217
205
196
194
190
185
128
126
119
166
111
107
104
100
149
94
92
89
88
139
139
139
86
138
137
137
137
136
136
136
137
137
85
86
86
139
139
139
139
139
139
139
139
138
86
86
85
85
85
135
83
83
83
83
83
83
83
134
134
82
135
85
87
141
141
90
144
146
148
149
151
100
101
104
106
162
163
165
165
115
116
170
173
173
174
122
123
124
125
126
178
180
180
181
130
183
184
132
185
185
185
134
135
187
187
148
148
96
96
148
148
148
147
147
146
146
93
93
93
145
145
93
145
145
145
145
146
146
147
148
97
97
149
151
151
151
151
151
151
151
101
153
102
102
103
103
103
155
155
104
105
107
109
110
110
114
116
169
120
124
127
132
135
139
142
144
197
198
145
146
198
199
148
201
201
203
204
204
205
154
207
156
156
156
209
157
157
158
156
156
156
156
156
156
208
209
209
209
156
156
155
155
206
206
205
205
153
153
153
154
206
206
207
208
157
210
156
158
161
163
166
226
177
178
232
182
183
183
186
240
192
192
193
194
246
248
248
247
247
247
247
195
195
195
195
195
247
195
247
247
247
247
247
196
198
198
199
199
198
198
199
251
252
252
252
202
202
254
254
254
254
254
202
202
201
201
252
252
200
251
251
251
251
251
251
199
251
251
196
194
191
188
187
185
232
230
227
224
167
215
204
195
192
187
130
125
123
168
163
107
105
153
97
94
144
90
88
139
86
138
138
85
137
137
84
136
136
135
136
136
136
85
85
137
138
138
138
138
138
138
138
138
86
86
137
137
85
84
83
135
83
83
135
83
135
135
135
82
83
84
86
141
141
142
143
93
146
149
98
152
153
102
104
107
162
163
165
165
167
168
118
173
173
174
122
123
124
177
126
178
128
128
181
182
183
132
132
185
185
133
134
187
187
187
97
149
97
97
97
97
97
148
147
147
146
94
94
146
146
146
94
94
94
94
146
94
95
97
150
151
100
152
154
154
154
154
102
102
154
105
105
106
106
107
159
159
158
158
158
159
109
163
112
165
116
117
119
173
177
180
131
134
138
142
145
146
199
198
146
147
148
149
149
202
204
204
205
206
207
207
209
157
157
157
158
158
158
156
208
156
156
155
155
207
156
208
208
156
156
208
208
207
207
206
153
152
151
150
151
203
152
153
154
154
155
154
156
159
213
163
171
175
176
178
233
182
183
186
188
192
192
245
194
194
248
248
247
247
247
247
247
195
195
195
195
195
195
195
195
247
246
247
247
197
198
198
199
249
250
198
251
251
251
251
201
201
253
253
201
253
253
202
202
201
201
252
252
200
251
251
199
251
251
251
251
199
199
196
194
191
188
187
236
231
227
172
219
214
210
201
140
136
182
176
171
168
163
107
156
101
98
94
92
141
87
138
137
84
85
137
136
135
135
135
82
134
134
82
134
83
83
83
84
85
85
137
137
137
137
137
137
85
85
85
136
84
84
83
135
135
83
135
135
135
83
83
135
136
138
88
91
91
92
145
94
96
99
151
155
155
105
106
108
111
112
165
165
167
168
170
173
121
174
122
123
124
125
126
126
128
180
181
182
131
132
132
133
185
185
134
135
187
187
149
97
97
97
97
97
149
96
148
148
147
94
94
94
147
147
147
95
95
147
147
95
95
149
151
100
101
102
154
154
154
154
102
102
102
106
158
107
107
108
160
108
159
159
159
109
110
112
113
114
170
170
171
174
177
180
130
134
138
142
145
147
148
198
199
148
148
201
150
202
204
205
206
206
207
208
209
209
157
158
210
211
159
156
208
156
155
207
154
206
208
156
156
208
156
156
208
208
207
206
205
203
202
148
150
150
151
151
152
153
154
153
155
157
212
162
170
173
175
177
232
182
182
186
189
192
192
245
246
194
248
248
247
247
247
247
247
195
195
195
195
195
195
195
195
195
246
246
247
248
197
198
198
249
249
197
198
251
251
199
201
201
253
201
201
201
201
254
254
253
253
252
252
252
251
251
251
199
251
251
251
251
199
196
194
243
188
187
183
177
173
169
164
159
155
195
185
129
123
168
162
159
157
153
150
96
145
90
87
87
85
84
83
83
84
84
135
135
82
134
81
133
133
81
133
82
82
83
83
137
137
85
137
137
137
137
85
85
85
84
84
83
83
83
135
135
135
135
135
83
84
136
136
85
139
141
145
144
145
146
95
97
100
152
156
105
106
107
161
111
164
165
165
167
116
170
173
121
122
122
123
124
125
126
126
180
128
129
130
183
132
132
133
185
133
134
135
135
187
147
147
95
96
97
97
149
148
148
148
96
96
96
96
148
96
96
96
96
148
96
147
148
152
154
154
102
102
155
155
156
156
157
105
105
106
106
108
108
109
162
162
161
162
163
163
112
113
165
168
119
173
123
177
179
180
181
185
137
141
144
146
147
199
200
149
202
202
203
203
206
154
155
155
208
208
208
209
210
159
159
211
210
207
155
155
155
155
155
207
209
157
157
208
156
155
207
157
208
207
206
205
203
150
149
149
149
149
150
204
206
205
155
157
159
161
168
172
176
178
180
234
182
186
188
243
243
192
245
245
247
247
194
194
246
247
248
248
248
196
196
196
196
248
248
196
196
248
248
248
248
248
196
195
195
248
198
250
251
200
251
251
251
252
253
253
253
200
200
252
252
252
252
252
252
252
251
251
251
251
250
251
250
195
194
244
188
186
183
174
169
164
159
154
150
190
181
125
119
113
106
155
153
150
95
92
142
89
89
87
86
85
85
84
83
83
82
134
134
134
134
82
82
135
83
83
83
83
83
135
135
83
83
135
135
135
135
135
83
83
83
83
83
134
82
134
134
134
134
82
134
83
84
138
88
90
92
145
146
147
149
151
102
102
105
157
159
108
110
112
165
112
165
166
168
170
173
121
122
122
123
124
179
128
180
130
130
182
183
132
184
132
134
134
134
187
136
136
188
147
148
96
97
97
97
97
96
148
148
148
96
96
96
148
96
96
96
96
96
148
148
149
101
154
155
102
154
153
154
102
103
103
103
155
157
105
106
107
108
109
161
110
163
163
164
165
114
114
171
120
174
123
176
177
178
181
133
137
141
143
145
198
200
201
150
150
151
152
204
154
206
155
155
208
208
208
209
210
159
159
211
210
207
207
207
155
155
207
155
157
156
156
208
155
155
207
157
208
156
155
153
152
203
201
149
148
148
201
150
153
204
206
157
158
212
220
171
227
177
180
233
234
186
188
242
243
191
192
245
246
247
194
194
194
195
248
248
248
248
196
248
248
248
248
248
196
196
248
248
248
196
196
194
195
247
249
197
198
250
250
250
251
251
252
200
252
200
200
252
252
252
252
252
251
199
198
250
249
249
197
196
246
191
190
188
236
181
177
220
162
157
152
199
195
186
123
119
114
160
154
152
149
147
144
90
89
88
140
86
138
85
136
83
83
82
134
134
134
134
134
82
82
135
83
83
83
83
83
83
135
135
135
135
135
135
135
83
83
83
135
83
83
134
134
82
134
134
134
82
82
83
85
139
141
143
93
95
147
149
150
152
154
103
105
158
159
161
110
165
114
114
166
168
169
119
173
174
122
123
124
125
179
180
181
130
182
182
183
184
132
132
134
134
134
187
136
136
188
96
96
97
97
98
150
98
97
97
97
97
97
97
97
97
149
149
149
149
149
97
150
151
154
155
155
102
154
154
154
155
155
156
104
104
106
159
160
161
162
110
163
163
164
113
114
167
115
168
173
174
123
124
177
177
178
182
185
188
140
142
195
144
148
200
201
150
151
151
152
154
206
207
207
208
208
156
157
158
159
159
211
210
207
207
207
207
207
207
155
156
208
207
155
155
154
154
155
155
207
206
153
153
204
202
201
148
148
200
201
203
204
205
156
158
212
219
222
175
229
231
232
181
185
239
242
242
191
191
192
246
246
246
194
194
195
248
196
248
248
248
248
248
248
248
248
248
196
196
196
248
248
248
246
194
194
247
247
247
247
249
249
197
198
198
198
199
199
199
199
199
251
251
199
199
199
197
248
247
195
194
195
193
189
240
185
233
178
173
215
210
204
199
193
189
178
166
162
157
152
148
146
92
91
141
140
139
87
139
86
85
84
83
83
82
134
81
81
133
81
133
81
81
82
82
134
134
82
134
83
83
83
83
135
135
135
135
83
83
83
83
135
83
82
134
82
82
134
134
82
83
84
138
88
91
93
96
150
150
151
152
101
103
103
106
107
108
161
163
166
114
117
117
118
171
120
174
122
123
176
124
126
180
181
181
182
182
130
131
132
132
132
186
134
134
135
136
136
188
149
97
97
98
98
98
99
150
98
98
98
98
150
98
98
150
150
98
98
150
150
151
152
154
155
155
102
154
154
154
154
155
103
155
156
158
106
108
161
161
162
162
164
113
114
167
167
168
168
172
174
175
124
126
127
127
130
185
136
139
141
194
143
199
200
200
149
150
202
151
154
154
155
207
208
208
156
209
210
159
159
159
210
207
207
207
207
155
155
207
155
207
207
155
154
154
153
206
154
153
205
205
204
151
203
202
201
200
201
201
203
203
205
207
209
159
219
222
174
176
179
180
181
185
187
189
190
190
191
192
193
246
246
194
194
247
248
248
248
248
248
248
248
248
248
248
196
248
248
248
248
248
248
246
246
194
246
246
246
246
248
248
248
197
197
198
198
198
198
198
198
198
198
198
199
198
196
195
246
245
193
193
191
239
237
182
230
227
223
161
207
201
195
138
186
174
162
106
101
97
145
143
143
142
140
139
139
87
140
137
85
84
83
82
134
81
80
80
132
80
132
80
80
81
81
133
133
81
81
135
83
83
83
135
135
135
135
83
83
83
83
135
135
82
82
134
134
82
134
82
83
136
86
141
144
94
97
99
151
152
153
102
103
103
106
107
108
162
163
114
115
170
118
119
172
121
122
122
123
176
125
178
180
129
182
182
182
130
183
184
184
132
134
186
186
135
136
136
188
97
149
97
150
151
151
99
98
98
98
150
150
98
150
98
98
150
150
98
98
98
100
101
155
103
103
154
154
102
102
155
103
156
156
156
159
159
161
109
110
111
163
165
114
167
167
168
169
169
170
121
175
125
179
129
130
130
185
136
138
140
193
194
197
146
147
148
200
201
201
154
154
207
207
208
208
208
157
210
159
159
211
158
155
207
207
207
155
207
207
207
155
155
206
154
153
153
204
204
204
203
203
203
202
152
152
151
202
202
202
152
203
205
207
209
211
218
221
226
176
178
180
180
184
186
189
189
190
191
191
245
193
246
194
246
247
248
248
248
248
248
248
248
248
248
196
196
196
196
196
196
248
248
245
245
245
245
245
193
245
247
247
247
248
197
197
249
250
250
250
250
250
198
198
198
198
196
194
193
244
191
187
237
233
231
228
171
220
217
207
200
143
188
182
178
118
105
100
96
144
89
88
141
141
140
139
87
140
141
85
136
135
83
82
81
81
80
80
80
80
80
80
80
81
81
81
133
133
81
83
83
83
83
83
83
83
83
135
83
83
135
135
135
134
134
134
82
82
134
134
135
137
87
90
145
147
151
152
153
101
102
154
156
156
159
108
109
162
164
115
115
171
172
120
121
121
175
175
176
176
177
126
181
182
182
182
182
182
131
132
132
184
134
134
134
135
136
188
188
149
149
97
97
149
149
97
96
96
96
96
96
96
148
151
99
99
151
151
151
99
101
153
154
154
103
103
103
101
153
155
105
106
158
159
159
159
161
162
162
111
163
165
166
115
168
116
169
169
170
172
121
123
176
178
178
183
186
136
190
192
143
145
199
148
150
150
203
150
202
152
205
205
206
207
208
208
156
156
209
157
157
210
157
157
157
157
209
209
157
158
158
157
208
207
207
206
153
153
204
203
202
150
201
200
200
201
149
150
203
204
201
202
205
156
159
215
216
222
225
227
229
230
182
185
186
187
187
188
189
242
242
243
243
243
244
192
245
245
193
245
245
193
193
245
193
193
193
193
192
191
243
243
244
244
244
193
194
194
246
246
246
246
247
196
196
248
248
248
249
249
250
250
250
198
196
245
244
192
241
240
236
234
228
226
222
165
213
212
149
195
188
181
175
118
169
156
99
96
94
93
93
143
142
141
141
88
139
139
138
137
84
84
135
134
82
81
80
79
79
79
80
80
80
132
133
81
81
134
82
82
82
83
83
83
136
83
83
83
83
83
135
135
134
133
133
132
81
134
136
82
86
90
144
146
148
151
99
100
101
154
156
107
107
108
109
110
111
113
168
168
117
118
119
120
122
125
177
126
126
127
128
181
182
182
131
131
184
184
133
133
185
134
134
187
187
188
188
188
97
97
97
149
149
149
149
148
148
148
148
148
148
148
99
99
151
99
99
99
99
101
101
102
154
103
103
155
101
153
155
104
105
106
107
107
160
109
110
163
111
164
166
167
167
168
117
170
118
170
120
121
123
124
125
126
182
185
187
189
191
142
144
198
200
149
202
150
150
150
151
152
153
206
206
207
207
207
208
208
208
209
157
157
209
157
157
157
209
157
158
157
157
208
207
206
205
152
152
151
203
150
149
200
199
199
200
201
202
202
203
200
201
203
205
156
161
214
220
223
226
227
229
233
235
238
186
187
188
189
242
242
190
190
191
243
244
192
192
244
244
192
192
192
192
192
192
192
192
243
243
243
243
244
244
244
193
194
194
246
246
246
246
247
248
248
248
248
248
248
249
249
197
249
249
247
244
243
242
240
238
233
231
225
222
219
214
158
209
146
139
133
178
119
115
113
102
97
95
94
93
92
91
142
141
141
88
87
87
138
137
136
136
83
134
134
81
80
79
79
79
80
80
80
132
132
133
81
81
134
134
82
82
135
135
83
135
83
83
135
135
135
135
82
134
133
133
133
82
85
83
138
142
145
146
148
151
151
152
153
155
156
159
160
160
109
110
112
113
116
169
117
170
171
121
122
125
178
178
179
179
128
182
182
183
131
132
184
184
185
185
185
134
135
135
135
188
188
188
150
98
98
150
150
150
150
149
97
149
97
149
97
149
100
100
100
100
100
100
100
101
101
154
154
155
155
155
153
101
153
154
104
106
159
108
108
162
163
111
112
112
115
168
117
170
119
119
120
119
120
121
175
176
176
177
182
184
186
187
189
191
194
146
199
149
149
201
201
149
202
150
151
204
205
205
206
206
154
154
155
207
207
208
208
156
156
156
156
156
157
209
156
207
206
206
205
151
150
150
149
200
199
198
145
198
146
199
200
201
202
199
199
199
149
203
209
211
215
218
169
171
173
230
233
235
183
184
186
187
189
242
189
189
189
189
190
190
191
191
191
191
191
191
191
191
191
191
191
243
243
243
243
192
192
244
193
194
194
194
194
194
246
247
196
248
248
248
248
248
248
248
248
196
195
193
189
240
238
236
182
178
175
222
219
215
210
155
149
190
132
125
170
112
160
158
150
95
94
93
92
91
91
90
141
89
88
87
139
138
137
136
84
83
134
134
133
80
79
131
79
80
132
131
131
132
132
132
81
81
81
81
134
134
82
83
83
135
135
83
135
83
135
135
134
134
81
82
83
137
137
140
144
94
147
148
151
152
153
154
155
157
160
160
161
110
111
112
114
117
117
118
171
172
121
175
178
126
127
179
128
129
130
183
183
184
184
133
185
186
134
134
187
187
136
136
189
189
189
99
99
99
151
151
151
151
150
98
150
150
150
150
150
101
153
101
101
101
153
153
101
153
154
102
155
155
155
154
152
99
152
155
106
108
109
109
110
111
164
165
113
169
170
118
119
120
121
121
120
121
122
122
123
176
176
181
184
185
186
187
189
191
145
146
148
149
201
200
200
200
149
150
151
203
204
152
152
153
153
153
206
206
207
207
155
155
155
155
207
156
156
155
155
154
205
204
201
149
148
148
199
198
145
144
196
197
198
199
199
200
199
199
198
146
200
207
209
211
214
165
168
170
228
230
179
179
181
182
184
187
187
239
239
188
188
189
189
189
189
241
189
189
189
189
189
189
189
241
242
191
191
191
192
244
244
245
194
194
194
194
194
246
247
248
248
196
196
248
247
247
194
194
194
193
191
186
185
183
180
178
172
222
217
214
210
205
202
196
185
179
172
165
159
155
101
148
147
147
146
145
144
143
90
89
89
88
87
87
138
137
136
136
135
82
82
133
132
79
131
131
132
132
78
131
131
79
80
132
132
80
81
133
81
82
134
83
135
135
83
135
83
83
134
81
81
80
81
82
84
139
141
145
95
95
148
99
101
153
155
156
158
160
161
110
110
112
113
115
117
118
171
119
121
122
124
126
127
180
180
181
129
131
132
132
133
133
133
134
186
135
135
136
136
136
137
137
138
138
99
99
99
151
151
151
151
150
98
150
150
150
150
150
153
101
101
101
101
101
101
153
153
154
154
155
155
103
154
152
151
152
155
106
108
109
109
163
163
112
165
113
169
170
171
119
172
173
173
172
121
174
122
175
175
124
181
183
185
185
186
189
191
197
146
148
201
149
148
200
200
149
150
150
151
204
152
152
152
153
153
206
154
155
207
155
155
207
155
155
156
208
207
154
206
153
204
201
149
148
147
199
198
197
196
196
145
146
198
199
200
148
199
146
146
148
155
157
158
161
164
167
169
175
230
230
178
179
181
235
186
239
239
239
239
240
189
189
241
241
241
241
189
241
189
189
189
241
241
190
191
191
191
192
192
244
193
246
246
194
194
194
246
247
248
248
248
196
196
247
247
246
194
194
192
190
185
184
234
231
229
170
220
162
211
207
202
199
195
132
126
119
112
158
154
100
148
147
147
147
146
144
143
90
89
89
140
87
87
138
137
136
84
135
134
134
81
132
79
79
131
132
132
78
130
131
131
80
80
132
80
80
133
81
82
134
83
83
83
83
135
135
83
81
81
80
80
80
81
135
139
90
145
147
95
148
151
101
154
155
156
158
161
161
110
111
112
113
115
118
118
171
120
121
174
124
127
179
180
180
181
130
131
132
132
185
185
133
134
135
135
135
136
188
136
137
138
138
138
99
99
99
99
151
151
151
151
151
99
151
151
151
99
102
102
102
102
154
154
154
156
103
103
103
154
154
102
96
148
151
101
102
156
104
107
107
108
162
164
114
116
116
118
119
121
122
176
176
173
174
174
122
175
175
123
129
129
183
185
187
190
139
144
199
200
200
148
201
150
150
150
203
151
151
152
152
152
204
205
205
153
154
206
154
206
206
206
206
206
207
207
206
205
204
152
203
200
147
147
146
197
197
196
194
195
195
144
197
198
147
198
198
145
146
147
203
204
207
158
160
162
215
168
170
225
226
229
231
232
233
233
183
235
236
237
239
188
189
240
240
240
241
241
190
242
241
241
241
242
191
191
191
192
192
244
245
193
194
194
194
246
246
246
194
194
194
248
195
194
193
192
192
192
191
188
183
182
180
229
174
222
167
159
155
203
199
143
138
180
173
167
160
154
149
151
96
96
96
148
94
93
145
92
91
89
88
87
87
139
138
137
137
136
135
83
134
134
133
133
80
80
80
80
80
80
80
80
132
79
79
79
132
132
81
81
134
134
134
134
82
82
134
136
132
79
80
80
132
138
140
141
143
145
147
148
148
97
98
99
101
155
107
107
107
109
112
113
166
117
119
172
172
121
123
125
127
180
182
182
182
130
183
132
184
185
185
186
186
188
136
189
136
188
188
188
189
138
138
151
99
99
151
151
151
151
99
151
151
151
151
151
151
102
102
102
154
154
102
102
103
103
102
101
100
100
100
96
96
99
101
102
104
104
106
106
107
109
163
113
166
116
170
171
121
122
176
176
122
122
123
123
123
124
176
129
129
182
132
134
188
190
142
197
198
147
199
200
201
201
150
150
202
151
203
203
203
204
204
204
153
153
205
205
205
205
205
205
205
206
205
153
204
151
202
201
147
147
146
197
196
143
194
192
140
141
141
142
195
144
143
143
196
197
146
200
201
151
153
208
158
211
215
217
220
222
224
226
176
178
230
180
181
182
183
237
238
187
187
239
188
240
241
189
241
241
241
241
242
243
191
191
191
191
244
244
193
193
193
193
193
193
245
193
193
193
194
193
192
191
190
190
190
189
186
181
179
176
225
171
165
162
153
150
198
193
190
134
174
167
161
154
148
145
150
95
95
147
147
94
92
145
144
143
141
88
87
139
139
138
137
85
136
83
135
134
134
133
81
80
80
132
132
132
80
80
132
132
79
79
131
132
132
81
81
134
82
82
82
82
134
134
134
130
77
131
131
79
85
88
142
144
146
148
149
97
98
98
100
102
156
159
108
108
110
165
114
115
171
173
120
173
174
124
125
128
181
131
131
131
183
132
132
133
185
186
186
187
189
137
138
137
189
189
137
138
190
139
151
99
99
99
99
99
151
99
99
151
151
151
99
99
102
102
102
102
154
154
102
155
103
101
152
151
151
98
96
96
151
153
154
156
156
158
158
159
161
163
165
166
168
170
119
173
122
124
124
122
123
123
175
176
176
176
181
181
182
131
134
136
137
141
144
146
198
198
148
201
201
201
150
150
202
203
203
203
203
204
204
204
153
153
205
205
205
153
153
205
205
204
204
151
150
149
200
147
146
146
144
143
194
192
190
138
139
140
141
141
194
141
142
195
196
145
199
199
201
203
206
156
157
213
215
165
219
221
224
226
228
228
231
232
233
182
236
237
238
187
187
187
188
240
241
241
241
241
241
242
243
243
191
191
191
191
244
192
245
245
193
193
193
193
193
193
193
192
192
191
190
189
189
240
188
185
179
177
227
223
221
164
161
152
149
144
140
189
185
172
113
107
153
148
145
98
95
95
95
95
93
144
93
144
143
141
140
139
139
139
138
137
137
136
83
135
134
134
133
81
80
80
132
132
80
132
132
132
132
131
79
131
132
132
133
81
82
82
82
82
82
82
134
133
78
77
79
131
131
138
141
90
92
147
148
149
149
150
99
100
102
104
108
160
161
111
114
167
168
172
174
122
122
123
125
127
181
182
184
132
132
133
185
186
186
187
187
188
188
190
191
139
190
138
190
191
191
192
192
151
151
99
99
99
99
151
151
151
151
151
151
99
99
102
102
102
154
154
154
102
103
102
100
151
149
96
148
96
148
99
101
102
156
104
159
107
160
162
112
166
116
116
118
119
121
122
124
176
123
123
124
124
176
177
177
129
181
181
183
132
134
135
190
194
144
197
198
199
149
200
201
201
201
202
202
150
202
203
203
203
204
152
204
204
152
204
204
204
204
203
203
202
150
149
148
199
199
146
145
143
141
140
190
135
136
136
137
138
139
192
138
191
141
143
196
196
196
199
149
152
205
206
159
161
160
162
217
168
170
173
173
177
178
179
180
182
235
235
238
186
187
187
188
240
240
241
241
241
242
243
243
191
190
190
191
191
244
244
244
192
192
244
192
192
244
244
190
190
189
188
187
187
238
186
183
177
174
171
220
217
159
155
147
143
191
187
184
176
164
106
101
150
147
145
97
94
146
146
94
93
143
93
92
143
141
140
139
139
139
138
137
85
136
83
83
82
134
133
133
80
132
132
132
132
132
80
80
132
131
79
131
132
132
133
81
82
134
82
82
82
82
134
81
78
129
132
81
133
140
142
91
145
147
149
150
150
151
99
153
103
105
108
109
111
165
167
168
169
173
175
177
177
179
128
182
185
133
135
135
135
136
137
189
189
190
190
191
192
193
194
194
193
193
193
194
195
195
195
151
151
151
151
151
99
99
99
99
99
151
151
151
99
102
102
154
154
154
154
154
100
151
150
149
148
147
147
145
146
151
153
154
155
155
106
159
161
111
112
165
114
169
170
171
173
122
123
123
124
124
125
125
178
178
178
182
131
132
132
185
134
134
189
191
141
143
145
147
200
199
199
200
200
201
149
203
151
151
203
203
203
203
205
205
204
151
151
202
201
200
200
148
147
199
146
198
195
143
142
140
139
138
137
135
187
187
136
188
189
137
138
190
140
141
194
144
144
200
202
204
205
205
156
158
158
159
160
163
165
170
171
174
175
176
177
181
182
182
236
236
237
186
187
188
240
241
241
242
242
243
191
243
243
243
190
187
188
241
242
238
190
188
245
249
247
249
188
188
186
185
184
235
235
234
232
174
171
167
162
211
203
148
141
137
132
179
123
171
159
100
96
146
145
144
146
94
93
145
144
144
92
92
91
90
90
89
88
140
138
138
137
137
136
84
136
135
134
132
131
79
132
132
133
133
81
81
81
81
80
80
80
81
81
134
134
83
83
135
82
134
81
81
81
80
79
131
132
135
88
91
93
94
95
147
96
151
152
101
102
156
158
161
109
110
165
169
119
120
175
125
182
182
183
185
187
190
139
139
139
139
140
141
193
193
142
142
142
142
143
144
196
197
197
197
197
197
197
197
99
99
99
99
99
151
99
151
99
151
151
99
151
151
102
154
154
154
102
154
154
151
151
149
96
148
95
147
145
146
151
153
155
155
155
158
159
161
163
164
165
166
169
170
172
173
174
123
123
124
125
177
177
178
178
178
182
131
132
133
133
134
134
137
139
141
195
197
198
199
147
147
148
200
201
149
203
151
151
151
151
203
203
153
153
204
203
150
150
201
148
148
147
147
147
198
146
142
142
141
140
139
137
136
187
135
187
136
136
188
137
189
190
139
140
193
143
143
147
201
203
152
152
155
157
209
210
212
214
165
169
222
173
226
175
177
180
233
234
235
236
236
237
239
187
240
241
241
241
190
190
243
243
193
191
189
191
244
243
242
242
245
189
191
193
242
245
240
188
186
237
236
235
234
231
177
172
169
217
212
208
149
146
139
135
130
177
173
168
157
99
96
147
145
144
146
93
93
93
144
144
92
144
91
90
89
141
88
140
138
138
85
85
84
136
136
135
134
132
132
79
132
132
133
133
133
133
81
81
80
80
80
81
81
134
134
135
135
134
134
134
133
133
132
132
79
79
80
135
88
143
93
95
95
95
96
99
152
101
102
156
106
109
162
164
115
119
121
175
177
127
131
183
133
186
136
191
191
141
141
142
142
143
195
195
144
144
144
144
145
146
146
146
146
146
198
198
198
198
152
152
152
100
100
100
152
151
99
99
151
99
99
99
153
153
101
152
152
100
152
150
149
148
96
95
147
147
93
147
100
154
155
104
104
158
159
110
112
114
167
116
170
172
173
174
175
176
177
126
126
126
127
127
179
180
183
184
184
185
186
187
135
137
191
140
194
196
197
146
199
199
148
200
201
149
150
150
150
150
150
202
202
152
203
203
150
201
148
200
198
198
198
146
145
197
196
193
140
191
190
137
136
134
133
134
134
134
135
187
187
188
188
188
188
138
141
194
196
198
200
149
150
153
155
208
209
211
213
215
218
167
170
171
172
173
228
230
230
233
181
234
234
236
237
185
187
187
187
188
240
188
189
190
189
190
189
188
188
240
233
189
244
198
193
187
242
240
239
184
183
181
180
232
227
173
167
216
212
207
204
197
142
134
131
177
171
167
161
100
97
95
147
146
145
145
145
92
144
144
143
91
143
90
90
89
88
87
87
86
86
85
85
84
136
136
84
83
133
132
80
81
81
133
81
81
133
81
81
81
81
81
133
133
133
133
133
133
133
133
132
80
80
79
131
130
79
81
136
89
92
93
147
96
148
148
100
152
153
155
157
160
163
112
116
171
175
177
126
129
183
135
135
136
190
139
141
142
196
144
197
197
146
146
146
146
146
147
199
148
148
200
149
149
149
201
149
201
201
101
101
101
153
101
101
153
99
99
99
99
151
151
99
153
100
152
98
150
149
149
148
96
95
95
95
147
95
94
96
101
155
156
157
157
158
158
110
113
115
117
118
120
173
123
176
177
126
126
127
128
128
128
181
181
129
184
184
185
186
187
187
188
190
139
140
193
194
195
144
147
199
148
200
149
201
149
201
201
201
201
201
201
150
150
201
148
199
147
146
145
145
144
196
144
195
143
140
192
191
190
136
187
134
132
132
132
133
185
133
186
186
185
184
132
133
138
192
195
145
199
200
149
152
206
207
208
209
210
212
215
164
166
167
168
221
172
226
226
178
178
178
231
233
233
182
184
184
185
237
238
186
186
184
240
245
188
188
194
252
255
255
255
255
253
188
189
185
236
233
231
177
176
227
224
170
164
214
210
205
201
141
138
183
178
172
168
111
156
98
96
147
95
147
146
92
92
92
143
91
143
90
143
90
141
140
87
87
86
86
86
85
85
84
84
84
85
83
134
81
81
81
134
81
133
81
133
81
133
82
82
81
133
133
133
132
132
132
131
131
131
78
130
78
130
78
79
81
136
142
92
94
148
97
97
149
153
155
156
158
161
163
168
169
170
121
177
127
128
183
185
190
190
191
140
193
194
142
195
143
144
144
145
145
145
146
147
147
199
200
148
200
151
151
203
151
151
203
203
153
153
153
153
101
101
153
99
151
151
99
99
99
99
152
100
100
98
149
148
148
95
95
95
95
95
95
95
95
96
101
103
104
157
157
105
158
163
165
168
169
170
173
174
123
176
126
126
127
128
128
129
129
181
182
182
184
185
185
186
187
188
188
190
190
140
141
194
195
195
147
199
200
200
149
149
201
201
201
149
201
149
149
201
149
148
148
147
146
145
196
144
196
195
143
195
194
141
140
139
190
189
188
186
183
183
184
132
132
185
185
185
184
131
130
184
189
139
195
197
199
200
201
204
206
206
207
208
210
211
162
214
216
165
166
168
171
224
173
176
229
229
230
180
180
181
235
183
184
237
237
185
185
188
188
188
197
255
255
255
255
255
255
255
196
183
239
184
183
179
177
227
174
173
169
167
162
159
155
202
198
139
136
126
122
170
163
107
155
150
148
149
149
147
145
92
92
91
91
91
90
90
142
89
89
88
87
86
138
138
86
85
137
136
136
136
85
84
82
81
81
82
82
81
81
81
81
81
133
82
82
82
133
133
80
132
79
131
79
78
130
130
77
78
130
77
78
133
85
143
145
146
148
149
149
97
153
156
106
108
162
113
118
171
173
124
127
130
183
186
135
190
191
191
140
193
194
142
144
196
197
197
146
146
146
148
148
201
201
202
202
150
151
203
203
151
151
151
203
101
153
153
152
99
99
151
99
99
151
98
97
97
97
152
151
98
95
94
93
145
146
94
95
95
96
96
96
95
96
153
103
104
105
105
104
159
163
165
167
169
172
171
176
177
177
125
178
179
129
130
183
183
182
181
181
184
133
134
134
187
188
188
189
190
139
141
194
143
196
197
198
199
199
148
149
150
202
150
150
150
150
150
200
148
148
147
147
146
198
196
196
196
195
195
194
194
191
139
190
137
188
187
185
186
133
132
182
130
129
182
184
132
130
129
129
132
132
140
194
197
199
199
149
150
205
153
206
155
209
211
159
162
162
164
166
222
172
173
174
175
175
176
177
178
178
170
237
241
175
236
240
183
199
173
255
255
220
207
227
225
255
255
232
236
183
183
183
180
228
175
226
171
169
165
163
156
152
199
142
138
187
131
120
166
109
157
154
152
150
148
146
145
145
93
144
92
91
91
90
90
90
141
89
88
88
87
87
87
138
86
85
137
84
84
136
136
83
134
82
133
80
132
82
82
82
82
134
82
80
80
80
79
78
78
130
130
78
130
130
130
130
130
75
76
76
76
130
135
94
95
96
150
98
150
101
107
159
161
111
166
169
122
175
127
127
129
130
132
135
187
189
137
138
139
141
195
195
145
197
198
147
148
149
149
200
200
201
202
203
204
152
204
204
204
153
154
206
206
101
152
152
99
99
151
151
151
150
98
97
97
97
97
150
98
97
147
146
145
145
94
94
95
147
148
96
96
95
96
153
103
104
105
105
157
160
164
165
167
117
119
120
126
127
127
179
180
181
181
183
132
132
183
130
181
133
133
134
135
136
188
189
190
190
191
193
142
194
195
197
145
146
199
200
200
150
202
150
150
150
150
150
148
199
147
147
146
146
146
196
144
144
143
143
142
142
140
192
191
190
188
187
186
185
184
182
181
180
180
181
182
182
181
180
128
130
182
135
138
142
145
147
150
204
203
151
204
153
154
156
157
160
213
214
164
220
169
170
224
224
225
174
176
228
229
237
172
222
237
230
231
188
208
255
205
224
206
255
225
199
255
253
231
241
172
178
230
228
223
222
220
217
163
160
157
150
199
194
136
133
130
126
115
110
107
102
152
153
149
147
147
146
146
94
92
144
91
91
142
142
90
89
88
88
139
139
139
139
137
85
85
84
84
136
84
135
83
134
133
132
80
79
132
80
80
132
132
132
131
79
79
78
78
78
77
131
79
79
131
131
131
131
128
128
128
77
78
82
144
146
96
98
99
99
101
107
110
163
165
116
119
175
176
179
179
129
130
184
135
187
189
189
190
191
141
143
195
197
145
146
199
148
149
149
201
202
202
203
205
153
153
152
205
205
205
154
206
206
100
152
100
99
99
150
150
98
98
98
97
97
96
96
98
97
97
95
146
145
93
146
94
95
95
148
96
96
95
148
153
155
156
105
157
158
108
164
165
167
117
119
121
127
180
128
180
129
182
182
131
184
184
183
182
130
133
134
134
135
136
137
189
190
191
192
192
141
194
142
144
197
146
147
147
200
201
201
149
149
149
149
201
199
199
147
146
146
146
145
196
196
144
143
143
142
194
193
192
139
190
136
187
185
184
183
181
128
127
127
180
129
129
128
128
180
181
181
185
136
192
144
146
202
204
201
150
151
152
153
155
208
211
211
213
162
166
219
219
170
170
171
224
226
175
228
228
227
231
177
174
239
207
227
255
207
215
255
255
171
213
255
246
234
239
222
174
177
226
221
220
218
215
161
157
155
148
144
140
134
182
177
121
112
108
104
152
100
152
150
148
146
146
146
146
92
92
143
143
142
142
90
88
88
139
139
139
138
138
137
85
84
136
84
83
83
83
82
134
81
132
131
131
79
79
131
131
131
131
78
130
78
78
78
78
78
80
132
80
132
132
132
132
129
77
130
130
79
82
90
94
148
150
100
101
103
108
112
113
167
117
120
124
125
179
179
129
130
184
187
187
189
189
138
139
193
143
195
197
145
198
147
148
201
201
202
202
203
203
153
154
154
153
205
205
206
154
155
207
99
151
151
150
98
150
149
149
97
149
148
96
148
147
148
147
147
94
94
145
145
146
146
147
147
148
148
96
95
96
101
155
156
157
157
160
162
165
114
115
117
119
122
127
128
128
128
129
182
182
184
185
133
132
131
182
186
134
135
136
137
137
138
191
191
140
140
141
141
141
144
144
145
146
147
199
200
200
148
148
148
148
148
198
198
146
146
145
145
145
196
144
144
143
143
194
194
193
192
139
137
135
133
131
129
128
179
126
177
177
125
127
180
180
129
129
128
127
130
134
138
141
143
148
202
148
149
150
151
204
206
207
208
156
209
210
161
162
162
166
166
167
169
172
225
174
178
177
174
188
255
255
213
198
255
214
208
255
115
67
177
200
224
228
174
177
168
225
223
165
215
213
209
207
152
149
194
191
186
181
125
117
114
105
103
100
99
97
98
96
95
94
147
147
147
144
144
91
91
142
142
142
87
87
139
138
138
138
137
136
136
136
135
135
135
134
82
82
133
132
79
79
78
79
79
131
131
131
79
78
131
79
131
131
132
132
133
133
133
81
133
133
133
132
133
133
81
81
135
141
94
149
101
156
157
107
111
114
115
116
170
173
176
125
127
127
129
130
132
187
187
189
189
138
139
193
195
195
197
145
198
199
148
149
201
201
202
202
203
153
153
153
154
154
154
154
155
155
156
99
99
99
98
149
97
149
149
149
97
96
147
147
147
147
146
146
146
146
145
145
146
146
147
147
148
148
96
95
96
153
155
156
157
157
161
111
166
166
115
117
119
121
126
127
127
127
180
181
183
185
133
133
133
132
131
186
187
136
136
137
190
190
139
192
140
140
140
141
193
195
144
197
197
198
147
200
200
200
200
200
200
200
198
198
146
197
145
144
196
196
144
144
195
143
142
142
192
191
189
187
185
131
129
128
127
178
124
123
175
176
179
180
181
182
182
180
127
183
134
138
140
142
145
199
149
149
202
151
152
206
155
154
154
155
208
210
159
212
163
164
217
219
170
224
224
226
166
176
210
253
203
218
233
248
185
168
95
83
88
82
205
190
225
222
164
162
166
216
158
208
205
150
199
196
194
187
131
126
173
169
113
162
102
152
101
98
96
97
95
94
95
147
147
147
144
92
91
91
90
142
142
87
87
138
138
85
137
85
84
136
135
135
134
82
134
82
133
80
132
79
78
78
80
80
132
80
80
80
131
80
80
133
133
134
134
134
134
134
134
82
134
134
134
135
85
136
84
137
89
96
151
103
107
160
162
165
166
115
117
170
172
175
176
179
127
129
130
184
187
187
189
189
190
191
193
195
195
197
145
146
199
200
149
149
148
148
201
202
203
204
204
154
154
154
155
156
156
156
101
153
153
100
152
99
99
151
150
149
148
147
146
146
145
145
93
94
95
147
95
147
147
147
147
147
95
95
96
149
152
102
156
157
158
160
110
114
115
168
168
168
174
177
127
128
128
180
128
131
184
185
185
134
187
187
186
186
187
187
188
188
136
188
188
189
189
190
138
190
194
194
143
195
196
196
199
199
199
199
199
199
147
198
198
198
197
197
196
196
195
195
194
193
193
192
139
190
137
136
134
132
130
128
126
126
125
125
125
125
124
126
127
128
182
130
180
180
181
132
135
189
139
144
147
144
145
198
200
150
154
154
156
208
208
208
209
157
209
218
151
159
218
212
221
219
214
228
255
255
206
212
195
247
255
152
161
71
84
93
76
173
192
231
209
167
162
167
164
157
154
203
199
144
144
141
134
182
176
118
114
164
162
104
101
152
151
150
147
95
94
94
145
145
145
144
91
90
90
141
140
140
140
139
138
138
85
84
136
137
136
135
135
134
133
133
132
79
78
78
78
79
131
131
131
131
79
79
131
80
80
132
133
81
134
134
135
135
135
135
135
135
83
134
135
136
136
84
137
142
148
100
105
161
163
164
167
118
118
119
173
174
176
176
176
127
129
183
183
135
190
190
190
191
192
192
194
142
143
196
197
199
201
150
150
149
149
202
151
204
205
205
206
154
154
155
156
156
156
152
100
151
151
150
150
150
97
149
149
147
147
146
146
145
145
145
94
147
147
147
147
95
95
147
147
147
95
95
96
151
101
155
157
105
108
110
114
116
169
169
169
173
176
178
179
128
180
128
131
184
185
185
134
187
187
187
187
187
188
136
136
136
189
189
189
190
190
190
138
194
194
195
195
196
144
198
198
198
146
198
146
146
197
197
197
144
196
196
143
194
194
193
141
192
191
138
137
136
135
133
132
130
129
126
126
125
177
124
124
123
176
125
126
179
127
179
126
127
129
132
134
188
141
143
194
195
144
146
148
152
153
155
155
207
208
209
209
157
205
214
160
154
216
213
157
242
207
215
243
181
177
228
234
143
215
119
130
145
128
66
151
184
225
154
160
155
209
154
149
148
197
194
140
137
186
126
122
117
112
108
161
159
154
99
150
149
149
147
95
94
94
93
145
145
144
143
90
90
89
140
140
140
139
86
86
137
84
84
137
136
135
83
134
133
81
132
131
78
78
130
131
131
131
131
131
79
79
79
80
132
132
81
133
82
134
135
135
135
135
83
83
135
134
83
84
84
136
137
90
145
150
156
161
164
166
170
120
120
121
122
175
177
178
125
127
129
183
183
187
189
190
138
191
140
140
194
142
196
196
195
143
198
200
150
149
201
202
151
152
205
205
206
154
154
155
156
208
156
149
97
97
148
148
96
147
148
95
147
147
94
94
146
93
93
93
94
95
95
95
95
95
147
95
95
95
147
145
146
150
152
102
103
156
107
108
114
116
169
170
170
171
175
125
179
180
180
180
131
132
185
133
134
135
187
187
188
188
188
189
189
189
137
138
138
190
191
191
139
194
194
195
195
196
144
145
145
197
197
197
197
145
144
195
195
195
194
194
194
193
192
192
191
190
189
136
135
134
133
132
131
130
129
178
178
125
176
123
122
121
122
122
174
123
175
176
177
176
127
181
131
132
188
190
139
192
193
143
145
149
149
204
152
205
206
208
208
209
157
211
206
211
201
210
251
255
221
206
230
222
163
168
144
185
154
137
121
133
88
64
125
179
166
206
207
151
151
149
145
196
143
192
190
133
182
173
169
114
162
107
157
155
150
148
147
147
147
147
147
146
94
145
145
145
92
91
90
90
89
88
88
140
139
138
86
85
84
84
137
136
135
135
82
81
133
132
131
78
78
78
79
131
131
131
131
131
79
131
132
80
80
133
133
134
82
135
135
135
135
135
83
83
82
135
136
84
84
137
90
91
148
155
108
164
115
120
173
121
174
175
177
179
179
178
180
130
131
131
186
136
138
138
139
192
192
142
194
197
144
194
193
144
199
201
149
201
150
203
204
153
205
206
154
154
207
208
208
208
148
148
148
147
147
94
94
147
147
95
146
146
146
146
145
93
93
94
147
95
147
95
147
95
147
95
95
147
145
145
97
151
101
102
155
158
107
113
115
117
169
170
170
122
125
127
180
128
128
131
132
185
133
134
135
135
136
136
136
189
189
137
138
138
138
190
191
139
139
192
194
142
195
195
144
196
144
144
196
144
144
196
144
143
195
194
194
194
141
193
192
140
139
190
189
189
136
134
133
133
132
183
182
181
178
178
125
176
175
122
173
122
173
173
173
121
175
176
176
178
128
182
131
187
189
137
190
192
142
196
199
148
150
202
203
204
206
207
207
161
156
206
160
206
228
255
255
212
248
169
167
164
158
154
159
51
75
67
147
87
66
115
177
161
205
204
149
202
200
143
142
141
190
136
183
180
171
115
112
161
106
155
154
150
96
95
147
147
147
95
94
146
145
145
93
144
91
90
90
89
88
140
88
87
86
86
85
84
84
85
136
135
83
82
81
81
132
79
78
78
130
131
131
131
79
79
79
79
131
80
80
80
133
133
82
134
135
135
135
135
135
135
135
82
83
84
84
84
85
142
92
148
155
108
112
115
120
173
121
174
175
125
127
179
179
128
130
183
183
134
135
190
138
139
140
140
194
194
145
144
195
194
196
198
199
149
201
202
151
152
153
205
206
154
154
207
208
208
208
147
95
94
146
145
145
93
146
146
94
94
146
146
146
145
145
93
94
95
147
147
95
95
95
95
95
95
95
92
145
148
98
152
153
102
103
105
163
114
115
116
117
169
121
124
178
180
128
128
183
132
185
185
186
135
135
136
136
137
137
138
138
138
138
138
139
139
192
140
140
194
194
195
195
144
196
195
195
195
143
143
195
195
194
194
194
193
193
192
140
139
139
138
137
189
188
187
133
132
184
131
183
182
181
178
178
125
124
174
173
119
172
120
171
170
170
173
122
176
178
128
181
182
134
136
136
136
138
140
142
197
146
147
147
148
201
204
205
154
154
155
213
207
243
223
255
255
244
231
200
153
153
126
176
75
117
116
145
124
156
120
101
172
151
148
146
145
147
144
139
138
187
132
182
179
175
165
162
108
105
103
155
153
97
96
95
147
95
147
147
146
146
93
145
93
92
143
142
142
89
88
140
140
139
86
86
137
84
136
137
136
135
135
82
81
81
80
79
78
78
78
131
79
79
131
131
79
131
131
80
80
80
133
133
82
134
135
135
135
135
135
83
135
134
83
136
136
136
85
90
145
98
104
161
112
166
118
172
173
121
123
124
126
178
127
129
183
131
131
185
135
138
138
139
140
140
142
142
144
196
145
145
197
197
197
149
149
202
151
152
153
205
206
206
206
155
156
208
156
146
146
146
146
146
146
94
93
93
145
145
145
145
145
145
93
93
94
147
147
147
96
147
95
146
94
93
93
145
145
94
96
150
153
154
158
107
110
112
114
115
116
170
171
120
174
125
127
129
130
133
133
185
133
134
188
189
137
137
138
138
190
138
139
140
192
192
193
193
141
195
195
144
144
145
197
196
196
144
195
143
142
194
193
193
192
192
192
192
139
138
138
137
136
188
187
134
135
135
134
133
131
182
181
179
179
126
176
174
121
119
117
169
116
168
117
171
172
122
175
177
127
130
134
135
183
133
136
138
139
143
146
147
199
200
148
150
202
203
209
206
156
211
226
216
213
251
227
221
213
205
121
159
120
48
109
122
145
141
148
123
92
169
200
199
145
139
144
142
138
136
185
128
125
174
171
165
162
158
102
150
153
152
97
96
96
149
97
147
147
94
146
94
93
93
93
144
144
91
90
89
141
88
139
87
138
85
136
136
137
136
135
83
134
133
81
80
80
79
79
131
78
130
132
132
132
80
132
80
80
80
80
81
133
82
134
136
136
136
136
136
136
136
135
136
137
85
85
86
143
147
97
152
156
108
164
168
174
174
174
175
124
177
177
128
180
129
130
132
186
134
136
137
138
139
140
142
142
143
196
196
197
147
147
148
200
201
150
203
153
154
207
155
156
156
157
159
211
160
146
146
94
94
94
94
94
93
93
145
93
145
93
145
145
145
93
94
95
147
147
95
95
94
146
146
145
145
93
93
94
96
98
100
101
105
158
162
164
114
115
116
117
170
171
173
176
178
127
130
185
185
185
185
187
188
136
136
137
189
190
190
190
140
140
141
141
141
142
194
196
196
144
197
145
145
144
196
144
143
143
142
142
193
193
193
192
140
139
139
190
138
137
136
188
187
134
135
135
134
185
183
130
129
126
178
177
175
173
172
118
117
168
115
115
115
118
118
121
174
175
178
180
184
133
129
131
134
135
188
141
143
145
198
198
147
149
202
202
202
213
203
231
222
212
207
239
168
167
207
184
176
218
141
92
110
129
147
145
149
72
91
217
145
196
195
190
193
140
135
133
130
178
123
119
169
164
110
105
152
97
101
152
97
96
96
97
149
147
147
147
146
94
94
93
146
145
144
91
90
142
141
141
140
139
138
137
137
136
137
136
135
135
82
81
81
80
80
80
79
79
79
130
80
132
132
80
132
80
132
80
80
133
133
82
82
136
136
136
136
136
136
136
135
136
137
137
85
86
91
95
148
151
103
107
110
115
121
173
174
175
124
126
126
180
128
129
182
132
134
134
136
136
137
138
139
141
194
195
195
144
197
198
199
147
148
148
149
202
153
206
206
155
155
156
157
158
211
211
93
93
93
93
93
93
93
93
93
93
93
93
93
145
145
93
93
146
147
147
147
146
94
94
146
147
95
147
95
94
147
96
150
99
152
103
156
108
111
113
167
168
169
169
170
120
122
176
125
129
184
133
185
186
188
189
189
189
189
138
190
138
190
194
142
142
143
143
143
143
197
197
145
145
145
145
196
196
196
143
143
142
142
194
142
141
140
140
191
138
137
137
136
136
136
136
135
135
135
186
185
183
130
129
125
125
123
122
172
171
117
115
114
113
112
112
113
114
169
118
119
174
176
180
181
129
183
185
187
187
191
141
142
142
143
197
199
148
201
205
206
166
219
255
255
185
220
223
161
207
175
199
186
111
92
107
136
98
152
145
129
142
212
144
193
193
190
188
134
182
180
125
173
169
167
165
161
158
155
98
147
153
152
149
96
96
97
149
96
148
147
147
147
146
94
146
145
145
92
91
142
142
89
140
88
139
86
137
137
137
136
135
135
82
133
133
133
81
132
132
132
131
131
80
132
132
132
80
132
132
80
80
133
133
82
134
84
136
136
136
136
136
84
83
136
137
137
85
86
143
95
148
98
101
156
107
110
170
170
120
121
175
178
179
180
128
129
182
132
186
186
135
136
136
138
139
141
141
143
196
196
145
147
147
199
200
149
150
151
205
206
207
155
156
156
157
159
159
159
92
92
144
92
144
92
92
93
93
93
93
93
145
145
145
93
93
146
147
147
147
95
95
96
148
149
149
97
149
97
97
97
99
100
101
102
103
108
111
165
115
169
119
118
171
172
174
175
177
180
132
185
133
134
136
138
190
139
139
139
192
140
140
195
195
144
144
144
145
145
147
147
146
146
145
197
196
196
144
143
143
142
194
195
143
142
141
139
190
189
136
136
136
136
136
188
136
135
135
186
185
183
182
181
178
177
124
174
121
171
117
113
112
111
110
109
110
110
113
114
168
170
173
177
178
127
129
183
184
184
135
137
191
192
141
142
146
147
148
199
166
216
225
255
247
227
222
222
212
192
122
204
146
96
105
116
134
143
156
146
128
85
155
196
138
135
185
133
131
127
177
174
118
115
115
163
154
152
151
98
148
153
152
149
148
148
149
149
149
148
148
148
147
147
147
147
146
145
92
92
143
143
142
141
140
139
87
86
138
137
84
83
83
82
81
81
82
81
133
133
132
80
132
132
132
80
132
80
80
80
80
132
133
133
134
134
136
136
136
136
136
136
84
135
136
85
85
85
86
91
147
95
97
151
102
104
106
113
166
168
171
121
125
179
180
128
129
130
132
186
134
188
189
138
139
140
142
194
197
145
146
199
200
149
149
150
151
151
205
207
156
156
209
157
158
159
160
161
161
92
144
144
92
144
144
144
93
93
93
93
93
145
145
93
145
93
146
147
147
95
147
96
149
97
98
150
150
150
98
149
98
99
153
102
101
102
159
163
165
167
169
119
119
171
172
174
176
125
179
132
185
133
134
137
191
139
139
140
192
192
193
193
195
143
196
144
145
145
197
147
199
146
146
145
197
196
196
144
143
143
142
194
144
143
142
141
191
190
189
136
136
136
136
136
188
188
187
135
186
185
183
182
181
126
125
124
175
173
119
118
112
112
110
109
108
109
162
113
166
167
170
172
176
125
177
179
181
182
182
133
186
190
191
192
142
145
199
147
140
229
229
255
213
183
229
216
234
216
173
122
162
132
88
57
122
134
139
156
97
74
83
153
195
136
132
182
185
183
127
125
122
117
166
115
111
152
151
150
150
149
153
152
149
148
148
149
97
97
149
148
148
147
95
147
147
146
145
93
92
143
143
142
141
140
140
87
86
86
85
84
83
83
82
133
81
82
82
133
133
132
80
132
132
132
132
132
80
80
80
80
132
81
81
82
134
136
136
84
136
84
84
84
135
136
85
85
85
138
91
94
95
97
151
153
103
157
112
113
115
118
120
177
178
180
128
129
130
184
186
186
137
189
138
139
140
194
143
198
146
147
147
201
202
202
203
203
152
205
156
157
157
210
158
159
159
161
162
162
144
144
144
144
92
92
144
93
145
93
93
93
145
145
94
146
146
148
148
149
149
149
97
98
98
151
99
151
149
149
150
150
151
151
99
100
103
108
162
164
167
169
117
120
122
176
177
125
177
179
132
133
134
187
190
192
194
195
195
196
197
145
145
146
146
198
146
146
198
198
200
200
200
148
148
148
199
199
198
198
197
145
145
143
194
192
192
192
140
138
138
138
137
137
137
189
188
135
134
185
184
183
182
181
180
178
123
121
172
118
113
111
110
161
160
108
161
161
110
111
164
166
168
172
173
174
175
177
180
182
134
187
191
137
190
144
193
201
140
215
255
255
255
196
179
220
229
225
209
194
185
157
54
91
56
71
98
154
149
144
71
86
147
143
133
139
183
129
128
124
173
171
117
116
161
161
157
155
153
100
99
99
99
150
149
148
147
147
95
147
147
95
95
95
95
147
146
146
93
92
91
91
142
141
89
88
87
138
86
83
135
82
82
82
133
133
80
80
80
132
80
132
80
81
133
133
133
81
81
132
80
81
133
133
82
82
136
136
84
84
84
84
136
86
86
137
137
86
140
90
93
145
147
97
151
101
103
159
161
113
117
120
123
124
128
128
129
130
131
185
186
138
138
140
141
195
197
146
148
200
201
202
203
204
204
206
154
155
156
209
210
158
159
159
160
160
213
161
213
92
144
144
144
92
144
144
145
93
145
146
94
146
147
94
146
95
149
150
151
99
150
150
151
151
151
100
152
150
150
151
151
99
152
152
153
103
108
109
111
114
168
116
120
122
124
177
178
178
180
132
186
186
136
190
140
198
198
198
146
145
197
145
147
199
199
147
199
199
199
200
200
200
200
200
148
148
200
199
147
147
146
198
195
194
192
140
192
192
190
191
139
190
189
189
188
187
134
134
185
183
182
180
179
179
176
122
120
171
117
112
111
162
161
160
160
109
109
109
162
111
165
166
117
118
172
172
174
176
178
130
182
187
135
189
132
145
136
140
204
255
255
249
241
240
182
240
224
146
139
155
159
45
89
105
122
159
108
96
143
72
91
198
192
131
134
127
127
126
174
171
169
167
166
109
161
106
156
154
101
100
101
100
99
98
149
97
148
95
95
147
95
95
95
95
148
147
146
145
93
92
92
143
90
89
88
88
87
87
84
135
83
135
134
134
82
81
133
81
81
81
81
133
82
134
134
134
82
134
81
81
81
82
82
82
83
84
84
84
84
84
84
136
138
138
85
85
86
140
142
143
144
93
95
149
151
102
156
158
160
164
167
120
121
177
126
129
183
134
139
192
140
141
194
144
197
200
149
201
201
150
202
204
153
153
155
155
156
156
210
211
211
213
161
161
161
214
162
163
92
144
144
144
144
144
144
93
93
93
94
147
147
148
147
147
148
150
151
151
100
150
150
151
151
152
152
152
150
150
151
151
152
152
100
153
155
107
160
162
113
167
167
119
122
124
126
126
178
179
184
185
186
187
190
192
198
146
198
146
146
198
197
199
199
147
147
147
147
147
200
200
200
200
148
148
148
200
199
199
147
198
198
143
142
192
140
192
192
138
191
191
138
137
189
188
135
186
185
132
130
181
179
125
178
176
173
171
118
116
111
163
110
161
160
160
109
109
161
162
163
164
166
116
117
170
119
121
122
124
128
180
185
184
189
181
196
183
207
217
226
205
196
183
242
189
190
162
142
149
152
145
48
39
104
123
162
109
97
92
72
95
145
138
182
182
178
126
125
173
170
168
166
165
161
160
106
104
103
102
101
102
101
152
99
150
150
97
95
95
95
147
147
95
95
148
147
147
146
93
92
92
91
90
90
89
140
87
87
84
84
83
83
83
134
134
81
81
81
133
81
81
81
82
134
134
134
134
134
81
81
82
134
82
83
83
84
84
84
84
84
136
84
86
138
137
85
86
88
90
142
91
93
147
97
99
101
103
104
107
161
165
119
120
177
126
128
183
187
140
141
193
194
195
144
146
149
201
201
201
150
151
152
153
153
155
155
156
157
210
211
211
213
214
214
162
163
163
163
92
144
92
144
144
92
144
93
145
94
95
148
149
149
152
151
151
151
98
98
98
151
151
152
152
152
153
153
99
151
100
152
152
153
101
101
155
159
107
109
111
113
114
119
122
124
126
179
179
126
130
183
132
133
188
190
196
197
197
198
147
199
147
200
148
148
148
148
148
200
200
200
200
200
200
148
199
199
198
198
197
145
145
143
194
192
192
192
192
138
192
192
191
190
188
187
134
134
133
131
129
127
125
175
177
122
172
170
117
115
110
111
162
161
160
160
109
109
163
163
164
165
114
168
168
170
118
120
121
123
177
178
181
176
137
180
188
129
206
228
213
181
183
187
251
252
179
195
131
144
141
115
31
47
57
125
167
113
99
94
73
154
147
189
180
179
125
124
123
171
168
166
164
163
161
108
158
157
156
103
103
103
155
153
152
152
151
99
97
97
149
149
149
149
97
149
148
147
146
146
93
93
92
91
90
89
141
88
88
85
84
84
136
83
83
83
82
82
134
134
82
82
82
83
135
135
135
135
135
82
82
134
83
83
83
84
84
84
84
84
84
84
84
86
138
137
85
86
88
90
141
90
91
145
95
97
151
103
155
105
159
162
117
119
124
178
180
183
186
191
193
193
142
143
197
198
201
150
150
150
203
151
153
154
154
156
156
157
157
211
212
212
163
163
163
164
216
165
165
144
144
144
144
144
92
144
94
94
95
96
149
98
150
99
151
151
151
99
99
99
99
151
152
152
101
101
101
151
151
152
152
153
153
101
102
155
106
108
162
163
164
166
169
120
123
126
180
129
129
180
128
129
183
134
187
138
192
142
144
198
200
149
148
200
199
199
147
199
199
198
198
146
146
198
146
199
199
146
145
197
144
143
141
141
141
193
193
193
194
140
138
189
188
136
188
132
130
180
126
125
177
176
172
169
169
168
115
165
112
110
108
108
161
162
110
112
112
165
165
165
114
114
167
167
166
167
168
118
120
123
176
175
133
121
126
129
152
228
203
151
135
171
190
189
255
231
191
189
181
190
130
83
50
50
92
167
157
158
96
132
163
138
180
180
128
123
176
123
119
117
115
113
112
109
108
106
105
156
155
103
104
104
104
156
155
103
155
152
99
98
98
97
96
148
150
149
148
148
147
146
146
145
144
91
89
88
139
86
138
86
85
137
136
136
136
83
83
82
82
81
81
81
83
83
83
83
135
135
136
84
136
84
84
84
84
84
84
136
136
136
84
84
136
136
85
86
86
87
140
89
141
141
91
93
147
99
153
155
105
158
161
169
173
174
176
179
181
183
188
190
140
141
194
144
146
202
202
202
202
203
152
153
206
206
155
155
156
157
158
159
159
214
214
163
163
164
164
164
92
144
144
92
144
144
144
94
94
95
149
97
98
98
99
151
151
151
151
99
99
99
151
152
152
101
101
101
151
99
152
152
153
101
101
103
155
106
160
161
163
163
114
169
120
123
125
127
129
129
128
129
130
183
133
134
138
191
193
196
198
147
200
199
199
199
147
147
147
199
147
199
147
147
199
147
199
199
198
197
196
196
143
193
141
141
193
193
142
142
192
190
188
188
136
187
132
130
180
126
125
177
124
120
169
168
115
114
165
111
110
108
108
109
110
111
112
112
113
165
166
166
166
167
115
115
167
116
118
172
175
175
175
180
129
126
114
187
221
158
147
159
127
236
209
209
237
191
186
126
130
128
84
103
105
145
169
158
156
145
131
165
191
180
127
179
175
124
123
119
117
167
166
113
110
109
159
158
157
156
103
156
156
104
103
155
155
155
152
99
99
98
97
96
148
150
149
96
148
147
146
146
145
144
91
141
88
87
87
138
138
85
85
137
84
136
83
83
82
82
134
81
81
83
83
83
135
135
83
136
136
84
84
136
84
84
84
136
136
136
136
136
84
136
84
85
86
86
87
140
140
88
141
90
92
95
99
101
155
158
160
162
169
120
173
176
127
181
130
188
190
139
140
142
196
198
201
150
202
202
203
203
153
154
154
207
208
156
157
159
211
160
162
214
163
215
216
216
216
91
91
144
144
92
145
145
147
95
96
97
98
99
99
99
99
99
151
151
99
99
151
151
100
152
101
101
101
151
151
152
152
153
153
101
103
103
158
159
108
161
162
165
168
170
121
175
125
178
129
129
130
130
131
183
184
188
189
191
193
194
144
196
198
198
198
199
199
199
147
147
199
199
199
199
147
198
197
197
196
195
142
142
194
142
142
141
193
193
141
139
189
187
186
186
186
130
129
179
125
124
175
174
169
166
165
165
112
111
162
161
109
162
162
111
164
165
114
114
114
114
115
115
168
168
167
115
168
170
119
173
174
180
114
138
119
158
228
177
134
136
137
167
210
210
255
203
195
170
167
153
119
92
54
112
148
175
164
103
140
133
172
192
180
181
176
174
124
175
172
119
117
168
115
112
112
110
161
107
159
158
106
105
156
103
155
154
154
153
152
99
98
98
149
149
150
149
96
96
147
146
146
145
144
143
90
89
89
88
87
86
138
86
85
137
137
84
84
84
83
83
83
83
85
85
85
85
137
137
137
137
137
85
85
137
137
84
84
136
136
84
84
136
84
136
137
86
86
87
88
139
139
88
141
91
94
150
100
103
108
111
113
168
169
119
122
177
179
128
134
188
137
138
140
142
196
199
148
201
201
202
203
204
205
153
156
208
209
210
211
212
212
161
162
162
214
215
215
215
142
90
91
144
93
94
94
95
96
96
98
99
99
100
151
99
151
151
151
99
99
99
151
152
152
101
153
153
151
151
100
152
153
153
153
103
155
157
158
159
159
160
163
165
167
117
171
173
173
176
127
180
182
182
183
183
186
135
136
189
139
191
192
194
195
195
196
197
197
145
198
198
198
198
198
198
196
196
195
194
193
141
140
141
141
192
192
191
190
190
137
135
185
185
185
184
129
129
127
176
122
121
120
167
164
164
112
111
111
110
162
111
163
164
113
166
167
115
115
115
115
115
168
116
117
167
115
116
117
118
171
172
179
115
128
117
228
178
136
124
133
170
131
201
243
205
210
154
112
104
139
126
51
61
131
163
181
167
156
146
81
128
143
181
181
174
175
125
124
174
173
119
118
118
115
115
113
164
111
162
161
109
108
158
157
104
155
155
154
153
152
99
150
150
149
150
97
148
148
147
146
146
145
144
92
91
91
91
142
87
139
139
86
86
138
86
86
86
85
85
85
84
136
86
86
86
86
138
138
86
86
138
138
86
138
138
84
84
84
136
136
84
136
136
136
137
86
86
139
140
88
88
140
141
144
94
98
153
103
159
161
110
166
168
117
119
174
124
178
183
186
135
136
137
191
193
197
197
200
201
201
202
152
152
205
155
155
208
208
210
158
211
211
159
159
211
160
212
213
90
142
143
92
145
146
94
96
96
149
150
151
100
100
99
99
99
99
99
99
99
99
151
152
152
153
101
101
151
99
100
152
101
101
101
155
155
105
157
106
107
107
161
111
165
167
117
118
171
121
177
127
129
182
131
131
185
186
135
136
137
138
138
140
193
194
194
143
144
196
197
145
145
197
197
197
195
195
142
194
141
192
191
140
140
139
138
189
189
188
188
187
185
184
184
132
180
181
126
176
174
121
119
114
164
164
164
112
111
163
111
164
164
165
113
114
168
116
167
115
167
116
116
117
117
115
167
116
169
169
119
171
175
174
177
175
255
196
135
123
142
183
158
154
228
255
255
159
112
101
86
81
107
122
144
173
181
165
153
145
133
183
197
182
182
174
176
125
124
122
121
120
171
171
117
116
166
165
164
163
162
162
110
108
106
105
104
104
102
101
100
99
151
150
150
150
97
96
96
95
94
146
145
144
92
92
143
143
143
140
139
87
139
138
138
86
87
86
86
86
85
137
137
87
139
87
87
139
139
138
138
86
86
86
86
86
136
136
84
84
84
84
84
136
136
137
138
86
87
88
140
140
89
90
144
95
151
153
155
157
159
108
113
116
116
170
173
176
177
182
133
134
187
136
138
192
196
197
200
200
201
202
203
152
152
154
154
207
207
209
210
210
209
209
209
158
159
159
211
90
142
143
92
145
94
94
97
97
149
150
151
99
99
151
99
99
99
151
99
99
149
151
101
102
153
100
99
100
152
153
153
154
154
102
153
101
103
157
106
107
159
163
164
165
166
115
168
168
121
176
126
128
131
184
133
183
183
131
131
183
131
131
188
136
136
189
137
190
138
138
191
139
192
193
141
138
189
189
137
136
188
136
139
138
190
189
188
187
186
131
184
184
184
184
131
129
179
177
123
172
118
116
167
165
113
165
165
113
113
165
164
164
113
114
114
116
116
169
170
170
171
119
170
169
177
173
170
120
126
119
178
166
188
161
255
209
130
135
182
248
111
79
162
227
255
255
215
139
156
77
151
118
144
180
196
176
166
157
104
92
137
193
186
178
178
171
125
124
122
173
120
171
119
119
170
168
114
112
111
163
159
106
106
104
102
153
102
103
103
102
100
99
149
97
98
97
96
96
95
94
146
144
144
143
143
142
142
142
140
140
88
140
140
140
88
139
87
87
87
87
87
87
88
88
87
87
138
86
87
87
87
86
86
137
85
137
85
137
84
136
83
135
136
136
137
86
86
87
88
139
88
90
144
146
148
151
100
103
106
107
109
165
116
118
171
172
174
124
179
180
133
135
190
191
192
143
146
198
199
200
201
203
152
204
205
153
206
206
155
155
207
155
155
207
156
209
209
209
142
91
91
145
146
94
95
97
97
150
150
150
151
99
99
99
99
99
99
99
99
98
150
152
101
153
152
152
100
152
101
153
154
102
154
153
154
156
105
158
159
160
163
164
164
165
166
114
115
116
118
120
122
124
125
126
179
128
129
130
131
132
133
185
185
133
133
133
133
132
135
135
187
136
136
188
134
133
133
133
184
132
132
185
133
133
132
183
182
182
182
182
131
131
131
130
128
125
175
121
118
117
115
115
166
166
166
165
113
165
113
112
112
165
166
114
168
168
169
118
170
171
171
170
169
117
177
176
169
117
119
124
125
122
255
255
106
167
201
177
76
69
68
102
233
242
255
233
163
152
138
135
119
135
151
200
179
168
157
157
146
140
196
187
179
180
175
127
126
124
123
122
121
121
121
172
169
168
166
165
164
161
160
107
106
104
155
103
104
104
103
101
99
98
98
99
98
97
96
95
95
146
92
144
92
143
143
143
142
88
88
140
140
88
140
88
139
87
87
87
87
87
87
140
88
88
87
87
139
87
87
87
87
86
86
86
137
85
85
85
136
84
136
136
136
137
86
86
87
88
88
141
90
144
146
148
150
100
102
105
107
160
112
166
168
169
171
121
123
126
179
181
131
134
135
136
140
194
198
146
147
200
202
203
152
153
153
154
154
207
155
155
154
154
155
155
156
208
208
143
91
144
145
146
95
95
98
98
150
150
150
98
150
150
98
98
98
98
150
150
150
98
99
100
152
152
152
100
152
153
153
154
102
154
102
154
156
105
159
159
108
111
163
164
164
165
113
165
167
117
118
119
121
122
122
177
127
128
130
132
185
134
134
186
185
133
133
132
184
188
136
187
135
135
187
185
133
185
132
184
132
131
184
131
131
131
130
181
181
181
181
130
130
130
128
126
175
174
172
118
116
116
168
167
166
166
114
114
165
113
112
164
113
166
114
168
168
169
170
170
119
171
118
169
115
176
175
171
123
126
125
154
243
255
206
209
224
152
77
42
54
70
127
167
172
255
230
107
152
137
195
200
154
158
197
181
169
158
160
94
193
198
188
180
181
178
180
128
126
125
123
123
122
122
174
171
169
116
167
114
110
110
109
107
158
105
157
157
105
103
102
100
99
150
151
150
149
96
148
95
95
93
144
144
144
143
143
143
141
141
141
141
141
141
89
88
88
88
88
88
88
88
89
88
140
140
87
87
88
88
87
87
87
86
86
138
86
85
85
137
84
136
136
136
137
86
86
87
88
89
89
90
92
94
96
149
100
102
105
106
159
111
165
167
116
117
171
174
126
127
129
131
185
186
187
191
141
145
197
146
199
201
202
151
204
153
153
153
206
206
154
153
154
206
206
207
207
207
143
92
92
94
95
95
148
99
151
150
98
150
149
149
149
97
97
97
97
149
149
150
98
149
98
151
152
100
100
152
153
153
154
154
102
154
155
105
106
107
160
109
164
165
165
165
165
165
165
167
168
116
117
117
118
170
171
120
122
175
125
178
179
130
130
131
131
183
184
184
186
134
133
132
183
182
130
130
182
181
181
129
128
129
181
181
128
180
180
128
178
127
127
128
127
126
124
121
120
119
118
117
169
170
168
116
116
115
166
166
113
164
164
165
166
166
116
116
169
170
170
119
171
170
169
172
173
170
120
125
168
118
246
255
211
167
255
158
54
23
96
95
126
83
164
189
196
219
153
106
81
141
165
215
203
187
137
174
109
169
138
138
147
141
185
185
182
131
131
129
128
127
126
125
126
177
174
173
171
170
117
114
113
164
163
161
108
108
106
107
105
103
102
101
100
152
151
150
149
96
148
147
146
145
145
144
144
144
144
90
142
142
142
142
142
90
89
89
89
89
141
141
89
141
89
141
140
140
140
89
88
88
88
139
139
139
139
86
86
138
137
137
85
136
136
85
86
86
139
88
90
90
143
92
94
95
148
99
101
104
105
105
160
162
111
112
114
117
120
176
177
128
130
133
134
187
191
141
141
193
194
143
146
199
199
202
202
202
150
203
203
204
204
204
204
153
153
206
206
144
92
145
94
147
148
148
99
99
151
150
149
149
149
97
149
97
149
97
149
149
151
98
96
97
150
151
101
100
152
153
153
102
154
102
103
103
105
107
108
161
109
114
114
114
166
114
165
165
164
164
164
112
113
113
165
117
117
170
172
173
122
122
175
176
126
180
129
130
131
131
182
129
127
178
176
126
126
125
125
125
176
176
123
175
175
124
176
176
124
177
125
178
126
126
177
123
121
173
171
119
171
171
121
118
169
116
116
167
114
113
112
112
113
166
166
168
168
169
170
118
171
171
170
169
174
120
173
179
177
185
165
228
143
255
255
199
70
82
108
118
131
97
141
199
255
227
190
133
153
146
153
157
212
198
186
200
177
161
120
129
133
149
199
189
137
185
133
133
183
130
128
128
127
179
179
176
174
173
120
119
167
167
114
164
111
110
162
159
107
106
104
103
102
101
152
151
98
98
97
96
96
94
146
145
145
144
144
144
142
90
142
142
142
90
90
89
89
89
89
141
89
89
142
142
89
89
88
88
141
89
89
88
88
87
139
87
87
139
138
138
137
85
136
136
137
86
86
139
88
90
91
143
144
94
147
148
151
101
103
104
104
159
109
109
162
113
115
118
175
125
176
179
181
130
131
135
137
190
190
139
140
143
196
196
147
147
199
148
149
201
201
151
151
151
204
205
205
205
144
92
93
96
149
150
98
150
150
98
98
98
98
150
149
149
149
149
149
149
149
149
97
98
98
98
151
99
150
98
151
152
153
102
154
154
155
157
106
159
108
161
164
112
113
113
114
166
166
165
113
165
165
113
113
165
165
114
115
168
169
117
118
119
171
172
172
121
173
173
173
173
121
121
173
173
174
122
122
174
122
122
122
121
121
121
173
121
173
173
122
174
122
123
123
175
176
123
123
122
173
172
120
171
170
118
169
168
168
167
114
114
114
167
167
116
118
170
170
118
118
118
119
119
119
121
117
177
176
123
153
224
175
229
227
247
80
49
47
72
146
89
88
139
216
226
229
255
136
161
96
150
158
211
141
184
204
188
158
123
83
52
68
195
209
147
140
190
189
135
133
183
182
130
130
181
179
178
177
176
124
117
168
115
116
167
113
112
163
162
108
106
104
103
154
100
99
99
98
97
97
96
95
146
146
145
144
91
91
144
144
143
143
142
90
90
90
90
142
142
90
142
90
89
141
141
89
141
141
141
89
89
88
88
139
139
139
87
87
86
86
137
137
137
137
137
137
137
139
141
89
90
91
92
94
147
149
150
99
100
102
104
107
108
110
112
114
115
115
171
172
174
174
175
125
127
129
182
134
134
187
136
139
140
192
142
142
143
143
145
197
198
199
147
147
147
147
147
199
143
92
93
147
148
149
98
150
98
98
98
98
150
150
149
149
149
149
149
149
149
149
149
97
98
98
150
151
97
149
151
152
100
101
153
103
103
105
107
160
161
161
112
112
113
165
166
166
114
166
114
166
166
166
114
166
114
114
115
168
168
117
117
169
117
169
118
118
170
170
169
117
117
117
169
117
121
121
121
173
121
121
121
172
172
172
120
120
120
120
122
174
174
122
175
123
124
175
174
174
173
172
171
170
170
118
117
168
168
115
114
115
115
116
116
169
118
119
118
170
119
119
172
173
173
123
120
124
184
169
239
214
213
202
182
224
103
65
59
119
129
130
59
219
255
227
171
255
196
163
94
149
158
154
192
185
155
139
162
181
120
30
54
228
187
184
204
192
139
188
187
185
184
183
184
184
182
180
127
126
126
119
117
169
117
168
166
113
163
163
109
107
105
104
155
101
100
99
98
98
97
97
96
147
94
93
92
144
143
144
144
143
143
142
90
90
90
90
90
142
90
142
142
89
141
141
89
89
89
141
89
89
88
140
87
87
87
87
87
86
138
137
137
137
137
137
137
138
139
142
91
92
144
93
146
147
148
150
99
100
102
156
107
160
161
111
113
114
114
117
171
171
120
121
122
124
127
179
184
184
185
186
137
138
190
140
140
192
141
143
143
196
197
197
145
145
146
146
198
143
91
92
146
96
148
149
98
98
150
98
98
150
150
96
96
148
148
96
148
148
148
148
97
97
97
98
98
147
148
149
98
99
99
100
102
103
105
158
107
160
109
164
164
165
165
166
166
166
167
167
115
167
167
167
115
166
166
166
166
166
113
165
163
111
163
163
163
111
111
111
111
164
164
165
165
168
116
117
117
118
118
118
119
119
171
119
171
171
171
121
121
121
122
122
174
175
122
122
173
172
119
119
118
117
117
116
168
168
116
115
168
116
117
170
170
172
172
119
120
121
122
124
178
179
182
179
126
183
115
226
253
182
231
253
148
132
88
82
100
106
125
111
255
255
251
212
255
153
105
91
205
168
147
137
129
163
150
115
191
100
0
52
82
167
207
194
196
196
141
139
138
137
188
185
133
183
181
180
127
127
123
121
172
172
119
168
167
166
114
112
110
108
158
157
104
102
101
100
98
98
97
96
95
95
146
93
92
144
144
144
143
143
142
142
90
90
90
90
90
142
90
90
142
142
142
142
142
142
141
141
141
88
140
139
139
139
87
87
138
86
85
85
137
85
85
137
139
141
92
146
146
94
94
146
94
146
150
99
100
102
156
159
160
160
162
163
112
112
114
116
170
171
120
122
123
126
127
180
181
182
183
185
186
186
187
187
188
137
138
139
191
141
193
194
194
143
144
144
142
90
91
94
95
148
96
96
96
148
96
96
148
148
95
147
147
95
95
147
147
147
95
96
96
97
149
97
146
146
96
97
97
150
150
153
153
155
156
158
158
107
164
164
113
113
114
166
166
167
115
115
167
167
167
167
169
168
167
166
165
112
112
110
109
109
160
108
107
159
160
161
162
111
163
112
166
114
115
115
116
169
118
119
119
171
171
119
171
171
120
120
173
173
121
174
174
173
121
120
172
171
170
117
168
168
116
168
168
116
116
167
116
116
169
118
119
172
172
121
122
176
179
130
183
175
181
134
122
203
214
184
236
215
165
188
106
35
54
115
121
120
141
255
255
203
163
214
218
163
144
205
164
148
137
122
173
160
170
191
144
32
42
104
184
209
210
200
200
145
143
194
193
140
136
136
186
185
183
183
130
127
125
123
122
121
170
117
116
116
114
112
110
108
107
106
104
103
101
99
98
97
97
96
147
94
94
145
145
144
144
143
143
142
142
90
142
90
142
142
142
142
90
143
143
143
91
143
91
89
141
141
88
140
139
139
87
87
139
138
138
85
137
85
85
85
138
140
142
145
145
146
94
95
95
96
148
150
99
100
102
156
107
108
161
162
164
164
163
113
115
169
117
119
172
122
176
177
179
179
180
181
184
184
185
185
185
134
135
136
137
189
191
140
140
141
143
144
196
142
90
91
94
95
148
148
147
95
95
147
147
95
95
95
95
95
95
95
95
147
147
147
96
96
97
97
97
146
146
96
96
97
98
98
152
152
155
156
105
106
158
112
112
113
165
166
166
166
166
114
114
114
166
114
114
117
168
167
166
165
164
164
110
109
109
108
108
107
159
159
108
108
162
162
163
113
114
166
167
168
117
170
172
172
120
172
172
172
120
120
172
120
173
173
174
122
121
173
172
119
119
118
117
116
116
116
168
168
168
168
167
115
168
169
170
171
119
120
121
123
125
127
183
184
126
187
195
175
164
245
221
195
209
168
129
84
21
104
109
127
128
165
255
255
235
152
208
214
164
147
204
212
149
137
118
175
163
170
190
163
38
8
0
145
210
200
201
201
146
144
195
194
141
138
138
136
135
186
185
132
128
126
124
123
121
171
118
116
116
114
112
110
161
160
159
157
103
101
99
98
98
97
96
95
147
94
145
145
144
144
143
91
90
90
90
90
90
90
142
142
90
90
143
143
143
143
143
143
141
141
141
88
140
139
139
87
87
87
138
138
85
137
85
85
85
86
140
142
146
145
145
146
95
95
96
149
150
151
152
102
104
107
160
109
111
112
164
163
113
114
115
168
117
119
172
123
124
179
179
180
129
131
132
185
185
133
133
134
136
136
137
191
192
192
141
143
144
196
143
143
144
145
94
95
95
148
96
96
148
96
148
96
94
94
146
94
94
146
146
147
95
97
98
98
99
151
150
98
100
153
101
102
102
103
103
155
104
106
108
161
162
110
163
163
112
164
164
166
114
114
114
166
114
166
166
166
165
113
112
164
164
111
111
110
110
109
109
109
109
160
160
160
161
162
113
165
114
167
168
116
169
169
117
118
170
170
171
119
119
119
119
172
172
173
173
123
123
122
121
119
118
117
169
117
169
169
117
169
169
168
116
116
168
170
172
173
173
173
124
126
127
183
185
191
183
187
143
208
222
240
206
192
191
124
42
93
107
89
116
135
232
255
255
186
116
184
224
147
138
190
222
203
186
118
166
222
194
173
193
50
17
0
123
224
173
206
152
149
149
148
198
144
143
194
139
138
136
135
134
133
131
128
127
178
176
174
172
116
113
111
110
162
161
156
154
101
100
150
97
98
97
97
148
96
147
146
146
144
144
143
143
91
90
90
143
91
91
143
143
143
143
143
91
142
142
141
89
89
89
141
140
140
139
87
87
87
139
138
138
85
137
86
86
88
89
143
145
146
147
147
95
96
96
149
149
152
152
153
102
104
106
106
108
160
161
110
112
166
166
116
116
118
120
122
177
126
179
127
128
129
130
131
131
185
133
186
135
136
137
137
140
192
193
141
143
144
144
142
142
143
145
145
94
94
95
95
95
95
95
95
95
94
94
94
94
94
146
146
148
96
97
150
151
152
152
151
152
101
101
154
102
154
103
155
103
156
106
108
109
110
110
111
111
112
164
164
166
166
114
166
166
166
166
166
166
165
165
164
164
164
111
111
110
110
109
161
109
109
160
108
108
109
162
163
112
112
113
114
115
167
170
118
118
119
171
171
120
119
119
119
172
120
121
121
174
174
173
172
119
117
116
116
116
168
168
116
168
168
168
168
168
169
118
122
123
124
124
127
181
182
133
135
185
199
182
243
255
196
227
226
65
157
50
48
54
63
167
184
235
211
218
227
113
106
180
184
140
140
183
217
203
133
120
219
230
205
120
222
89
37
5
0
202
217
207
207
153
152
150
149
148
146
145
195
193
192
138
138
135
133
130
130
129
127
177
122
118
115
165
112
163
163
158
156
155
102
100
99
100
99
98
97
148
147
146
146
145
144
92
92
91
91
91
91
143
91
91
143
143
143
143
143
142
142
141
141
141
89
89
88
88
87
87
87
87
139
139
139
139
139
87
88
89
142
143
145
146
147
147
147
96
96
97
97
152
152
153
154
156
158
158
107
108
160
162
163
113
113
167
168
169
171
173
125
125
178
127
127
128
183
131
132
185
185
186
187
188
189
189
191
139
140
141
194
195
143
90
142
143
144
93
146
94
95
95
95
95
95
95
95
146
94
94
94
94
146
146
96
96
150
99
99
152
100
152
153
153
101
102
102
102
155
155
103
104
158
108
109
162
162
111
111
164
164
164
166
166
114
166
114
114
166
166
166
113
165
164
112
112
163
163
110
110
109
161
161
161
108
108
108
161
162
163
111
164
113
113
166
167
170
170
171
171
171
172
120
119
171
171
120
172
173
121
174
121
173
171
118
117
116
116
168
116
116
168
168
168
168
168
168
169
171
122
124
126
126
129
130
131
135
137
185
151
134
255
255
194
253
177
71
117
30
37
56
91
177
180
172
195
221
228
127
98
172
187
86
138
174
215
147
131
121
217
182
159
175
202
119
29
6
0
211
176
201
205
157
205
202
149
150
148
148
197
143
142
193
140
137
135
132
184
183
129
127
124
120
169
166
112
164
163
159
157
104
103
153
152
153
152
99
98
97
95
146
94
145
145
92
144
92
91
91
91
91
91
91
143
143
143
143
91
142
142
141
141
141
89
89
140
140
139
139
139
139
139
139
139
139
139
140
89
142
91
92
145
146
147
147
147
148
96
149
149
152
152
153
154
104
106
158
159
159
108
109
110
164
165
115
167
169
171
173
124
177
178
126
179
128
183
132
184
185
185
186
187
188
189
137
191
191
192
140
194
195
143
141
141
142
92
92
93
145
94
94
94
94
94
94
146
94
94
94
146
146
146
94
149
149
98
99
152
101
101
102
102
154
154
154
154
154
155
155
103
104
158
160
109
162
162
111
163
164
112
164
166
166
114
166
114
114
166
166
166
165
165
164
164
164
163
111
110
162
161
109
109
109
108
108
160
161
110
163
112
112
113
166
115
115
171
119
171
120
120
172
121
119
171
119
120
120
173
173
173
173
172
171
117
116
115
115
115
115
167
115
167
167
168
168
168
118
120
124
177
180
128
183
185
134
190
140
156
185
171
229
255
244
242
121
125
76
41
88
164
162
119
131
158
217
229
195
159
152
204
176
103
150
163
208
138
127
123
156
234
171
134
170
182
52
49
47
97
216
219
214
155
209
157
154
203
204
151
200
199
145
196
195
192
190
187
186
185
183
181
127
122
171
168
166
165
164
161
107
158
157
103
154
155
153
152
151
149
95
146
94
146
145
145
145
92
92
144
143
91
91
143
91
143
143
143
143
90
142
141
89
89
89
89
88
88
87
139
139
139
139
140
140
141
89
142
90
91
92
144
93
94
95
147
95
96
96
149
149
152
152
153
154
156
158
158
158
106
107
108
110
112
164
166
115
116
170
172
176
176
125
125
179
180
183
185
185
185
185
186
187
136
137
189
190
138
139
140
141
142
142
139
88
89
144
144
143
91
141
90
92
146
94
145
144
145
93
146
95
148
149
97
149
98
99
152
153
102
154
101
101
154
154
155
155
155
157
105
159
107
160
109
109
163
163
111
111
111
163
163
164
164
164
164
112
112
164
166
166
166
166
166
166
166
114
165
165
164
163
110
162
161
109
109
109
109
109
162
162
111
112
114
167
168
171
171
171
120
120
173
121
119
119
119
120
172
173
173
173
173
172
171
169
116
115
166
114
114
166
114
166
166
166
167
117
171
122
126
127
132
129
130
134
136
189
139
154
145
203
255
241
248
153
147
104
84
69
170
117
144
105
102
219
224
214
174
166
122
148
167
123
118
174
202
197
124
124
154
178
176
145
177
212
62
71
2
12
33
140
222
208
218
205
167
147
153
205
203
201
200
199
199
195
193
190
190
189
187
185
130
179
176
172
169
167
114
112
108
108
160
107
105
157
157
154
152
98
97
96
148
146
146
93
93
144
144
92
92
92
91
143
142
142
142
144
92
143
91
90
90
89
89
89
88
88
139
87
139
139
139
140
140
141
89
91
91
92
93
145
94
95
96
96
97
98
98
99
100
101
153
154
103
155
157
157
157
107
108
109
161
111
113
167
115
169
170
120
123
175
178
126
127
180
183
184
184
186
186
187
188
189
138
138
138
138
139
192
193
142
194
87
88
89
143
144
143
143
140
141
91
94
94
94
93
93
93
146
148
148
97
97
150
98
152
101
101
102
102
101
101
154
154
155
155
155
157
105
107
107
108
109
161
111
111
111
111
111
163
111
164
164
112
112
112
112
164
114
166
114
114
114
114
114
114
113
164
163
163
110
162
109
109
109
109
109
109
110
110
163
164
114
167
168
119
171
119
120
172
172
121
119
119
119
120
172
173
173
173
121
120
119
117
116
115
114
114
114
114
114
166
166
166
167
117
120
175
179
128
132
182
184
134
187
138
141
143
156
211
255
245
254
176
126
108
37
97
189
177
187
115
164
255
255
181
110
233
132
191
218
124
124
116
144
142
124
124
154
176
178
152
127
208
85
68
50
56
0
100
218
205
151
209
195
156
153
153
203
202
201
200
199
195
141
190
138
189
187
185
131
127
124
173
170
115
114
112
108
108
160
159
157
157
105
155
152
150
97
96
148
146
146
93
93
145
144
92
92
92
91
91
143
90
142
144
92
91
143
90
90
89
89
89
88
88
88
139
139
139
140
140
140
141
141
91
91
92
93
94
94
147
148
96
97
98
150
151
152
153
101
102
155
155
157
105
157
107
109
109
109
164
165
167
167
169
118
120
123
123
126
126
179
180
183
184
184
186
186
135
136
189
190
138
190
190
191
192
193
142
194
138
87
88
91
143
142
90
87
88
141
145
147
96
96
146
94
147
148
149
150
150
99
100
153
101
102
102
102
102
102
103
155
155
156
156
157
105
107
159
108
109
161
110
110
110
110
110
162
162
111
163
163
111
111
111
163
164
164
164
112
112
112
112
164
112
111
111
110
110
162
109
109
161
109
109
109
110
110
111
164
166
167
168
170
118
119
171
171
120
120
119
119
119
120
172
121
173
173
121
120
119
117
116
167
167
115
115
115
115
167
167
116
117
171
122
177
129
130
131
186
188
187
186
143
147
192
252
229
221
243
255
235
255
229
228
187
67
115
111
211
255
255
255
133
44
109
154
175
216
174
181
95
130
192
126
125
149
167
227
219
140
200
164
11
3
46
51
26
189
206
169
150
177
203
156
155
153
204
203
202
201
198
144
192
139
138
188
134
132
128
125
122
171
169
115
114
110
162
109
160
158
106
158
103
153
151
97
149
149
95
94
146
94
93
93
93
93
92
92
144
143
91
91
144
144
91
143
142
142
90
142
89
141
89
88
140
140
140
140
141
141
89
90
92
144
93
93
146
147
96
96
148
97
150
150
151
152
153
153
154
155
155
157
157
158
159
109
110
110
164
114
115
167
169
170
120
123
175
126
126
179
128
131
184
132
186
134
135
136
137
138
190
190
190
191
140
193
194
194
137
86
88
142
142
142
141
141
89
89
144
94
148
97
146
147
147
149
98
150
151
101
101
154
154
154
102
102
103
155
103
156
156
156
157
105
105
159
107
160
109
161
109
109
109
109
161
161
109
162
162
110
110
110
110
162
163
111
163
163
111
111
111
163
111
110
162
162
162
162
161
161
161
109
109
109
110
162
163
112
166
167
168
169
170
170
170
119
171
119
119
171
119
120
172
173
121
173
173
120
119
169
116
115
168
168
168
168
116
168
168
170
172
174
176
127
183
184
185
136
138
187
138
144
140
166
219
255
255
252
255
255
250
202
116
56
78
187
255
255
255
255
178
126
95
102
159
145
142
171
169
81
112
137
174
169
202
212
218
225
200
187
202
40
8
48
14
0
6
165
206
157
150
162
158
209
155
154
205
204
204
148
146
142
141
139
136
186
133
130
127
124
172
170
169
115
111
163
111
110
160
160
159
104
101
99
150
150
150
147
147
95
146
94
94
94
93
93
93
144
144
144
144
92
92
91
91
90
90
143
142
90
142
141
141
89
141
141
141
141
142
142
90
92
145
93
94
147
148
149
148
148
97
150
150
151
152
153
153
154
155
155
157
157
158
160
162
111
111
165
115
115
167
117
118
120
175
175
126
126
127
128
131
132
132
134
134
135
136
137
190
190
190
190
191
192
193
194
194
85
138
87
142
90
89
89
143
142
90
91
93
95
96
147
147
148
149
150
151
99
154
102
102
102
154
154
102
155
155
156
156
104
157
157
157
105
107
107
108
109
109
109
161
161
161
161
161
161
162
162
110
110
110
162
162
162
162
110
110
162
110
110
162
162
110
110
162
110
162
109
161
109
109
109
109
110
162
163
164
166
167
168
169
117
118
170
118
171
171
171
171
171
120
120
173
173
173
121
120
171
169
116
115
116
168
116
116
168
116
116
171
172
175
177
180
184
133
187
137
189
135
140
195
134
189
224
255
211
214
255
255
255
223
184
155
143
77
174
255
228
255
210
0
0
138
162
162
121
123
115
80
151
182
117
110
204
213
218
229
211
192
157
0
12
4
17
0
0
185
207
174
197
170
159
210
156
207
206
205
205
149
199
142
141
139
137
186
134
130
127
176
173
119
169
168
164
164
164
163
160
109
107
104
102
152
150
150
150
148
147
95
147
146
94
94
94
93
145
145
144
92
92
92
144
91
91
90
142
143
143
142
90
142
89
141
89
141
141
90
90
142
143
93
145
94
94
147
148
149
96
96
97
150
150
151
152
153
153
154
155
155
157
157
159
108
110
163
163
113
115
167
167
117
170
120
123
123
126
178
127
180
131
132
132
134
186
135
136
137
190
190
190
190
191
192
193
194
194
138
138
87
88
141
142
142
88
89
90
93
146
147
148
96
96
149
150
151
100
100
154
154
102
102
102
102
102
101
101
154
154
155
155
155
155
155
157
158
106
159
160
108
160
160
160
160
108
108
109
161
109
109
109
109
161
162
162
162
162
162
110
110
108
160
161
161
162
162
110
162
110
110
162
110
110
163
163
112
165
113
166
167
169
117
170
119
119
120
173
172
120
120
120
120
120
172
172
171
170
170
117
168
167
167
167
168
116
168
116
117
119
122
125
127
127
130
132
139
128
144
143
191
200
157
225
255
255
255
211
255
207
144
168
164
254
10
190
218
255
227
211
216
3
0
0
34
159
101
162
121
90
99
179
156
166
150
218
214
223
226
166
197
0
23
3
0
0
0
57
192
211
162
200
207
207
156
157
155
206
153
151
149
145
195
142
139
189
187
182
128
178
176
173
171
169
165
165
165
164
162
162
109
104
102
153
153
151
98
98
149
148
148
95
146
146
94
146
145
145
144
144
92
91
91
91
91
91
91
144
144
92
91
91
90
142
142
90
89
141
89
90
143
94
94
146
147
147
148
148
148
148
96
97
97
150
150
152
152
101
102
154
156
156
159
159
109
162
112
115
115
168
116
170
171
121
176
176
178
178
179
180
181
182
130
132
184
133
186
187
136
136
190
190
138
139
140
140
140
138
138
139
88
89
142
142
89
90
142
93
146
94
147
148
96
149
150
151
100
100
102
102
102
102
102
154
154
101
153
154
154
155
155
155
155
103
104
157
106
158
158
160
160
160
108
108
160
108
109
161
161
109
109
161
161
162
162
162
162
162
162
110
108
160
161
161
162
162
162
162
110
110
162
110
162
163
111
112
113
113
114
115
116
169
169
170
119
120
120
120
120
172
120
120
119
119
170
170
169
169
168
167
166
167
167
116
116
117
169
118
174
177
179
129
129
131
133
135
199
144
127
140
152
207
225
194
62
26
34
0
61
114
43
0
139
247
159
104
213
181
176
223
123
130
90
111
210
143
226
196
111
106
162
127
70
0
4
74
200
244
169
173
18
0
52
49
50
0
30
73
245
143
217
207
155
208
209
155
154
153
204
201
145
144
194
191
137
188
182
180
127
125
173
171
170
166
166
165
164
162
162
108
103
153
101
152
98
97
150
98
97
148
147
147
146
146
94
146
145
145
145
144
144
144
92
92
92
144
144
92
92
92
143
91
91
143
90
89
89
89
91
144
94
94
94
95
147
148
148
148
97
97
97
98
98
98
100
101
101
102
103
156
105
159
159
161
110
112
115
167
116
168
170
171
121
176
176
178
178
179
180
129
130
130
132
184
185
186
187
136
136
138
138
138
139
140
140
140
138
86
87
88
89
90
90
142
142
143
144
145
146
146
148
148
149
150
151
152
100
101
101
102
102
102
155
155
101
153
102
154
155
103
155
155
103
104
104
105
105
158
108
160
160
160
160
160
108
160
108
108
160
108
108
108
161
161
161
161
161
109
109
160
160
161
161
110
162
110
110
110
110
110
110
162
111
111
112
113
113
166
115
116
168
117
118
119
119
120
172
120
172
171
119
119
170
169
169
168
116
115
115
166
167
167
168
168
169
170
171
175
178
129
182
181
131
133
136
128
137
186
151
137
90
92
0
36
0
84
50
5
22
65
128
103
45
228
221
229
212
216
210
71
76
12
20
145
144
186
219
124
124
136
158
121
0
0
9
123
162
171
187
72
0
17
52
43
64
50
0
219
209
207
208
208
208
157
207
154
153
204
202
197
196
194
140
138
188
131
181
127
125
122
119
118
166
166
166
165
163
163
108
103
101
100
152
150
97
99
98
97
96
148
147
147
147
146
146
146
145
93
93
93
93
145
145
145
145
145
145
144
144
144
143
143
143
142
142
89
90
91
92
94
94
94
95
95
96
96
149
149
97
98
98
98
99
101
101
102
102
103
105
105
107
107
109
162
164
167
167
116
116
170
171
173
176
176
178
178
179
180
181
130
182
184
132
133
186
187
136
136
138
138
138
139
140
140
140
138
86
87
88
141
90
90
143
143
91
144
145
145
145
148
148
149
150
151
100
100
100
100
102
102
103
156
156
153
153
102
154
155
155
155
155
155
155
103
104
104
156
160
108
160
108
160
108
108
159
107
107
159
107
107
159
160
160
108
160
160
108
108
108
108
161
161
110
162
110
110
110
162
162
162
162
111
111
164
113
165
166
167
115
168
168
169
118
119
119
120
172
171
171
170
117
117
114
166
114
166
166
166
114
167
167
168
169
170
119
120
176
179
130
131
129
131
132
190
185
132
143
163
47
44
24
0
92
55
28
46
49
3
29
133
225
183
47
33
29
67
113
82
97
127
90
32
33
186
164
135
143
123
46
72
35
30
0
0
15
49
180
223
221
28
0
66
59
66
48
0
0
248
216
210
210
210
209
207
205
205
205
151
198
197
143
141
190
189
131
129
128
178
123
120
119
115
167
166
165
163
111
110
157
154
102
101
100
98
99
99
98
149
148
148
147
147
147
147
146
146
94
146
94
94
146
94
146
94
146
93
145
145
144
92
144
144
143
91
90
91
92
145
146
94
94
95
147
148
96
150
98
98
98
99
99
100
101
102
102
103
104
105
106
107
159
161
162
164
167
167
168
116
170
171
173
124
176
178
178
127
180
181
130
130
184
132
185
186
135
136
136
138
138
138
139
140
192
192
86
86
87
140
141
90
90
91
91
92
92
92
93
145
148
148
149
150
151
152
152
152
100
101
103
103
104
156
153
101
154
154
155
155
155
103
103
155
103
103
103
103
160
160
108
160
160
160
160
159
159
107
107
159
159
159
160
160
160
160
108
160
160
108
108
109
109
110
110
110
110
110
162
110
162
162
111
111
112
165
165
114
167
167
115
168
169
169
170
119
120
172
119
118
169
169
167
165
165
113
113
113
113
165
115
167
168
169
171
172
122
176
179
181
182
181
182
131
135
177
202
200
100
0
3
36
43
54
38
0
5
30
0
55
229
151
107
117
32
65
93
48
27
38
38
67
78
13
0
134
212
126
120
41
122
84
0
2
0
0
79
0
110
228
125
43
58
54
67
44
51
0
5
226
213
213
211
209
155
205
204
205
203
147
145
196
141
139
189
184
130
128
126
123
173
171
115
115
167
114
164
164
111
106
104
103
103
153
152
152
99
98
98
149
148
148
96
96
95
95
94
94
146
95
95
147
147
147
147
146
146
94
93
145
144
144
144
92
143
143
91
92
93
94
146
146
95
147
148
148
150
98
98
99
99
100
100
102
102
103
104
104
106
106
107
159
161
162
164
115
115
168
168
170
171
121
124
124
126
126
179
180
129
130
130
184
132
133
186
187
188
136
190
138
138
191
140
192
192
136
84
137
138
139
88
88
92
92
92
93
94
94
94
146
147
148
151
151
150
98
152
100
102
102
103
104
104
154
154
154
154
154
154
102
155
155
103
103
103
103
103
159
159
107
159
159
159
159
159
107
107
107
159
159
159
160
160
159
107
106
106
106
107
160
161
109
110
111
163
110
110
110
162
162
110
164
164
164
165
165
166
114
168
168
117
170
119
119
172
172
171
118
117
167
114
113
164
112
164
165
113
113
114
165
166
167
116
168
170
123
124
131
181
178
132
186
186
192
132
191
139
53
0
9
90
49
16
64
58
59
37
69
195
253
182
93
72
41
76
67
8
14
18
28
22
75
18
9
114
211
157
97
79
112
28
58
47
29
0
43
0
49
208
186
78
0
60
0
0
49
0
0
195
177
207
211
204
166
141
163
203
202
199
145
195
194
141
188
182
128
180
179
178
176
120
118
169
167
165
164
165
110
105
103
154
102
152
151
100
99
98
98
149
148
148
97
97
96
96
95
95
95
94
94
147
147
148
148
148
96
95
94
94
145
144
93
145
145
93
93
93
145
147
147
147
96
96
149
149
98
98
151
99
99
99
100
102
102
103
156
104
106
106
108
108
161
162
164
166
166
117
117
118
171
121
123
123
125
125
178
127
130
183
183
132
132
133
134
187
188
136
191
191
191
191
191
191
191
135
136
84
138
139
139
88
92
144
92
93
93
93
94
93
146
148
150
150
150
150
100
100
102
102
103
104
104
102
154
154
154
154
154
154
103
155
155
103
103
155
155
159
159
107
107
107
159
107
159
159
159
159
159
159
159
159
159
159
106
158
106
106
107
107
108
109
110
110
111
162
162
110
162
162
110
112
112
164
164
165
165
165
167
168
168
169
170
118
171
118
118
117
168
167
166
164
110
162
163
163
163
112
112
165
114
115
167
168
169
175
126
127
181
131
129
179
185
133
144
157
59
35
0
29
0
37
5
0
43
62
253
255
255
240
81
21
21
132
0
46
25
52
4
59
22
59
36
31
87
121
134
134
71
65
56
46
52
49
40
39
3
35
98
120
34
7
42
0
0
2
4
35
2
62
161
168
157
161
192
148
151
150
147
197
143
142
193
189
182
128
179
179
125
124
172
118
169
167
165
164
113
111
158
104
155
102
153
151
152
100
99
150
149
149
148
149
97
96
96
147
95
95
147
147
95
96
148
148
97
96
148
95
94
93
93
93
93
93
145
93
93
93
147
147
147
148
148
149
149
98
98
98
99
99
152
100
102
102
103
156
104
106
106
108
108
109
162
164
166
166
168
169
118
171
172
122
123
124
125
126
127
181
182
131
132
132
185
134
187
188
188
191
191
191
191
191
191
191
135
135
84
85
86
87
139
91
143
91
92
92
93
93
145
146
147
149
149
149
97
100
152
102
102
103
104
104
102
102
102
154
154
154
154
155
103
155
103
103
155
155
158
158
106
106
106
158
106
158
158
158
158
158
158
158
159
158
158
158
157
105
105
158
159
107
108
109
162
110
110
162
110
110
110
162
111
111
163
164
112
112
165
115
167
167
115
168
168
168
115
115
167
166
113
165
164
161
161
161
110
162
111
111
164
165
114
115
167
168
174
181
175
179
131
129
187
182
98
73
6
61
46
49
53
80
0
25
0
0
255
255
255
255
133
5
17
41
1
31
45
28
32
72
23
8
28
71
17
101
196
121
117
68
66
2
57
51
47
8
76
2
38
71
0
0
18
4
0
0
0
0
8
2
0
0
175
158
158
164
138
203
150
147
197
143
142
193
138
131
180
127
126
124
175
172
170
169
167
165
164
113
112
158
156
104
103
154
152
153
100
100
99
150
149
149
149
149
96
96
95
147
147
147
96
96
148
97
149
149
149
96
96
95
146
145
93
93
93
93
93
93
145
147
147
95
148
148
97
97
97
97
98
99
151
100
101
102
102
103
156
156
158
106
108
160
161
162
164
166
166
116
168
169
170
119
121
122
124
124
177
178
181
129
182
184
184
185
186
187
188
188
191
191
191
139
191
191
191
134
135
83
85
86
138
139
90
143
143
144
144
92
92
92
93
147
149
149
149
148
152
152
102
102
103
104
104
154
154
154
154
154
154
154
155
155
155
103
103
103
103
157
157
105
105
105
105
105
157
157
157
157
157
105
157
158
158
158
157
157
157
104
106
106
107
108
109
161
110
162
162
162
110
110
162
110
111
163
111
112
112
112
115
115
167
167
115
115
115
166
166
166
113
165
164
112
161
161
161
162
162
163
163
163
113
166
166
114
168
174
180
123
128
183
129
180
154
22
60
19
25
0
6
54
46
0
0
0
115
255
255
199
189
78
14
0
26
47
59
58
83
43
45
21
50
54
66
91
47
145
165
149
71
56
0
78
19
51
51
45
0
63
62
1
0
2
0
5
0
0
0
7
0
0
40
187
163
151
210
143
151
150
199
197
143
142
193
138
131
181
179
178
124
122
120
170
169
167
165
112
165
164
107
105
104
103
154
152
153
153
152
99
150
150
149
97
149
148
148
147
147
147
96
96
148
97
97
97
98
149
97
96
95
146
94
145
93
93
93
93
93
93
147
147
147
148
148
149
149
96
97
97
98
152
153
154
102
102
103
104
156
158
106
108
108
161
162
164
166
166
167
168
169
170
171
173
174
123
124
125
126
180
181
130
132
132
133
134
135
136
136
139
191
191
191
139
139
191
82
134
135
136
85
86
86
142
142
142
91
144
92
92
144
145
146
149
149
148
148
152
152
154
102
103
104
104
154
102
154
154
154
154
154
155
155
155
155
103
103
103
157
157
105
105
157
157
157
157
157
157
157
157
157
157
158
158
157
157
104
104
104
157
106
159
107
108
109
161
162
110
110
162
110
110
110
162
162
163
111
112
112
166
166
166
166
166
166
114
113
164
164
164
164
164
163
162
162
162
111
163
111
164
111
112
113
166
114
116
121
176
125
132
131
128
146
79
69
0
0
34
25
0
56
26
9
179
223
255
236
246
255
127
0
47
87
0
30
61
62
62
60
27
15
64
49
31
0
58
73
128
183
145
80
58
40
42
58
46
45
50
0
0
30
0
0
2
0
1
60
0
0
12
52
78
26
37
152
201
207
203
150
147
145
195
142
141
139
184
181
179
125
175
121
120
170
169
115
165
112
165
164
107
105
105
156
154
153
102
101
152
100
99
98
98
97
97
148
96
95
147
147
148
148
97
97
98
150
98
150
97
96
96
95
146
93
145
93
93
145
93
145
95
95
147
148
96
149
149
95
96
97
98
152
101
155
102
102
155
156
156
158
106
108
160
161
162
164
166
114
115
167
168
169
171
173
121
123
123
124
125
128
129
129
132
132
133
134
135
136
136
139
191
191
191
139
191
191
133
133
134
83
136
137
137
87
140
141
143
144
91
91
92
92
93
148
149
150
150
100
100
154
102
103
104
156
104
104
156
156
156
156
156
157
157
157
157
105
105
105
105
105
105
157
157
157
157
157
157
157
105
157
157
105
158
158
157
157
104
104
104
104
157
157
158
107
108
108
161
161
110
162
110
111
163
111
111
164
164
112
113
114
114
165
165
113
164
164
111
111
163
163
111
111
111
109
161
162
111
164
166
168
117
170
171
172
172
121
123
129
163
184
134
193
94
46
0
31
56
0
10
40
63
255
224
225
210
255
235
255
146
69
16
62
66
4
64
62
0
69
53
0
7
0
12
23
52
68
47
85
81
72
55
70
33
69
58
36
50
61
71
71
59
0
5
1
51
46
44
0
53
60
45
39
17
0
68
183
228
147
199
195
150
192
186
147
135
132
180
177
175
174
174
119
117
168
166
112
110
112
163
160
106
104
103
103
155
153
100
100
99
98
97
97
94
94
94
94
94
146
146
148
148
97
97
98
98
97
97
148
148
95
146
145
146
146
146
93
93
92
92
145
146
94
95
148
149
150
98
98
99
100
154
103
156
155
103
156
104
156
157
157
107
107
108
109
163
113
113
113
113
114
167
117
171
119
123
175
176
177
180
180
181
182
183
185
185
133
134
136
135
136
137
190
189
188
187
80
133
81
83
84
136
137
87
88
141
144
92
91
91
92
93
94
96
149
150
151
152
100
102
102
103
104
156
156
104
104
156
156
156
156
157
157
157
157
105
105
105
105
105
105
105
157
157
157
157
157
157
157
105
157
105
158
106
105
105
104
156
156
104
104
105
106
159
107
108
109
161
109
162
110
110
163
163
111
111
164
112
112
113
113
113
164
112
112
163
162
162
110
111
111
111
111
109
161
162
163
164
115
116
170
171
171
171
121
175
176
121
140
124
112
126
206
96
0
0
29
0
24
0
255
255
255
225
214
207
233
190
164
124
68
54
60
51
80
72
50
70
24
15
73
52
37
25
110
32
84
73
39
84
71
14
54
42
48
54
59
0
40
69
22
15
11
8
65
63
54
0
0
45
0
0
0
49
37
46
214
215
192
200
145
143
197
139
136
183
180
177
175
122
121
119
117
168
166
112
110
163
162
108
106
104
103
103
155
153
101
100
99
98
98
97
95
95
95
95
147
147
147
148
148
97
149
98
150
97
149
148
96
95
94
94
94
146
146
145
93
93
93
95
147
147
148
149
150
99
99
100
101
102
155
104
105
155
104
156
104
157
105
157
107
107
108
109
110
112
112
112
113
166
115
168
170
119
122
123
175
177
127
128
180
181
183
184
184
132
134
135
135
188
189
190
189
188
187
132
80
81
134
135
84
136
137
87
141
144
92
144
92
93
94
94
97
150
151
99
100
100
102
102
103
104
156
156
156
104
104
156
156
156
157
157
105
105
105
157
105
105
105
105
105
157
157
157
105
105
105
105
105
157
157
106
106
105
105
104
104
156
155
156
156
157
106
159
159
108
108
109
109
109
110
110
110
162
163
163
163
164
164
163
163
111
110
110
110
108
161
161
162
110
111
111
109
110
111
112
114
167
118
120
119
119
172
173
122
122
110
55
34
33
40
0
26
115
2
11
0
0
212
214
210
255
253
255
255
206
209
62
37
91
13
28
83
28
30
54
1
15
0
0
51
0
1
66
69
45
71
34
33
137
202
0
84
56
53
52
10
13
55
43
0
0
15
71
2
0
0
0
0
0
0
4
45
0
52
40
108
215
179
205
150
122
196
187
182
179
176
174
121
121
170
116
115
113
111
109
111
108
108
159
106
105
155
103
102
153
101
100
99
150
98
150
149
97
96
148
147
147
148
148
149
97
98
150
149
149
149
148
148
148
96
148
148
148
148
96
96
96
98
98
99
151
152
153
154
154
103
103
104
105
157
158
156
156
105
157
105
106
106
107
107
108
108
109
110
163
112
112
165
166
167
117
118
120
121
174
123
125
126
127
179
181
183
183
131
184
134
186
187
136
137
136
135
186
131
131
80
134
82
135
135
85
86
88
144
145
93
93
146
94
95
98
151
152
152
152
100
102
102
155
156
156
156
156
104
104
156
156
104
105
157
105
105
105
157
105
105
105
105
105
157
157
157
157
157
105
105
157
157
157
106
106
105
105
156
104
156
154
155
156
157
105
106
158
107
108
108
108
109
161
161
109
162
162
110
111
163
162
110
162
109
109
109
108
159
159
108
161
110
110
111
164
164
166
167
117
171
119
121
172
171
117
117
117
116
219
54
26
51
44
3
0
0
21
38
193
226
212
207
255
244
240
251
231
174
209
114
90
62
0
0
79
57
5
58
0
13
76
0
52
51
62
41
75
0
71
37
27
5
48
47
57
33
7
6
14
68
45
34
39
4
14
76
75
15
11
55
46
14
0
8
0
0
71
41
40
50
201
184
191
159
181
187
130
126
176
174
172
172
169
115
114
112
110
109
110
158
160
108
107
105
104
155
103
154
101
152
100
151
99
152
151
98
97
148
148
148
148
148
149
97
98
150
149
97
149
97
149
97
149
99
151
151
152
152
101
101
152
153
101
154
155
156
157
104
104
104
156
105
157
157
105
157
105
106
106
107
107
159
159
108
108
160
109
109
163
163
112
113
115
117
169
171
120
172
174
124
177
125
126
128
181
182
129
131
132
184
132
133
186
185
132
184
79
131
132
81
134
135
135
84
86
140
144
145
145
93
146
146
95
98
151
152
100
100
100
102
102
155
156
156
156
156
156
104
156
156
104
157
157
105
105
105
105
105
105
105
105
105
105
157
157
157
157
157
157
157
157
105
106
106
105
105
156
104
104
102
103
104
156
157
158
158
107
107
160
108
109
161
161
109
109
110
110
111
163
110
110
110
109
109
108
108
106
159
160
108
161
162
111
164
165
115
168
170
171
120
121
171
169
116
113
113
111
42
146
131
128
49
95
70
58
29
181
229
205
183
203
194
255
255
251
186
156
60
45
74
61
0
56
57
11
45
68
0
18
79
0
74
76
47
57
59
5
6
36
22
54
113
3
70
63
42
46
64
80
12
0
42
2
19
23
4
49
0
50
45
36
48
0
0
60
0
3
0
33
143
222
203
174
146
136
182
126
175
173
119
171
117
115
166
112
110
109
162
157
160
160
159
158
104
103
103
102
153
153
100
99
151
100
151
151
98
97
148
148
148
148
97
149
150
150
149
149
149
97
97
97
149
100
100
100
101
153
102
102
153
101
102
103
156
156
105
156
156
104
104
104
105
157
105
157
157
106
106
107
107
107
159
160
108
160
160
161
163
163
164
113
115
117
117
119
119
172
173
124
125
177
178
179
181
129
129
130
184
131
184
185
133
133
132
131
79
131
132
133
82
83
83
138
138
140
143
144
145
146
93
145
94
97
150
151
99
100
100
102
154
155
156
156
158
106
105
105
156
156
156
105
157
105
105
157
157
157
104
104
104
104
156
156
156
156
156
156
156
156
104
104
104
104
104
104
104
104
104
156
157
157
157
106
106
106
108
160
161
161
162
110
162
110
161
109
161
160
108
107
159
107
159
159
159
107
108
161
162
111
162
162
165
167
169
170
170
118
170
174
158
142
114
109
153
145
13
0
63
108
26
36
34
37
120
250
255
212
228
180
195
217
251
233
229
188
66
0
0
10
61
0
4
11
64
57
36
31
49
37
53
62
57
46
82
108
31
0
12
57
5
0
147
112
51
45
45
43
0
0
0
0
7
60
77
22
55
0
0
48
64
0
0
27
29
0
0
47
54
85
107
145
193
195
192
181
173
173
172
117
119
117
166
113
111
108
107
160
157
158
157
157
156
156
104
105
156
103
153
100
99
99
151
99
150
98
149
97
149
149
149
148
96
149
97
98
98
151
151
152
153
102
103
103
102
102
154
101
101
152
101
101
154
155
156
157
157
157
105
105
157
157
105
158
106
158
107
107
108
108
107
107
107
160
160
109
161
162
162
111
163
164
166
114
167
169
119
120
173
124
177
125
125
178
127
180
129
129
131
183
182
130
129
129
129
79
131
132
133
134
135
83
85
86
139
142
144
145
93
93
145
146
149
150
151
99
100
100
102
102
155
156
156
157
157
157
105
105
157
157
105
105
105
105
157
105
105
104
104
104
104
104
156
156
157
157
157
157
105
157
105
105
105
157
157
157
157
105
105
105
158
158
158
159
159
108
160
161
161
110
110
109
109
109
108
108
108
159
106
106
106
106
106
106
158
107
109
163
164
164
164
116
171
121
174
175
122
123
121
174
99
112
174
128
0
151
54
59
45
145
59
72
220
255
215
255
255
255
211
188
157
173
255
232
130
40
0
0
0
1
8
0
40
42
55
91
59
49
48
73
73
35
66
78
0
49
42
18
30
53
9
29
62
83
0
48
45
0
4
0
0
55
101
67
50
61
57
5
13
0
4
0
11
49
32
45
39
31
52
68
46
85
105
187
126
180
180
172
115
122
168
114
112
162
108
106
107
105
158
157
105
104
104
104
156
155
154
154
101
100
100
99
99
99
99
99
99
99
97
96
148
148
148
97
153
101
102
102
103
103
104
154
154
154
153
153
153
152
99
100
100
100
153
153
154
155
103
103
103
104
156
104
156
157
157
157
106
158
158
106
106
107
107
107
108
108
109
109
110
111
112
113
113
165
167
117
118
118
172
174
174
174
123
123
125
178
126
129
128
128
128
127
127
179
79
131
132
133
134
135
135
137
85
86
142
143
92
145
145
93
146
149
150
151
151
100
152
102
102
103
104
156
157
157
105
157
157
105
157
157
105
105
105
105
157
105
104
104
104
104
104
104
156
157
105
105
105
157
157
105
105
105
157
157
157
105
105
157
158
158
158
159
159
159
160
160
161
109
110
162
161
109
108
108
108
107
107
106
106
106
158
106
106
106
159
109
163
112
113
166
170
115
119
123
125
177
174
118
116
127
118
152
90
26
183
108
64
52
0
0
134
223
255
255
255
250
255
251
255
241
206
209
244
104
0
52
4
0
0
0
0
41
0
43
82
68
74
67
58
54
0
33
103
20
5
44
61
55
26
52
58
32
38
113
61
41
59
0
28
12
138
119
23
0
10
8
0
0
0
59
19
56
50
4
30
43
38
57
4
42
163
211
191
125
176
179
174
116
118
116
165
164
110
107
106
159
157
106
105
157
104
104
104
156
155
154
154
153
152
152
99
99
99
99
99
99
99
98
98
149
149
150
98
154
103
103
155
103
104
104
154
102
101
153
153
152
100
99
99
151
151
152
152
152
153
101
102
102
155
155
156
156
156
156
156
157
157
106
106
106
158
107
107
160
108
109
109
162
162
111
113
113
165
167
168
169
117
119
121
172
121
121
174
124
124
125
127
179
179
179
178
126
125
131
131
132
133
82
83
83
84
85
138
141
142
144
144
145
145
94
149
150
151
151
100
100
102
102
103
156
104
156
156
105
157
106
106
158
157
157
157
105
105
105
105
106
106
106
106
106
106
106
106
158
106
106
158
106
158
106
106
158
158
158
106
106
158
158
159
159
107
108
160
160
108
161
161
162
110
160
160
108
159
159
107
158
157
105
105
157
105
105
105
158
108
163
165
114
116
121
120
174
123
123
175
122
121
87
9
76
56
3
0
0
32
158
85
0
85
208
207
199
248
255
255
255
248
223
233
224
228
42
0
48
0
0
0
2
0
5
8
0
0
45
0
35
106
68
80
34
2
63
0
21
0
0
29
106
64
41
63
188
151
167
122
53
17
56
0
0
0
0
48
0
5
8
6
81
64
0
0
0
8
0
58
47
43
0
0
72
105
169
184
171
114
118
116
116
115
113
111
109
159
105
106
157
158
157
157
156
156
156
155
154
154
154
154
153
153
151
151
152
100
153
101
101
155
154
153
101
154
155
156
156
104
103
155
103
155
153
153
153
152
152
152
151
150
150
149
149
149
149
149
151
99
100
153
102
103
155
154
154
155
155
155
104
156
157
105
158
106
158
107
159
160
160
109
110
111
112
164
166
167
169
117
168
118
172
172
120
121
121
175
175
176
125
125
125
177
176
175
175
80
132
81
82
83
136
136
87
87
87
141
142
144
145
95
148
149
151
152
152
153
100
100
102
102
103
156
104
154
154
155
103
104
104
156
157
157
105
105
105
104
104
104
105
106
106
107
107
107
105
157
104
156
103
103
155
106
106
157
157
104
156
104
105
157
158
158
159
107
107
159
159
159
159
159
107
158
158
106
158
106
158
158
104
104
106
158
158
105
104
106
108
163
166
170
120
122
122
186
139
177
169
126
55
79
39
0
100
60
72
17
55
26
77
216
219
255
255
208
253
249
210
226
253
208
184
155
34
62
32
88
29
56
52
27
0
0
0
0
91
88
21
0
70
39
109
67
0
7
0
93
116
0
34
15
86
60
66
49
0
97
168
209
32
0
29
49
63
40
34
0
23
7
30
58
36
54
58
0
0
24
14
3
36
35
0
0
6
75
125
192
172
110
118
124
119
167
112
110
160
108
108
106
157
104
156
155
154
102
154
154
101
101
152
152
152
152
153
153
153
101
101
102
103
104
156
156
157
105
107
158
158
105
104
155
154
155
155
154
101
153
152
151
151
151
98
97
97
148
147
149
149
98
151
153
102
104
104
104
155
103
103
103
155
106
106
106
158
158
158
158
157
106
107
108
110
112
164
165
166
167
168
119
120
121
170
118
171
172
174
122
123
175
175
123
122
173
173
121
80
80
81
82
83
84
84
87
87
87
88
90
144
145
147
95
148
150
152
152
153
152
100
102
102
103
104
156
102
102
155
103
156
156
156
157
157
157
157
156
156
156
105
106
106
106
107
107
107
105
105
104
104
104
155
155
158
158
105
157
105
104
104
105
105
106
106
107
159
159
107
107
107
107
159
159
158
158
106
158
158
158
106
155
104
157
158
158
157
156
158
160
111
115
118
172
174
136
130
172
174
133
129
131
107
0
0
0
58
61
77
26
143
250
255
255
255
225
249
255
243
197
173
158
215
191
111
86
67
46
48
47
29
47
0
22
0
0
0
45
0
10
12
49
34
0
0
94
62
6
91
23
7
52
7
73
64
77
10
2
140
109
133
158
29
47
0
0
0
27
0
87
86
99
53
44
0
0
43
41
0
44
49
50
37
34
46
10
0
132
152
160
178
124
98
118
114
112
162
108
160
160
158
157
104
156
155
154
154
102
154
153
101
100
152
152
153
153
153
153
154
154
154
104
104
157
157
157
158
159
107
158
105
104
155
155
155
155
154
102
101
100
151
99
151
98
97
149
148
147
96
97
150
151
100
154
103
156
104
104
104
104
103
103
105
157
157
157
157
157
157
157
157
158
159
161
163
163
165
165
166
167
118
119
119
117
170
118
171
173
173
174
174
174
173
173
172
172
172
80
80
81
82
83
84
136
86
86
138
140
89
143
144
145
146
95
98
99
152
153
100
100
154
154
103
156
156
103
103
156
104
156
157
157
156
104
157
105
105
105
158
159
159
160
108
160
108
108
158
157
157
157
104
104
104
159
158
106
106
157
105
105
105
105
106
158
107
159
159
107
107
107
107
159
107
107
159
107
159
159
107
107
156
104
156
157
157
157
157
162
163
166
117
119
120
121
177
180
184
130
122
117
68
26
109
117
0
0
0
40
245
225
255
255
255
191
188
176
255
255
218
197
115
84
150
24
0
34
45
69
47
51
2
0
0
41
0
0
0
25
33
0
0
26
56
61
26
40
28
48
14
2
43
91
56
52
49
2
45
85
113
253
152
221
60
3
0
0
73
66
73
0
0
39
38
61
6
0
40
0
0
45
61
62
58
54
54
0
51
147
111
170
171
111
117
113
111
161
160
160
160
106
157
104
156
155
102
102
102
154
153
101
100
100
100
101
154
154
155
156
156
104
158
158
106
159
107
159
160
108
107
107
158
158
105
156
156
103
102
101
153
152
99
99
150
97
149
148
147
96
96
149
98
99
152
153
103
103
104
104
104
105
105
104
156
156
104
156
104
156
155
104
104
157
158
160
160
162
162
163
112
113
166
114
115
167
115
168
169
169
169
116
116
116
168
167
167
166
80
132
81
82
83
84
136
137
85
85
87
89
143
92
91
92
94
149
151
101
101
100
100
102
154
103
104
156
156
104
156
105
105
157
158
157
157
158
159
108
108
161
110
110
161
161
161
108
108
107
106
106
157
157
105
157
159
159
159
106
106
106
106
157
157
106
158
159
159
159
107
107
159
107
107
159
108
160
160
160
160
160
160
106
158
105
158
158
108
109
113
167
169
171
172
121
121
116
152
117
138
105
114
208
152
138
192
85
0
64
174
255
226
226
211
201
212
199
211
201
196
233
135
70
39
4
0
0
0
2
53
48
58
61
0
0
0
10
0
37
45
42
69
70
39
27
51
70
88
72
32
26
76
69
17
0
61
26
0
113
255
122
210
255
183
139
37
0
64
55
0
0
56
38
42
50
44
11
31
69
39
56
42
45
10
67
5
0
5
22
95
184
127
115
109
115
112
162
161
160
160
160
158
105
156
156
103
102
102
102
154
153
153
100
100
100
102
155
156
157
106
159
107
106
158
107
107
108
160
107
107
107
107
159
159
159
157
104
104
155
154
101
101
151
99
98
97
149
148
147
148
148
148
97
149
150
98
101
101
154
154
103
104
105
105
105
105
157
157
105
105
103
103
104
156
157
158
158
160
160
161
161
162
110
111
112
112
164
112
112
164
164
164
164
164
163
111
110
162
80
80
133
82
135
84
136
137
137
137
87
88
142
91
143
92
93
149
99
101
101
100
100
102
102
103
104
104
156
104
105
105
105
106
106
106
158
160
161
161
162
162
111
110
162
162
161
109
109
159
158
106
158
105
105
157
108
107
107
107
158
106
106
105
105
106
158
159
159
159
159
107
107
107
107
159
160
108
160
108
160
160
108
107
159
106
158
107
109
163
167
116
170
119
120
173
172
187
118
120
111
111
193
26
128
155
81
95
50
26
210
255
255
216
198
210
207
192
211
204
200
177
100
0
3
21
0
38
31
13
26
43
54
61
45
0
3
17
53
35
63
46
0
8
55
67
29
26
57
62
47
42
49
0
3
58
58
86
163
229
255
222
255
157
191
112
49
41
44
0
0
80
82
34
0
55
36
3
33
32
58
35
44
61
57
1
6
66
51
0
0
82
96
185
176
114
111
162
108
160
160
160
106
105
156
104
103
154
102
102
102
101
101
152
100
152
102
103
156
157
159
160
160
106
158
106
107
107
107
106
106
106
107
107
107
159
105
157
156
103
154
102
101
151
99
98
97
97
148
95
147
148
96
96
148
97
97
152
152
100
101
154
104
104
105
157
157
157
157
157
105
104
104
156
156
157
157
105
160
160
160
161
161
110
110
111
111
163
111
110
162
162
111
163
163
110
109
109
161
82
134
134
83
84
136
136
137
137
86
87
140
89
89
89
90
144
148
150
152
153
103
103
104
156
156
105
105
157
157
157
157
157
157
157
106
107
163
164
164
164
111
110
162
109
161
160
108
108
109
109
108
108
107
107
107
161
161
108
108
107
107
159
107
107
107
107
107
159
159
158
158
107
159
108
108
107
107
159
160
160
160
160
161
161
110
111
164
114
114
169
124
173
169
122
116
126
180
179
159
203
42
0
51
0
0
0
99
22
27
215
221
226
229
233
244
226
193
105
74
30
29
56
64
16
36
77
59
89
93
88
78
21
3
11
79
46
10
0
4
26
26
8
0
2
99
81
63
104
37
44
45
35
19
0
119
185
255
255
255
247
226
255
84
104
34
6
5
58
64
26
14
4
0
6
0
43
30
36
0
0
44
41
0
59
66
77
89
80
0
0
52
49
0
46
102
115
165
110
108
107
105
159
106
105
157
156
103
103
154
153
101
101
101
154
103
105
157
106
106
159
107
107
158
107
160
160
108
107
107
107
107
107
107
107
107
158
158
107
107
106
104
103
101
153
100
99
149
148
147
149
149
149
96
96
95
147
147
148
149
150
152
154
103
106
158
158
158
106
159
159
106
106
106
106
159
159
159
106
106
158
159
108
161
161
161
109
109
161
161
161
109
158
106
106
106
107
107
107
134
134
82
83
84
136
84
137
137
86
87
140
89
89
89
90
143
147
149
150
99
103
155
156
156
157
105
157
157
157
157
157
158
106
158
159
108
163
164
112
112
111
110
162
162
161
109
109
108
109
109
109
108
108
108
107
109
161
109
108
160
108
159
159
159
107
107
159
159
107
107
107
107
160
160
108
108
161
109
109
110
162
163
111
112
165
114
167
116
117
119
123
121
174
180
127
174
182
182
175
169
171
20
9
46
0
48
56
34
251
255
253
179
220
239
106
0
0
52
63
46
37
44
3
84
89
61
49
10
19
29
13
37
35
14
8
27
100
0
0
53
0
0
0
4
48
44
16
76
61
37
55
60
129
212
255
255
255
206
220
197
255
236
190
36
54
47
79
59
56
0
27
0
32
90
68
5
0
0
0
42
34
38
0
47
47
52
59
44
59
74
51
18
73
93
98
111
110
161
110
110
161
160
107
106
157
156
156
155
155
102
153
153
102
155
156
106
106
158
107
159
107
159
158
107
160
161
108
108
160
160
108
108
108
108
160
160
108
109
161
160
106
157
102
102
101
100
151
149
148
98
150
149
97
97
96
96
95
147
148
149
150
100
152
154
102
155
156
157
107
160
159
107
159
160
108
161
161
109
109
161
160
160
108
108
109
161
109
161
160
160
160
158
106
106
106
158
106
106
134
82
134
83
84
136
84
85
85
138
139
88
141
141
89
90
91
146
148
97
150
154
102
104
104
105
106
106
157
157
158
158
158
158
107
108
109
164
164
164
163
163
163
110
162
162
109
161
161
110
109
109
109
108
108
108
110
109
161
161
160
160
108
159
159
107
107
159
159
159
159
159
108
108
160
161
161
162
110
111
112
164
165
114
114
115
116
117
119
171
174
178
125
123
175
174
121
129
175
139
162
101
0
0
103
72
49
48
72
255
228
255
255
120
43
43
58
43
38
18
6
47
88
59
47
51
47
103
69
55
51
54
40
82
39
35
32
11
86
60
49
0
0
0
0
0
0
10
41
8
0
62
150
220
255
255
249
241
255
221
220
218
189
97
0
5
14
3
0
5
59
43
74
115
14
4
0
0
0
0
44
27
34
46
0
51
59
68
52
0
40
42
0
25
65
128
108
114
164
110
110
161
108
159
158
157
157
156
156
103
102
154
154
154
155
156
158
106
107
107
159
108
108
106
160
161
161
109
108
109
161
109
161
109
109
109
161
162
162
110
109
160
158
104
155
154
153
100
151
149
99
150
98
98
97
149
97
148
96
96
97
150
151
99
152
153
154
155
156
107
159
158
107
107
160
160
162
162
162
162
162
109
108
107
107
109
109
161
108
108
160
107
106
158
106
106
105
105
105
82
134
134
135
136
136
84
85
85
86
139
140
141
141
88
89
90
144
146
147
95
101
154
155
105
106
106
107
157
157
158
159
160
160
108
110
111
113
165
112
163
163
164
111
163
110
110
110
162
111
110
110
109
109
109
109
162
110
162
161
161
109
109
107
107
107
107
107
159
159
160
160
108
109
161
161
163
164
113
166
167
116
117
170
171
120
173
122
123
176
124
180
186
182
124
131
136
154
77
148
133
120
1
7
61
0
61
0
63
255
255
55
51
50
49
2
6
35
60
0
0
52
33
47
97
132
96
48
31
10
8
27
8
59
59
182
76
41
50
2
50
48
50
0
0
0
0
0
55
29
90
55
210
255
255
252
255
255
201
217
219
216
224
213
56
19
0
0
0
0
0
38
47
45
0
69
51
48
54
55
53
0
42
0
0
55
63
70
57
53
0
4
0
43
0
60
122
92
154
158
160
108
109
160
159
106
157
157
156
104
155
154
154
155
104
105
159
107
159
160
160
108
109
159
160
110
110
110
109
110
110
110
162
110
110
110
162
163
163
111
110
109
159
106
157
157
103
154
153
152
152
152
152
99
99
99
150
150
150
150
150
98
149
97
150
151
152
153
154
104
156
155
103
104
157
158
160
108
109
109
109
108
108
108
160
109
109
160
160
158
158
106
104
104
104
103
102
101
101
82
134
82
135
136
136
136
85
85
86
139
140
141
89
88
89
89
143
144
145
146
152
101
103
105
158
159
108
105
157
159
160
160
109
110
111
112
113
165
164
111
111
164
164
163
163
110
110
162
111
163
162
162
161
161
161
163
163
162
162
109
109
109
107
107
107
107
159
107
159
160
108
161
161
110
110
165
165
114
115
117
118
171
173
122
174
176
125
126
179
132
126
129
182
181
186
152
17
64
39
26
22
6
0
0
39
0
28
73
145
26
57
40
10
40
37
38
37
0
0
35
38
45
107
88
11
7
52
7
15
51
67
55
59
68
57
123
153
17
2
49
52
8
39
0
0
0
53
30
6
24
3
177
255
255
255
255
255
255
226
223
224
224
253
207
40
15
0
64
18
10
0
35
31
35
32
53
64
45
0
6
55
53
0
44
50
0
47
36
60
59
54
46
46
57
0
13
43
80
109
120
170
161
108
107
159
158
157
157
105
156
103
103
104
105
105
107
107
160
108
109
109
109
160
161
162
110
110
109
111
111
163
163
111
111
163
162
163
163
163
162
109
159
107
159
158
157
155
102
101
101
101
101
100
100
99
99
101
100
100
99
150
97
97
151
99
100
100
100
152
152
99
99
100
102
155
157
158
158
158
106
107
160
161
109
109
161
160
107
106
157
156
155
102
101
153
151
150
98
80
80
133
136
137
138
86
87
87
87
140
141
89
89
90
90
90
91
144
144
144
150
151
101
103
104
106
158
108
108
161
162
162
111
111
168
167
115
166
165
113
165
166
114
165
165
112
112
164
164
164
163
163
163
162
162
110
162
161
109
160
108
160
107
107
159
107
107
107
159
160
109
162
110
110
164
168
168
117
118
172
173
174
130
129
126
125
124
123
178
191
174
198
177
130
177
84
115
0
74
46
0
0
80
0
0
24
4
79
123
44
41
50
2
0
0
0
41
0
6
0
70
123
61
54
3
0
0
2
3
58
64
70
13
70
65
98
104
128
44
88
58
32
61
0
0
1
30
65
0
12
16
163
255
229
255
255
255
255
228
228
197
219
255
178
40
57
51
45
0
22
0
36
56
66
26
79
72
32
42
60
66
50
55
51
48
53
59
43
47
50
39
38
0
49
0
35
63
85
101
105
156
163
162
153
149
99
99
97
157
158
105
105
104
156
103
106
107
107
107
107
159
160
112
164
164
112
112
112
113
113
165
164
112
111
163
164
164
163
162
162
161
160
159
159
158
157
103
102
100
100
100
152
99
99
150
98
100
100
100
100
152
152
151
150
98
98
151
151
151
151
97
98
98
99
100
154
154
105
105
105
105
105
105
105
158
158
106
106
158
158
106
155
155
154
153
152
151
151
80
81
82
136
137
138
139
139
87
87
88
89
89
89
142
91
91
92
92
144
144
97
150
100
154
156
105
105
105
158
160
110
111
112
165
168
168
167
167
166
114
114
114
166
113
113
112
112
112
113
165
164
112
111
111
163
161
109
109
108
108
108
108
159
159
159
159
107
159
159
159
109
162
162
111
112
169
169
118
119
120
174
122
131
130
126
126
177
176
127
187
134
181
183
175
181
161
0
186
165
63
60
0
0
11
0
43
65
79
19
63
40
49
2
0
0
0
2
49
26
52
94
57
14
0
5
25
38
83
73
62
54
58
0
0
58
62
12
0
136
184
36
37
41
57
64
0
61
4
0
88
95
255
226
203
255
255
224
228
226
228
224
220
255
101
2
83
64
48
0
13
0
0
47
33
54
27
28
8
92
74
36
33
5
53
45
43
0
48
56
0
38
39
4
13
12
0
0
6
80
55
124
148
160
156
99
97
152
102
105
105
156
156
104
104
104
159
159
160
160
109
109
161
164
112
112
112
112
112
113
113
113
112
164
111
111
112
164
163
162
110
109
108
159
107
106
157
104
103
102
101
101
152
152
152
99
151
153
101
101
101
153
153
153
151
151
99
99
151
151
151
149
98
98
99
151
153
153
154
154
102
102
102
154
154
102
154
154
154
154
154
154
103
103
154
153
152
151
151
133
82
82
137
138
139
139
139
87
87
140
89
89
89
143
91
92
92
93
145
145
95
96
151
100
102
155
104
102
155
158
160
110
111
112
114
166
167
115
115
167
115
166
166
113
113
112
164
164
113
164
164
163
111
111
111
161
108
108
108
107
107
159
106
158
159
107
160
108
108
108
162
164
164
113
167
170
119
120
121
122
123
124
183
182
128
128
178
178
129
134
190
187
172
182
186
84
50
30
113
212
160
116
65
30
27
59
70
64
0
7
30
38
44
40
36
53
11
71
76
28
0
43
89
135
147
80
64
0
56
61
58
16
23
31
81
54
55
58
48
18
100
95
0
65
0
0
84
51
36
30
73
157
255
210
220
229
225
225
255
255
255
223
229
60
0
59
58
51
11
15
4
3
53
54
76
42
0
7
1
0
0
42
0
0
0
39
0
0
28
84
23
61
0
0
0
0
45
0
47
5
65
114
145
155
104
153
156
109
107
158
156
104
104
157
106
107
160
161
110
163
163
164
165
113
113
113
113
113
113
165
165
164
112
111
163
164
164
163
110
110
109
108
159
159
106
158
105
104
103
102
154
154
102
153
153
152
154
103
103
103
156
157
105
102
102
102
101
153
152
99
99
99
99
99
152
152
152
152
152
100
100
100
152
152
103
103
103
103
155
155
155
155
155
154
153
152
151
151
81
82
83
85
138
139
140
139
139
87
88
89
89
141
144
144
144
145
93
93
146
147
147
150
152
153
102
103
102
102
157
158
108
161
161
165
113
114
166
166
114
115
166
166
165
113
112
112
112
164
163
163
163
162
110
110
160
160
160
107
107
107
106
157
158
159
159
160
109
109
109
164
165
166
115
117
171
120
120
122
123
124
177
184
131
129
178
127
179
182
125
185
129
171
187
159
47
26
0
51
120
126
117
26
0
8
37
89
7
0
20
0
0
46
42
38
50
59
52
66
0
8
8
202
231
194
103
112
34
19
7
14
10
8
6
60
59
60
64
74
0
116
159
0
46
42
46
64
6
62
139
125
183
255
192
215
220
227
255
255
255
245
255
161
103
56
51
49
0
1
0
31
1
63
0
23
52
0
0
41
51
51
0
54
50
0
0
0
60
68
67
19
69
55
0
11
55
0
0
48
55
63
60
118
149
163
112
112
166
161
159
157
157
157
159
108
108
161
110
111
164
165
165
166
166
114
114
114
114
113
165
165
164
164
163
111
164
164
163
162
110
109
108
107
107
158
106
105
157
156
155
103
103
154
102
102
153
103
103
104
104
157
158
107
156
156
103
103
154
101
101
100
100
100
100
100
100
152
153
153
153
153
101
101
101
155
155
155
103
155
155
103
103
103
102
153
152
151
151
134
82
83
86
87
140
140
139
139
87
88
89
89
89
92
92
144
93
146
146
94
146
146
97
151
152
101
154
102
102
155
155
156
156
105
163
111
112
164
165
113
114
166
166
165
113
112
112
164
162
110
161
109
109
108
160
160
160
107
159
158
158
106
157
158
158
160
108
109
161
163
114
168
168
170
120
172
120
173
122
176
177
178
183
183
129
127
126
127
181
130
188
179
180
160
207
26
0
65
181
45
12
26
30
26
50
39
32
9
0
0
3
0
0
47
42
43
50
135
0
0
0
39
178
139
130
93
128
78
49
61
0
6
5
0
54
56
61
74
58
6
46
123
83
59
47
48
7
169
192
203
190
249
196
215
206
229
229
255
255
255
255
255
247
79
62
79
79
5
4
0
56
14
0
13
22
51
33
20
51
42
42
36
0
5
61
8
50
0
47
37
43
0
45
49
47
47
50
51
53
1
0
42
83
115
134
86
89
144
163
160
158
158
107
109
163
108
109
110
112
113
114
167
166
166
114
114
114
114
113
165
165
164
164
111
111
112
112
111
162
110
109
108
159
159
158
106
106
158
105
104
156
104
155
103
154
154
104
104
157
106
107
108
161
159
159
106
105
104
103
102
102
102
154
102
102
102
153
103
155
155
155
155
155
155
102
102
154
102
102
102
154
103
103
102
153
152
151
151
81
81
82
85
86
139
139
89
141
141
90
143
143
143
93
145
145
94
95
147
147
147
147
149
97
150
151
99
153
101
154
155
156
157
105
104
156
157
106
107
108
160
110
162
162
110
162
110
162
161
160
160
160
159
107
159
159
159
158
158
157
105
105
105
106
159
160
109
110
162
167
116
117
171
121
122
174
123
124
125
126
179
180
183
182
130
129
181
129
181
187
118
125
147
78
85
75
62
0
0
26
56
160
62
32
140
63
75
50
0
0
40
43
0
0
0
1
16
66
25
0
6
110
141
138
91
85
30
58
3
50
77
7
57
55
58
62
9
8
22
22
41
59
46
12
66
72
0
114
201
195
210
180
196
197
229
255
221
227
228
242
249
255
32
24
15
53
50
62
0
0
0
44
89
14
7
10
0
0
50
50
54
46
10
5
0
0
49
36
51
55
13
61
51
51
47
48
54
50
40
39
0
35
39
50
59
80
108
73
113
160
105
163
161
104
109
110
111
112
113
114
166
166
169
169
169
169
116
115
166
166
166
165
113
112
112
163
163
110
110
161
160
159
107
159
159
158
106
106
157
155
155
155
104
104
104
105
106
106
106
107
107
108
108
159
107
159
158
105
103
103
153
101
153
101
153
101
101
102
154
155
155
104
104
157
103
155
155
155
155
103
155
104
103
103
102
100
100
99
133
81
82
85
86
139
87
141
141
141
142
143
143
143
93
93
145
94
147
95
95
95
95
149
97
150
151
99
100
153
154
155
104
156
157
154
154
155
104
105
105
158
108
160
108
160
160
160
160
161
160
160
159
159
159
159
159
158
158
158
106
105
105
157
158
160
161
162
111
112
168
169
118
120
173
175
124
125
125
126
126
127
179
182
183
130
129
128
129
129
171
144
134
128
132
74
143
123
63
37
0
99
13
76
63
74
64
68
65
54
0
62
53
47
0
0
13
34
84
25
0
0
67
132
70
23
13
64
54
0
41
7
9
59
56
57
10
11
12
9
18
2
65
61
15
52
71
35
147
217
195
195
197
201
176
217
227
255
255
228
255
255
231
154
10
10
1
40
37
51
25
0
72
1
29
11
60
0
0
0
45
44
2
15
13
0
43
0
0
51
0
2
52
0
6
55
49
64
63
0
39
46
61
41
55
25
51
121
73
112
169
164
163
161
107
108
111
112
112
113
114
166
167
169
169
170
169
116
115
166
166
166
165
165
164
112
112
111
163
110
161
160
160
159
159
107
107
158
106
157
156
104
104
105
105
105
106
158
158
106
159
159
108
108
160
107
159
106
105
104
104
102
154
102
102
102
102
102
102
154
154
154
155
103
103
155
155
155
155
155
103
155
103
103
154
153
100
151
151
133
81
82
85
138
139
87
89
141
141
142
143
143
143
145
93
93
94
95
95
95
147
147
97
149
150
151
151
152
100
101
102
155
156
156
156
156
157
157
157
157
158
158
158
158
106
106
158
158
160
159
159
159
106
158
106
106
158
158
158
106
106
106
107
108
110
163
165
114
115
119
172
173
174
175
124
127
179
179
127
127
180
128
185
184
182
130
181
130
132
133
115
133
207
127
17
105
106
79
99
174
76
0
115
82
85
117
17
6
37
29
33
49
53
0
0
12
5
62
18
1
7
76
120
105
57
38
62
0
52
54
54
54
55
58
61
9
9
9
17
1
7
55
44
58
63
93
65
255
211
191
229
255
255
171
186
223
220
219
221
205
255
255
169
9
0
20
75
12
6
2
0
4
5
11
0
9
69
61
5
11
8
12
0
5
1
44
1
0
0
42
41
0
0
6
0
0
44
45
51
48
0
0
0
53
0
3
16
23
48
70
138
151
165
118
112
166
166
114
115
115
115
115
170
118
119
118
117
116
114
114
114
113
113
164
112
164
164
163
111
110
109
160
160
160
108
159
159
159
106
106
106
106
158
106
106
106
106
106
158
107
107
160
160
160
160
160
160
107
159
107
157
105
104
104
103
154
154
102
102
102
102
154
154
102
104
156
156
156
104
104
156
155
155
155
154
152
152
151
133
81
134
85
138
139
87
141
141
141
90
143
143
91
93
93
93
94
147
147
95
95
95
97
149
150
99
151
99
99
101
102
154
155
155
157
105
157
157
105
157
157
157
157
105
157
105
105
157
159
159
158
158
106
105
157
157
157
158
106
107
107
107
160
110
164
166
168
117
170
174
123
123
176
125
125
126
178
127
128
129
182
183
136
187
185
184
183
185
187
144
180
110
0
50
33
28
57
0
70
126
101
42
50
42
163
0
57
64
59
0
12
7
2
0
0
12
21
98
46
1
70
104
131
110
88
81
32
4
0
11
0
55
58
9
12
11
13
15
86
67
38
42
29
12
85
78
58
230
229
197
253
203
175
206
159
226
215
228
204
225
255
255
34
5
17
19
52
65
52
73
77
48
41
54
56
50
6
7
60
70
4
4
17
13
62
5
0
0
0
0
41
41
47
0
0
10
2
49
55
64
18
3
0
37
0
55
53
0
43
26
73
154
116
170
163
168
168
116
168
116
168
168
118
119
171
171
118
117
166
114
114
113
165
164
112
113
113
112
163
110
110
161
161
161
160
160
108
107
159
107
159
158
158
157
157
156
106
158
158
159
107
160
160
109
109
109
161
161
161
109
107
107
158
157
104
155
103
105
156
156
104
103
102
154
155
155
155
155
155
155
103
105
157
156
156
154
153
153
81
81
82
85
86
139
139
141
141
141
142
143
143
143
145
93
145
146
147
147
147
95
95
149
97
98
151
99
99
151
101
101
102
103
155
156
104
104
104
155
103
103
157
157
157
105
105
105
105
159
159
106
158
157
105
105
105
105
158
158
159
107
107
160
110
112
166
168
118
119
175
123
176
176
177
178
177
126
179
180
130
131
184
137
188
134
133
184
134
136
146
172
148
85
0
37
77
70
26
72
144
120
6
0
106
156
45
64
44
8
46
3
0
46
10
12
55
72
121
69
0
54
72
129
112
125
22
5
14
0
134
0
8
9
10
11
64
69
21
8
9
50
44
27
54
61
77
31
229
217
204
189
200
161
217
151
227
214
228
200
255
228
216
58
41
4
61
65
64
52
66
76
57
3
0
61
56
6
2
48
1
79
13
3
0
1
21
19
8
0
0
39
0
8
15
0
5
7
0
0
7
75
59
42
41
0
0
41
0
8
119
119
125
168
168
118
168
168
168
168
168
116
168
170
119
119
171
170
117
114
114
114
113
165
164
164
113
113
112
163
111
110
109
161
161
161
160
160
159
107
107
158
158
106
105
156
156
158
106
106
159
159
160
108
161
161
109
161
161
109
161
108
107
106
106
105
103
155
157
157
157
156
103
103
102
154
102
102
102
102
154
154
106
158
157
156
155
154
154
134
82
83
85
85
86
86
140
88
141
90
143
144
144
146
146
146
147
148
148
148
97
97
98
98
99
99
99
151
99
101
101
102
155
155
104
104
105
105
105
106
106
157
157
157
105
105
105
105
105
157
105
157
157
105
105
104
157
105
105
106
158
158
161
164
167
170
121
123
125
125
177
125
126
178
178
178
179
180
182
131
185
186
137
138
194
142
142
141
190
167
183
161
79
6
106
31
10
0
30
26
26
26
0
94
62
55
93
25
10
52
50
46
50
47
38
55
54
71
141
94
62
63
118
125
65
18
14
73
54
21
0
0
15
14
59
15
67
19
14
48
50
43
75
61
81
32
53
255
255
204
234
255
116
127
229
216
229
219
255
200
220
255
5
1
52
59
63
52
74
6
50
55
52
0
0
12
61
50
52
12
0
74
35
19
15
12
1
0
0
41
0
1
0
37
32
6
19
12
1
0
46
55
40
43
0
0
0
0
0
7
63
35
131
147
155
162
109
109
116
168
114
118
118
171
171
170
116
115
115
115
115
166
166
114
165
165
165
112
111
111
110
109
161
161
109
160
160
159
107
107
107
107
158
158
105
157
158
158
105
105
158
160
109
161
162
163
164
164
111
163
163
111
111
110
110
109
109
158
157
157
157
104
104
104
155
155
155
155
103
103
103
154
154
154
153
101
152
100
83
83
84
85
86
87
87
88
88
89
142
143
92
144
146
146
146
147
96
148
96
97
97
98
98
99
99
99
151
99
153
153
102
103
155
103
103
104
104
105
105
105
104
156
156
104
104
104
104
105
157
157
157
157
157
105
104
105
105
106
107
107
108
163
166
169
172
175
177
127
126
178
179
128
128
129
183
183
184
185
135
188
189
138
140
143
144
142
142
139
184
163
92
82
74
47
0
53
131
100
100
43
0
21
211
225
99
22
64
64
45
55
45
49
60
8
9
74
63
45
136
77
51
132
45
5
6
8
63
63
10
16
26
69
61
61
7
4
7
60
49
47
52
76
77
58
90
166
255
240
255
234
245
98
174
198
221
199
255
255
255
255
255
81
16
0
16
6
14
0
4
3
60
79
53
15
5
52
62
67
11
14
5
0
0
44
43
49
12
0
0
0
46
47
34
0
1
5
46
42
48
1
61
63
2
46
0
0
45
45
59
1
60
87
60
148
123
122
169
117
113
162
164
118
170
170
170
169
167
116
116
115
115
115
166
166
165
113
112
163
163
110
109
109
161
161
108
108
107
159
107
159
159
106
158
105
105
159
158
106
105
106
108
109
163
164
113
166
115
115
114
167
115
167
167
114
165
113
112
164
163
162
109
109
108
106
106
158
158
157
105
105
105
105
105
104
155
155
103
83
83
136
86
86
87
87
88
88
89
142
143
92
144
146
146
146
147
148
148
96
97
97
98
150
151
99
99
99
151
153
101
102
155
103
103
155
104
156
156
157
105
104
104
156
156
156
104
104
157
157
157
105
157
157
157
156
105
106
159
160
108
109
113
115
118
173
124
127
180
179
179
180
181
130
183
185
134
134
187
137
190
190
138
192
143
144
195
193
139
187
118
87
20
134
65
143
135
187
180
163
123
40
100
214
225
184
91
104
40
46
56
45
0
3
5
52
67
7
0
111
95
59
53
33
20
24
17
64
66
0
59
13
1
2
65
9
24
46
65
43
54
79
70
85
48
93
246
255
228
255
201
231
139
202
255
225
214
160
252
255
112
116
110
19
9
1
0
13
6
13
58
51
13
59
78
66
54
59
10
5
0
0
8
12
52
48
8
7
0
0
0
0
4
0
0
5
65
57
53
59
12
48
65
60
2
52
0
0
42
56
0
4
16
31
121
107
113
163
166
166
113
116
117
170
170
170
117
116
116
116
116
115
115
167
114
165
113
112
163
163
110
161
109
161
161
108
108
159
107
107
159
159
106
106
157
157
159
158
106
106
107
110
111
112
165
166
168
117
169
168
117
169
169
117
116
116
167
115
166
114
113
111
110
162
108
160
108
159
158
106
106
105
105
105
105
104
156
103
136
136
85
138
139
88
88
88
88
89
90
91
92
92
94
94
94
95
148
96
148
149
149
150
98
99
151
151
99
151
153
101
154
103
155
154
102
103
155
156
104
104
155
155
155
155
103
103
103
157
157
157
157
157
157
105
156
157
106
160
109
110
162
115
117
172
175
126
129
182
180
129
130
131
133
185
189
190
190
191
140
140
141
192
194
144
145
144
194
140
81
52
47
68
104
48
149
88
26
26
21
128
121
88
255
221
168
125
103
35
49
70
65
1
0
53
43
55
24
0
9
45
66
0
22
9
10
10
10
65
66
65
13
20
21
9
37
58
50
36
40
73
70
63
64
69
222
235
248
242
237
246
116
149
218
212
229
215
181
255
249
255
214
17
44
4
0
4
13
45
38
45
55
62
7
5
10
59
55
2
6
44
56
45
43
33
0
14
61
0
42
37
0
0
29
36
76
84
15
45
34
30
45
46
1
4
0
0
41
40
0
0
4
54
0
28
113
126
122
172
167
110
108
116
169
170
170
170
169
169
117
116
116
116
115
115
165
165
164
163
163
162
161
109
109
109
108
108
159
159
159
107
159
158
106
157
157
157
105
158
108
110
116
117
118
171
173
123
124
125
177
126
178
178
178
177
124
176
175
123
174
121
118
117
117
169
168
116
115
165
165
112
163
110
110
110
109
109
160
137
85
86
139
140
89
141
141
89
90
91
92
145
93
146
94
94
95
148
148
148
149
97
98
98
151
99
151
99
151
152
152
101
101
153
153
101
102
154
155
103
103
103
155
155
155
155
103
103
104
104
156
104
104
156
104
105
157
158
160
162
164
165
169
173
176
178
179
129
183
182
183
133
135
136
189
193
193
193
194
194
194
143
192
145
145
143
200
142
132
123
74
33
135
54
26
44
33
26
26
0
55
26
27
190
217
229
124
86
73
26
4
0
22
0
32
57
5
69
48
7
6
30
20
8
70
50
62
55
59
45
49
6
0
0
91
75
29
42
44
25
69
17
7
107
254
199
255
255
232
207
233
218
229
255
229
193
229
229
211
255
122
0
0
39
15
11
1
52
58
60
6
3
2
57
0
4
44
2
14
5
56
46
58
67
65
0
0
0
4
55
34
0
0
0
44
47
42
37
44
60
75
49
56
10
59
3
1
0
47
0
47
43
0
0
3
64
157
169
165
166
118
113
167
167
168
168
169
117
169
117
117
117
116
114
113
112
164
164
163
163
162
110
110
162
110
109
161
108
160
159
107
158
157
105
106
107
108
109
163
115
118
176
177
181
130
130
131
132
133
134
187
186
134
134
185
185
133
131
183
182
128
126
177
124
126
125
176
175
173
172
120
169
169
168
167
113
112
112
137
137
86
139
140
141
89
89
141
90
91
92
93
93
94
94
94
95
148
148
148
97
149
150
98
151
151
151
151
151
152
152
153
153
153
101
101
154
154
155
155
155
103
103
103
103
155
103
103
104
104
104
104
104
104
104
105
105
158
108
110
112
114
171
175
126
180
181
131
133
184
185
187
136
138
191
195
195
195
195
196
196
197
199
157
198
150
141
134
142
132
52
0
56
0
3
126
124
96
0
0
48
134
142
212
220
229
199
42
45
0
0
0
1
78
56
49
57
59
3
11
13
0
41
65
70
95
60
64
64
69
97
76
86
70
84
93
42
18
76
65
71
45
96
205
205
255
226
198
216
173
202
222
218
223
216
248
203
187
96
102
0
27
9
0
0
39
36
42
54
54
52
51
0
13
3
59
55
8
8
44
46
53
0
0
52
42
0
4
16
13
0
0
0
44
42
0
63
25
73
51
30
57
0
0
54
56
0
0
41
39
38
40
0
0
0
53
92
88
164
165
112
164
114
167
167
167
168
168
169
169
117
117
117
167
114
112
112
164
164
163
111
111
162
162
110
162
161
161
160
109
161
160
108
109
162
164
167
117
171
174
177
182
184
135
136
136
189
190
139
191
192
140
139
191
139
138
138
190
189
188
135
133
184
132
129
181
180
179
177
176
175
123
123
174
120
170
169
169
137
137
138
139
140
141
89
89
141
90
91
92
145
93
146
94
94
95
148
148
148
149
97
98
98
151
151
151
151
99
152
152
101
153
101
101
101
102
154
155
103
155
103
103
103
103
155
103
155
104
104
104
104
104
104
104
104
105
158
160
162
113
114
173
177
128
181
183
185
186
186
187
188
190
140
141
196
144
145
197
197
146
146
187
148
140
203
195
146
209
55
50
99
76
43
87
147
157
121
44
0
88
197
79
255
224
229
229
141
23
9
45
27
43
36
36
38
70
63
73
11
61
45
97
79
75
73
86
129
103
138
130
74
102
79
46
81
57
69
57
92
50
78
216
180
222
240
232
203
201
213
255
229
218
210
192
211
223
93
42
64
69
49
38
0
0
0
50
58
64
7
2
0
48
8
2
59
4
4
1
41
0
44
72
21
60
52
80
11
11
3
0
0
0
50
45
0
0
54
53
49
45
56
41
47
54
61
58
0
0
41
42
0
0
0
0
0
69
53
135
155
116
170
114
166
166
115
115
167
168
169
117
117
117
116
114
113
165
164
112
112
111
111
111
111
162
162
110
109
161
109
108
160
161
162
164
115
171
172
122
177
180
185
134
137
190
190
139
140
193
141
194
141
141
193
140
140
192
140
139
191
138
136
187
187
184
184
131
182
180
127
178
125
125
176
174
171
170
170
137
85
86
139
140
89
141
89
141
142
143
92
93
145
146
146
94
95
148
148
148
149
97
98
98
99
99
99
151
151
100
152
153
101
153
101
101
102
102
103
155
155
155
155
155
155
103
103
103
104
104
104
104
104
104
104
103
104
106
108
163
114
167
176
128
183
184
134
188
190
189
138
192
193
143
144
147
147
200
200
149
149
149
193
142
148
200
205
161
175
75
104
21
0
54
115
117
89
26
0
0
0
26
46
255
229
255
255
255
222
27
46
97
82
66
4
0
0
0
24
17
74
36
0
50
5
86
68
39
44
10
23
9
17
28
30
67
68
18
29
143
255
226
189
242
237
255
243
200
221
255
255
209
192
227
219
140
65
105
229
134
26
0
10
48
0
0
35
0
2
53
4
3
51
45
47
0
0
0
0
0
0
41
4
7
55
45
62
45
56
1
0
0
0
44
51
46
46
49
0
0
51
21
11
59
0
0
54
51
0
0
0
0
47
40
34
58
69
16
32
73
156
105
112
112
113
113
113
166
166
114
167
116
116
115
114
166
113
165
165
112
164
164
112
111
163
163
162
162
110
110
162
111
165
115
170
123
126
179
129
183
186
190
191
141
141
194
142
143
196
197
196
196
196
195
143
194
194
193
141
141
140
139
191
191
191
138
189
188
186
133
185
129
128
179
177
173
172
171
137
85
86
139
88
89
89
141
141
142
91
144
145
145
146
146
94
95
148
148
148
149
149
98
98
99
151
99
99
151
100
100
153
153
153
101
101
102
102
103
155
155
155
155
103
155
155
103
103
104
104
104
104
156
156
104
103
156
106
108
111
114
168
126
130
185
134
188
190
191
191
192
193
195
145
198
201
149
150
202
202
203
203
205
189
160
191
208
163
66
113
66
2
23
60
74
65
26
55
95
77
108
0
88
255
255
255
255
172
120
62
66
82
87
8
23
31
0
13
0
0
3
2
6
76
19
55
77
78
78
25
52
42
72
75
69
77
92
116
227
229
218
195
195
216
252
229
207
255
255
255
255
195
228
202
172
255
174
110
0
0
69
0
0
12
0
0
0
0
0
52
58
3
0
0
37
39
1
56
56
11
52
53
54
61
66
44
38
53
5
0
47
43
0
53
41
56
5
2
1
4
59
57
47
0
0
0
3
52
48
0
0
44
44
42
42
45
40
0
55
86
126
99
163
163
112
112
113
165
112
164
165
166
114
114
165
166
114
114
165
113
164
164
112
164
112
163
163
162
162
116
116
118
172
176
127
185
186
135
188
190
141
197
197
146
147
147
200
201
202
203
149
201
201
201
200
148
147
197
197
197
145
196
196
196
142
142
193
192
138
189
188
135
134
133
183
178
177
176
138
86
87
88
141
142
90
90
142
143
144
145
146
146
147
147
95
96
149
97
97
98
98
151
99
100
100
100
100
100
101
101
102
154
154
154
154
103
103
156
156
104
155
155
103
155
155
103
155
156
156
103
103
154
154
154
101
103
156
106
161
166
118
125
181
132
134
135
137
139
141
195
144
146
199
148
149
201
202
150
151
204
205
208
206
154
134
139
202
72
93
57
26
21
53
110
0
0
146
108
153
158
64
55
218
215
226
255
200
86
37
38
108
58
52
91
36
59
51
34
53
54
9
11
0
0
33
135
161
80
87
40
89
7
32
63
134
226
228
219
191
204
255
245
199
171
255
255
255
254
223
255
255
218
210
164
204
111
64
0
3
60
59
45
0
1
6
0
1
0
2
13
8
0
0
0
51
57
58
16
38
50
61
58
66
55
38
44
73
53
49
47
0
0
31
32
52
0
0
0
1
0
0
46
51
1
50
0
0
46
38
37
42
0
0
0
12
1
0
2
26
38
48
162
178
125
114
170
122
164
166
115
168
165
163
110
109
161
109
109
161
109
109
159
108
108
158
105
106
110
117
119
122
127
182
133
188
194
145
146
148
202
204
204
199
147
147
199
199
147
147
148
148
199
147
146
146
146
148
148
199
199
198
146
198
195
195
142
142
141
193
141
190
189
135
185
128
127
178
138
138
139
88
89
142
90
90
91
143
145
146
146
147
147
96
96
149
149
97
149
98
150
99
151
100
100
100
152
100
101
153
154
154
154
154
154
103
103
104
104
104
155
155
155
155
155
155
155
104
103
103
154
102
102
154
153
155
156
106
110
167
119
179
131
134
135
137
139
140
143
144
145
147
149
150
150
202
203
204
153
205
206
162
198
215
146
139
166
140
143
26
78
59
49
21
69
0
26
26
26
0
0
61
213
223
226
255
229
171
99
26
53
73
55
64
69
26
86
61
58
34
24
50
41
95
149
177
145
125
185
137
140
179
205
217
198
195
228
207
220
206
191
192
196
255
255
255
227
253
255
212
255
203
192
216
134
32
48
11
55
61
56
51
59
4
0
0
0
52
0
0
0
0
0
0
0
50
54
52
4
47
5
18
51
42
48
51
44
48
53
5
59
52
44
43
49
43
38
0
0
0
0
1
1
0
44
0
11
3
0
0
0
0
0
0
40
0
0
18
6
4
29
142
152
154
167
169
163
163
161
109
160
109
160
109
110
162
110
162
162
162
110
110
111
112
164
164
114
120
124
126
181
133
136
190
194
199
147
200
202
203
205
154
204
152
152
152
204
152
204
206
206
206
153
153
204
152
153
205
153
204
203
151
203
200
200
148
148
199
198
146
196
195
141
138
184
182
180
138
86
87
140
141
142
90
91
143
144
146
94
95
147
96
96
149
97
150
98
98
98
150
99
99
100
100
152
152
100
153
153
154
154
154
154
154
155
155
104
104
104
103
103
155
103
103
155
155
155
154
102
102
101
153
101
153
103
105
159
112
117
173
181
185
136
138
139
141
143
145
146
148
149
151
204
205
153
153
154
155
208
208
200
205
155
118
90
46
59
111
0
0
0
0
0
21
39
52
24
0
0
0
0
161
215
45
63
58
0
10
71
0
66
61
7
4
86
38
49
46
38
72
26
134
228
246
239
193
219
223
255
255
248
255
228
194
196
193
225
211
206
213
227
224
217
255
255
255
255
212
209
170
190
255
225
0
0
6
13
0
53
50
56
16
10
43
0
0
59
3
0
0
0
0
3
0
1
56
56
58
11
0
0
43
57
63
46
48
1
0
46
47
43
36
47
48
43
41
0
4
0
0
41
0
0
44
42
44
0
0
0
0
39
37
35
52
0
0
37
50
45
30
28
90
105
138
146
141
104
105
158
109
112
165
163
163
111
111
163
111
163
163
162
164
115
117
170
174
129
132
133
136
191
142
144
145
199
200
198
199
199
201
149
209
157
157
157
157
209
209
208
156
156
207
207
206
206
206
206
153
205
152
152
152
150
202
149
149
200
200
148
150
201
199
196
138
136
187
138
138
139
140
89
90
90
91
92
144
146
147
147
148
97
97
97
150
150
150
151
98
98
99
151
100
152
152
100
152
101
153
154
154
154
154
154
103
103
156
156
104
103
103
155
103
103
103
155
154
102
102
101
101
153
100
101
155
105
160
164
170
122
130
186
137
139
140
142
144
146
199
201
151
204
205
206
206
207
207
156
157
158
211
188
174
126
10
57
76
49
17
0
0
0
59
62
88
52
25
0
0
19
36
255
226
161
42
88
93
67
58
0
10
36
20
58
76
41
57
32
26
44
84
157
206
255
255
228
200
203
219
202
241
236
199
202
207
228
247
207
197
247
216
255
255
227
228
255
232
203
218
157
255
255
184
3
27
67
51
49
49
48
4
12
60
49
47
0
0
0
0
0
0
39
46
45
0
45
47
54
0
0
2
0
53
54
45
45
3
0
49
54
56
51
51
54
47
0
0
2
0
0
0
0
47
49
50
52
2
48
45
0
41
39
37
45
41
0
29
36
45
49
41
45
8
93
116
77
94
142
139
91
150
106
111
110
162
110
110
162
162
162
111
166
117
171
174
178
137
138
137
140
195
146
148
200
201
201
147
148
148
201
149
211
211
211
159
159
211
159
158
158
158
157
157
208
208
154
154
205
153
152
204
152
202
202
150
150
149
148
200
203
202
200
198
141
191
190
138
86
139
140
141
142
90
92
92
145
146
147
96
148
149
149
149
150
151
151
151
98
98
99
99
100
100
100
152
152
101
153
102
154
154
154
154
155
103
156
156
104
103
103
103
103
103
103
155
102
102
153
101
152
152
152
101
103
157
160
165
119
123
184
188
190
192
141
196
197
148
201
202
204
205
207
207
207
208
209
158
158
159
200
166
144
68
0
119
38
72
137
43
77
126
146
34
1
0
0
13
71
0
89
255
226
255
47
107
29
0
18
47
9
61
0
69
49
40
13
25
20
76
72
202
179
199
195
255
209
209
215
250
249
197
191
201
217
220
255
192
215
228
213
229
212
242
229
205
255
221
244
166
222
185
0
184
51
10
3
4
0
0
4
50
49
56
49
48
0
0
0
0
0
8
0
43
49
43
41
53
46
65
49
56
53
42
44
0
4
0
41
44
43
35
39
3
49
44
0
7
1
52
0
0
0
0
45
0
11
17
63
47
36
40
48
53
53
0
0
50
55
0
33
38
1
61
23
38
45
53
69
87
155
162
160
108
160
160
108
160
161
161
167
172
176
179
183
188
198
201
202
153
154
156
210
209
157
209
156
156
209
155
155
211
211
211
211
159
159
159
162
162
214
162
161
212
212
209
156
208
156
155
207
206
206
153
153
205
204
152
203
150
149
200
147
197
144
195
86
138
139
141
141
142
90
144
92
93
94
95
148
148
150
150
150
151
152
152
152
152
100
100
100
100
152
100
153
153
102
102
103
155
155
102
154
154
155
155
155
103
102
102
102
102
154
154
102
103
155
154
154
153
153
153
100
102
156
107
165
173
178
186
190
194
195
144
197
146
202
203
204
153
206
207
210
158
159
160
213
213
214
160
159
130
125
60
68
147
5
0
174
143
100
37
80
46
0
0
0
0
4
194
255
116
0
14
4
13
0
52
14
0
8
12
52
26
45
16
32
0
21
176
255
224
217
255
255
255
222
255
255
255
228
195
255
255
199
173
213
224
228
228
244
205
255
231
229
255
202
255
255
212
204
99
39
0
0
20
10
0
0
0
51
53
46
49
48
0
0
0
0
0
0
9
5
0
37
51
19
54
54
53
58
2
0
0
4
5
57
54
59
57
15
5
0
0
0
0
0
0
0
0
3
51
0
0
0
0
0
51
51
44
34
0
0
0
0
0
0
44
0
0
37
0
59
15
27
119
78
96
100
92
139
141
143
89
143
146
98
98
89
131
99
177
189
195
204
190
141
206
212
155
206
215
214
204
204
151
158
172
165
157
153
163
155
202
163
213
218
163
164
161
160
163
211
208
211
159
210
210
209
157
157
154
154
206
153
205
152
152
152
204
203
150
147
146
198
138
87
87
141
90
90
91
92
144
145
94
95
96
148
150
150
150
151
152
152
152
152
152
152
152
100
100
100
101
153
154
102
103
103
155
153
101
102
103
103
156
156
155
154
154
102
102
154
154
103
103
102
154
153
153
153
152
102
104
107
113
173
126
186
191
194
196
197
198
147
203
203
205
206
207
208
158
159
211
212
161
162
214
161
233
131
194
113
87
74
72
136
130
16
0
0
59
110
32
0
0
0
48
199
255
123
80
8
38
97
31
4
6
1
51
55
0
0
40
1
0
6
48
200
255
255
255
255
255
255
255
255
255
213
255
255
191
205
201
183
222
220
171
255
255
229
208
236
223
124
182
255
255
112
241
28
114
0
25
42
56
46
44
0
0
52
50
0
0
0
0
0
0
43
16
8
5
54
49
56
72
67
60
48
2
55
53
58
74
58
48
0
0
36
0
0
45
51
1
51
0
0
0
45
0
0
0
0
0
5
2
47
48
49
47
0
0
0
3
5
0
0
36
0
0
42
0
61
77
101
39
33
93
108
68
69
124
81
84
126
62
118
84
185
180
188
199
191
185
211
164
206
207
166
217
205
212
219
230
171
166
170
155
179
158
206
222
172
204
216
147
163
157
163
168
162
213
210
212
160
211
211
210
210
209
155
155
206
154
205
153
153
152
204
151
150
200
147
147
139
87
88
90
90
91
143
144
144
145
94
95
96
148
150
150
150
151
100
100
152
153
153
153
153
153
101
153
101
101
154
102
155
155
155
153
102
155
156
105
106
158
158
103
102
153
154
155
155
103
103
102
154
153
153
153
152
102
104
107
113
173
178
134
192
196
146
199
201
202
205
206
207
208
157
210
159
159
160
161
162
214
215
168
217
220
164
127
141
26
0
146
63
4
43
46
42
139
131
105
26
26
39
187
212
200
139
37
22
0
17
50
8
52
17
19
27
15
40
54
26
76
64
255
255
255
255
255
207
255
255
226
255
228
255
255
244
252
255
255
248
219
255
156
210
221
252
229
188
44
96
132
73
107
48
33
0
64
14
46
50
49
50
0
0
0
50
0
0
0
0
50
52
51
0
3
59
47
49
54
49
0
53
41
36
35
41
3
0
0
51
51
0
0
0
0
45
45
0
0
0
0
0
0
44
0
3
0
0
0
7
11
15
60
46
0
0
0
0
0
0
0
42
0
0
35
0
0
54
59
18
30
49
123
122
52
16
104
87
153
152
148
92
21
87
123
160
178
134
149
158
213
188
106
124
216
147
122
104
53
64
64
148
245
183
206
199
199
225
151
210
217
206
154
210
204
207
152
160
212
213
214
212
159
210
156
156
208
208
155
207
206
152
152
151
151
149
149
148
88
140
89
90
91
92
92
92
144
145
94
95
148
96
98
98
98
99
100
100
100
154
102
154
154
154
102
102
153
153
102
154
155
155
155
103
103
105
159
160
161
161
161
156
102
101
154
103
104
103
103
102
102
101
153
153
152
102
104
107
113
121
126
135
141
197
199
149
151
204
207
208
209
158
159
212
212
160
161
161
162
163
216
223
217
133
106
90
66
68
75
102
34
66
71
81
0
0
0
26
76
26
56
26
186
179
67
22
0
0
0
49
8
30
36
9
48
14
16
48
5
0
227
255
250
255
255
255
218
255
255
186
220
177
242
206
248
244
255
255
255
255
255
255
248
255
255
127
100
0
18
63
50
49
51
17
62
46
42
62
43
49
46
0
47
0
51
46
47
48
50
51
52
51
71
47
50
51
59
6
0
0
0
74
68
47
34
0
0
0
37
41
0
0
0
0
0
0
0
51
0
3
0
1
49
46
0
0
0
2
0
0
0
0
47
0
0
0
0
0
0
0
9
43
0
43
45
72
76
26
33
28
35
6
16
17
0
71
28
63
0
7
30
94
148
109
181
146
192
53
15
51
61
30
10
77
90
103
112
127
126
53
58
131
225
233
165
124
160
99
217
107
186
185
127
146
148
156
158
211
161
162
212
210
156
158
210
157
209
208
208
156
152
152
151
151
150
150
150
140
88
89
142
143
92
92
92
144
145
94
95
148
96
150
150
150
99
152
100
100
154
154
102
102
102
102
102
101
153
102
154
155
103
103
103
104
106
160
161
162
110
109
156
102
101
154
155
156
155
155
102
102
101
101
101
152
154
156
107
165
121
178
187
193
145
200
201
203
205
207
208
209
211
212
161
160
212
161
162
162
215
164
162
225
162
119
84
58
66
91
78
137
106
44
118
0
42
23
75
120
100
3
0
52
93
79
103
29
26
31
0
10
16
12
66
48
61
0
58
63
31
246
255
229
201
220
211
226
204
255
255
208
249
255
207
232
246
255
249
255
246
255
255
218
255
187
168
72
52
53
0
18
66
56
6
47
50
49
44
47
54
48
1
45
36
45
46
47
48
49
49
49
47
58
0
2
30
0
0
8
14
14
49
44
0
0
0
73
51
49
48
51
38
0
0
0
0
0
41
38
0
0
59
50
39
0
0
50
47
38
30
35
0
0
0
0
0
0
0
0
4
14
48
54
0
0
64
61
31
46
0
50
65
59
48
56
9
58
58
24
49
108
126
150
154
123
47
57
60
35
11
18
49
103
76
61
115
101
70
14
47
87
108
77
95
92
126
120
47
35
12
79
152
91
106
124
158
158
211
161
214
212
157
155
210
210
158
157
208
208
156
204
152
151
203
151
151
150
140
88
141
142
143
92
92
145
145
146
95
96
97
97
150
150
150
99
100
100
100
100
152
153
101
154
154
154
100
100
101
101
154
154
102
102
102
104
157
158
158
159
104
104
103
103
154
154
154
102
154
102
154
154
154
154
99
101
157
109
113
120
128
135
140
196
199
202
205
207
209
210
159
160
212
213
214
163
163
164
165
218
218
236
214
179
184
137
81
74
82
20
26
16
0
0
15
26
117
89
20
0
26
31
0
26
51
94
0
28
42
0
0
48
0
0
69
78
38
40
44
216
255
255
255
208
186
229
209
220
156
212
255
228
214
255
250
255
245
255
255
255
255
235
162
160
145
111
20
58
62
7
0
54
5
56
54
4
54
0
53
50
49
48
44
47
51
47
48
43
43
47
51
55
0
0
0
38
0
49
47
0
4
5
52
45
37
36
0
0
47
53
43
35
44
46
52
0
0
0
53
0
1
62
68
0
0
0
49
49
40
36
0
0
0
40
33
0
0
0
34
36
42
0
0
0
30
32
30
44
0
0
31
31
0
57
54
60
73
21
2
35
32
0
0
9
65
78
41
62
54
16
33
82
69
67
0
15
50
110
92
85
15
0
26
57
86
85
73
24
12
91
65
95
29
38
198
130
144
104
46
78
141
165
197
211
179
106
102
139
149
125
158
162
163
215
200
148
160
88
140
89
142
91
92
92
93
145
146
95
96
97
97
150
98
150
151
152
100
152
100
152
153
101
102
102
154
153
101
102
102
154
155
155
102
102
103
155
104
104
156
156
104
103
103
102
154
102
154
154
102
102
154
102
102
101
103
159
111
114
120
127
188
141
145
200
202
205
207
210
211
211
160
161
214
216
165
217
166
219
220
168
218
221
192
210
213
174
140
135
87
142
64
67
0
82
41
26
0
4
0
54
40
7
12
47
96
98
41
11
27
0
35
48
64
0
0
50
69
80
250
255
241
255
255
255
218
229
187
229
202
205
245
207
209
218
255
255
255
255
245
247
203
130
17
4
0
0
6
46
48
10
0
0
54
56
56
53
0
52
52
53
53
51
0
0
61
54
6
12
59
46
0
0
0
0
0
0
54
53
0
12
0
41
57
57
48
0
0
48
47
43
42
48
51
59
52
0
0
49
53
49
61
9
0
47
51
53
49
0
0
0
0
0
33
52
5
5
3
48
42
45
0
0
0
51
79
28
0
28
43
53
53
50
43
32
31
26
26
0
45
70
8
26
40
82
57
43
22
0
33
42
56
0
0
27
102
36
36
53
100
43
47
56
39
39
5
23
11
0
42
87
0
0
33
11
27
71
7
12
33
30
98
71
80
138
230
185
159
150
167
157
222
227
221
198
190
193
140
140
141
142
143
92
92
93
93
146
95
96
97
97
98
150
150
99
100
100
152
152
152
153
101
102
154
102
153
101
154
154
103
155
155
154
103
103
103
156
104
104
104
104
155
155
154
154
154
154
154
102
102
102
102
102
154
156
161
164
115
172
127
136
140
196
147
202
205
207
158
159
212
213
213
162
166
218
218
167
168
169
169
238
219
220
231
199
176
175
164
83
148
0
111
18
57
7
3
106
37
8
33
0
0
20
2
70
83
13
2
77
46
23
36
57
88
0
23
25
111
255
255
255
255
255
251
255
255
255
204
152
223
240
255
255
249
214
209
190
255
254
193
137
43
0
0
0
10
51
42
49
9
1
0
0
53
55
54
54
53
52
0
8
7
49
40
17
7
0
47
44
0
0
0
0
0
45
0
0
0
46
51
40
54
65
61
49
57
45
45
45
45
45
42
40
48
42
0
43
43
50
44
41
41
39
43
0
0
54
0
0
0
0
0
0
50
40
34
37
39
42
0
0
0
0
0
54
44
47
0
0
0
49
49
0
0
31
40
7
42
95
58
0
29
50
81
74
42
45
0
39
56
26
19
4
54
9
72
87
35
5
0
0
1
72
33
16
0
0
0
60
44
3
0
73
41
71
14
99
109
41
66
115
38
100
59
44
83
35
31
96
37
122
149
168
215
210
195
88
140
141
142
91
92
92
145
93
94
95
96
149
97
150
150
150
99
100
100
152
152
100
153
101
102
154
102
102
154
155
155
103
156
104
105
156
104
104
156
104
104
156
156
155
155
154
154
102
102
102
102
102
102
154
154
156
159
164
166
116
172
126
134
191
143
145
200
151
205
211
160
160
161
214
163
220
220
220
169
170
223
223
180
213
231
180
174
214
125
62
37
59
86
0
102
45
26
62
48
117
0
0
43
0
8
95
55
10
70
5
41
21
67
0
0
12
45
115
230
255
255
179
255
255
255
229
235
187
219
217
201
191
133
201
205
246
255
205
224
190
202
210
52
63
0
0
0
0
47
56
8
9
53
0
0
8
7
57
59
3
8
64
10
10
57
51
0
0
71
62
45
38
0
0
50
42
0
0
0
41
39
47
41
48
50
43
36
60
51
51
43
44
45
35
0
0
50
64
62
55
65
63
59
51
46
2
3
0
54
46
47
1
0
0
0
34
38
45
1
49
38
33
0
0
11
15
57
0
0
0
4
70
72
19
63
26
31
15
58
54
13
53
71
35
48
35
45
1
40
0
40
0
41
59
74
90
28
0
0
0
0
0
0
0
48
0
49
56
74
57
31
60
52
86
45
49
45
8
13
8
2
0
50
6
39
0
33
100
11
8
0
0
47
1
63
72
65
65
141
141
141
90
143
91
91
94
94
146
147
96
148
148
97
97
149
150
151
151
151
151
151
153
101
102
103
103
102
102
155
155
104
104
104
105
105
106
106
107
159
159
106
158
157
157
156
104
156
155
156
157
105
106
159
159
159
161
164
168
171
121
123
183
135
139
193
197
200
151
208
159
162
163
164
217
221
221
221
222
170
171
223
168
223
163
170
150
202
71
100
26
67
135
42
100
26
26
26
27
0
0
12
28
0
0
28
5
0
70
26
5
12
44
99
20
8
76
169
218
255
246
255
229
222
250
255
255
208
229
184
214
150
204
168
215
211
229
216
216
218
201
240
153
14
55
53
53
51
50
1
3
57
55
0
0
0
56
61
58
57
58
72
56
63
67
48
59
47
56
3
0
0
1
47
44
0
0
0
0
40
47
0
77
5
0
55
65
39
42
37
44
0
0
5
2
0
42
39
0
0
44
50
43
46
0
0
26
46
0
42
0
0
0
40
45
32
35
45
0
49
45
30
35
39
48
8
5
46
0
0
1
55
3
5
54
0
18
67
0
0
0
0
0
57
62
84
78
58
0
0
0
0
0
0
0
0
40
0
53
43
0
1
69
56
52
0
0
0
42
67
84
19
9
12
18
5
0
69
49
46
0
0
0
0
0
0
0
70
28
81
11
0
63
11
69
11
0
48
141
141
142
142
91
91
91
94
94
94
95
96
148
96
149
149
149
150
151
151
151
151
151
153
101
102
103
103
102
154
155
103
156
104
104
105
105
158
158
107
159
159
106
158
157
105
157
156
156
103
104
157
106
106
107
159
159
161
112
116
171
121
123
183
134
138
140
196
200
151
208
211
162
163
164
165
169
169
169
170
170
171
223
223
223
222
232
218
183
68
44
0
0
43
23
104
50
50
89
84
63
38
25
60
58
0
2
4
26
0
57
47
42
3
76
59
13
107
218
218
226
197
219
254
219
217
215
255
211
204
211
202
178
245
132
211
255
247
218
214
229
215
241
132
0
0
1
0
49
0
0
54
56
52
0
0
0
53
60
8
50
53
66
55
7
69
59
58
45
0
57
49
0
46
43
43
40
41
41
0
46
37
38
18
47
40
60
75
47
44
39
48
0
0
0
0
0
48
0
0
4
10
0
50
63
0
58
0
0
44
43
0
0
38
38
43
40
48
55
49
0
0
0
40
37
37
39
35
32
0
0
0
26
26
0
0
0
26
0
0
0
0
0
26
105
61
26
26
0
0
0
0
33
0
0
0
21
0
15
21
4
35
30
37
0
0
26
0
1
48
45
7
4
5
10
68
63
6
52
46
5
10
2
14
12
63
0
48
55
45
42
28
0
0
0
0
0
0
64
142
142
142
143
91
92
92
94
94
94
95
96
96
96
149
149
149
150
151
151
151
151
151
153
153
102
155
155
103
103
156
104
104
105
105
106
106
107
107
159
160
108
107
106
158
158
105
157
105
104
157
106
159
108
108
161
160
163
165
168
171
173
174
180
184
187
138
141
197
200
154
210
213
214
215
165
221
221
169
170
170
171
223
227
170
161
207
170
156
157
87
36
5
40
37
0
96
51
61
21
34
26
156
41
85
0
0
38
88
20
48
54
25
14
54
0
207
209
193
168
255
255
227
215
229
255
255
255
212
168
169
139
229
255
249
178
205
248
255
161
161
164
99
34
4
16
51
0
0
0
1
52
51
51
0
3
0
0
3
57
52
46
53
55
50
58
68
55
48
0
0
8
55
44
0
38
41
37
0
0
5
4
46
0
0
54
56
44
44
40
44
54
1
0
0
1
41
0
0
0
0
0
14
0
47
0
0
0
0
33
33
38
0
40
43
0
0
8
62
52
44
0
43
0
49
41
0
31
0
0
29
0
0
0
0
51
37
31
0
0
0
27
0
64
26
51
26
26
0
0
0
13
16
60
71
64
88
28
37
16
0
26
32
45
29
0
0
0
62
80
44
74
22
14
51
39
0
0
41
33
0
38
0
0
31
63
52
52
51
47
52
0
0
0
32
38
0
0
53
143
143
91
92
92
92
93
94
94
94
95
96
96
96
149
149
149
150
151
151
99
151
151
153
101
102
103
155
104
104
156
105
105
157
158
107
159
159
108
160
160
161
160
107
107
158
106
106
106
158
159
108
109
161
110
162
110
112
166
169
119
121
174
127
183
186
189
140
144
199
152
157
212
213
215
218
221
221
169
170
222
171
171
180
186
181
217
217
184
149
63
108
23
27
45
0
57
54
52
26
40
26
40
51
2
0
0
26
50
68
55
52
63
54
83
108
191
255
229
173
206
255
212
218
171
210
173
169
183
140
255
218
179
175
255
248
199
206
233
133
209
230
10
0
1
4
50
49
0
1
53
2
55
3
0
0
0
0
1
46
61
52
0
56
48
44
48
0
0
0
0
0
2
4
46
40
43
0
0
0
2
0
0
0
44
0
0
0
48
44
0
1
0
0
0
30
0
0
0
0
0
56
85
0
13
1
0
0
0
46
44
50
0
0
0
47
52
3
0
41
36
33
0
73
55
0
0
0
0
0
39
45
52
0
3
65
0
0
35
32
47
2
0
47
0
55
22
54
129
34
45
42
49
39
26
0
0
7
18
62
57
12
49
65
63
62
54
46
0
21
35
22
28
29
73
71
62
46
0
38
39
0
0
48
48
47
49
51
55
0
0
0
52
13
4
4
6
42
59
143
91
91
144
92
93
93
94
94
94
95
96
96
96
149
149
149
150
151
151
99
151
151
101
153
154
155
103
156
104
105
157
157
106
158
159
107
108
160
108
161
109
160
159
107
159
106
106
106
107
108
160
109
110
111
111
163
164
115
117
171
121
122
127
131
186
137
140
144
147
152
208
159
213
215
218
221
221
221
222
222
223
223
240
181
173
220
204
156
166
46
46
56
40
1
0
24
31
47
0
26
26
35
26
77
4
0
0
2
13
75
46
0
0
153
255
219
212
229
202
206
219
255
255
255
223
255
224
229
192
194
189
255
190
182
243
255
255
190
151
212
200
8
0
0
7
0
51
55
53
0
3
59
52
47
50
0
0
0
0
0
0
0
4
0
0
0
46
43
0
0
0
0
0
47
38
45
46
42
0
53
44
0
0
0
0
42
50
0
0
4
2
0
45
39
33
35
39
38
0
0
41
0
0
0
0
48
0
0
0
0
0
52
46
0
0
0
0
0
0
0
49
60
62
45
0
0
0
0
10
0
38
35
31
0
51
0
3
46
0
2
0
26
0
0
3
57
50
0
38
0
34
64
50
0
26
97
74
16
0
52
20
49
11
0
0
56
79
105
85
15
0
5
7
52
53
59
43
56
64
62
1
2
0
47
50
52
1
5
52
43
41
0
0
0
35
0
46
56
90
90
142
143
92
92
92
94
146
94
95
96
96
96
96
148
149
150
151
152
100
101
153
103
103
156
157
105
105
105
106
158
159
107
107
159
107
108
160
109
161
161
109
161
109
109
109
109
161
110
110
163
111
112
164
164
114
168
170
118
172
174
176
181
183
133
135
138
194
145
202
207
210
213
215
217
223
224
224
224
224
224
225
239
233
183
173
159
160
118
84
42
26
0
109
26
22
2
42
26
97
0
112
47
31
0
21
24
0
46
4
6
65
105
234
242
255
187
220
182
191
221
226
255
255
187
255
208
150
225
195
255
205
244
255
255
255
255
199
228
118
0
0
0
49
0
0
0
0
52
8
10
53
61
61
50
48
2
44
0
0
3
0
0
0
0
3
0
40
0
0
0
0
41
37
34
0
0
37
40
46
45
0
0
0
0
0
64
0
0
0
0
0
48
35
40
56
32
0
0
0
0
0
39
43
41
39
0
0
41
0
0
54
60
53
50
1
2
0
0
55
52
49
47
39
0
0
0
54
47
3
4
45
33
33
0
0
46
66
31
0
0
37
52
0
0
0
0
35
26
32
33
45
59
61
63
78
9
0
0
35
36
0
0
0
0
0
26
0
44
56
26
1
54
5
42
7
1
0
0
6
0
0
0
2
0
15
54
51
0
7
0
47
1
55
50
0
50
47
142
142
142
91
144
144
92
146
146
94
147
96
96
148
96
149
149
151
152
100
101
101
102
155
156
105
105
158
105
158
158
107
159
159
159
107
108
108
161
161
161
161
161
161
161
109
161
109
109
162
163
111
112
164
112
164
167
169
170
119
121
123
125
128
182
131
133
136
139
142
202
207
210
213
215
218
222
171
223
223
172
172
173
184
179
179
224
215
166
188
107
140
60
72
124
82
84
5
36
40
52
88
14
26
67
35
1
57
145
38
0
14
61
52
104
209
255
255
215
255
217
205
219
201
255
255
221
229
209
213
94
159
218
174
202
255
255
255
255
187
119
0
0
62
0
0
50
53
56
61
12
11
58
51
60
52
50
62
0
0
0
50
0
0
44
39
0
0
40
0
0
0
0
0
32
33
42
44
0
0
48
0
0
57
54
44
0
0
0
5
62
5
45
42
48
45
36
34
0
44
48
0
55
46
0
0
50
43
36
38
0
0
55
61
48
0
0
0
0
0
0
0
37
0
0
35
38
0
44
36
36
0
30
29
34
41
59
68
26
26
0
0
0
75
21
0
58
32
32
62
26
40
54
41
26
26
0
12
15
19
74
21
6
48
57
0
42
46
61
0
0
7
72
100
98
62
0
38
41
0
4
14
29
36
48
27
18
49
63
13
6
49
41
0
39
34
0
36
0
142
142
142
143
144
144
144
146
146
146
147
96
96
96
149
97
150
151
100
101
101
102
154
155
104
105
106
106
106
106
159
107
107
160
108
108
108
109
161
161
110
162
162
162
110
110
162
162
162
111
163
164
112
112
113
165
167
118
119
172
121
124
178
128
129
131
132
134
190
193
202
207
158
213
215
217
221
222
222
223
172
224
225
182
177
176
172
217
169
148
104
73
25
80
145
79
95
69
48
0
8
0
14
36
95
0
0
52
0
49
0
0
0
9
0
127
192
228
255
213
197
214
255
255
229
255
255
192
225
217
78
153
213
220
159
255
255
223
231
85
63
0
59
58
0
0
44
49
50
6
7
55
54
59
52
49
65
1
0
2
2
45
0
5
45
0
0
57
41
38
0
0
0
0
0
37
38
0
0
0
0
0
48
58
51
43
43
50
50
41
42
46
38
35
50
39
33
38
33
38
45
41
52
42
0
0
0
45
0
33
0
30
47
51
0
0
0
0
0
46
0
0
0
0
0
0
42
46
0
0
0
34
0
0
0
31
26
0
0
0
41
48
41
0
0
13
90
87
3
32
43
38
43
49
51
51
46
49
51
0
5
4
0
30
39
42
51
0
51
41
25
61
58
9
55
0
7
49
103
91
54
47
37
33
24
49
61
0
0
0
46
39
47
0
34
0
0
0
0
142
142
142
143
144
144
144
146
146
146
147
96
96
96
149
150
150
152
101
153
102
102
155
104
105
158
106
107
107
107
159
108
108
160
109
109
109
109
162
162
162
163
111
163
111
111
111
163
163
112
112
164
113
113
113
166
169
171
173
174
123
125
179
180
182
131
131
185
137
192
200
205
208
158
161
163
168
220
221
170
171
224
225
226
225
175
174
170
172
165
99
62
47
77
57
81
32
30
4
0
0
10
46
32
61
81
0
4
12
0
0
26
0
0
21
0
229
229
220
255
255
202
255
255
217
255
255
224
122
97
13
27
6
31
9
18
48
56
63
61
46
54
55
0
2
37
45
50
46
7
4
50
58
42
59
59
49
4
45
45
3
42
43
0
0
41
35
60
47
35
36
0
40
47
47
45
0
0
2
58
5
2
59
0
0
36
0
58
40
0
12
69
52
35
31
38
49
45
37
36
37
38
42
0
0
0
0
4
3
0
41
34
0
0
0
0
32
26
0
30
27
0
0
47
48
0
49
45
37
0
0
37
0
0
0
0
0
0
0
61
0
0
11
5
30
0
0
39
0
45
42
51
62
2
0
26
29
0
0
0
0
0
39
59
15
22
75
31
26
0
26
26
26
39
4
62
67
63
35
26
26
0
15
49
43
21
65
68
55
39
30
0
14
66
66
12
42
32
0
142
142
142
143
144
144
144
146
94
94
95
96
96
148
150
150
151
152
101
154
102
103
103
105
105
106
159
107
159
107
108
160
109
161
161
109
109
162
162
163
163
163
163
111
163
111
163
163
163
112
112
113
165
114
166
166
170
120
174
174
124
126
180
181
131
183
132
134
137
192
198
202
206
156
159
161
166
219
220
169
171
172
173
220
170
173
177
175
171
223
160
117
112
71
63
69
75
38
52
38
0
0
45
29
46
3
26
112
68
61
0
34
63
11
5
15
0
15
184
229
255
255
255
255
211
30
34
87
0
52
39
61
17
22
62
52
38
0
57
0
60
5
0
0
0
0
0
0
41
56
52
0
9
61
57
0
5
65
48
0
0
0
44
38
47
0
36
47
51
42
38
40
41
38
0
0
0
0
0
0
0
0
40
41
46
50
49
43
8
11
13
33
28
66
91
46
46
0
38
44
0
39
0
0
0
0
54
0
0
0
40
32
30
28
28
0
51
53
0
7
62
51
0
0
37
40
45
48
49
0
0
52
12
4
38
35
0
46
33
2
0
0
0
38
48
0
30
26
26
26
26
0
39
0
42
0
0
0
0
34
0
0
0
0
0
26
44
38
7
4
27
0
0
26
27
39
0
46
46
0
0
0
30
26
26
0
0
64
1
35
63
6
3
55
5
62
55
54
6
142
142
142
143
92
92
92
145
145
94
147
96
97
97
150
150
151
152
153
102
154
155
103
105
105
106
107
107
108
108
161
161
162
162
162
110
110
163
163
164
164
112
166
113
112
112
165
113
114
165
165
114
114
115
115
167
117
118
120
122
176
177
178
180
182
131
133
134
136
188
196
200
203
153
156
212
216
218
168
169
221
222
224
221
223
225
176
177
230
228
160
160
120
44
49
85
38
77
84
57
81
43
79
70
26
0
26
49
27
63
26
65
65
60
16
0
9
0
39
212
229
227
255
142
230
40
50
26
1
1
0
65
0
7
12
54
42
48
53
0
13
4
0
0
0
0
0
47
47
50
48
45
47
0
0
0
59
56
6
15
0
0
0
45
43
42
43
50
50
43
35
0
0
0
0
0
6
2
0
0
0
52
31
50
53
17
60
0
0
85
48
29
79
26
26
0
16
34
0
5
0
50
0
0
0
0
40
40
0
0
0
0
43
41
34
0
0
10
71
9
0
0
7
0
33
37
38
46
0
0
0
39
0
0
0
39
26
0
0
26
31
14
59
54
73
48
26
0
38
0
26
0
0
0
34
0
36
51
73
59
59
64
27
34
0
0
0
62
52
40
56
5
46
58
48
2
26
74
29
44
51
48
68
63
46
69
5
68
51
2
0
0
12
23
19
20
86
56
0
90
143
91
144
92
92
92
93
145
146
147
96
97
149
150
150
99
152
101
154
154
103
103
157
157
158
159
107
160
108
161
109
162
162
110
162
163
163
164
164
164
112
114
113
164
112
165
113
166
165
114
114
115
115
167
167
117
118
120
122
176
177
178
180
182
131
133
186
136
136
144
147
150
152
207
211
215
217
219
168
220
221
224
222
224
226
228
180
181
179
228
216
82
155
102
0
25
49
108
26
26
0
50
0
5
61
44
0
26
46
73
50
33
35
26
26
59
97
68
29
19
55
22
12
0
47
16
70
46
0
2
0
1
0
0
41
48
47
42
53
0
0
0
0
0
4
49
51
47
46
0
0
0
0
44
44
49
46
0
0
0
0
45
42
44
49
53
41
42
44
0
0
0
0
0
0
7
0
0
0
41
37
55
49
0
0
0
28
26
28
64
68
65
32
49
44
12
0
17
22
0
0
38
36
41
0
0
42
41
0
4
17
9
38
0
0
55
0
32
0
35
33
28
0
32
40
0
26
0
0
0
0
0
0
0
0
26
26
0
0
0
26
27
49
26
26
33
26
26
45
0
0
50
0
0
26
62
26
40
0
34
32
60
50
39
0
49
58
57
61
25
85
74
91
89
92
0
37
26
0
0
55
56
10
14
37
34
0
0
2
0
3
0
0
0
0
58
49
0
143
143
144
144
93
93
93
93
145
146
147
148
97
149
150
150
151
152
101
154
154
155
103
105
105
106
107
159
160
108
109
161
110
162
162
163
163
164
164
165
165
165
166
165
164
112
113
165
166
166
167
167
115
116
116
168
169
118
120
122
124
177
178
128
130
183
133
134
188
188
195
146
149
150
205
156
212
214
217
166
219
220
223
225
174
228
230
231
233
233
177
175
128
14
121
51
109
82
118
48
0
26
26
134
109
60
39
64
22
26
21
33
26
0
78
68
50
50
0
32
9
4
0
0
7
67
0
55
65
65
67
60
2
0
44
42
45
46
47
36
0
53
0
0
47
51
45
48
0
0
0
0
0
48
49
47
50
45
40
43
0
43
46
48
47
48
0
0
0
35
0
46
48
0
1
0
0
0
1
0
40
37
0
7
48
50
50
2
20
26
14
6
38
32
42
10
0
24
19
0
17
3
4
0
0
26
0
46
53
26
26
26
29
48
0
0
0
0
26
26
27
0
47
0
11
65
47
0
0
0
47
0
46
60
66
51
0
47
52
50
0
26
48
42
39
26
26
26
33
70
40
41
26
53
3
29
0
0
38
38
0
37
0
0
0
0
75
21
0
44
13
53
42
0
52
17
0
45
26
26
26
33
0
0
38
43
53
3
5
45
42
0
8
67
24
19
42
46
52
92
144
144
145
93
93
94
145
145
146
95
96
149
149
150
150
99
100
101
102
154
155
103
105
157
106
107
107
108
108
109
109
110
162
162
164
164
164
113
113
165
166
166
113
164
164
165
113
166
167
167
167
116
116
168
117
169
118
120
122
124
125
126
128
182
183
133
186
188
136
143
198
148
150
204
155
211
213
164
217
166
168
171
226
175
177
178
232
232
232
231
171
169
35
65
99
139
55
89
132
57
0
0
86
57
26
34
4
26
0
0
26
26
26
26
26
71
0
58
0
6
25
63
0
14
63
0
41
8
73
55
55
53
0
0
46
44
45
47
0
56
59
49
56
56
51
0
0
0
0
0
0
0
48
49
47
54
50
0
0
0
45
50
52
50
47
0
6
6
0
0
41
0
0
1
0
0
13
13
48
0
0
43
13
0
35
42
44
8
0
65
0
39
30
33
36
15
23
11
22
35
6
0
1
0
34
38
54
86
40
0
0
26
31
52
0
0
26
26
36
41
0
0
44
55
0
0
0
0
0
0
42
52
52
38
31
0
44
50
63
0
0
29
96
62
26
26
26
26
72
76
38
26
30
0
43
39
26
26
0
26
43
68
45
0
0
0
0
0
38
0
37
28
30
26
0
0
53
95
86
80
84
74
4
46
68
17
51
0
32
42
0
0
0
0
42
26
26
0
144
144
144
93
94
94
94
145
145
146
95
96
97
149
150
150
151
100
153
154
102
103
155
105
105
158
159
159
160
160
109
109
110
110
162
112
112
113
113
166
114
114
114
165
164
112
113
113
114
167
115
168
168
169
169
169
169
170
120
122
176
177
178
128
130
183
185
186
188
188
142
145
199
149
151
206
209
160
162
164
166
167
170
176
177
178
231
179
179
178
172
175
170
148
128
173
117
98
0
14
100
49
0
42
26
53
42
105
60
0
37
79
70
83
10
50
32
60
46
0
0
70
0
32
64
0
9
46
43
64
0
0
58
47
41
45
47
40
0
7
0
0
55
58
0
0
0
51
0
50
46
0
0
56
55
50
52
44
0
0
0
52
2
0
0
47
48
33
0
0
0
0
0
45
0
7
50
1
0
36
35
38
78
0
0
0
0
49
0
0
63
0
57
31
42
50
26
26
35
0
0
0
26
44
35
16
59
35
62
37
37
43
0
29
87
40
0
32
0
30
95
4
0
26
26
0
6
83
65
0
26
0
0
0
32
32
0
0
0
0
0
0
35
0
0
26
0
28
32
26
0
0
0
6
50
10
57
4
50
26
26
0
0
53
42
0
26
26
0
31
0
0
47
53
30
48
0
0
0
0
0
8
39
77
54
80
82
54
0
45
10
0
67
0
0
51
42
52
2
93
145
145
94
95
95
95
96
148
148
97
98
150
150
150
150
99
100
101
102
102
104
156
158
106
159
108
160
108
160
109
161
110
110
162
112
164
114
114
167
168
116
166
166
166
114
166
114
114
167
116
168
169
170
171
171
170
171
173
123
124
125
178
127
128
183
185
187
189
190
142
145
146
147
148
202
156
157
160
163
165
167
220
225
173
226
227
176
177
177
176
178
214
232
218
191
144
14
16
30
76
87
94
58
35
20
30
97
110
0
82
77
52
5
0
50
30
0
35
7
46
66
10
21
5
0
0
74
65
42
0
0
40
48
75
10
0
58
15
0
0
0
0
2
1
0
56
55
1
43
48
51
47
47
48
0
0
0
0
0
44
48
0
0
52
57
55
0
0
0
0
43
0
56
65
6
28
57
10
1
60
30
42
45
50
46
36
0
44
36
0
0
0
0
8
70
49
0
32
0
0
57
66
34
40
0
0
49
65
71
60
26
0
0
26
0
0
19
7
58
56
26
31
80
42
27
26
26
0
40
64
18
8
0
0
0
8
0
0
57
1
0
0
11
18
79
0
0
0
0
0
0
38
26
26
0
0
0
0
26
47
64
2
3
0
58
44
33
44
0
15
16
4
43
0
0
0
0
0
0
38
0
0
33
0
0
1
0
3
0
38
48
0
0
0
0
48
41
0
145
145
145
94
95
95
95
148
148
96
97
98
98
150
150
150
99
100
101
102
102
104
104
158
158
159
160
160
160
161
109
110
110
110
110
112
164
114
166
167
116
116
166
166
166
166
114
114
114
166
167
168
169
170
170
171
170
171
172
122
123
125
125
178
180
130
185
187
189
190
142
144
197
146
147
150
155
209
160
162
165
167
167
223
173
173
226
227
176
228
230
233
212
224
232
226
135
26
56
33
74
54
106
0
58
81
50
72
77
40
48
0
50
0
0
13
33
36
67
0
11
59
0
37
27
2
45
23
0
71
0
0
19
44
77
35
0
50
2
0
0
0
0
0
1
1
59
8
4
46
0
53
49
0
0
0
0
50
49
0
0
0
0
0
51
53
50
47
43
0
0
0
0
57
45
34
30
43
54
61
60
35
41
34
33
31
38
51
47
54
38
0
0
0
0
71
26
0
0
39
32
44
47
42
0
38
0
0
31
78
2
0
0
28
42
0
0
37
0
7
0
26
45
69
0
0
45
0
26
26
0
2
2
58
7
5
6
0
26
26
0
0
26
0
7
33
11
0
0
0
26
0
0
0
0
45
39
0
36
32
44
60
9
12
40
82
47
26
26
26
26
35
0
59
62
53
0
0
3
0
38
44
76
81
18
47
28
4
11
31
0
50
23
9
49
0
0
58
4
93
93
93
94
95
95
95
148
148
96
97
98
150
150
150
150
99
100
101
102
102
104
156
158
158
159
160
108
161
161
162
110
111
111
111
165
165
166
166
114
167
167
165
113
165
165
113
113
165
166
115
167
116
169
170
170
169
170
171
172
173
122
122
126
179
182
184
186
188
189
141
143
197
198
147
149
206
156
159
214
164
166
167
220
168
170
222
173
175
228
176
233
229
175
222
220
167
128
67
30
20
0
64
118
112
100
73
66
18
0
16
51
0
2
43
29
28
73
34
49
43
0
9
66
21
56
31
0
0
54
26
30
29
26
16
31
26
26
59
38
42
47
0
38
43
51
51
9
56
48
1
49
0
0
0
0
47
49
51
0
0
0
0
0
44
42
39
46
55
47
46
6
4
42
41
55
43
45
42
37
44
47
47
54
47
0
32
29
0
34
48
51
46
54
22
51
0
0
26
41
73
34
45
6
0
26
0
0
0
0
0
0
0
31
36
26
26
26
26
40
0
34
57
0
0
0
0
0
28
43
1
0
0
0
29
0
28
0
55
59
59
53
46
64
51
0
0
38
58
0
26
0
27
29
37
43
64
30
26
26
26
0
0
0
0
0
0
0
32
38
36
0
0
0
0
31
38
36
0
0
34
0
0
48
36
0
53
35
29
0
0
0
0
0
37
44
72
85
86
145
145
145
94
95
95
95
96
96
96
97
98
98
98
98
150
99
100
101
154
154
156
104
106
158
107
108
160
110
162
163
111
111
112
112
114
166
166
166
166
114
114
164
164
164
112
112
164
164
165
166
167
168
168
117
117
117
117
118
119
119
120
172
125
127
181
183
186
187
188
194
145
146
147
148
150
154
155
210
213
215
165
166
164
165
218
221
223
225
227
228
174
230
178
181
182
185
109
37
92
99
75
123
26
32
26
26
5
69
108
118
49
4
29
38
0
0
60
33
0
67
0
0
28
46
4
7
39
83
63
26
84
101
0
82
132
10
26
26
38
39
0
7
59
52
50
45
14
9
55
60
50
0
0
51
51
44
46
49
0
0
45
0
0
0
2
57
47
44
67
55
0
0
42
46
0
0
35
0
21
25
0
0
0
44
0
0
40
41
52
51
0
41
0
0
2
0
32
49
0
0
64
35
0
0
0
0
48
20
0
63
5
26
26
0
39
46
61
13
0
0
37
29
0
0
39
0
54
0
26
42
48
47
39
30
28
51
64
55
0
26
26
0
26
26
38
39
26
0
26
26
26
30
46
52
30
26
0
0
26
0
0
26
0
0
37
0
29
26
0
48
0
42
39
0
0
0
9
9
18
7
0
0
0
68
38
56
0
0
57
56
45
73
56
0
0
53
55
45
93
145
145
94
95
95
147
148
148
148
149
150
150
98
150
98
151
100
101
102
154
104
156
106
158
159
108
108
110
110
163
111
164
164
164
114
166
166
114
114
114
114
112
164
112
164
112
112
112
165
166
167
167
168
117
117
116
117
118
118
171
171
120
125
126
129
183
185
187
188
143
145
146
147
201
203
154
207
210
161
163
165
166
216
164
166
221
222
225
228
229
234
238
226
176
183
238
156
48
8
116
88
132
0
59
43
0
68
102
44
0
0
0
47
3
0
3
18
31
55
65
43
0
70
81
37
43
58
43
26
0
14
67
0
22
111
26
0
43
0
26
0
6
60
47
41
44
69
12
9
11
52
48
0
52
52
44
0
0
0
0
42
48
3
0
0
0
33
48
57
43
48
50
0
38
34
14
38
47
13
0
0
0
0
0
0
1
8
43
35
40
0
0
0
0
0
0
4
43
40
0
0
0
0
2
67
47
0
12
0
0
0
0
32
2
62
68
78
30
31
26
5
55
26
33
36
0
0
0
26
0
0
0
40
26
26
0
0
45
33
28
0
0
26
31
34
38
40
0
38
26
28
0
0
0
26
0
0
36
38
52
12
35
0
0
34
0
26
27
0
47
62
14
20
69
48
0
0
0
48
41
39
59
0
1
0
7
0
0
0
0
0
0
0
0
49
44
46
42
93
145
146
146
147
147
147
149
149
98
150
151
99
99
99
151
152
100
153
101
153
156
104
158
158
159
108
108
108
108
110
162
163
112
112
164
113
115
115
114
165
164
111
163
163
111
111
111
163
162
112
113
114
167
168
117
169
168
116
117
170
171
172
176
179
130
183
186
189
139
143
198
201
152
153
206
210
211
160
162
163
165
166
223
216
211
163
226
234
183
186
236
228
222
170
183
255
175
168
170
132
178
75
96
21
0
75
85
19
1
66
40
29
82
18
12
57
0
49
36
65
83
34
60
72
0
56
48
71
33
55
51
0
4
10
13
16
49
14
0
35
0
0
10
54
77
77
49
54
52
47
57
54
1
0
0
55
11
11
40
59
0
51
0
0
50
36
61
41
48
4
46
31
54
51
53
0
55
46
0
0
0
47
61
58
10
49
0
0
0
0
33
32
44
48
41
60
22
12
3
0
2
23
0
48
43
0
0
0
0
5
49
28
34
0
0
26
26
26
26
26
26
33
53
57
0
52
48
35
31
0
5
0
0
26
26
26
34
0
0
24
20
0
30
0
0
26
0
0
37
30
26
26
0
0
28
43
4
0
0
26
0
0
43
0
48
56
2
0
0
0
0
26
0
0
29
0
0
39
48
42
0
2
59
57
54
48
47
0
35
34
0
21
51
26
0
36
57
25
94
146
146
147
95
148
148
150
98
98
99
99
100
100
100
152
152
101
101
102
154
104
156
106
158
159
160
108
108
108
162
162
163
112
112
163
112
114
166
114
113
113
112
164
112
164
112
164
112
111
112
165
166
167
168
116
117
116
168
168
169
170
171
122
126
181
183
186
190
141
144
146
149
151
205
207
209
209
158
160
161
215
216
212
219
227
228
224
224
176
174
202
255
242
195
180
196
200
191
254
213
52
196
109
49
22
26
32
0
0
9
58
48
11
57
10
59
51
0
45
55
81
99
0
16
51
61
63
70
27
52
33
27
51
47
0
0
0
4
48
86
22
8
0
3
43
56
9
67
46
52
57
0
0
35
27
67
0
0
61
74
54
0
0
0
0
38
48
62
55
67
70
43
42
60
56
0
27
2
0
18
24
0
0
0
0
0
0
0
0
0
0
57
49
45
26
38
0
10
15
38
26
26
50
0
0
56
60
60
40
0
26
26
0
27
26
26
26
66
0
0
46
53
55
0
0
46
33
0
60
0
46
4
49
27
26
26
26
0
0
2
1
40
41
1
52
44
33
26
0
26
0
31
0
0
32
33
0
27
0
0
27
53
51
20
6
0
32
0
35
26
0
62
60
0
0
0
0
0
0
0
36
32
31
33
32
26
0
0
0
0
36
42
43
0
26
38
48
0
94
146
147
147
96
148
148
150
98
99
151
100
100
100
100
100
153
153
154
154
102
104
104
158
158
159
108
108
108
108
110
110
111
164
164
111
112
166
115
167
166
114
165
113
113
113
113
165
165
165
114
114
115
116
168
168
169
116
116
168
118
171
172
174
126
129
184
187
191
141
145
147
149
203
206
208
208
209
211
161
163
217
218
171
172
223
219
164
167
232
207
218
181
139
231
255
236
240
246
184
229
223
255
97
84
3
108
36
69
15
30
0
63
22
37
0
29
30
60
3
0
58
59
36
0
26
96
57
49
47
0
26
48
36
54
57
39
3
7
12
62
47
54
0
29
60
1
59
53
0
4
11
5
0
0
38
56
39
27
0
75
76
39
63
0
0
0
0
51
50
0
66
55
0
72
58
0
0
0
0
12
0
0
0
0
0
0
74
63
37
34
57
26
49
30
26
49
0
28
21
0
26
28
78
43
3
61
28
13
29
0
0
26
26
0
26
0
17
27
0
0
59
54
56
0
0
0
0
26
83
8
0
0
0
26
26
26
0
0
0
0
0
26
37
0
0
0
0
26
0
29
2
0
0
2
0
0
0
26
26
0
26
0
26
36
0
2
14
25
51
32
39
0
28
26
0
0
0
33
40
0
0
28
0
40
29
36
0
0
26
0
0
39
47
26
0
0
26
26
95
147
147
148
148
149
149
99
99
99
100
100
101
153
153
153
153
154
154
103
103
104
104
106
158
107
108
160
108
108
110
110
111
112
112
112
113
168
117
169
117
116
116
116
116
116
116
168
168
168
117
169
117
170
170
170
171
170
170
170
171
173
173
126
129
131
133
135
138
141
146
147
148
151
154
209
213
213
213
161
213
161
162
211
182
253
192
166
149
158
196
193
239
233
230
229
230
255
255
255
218
170
180
116
83
104
98
125
113
26
26
0
54
75
59
102
86
20
126
1
11
116
73
20
26
20
71
68
59
54
76
56
42
26
1
2
0
0
49
0
0
52
45
39
0
0
0
0
42
71
57
0
0
10
2
15
5
0
47
0
65
78
52
73
0
39
0
19
0
61
17
15
54
66
61
40
5
0
0
0
0
1
24
47
26
29
0
15
0
34
26
49
21
0
0
26
26
0
0
0
24
102
0
0
26
26
0
0
17
44
26
0
1
45
0
0
0
38
0
0
0
0
0
0
26
0
0
26
0
0
0
1
0
26
26
0
53
5
0
29
26
0
0
79
65
0
26
31
36
27
32
36
26
0
0
0
0
26
0
0
0
0
34
51
30
41
48
0
0
0
0
26
29
39
49
0
0
0
0
34
41
6
67
0
46
0
45
47
43
36
36
37
0
0
26
0
31
50
66
94
146
147
96
97
98
150
151
151
100
101
102
155
103
152
152
101
154
155
156
104
104
104
157
158
107
107
107
107
159
161
162
163
164
112
167
167
169
170
119
120
121
120
120
172
172
172
120
120
120
172
120
120
172
172
172
121
120
120
121
122
124
177
129
129
182
185
187
189
191
150
159
158
206
199
202
210
157
207
210
220
180
236
174
113
169
221
197
165
171
184
176
171
228
245
251
204
184
249
255
255
239
236
206
147
44
77
16
40
17
48
53
78
0
51
25
15
38
0
0
0
85
30
17
0
38
42
13
65
43
14
56
0
0
0
4
0
0
26
45
0
78
70
26
23
3
26
5
0
33
42
43
63
0
48
56
12
0
0
0
0
0
3
9
6
0
0
21
37
52
10
2
29
0
26
0
0
0
3
11
40
37
0
3
26
6
0
0
0
26
8
0
50
27
0
46
41
26
0
0
0
49
0
0
0
0
2
50
26
33
26
0
0
0
0
0
31
29
0
13
0
0
0
0
0
0
0
0
0
0
0
0
26
26
26
26
43
62
0
0
26
47
53
0
0
0
0
0
0
0
0
50
70
24
0
0
0
0
37
42
54
74
0
0
0
26
31
0
0
0
26
0
0
0
46
10
22
0
32
35
38
49
16
58
45
27
0
0
0
38
62
86
78
39
43
12
0
0
39
146
94
95
97
149
98
150
150
99
151
101
102
102
155
152
152
101
103
103
156
104
104
156
105
106
107
107
108
159
159
162
163
164
165
114
168
116
118
171
173
121
122
121
121
121
121
121
121
173
122
174
122
122
174
174
122
122
122
122
175
177
126
180
130
182
183
132
187
189
190
149
141
134
201
220
215
209
157
171
191
240
212
183
226
205
190
151
158
181
177
212
218
188
254
234
201
215
255
255
255
255
200
193
165
54
162
149
41
127
54
93
85
92
75
50
44
24
111
0
0
1
0
0
14
0
77
21
6
5
83
45
1
0
20
22
0
0
36
0
4
0
0
36
0
23
61
33
0
0
0
43
0
53
5
10
1
30
14
0
32
31
42
81
10
50
0
3
54
11
0
0
60
36
34
2
0
32
0
0
8
11
54
31
13
40
2
0
0
6
13
0
0
48
30
0
53
17
37
26
0
0
11
0
54
87
18
0
0
0
0
39
52
44
0
36
26
0
0
6
12
0
0
26
7
0
26
40
1
38
60
0
0
0
49
42
30
0
38
42
38
36
46
52
26
0
26
41
13
30
0
0
26
42
0
0
26
0
39
39
32
36
52
0
0
0
0
0
0
0
35
0
0
0
0
39
37
2
0
26
26
26
27
0
26
0
0
42
47
0
0
26
0
26
26
0
3
0
0
26
147
95
96
149
150
151
151
150
150
151
152
101
154
154
153
153
154
103
104
105
157
157
105
159
160
161
110
110
161
162
165
168
170
119
172
172
121
175
176
125
178
179
179
127
127
179
179
179
127
127
127
179
179
179
179
127
180
129
130
132
185
187
187
135
134
134
134
187
188
189
189
196
203
199
147
161
144
113
113
162
210
255
231
216
171
227
171
171
185
243
154
154
213
174
181
185
211
224
254
234
172
255
209
209
171
78
165
91
119
18
0
86
26
72
0
51
60
58
31
30
96
58
8
38
34
0
4
62
22
41
58
44
64
18
29
11
0
64
15
31
39
0
0
61
13
0
0
6
0
33
29
66
52
26
34
26
84
0
0
0
10
9
7
0
6
0
0
36
13
46
53
11
42
62
48
32
0
0
0
110
62
26
26
0
0
0
0
29
19
26
26
0
26
0
0
0
6
0
0
0
37
8
59
54
0
0
0
5
0
0
26
26
26
0
0
0
30
31
0
0
0
0
30
26
0
28
26
0
0
0
0
33
49
67
85
68
26
26
0
40
34
31
0
26
0
0
26
0
26
26
26
40
49
0
0
48
4
47
0
0
26
31
31
0
51
56
3
0
0
4
12
27
69
67
18
67
44
0
0
37
2
64
64
57
59
38
0
0
26
82
30
64
34
0
7
52
0
5
0
95
96
96
150
99
151
100
99
152
100
154
154
103
155
153
154
102
156
105
105
158
159
108
162
164
113
114
115
169
169
172
174
124
177
178
126
126
181
182
183
184
132
184
184
184
184
184
132
132
131
131
131
183
183
183
183
135
136
138
138
191
138
138
139
138
138
190
191
192
141
191
165
230
130
88
121
219
180
151
155
166
165
160
205
231
181
166
154
145
150
248
159
158
198
213
187
192
228
183
201
255
123
135
17
53
113
70
244
150
51
65
70
80
95
31
46
0
0
0
0
0
0
0
33
93
9
0
0
26
80
99
2
62
9
16
0
53
49
57
0
14
8
0
1
0
26
39
0
6
42
71
64
26
49
28
26
52
26
0
0
0
47
40
77
76
40
0
41
0
32
37
56
32
0
0
15
0
0
0
54
0
26
75
58
34
29
42
70
9
0
0
0
0
0
24
10
31
0
0
48
30
26
26
46
27
26
49
0
26
47
26
0
0
45
33
6
53
34
0
69
59
0
3
3
0
0
0
28
50
0
0
26
26
26
0
27
6
7
0
0
0
0
0
5
0
0
71
0
38
54
60
28
26
0
39
0
0
3
0
31
37
0
27
43
26
26
0
0
4
3
0
0
26
26
0
0
0
30
0
0
0
0
26
26
26
49
61
19
0
0
0
30
37
0
45
0
0
0
0
148
96
149
150
151
152
100
100
100
153
155
155
156
156
154
154
155
156
157
158
158
161
161
164
166
167
117
117
121
173
176
177
126
127
128
180
181
183
184
133
186
186
186
186
134
186
186
134
134
134
134
186
134
134
186
186
138
191
140
140
139
190
190
192
140
139
140
141
143
144
133
154
91
123
185
200
140
156
165
161
158
163
215
235
224
143
120
139
184
251
217
239
202
249
183
180
201
201
251
255
119
198
172
55
139
105
255
254
94
71
83
48
130
143
0
4
0
38
0
0
35
96
25
56
30
15
46
37
0
0
69
60
73
47
69
46
56
0
0
24
9
49
31
0
0
26
0
0
10
0
17
45
30
0
0
34
0
46
41
26
5
49
0
68
62
29
28
0
0
41
0
20
55
0
0
17
36
0
0
42
53
0
20
46
0
40
0
0
53
0
49
26
0
8
30
13
0
26
0
51
28
26
37
44
30
26
38
27
26
49
38
26
27
31
42
88
30
27
61
71
0
26
26
13
0
26
0
0
50
16
0
0
0
0
0
0
0
10
52
0
0
37
0
5
0
0
0
0
37
52
12
1
0
0
0
0
53
0
0
26
31
50
44
7
0
0
0
58
49
51
74
36
80
49
26
26
26
27
0
0
0
0
26
26
26
0
26
4
30
46
0
0
0
35
43
5
0
36
0
151
151
151
152
153
153
101
101
101
102
103
156
157
157
157
157
158
159
160
161
109
111
165
171
173
175
124
124
178
178
180
129
130
130
183
185
185
134
186
135
135
187
136
136
189
189
190
190
138
146
139
139
189
186
191
198
196
147
151
150
197
196
199
146
152
207
201
130
106
141
189
233
152
149
189
131
143
150
151
157
172
168
188
191
255
239
202
172
161
146
208
196
180
240
251
175
163
229
95
104
108
98
6
144
142
255
156
76
168
97
158
203
250
113
135
117
104
94
91
41
23
111
80
88
91
63
49
18
23
36
83
98
61
66
58
81
48
31
37
26
34
53
49
17
30
27
43
0
0
0
0
44
3
95
44
0
0
106
54
67
91
26
0
0
0
26
49
67
32
42
4
0
0
0
10
0
0
0
3
0
0
0
3
27
74
25
45
0
26
54
42
0
0
0
25
2
8
2
18
0
26
27
53
26
0
0
81
53
0
52
84
64
35
32
0
73
0
26
27
0
0
26
33
75
0
26
26
0
60
31
5
62
79
5
0
41
48
0
0
0
0
26
0
26
26
48
45
26
26
0
0
26
0
0
39
16
50
0
0
26
32
0
0
0
26
35
30
26
26
0
26
0
35
39
0
26
46
32
0
0
0
0
2
40
58
61
87
90
60
0
0
0
0
0
0
0
0
33
0
151
152
100
153
153
153
101
102
154
155
156
157
158
106
105
106
107
161
163
112
112
115
117
174
177
178
127
127
128
128
129
130
131
131
132
133
133
133
186
186
134
187
136
136
188
189
189
189
190
191
189
142
146
197
195
194
196
143
152
150
141
148
216
174
144
114
219
192
165
125
148
148
140
144
196
140
177
224
139
110
141
195
255
194
223
202
201
158
175
206
231
195
185
212
184
208
154
209
229
215
126
177
178
123
223
99
133
150
91
170
255
214
175
195
182
120
88
66
0
43
79
38
56
28
52
19
49
60
64
26
20
111
43
4
75
36
32
39
70
42
54
22
73
74
0
56
46
55
0
0
0
29
0
48
0
7
26
48
31
0
8
0
31
26
26
46
0
0
26
43
65
26
26
35
91
28
0
0
0
3
0
0
26
74
58
26
26
0
0
22
29
0
26
37
0
56
0
8
0
0
44
33
86
26
0
57
69
55
0
0
0
0
38
90
22
0
0
0
26
30
0
0
1
0
26
3
26
0
0
40
0
0
0
26
0
44
40
0
0
31
2
10
6
48
26
0
33
64
54
58
11
26
0
0
26
26
16
27
0
0
0
0
39
1
0
0
0
26
0
0
26
26
26
31
0
0
0
47
0
0
64
15
0
49
59
76
35
0
31
39
0
0
4
49
37
0
34
45
1
152
152
152
153
153
154
102
102
155
155
157
106
158
159
106
106
108
111
165
114
115
118
120
177
179
128
129
129
129
181
130
131
131
132
132
184
132
185
133
186
186
134
135
188
136
136
189
189
189
142
142
143
143
194
192
191
199
200
193
200
156
141
164
174
218
178
159
137
135
143
146
163
165
190
209
240
169
151
125
190
202
150
130
214
197
212
213
193
204
219
238
168
163
199
200
255
209
255
213
144
219
199
94
255
170
163
185
206
141
187
249
242
160
227
142
119
57
103
0
0
36
81
36
26
58
12
55
9
64
39
37
40
99
30
14
12
103
27
9
69
102
73
45
17
0
0
16
62
62
35
26
29
50
0
26
72
26
26
26
26
35
4
0
40
26
0
38
46
44
26
30
41
45
0
22
0
0
0
0
8
2
0
26
54
36
26
26
0
11
20
33
0
0
34
36
3
0
43
28
0
53
55
26
0
0
52
1
31
0
0
26
26
70
44
20
0
0
0
28
29
0
0
52
26
59
37
3
26
26
0
0
0
0
26
26
27
58
0
0
41
55
57
49
48
0
0
42
32
0
0
32
0
26
26
0
26
50
22
21
5
0
0
41
37
37
17
73
31
0
38
47
11
0
0
0
26
0
0
0
0
0
0
19
6
0
38
0
0
42
59
0
28
0
0
0
56
43
38
0
153
101
101
154
102
102
103
156
156
157
107
159
160
108
159
108
161
167
117
119
172
123
124
181
182
183
184
184
183
183
131
131
131
183
183
183
184
132
133
133
185
133
134
187
135
136
188
188
188
189
142
139
138
193
146
147
212
196
164
154
128
160
227
194
196
205
162
163
155
197
212
235
161
162
153
194
250
171
147
153
167
162
149
145
223
255
237
225
244
219
170
120
175
229
89
170
174
124
197
213
159
139
197
92
187
206
255
173
192
251
172
215
128
188
133
186
147
127
67
4
67
104
61
61
67
51
42
30
45
122
133
132
57
22
63
25
26
95
122
48
16
66
44
7
47
65
11
31
0
26
26
30
67
6
52
81
26
0
18
0
0
0
0
63
26
0
0
61
87
45
0
0
77
26
26
0
0
0
48
10
0
56
49
58
80
28
26
0
0
68
26
0
68
0
0
41
49
43
58
0
0
76
32
27
0
61
46
26
0
0
0
40
69
98
13
30
59
49
26
0
0
50
5
0
77
51
59
38
30
0
26
0
0
26
36
85
26
0
0
0
0
0
0
47
0
0
33
60
68
26
61
105
54
0
0
26
58
0
9
59
45
0
0
41
104
3
26
0
49
6
0
0
41
0
0
36
26
0
0
38
44
61
3
0
26
44
26
26
31
34
0
0
31
0
0
0
26
38
36
153
101
153
154
155
103
103
157
157
158
107
160
109
109
159
108
111
169
172
122
123
124
126
182
183
184
132
184
183
131
182
130
130
182
130
131
131
184
132
133
133
133
186
134
135
187
188
188
188
195
187
137
147
152
193
178
184
215
217
149
137
140
199
201
199
197
145
202
209
215
84
138
235
177
233
237
143
219
160
132
140
173
181
254
216
181
233
209
234
218
130
225
114
126
226
202
178
182
227
141
164
228
218
229
227
237
242
202
196
173
223
129
193
134
155
151
175
83
148
197
159
113
70
85
111
31
78
100
12
209
204
223
145
138
88
0
55
51
25
53
48
80
46
0
26
93
87
68
28
0
38
17
45
63
26
0
0
28
0
0
0
12
51
65
29
26
51
87
26
0
0
10
0
40
26
0
26
29
0
6
0
54
27
43
0
0
14
0
0
59
39
56
67
35
0
26
26
9
0
0
0
48
46
70
0
0
26
2
4
26
26
13
19
26
0
26
20
97
78
2
40
44
9
0
26
47
35
26
32
71
44
30
29
5
18
70
26
0
1
52
51
1
0
0
0
41
63
0
40
47
105
32
0
0
0
0
0
0
11
63
44
0
0
26
0
26
29
0
0
0
0
43
37
34
49
57
0
33
0
33
26
26
0
12
88
0
26
34
57
26
0
33
26
30
38
34
42
44
0
102
102
103
104
157
158
107
107
161
164
166
167
119
122
116
170
173
175
125
127
129
183
183
182
181
182
130
182
181
129
129
129
129
181
181
181
181
183
132
184
185
186
195
135
196
144
140
137
131
181
146
159
191
157
152
170
212
184
193
201
144
159
201
206
141
152
233
210
152
123
181
165
194
219
216
189
222
178
181
163
155
169
210
216
235
179
218
225
180
128
229
168
138
229
187
117
213
197
118
146
203
211
96
203
255
223
194
204
255
149
181
107
242
117
194
138
156
217
188
175
165
169
179
155
134
122
123
105
156
185
194
180
192
187
178
99
18
38
65
29
24
10
0
77
67
0
0
49
111
0
19
52
34
36
82
51
73
0
0
0
44
7
0
23
3
34
40
25
0
2
26
0
12
74
44
0
29
0
0
26
0
45
36
52
0
0
0
52
0
0
0
60
39
43
26
26
69
68
0
61
78
26
0
22
17
0
26
35
11
14
0
26
26
0
0
35
65
47
61
58
39
11
0
63
0
0
0
57
57
8
29
4
39
126
71
29
29
3
0
0
7
51
39
0
0
27
13
24
0
113
36
12
0
0
47
0
0
34
52
14
35
26
85
64
0
35
58
65
68
28
30
68
0
0
0
4
0
0
26
38
2
55
0
0
0
11
70
59
39
48
0
34
41
0
0
0
28
0
78
157
105
156
105
157
106
105
103
104
157
157
159
110
113
117
169
172
176
125
128
182
131
181
182
181
181
182
182
181
181
129
129
129
129
129
180
129
182
131
131
132
132
185
190
199
133
119
182
148
144
150
143
163
190
179
198
200
191
211
160
140
145
149
154
159
123
162
229
180
190
240
218
176
207
230
160
216
225
202
169
203
174
155
182
174
175
166
167
216
255
120
255
201
162
159
189
198
162
164
255
238
144
205
255
221
249
190
255
158
159
172
219
154
161
175
142
175
224
228
176
175
173
171
173
175
225
238
224
240
188
185
173
186
182
213
174
107
57
153
142
32
26
83
0
66
18
57
20
10
72
120
96
0
2
0
88
30
0
106
26
26
9
61
61
57
99
90
0
36
26
39
26
11
0
29
27
48
0
0
43
51
0
41
34
0
0
11
35
0
0
26
27
50
18
73
71
43
40
0
71
60
0
9
15
0
37
67
18
0
0
0
0
0
0
62
3
0
38
32
0
41
0
0
0
0
38
44
42
0
17
38
87
79
37
26
27
0
0
0
1
32
26
27
0
0
0
17
42
26
37
0
0
0
26
26
37
0
48
40
0
53
0
72
25
0
26
0
26
34
26
37
0
0
2
0
0
0
28
26
0
4
17
70
46
26
26
26
26
26
0
0
62
0
12
16
3
26
26
36
158
106
107
105
106
106
103
100
151
151
149
151
153
104
168
119
122
125
128
182
132
132
182
182
181
181
181
181
182
182
130
130
130
130
182
181
129
181
130
130
130
130
173
132
201
192
170
107
159
214
189
141
142
138
141
150
210
205
185
202
223
123
50
184
228
123
186
214
173
245
201
226
225
185
198
172
159
219
255
221
161
184
154
154
65
201
204
243
226
144
202
160
123
246
255
203
182
219
255
168
195
245
251
226
230
195
255
169
172
230
178
236
148
145
198
122
171
250
223
226
176
176
174
176
178
223
231
228
229
181
184
175
176
231
237
174
211
220
211
170
211
225
239
153
124
84
71
72
54
42
41
59
88
51
1
27
19
0
41
39
29
21
7
26
84
0
11
16
0
75
0
45
0
0
4
0
4
0
0
22
28
51
4
26
26
0
0
0
0
32
37
38
80
96
26
33
50
109
23
61
28
0
40
0
0
4
18
8
0
0
18
66
68
47
27
22
0
0
0
0
50
10
38
0
0
0
48
72
68
26
26
50
69
17
35
0
0
60
56
0
26
29
59
56
0
15
45
31
39
28
2
47
50
48
0
26
65
88
2
0
26
29
64
4
0
27
38
37
39
0
35
38
44
0
0
44
0
0
26
0
59
10
15
0
26
26
26
26
41
54
40
26
0
46
56
0
7
1
26
158
106
158
107
106
106
105
101
101
152
100
152
103
105
117
120
175
178
180
131
133
183
183
182
182
181
128
128
182
182
130
130
182
182
182
181
181
181
129
181
129
181
177
189
162
149
119
140
191
132
198
207
152
144
144
151
138
206
194
162
146
170
175
142
147
212
216
212
152
196
225
207
190
145
147
197
234
255
196
162
244
152
162
74
149
205
245
214
125
255
217
144
190
255
229
197
181
249
223
160
242
217
255
236
220
232
236
126
222
173
211
204
158
154
115
136
158
235
225
225
226
176
177
174
172
228
229
229
229
182
184
178
191
235
224
219
222
217
219
194
237
238
164
225
201
188
179
148
137
144
67
35
79
158
60
0
15
47
0
24
26
71
74
40
34
29
10
27
0
64
26
57
0
31
70
18
13
26
0
17
40
26
46
0
26
0
0
0
34
27
26
0
22
43
0
8
0
43
55
42
36
39
35
1
0
0
15
0
0
3
2
67
53
36
61
71
0
0
0
43
35
9
33
26
26
38
53
9
64
31
35
0
0
0
26
26
0
31
53
76
52
87
39
56
25
0
3
53
0
0
0
29
49
0
0
0
3
0
37
100
14
0
0
0
0
31
45
51
59
26
26
0
39
0
0
0
0
12
65
15
0
0
59
0
36
0
9
69
28
0
33
31
40
0
0
36
0
0
67
99
99
102
157
108
109
110
108
109
111
163
164
115
170
168
170
121
177
179
182
132
131
183
182
182
181
181
181
184
184
132
132
132
132
184
130
130
130
130
182
182
130
85
151
199
179
178
188
137
191
194
144
141
141
149
160
94
128
207
212
145
180
162
149
169
215
193
157
231
218
197
212
214
148
212
235
148
196
160
168
236
105
96
151
243
152
87
235
254
170
224
255
255
199
183
208
255
148
191
172
191
213
229
232
219
232
147
221
186
172
182
190
115
173
103
160
196
222
229
176
176
175
174
177
231
176
169
232
232
231
174
187
187
178
184
235
227
233
217
179
244
219
187
206
229
213
216
206
207
203
214
201
211
113
96
80
51
91
96
45
53
47
57
124
35
61
34
57
81
31
3
53
12
0
68
0
5
0
0
78
0
48
64
31
29
70
27
65
84
0
26
28
0
28
0
27
0
26
26
26
13
26
0
6
42
0
26
33
29
32
51
26
0
8
9
55
0
0
26
26
53
43
0
0
0
29
20
66
57
0
0
64
8
5
0
27
40
47
43
49
8
7
29
58
87
76
26
0
43
0
0
0
10
14
61
0
28
98
104
38
30
38
0
26
26
41
71
17
0
0
29
28
0
0
4
0
44
4
71
40
0
0
7
0
0
40
0
0
0
49
2
0
0
26
29
49
0
0
38
144
94
148
155
160
112
114
111
117
174
178
180
130
185
114
173
176
177
179
182
183
140
138
134
133
183
179
175
183
190
140
187
140
193
184
127
189
121
104
162
186
207
137
126
130
190
135
126
123
190
201
133
113
95
114
161
153
133
197
216
140
134
228
154
161
164
208
202
203
202
196
154
156
237
233
192
139
181
162
56
152
231
200
199
135
249
149
185
204
207
255
123
211
183
238
241
163
179
176
182
213
158
240
227
224
153
207
188
160
127
147
170
135
149
143
119
191
185
175
226
174
227
227
177
177
227
227
229
230
232
231
232
232
182
181
230
177
176
228
215
215
215
162
216
164
216
217
217
165
165
164
164
216
142
176
222
104
84
116
109
102
80
65
0
52
14
26
16
46
63
0
53
63
6
32
52
32
0
0
54
0
0
0
26
42
15
0
72
77
0
3
34
43
57
1
0
28
42
26
0
39
90
31
0
26
0
0
5
54
50
41
0
0
47
31
0
61
46
42
0
0
1
0
0
0
39
0
0
33
26
0
26
0
15
0
26
26
26
87
24
78
0
26
61
0
28
34
44
0
0
36
39
0
26
50
21
33
26
26
26
0
42
46
29
26
26
51
67
55
0
26
26
26
0
0
0
3
36
26
26
26
0
0
30
0
48
0
0
0
28
26
0
0
41
47
0
0
0
37
143
144
148
103
158
162
165
166
118
122
120
117
173
128
111
114
118
174
175
127
180
131
126
179
131
184
178
120
133
116
127
128
124
177
179
142
128
107
173
188
185
172
182
186
187
185
132
138
147
149
154
141
125
159
211
148
151
209
205
194
153
162
146
155
167
166
193
190
205
203
138
179
197
142
206
243
182
132
46
186
164
188
161
99
175
229
233
200
170
187
208
129
141
215
229
247
209
192
157
204
191
150
240
246
188
89
164
130
159
129
138
113
181
123
170
90
233
223
227
226
226
175
227
177
229
227
176
229
230
232
179
230
231
231
231
178
176
176
175
209
209
209
210
160
163
163
164
165
218
167
167
166
166
171
168
203
220
210
164
73
50
90
85
0
0
0
0
12
54
15
0
0
5
20
11
72
0
17
0
0
48
63
0
0
0
32
39
13
31
26
77
51
9
0
0
0
89
17
0
2
84
55
14
0
0
26
66
92
21
0
34
33
0
26
26
0
36
15
78
36
26
79
61
0
0
39
26
26
32
33
41
26
26
0
0
37
0
0
26
19
0
89
89
26
94
0
0
0
0
0
43
65
0
0
4
29
69
0
0
0
0
0
9
0
0
26
40
80
62
26
0
0
0
0
0
49
53
69
47
41
43
47
44
46
0
0
0
26
56
1
35
45
44
47
48
41
0
0
41
147
148
151
155
157
158
158
158
153
151
160
108
103
95
112
109
110
116
167
116
119
194
195
195
190
131
179
176
124
164
185
131
117
110
109
134
126
139
138
126
178
188
193
127
188
136
131
118
100
121
214
196
137
148
204
146
141
200
207
133
140
162
154
149
143
198
209
208
204
156
181
167
176
151
211
226
117
189
159
165
196
233
98
203
210
248
124
169
242
165
143
129
234
238
255
182
231
206
201
186
162
180
191
172
166
211
114
148
141
155
134
103
158
134
149
106
228
228
227
174
174
175
175
229
229
177
177
230
231
179
227
227
227
227
226
173
174
173
173
209
209
157
158
160
162
163
162
215
215
164
163
163
215
219
163
211
223
167
212
209
213
134
161
23
106
84
0
48
85
37
4
6
20
47
16
73
0
59
0
0
6
0
0
45
26
26
0
51
77
0
10
0
0
83
58
8
57
26
26
71
70
0
62
14
19
34
23
2
26
51
74
75
43
0
41
0
0
57
59
79
54
56
0
83
0
0
26
49
0
0
46
26
30
44
0
0
0
1
66
3
0
22
26
90
44
0
0
0
0
0
34
0
7
6
20
26
42
0
5
53
0
0
0
4
51
69
26
0
36
26
39
0
0
26
0
49
50
70
36
0
57
78
13
0
0
26
28
28
0
0
0
55
82
0
30
37
0
0
52
155
103
104
156
156
154
150
96
152
91
108
97
13
0
22
11
4
6
2
54
61
5
70
114
135
101
162
166
124
90
121
146
190
116
100
141
138
178
190
149
134
159
200
106
117
129
149
158
146
147
145
187
194
215
165
146
173
189
225
214
197
203
152
150
160
216
208
206
160
163
198
151
170
170
137
247
164
128
225
220
121
222
245
177
128
155
190
174
130
139
159
251
140
166
190
251
215
235
231
147
230
191
178
190
204
195
115
159
117
167
116
137
178
144
164
153
176
185
175
174
226
175
175
229
229
229
178
231
230
228
226
225
223
223
170
222
222
169
221
220
168
169
220
168
218
166
215
213
161
157
156
155
207
197
202
210
206
158
171
178
226
154
221
142
147
101
116
39
0
88
7
0
15
0
74
111
23
74
66
26
0
54
0
26
62
32
0
0
57
0
0
30
0
26
48
0
10
8
26
26
42
0
34
0
0
54
50
89
49
13
3
11
51
26
26
50
81
9
50
0
64
35
10
0
0
0
6
68
83
29
26
41
48
8
6
45
26
10
0
0
0
0
70
6
0
0
0
26
63
37
36
14
0
55
8
0
26
26
32
28
26
32
0
0
56
26
0
0
32
31
0
0
0
26
0
24
0
26
54
30
26
26
26
26
43
0
0
29
0
38
28
0
66
73
64
0
0
53
37
169
111
102
150
104
109
107
154
128
110
43
47
47
36
42
6
0
70
81
24
77
79
12
53
69
117
123
91
129
135
113
149
188
139
150
136
127
165
175
181
169
150
169
142
134
133
191
143
198
158
143
206
215
159
128
102
221
206
190
206
215
204
145
145
151
162
203
182
217
229
194
63
126
255
192
202
231
178
137
203
255
211
231
151
171
196
119
165
137
139
179
187
142
201
250
199
232
248
200
217
211
224
135
176
226
139
169
113
164
156
140
153
123
147
125
172
174
175
172
171
172
225
225
227
227
229
177
177
228
228
227
227
228
227
175
226
224
171
171
217
217
216
215
212
211
159
156
157
157
158
159
159
159
210
158
158
159
160
160
160
160
159
159
211
159
158
158
175
184
116
22
106
54
0
74
35
0
84
86
38
50
0
42
23
20
26
46
58
28
26
50
0
32
61
26
26
66
0
26
57
7
0
39
50
0
44
17
8
93
79
7
19
0
36
94
35
0
0
77
37
106
94
46
26
38
50
50
8
55
45
61
57
16
30
0
0
0
1
0
6
0
0
59
25
76
23
0
81
63
82
52
52
46
0
0
26
31
26
34
44
0
74
84
46
39
0
26
9
0
4
26
39
0
0
0
26
48
0
0
28
34
48
93
71
0
0
0
36
46
4
0
8
55
46
27
0
0
30
37
167
110
102
98
158
162
109
110
88
120
85
84
84
28
0
0
53
58
12
15
58
70
73
21
65
82
84
139
104
155
70
128
199
180
171
175
189
198
173
153
160
180
192
187
134
142
146
201
207
133
141
194
188
168
200
236
183
134
211
196
173
132
149
159
225
139
181
252
231
230
35
150
219
189
219
221
230
129
199
255
194
228
189
166
175
152
143
183
131
155
178
169
124
197
196
205
244
222
212
220
205
216
193
208
131
165
162
110
173
124
133
205
131
189
139
224
225
225
224
223
224
224
225
227
227
229
229
176
228
228
227
227
227
227
174
173
171
171
170
165
217
216
215
212
211
211
156
156
157
158
158
210
211
210
210
158
159
159
160
160
211
211
210
210
209
157
157
158
166
131
102
101
71
7
68
36
9
39
7
27
44
60
38
37
53
49
63
2
0
32
58
64
90
6
26
28
71
17
26
40
49
0
4
0
0
26
0
17
20
0
28
7
0
64
54
62
0
0
60
83
89
58
4
0
26
0
11
51
31
44
67
62
80
50
0
6
0
0
0
10
0
0
78
0
0
53
54
74
51
38
67
35
30
58
38
0
0
27
48
41
0
0
31
72
0
55
27
56
0
1
0
0
33
2
5
32
40
76
0
47
1
61
61
41
26
0
43
0
0
0
0
35
46
40
26
26
0
0
57
162
105
101
102
108
166
164
156
89
78
38
81
88
94
47
26
77
32
35
43
93
96
80
9
18
30
33
30
79
97
138
102
172
128
172
152
92
181
196
190
185
188
181
193
140
140
136
186
192
220
98
128
225
201
200
199
206
201
139
138
202
210
206
124
132
242
220
238
169
111
165
138
202
219
141
187
178
224
210
217
220
176
157
154
146
154
135
159
156
197
141
166
182
138
239
192
202
207
224
213
190
204
179
214
144
211
179
144
163
103
156
142
138
161
175
224
223
222
223
170
171
172
173
174
174
175
227
227
227
226
226
225
224
224
223
171
170
170
169
164
164
163
214
211
211
210
208
156
156
208
156
208
208
208
209
209
210
158
210
210
209
208
208
206
154
153
153
222
205
151
198
188
128
118
47
55
46
80
43
77
0
11
49
26
34
43
45
61
0
26
43
74
24
0
0
43
52
21
0
0
68
41
7
0
30
26
0
14
42
0
0
96
69
28
66
25
0
0
50
26
27
0
0
28
58
0
0
47
73
34
11
0
68
0
24
13
0
11
26
0
63
73
62
63
0
14
30
51
3
0
65
48
30
91
55
0
2
0
47
51
0
0
0
0
3
18
19
0
0
0
0
49
64
69
80
33
0
26
0
42
55
26
25
52
41
38
26
0
53
56
0
1
3
63
49
0
0
0
38
153
100
99
107
166
169
116
155
88
134
106
37
85
84
31
82
58
8
5
0
16
52
47
13
7
0
13
91
92
108
175
133
74
124
176
195
181
192
147
139
133
136
189
190
188
198
201
188
123
144
209
147
209
209
220
201
176
171
213
176
205
161
151
180
163
213
120
171
252
205
167
169
155
213
137
121
168
180
213
184
217
219
247
152
125
117
150
179
191
120
187
155
157
173
144
255
219
235
208
180
193
181
187
155
216
190
172
220
112
130
161
183
122
126
227
174
170
223
221
222
170
171
172
173
174
174
174
173
173
225
224
224
220
168
168
168
168
168
168
164
163
214
161
159
158
209
209
157
157
156
156
156
156
207
207
207
208
208
209
209
208
207
207
152
151
202
202
197
205
146
143
145
195
137
132
201
65
55
94
29
61
0
0
26
50
34
23
0
0
65
26
0
100
14
0
26
0
54
26
0
0
52
5
31
0
9
0
0
54
0
0
23
0
0
80
89
70
8
0
0
0
26
37
49
9
58
26
0
16
48
71
0
0
0
77
20
66
41
35
84
73
33
0
26
26
0
31
0
78
0
0
0
0
107
42
0
31
26
41
52
0
47
11
41
52
17
65
34
27
0
0
26
31
26
26
0
42
31
2
5
0
26
39
43
0
0
0
43
33
0
0
26
50
46
0
0
0
0
26
149
97
99
161
115
118
116
119
104
98
110
88
80
81
30
32
75
43
40
42
0
15
4
50
7
16
21
79
102
69
140
154
159
157
147
115
181
130
184
142
140
129
140
141
200
145
174
108
114
167
152
205
195
205
205
217
213
136
197
219
167
148
223
220
134
129
231
250
182
203
162
153
200
111
159
255
171
165
176
201
221
221
111
121
135
164
234
184
185
174
174
155
153
222
231
164
172
158
216
159
209
93
237
179
216
177
140
149
119
124
156
136
115
149
219
230
222
223
221
221
170
223
224
174
174
173
173
173
172
224
223
223
219
219
167
167
167
168
168
163
163
214
213
210
157
157
159
158
158
209
209
156
156
206
206
155
207
208
208
208
208
207
207
152
151
150
149
201
152
194
197
148
148
147
152
173
194
184
112
100
58
26
64
0
26
73
0
4
6
69
75
0
118
45
26
0
59
31
26
0
0
45
0
62
92
108
44
26
26
70
30
0
0
26
41
39
14
82
92
0
26
26
64
34
37
12
5
0
0
53
7
36
26
34
43
0
59
105
14
0
0
51
0
0
0
34
37
36
31
48
27
26
32
25
56
58
26
26
26
36
5
0
0
7
59
61
49
26
30
27
0
0
31
0
50
47
0
0
0
26
0
26
0
0
58
43
45
0
26
54
47
0
0
0
0
50
0
0
46
145
150
156
165
115
117
115
170
104
98
97
70
35
66
87
24
37
37
33
36
44
1
0
49
53
2
0
0
10
178
193
152
178
173
133
140
135
142
141
144
196
139
144
185
122
122
194
207
150
146
157
203
207
219
216
151
202
185
147
184
223
210
222
208
232
221
225
228
216
165
177
127
92
200
241
191
178
150
193
232
193
188
163
215
152
186
215
186
181
180
152
168
165
170
195
122
127
172
106
165
133
242
207
178
198
164
164
127
160
134
141
120
136
161
175
222
221
219
221
219
168
222
223
224
172
171
171
170
170
221
220
219
219
166
217
164
164
165
166
212
212
212
212
212
212
160
158
210
210
158
210
158
158
209
209
209
156
207
155
155
208
207
207
204
203
150
150
193
193
198
199
202
151
151
153
149
192
186
183
181
127
170
43
57
2
26
20
16
68
29
44
100
0
37
68
0
20
41
23
0
0
68
11
0
43
90
47
26
28
26
72
64
20
0
31
32
19
82
10
0
0
26
26
50
98
26
0
64
0
28
68
0
0
0
62
0
0
0
26
83
0
0
69
45
0
0
41
51
0
10
0
17
82
5
0
86
32
41
36
0
0
35
4
10
0
49
46
29
0
49
52
64
5
0
38
0
0
64
0
0
0
26
26
26
35
0
3
75
95
61
44
0
0
33
34
0
0
1
37
99
155
162
168
167
165
113
109
162
110
99
138
65
47
47
104
64
63
9
0
32
33
42
50
47
47
49
51
63
59
131
183
176
189
130
124
128
138
137
139
197
148
118
135
158
194
189
150
147
157
155
160
155
146
200
160
118
211
206
208
226
201
214
210
195
197
161
184
186
198
82
203
155
148
203
167
154
183
173
202
234
199
141
172
180
218
170
186
239
150
221
158
165
204
132
227
174
92
224
91
169
254
143
150
111
192
132
179
116
148
115
128
141
161
173
220
220
218
219
219
220
222
170
172
225
171
171
170
170
169
219
219
217
217
163
162
162
162
163
211
211
211
211
211
211
211
158
210
210
210
210
158
158
157
157
209
208
156
208
155
155
207
206
203
150
149
201
193
142
145
146
200
150
149
203
148
194
191
136
186
186
127
193
162
163
95
57
66
50
0
70
37
43
0
44
80
26
57
120
53
39
0
78
35
0
33
69
78
26
16
31
63
18
0
40
0
11
63
3
0
0
34
54
0
45
32
0
0
0
49
0
0
0
5
13
55
105
0
0
26
38
46
37
36
26
32
37
0
10
0
0
64
77
32
0
31
12
2
46
47
45
28
0
4
16
69
62
33
26
0
61
57
28
45
49
0
22
0
0
11
62
26
26
37
26
26
26
46
1
26
0
0
67
54
0
0
0
0
39
153
105
164
167
163
162
160
109
113
113
100
91
70
49
20
94
119
48
31
26
26
0
38
48
44
43
0
3
51
49
134
203
176
189
186
195
143
141
195
188
176
169
105
157
143
151
145
138
209
157
152
152
150
147
149
207
215
225
204
205
207
216
213
192
226
162
169
189
185
150
217
173
155
198
110
155
168
115
177
255
189
119
153
188
159
149
157
250
147
142
168
157
233
225
146
218
163
164
139
106
234
199
101
151
98
133
142
174
110
166
132
135
144
164
174
221
221
217
218
219
219
221
170
172
172
171
170
170
169
168
167
218
216
215
214
160
160
160
160
210
210
210
210
159
159
211
211
211
211
211
211
211
211
158
158
209
157
156
208
156
155
155
154
203
150
149
149
142
142
197
197
197
198
145
198
197
140
189
136
135
188
144
141
198
172
103
189
161
131
50
0
37
26
0
0
80
0
9
102
46
43
0
23
26
66
97
32
26
92
0
35
79
0
0
7
20
0
26
3
34
69
0
42
27
15
0
0
63
55
40
1
0
29
79
8
59
17
38
26
0
0
26
57
26
44
50
44
0
43
75
2
43
72
108
32
26
37
69
88
74
32
26
50
0
8
67
26
55
26
0
0
34
58
0
27
69
41
0
4
0
58
24
0
36
48
26
26
0
0
71
0
0
34
31
50
65
0
0
26
156
110
169
168
161
153
151
157
115
175
174
111
88
121
121
66
50
19
0
0
26
0
46
46
45
51
58
12
0
21
126
170
170
177
179
167
128
119
175
178
189
212
195
134
141
163
151
138
158
161
147
132
139
161
166
207
183
219
222
218
231
205
158
163
151
165
217
205
129
229
178
179
149
108
163
145
101
191
174
203
173
203
159
174
116
146
196
198
156
209
210
223
234
136
170
228
155
150
107
240
220
135
206
121
98
136
200
133
152
172
122
148
152
166
171
166
218
216
216
216
216
218
168
169
170
220
167
167
166
217
164
215
213
212
210
209
207
155
155
207
155
156
156
210
210
159
160
212
212
212
212
212
212
211
210
210
209
157
157
209
156
156
155
153
151
151
202
147
146
142
193
191
190
138
190
189
135
136
188
137
138
137
130
123
133
151
114
179
189
195
150
145
86
95
91
28
52
77
75
28
82
115
0
0
0
118
109
64
26
53
30
61
0
0
48
27
15
0
0
0
57
35
5
22
0
29
30
62
10
51
50
26
0
9
45
0
0
47
61
45
53
26
34
49
64
60
0
22
0
2
0
69
29
0
0
0
55
43
0
33
48
49
26
0
50
0
7
77
0
64
0
0
37
0
0
55
70
65
23
33
0
60
59
54
41
0
0
0
0
0
0
0
30
26
0
38
0
11
49
107
116
125
123
164
152
149
150
114
183
174
149
140
93
76
81
52
28
11
0
97
15
64
52
58
65
19
22
15
70
230
197
189
197
190
184
130
118
198
202
188
134
198
200
192
147
157
205
145
212
151
155
154
146
145
202
157
164
156
166
165
138
144
163
174
145
129
219
235
192
210
120
153
182
177
129
161
154
156
190
173
178
168
109
243
157
168
162
146
216
211
217
193
225
228
183
159
103
190
213
151
202
208
106
116
208
181
118
167
163
146
154
209
217
221
216
216
213
212
213
213
216
217
219
167
165
165
164
215
215
213
213
211
210
208
206
204
204
204
205
154
155
155
157
210
210
212
212
212
212
212
212
212
211
211
159
210
157
157
209
158
158
209
206
153
152
152
150
150
144
191
188
133
184
133
134
135
187
190
139
139
189
178
130
132
194
179
199
138
124
186
164
180
105
160
91
146
153
166
61
22
24
36
58
83
26
62
64
58
52
53
55
0
81
26
26
119
103
0
28
70
0
26
80
31
62
26
26
26
0
0
26
66
47
36
157
68
81
34
47
26
48
63
59
48
89
3
0
4
0
0
0
43
50
37
61
0
40
0
31
35
49
36
41
107
15
20
32
5
50
26
26
0
0
59
77
34
36
63
42
26
0
0
47
67
0
0
0
0
0
0
5
0
56
0
0
0
0
43
111
112
165
116
117
170
170
118
169
170
175
175
171
166
55
72
53
21
83
112
57
81
50
58
56
62
21
20
0
134
201
189
178
176
189
106
114
201
183
183
198
198
200
201
202
150
151
204
204
205
150
204
153
153
155
211
143
170
195
133
162
155
221
171
172
74
217
223
208
191
161
236
204
137
112
144
152
164
145
192
166
184
153
118
243
198
162
198
160
223
235
220
205
212
225
128
152
213
232
187
151
231
182
82
142
192
146
133
173
134
156
200
212
218
213
211
216
161
164
216
216
216
216
164
164
165
164
163
215
162
212
160
209
156
155
207
205
204
204
204
205
206
156
160
160
213
213
211
211
212
212
212
212
212
212
160
211
210
210
210
210
158
157
208
207
206
154
151
150
199
197
195
142
193
190
138
136
135
133
184
184
133
133
183
183
182
181
181
128
177
175
173
121
173
173
183
172
168
170
170
98
71
44
0
103
46
0
35
120
3
0
21
0
0
82
28
10
66
0
26
52
1
76
36
14
70
15
6
30
0
2
33
26
91
26
28
40
70
53
26
27
34
28
59
94
66
50
0
0
18
0
4
0
0
37
66
60
26
0
0
0
64
76
26
50
71
19
0
3
17
10
0
0
41
30
0
86
30
0
6
5
0
0
31
30
50
46
0
0
39
0
0
41
26
0
0
0
0
26
113
113
114
116
117
118
119
117
119
121
174
174
123
125
86
113
112
46
40
105
39
90
103
36
50
16
13
11
70
85
80
156
150
133
136
134
151
120
137
148
143
148
147
200
149
150
203
151
204
202
200
204
154
154
208
211
161
157
136
188
192
199
224
124
147
240
194
204
248
162
187
146
213
162
188
141
126
164
196
189
157
180
108
234
148
209
206
213
205
159
201
150
170
223
103
255
202
231
206
137
181
136
172
92
189
195
185
205
241
146
201
205
213
217
161
159
163
212
160
212
212
212
212
160
160
160
160
159
159
158
209
156
155
155
154
154
204
204
203
205
205
206
208
159
159
160
213
211
211
212
211
211
160
160
160
160
159
210
158
158
210
158
157
156
155
206
206
152
151
199
145
195
142
141
140
139
189
188
135
134
186
133
132
183
130
129
181
180
127
176
174
121
173
173
121
119
176
118
114
170
120
116
119
153
145
79
58
5
75
32
89
0
0
108
0
88
47
23
0
0
0
4
86
74
12
0
0
0
0
45
0
26
42
41
120
80
26
26
0
53
0
0
63
106
33
1
0
0
26
16
14
74
85
0
66
34
0
0
2
7
54
26
0
12
99
54
26
26
35
53
9
4
6
73
65
0
0
0
52
26
0
0
0
0
53
26
0
26
0
28
26
7
33
0
60
17
19
0
35
168
116
116
170
118
119
119
117
120
123
174
123
127
131
123
163
134
30
24
69
33
106
55
2
66
70
29
39
76
71
47
104
99
129
121
137
116
140
144
142
146
144
147
200
148
149
150
151
203
200
200
204
154
153
206
157
165
140
164
139
193
239
87
224
202
184
235
179
197
215
219
156
213
189
153
164
130
249
235
141
188
98
178
197
150
213
199
164
150
173
148
164
158
125
255
140
224
206
153
209
192
166
130
234
201
211
184
234
221
141
191
211
214
162
160
159
158
209
207
155
155
155
155
207
207
154
154
153
153
205
204
204
152
204
204
152
151
151
151
153
205
154
155
157
209
210
212
158
158
211
158
159
159
212
160
160
159
210
158
158
158
158
209
156
207
206
206
152
152
200
198
144
143
194
141
141
139
189
136
187
135
184
184
130
129
129
180
180
178
124
122
121
174
174
174
169
168
167
115
168
116
115
118
177
170
121
134
130
182
162
141
82
94
40
39
76
21
64
0
0
0
57
76
57
109
81
0
26
42
1
31
43
71
0
0
66
93
58
27
0
34
9
0
76
34
73
89
48
38
0
26
125
50
0
0
6
38
0
48
0
19
95
0
25
69
125
43
0
10
0
0
0
0
50
43
0
68
46
39
32
0
33
8
0
0
7
4
26
0
0
32
71
26
0
0
31
5
2
88
117
117
117
118
171
119
119
118
172
174
176
177
179
181
165
153
74
0
37
81
48
3
40
66
65
78
42
37
44
29
45
53
56
76
101
113
99
150
194
139
146
193
146
199
200
149
150
150
151
201
201
153
206
152
152
155
130
140
148
165
158
103
91
124
221
235
170
155
229
190
104
210
229
161
187
234
229
214
184
241
100
141
180
166
140
225
201
154
163
136
160
163
118
185
244
144
213
196
138
230
189
177
151
168
201
196
204
249
189
167
191
213
213
160
159
158
155
154
153
153
205
153
153
153
153
151
151
151
151
203
151
151
151
203
203
203
151
151
151
153
153
154
155
209
156
157
211
210
210
159
158
210
158
160
160
160
159
158
158
158
158
158
209
208
207
206
206
205
204
201
199
197
195
194
141
141
191
189
136
135
135
132
131
130
129
180
180
179
177
175
122
174
122
122
175
167
167
169
173
175
175
175
125
177
128
180
178
145
135
109
125
98
97
134
74
142
59
76
99
0
0
26
50
51
70
81
10
0
0
4
10
41
32
48
0
36
37
68
53
0
0
45
40
79
57
26
92
91
64
52
41
55
116
0
0
0
35
0
0
16
0
0
0
97
74
61
38
26
0
0
29
5
0
35
53
0
35
59
0
0
41
32
61
0
26
26
0
78
0
0
41
0
32
42
0
55
26
26
51
170
119
171
119
171
172
172
172
119
120
128
181
177
173
125
102
98
88
3
8
87
73
35
70
86
40
31
32
43
41
47
44
100
54
52
55
113
189
193
197
191
141
146
147
200
148
149
150
150
202
202
154
154
203
149
151
162
106
185
197
76
180
144
205
216
172
216
183
211
145
235
194
206
205
208
175
203
193
176
110
148
164
142
146
219
196
214
149
162
193
158
124
121
236
120
252
211
129
235
174
201
202
112
184
178
159
226
247
117
215
205
216
212
157
157
156
151
203
204
152
152
204
204
204
152
149
149
149
149
202
150
150
202
150
150
150
150
150
150
205
206
154
155
208
155
156
159
209
209
210
158
210
158
160
160
160
159
210
158
158
210
158
157
208
207
206
206
205
204
201
199
197
196
143
140
192
190
137
187
187
186
131
131
129
129
180
179
179
177
175
122
122
122
175
175
172
171
170
171
171
175
181
132
176
181
134
133
132
135
129
167
183
169
119
171
159
166
151
105
57
72
89
93
19
92
9
0
36
58
0
0
27
0
0
66
10
0
43
3
2
7
58
54
104
32
26
26
48
96
27
27
54
57
42
43
23
43
8
42
0
0
68
33
68
0
6
77
64
0
80
26
0
16
23
0
0
21
57
0
26
32
0
40
26
30
33
0
0
0
8
26
0
21
49
0
36
0
72
57
119
119
120
172
173
173
173
171
172
122
127
181
131
184
194
88
50
97
44
35
74
94
91
77
76
24
36
53
52
49
43
45
95
97
30
24
143
184
202
187
196
193
200
201
201
202
150
151
151
156
164
142
138
220
143
141
168
137
96
201
195
147
167
86
156
232
187
178
161
222
207
185
213
206
193
221
220
127
129
152
159
154
199
152
149
144
154
132
121
218
179
119
176
144
213
197
149
204
205
185
227
127
180
202
187
191
244
187
163
226
208
210
209
208
207
153
150
149
202
201
200
147
148
149
202
201
201
149
201
201
149
149
148
148
200
201
150
150
202
153
205
206
154
154
206
206
157
208
208
210
210
210
210
212
212
159
211
210
158
158
158
158
157
207
207
206
206
202
202
147
145
144
195
142
140
140
138
136
135
134
134
133
185
131
129
128
179
179
178
177
125
124
123
122
122
177
124
175
123
176
175
176
122
120
120
120
119
171
171
174
171
118
118
119
172
123
172
167
113
153
122
108
118
129
120
83
68
4
35
97
0
0
0
7
26
0
0
44
20
27
30
0
0
0
0
72
70
0
0
0
26
38
0
48
55
1
27
0
51
38
0
40
24
28
26
26
61
11
2
0
2
14
0
0
48
26
0
56
39
43
26
26
67
72
47
47
0
0
0
0
53
74
32
39
0
32
10
21
41
171
120
120
173
121
173
173
172
173
122
127
181
131
132
197
165
72
46
43
39
89
45
72
68
47
60
103
91
54
56
49
92
86
97
11
22
177
126
207
140
205
199
197
198
199
201
150
151
204
190
201
210
193
123
162
149
168
84
148
151
172
177
161
172
158
179
191
142
221
163
153
208
198
200
195
187
213
102
160
161
138
161
195
188
164
139
184
114
161
152
119
173
179
150
220
210
140
228
123
216
183
83
133
193
177
200
251
108
196
160
210
209
209
207
206
204
202
201
201
148
199
147
199
148
149
200
148
200
200
200
148
148
148
148
200
201
150
202
202
153
153
205
206
207
206
206
157
155
207
209
157
209
158
160
159
159
158
158
158
210
158
209
209
155
154
206
153
201
149
146
196
143
194
141
140
139
137
188
135
134
133
133
132
131
129
180
180
179
127
126
125
124
123
123
122
128
125
124
124
176
175
123
172
118
116
116
115
167
165
172
170
167
117
169
171
123
179
173
114
117
168
153
144
157
144
119
97
118
129
14
115
19
51
7
31
29
43
0
26
61
12
0
0
52
0
0
0
49
62
43
26
0
0
0
20
23
2
53
54
20
0
29
61
0
61
56
29
45
0
91
57
11
11
0
0
105
89
26
35
0
0
26
0
44
55
39
36
8
0
0
39
5
0
41
0
0
0
4
54
120
120
121
173
174
174
174
123
175
125
128
182
132
184
199
183
147
85
76
42
17
83
87
119
58
97
90
83
103
52
49
86
74
84
6
125
222
106
193
151
186
195
146
148
149
151
152
205
206
214
208
189
179
188
192
161
145
161
137
149
165
172
158
178
209
143
206
222
202
200
150
127
145
163
155
154
112
167
155
152
153
141
208
215
142
172
105
171
159
174
173
199
153
227
197
212
198
184
201
185
87
97
156
136
138
236
183
82
178
133
154
154
206
205
204
203
201
201
200
147
146
145
144
197
197
145
145
146
146
199
200
200
148
148
200
201
202
150
150
152
152
205
206
207
207
207
208
154
155
157
208
209
209
211
211
158
210
209
209
157
209
209
208
154
206
205
205
200
200
145
143
142
140
192
191
190
188
135
134
185
185
132
184
182
130
129
128
180
127
126
178
125
124
123
123
128
124
124
123
123
123
174
173
119
118
117
169
117
169
174
118
166
113
164
165
116
125
127
176
172
111
108
166
106
112
163
151
159
160
96
103
123
133
35
11
41
48
3
0
27
31
26
26
0
85
38
2
0
0
26
0
0
75
0
0
53
0
0
46
26
14
24
0
7
11
26
80
53
0
33
38
32
61
2
43
0
40
61
75
0
0
79
0
64
54
54
12
12
0
0
26
42
1
59
0
0
6
0
0
121
121
173
122
174
175
123
177
177
179
182
131
132
185
184
184
188
117
41
49
57
91
32
50
90
88
103
53
106
93
31
29
23
3
97
82
79
18
72
60
51
53
81
94
158
118
130
190
195
195
207
191
188
197
162
122
103
144
194
156
115
222
200
130
173
225
203
182
195
155
134
188
139
127
165
120
164
151
143
152
155
151
205
163
157
130
175
143
145
93
149
90
234
205
231
135
140
132
145
159
76
148
141
119
151
249
127
127
160
200
153
152
204
203
203
202
201
200
147
198
144
195
142
142
194
143
143
144
145
198
199
147
148
148
200
201
202
150
150
203
203
204
205
208
208
208
209
208
156
158
210
210
210
158
158
158
209
209
156
156
156
156
155
206
205
204
204
201
148
145
144
142
193
192
138
138
188
134
133
184
132
131
131
130
130
130
181
181
180
127
126
125
177
176
124
124
122
121
122
122
123
124
125
127
127
127
179
128
180
181
174
169
165
161
108
109
115
165
117
176
120
114
166
179
108
114
132
171
159
154
126
105
158
156
157
63
95
49
0
25
13
39
36
26
0
4
73
2
4
0
0
26
48
32
6
0
41
12
0
26
58
26
72
15
17
27
1
0
31
61
37
0
26
43
6
77
26
0
74
0
50
67
0
26
56
0
5
0
0
0
39
77
67
0
0
25
26
34
31
121
121
121
122
123
123
123
125
126
127
182
131
132
133
199
129
133
80
110
112
104
68
53
111
96
39
46
92
57
90
25
27
23
42
110
133
165
123
154
135
154
155
152
150
148
146
197
195
195
199
102
174
223
118
151
165
155
164
122
80
194
188
149
88
185
194
214
182
218
145
170
129
119
176
200
153
121
221
142
201
213
195
211
142
134
203
201
178
132
114
100
151
193
212
104
151
120
148
146
83
109
133
161
135
221
255
159
139
139
149
209
152
151
151
202
150
148
200
198
197
196
194
141
141
142
194
195
196
196
197
199
199
148
200
200
201
150
150
150
150
151
152
205
208
156
157
210
208
209
210
158
159
211
158
158
158
157
208
208
208
156
156
155
206
153
152
204
201
148
198
144
142
141
141
190
138
188
186
185
184
184
183
183
130
130
130
181
181
180
179
178
178
125
124
176
175
172
121
121
122
175
124
179
182
182
131
131
183
132
130
125
117
165
107
158
160
170
123
116
166
166
113
114
114
177
172
110
126
135
146
114
126
175
102
111
165
100
93
10
55
76
5
37
58
43
0
0
13
75
26
116
0
0
59
25
13
0
0
0
0
26
34
75
84
60
56
74
49
32
0
58
38
26
70
2
0
71
36
0
0
41
38
26
26
35
52
0
35
28
43
71
0
26
81
80
40
0
0
43
173
121
122
123
124
125
125
127
127
128
130
130
131
131
189
135
135
132
123
165
156
145
145
100
40
32
30
98
88
46
38
16
39
146
202
183
216
106
215
185
149
204
203
144
150
207
200
183
166
200
163
178
128
224
189
155
160
81
161
162
128
137
113
158
136
200
209
199
205
139
138
154
157
127
181
219
200
202
201
195
194
197
195
198
132
153
209
169
123
187
141
196
212
172
143
215
147
132
111
81
149
156
234
187
228
239
145
168
144
141
143
203
151
203
203
201
198
145
195
142
141
192
139
140
193
193
194
196
198
199
199
199
149
150
202
202
203
203
203
152
153
154
156
159
160
161
163
163
163
214
214
214
214
160
212
211
210
209
208
208
209
157
156
155
206
205
153
200
148
146
144
143
142
194
192
192
189
187
186
133
184
183
131
131
130
130
130
129
181
180
179
178
125
177
176
177
123
122
174
122
175
123
173
173
121
173
121
121
121
122
173
120
119
171
170
170
167
115
115
115
115
115
115
116
116
117
118
171
119
120
120
121
173
175
177
179
122
48
58
91
92
0
71
107
34
0
0
52
48
89
55
0
4
0
47
93
5
26
0
0
61
50
0
26
64
44
47
26
0
6
26
36
0
45
0
7
0
0
0
8
30
0
0
54
39
0
0
26
0
77
70
54
51
48
52
0
0
0
35
121
121
122
124
125
178
179
128
129
181
130
131
131
131
133
133
132
182
181
128
126
159
149
69
73
120
53
47
101
21
27
36
133
151
134
171
222
127
226
190
198
212
139
135
194
202
204
198
140
150
89
217
124
122
142
150
125
173
132
124
113
137
154
143
151
145
201
216
192
165
163
164
141
151
147
190
196
196
197
197
195
197
198
149
163
158
137
163
181
104
139
169
182
128
207
138
163
166
182
133
204
204
168
221
247
184
132
162
195
205
149
202
202
202
202
201
197
144
142
141
192
191
191
140
192
194
195
197
198
200
200
200
150
150
203
203
205
205
205
155
156
209
210
214
163
163
167
167
166
216
215
214
214
161
161
212
210
210
209
157
209
157
156
155
154
153
153
201
200
146
145
144
195
143
142
193
190
189
187
186
185
131
131
130
130
181
129
129
129
128
127
126
178
177
177
178
124
122
121
122
122
174
172
172
172
172
120
120
120
120
172
171
171
118
118
170
168
168
116
116
116
116
116
115
116
117
117
118
171
172
120
120
121
175
125
127
185
125
131
156
123
102
164
52
52
22
0
43
20
52
89
64
33
51
29
28
61
55
4
19
61
33
31
0
0
0
104
82
93
0
0
0
0
10
47
0
0
38
43
53
71
0
50
107
36
76
0
41
26
49
0
0
106
51
60
43
61
47
30
173
173
122
125
126
179
128
181
130
182
130
131
131
131
130
131
133
183
182
127
126
129
110
70
121
120
60
56
105
80
0
29
142
130
142
142
169
69
168
190
185
177
142
149
211
167
219
210
202
186
139
123
129
147
147
118
172
184
140
154
178
167
139
153
156
137
200
164
135
166
195
131
123
179
123
139
195
142
195
196
197
195
196
195
158
152
92
176
143
118
174
157
144
188
214
181
162
173
161
183
190
165
167
146
240
162
201
153
144
152
200
202
202
202
202
200
197
196
195
194
193
139
139
140
140
194
195
197
199
200
148
148
150
150
203
204
206
206
207
157
209
210
212
163
164
165
168
168
167
217
164
215
163
213
213
160
211
210
209
209
209
209
208
155
154
153
205
149
149
199
198
144
144
143
143
194
191
190
188
187
186
183
183
131
130
130
130
181
182
129
180
179
178
178
178
179
124
122
121
121
121
122
120
172
172
120
172
120
120
119
119
119
119
118
170
170
168
168
116
116
116
116
116
116
116
169
170
171
119
120
120
121
173
175
177
127
171
181
124
121
179
119
110
62
125
54
0
35
67
63
93
29
56
54
26
28
25
28
78
72
59
19
0
26
0
2
0
80
15
0
0
0
4
26
33
0
0
26
64
33
35
46
26
63
70
71
86
43
0
0
5
26
26
44
64
50
0
0
48
121
121
174
178
179
181
181
183
183
183
131
183
183
183
128
130
185
183
184
132
134
128
131
184
162
142
128
64
54
95
124
135
138
182
184
131
157
121
173
196
207
186
130
65
44
0
76
104
121
171
188
117
176
150
81
165
170
156
136
199
194
153
154
153
129
144
141
125
141
185
150
184
156
132
127
143
146
194
194
195
194
190
137
171
159
102
165
125
116
134
156
141
164
226
175
208
161
186
156
214
173
221
120
170
161
97
171
134
153
140
141
149
149
201
201
200
144
195
196
144
142
141
141
142
194
195
196
198
199
149
149
149
150
151
204
205
208
157
209
159
160
213
215
218
219
168
168
168
168
220
219
167
167
214
162
213
159
159
158
210
209
157
156
207
206
153
153
150
202
200
198
145
144
144
144
195
141
139
137
136
136
133
185
184
132
132
131
131
132
131
131
130
181
180
180
179
124
123
121
121
121
173
119
119
171
171
119
119
119
170
118
118
118
118
118
170
169
169
169
117
117
117
117
117
118
171
172
172
173
174
122
122
123
177
179
129
130
132
141
188
129
147
150
156
110
63
56
0
21
67
0
20
2
28
70
26
8
78
0
0
52
0
4
26
0
0
32
21
0
0
26
0
7
68
0
0
42
0
26
29
26
5
42
0
26
19
0
78
47
0
0
0
13
26
26
26
0
10
0
172
172
174
177
126
180
180
183
183
183
131
183
183
131
126
128
128
184
186
135
187
189
139
131
129
133
186
181
146
94
117
134
140
146
160
143
149
67
0
43
66
77
84
20
74
96
119
67
104
101
156
133
89
147
207
140
144
172
209
200
181
189
148
150
200
131
97
218
195
137
135
145
140
136
140
194
130
200
195
135
192
184
129
203
151
159
212
111
150
155
123
146
233
172
198
200
228
138
207
171
214
210
125
214
126
178
157
138
144
212
156
147
148
200
200
199
143
142
141
141
142
194
194
142
143
197
146
148
200
199
201
151
150
202
203
205
208
157
210
159
161
215
217
168
221
221
221
221
221
168
167
219
219
165
165
164
161
212
211
159
157
209
208
207
154
153
153
150
202
148
148
199
198
146
145
197
143
141
140
191
190
137
137
135
186
186
133
133
135
134
133
132
132
183
183
181
127
178
176
123
121
173
172
119
119
171
119
118
170
117
116
168
116
116
117
118
171
171
171
171
119
119
119
117
117
170
171
173
175
174
124
126
127
128
129
131
181
183
187
191
196
148
202
204
144
196
137
152
56
50
27
38
104
16
45
17
0
10
0
27
44
2
26
0
0
26
28
0
26
83
26
26
0
0
16
79
35
0
0
26
0
2
74
22
0
0
26
53
0
6
0
19
32
83
11
0
0
14
47
172
172
122
125
126
128
128
131
131
183
183
183
183
131
178
128
180
185
135
135
187
126
131
181
130
132
181
123
190
124
141
127
106
84
63
73
56
23
37
48
100
88
75
87
101
110
55
47
40
59
100
128
126
136
104
159
169
200
200
187
135
142
141
187
165
115
144
138
156
119
193
137
188
135
136
139
140
196
188
190
196
182
185
163
137
151
154
109
158
141
78
172
221
185
214
166
170
142
203
186
223
211
200
163
97
203
160
142
147
150
141
147
147
200
200
199
196
195
141
142
142
194
195
143
143
145
146
148
148
200
149
203
202
203
204
206
209
210
159
160
162
164
166
169
169
221
221
169
169
168
168
219
167
165
165
164
161
160
159
159
157
209
208
207
206
205
153
150
150
201
148
147
146
146
198
145
143
142
140
139
191
189
137
136
135
134
186
185
187
134
133
184
184
183
183
182
180
178
177
175
174
173
172
120
119
119
119
119
118
117
116
115
115
116
117
170
171
171
171
171
119
119
119
120
119
120
173
175
177
125
179
129
182
182
131
133
178
180
133
137
194
200
202
151
145
189
142
214
207
74
70
6
0
106
28
6
100
0
13
0
0
0
95
0
26
26
0
38
41
21
0
26
27
0
17
90
37
53
69
62
0
0
0
65
59
0
0
55
50
28
9
1
57
20
4
0
0
0
0
120
172
174
125
126
128
128
182
130
130
182
182
182
182
128
129
181
132
133
185
133
130
183
188
183
172
157
93
61
51
42
7
0
0
0
3
0
0
1
57
58
5
71
83
86
78
72
80
94
41
35
122
113
141
142
114
180
184
188
183
138
147
141
129
173
214
135
146
96
202
125
123
187
193
137
132
193
176
206
201
160
146
168
132
135
210
106
144
130
161
104
171
136
202
179
170
149
207
176
190
216
169
179
204
148
211
128
133
161
145
152
198
147
199
199
199
196
196
143
195
143
144
145
198
198
146
148
149
150
201
203
204
205
206
207
208
160
161
161
163
216
166
168
170
222
222
170
222
169
169
220
220
168
165
165
164
161
160
159
159
209
209
208
207
206
205
153
203
151
149
148
148
147
199
198
146
144
143
142
142
141
139
139
190
189
188
188
135
188
135
134
133
184
184
183
184
182
180
179
177
176
175
122
174
121
120
172
119
119
116
168
167
115
116
116
169
171
171
172
172
172
120
121
123
123
123
176
178
180
129
131
133
186
187
136
138
131
132
187
139
143
148
204
205
206
207
152
199
197
211
95
76
90
82
30
56
100
33
34
61
0
0
69
43
33
76
2
0
32
50
26
26
0
36
53
0
4
0
0
29
56
0
46
0
39
75
0
10
0
58
78
26
52
0
0
1
26
0
26
120
120
122
125
126
128
128
129
129
129
181
129
181
181
181
183
183
184
184
183
182
175
122
123
112
137
106
88
62
22
14
89
20
0
28
0
0
0
1
13
72
27
23
76
62
61
70
70
59
0
25
86
100
101
96
207
174
197
201
181
188
196
171
198
186
199
124
169
192
137
187
189
126
175
135
138
139
198
174
173
152
147
177
136
196
124
132
199
156
167
222
128
131
136
78
167
115
200
179
148
132
128
209
136
188
215
191
142
155
192
192
197
198
199
199
199
197
197
196
144
197
198
147
201
150
150
151
153
153
205
207
156
156
157
210
212
215
216
165
164
165
167
221
222
221
221
171
222
222
221
221
221
221
165
165
164
161
160
159
159
157
157
208
207
206
205
205
204
151
150
201
200
200
199
198
146
145
145
196
144
144
142
194
140
139
191
190
190
191
138
137
136
187
187
186
186
184
183
181
179
178
126
125
176
175
122
121
120
119
118
117
168
168
169
118
118
119
172
172
121
174
174
174
176
124
124
125
127
181
184
186
188
189
189
190
140
146
199
199
200
201
202
150
155
207
207
205
198
141
162
164
219
193
156
123
141
37
19
80
26
32
43
0
18
59
43
39
78
79
27
54
100
63
0
0
0
0
33
31
26
26
32
61
46
38
42
40
26
6
52
0
0
26
26
49
71
54
76
26
172
120
122
125
126
128
180
129
129
181
181
181
181
129
131
183
184
184
131
182
181
133
124
114
104
84
115
103
72
25
24
39
79
47
33
35
42
0
5
9
0
0
25
4
49
52
57
5
0
13
57
23
46
61
36
202
181
149
137
184
187
127
166
200
161
147
95
136
194
124
133
185
128
178
131
186
187
146
171
174
157
137
113
183
196
120
139
189
147
140
177
116
146
129
129
169
130
146
191
146
105
134
213
142
190
194
194
196
150
147
200
145
197
198
199
199
198
197
196
197
198
199
148
202
151
152
153
155
207
207
156
210
157
158
211
213
216
165
166
217
217
167
168
169
221
220
223
223
222
222
169
169
169
217
217
164
161
212
159
159
157
157
208
207
154
153
205
204
152
150
149
149
148
148
199
198
198
146
197
197
145
143
194
193
140
191
191
139
192
191
138
190
189
188
188
135
133
183
182
180
179
126
126
125
175
174
173
172
119
171
170
117
169
170
119
119
119
172
172
121
174
175
175
178
178
127
128
130
131
135
189
191
192
140
141
195
207
205
205
204
205
151
150
200
202
205
204
153
154
143
149
212
209
204
220
182
39
36
126
86
30
51
27
64
54
86
62
42
20
47
6
39
44
0
0
55
35
26
0
58
34
26
33
37
43
0
3
40
0
1
0
0
76
61
26
26
16
60
78
169
171
173
177
126
126
178
180
128
181
182
183
184
132
133
133
187
187
134
185
182
127
124
110
97
100
146
122
38
74
38
53
102
85
15
0
42
4
0
0
12
21
2
4
14
16
2
49
8
0
18
43
18
6
62
158
204
138
190
179
153
163
213
115
133
123
136
125
186
181
134
183
132
135
136
134
147
97
185
129
154
96
145
197
167
192
189
139
65
150
178
167
97
117
127
144
149
126
160
119
137
135
215
185
203
187
136
142
139
139
191
198
198
198
146
198
198
198
144
198
200
201
201
204
206
207
155
156
209
210
211
211
162
162
163
163
164
216
216
216
217
218
219
219
218
218
219
167
167
219
167
167
167
217
217
164
215
162
161
161
158
158
157
156
155
206
206
153
205
203
203
150
149
149
149
149
147
146
197
197
144
196
196
143
143
194
194
142
194
141
140
139
139
190
190
135
133
184
182
180
179
127
177
124
175
174
174
173
121
175
174
173
172
119
118
118
119
119
173
174
175
176
176
180
181
131
185
135
189
191
139
141
195
197
199
200
202
150
202
203
204
153
153
207
207
207
207
155
155
155
205
206
207
208
208
156
150
184
118
118
51
26
17
49
47
0
0
17
0
93
53
39
44
17
0
1
0
60
32
27
26
48
26
58
0
0
35
0
0
0
0
0
32
5
53
30
26
34
42
118
119
121
177
126
178
126
179
127
180
182
130
131
183
184
183
184
185
186
185
183
132
175
118
108
158
108
103
73
116
70
82
98
26
39
20
11
44
12
0
0
9
4
2
11
16
5
0
4
7
70
61
0
0
58
121
175
175
175
145
149
173
165
119
169
116
181
130
130
177
134
140
189
129
124
179
136
112
209
189
119
158
157
184
131
181
122
90
187
154
198
184
103
146
138
97
148
131
148
111
125
157
115
118
138
134
191
144
140
138
193
198
146
198
146
146
146
198
197
147
201
202
202
153
207
209
209
158
158
211
212
161
163
163
216
216
217
217
217
216
217
218
219
219
218
218
219
219
219
219
167
167
167
217
217
216
215
162
213
161
158
158
157
208
155
206
154
154
205
204
203
202
150
149
201
200
199
147
146
197
197
198
198
145
144
144
196
196
196
143
142
193
192
140
140
189
135
134
184
183
182
181
179
178
177
177
176
175
175
178
125
176
176
123
123
122
122
122
124
177
126
179
179
180
182
184
134
136
189
193
194
195
197
199
201
150
154
206
207
208
208
209
158
157
157
209
209
157
157
209
210
210
212
213
214
162
158
217
156
202
201
184
60
38
23
37
53
0
0
54
0
0
69
1
14
38
46
45
18
53
34
73
26
33
13
45
30
0
0
57
3
60
26
67
50
45
43
26
26
118
172
174
125
125
177
177
126
127
127
129
182
182
131
131
131
132
185
186
184
182
187
126
121
114
157
162
118
67
79
117
35
99
90
108
104
0
54
0
0
52
58
52
2
8
9
0
0
4
9
15
0
0
4
86
55
157
192
156
171
139
112
127
111
185
121
193
120
134
183
188
135
182
177
179
190
161
140
137
174
151
116
181
172
182
175
154
102
150
140
150
111
145
188
131
94
136
140
137
115
191
206
182
188
131
134
141
144
141
189
143
146
146
146
146
146
146
146
145
199
149
202
203
154
156
210
158
158
211
212
213
214
164
164
164
217
217
218
218
164
165
166
167
167
166
166
167
219
167
167
167
167
167
217
165
216
215
162
161
161
158
210
157
208
207
154
206
206
206
204
203
203
150
150
149
149
200
199
199
198
198
199
199
146
146
146
145
197
197
196
196
195
194
141
141
139
137
136
134
133
183
183
129
180
179
127
178
177
177
126
178
177
177
176
176
176
174
175
176
126
179
128
128
130
183
185
187
137
139
143
144
197
199
201
151
204
207
207
208
209
209
210
159
160
160
160
212
212
160
160
163
215
216
218
167
220
217
158
206
217
147
163
99
85
20
101
83
15
0
58
1
0
0
0
0
79
26
30
74
86
23
43
26
0
0
50
0
19
5
59
9
7
0
30
66
56
36
38
0
120
121
174
177
177
176
176
125
125
126
179
180
129
181
129
129
182
130
184
184
183
186
131
174
121
112
107
169
151
101
102
122
68
65
15
107
95
0
28
41
54
36
47
53
49
0
0
0
4
8
3
0
5
21
43
84
166
124
191
170
126
122
147
128
118
180
131
187
128
129
129
181
183
134
184
126
180
181
195
169
177
183
131
165
127
167
165
166
138
170
169
123
193
196
104
118
121
144
113
121
153
159
150
197
180
191
143
140
143
192
144
146
198
146
198
146
146
146
147
149
203
204
204
207
157
210
158
159
160
212
214
214
215
163
164
216
217
217
217
164
165
166
219
219
218
218
219
167
219
219
219
219
219
217
165
164
163
162
161
161
210
210
209
208
207
154
154
207
154
205
204
151
151
202
151
151
150
150
202
202
202
202
202
202
149
149
200
200
200
148
147
198
197
197
196
195
141
140
190
137
187
135
133
184
183
183
130
181
181
127
179
127
127
179
179
179
126
179
180
181
130
131
184
187
189
191
141
143
144
147
200
201
203
205
207
208
156
208
209
210
210
159
160
165
217
217
165
217
217
165
168
222
222
172
174
174
227
176
174
222
218
206
226
211
123
84
16
25
38
0
0
4
10
2
31
7
66
48
46
26
74
74
7
9
0
26
2
69
22
13
7
0
10
69
79
26
0
63
26
120
121
123
124
124
176
124
176
124
177
178
127
128
180
127
127
129
181
181
183
183
180
188
124
132
180
116
116
115
178
176
117
129
108
51
28
50
98
69
45
55
73
61
42
0
0
0
0
0
0
54
62
60
80
35
120
146
181
189
127
120
87
131
178
175
143
179
183
171
184
129
130
132
185
184
181
191
109
161
137
137
206
103
156
178
136
222
183
128
169
150
176
192
193
95
157
125
138
115
188
199
182
120
147
185
196
142
136
144
143
143
146
146
146
146
146
146
198
200
202
204
153
205
208
158
157
157
158
159
160
161
161
162
162
215
215
216
216
216
216
165
218
219
219
218
218
219
219
167
219
219
219
219
165
165
164
163
214
161
161
158
158
209
208
207
154
154
207
207
153
153
204
203
151
205
205
153
153
153
205
205
204
204
203
151
203
202
202
202
201
149
148
199
198
198
145
144
142
192
191
138
189
187
134
186
185
132
183
183
133
133
133
133
185
186
186
133
186
187
137
138
191
139
140
194
196
146
148
149
201
150
151
153
207
209
159
160
213
213
214
215
216
164
167
167
219
219
219
219
167
166
220
169
170
173
174
177
227
238
166
230
232
234
219
214
200
191
160
107
74
137
20
52
53
33
70
2
82
50
0
26
38
0
0
0
38
0
36
20
0
0
0
64
73
0
42
0
0
28
173
122
123
126
126
177
177
124
176
176
177
126
126
126
128
127
127
181
129
181
183
182
182
128
127
178
178
178
111
135
98
177
109
87
87
120
54
63
35
21
33
95
61
0
0
0
0
0
0
46
48
53
81
75
55
85
188
157
184
126
88
124
178
180
129
173
180
138
133
124
137
114
140
182
181
142
172
112
176
162
165
122
152
173
143
207
191
167
118
143
131
179
210
121
166
144
136
111
106
153
127
183
184
188
192
139
140
140
142
141
143
145
145
145
198
146
147
147
150
202
203
204
154
208
156
158
158
211
160
212
214
214
215
163
215
164
217
217
217
164
164
164
164
164
164
164
218
218
166
218
218
166
166
164
164
216
163
214
162
162
157
157
209
156
155
207
155
155
155
154
154
205
205
153
153
205
153
205
205
205
205
204
204
204
152
204
152
152
204
203
202
202
201
200
200
198
145
144
195
195
194
194
191
137
135
186
134
186
186
136
136
189
137
190
190
190
190
139
139
140
141
142
142
199
200
149
151
152
153
153
153
206
155
156
210
158
162
214
215
215
216
217
165
170
170
222
171
224
225
174
219
218
168
221
222
171
174
175
176
176
177
229
228
228
240
224
217
173
169
109
51
105
76
48
41
27
79
49
63
0
0
0
2
52
26
0
0
0
0
39
60
14
32
0
0
9
0
0
37
120
121
123
125
125
177
125
176
124
176
125
177
177
125
126
177
125
179
126
127
179
179
180
128
128
127
179
179
165
189
112
162
126
49
39
54
52
73
87
58
2
0
0
0
0
0
39
4
19
60
72
68
76
70
65
108
148
162
148
83
112
119
116
128
128
171
173
186
185
123
129
118
128
128
95
140
113
173
179
166
161
155
153
70
223
193
171
165
187
124
180
183
131
101
166
133
130
167
180
192
155
199
168
132
194
193
142
142
143
142
144
197
197
197
198
146
199
199
201
150
203
204
205
207
208
157
157
210
211
212
213
213
162
162
215
215
216
164
216
164
164
216
216
216
216
216
217
217
217
217
217
165
165
216
163
163
162
214
162
162
209
209
209
208
208
208
207
155
155
155
154
154
154
205
205
205
153
205
153
205
153
153
153
153
205
153
153
205
153
152
151
202
202
201
201
199
198
146
145
196
143
143
144
141
140
191
191
140
140
142
194
195
143
196
144
144
147
199
200
149
202
202
150
204
205
206
207
208
157
159
160
161
214
163
164
217
221
221
221
222
223
224
172
174
175
227
228
229
230
231
222
170
221
222
170
170
172
172
172
174
174
227
227
175
240
248
191
227
224
209
179
66
76
62
0
163
83
208
82
7
58
65
67
0
0
0
28
40
0
61
35
0
0
0
67
30
0
0
27
172
121
174
176
124
124
124
176
176
124
176
124
176
176
124
174
122
122
175
123
175
123
175
125
125
177
177
125
187
116
134
165
183
126
92
47
35
0
26
0
26
36
0
7
7
52
48
50
4
54
50
45
58
12
62
91
152
119
128
112
103
100
122
128
182
138
131
176
176
125
136
182
56
55
58
68
112
177
86
85
82
116
117
170
167
145
141
81
25
81
189
188
156
153
183
188
174
155
195
140
122
204
153
134
196
196
196
144
144
143
144
145
145
197
198
146
147
199
149
149
150
203
204
154
155
155
156
208
209
158
211
160
161
213
213
161
162
162
215
163
215
215
215
215
215
163
216
216
216
164
164
164
164
215
163
162
162
161
161
161
158
210
210
209
209
208
208
156
156
155
155
207
206
206
154
154
154
154
154
154
154
154
154
206
206
154
154
154
155
154
153
204
203
203
202
150
149
148
199
198
198
146
145
195
142
142
195
143
196
201
150
150
203
151
151
203
204
204
205
154
155
155
156
159
211
160
161
213
162
215
216
165
166
219
220
221
224
173
225
226
175
228
228
176
176
229
230
179
179
232
229
177
176
176
175
175
174
227
175
175
176
228
176
228
248
238
232
235
180
168
226
236
168
125
44
92
178
180
180
110
59
23
49
37
53
0
32
0
0
37
0
0
40
56
38
55
0
0
30
119
172
122
124
124
124
123
176
176
124
123
175
123
175
174
175
175
121
122
121
121
173
173
174
122
122
174
176
174
141
167
165
181
106
93
90
33
63
49
0
41
44
69
39
38
0
54
53
51
0
1
0
0
0
57
87
62
96
126
100
97
164
118
124
133
131
126
137
191
174
171
74
24
87
213
110
145
20
42
65
45
117
68
130
137
120
95
114
61
96
83
129
149
183
191
171
171
180
193
119
127
140
118
189
145
144
144
196
144
143
195
145
197
197
146
146
147
147
200
149
202
203
204
206
207
207
155
156
208
209
159
159
160
212
212
161
161
162
214
162
162
162
162
214
214
214
215
215
163
163
163
163
215
214
214
162
161
213
161
160
159
210
210
209
157
209
209
157
156
156
207
207
207
155
155
155
155
155
155
155
155
155
155
155
155
207
207
155
155
154
206
205
152
151
151
151
150
149
148
148
147
199
147
197
196
144
197
197
198
152
152
204
205
153
205
205
205
206
207
207
156
157
157
161
162
214
215
215
164
217
217
218
219
221
222
171
174
174
175
176
176
229
230
229
178
178
231
180
233
234
183
235
182
181
180
180
177
178
178
178
178
177
229
231
235
188
185
228
230
180
168
244
105
151
101
124
226
170
168
175
138
75
62
49
40
39
0
0
0
52
47
11
0
45
70
26
44
26
0
119
172
173
124
176
175
175
124
176
124
123
174
174
174
120
121
121
120
120
172
118
119
171
171
121
121
173
121
181
134
182
194
195
86
0
75
8
20
32
34
19
49
53
4
53
46
0
43
47
1
0
0
0
55
0
6
80
83
4
64
104
61
111
150
156
96
124
116
104
77
205
41
35
0
11
43
8
13
61
9
0
42
71
0
74
156
149
113
139
114
192
179
95
128
181
116
148
186
181
117
170
119
135
146
145
144
196
195
143
142
142
145
197
145
146
146
147
147
148
148
201
202
204
206
206
206
154
207
156
208
210
158
159
211
211
212
161
161
161
214
214
214
214
162
214
214
214
214
162
162
162
162
162
162
214
162
161
160
160
212
211
211
211
210
209
209
209
157
157
156
208
207
155
155
155
207
155
155
155
155
155
156
156
156
156
156
208
156
156
207
154
206
205
204
204
152
151
203
150
149
148
200
203
150
149
201
150
151
152
153
205
205
206
206
155
155
209
210
210
211
160
161
161
216
216
216
217
217
217
170
170
223
224
225
226
175
231
179
179
180
181
182
234
234
235
183
236
185
238
186
194
246
245
193
190
189
185
184
182
182
181
233
180
232
237
175
226
235
234
173
184
186
182
182
240
209
209
185
187
190
236
231
129
94
122
0
0
39
0
14
21
6
67
44
52
41
37
0
0
120
120
121
174
175
124
176
176
176
123
123
122
174
174
173
173
172
120
119
119
119
120
172
173
173
174
122
122
128
182
174
157
96
59
86
5
29
95
0
15
10
26
63
3
0
31
49
43
0
0
0
0
48
50
55
11
10
66
73
25
34
94
41
42
200
107
12
0
102
156
44
15
17
68
0
60
51
0
49
0
14
9
115
2
40
53
36
147
153
139
125
132
97
122
176
167
109
198
171
118
154
119
134
144
143
143
195
196
198
199
200
145
145
145
198
146
199
199
147
148
148
149
202
203
204
205
153
206
155
208
157
158
158
210
210
211
211
212
212
211
160
213
214
162
213
213
213
213
161
161
161
161
161
161
161
213
213
213
161
213
212
212
212
212
212
160
160
157
209
156
208
208
207
207
208
156
156
156
156
156
208
208
156
208
208
208
208
208
155
207
206
154
153
205
205
206
206
153
205
153
152
152
205
205
205
153
153
153
153
207
207
208
209
210
158
211
212
213
214
215
216
165
166
167
219
220
220
220
169
222
223
224
174
227
229
178
234
183
183
184
185
238
238
239
240
240
240
241
189
190
243
242
242
190
189
189
188
186
186
186
238
237
237
237
184
236
184
184
183
182
182
183
183
183
182
182
181
181
167
169
169
224
232
227
216
149
191
194
22
0
65
12
69
57
12
7
26
0
46
171
119
120
122
122
123
123
176
175
123
122
122
122
174
173
172
120
119
171
119
119
171
171
172
172
172
121
173
120
129
182
175
80
38
33
27
69
51
36
0
5
15
62
37
40
3
0
0
0
2
0
0
50
53
7
13
61
12
63
63
21
76
68
150
37
0
74
92
63
25
42
32
18
50
35
17
80
44
0
0
10
0
116
59
82
36
58
98
135
177
99
68
150
108
159
147
186
130
97
201
204
109
151
144
144
144
144
145
147
147
199
197
145
146
198
147
147
199
148
148
148
149
202
203
203
153
153
154
154
155
156
157
210
210
158
210
211
159
212
210
211
160
162
162
213
212
212
160
160
160
160
160
160
213
161
213
161
213
213
213
212
212
212
212
212
212
212
209
209
209
208
208
208
155
156
208
208
208
208
208
208
208
208
156
208
208
208
208
207
207
155
154
206
206
154
155
206
154
154
205
153
153
206
154
206
206
206
154
154
156
156
157
210
159
159
212
161
214
215
165
218
219
219
170
170
222
223
223
223
171
172
173
227
228
178
179
184
184
184
185
186
239
239
189
241
241
241
242
190
243
244
192
243
243
242
242
190
188
240
239
239
238
238
237
237
185
185
184
184
183
235
236
184
183
183
183
182
182
175
179
231
229
231
182
236
227
156
173
167
20
73
94
0
0
52
65
37
0
0
117
118
170
120
121
173
174
123
123
122
122
121
121
173
172
120
119
171
118
118
118
170
170
170
170
170
118
169
174
177
173
179
117
71
21
94
47
43
26
57
55
70
9
49
54
63
27
0
0
48
0
4
57
56
5
7
56
57
52
54
18
79
70
0
1
45
62
0
0
0
0
0
0
41
49
83
87
99
60
27
0
24
26
37
57
175
115
104
115
97
121
118
150
148
86
109
172
200
162
230
176
151
212
144
152
201
149
148
150
149
149
200
148
200
201
149
150
202
150
150
150
150
151
203
203
153
206
154
206
206
207
155
157
209
209
210
210
211
211
210
210
160
161
161
160
160
211
159
159
211
211
211
159
160
212
212
212
212
212
212
212
212
212
160
160
212
212
210
210
209
157
209
208
208
208
208
208
208
208
208
208
157
157
157
157
157
157
209
207
207
207
207
207
155
155
155
207
155
207
208
156
156
156
156
156
208
156
156
156
159
160
212
161
162
163
163
165
218
219
221
222
171
171
223
172
224
224
225
225
227
227
228
178
232
181
182
239
239
240
240
241
242
243
192
244
192
193
193
193
246
247
195
246
246
246
245
193
192
192
243
242
241
188
187
188
187
187
239
238
186
186
185
185
237
237
236
184
183
177
230
183
239
240
238
185
185
183
188
170
187
191
139
198
179
162
156
79
2
7
116
116
117
119
119
120
120
174
122
122
121
173
120
172
171
171
119
118
118
117
117
119
171
170
117
117
169
168
166
165
179
121
178
181
113
84
149
79
64
54
34
50
24
17
69
78
65
13
7
0
41
48
0
1
0
54
44
49
52
50
0
0
41
42
9
41
27
0
3
0
0
0
0
0
26
54
73
103
99
84
69
117
105
57
78
53
119
72
143
85
82
38
41
129
133
87
55
152
185
194
155
202
205
151
158
158
156
155
152
151
151
152
152
204
205
205
206
154
153
205
153
153
205
205
205
156
207
155
155
155
207
155
156
156
157
209
210
158
158
209
158
159
160
212
212
159
209
209
157
157
157
209
209
159
211
159
159
159
159
211
212
212
212
212
212
160
160
211
211
210
210
209
209
209
208
156
156
208
208
208
208
208
208
156
156
156
208
208
207
155
156
208
157
157
209
156
208
209
209
157
210
158
156
208
208
156
156
156
156
162
162
163
164
165
165
166
169
222
223
224
225
174
175
175
228
228
228
177
177
229
178
231
181
182
184
185
241
242
242
243
244
193
193
246
247
247
247
196
196
197
198
249
249
249
196
196
247
196
195
246
245
244
190
189
190
190
241
241
240
240
188
239
187
238
238
238
185
185
196
189
186
240
238
237
187
196
182
185
187
234
188
178
184
190
184
230
189
142
114
116
168
169
118
119
172
120
122
122
122
121
120
172
172
171
171
171
118
169
117
117
119
119
170
117
117
117
116
173
158
121
116
121
122
155
168
140
97
106
32
33
43
95
81
21
23
33
24
60
43
38
0
0
0
0
42
40
42
0
0
0
1
54
33
0
42
52
26
32
0
0
0
0
0
26
48
55
33
117
69
144
108
82
26
138
30
155
72
65
25
66
87
86
128
123
77
62
78
197
204
143
197
200
148
212
159
157
157
153
153
204
205
205
205
154
154
155
207
206
154
154
154
154
206
153
156
156
156
156
156
207
207
208
208
208
209
210
158
158
157
158
159
160
212
159
159
157
209
209
209
157
157
209
211
211
211
211
159
211
211
212
212
212
212
212
160
212
211
159
210
210
209
209
209
208
156
208
156
156
208
156
155
155
155
155
207
207
155
207
207
156
156
157
209
209
208
208
209
209
158
210
159
156
208
208
208
208
208
156
162
215
164
165
165
218
218
170
170
172
225
226
227
227
178
178
178
179
179
179
230
231
232
233
235
185
186
190
190
191
192
193
245
246
247
247
248
248
248
249
197
250
250
250
249
249
197
196
249
248
247
246
244
242
190
190
242
242
241
189
240
240
239
239
239
238
238
237
185
174
174
233
188
186
239
243
189
190
187
186
236
230
182
189
183
182
234
237
206
155
169
169
169
170
119
119
171
120
120
120
120
120
120
172
170
170
170
170
170
118
170
169
117
116
116
167
167
115
163
165
117
120
175
122
121
115
156
119
106
105
114
72
34
98
89
72
80
21
74
79
53
4
2
53
45
26
0
0
35
0
6
49
50
27
57
3
11
0
36
32
49
42
37
37
33
32
44
56
0
50
64
67
18
0
1
61
51
59
30
84
92
85
57
39
98
40
47
68
64
149
131
213
187
149
158
157
159
159
159
156
206
159
211
211
159
211
211
211
211
211
159
210
210
157
157
210
158
158
157
208
207
206
207
207
207
208
209
157
209
208
208
157
157
158
158
210
210
210
210
210
210
158
210
211
211
211
212
161
161
213
213
213
213
161
161
161
213
211
211
210
210
209
209
209
208
208
208
208
156
208
208
157
156
208
207
207
206
154
156
208
208
156
208
208
156
210
211
211
159
212
212
212
161
211
210
158
159
160
160
215
216
217
166
219
168
169
174
175
228
229
178
179
232
232
232
180
180
180
180
233
234
235
236
237
186
239
190
191
192
193
194
247
248
250
250
251
199
200
200
252
252
252
252
252
252
200
200
252
251
250
249
196
246
193
193
244
244
243
190
189
189
190
242
241
241
241
240
240
229
230
230
230
231
233
233
235
235
236
184
234
233
181
179
179
177
178
230
229
229
118
170
170
118
170
118
118
171
119
119
119
119
119
171
169
169
117
117
169
169
169
169
169
116
168
167
167
167
111
164
115
117
118
170
117
169
166
157
94
135
122
113
109
118
44
96
109
95
18
26
101
90
21
0
0
52
39
0
45
0
0
31
41
0
22
24
9
3
69
50
38
32
36
0
40
0
0
0
0
41
41
0
0
56
0
1
52
10
30
20
76
14
28
51
13
28
0
41
45
26
161
138
191
216
209
210
159
159
160
161
160
215
215
163
163
163
163
163
215
215
215
214
214
161
161
160
160
160
159
210
209
208
157
157
209
209
209
209
209
155
155
207
207
156
156
208
209
209
158
158
158
159
159
160
160
212
212
160
212
212
212
160
212
160
160
160
160
158
210
209
209
209
208
208
208
208
208
208
208
208
156
154
206
206
206
206
206
206
156
156
157
209
209
209
210
212
212
160
161
161
161
214
162
160
212
160
161
162
163
218
218
168
169
222
171
171
177
177
231
232
233
182
182
235
235
183
183
183
235
236
237
237
239
240
241
242
244
245
194
195
196
249
250
200
201
253
253
202
202
254
254
254
254
254
254
254
254
254
254
253
252
199
198
250
249
249
248
247
246
193
193
192
244
191
243
242
241
189
233
181
181
234
232
232
232
232
232
233
232
231
230
178
173
173
173
174
176
229
230
118
170
170
170
170
118
170
171
171
119
119
119
119
119
169
169
169
117
169
169
169
169
169
168
168
115
115
167
164
112
166
166
114
168
168
162
111
113
161
149
135
126
66
64
110
124
55
25
66
66
36
85
47
79
0
0
31
0
0
0
0
0
57
0
40
39
69
67
88
19
0
38
38
0
30
31
39
0
0
0
26
0
0
30
50
32
35
55
67
19
71
57
19
38
0
6
0
0
58
26
64
135
145
167
210
159
160
161
161
214
214
215
215
163
163
163
163
163
165
217
216
164
163
163
163
162
161
161
160
211
210
210
209
157
209
209
209
209
157
155
207
207
207
155
155
155
157
209
209
210
211
159
211
212
212
212
212
160
212
212
160
212
212
212
212
160
212
210
210
209
209
208
208
156
208
208
208
208
208
208
208
206
206
154
206
206
154
206
156
156
209
209
158
210
211
212
161
161
214
162
162
214
214
161
213
214
163
164
165
167
168
221
222
224
224
173
178
179
232
233
235
235
236
237
185
185
237
185
185
186
238
239
240
241
243
191
245
246
195
196
197
250
251
254
254
202
254
255
203
204
255
255
255
204
255
255
255
255
255
203
202
202
201
252
251
251
250
250
249
195
195
246
246
245
244
244
242
190
240
239
239
186
182
234
234
232
232
179
179
179
178
178
171
225
173
174
228
229
230
171
119
119
170
169
169
169
170
170
170
170
118
118
118
116
116
116
116
168
168
116
169
169
168
168
115
115
115
114
114
114
111
111
165
164
113
113
116
119
173
177
179
148
135
93
115
75
86
35
26
38
103
57
97
95
59
23
79
12
3
4
42
0
36
33
81
79
30
40
71
64
43
35
0
0
0
61
0
0
3
51
44
0
0
0
26
32
0
103
128
53
31
28
73
57
23
23
55
95
9
26
96
185
137
162
163
163
162
162
214
216
216
216
164
164
164
164
216
166
166
166
165
165
164
164
216
163
163
162
161
160
212
159
159
159
210
209
157
157
209
156
156
156
207
206
154
156
208
209
158
159
160
160
161
161
161
160
159
159
159
159
159
159
211
211
159
159
157
157
208
208
156
155
207
156
156
156
156
156
208
156
154
154
207
208
208
208
209
208
157
209
210
211
160
160
214
214
163
163
163
164
216
216
163
215
216
165
167
168
222
223
172
225
226
227
176
181
234
235
236
237
238
239
240
188
240
188
188
240
240
241
242
191
244
245
194
196
196
197
198
251
252
201
204
255
204
255
255
255
206
206
206
206
206
206
206
206
206
206
206
206
205
255
255
203
255
254
254
201
200
199
251
251
250
249
195
245
193
199
249
249
195
242
190
188
236
236
182
181
180
179
179
177
229
229
228
228
228
176
170
118
118
169
116
168
168
168
168
168
116
116
116
168
118
118
170
118
170
118
118
168
168
168
116
116
116
116
115
115
166
166
165
113
113
112
112
112
164
112
164
164
111
106
88
87
152
82
91
32
43
46
91
82
43
45
53
10
33
72
66
11
0
38
79
27
90
18
77
24
39
0
1
10
8
60
42
13
46
87
3
4
0
83
45
26
0
90
107
112
54
26
45
95
86
35
9
26
63
36
43
26
128
153
151
169
152
167
155
172
168
164
216
216
217
165
166
218
218
166
218
165
165
164
216
213
161
161
160
160
211
159
159
159
158
157
208
155
155
155
155
207
155
155
155
155
156
156
156
209
158
158
158
159
211
158
158
210
210
210
210
210
210
211
160
160
160
159
159
158
210
157
157
157
158
158
158
158
210
158
158
157
157
157
157
209
209
157
157
209
210
158
211
211
211
162
163
164
216
217
166
166
215
216
217
219
168
169
221
173
174
175
177
178
179
179
181
234
236
238
239
240
189
191
191
191
191
191
242
245
245
246
194
195
248
197
199
199
252
200
201
254
203
205
205
255
255
255
255
255
208
208
208
208
208
208
255
208
255
255
255
208
255
208
206
255
255
205
255
204
204
204
255
202
201
199
196
196
195
194
193
244
241
187
187
187
187
238
237
234
233
233
232
232
232
231
230
230
230
118
118
117
117
168
168
116
168
116
116
168
116
168
116
118
118
118
118
118
118
118
116
168
168
116
116
116
116
115
167
166
114
166
165
165
164
164
112
164
112
112
112
110
121
111
102
144
56
8
111
46
107
105
94
44
87
81
45
44
55
88
11
0
61
67
53
20
41
89
68
66
56
7
22
45
2
106
66
78
91
41
84
45
38
0
57
0
14
93
39
81
44
88
87
110
107
119
35
89
25
43
83
0
81
103
192
179
155
219
206
214
164
164
165
217
217
218
218
218
166
218
165
165
164
164
162
214
213
213
213
212
212
159
159
158
158
208
207
207
207
155
155
155
155
155
155
208
208
156
157
157
158
158
211
211
159
159
158
210
210
210
158
210
211
212
160
160
159
159
158
210
157
157
209
158
158
158
158
158
158
158
157
157
157
157
157
209
209
209
210
210
210
211
211
211
214
215
164
217
165
166
218
216
217
218
168
169
170
170
174
175
176
229
178
179
231
234
235
237
186
188
241
242
192
192
192
192
243
191
193
194
194
195
196
197
249
199
252
252
201
202
255
203
205
205
255
206
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
207
255
255
206
255
205
205
205
255
255
253
252
197
248
247
247
246
244
189
188
187
187
239
186
185
182
181
233
232
232
232
231
231
230
230
169
117
117
168
168
115
167
166
114
114
114
166
166
114
116
116
116
117
117
117
117
116
168
168
116
116
168
116
116
116
167
167
166
166
114
114
166
114
114
114
166
166
124
115
167
114
167
170
110
76
115
125
114
43
103
110
125
59
118
107
58
58
55
21
19
90
0
61
11
65
80
68
108
35
10
21
60
94
100
120
42
74
74
68
40
0
25
0
121
60
125
67
48
105
126
123
141
53
50
93
49
198
22
34
12
119
177
234
208
222
219
217
165
165
218
218
219
219
218
218
218
165
165
164
164
216
215
215
215
162
162
162
212
212
211
210
209
208
208
155
155
155
155
155
207
155
154
207
155
156
156
156
156
158
158
211
211
211
160
160
211
211
211
159
211
159
159
159
159
210
210
157
209
157
158
158
158
158
158
158
158
158
158
158
210
158
158
210
211
211
159
212
212
160
161
163
164
217
218
219
219
220
219
168
170
171
172
173
225
228
229
230
231
232
233
182
237
238
239
241
191
192
192
194
247
195
195
247
196
197
197
198
251
199
200
253
202
202
203
255
255
205
206
207
208
208
208
209
209
209
255
255
255
255
255
255
255
255
255
255
255
210
255
255
210
210
255
209
255
208
208
255
255
255
255
254
251
250
249
248
247
245
190
189
188
240
239
187
185
183
182
182
181
233
232
232
231
179
179
116
116
116
115
167
115
114
113
165
165
113
165
165
165
165
165
166
115
116
116
169
168
168
168
116
116
116
116
169
116
116
167
167
167
167
167
115
115
115
115
115
115
129
126
182
178
174
171
168
161
163
127
174
89
58
25
28
120
108
92
110
46
126
85
45
100
39
69
0
79
0
16
9
53
107
87
26
72
55
21
97
96
85
80
151
82
79
0
0
40
74
156
73
42
105
145
137
17
80
96
72
51
50
0
25
3
94
151
229
161
163
166
166
166
166
219
219
220
218
218
218
217
165
216
216
216
216
164
163
163
162
214
213
212
212
211
157
209
208
207
207
207
207
155
155
155
153
205
153
154
154
207
207
208
156
209
210
159
211
160
160
160
159
211
211
158
210
211
159
158
158
209
209
157
210
158
158
158
158
158
158
159
159
159
159
159
211
211
212
161
161
213
214
214
214
165
166
167
168
220
221
169
169
170
171
173
174
175
227
230
231
232
233
235
183
184
240
189
191
192
246
247
248
197
198
251
251
200
201
253
253
202
255
255
204
205
255
206
255
207
208
209
209
210
210
210
255
255
211
212
213
213
213
213
213
255
255
255
255
255
213
213
213
213
212
255
255
255
211
210
255
209
208
207
206
204
253
253
250
250
197
247
244
191
190
241
188
187
186
184
235
234
234
233
233
181
232
180
180
116
116
168
115
115
114
114
112
164
164
112
164
164
164
164
164
165
167
116
116
116
168
168
168
168
116
116
116
117
169
168
168
115
115
115
168
116
116
116
116
168
116
176
170
170
118
123
180
127
124
169
177
180
170
104
76
29
84
83
91
28
71
78
73
7
98
102
50
64
58
96
75
27
7
35
80
44
66
82
29
39
13
101
144
22
57
17
0
0
0
29
53
41
78
131
124
103
0
21
75
72
56
3
2
9
8
26
103
200
164
211
166
166
218
219
219
220
220
218
166
218
217
165
216
216
164
163
163
215
214
214
162
213
213
160
211
158
209
209
207
207
207
155
155
155
207
204
152
153
205
154
154
206
207
207
155
157
158
159
159
160
212
160
211
210
210
210
159
159
210
158
209
209
209
210
210
158
158
158
158
158
159
159
211
159
211
211
159
161
213
214
214
214
215
215
218
219
219
220
221
170
170
169
223
172
173
226
227
227
231
232
181
234
235
184
237
189
190
192
245
195
196
249
251
199
252
253
202
202
254
255
255
255
255
206
206
206
207
207
208
209
255
210
211
211
255
255
255
212
213
214
214
214
214
214
214
255
255
255
214
214
214
214
214
212
255
255
255
255
255
255
210
209
208
255
205
202
253
251
250
197
196
192
191
191
241
189
188
187
236
235
235
234
182
233
181
232
232
232
115
115
167
166
165
165
113
163
163
163
111
163
163
163
165
165
165
114
166
166
166
168
168
117
117
117
170
170
117
117
117
169
117
169
117
116
168
169
169
118
118
118
171
119
173
121
121
122
122
177
179
127
128
181
182
183
165
154
88
72
128
118
31
92
30
22
23
21
80
31
23
34
81
119
95
32
0
0
42
80
74
0
0
0
45
46
0
4
5
55
54
1
51
51
53
55
55
49
55
70
74
85
82
37
0
0
33
80
74
170
157
165
168
169
219
218
220
167
217
217
217
164
216
215
163
161
161
213
213
161
161
161
161
161
161
160
159
159
159
157
209
208
155
206
205
205
205
153
153
153
153
205
205
204
204
205
208
157
158
211
158
158
211
211
212
160
212
209
209
157
209
157
209
209
210
210
210
210
210
158
158
210
210
211
211
160
160
212
160
213
214
216
217
166
166
168
220
221
169
170
222
222
223
172
173
175
228
229
229
233
235
184
186
239
240
241
191
193
194
196
249
250
251
200
201
254
204
255
255
255
206
255
255
255
255
210
210
210
210
211
211
255
255
214
214
214
215
215
216
216
216
216
216
216
216
216
216
255
217
217
255
216
215
255
215
215
255
255
214
255
255
255
210
209
208
206
203
255
201
200
251
198
195
245
193
242
242
241
240
237
236
236
235
183
182
181
180
231
231
167
166
166
165
165
165
113
163
163
163
111
163
163
163
162
163
111
164
164
113
113
167
167
168
116
117
117
169
170
118
118
118
170
118
170
169
169
170
118
118
119
171
168
117
117
118
171
121
121
124
176
178
179
127
130
182
131
185
180
169
169
159
80
52
46
71
59
48
85
128
78
94
64
91
38
25
34
29
83
124
3
0
2
0
2
63
13
12
9
63
66
66
65
65
67
69
69
11
9
69
72
27
24
79
81
0
69
0
49
133
180
165
165
165
164
216
216
217
217
216
216
164
163
163
215
213
213
213
161
161
161
161
161
213
213
160
159
159
211
209
208
208
155
205
205
204
203
203
151
151
151
151
151
151
203
204
206
155
156
209
209
157
157
210
210
211
159
208
208
157
157
157
209
209
210
210
210
210
210
210
210
210
210
211
159
160
160
212
160
162
163
216
217
166
219
168
169
169
222
222
222
222
172
173
174
227
229
229
230
234
235
237
239
188
189
242
192
193
195
197
198
199
252
255
203
205
206
255
255
207
207
255
255
255
255
211
211
211
212
212
212
213
255
255
215
215
216
216
216
255
255
217
217
217
217
217
217
218
218
217
217
255
216
216
215
215
215
255
255
255
255
255
255
210
209
255
204
204
202
201
200
199
195
246
194
191
242
242
240
238
237
185
236
235
183
234
232
232
231
166
166
166
165
165
164
164
162
110
162
162
110
110
162
161
110
110
164
164
113
113
115
115
116
116
117
117
169
171
119
119
119
119
119
119
170
170
170
119
119
119
120
169
170
171
120
120
122
122
123
125
126
127
128
128
180
182
186
132
124
179
121
156
86
52
91
71
106
58
26
67
20
106
69
38
23
49
54
85
1
0
0
8
1
6
11
11
8
9
10
66
64
63
65
66
69
68
9
5
66
70
25
14
11
47
48
26
73
73
171
175
168
165
164
165
165
164
217
216
164
216
163
163
162
162
213
213
213
161
161
161
161
213
213
213
212
159
211
159
156
208
207
207
153
152
152
202
202
202
202
202
150
150
202
203
151
205
206
207
207
156
156
156
209
209
209
158
207
208
156
156
157
157
157
210
210
210
210
210
210
210
210
210
159
159
160
212
160
161
162
163
216
166
166
167
169
169
170
170
222
223
223
224
174
175
228
229
230
231
183
236
238
239
241
242
243
245
246
248
249
251
200
201
204
205
206
255
255
255
208
209
209
255
255
212
212
212
213
213
213
214
214
255
255
216
216
216
217
217
255
255
255
255
255
255
255
218
219
255
255
218
217
217
217
216
216
215
255
255
255
255
255
255
211
209
255
255
204
255
202
201
199
196
195
194
192
191
190
189
239
238
185
184
236
235
234
233
232
232
165
165
165
164
112
164
163
161
109
109
109
161
161
161
110
110
111
165
167
167
116
116
168
117
117
118
170
170
172
172
120
120
120
120
120
171
171
172
120
121
121
121
177
177
126
178
178
127
127
179
127
128
128
180
180
128
178
180
127
129
133
136
186
119
118
110
68
140
89
94
50
86
101
104
68
107
116
48
1
0
14
0
6
71
68
10
54
5
9
6
5
4
54
56
6
8
61
64
54
56
57
12
63
41
38
92
26
36
79
142
120
176
167
163
167
221
165
220
163
163
215
215
214
162
161
213
213
161
161
161
161
161
161
213
213
160
159
211
211
208
207
207
154
152
152
151
200
148
200
148
200
148
148
201
201
202
202
151
151
204
153
205
206
154
155
155
155
206
206
207
156
156
157
157
210
210
158
210
210
210
158
158
158
159
159
160
160
160
161
215
164
217
166
219
220
170
170
170
223
223
223
224
174
227
177
230
231
232
180
185
238
187
189
243
244
192
247
248
197
251
253
202
202
205
206
207
208
255
255
255
211
212
212
213
214
215
215
255
255
216
216
216
255
255
255
218
218
218
219
219
255
255
221
221
255
221
221
220
255
255
255
219
218
218
217
255
255
216
215
215
255
255
255
213
211
255
207
255
255
204
203
201
250
197
196
193
245
192
191
240
240
187
185
184
184
183
181
233
232
165
165
113
112
111
111
111
161
161
109
161
161
161
161
164
113
114
168
118
171
119
118
170
119
119
119
120
172
173
121
121
121
121
121
121
172
172
173
173
122
122
174
184
132
132
132
133
131
183
183
182
130
128
128
180
180
126
177
179
133
136
135
135
157
118
133
169
171
176
134
172
174
145
175
138
123
82
98
81
0
7
0
26
73
30
84
77
72
75
23
52
51
0
1
3
58
59
13
11
75
78
79
15
39
94
135
124
26
107
144
140
176
216
211
216
167
162
165
163
163
215
214
214
161
213
213
213
213
213
213
161
161
161
213
213
212
159
159
211
207
207
206
153
152
151
203
201
149
149
149
201
201
201
148
148
201
201
201
201
150
204
204
152
153
153
206
206
204
205
206
207
208
209
157
158
210
210
158
210
158
158
210
210
211
159
160
212
160
162
163
216
218
219
220
168
170
170
171
171
224
224
224
227
228
229
179
180
181
181
186
187
188
190
243
193
193
248
249
250
200
201
203
255
205
205
207
208
255
255
255
255
213
214
215
215
216
216
255
217
217
217
218
255
218
255
255
255
255
220
220
255
255
222
222
222
222
255
255
255
255
220
220
219
255
255
255
217
216
216
215
215
255
255
255
255
255
255
255
205
205
203
202
199
250
249
246
246
193
192
189
188
188
237
185
184
183
234
233
233
168
114
113
114
114
113
164
164
112
111
162
162
163
164
165
113
114
167
116
117
117
119
119
172
172
172
173
121
174
123
123
124
125
125
125
176
176
174
173
122
123
175
125
127
179
126
126
127
181
129
129
182
182
130
131
183
180
129
182
131
133
133
134
186
188
137
190
189
188
187
193
98
165
165
153
158
59
141
0
30
30
9
19
18
31
76
43
25
11
73
0
0
0
53
0
53
52
20
44
41
66
66
83
104
140
153
192
132
48
207
161
217
217
217
217
165
217
165
164
216
164
215
215
214
214
214
214
214
213
213
212
212
213
161
212
160
211
159
159
210
158
157
156
153
153
152
153
153
205
204
203
203
203
201
201
201
149
201
201
149
149
149
149
150
203
203
203
204
204
206
207
157
158
211
156
208
208
208
208
156
156
208
209
158
158
159
159
160
163
216
217
217
218
219
167
173
174
174
174
226
226
227
229
178
231
181
182
235
235
238
187
188
190
191
192
244
247
249
250
252
253
254
255
255
207
208
210
211
255
255
255
214
215
215
255
255
255
255
255
218
218
218
255
255
255
255
255
221
221
255
255
255
255
255
255
255
255
255
255
255
255
255
220
255
255
255
219
218
218
216
216
215
255
255
255
255
255
209
206
205
255
203
200
250
250
249
248
195
194
191
189
189
187
187
186
237
182
181
181
167
114
112
114
114
112
163
165
165
164
111
112
113
114
115
115
167
117
170
118
119
173
173
121
122
174
175
175
175
175
175
124
124
176
124
124
175
174
174
123
124
124
127
129
181
128
128
181
183
183
183
131
184
132
133
185
182
131
132
134
187
136
136
193
194
194
195
143
194
142
132
198
179
186
172
43
48
91
54
82
68
16
91
43
73
2
106
71
90
89
94
9
0
67
66
43
25
65
62
60
71
94
16
24
159
206
153
165
181
176
160
217
165
165
217
217
217
217
216
164
216
215
163
162
214
214
214
214
213
213
212
212
211
159
159
210
210
209
209
211
158
157
156
154
205
204
152
152
152
151
203
202
202
200
200
148
148
200
200
200
200
200
201
149
150
202
202
203
204
206
207
208
209
209
156
156
208
208
208
208
208
208
208
158
211
212
160
161
163
164
217
217
218
219
219
225
226
226
227
175
175
176
178
179
232
233
183
235
236
239
188
189
242
243
244
193
248
249
251
252
254
203
204
255
255
209
210
255
255
255
255
215
255
255
255
255
255
255
255
219
219
220
220
255
255
222
222
222
255
255
223
255
255
255
255
255
255
255
255
255
255
255
255
221
255
255
255
255
218
217
217
216
255
255
255
212
210
210
207
206
205
204
252
251
251
250
197
196
195
191
190
190
188
187
187
237
183
234
182
167
114
165
114
166
113
163
114
114
165
114
115
168
117
118
118
171
120
173
174
122
176
176
125
125
177
178
178
177
177
177
177
124
176
124
177
124
123
176
177
126
179
182
132
184
183
183
184
186
186
186
135
135
135
188
136
134
187
136
138
191
192
140
143
195
196
196
197
197
197
141
150
146
142
197
170
21
58
91
0
62
82
106
54
76
128
86
95
114
70
75
36
29
22
22
30
51
76
81
60
60
41
0
0
122
222
215
206
223
147
166
165
165
165
217
217
217
165
164
164
164
163
163
162
214
214
214
214
161
213
212
160
158
158
158
209
208
208
208
158
157
156
155
153
204
203
151
150
150
149
201
201
201
147
147
199
147
199
199
199
199
199
199
200
200
200
201
203
204
207
208
155
155
206
155
155
207
207
207
155
207
208
208
211
160
213
162
163
215
164
217
165
218
219
219
173
226
227
228
177
177
178
231
233
234
235
184
237
238
188
188
242
243
244
245
193
197
250
251
253
255
255
255
255
255
210
211
255
255
255
255
216
255
218
219
255
255
221
221
221
222
222
222
224
224
224
224
225
255
255
224
224
255
255
255
255
255
255
255
255
255
255
255
222
223
255
222
221
220
219
218
255
217
255
255
214
212
255
255
208
207
205
202
253
252
200
199
198
196
245
244
191
190
241
188
187
185
184
183
169
116
115
168
168
167
165
168
115
115
116
169
171
120
172
121
173
175
176
176
177
126
127
179
128
128
128
181
180
128
179
179
178
178
126
179
179
178
127
129
130
131
184
135
187
134
134
135
137
136
137
137
138
138
138
139
138
191
140
193
194
143
144
146
198
145
198
147
148
201
155
145
206
154
151
211
196
88
136
102
36
64
36
39
91
54
83
98
49
69
76
47
94
30
76
88
56
28
89
69
29
15
8
2
87
171
161
222
214
232
166
165
165
165
217
217
217
165
164
164
164
163
163
162
214
214
214
162
161
213
212
212
210
210
210
210
209
157
208
207
155
154
153
150
149
149
149
149
201
148
148
147
147
145
145
197
145
197
197
145
197
197
198
198
147
199
147
202
203
155
208
207
153
151
154
154
206
154
154
154
154
156
208
211
161
162
164
164
163
164
165
165
166
219
219
225
226
227
229
178
231
231
233
234
183
236
238
186
187
240
241
242
244
245
194
194
249
251
200
202
255
255
255
255
255
210
212
213
214
217
217
218
218
219
255
255
223
223
223
223
224
224
225
226
255
226
226
227
255
255
226
226
226
255
226
226
226
226
255
255
255
225
224
224
224
255
255
222
221
220
220
219
255
255
255
255
255
255
255
255
255
207
255
254
202
201
200
251
250
246
193
245
243
242
190
188
238
185
185
170
117
115
116
168
167
114
168
168
167
168
118
172
121
173
121
122
176
176
177
177
179
179
128
128
129
181
181
181
181
180
128
179
127
126
180
127
179
128
182
131
133
185
136
188
135
135
188
189
137
190
138
190
139
139
191
191
139
141
194
143
144
144
200
199
199
199
201
202
151
210
151
153
214
201
197
222
186
118
73
140
99
34
56
111
69
92
78
88
81
45
35
30
103
98
80
92
66
79
65
34
49
4
6
79
177
203
231
204
172
170
165
165
165
165
217
217
165
164
164
164
163
163
214
214
162
214
162
161
161
212
160
159
211
158
158
209
209
157
154
154
153
152
201
148
148
201
149
149
148
147
147
147
197
197
145
145
197
197
197
197
197
197
198
199
199
147
150
203
156
156
206
152
151
206
154
154
154
154
154
154
207
156
211
213
163
164
165
163
164
165
217
218
167
219
225
226
175
177
178
231
232
233
182
183
185
238
239
239
240
189
242
244
245
194
194
198
199
252
254
255
255
255
255
255
210
212
213
214
217
217
255
255
255
255
221
223
255
224
224
224
225
225
255
255
227
227
255
255
255
226
226
226
255
226
226
226
226
255
255
255
225
224
224
255
255
223
222
255
255
220
219
219
255
255
255
255
255
210
255
255
207
204
255
254
253
201
199
250
195
194
193
243
191
190
189
186
237
237
170
118
170
169
117
168
168
168
116
116
171
173
123
125
124
125
177
127
127
128
128
182
182
130
130
130
130
182
130
182
182
130
129
129
129
130
182
184
184
133
134
134
189
137
189
138
138
138
139
193
141
142
194
194
195
195
195
143
145
146
147
200
200
200
149
202
203
204
205
206
159
159
159
212
212
212
157
159
170
164
148
199
194
161
142
144
142
107
91
58
116
81
41
13
73
0
3
5
6
21
37
70
81
14
65
179
214
220
220
163
163
164
164
216
216
216
216
164
163
163
162
162
162
161
213
213
161
162
162
162
212
211
212
160
211
210
157
208
208
154
204
150
150
149
147
146
197
145
146
146
146
146
198
193
141
141
194
142
143
195
143
195
195
144
196
197
145
148
150
153
204
203
151
152
152
152
205
206
207
207
207
208
209
159
161
163
164
165
163
216
166
167
168
169
169
173
174
175
177
178
179
231
234
235
236
184
185
186
186
241
190
191
245
246
247
195
199
200
201
255
255
255
255
255
255
255
255
214
215
216
216
217
218
255
221
222
222
255
223
224
225
225
226
255
255
255
227
255
255
255
255
227
227
227
227
227
227
255
255
255
225
225
224
224
255
255
255
255
222
255
255
255
219
217
255
255
214
212
255
255
209
208
255
255
255
203
255
201
200
249
248
247
245
193
191
189
185
184
183
119
171
118
118
117
117
169
170
170
170
120
122
125
178
126
126
127
181
182
183
131
132
184
184
184
132
132
184
132
132
133
133
133
186
186
185
185
187
135
136
137
137
192
192
193
193
194
142
194
196
196
197
145
198
146
146
145
198
199
149
150
203
203
152
153
206
207
209
209
158
161
161
163
215
218
218
223
210
208
157
151
205
213
203
215
214
208
194
165
102
173
133
86
114
89
132
105
30
40
139
23
49
86
175
101
178
217
224
218
216
216
164
216
216
216
216
216
216
214
214
162
161
161
160
212
212
161
213
162
161
211
158
211
210
210
209
207
207
206
205
203
201
200
148
198
144
144
196
196
195
195
195
195
191
139
191
192
192
140
193
141
142
194
195
195
143
143
197
200
203
150
150
150
151
151
203
205
206
155
208
209
210
211
213
162
164
164
165
216
166
219
168
169
222
171
174
227
176
177
178
179
231
233
234
235
237
238
186
187
190
191
192
193
247
247
196
199
252
202
204
205
255
207
255
255
255
255
214
215
216
216
217
218
255
221
222
255
255
224
224
225
226
255
255
255
255
255
255
255
255
255
227
227
227
227
227
255
255
255
255
255
226
225
225
225
255
255
255
255
255
255
221
219
255
255
255
214
213
211
255
210
208
255
255
255
255
255
254
201
197
248
248
246
245
192
190
186
184
184
119
171
171
170
170
117
117
118
118
171
173
175
177
127
126
127
128
130
132
185
185
134
186
186
186
134
186
186
186
186
135
135
136
136
188
135
136
189
190
191
139
140
142
142
195
195
196
196
196
196
196
197
197
198
198
198
146
199
200
201
150
151
152
207
207
157
210
211
212
212
214
163
164
217
220
220
219
215
166
173
170
213
210
159
226
224
221
220
195
181
149
110
117
200
145
104
75
49
69
142
101
87
67
216
136
234
214
223
216
167
162
164
164
216
216
216
216
216
214
214
213
161
213
160
212
212
212
161
161
213
158
158
158
209
209
208
206
206
153
152
202
148
148
147
197
195
144
195
195
194
194
193
193
189
138
138
139
191
191
139
193
141
141
194
194
142
143
144
147
150
202
202
202
151
151
204
206
207
209
157
210
212
212
214
163
164
165
217
217
167
220
221
222
171
172
227
228
177
178
230
179
231
233
234
183
237
186
187
187
191
191
193
246
247
196
248
200
201
254
204
206
207
207
211
212
213
255
255
215
216
216
217
255
255
255
255
255
223
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
227
227
255
255
255
255
255
255
225
225
255
255
224
224
223
255
255
255
255
255
217
217
255
255
211
211
210
209
255
255
255
255
255
255
253
198
197
248
194
194
244
242
186
237
236
120
172
171
119
118
170
170
120
120
172
174
177
179
180
127
128
129
185
186
135
136
136
188
136
136
188
188
136
188
189
138
191
140
140
141
193
141
194
195
196
144
145
197
146
198
199
199
199
199
147
200
200
200
149
201
149
203
204
153
154
155
208
209
211
212
161
162
215
164
164
164
166
167
169
171
224
227
226
166
159
161
164
218
209
218
221
216
210
155
216
224
214
164
139
222
170
113
188
136
194
219
212
228
215
169
177
161
225
211
166
159
216
164
216
216
216
216
216
213
213
161
160
212
211
211
211
160
160
160
212
158
209
208
208
207
207
205
204
152
202
201
199
146
146
196
194
195
142
142
192
191
190
190
187
135
136
189
189
189
137
191
191
192
192
141
141
141
144
198
203
203
203
204
153
205
205
208
210
212
213
213
214
214
163
164
165
165
218
219
168
221
170
224
224
225
229
229
178
178
230
179
179
232
234
183
185
186
188
188
191
192
193
195
196
197
249
252
202
203
205
206
207
208
211
212
255
255
255
255
255
255
217
218
255
255
255
255
224
225
225
255
255
255
255
255
255
255
255
255
255
255
227
227
227
227
227
227
255
255
227
227
255
226
226
255
255
255
224
223
222
222
255
255
255
218
218
255
255
212
212
211
210
207
255
255
255
204
203
254
251
249
249
247
194
193
243
239
237
237
171
171
171
171
171
171
170
120
120
173
175
177
177
178
180
129
130
133
187
188
189
138
138
190
138
138
190
137
142
194
195
143
195
196
144
197
197
198
146
146
147
147
147
147
148
200
201
201
149
150
202
203
152
153
153
154
156
157
210
159
161
161
214
215
164
165
165
166
167
167
168
169
170
172
173
226
225
173
172
171
222
170
169
169
168
168
219
219
218
166
165
217
217
164
216
163
163
213
213
213
213
213
161
161
215
215
215
215
215
215
163
165
165
217
217
217
217
217
217
165
164
215
215
213
213
211
211
210
209
209
208
207
206
154
205
205
203
150
150
197
197
144
143
192
139
139
190
138
137
137
188
188
188
186
134
135
188
137
138
190
137
190
192
140
192
142
143
143
145
150
202
203
152
153
156
208
211
161
162
215
216
219
219
220
220
169
221
169
169
222
223
173
174
227
175
178
178
178
178
230
230
178
177
232
182
184
186
188
189
191
244
245
195
196
198
198
201
202
255
205
255
208
208
212
212
255
255
255
255
255
216
217
218
255
255
255
255
255
225
226
226
227
228
255
255
255
255
255
255
228
228
228
228
228
228
228
255
255
227
227
227
227
227
255
226
255
255
224
255
255
255
255
255
220
219
255
255
255
214
213
212
211
208
206
255
255
255
203
254
251
249
249
195
193
191
241
239
237
235
172
172
171
171
171
171
171
120
121
122
124
177
178
127
181
129
130
134
135
188
137
191
191
139
138
138
138
190
194
195
195
144
144
196
197
146
198
199
147
148
148
148
148
149
149
149
202
150
150
152
153
205
154
155
156
208
209
158
211
212
213
162
163
165
165
166
167
167
168
168
169
222
171
173
226
227
173
173
173
172
171
170
170
169
169
220
219
219
218
165
165
165
164
164
216
215
163
213
161
213
213
213
213
161
163
163
163
215
215
215
163
165
165
217
217
217
217
165
217
165
164
215
214
213
213
211
158
210
209
208
155
155
154
205
205
204
202
202
150
145
196
196
142
140
139
191
189
137
137
136
188
135
187
185
133
134
188
188
137
137
137
138
192
140
192
142
143
143
146
203
203
203
153
154
156
157
159
161
214
216
164
219
167
168
220
169
169
221
169
222
172
173
174
227
227
178
178
178
178
230
230
230
178
180
182
236
186
188
240
242
244
245
247
248
249
198
200
202
203
255
255
255
208
211
212
255
255
255
255
255
216
217
218
255
255
255
255
255
255
255
255
227
255
255
228
228
255
255
255
255
255
228
228
228
228
228
228
227
227
227
227
255
255
255
226
255
255
255
255
255
255
255
255
220
219
255
255
255
214
214
255
211
208
207
255
255
255
255
254
251
249
249
247
193
191
189
239
237
235
173
173
121
174
174
174
174
175
124
176
179
180
181
181
182
131
184
187
189
190
139
192
193
141
193
142
142
194
145
145
146
198
147
199
199
149
201
203
203
204
152
153
153
153
154
154
154
155
207
156
157
209
158
159
160
160
212
213
214
216
217
166
166
169
170
170
171
224
225
173
174
227
228
228
229
178
175
175
175
174
173
172
172
171
170
221
220
167
218
217
216
164
164
163
215
215
214
212
160
160
160
212
212
212
213
213
213
213
161
213
161
163
163
215
215
215
215
215
164
163
163
214
213
212
211
209
157
156
155
154
204
152
152
151
151
202
148
200
200
144
195
194
193
139
138
137
187
186
134
133
185
133
133
131
132
184
134
187
187
135
137
138
140
192
192
194
143
145
148
205
205
205
206
156
157
157
160
162
163
164
217
220
168
169
169
221
222
222
222
224
173
174
175
228
177
178
178
178
230
230
230
230
231
180
182
184
186
239
239
242
191
192
194
196
249
249
252
253
254
255
255
255
255
255
255
255
255
255
255
216
255
217
218
255
221
222
255
255
255
255
255
255
255
255
228
228
228
255
255
255
255
255
255
228
228
255
255
227
227
227
255
255
255
227
255
255
255
255
255
255
255
222
221
255
255
255
255
216
255
255
255
212
208
207
207
205
205
255
254
251
197
249
195
193
243
189
187
237
235
122
122
123
124
177
177
178
178
179
128
182
183
184
184
186
186
188
191
192
194
142
195
143
144
145
197
146
146
148
148
149
202
202
150
202
203
203
153
154
155
156
157
208
157
157
210
210
210
158
209
210
159
212
213
213
162
164
165
218
168
221
170
222
173
173
226
227
227
228
228
230
178
178
179
179
180
178
178
177
176
175
175
174
173
172
171
221
168
218
217
215
163
215
215
214
214
213
159
159
211
211
211
211
211
160
160
160
160
212
212
212
162
214
214
214
214
214
214
214
214
161
212
211
210
210
208
208
154
153
203
201
200
149
149
148
200
198
197
197
194
193
193
139
137
188
188
186
133
133
184
184
132
131
183
131
184
185
134
135
135
137
190
140
192
192
194
143
146
148
153
205
206
207
156
157
158
161
162
164
165
166
169
221
221
170
222
222
223
224
173
175
176
177
178
178
178
178
178
178
178
178
230
232
233
234
184
185
186
238
189
242
192
193
195
196
249
251
252
254
255
205
255
255
255
255
255
255
214
215
216
255
217
218
220
221
222
255
255
255
255
255
255
255
228
228
228
228
255
255
255
255
255
255
228
228
255
255
227
227
227
227
255
227
227
255
255
255
255
255
255
255
255
255
255
255
255
255
216
216
255
255
212
209
208
207
205
255
255
254
199
249
249
195
245
243
189
239
237
235
174
123
123
125
126
127
179
127
128
129
183
132
133
186
136
188
190
193
194
195
196
195
196
145
146
147
199
200
149
150
150
203
203
203
204
203
203
206
155
156
157
157
157
157
210
158
211
211
159
212
213
214
215
215
164
164
218
219
220
221
170
171
224
173
174
227
227
228
177
229
178
179
179
231
232
232
231
178
178
229
228
175
175
173
225
223
170
168
166
165
163
215
163
162
162
214
161
159
159
159
211
211
211
211
211
159
159
159
159
211
159
213
213
161
213
161
161
213
161
161
212
212
211
157
157
208
207
154
152
150
148
147
200
148
200
199
197
145
144
193
193
192
191
188
188
187
186
185
133
184
184
132
132
183
184
132
186
187
187
188
189
190
140
140
140
194
143
145
148
153
153
205
154
156
210
158
161
163
164
165
218
221
221
222
222
222
223
223
225
174
175
176
178
178
231
230
178
178
178
178
178
178
180
233
182
184
185
186
186
189
242
243
245
246
196
196
251
252
253
203
255
255
206
255
255
255
255
255
215
255
255
255
255
220
221
222
255
255
255
255
255
255
228
255
255
228
228
228
228
228
228
228
255
255
255
228
255
227
227
227
227
255
227
227
228
228
227
226
255
224
224
255
255
255
255
219
217
217
216
255
255
213
255
255
255
255
255
255
254
251
249
249
247
245
243
241
239
237
235
127
127
126
179
129
130
183
132
132
185
189
190
191
192
192
193
194
144
144
196
196
145
146
199
200
149
202
202
206
154
206
154
153
205
153
151
152
206
207
156
157
210
209
211
212
161
162
215
216
166
218
219
219
219
220
168
168
220
169
222
171
172
224
227
175
176
176
177
177
229
232
232
233
181
182
182
232
232
179
230
230
177
228
226
225
224
171
169
168
166
215
163
163
163
215
162
162
159
211
210
210
210
209
209
209
157
157
157
209
209
209
212
212
160
159
159
158
210
158
158
157
157
156
206
206
202
202
201
200
200
146
146
199
147
198
197
194
141
193
191
190
137
137
135
134
134
134
186
186
133
132
184
132
133
133
133
133
185
133
185
188
136
137
192
141
142
142
146
147
150
152
206
156
157
159
159
162
163
164
165
166
168
168
221
222
222
223
223
225
175
177
230
178
229
229
231
179
231
231
231
231
231
232
233
234
184
185
186
186
240
241
242
192
193
194
194
249
250
251
253
254
255
204
208
255
255
255
255
215
215
255
255
255
255
220
221
223
223
255
255
255
255
255
255
255
255
255
227
228
228
228
255
255
228
255
255
255
255
255
255
255
255
228
228
228
228
228
227
255
255
255
255
255
255
255
255
218
218
215
214
213
212
209
255
255
255
255
204
202
198
249
196
244
191
189
239
236
236
236
128
128
128
181
130
131
132
133
134
187
138
192
193
142
142
143
196
147
147
198
198
202
202
152
152
153
154
206
206
154
154
154
154
206
154
207
207
157
159
160
161
213
211
212
214
163
164
165
165
168
220
221
221
170
222
170
222
223
223
224
225
225
225
228
228
177
177
177
230
230
232
233
233
233
233
234
233
180
180
231
178
177
229
227
226
173
172
170
168
167
215
163
215
162
162
161
161
157
157
157
208
208
208
155
209
209
157
157
157
209
209
211
211
159
158
210
209
209
209
209
208
207
154
153
153
149
201
200
148
147
145
145
146
197
197
143
141
192
140
137
189
137
136
135
134
186
134
134
186
185
132
184
184
133
133
185
185
185
185
185
187
187
136
138
140
140
141
146
198
150
152
154
155
156
158
210
161
215
165
166
166
168
220
221
222
171
172
172
173
175
229
230
178
177
229
231
231
179
179
179
179
231
231
233
234
183
184
185
186
240
240
242
243
244
193
193
196
249
250
252
254
255
255
255
255
255
255
255
255
214
215
255
255
255
255
220
222
223
255
255
255
226
226
226
255
255
255
255
228
228
255
255
255
228
255
255
255
255
255
228
228
255
255
255
228
228
228
228
227
255
255
225
255
255
255
255
219
218
216
215
214
212
209
255
255
255
255
204
202
198
249
196
192
243
241
238
236
235
235
129
181
181
130
131
185
186
135
136
137
192
142
195
143
144
145
146
149
201
200
148
204
204
153
153
206
206
206
206
154
154
155
155
207
207
208
156
158
160
161
162
214
161
162
163
165
218
167
167
222
222
171
223
224
172
224
224
224
225
225
226
226
174
229
229
177
178
178
230
179
233
233
233
233
233
233
233
233
180
179
178
230
229
176
227
226
172
171
169
168
164
163
163
162
162
161
160
156
208
208
156
207
207
154
156
208
156
156
156
156
208
210
210
158
158
209
209
156
156
207
207
206
153
152
152
149
148
200
147
146
145
144
197
196
195
142
140
139
138
137
136
136
135
134
134
186
186
186
186
133
132
184
132
132
184
184
132
132
132
184
185
186
135
189
138
139
140
144
145
149
151
205
154
155
157
209
160
162
164
166
166
167
168
221
223
224
224
225
225
227
177
178
230
177
229
231
231
231
231
179
231
179
231
232
234
183
184
185
185
187
188
241
242
243
244
193
195
196
198
199
253
254
255
255
255
255
255
255
255
214
215
215
217
255
219
220
222
222
255
255
255
225
226
226
255
255
255
255
228
228
228
228
228
228
228
228
228
255
255
229
229
229
229
229
229
229
228
228
228
227
227
225
224
255
255
255
255
255
216
215
214
213
255
208
208
206
205
204
202
198
249
248
192
243
189
186
183
235
234
132
131
183
184
185
187
136
138
139
140
143
145
146
147
148
149
150
153
153
152
152
154
154
206
206
206
154
154
156
208
157
158
158
211
211
210
159
161
162
163
164
164
218
167
169
170
171
172
224
226
226
227
227
176
176
176
176
176
176
176
176
229
229
178
231
179
179
180
180
180
182
181
181
233
233
232
234
181
181
180
179
178
178
229
229
228
226
172
171
222
218
218
217
164
163
214
160
156
156
208
207
207
206
206
207
207
207
155
155
155
155
157
157
156
156
156
207
155
153
205
152
204
203
149
149
199
199
198
197
196
143
143
194
142
141
192
189
189
188
187
187
187
186
186
134
186
134
134
186
185
184
184
132
131
131
131
183
183
183
183
183
184
184
187
188
189
189
193
194
197
147
149
202
203
205
205
209
160
214
164
165
165
217
168
170
223
224
173
173
175
177
178
178
229
229
231
231
231
231
231
231
231
230
232
181
182
235
236
185
185
186
239
240
242
190
191
245
246
196
198
251
252
201
204
255
255
255
255
255
213
255
215
216
217
218
219
221
222
255
255
255
225
225
226
255
255
255
227
228
228
228
228
255
228
228
228
255
255
229
229
229
229
229
229
229
229
229
255
255
255
228
226
225
255
255
255
255
255
217
216
255
255
255
209
208
206
205
204
202
198
197
248
245
191
188
185
182
181
181
185
133
132
185
187
136
137
140
193
142
145
199
200
148
150
151
204
155
155
154
154
211
211
210
210
210
158
210
209
210
159
212
213
214
214
216
217
167
168
221
222
170
222
223
224
226
227
176
228
176
177
229
229
178
230
230
178
178
230
230
178
178
230
179
179
180
180
233
233
181
182
182
233
233
232
232
234
234
233
180
180
179
178
230
230
228
227
173
172
223
168
168
167
166
164
163
161
157
209
208
208
208
207
207
207
155
155
155
155
155
155
156
156
156
155
155
154
206
152
204
151
202
201
148
148
198
198
145
196
144
142
194
193
141
192
191
188
135
187
186
186
186
186
186
134
186
186
134
186
185
184
184
132
131
131
131
183
183
183
183
182
182
183
134
135
188
136
190
139
194
196
146
199
148
149
202
207
209
212
214
163
163
215
166
168
222
171
172
173
227
229
178
178
229
229
231
231
179
179
231
231
231
230
231
232
234
235
236
184
184
185
238
240
241
242
242
244
246
195
197
198
199
200
255
255
255
255
255
255
213
255
255
255
255
218
219
221
221
255
255
255
224
225
226
255
255
255
227
228
228
228
255
255
255
255
255
255
229
229
229
229
229
229
229
229
229
229
229
229
255
255
226
226
255
255
255
255
255
255
255
255
255
255
210
209
255
255
204
202
250
197
196
245
243
188
185
181
180
179
186
186
185
186
187
137
138
142
143
195
197
146
199
200
205
205
154
156
157
158
158
158
210
211
211
211
159
159
159
212
214
215
217
218
218
219
220
221
222
223
223
172
177
229
230
230
230
179
179
180
180
232
232
232
180
232
234
182
234
234
234
234
182
184
235
235
235
234
182
182
182
182
181
233
232
232
232
232
180
179
231
230
230
229
229
176
175
175
174
173
222
170
169
168
166
217
164
160
211
211
158
210
209
156
209
209
157
156
156
155
155
155
155
154
205
205
151
203
201
149
148
148
148
148
199
195
143
143
142
142
194
141
140
139
189
135
185
185
185
134
134
186
135
136
136
136
134
134
134
185
132
132
132
132
132
132
131
130
130
182
130
130
183
132
133
186
186
189
138
141
143
145
146
147
147
148
204
206
209
211
160
161
215
218
218
167
221
223
225
227
177
178
178
229
229
177
177
176
176
175
175
227
228
229
230
179
179
232
232
182
183
184
186
239
240
240
243
244
194
196
198
199
252
255
255
206
255
209
210
255
255
255
255
255
255
219
221
255
255
255
255
255
225
226
255
255
227
227
255
228
226
226
255
255
255
255
255
255
255
255
255
228
228
228
229
229
255
255
255
255
227
226
226
255
255
255
255
255
217
217
255
214
211
209
209
255
255
255
254
250
249
196
190
190
241
186
181
232
181
135
186
186
187
189
190
139
142
143
144
198
200
201
201
205
206
155
209
159
160
160
161
161
214
215
215
215
164
167
168
221
223
224
224
225
226
226
227
228
177
229
230
231
232
180
181
233
233
233
236
236
184
236
236
184
184
184
184
184
236
236
236
184
185
237
236
236
236
183
183
183
182
182
234
233
233
232
232
232
180
231
231
231
230
229
229
176
175
226
174
223
222
222
168
167
166
217
161
160
212
211
210
209
208
208
208
208
207
207
155
154
154
154
153
153
152
202
150
148
148
148
147
199
198
198
194
193
193
141
192
191
139
138
137
135
133
132
184
184
185
133
186
186
135
187
135
134
133
133
132
132
132
132
131
131
131
130
130
181
181
129
130
182
184
185
185
186
186
135
190
192
142
144
197
197
146
202
205
155
156
157
211
213
217
217
166
220
170
172
226
176
177
177
176
176
176
176
227
227
175
174
226
175
228
228
177
178
179
179
234
235
236
185
238
239
240
191
244
194
196
198
199
200
255
205
207
255
255
211
215
255
255
255
217
218
219
220
221
255
255
223
255
255
226
226
255
255
227
255
255
226
226
255
255
227
255
255
255
255
255
255
255
228
228
229
255
229
228
228
227
227
226
226
255
255
255
255
255
217
217
215
214
211
209
209
255
255
255
254
250
197
248
193
192
242
240
235
233
180
187
135
135
189
191
193
142
143
144
197
148
202
203
204
208
208
210
213
215
164
165
218
219
220
169
170
223
223
225
173
174
175
176
228
228
230
230
231
232
233
234
234
236
185
185
237
186
238
238
238
238
238
238
238
238
186
187
187
239
239
187
187
187
187
239
239
186
238
238
238
184
184
236
235
235
183
181
233
181
232
232
232
231
230
230
229
177
176
175
226
173
224
223
222
221
168
166
215
214
161
160
211
209
208
207
206
206
154
205
153
153
153
152
204
151
150
149
148
200
200
199
146
145
144
143
192
191
139
138
189
187
187
186
185
132
183
182
130
131
184
132
132
132
133
185
134
133
133
132
132
183
131
183
130
129
129
128
128
180
180
129
129
130
131
132
133
185
131
184
188
190
140
141
142
143
196
199
201
203
152
153
208
210
214
215
216
219
169
170
173
174
175
227
227
227
175
174
174
173
225
225
225
172
173
174
175
176
176
176
233
234
235
236
186
186
187
243
192
194
196
198
199
252
255
206
207
209
211
255
255
215
255
255
217
218
219
220
220
221
221
255
255
255
225
225
255
226
255
255
255
255
255
255
255
227
228
228
255
255
255
255
255
228
228
229
255
255
255
228
227
227
226
226
255
255
255
255
255
217
255
255
214
211
209
209
206
255
255
254
250
197
248
243
241
186
185
233
176
224
187
135
187
190
192
194
195
143
144
197
149
203
204
153
210
210
212
164
217
219
220
221
221
171
172
225
174
175
227
176
176
177
177
230
230
232
233
234
235
236
236
184
239
239
187
240
188
240
241
240
188
188
188
240
240
188
188
240
188
240
240
188
188
189
188
240
240
239
239
239
237
185
184
184
236
235
182
181
181
233
232
232
232
231
230
230
177
228
175
175
225
225
224
171
222
220
167
164
215
162
160
211
209
208
206
206
205
205
205
152
204
152
152
151
150
201
148
200
200
147
198
197
144
142
194
139
138
137
188
135
133
185
185
132
130
129
129
182
182
183
131
183
132
184
185
133
132
132
132
131
183
131
182
129
129
128
128
127
179
127
180
129
129
131
132
184
185
183
183
187
189
139
140
141
142
195
198
200
149
150
151
206
208
213
214
163
166
220
222
172
174
174
174
174
174
174
173
173
173
224
224
172
171
172
225
174
174
175
175
233
182
183
236
237
238
187
191
192
194
196
198
199
252
255
206
208
209
255
255
255
255
255
255
217
218
219
219
220
220
221
222
223
223
224
225
225
225
226
255
255
255
255
255
227
227
228
228
255
255
255
255
255
228
228
229
255
255
255
228
227
227
226
255
255
224
255
255
220
255
255
255
214
211
209
209
206
205
255
202
198
197
196
196
244
188
185
176
169
215
188
136
136
139
193
195
197
195
144
146
202
204
206
155
160
161
163
219
221
223
224
224
172
175
176
229
230
231
181
181
182
182
182
182
182
186
187
188
189
190
190
243
241
190
190
242
191
191
191
192
192
192
192
192
244
192
190
242
190
190
242
242
190
190
242
189
241
241
240
188
186
238
237
185
184
236
234
182
182
181
181
232
232
231
231
230
229
229
228
227
174
174
225
172
170
221
220
217
216
163
161
211
209
207
205
205
153
152
152
203
203
151
151
150
149
149
147
199
199
199
198
145
143
141
140
189
189
136
135
133
131
130
131
130
181
128
128
181
181
130
182
182
183
184
184
184
184
132
132
131
130
182
182
180
128
128
127
126
178
178
180
128
129
130
131
132
132
131
183
187
189
191
192
193
193
194
196
198
199
200
149
204
207
211
161
162
165
220
221
223
173
225
226
173
225
173
173
172
224
223
223
171
170
171
171
172
173
174
226
232
233
182
184
185
186
238
243
192
194
196
250
251
200
255
255
208
210
255
255
255
255
255
255
217
255
255
219
219
220
221
221
222
223
224
224
224
225
225
226
255
255
255
255
227
227
228
228
255
255
255
255
255
228
228
255
229
229
228
228
255
227
226
226
255
224
222
220
220
217
217
255
255
255
209
209
206
205
204
254
250
197
196
190
239
185
185
236
229
223
190
137
137
139
141
143
144
197
146
200
151
154
158
213
162
163
218
224
225
174
226
177
177
179
180
180
181
233
235
236
237
186
187
187
187
189
189
191
191
192
193
193
245
245
194
246
247
195
195
194
194
194
194
194
194
246
245
193
193
244
244
244
191
191
243
190
242
242
242
241
187
186
238
237
236
235
183
183
182
181
180
232
231
231
231
230
177
176
176
227
173
172
224
223
222
169
168
217
216
215
161
159
157
207
206
154
153
153
152
151
150
200
200
148
148
148
145
196
195
194
192
139
190
139
139
187
186
133
132
183
129
128
129
129
181
181
129
129
129
130
182
182
183
183
184
184
185
133
132
130
130
181
181
128
128
127
127
126
126
126
179
179
128
129
130
131
131
184
184
134
186
135
136
188
139
140
194
195
196
197
145
150
204
210
213
215
164
165
219
222
223
225
225
225
225
172
224
223
223
222
222
222
222
169
169
222
172
173
174
179
180
182
184
186
187
240
243
192
195
197
200
201
202
255
255
255
209
209
255
255
255
255
255
255
255
255
255
255
255
255
222
223
224
223
223
223
224
224
225
225
255
255
255
227
227
228
228
227
255
255
255
255
255
227
229
229
228
228
255
255
227
224
224
255
255
222
220
220
218
218
255
255
255
255
210
208
206
204
254
252
198
196
192
191
190
240
183
182
181
138
189
189
139
141
195
196
145
199
201
152
155
159
214
216
217
168
173
227
228
228
179
179
233
181
234
235
235
184
184
238
239
187
188
188
190
243
192
193
194
194
195
247
247
195
248
248
248
197
196
196
196
196
196
248
248
195
194
246
245
245
245
245
192
192
243
191
242
190
242
239
239
238
237
236
236
235
182
182
233
232
179
179
178
178
177
229
228
227
226
173
224
172
171
170
169
220
217
164
215
213
211
157
154
205
205
204
204
203
202
149
148
148
148
200
147
196
195
193
192
191
137
136
188
189
133
133
132
131
182
180
179
181
181
129
129
181
129
129
181
129
130
130
183
131
183
132
132
131
130
129
128
180
179
179
127
126
126
125
177
126
127
127
129
130
130
131
184
184
134
134
135
136
188
138
139
141
194
195
196
144
149
203
157
160
214
215
164
166
169
223
224
225
173
173
172
172
171
223
222
222
170
222
221
221
222
172
173
174
179
180
182
184
186
239
188
191
192
195
197
200
253
254
255
255
255
255
255
211
214
215
255
255
255
255
255
219
255
255
255
255
223
223
223
255
223
224
224
225
225
226
226
226
227
227
228
255
227
227
255
255
255
255
255
255
228
228
228
255
255
255
224
224
223
222
222
220
220
218
218
217
255
255
255
255
209
255
255
203
253
250
196
243
191
189
239
236
182
182
139
138
190
192
142
144
145
199
202
153
157
211
162
164
167
169
224
229
231
231
232
235
183
184
185
238
186
187
187
239
240
241
242
190
191
193
246
195
196
249
197
198
249
198
198
251
251
251
199
199
199
199
199
251
251
251
198
249
249
249
248
248
248
194
194
245
192
191
190
190
188
239
239
238
185
184
234
182
181
180
179
179
178
177
228
176
227
174
173
173
171
171
171
170
169
220
219
164
215
214
160
158
208
154
204
204
203
202
202
201
200
148
148
200
200
198
142
141
193
192
138
188
135
186
186
181
181
180
180
179
178
125
128
180
180
128
180
180
128
180
128
128
128
181
181
182
131
130
130
128
179
179
178
178
125
125
176
124
124
176
126
126
179
128
181
182
130
132
184
186
134
187
188
136
137
189
139
141
194
195
143
147
201
207
158
160
161
214
166
221
222
224
172
224
172
172
172
171
223
222
222
222
222
221
221
222
224
225
174
179
180
234
184
186
187
188
191
244
247
197
200
253
254
255
255
255
255
255
255
255
214
255
255
216
255
255
219
255
255
255
255
222
223
223
255
255
224
224
225
225
226
255
255
227
227
228
228
255
255
255
255
255
255
255
255
255
255
227
227
255
255
224
224
223
222
255
255
255
218
218
217
216
255
255
212
209
255
255
255
253
199
197
245
192
190
241
237
183
183
141
141
141
195
196
146
147
149
204
208
213
162
164
165
169
170
173
179
180
233
233
184
184
186
239
187
188
188
241
241
242
191
244
244
245
194
247
248
249
249
198
198
250
199
251
252
252
252
200
202
202
202
254
254
254
254
252
252
252
251
251
251
250
197
196
194
193
192
191
190
241
240
239
238
186
185
181
181
180
232
231
230
177
175
175
174
226
225
224
171
169
221
220
219
166
166
165
163
163
213
159
157
155
153
205
204
152
203
202
201
148
200
148
148
147
197
193
192
137
136
134
183
182
180
180
177
177
125
125
176
176
176
179
127
127
127
179
179
179
126
126
179
179
180
180
180
181
181
180
179
178
177
125
176
124
124
175
175
174
122
125
177
178
128
128
129
129
184
184
186
134
187
136
136
137
138
140
193
194
195
196
197
199
153
208
158
159
159
217
220
222
223
223
223
223
172
224
223
171
222
222
222
222
221
169
170
172
173
174
179
180
182
184
186
187
240
191
244
195
197
200
253
254
255
255
255
255
208
210
213
213
255
255
255
255
217
218
218
255
255
255
221
255
223
255
255
255
224
255
255
226
255
255
227
227
255
255
227
227
255
255
255
255
255
255
255
227
226
226
225
225
224
224
255
255
255
255
255
255
255
255
216
215
214
214
255
255
206
204
254
200
250
250
249
247
244
238
183
182
194
194
142
195
145
199
200
149
153
209
214
163
164
166
169
171
173
179
180
233
233
184
185
238
239
188
188
240
241
189
191
192
244
245
245
194
247
248
249
249
250
198
198
199
251
252
252
252
200
202
202
202
202
202
202
202
253
201
252
200
252
199
199
197
196
195
193
192
191
191
241
188
239
239
186
185
181
181
180
231
231
178
177
175
175
174
225
225
224
171
168
220
219
219
166
165
164
163
162
161
159
157
155
153
205
205
152
203
202
202
149
148
148
148
199
197
193
191
134
133
183
181
179
177
177
177
176
124
176
176
175
175
179
127
179
179
127
127
179
126
178
126
179
180
180
180
181
181
180
179
126
177
177
124
124
176
123
174
174
122
125
177
126
179
128
129
129
184
184
186
134
135
136
188
190
138
140
193
195
195
144
196
198
205
155
157
159
159
165
168
221
171
223
223
223
172
224
223
171
222
222
170
170
169
169
170
172
225
226
179
180
234
236
186
187
240
191
244
195
197
200
253
254
255
255
255
255
208
209
213
213
214
215
215
255
217
218
218
255
255
220
221
222
223
255
255
255
224
225
225
226
255
255
227
227
255
255
227
227
227
255
255
255
255
255
227
227
226
226
225
225
224
224
255
255
255
255
255
255
255
255
216
215
215
214
255
255
206
204
254
252
250
252
251
248
245
238
183
182
144
144
144
199
149
151
152
154
208
211
213
163
166
168
171
173
176
180
234
237
239
186
238
239
240
241
242
242
242
190
191
192
193
194
194
197
249
250
250
250
251
251
252
201
201
253
254
202
202
203
203
203
255
255
203
203
203
203
202
202
201
253
201
199
199
197
196
195
194
194
191
243
241
240
187
186
183
182
182
180
179
230
177
176
176
174
173
223
222
168
166
166
217
216
216
215
214
161
159
158
157
157
156
153
154
206
205
204
203
203
202
145
143
141
140
191
187
133
130
128
126
176
174
173
173
120
120
121
122
176
178
126
126
126
126
126
178
178
126
177
126
178
179
178
178
177
178
178
178
177
176
176
124
123
123
175
123
175
175
175
175
176
178
181
181
129
181
182
182
184
184
185
186
186
188
136
139
193
194
196
196
198
198
201
203
206
209
159
162
164
165
167
169
170
170
171
171
223
223
223
223
171
171
170
170
223
225
226
227
232
233
235
237
187
240
241
244
245
247
249
251
252
253
255
255
255
208
209
210
212
213
215
215
215
215
217
219
219
255
221
221
222
223
224
224
255
225
225
226
226
255
255
255
255
255
255
255
228
255
255
255
227
255
255
255
255
226
225
225
224
224
224
223
221
222
255
255
255
255
255
218
217
216
215
215
213
211
208
207
255
255
201
252
250
247
245
241
186
183
144
144
144
147
201
151
152
205
155
158
162
164
167
169
223
173
176
180
234
237
239
188
240
241
242
243
243
244
244
244
193
194
247
195
248
251
199
199
252
252
252
253
201
201
202
254
254
255
255
203
203
255
203
255
203
203
203
203
202
202
201
253
201
201
200
199
198
197
196
247
193
192
191
242
189
188
185
184
183
234
181
180
179
176
176
174
173
223
222
220
166
166
217
216
216
215
214
161
211
158
157
209
156
153
153
205
204
204
203
150
201
144
142
139
190
189
185
131
128
126
124
174
120
119
171
120
120
121
122
176
178
126
126
126
126
126
126
126
126
125
126
178
127
178
126
177
178
178
178
177
176
124
176
123
123
123
123
175
175
175
175
124
126
181
129
129
129
182
130
132
184
133
186
186
188
188
191
141
194
196
196
199
199
201
203
206
208
210
160
214
164
217
167
220
169
171
171
171
223
223
223
171
171
170
170
171
225
226
227
232
233
235
237
187
240
189
244
245
247
197
251
252
253
255
255
255
208
209
210
212
213
215
215
215
215
217
219
219
255
255
221
222
223
224
224
224
225
255
255
255
255
255
255
255
255
227
227
228
255
228
255
227
255
255
255
255
255
225
225
224
224
255
223
255
222
255
255
255
255
219
218
217
216
215
215
215
213
210
255
255
255
202
202
200
249
246
243
188
185
144
92
92
144
144
92
92
91
91
91
90
89
89
88
87
86
85
83
82
82
133
83
83
81
81
133
134
134
133
134
136
136
136
83
83
85
85
91
94
149
103
110
112
166
113
112
113
114
116
116
117
117
117
118
170
170
171
119
120
172
171
172
172
173
173
175
125
127
130
183
186
187
187
187
187
137
141
193
193
194
194
195
195
196
196
196
145
197
198
146
199
199
199
199
200
202
205
207
155
207
207
207
206
206
208
207
205
202
200
197
142
142
142
141
192
191
190
189
191
139
138
137
136
134
133
139
139
190
188
135
134
133
133
132
132
132
134
184
183
182
181
181
129
180
128
181
129
181
130
131
183
185
133
184
134
137
139
139
194
196
146
145
146
201
202
151
204
204
204
204
204
204
204
204
207
207
208
208
209
209
209
207
208
209
158
159
212
212
216
216
216
216
217
217
217
215
211
209
209
207
205
151
151
200
147
147
146
143
192
192
191
190
136
187
135
135
136
135
134
132
131
130
129
127
127
126
178
125
125
124
124
123
174
122
121
120
119
119
118
117
117
168
167
165
165
165
166
114
167
115
167
167
116
116
115
113
164
159
159
159
160
160
161
109
108
161
162
163
165
167
167
169
169
169
169
169
169
170
169
117
117
117
169
169
169
173
121
173
121
121
121
121
120
172
172
172
172
120
120
92
92
92
144
92
92
144
92
92
143
91
90
90
90
89
88
87
85
83
82
82
83
83
81
133
133
134
134
133
134
84
84
84
83
83
83
135
141
143
145
151
157
110
165
113
113
112
114
115
116
117
117
117
118
118
170
170
118
118
171
170
171
171
172
172
173
124
126
129
182
185
186
186
133
134
137
141
194
194
194
195
195
195
196
197
197
197
198
198
146
147
199
199
199
200
202
205
207
206
206
207
206
154
206
207
206
204
202
199
197
195
195
194
142
193
192
191
191
192
193
192
191
191
138
138
140
140
140
191
139
139
138
137
135
186
135
136
135
185
186
186
186
186
185
185
184
186
186
187
189
190
138
191
191
141
144
145
146
149
151
151
204
204
205
154
207
208
206
206
206
206
206
206
206
208
208
209
209
157
210
210
209
209
210
159
211
212
212
216
216
215
216
216
216
217
215
212
211
210
209
206
204
204
149
148
147
145
143
140
139
190
189
188
186
187
134
133
132
183
182
129
128
128
126
126
126
125
125
125
124
123
123
174
121
120
120
118
118
117
117
116
115
114
113
113
165
113
114
114
115
114
114
167
167
166
164
111
107
159
159
160
160
161
109
107
160
161
162
163
165
165
165
166
167
168
169
170
171
119
119
119
171
171
171
171
171
171
171
171
171
119
119
121
121
173
173
173
173
173
93
93
93
145
93
93
145
144
144
144
144
145
93
93
92
91
90
87
85
84
83
83
82
81
133
133
134
134
133
134
136
84
84
83
83
82
133
137
87
88
145
152
156
110
112
112
164
166
115
116
116
116
116
169
169
169
117
118
118
170
170
170
170
171
172
173
123
126
180
182
183
184
184
184
134
137
142
194
195
195
195
144
196
197
197
198
146
146
199
147
147
147
199
199
200
202
205
206
206
205
206
206
153
153
205
204
151
201
199
197
195
195
143
143
143
142
194
194
191
191
139
140
141
141
141
145
145
197
197
196
196
196
143
141
139
139
140
138
189
188
188
188
187
187
186
134
187
188
189
192
142
143
195
196
146
149
151
151
153
156
208
156
155
208
208
156
156
156
208
208
208
208
208
208
208
209
209
210
158
158
210
158
211
211
211
212
212
212
215
214
215
215
215
216
216
218
213
213
212
211
208
206
153
150
201
148
145
141
139
137
188
187
186
185
185
184
130
130
181
180
128
179
127
126
125
125
125
124
124
123
123
174
173
172
120
119
169
168
116
115
114
113
113
112
112
112
113
113
113
114
113
113
165
165
164
163
109
107
107
159
160
160
161
161
159
159
160
161
161
162
163
163
163
113
166
167
118
118
169
169
169
169
169
169
169
171
171
171
171
171
171
171
174
174
174
174
174
174
174
94
94
146
94
94
146
94
92
144
145
145
94
94
146
94
93
144
140
86
85
84
83
82
132
133
81
134
134
133
134
84
84
136
135
83
134
133
136
86
139
144
149
101
109
111
112
164
165
114
115
115
115
115
168
168
168
118
118
118
119
170
171
171
120
120
121
176
178
181
182
130
132
132
185
187
190
195
143
143
195
196
195
195
198
198
198
146
147
199
199
147
147
147
199
200
202
153
153
205
205
206
205
205
152
152
203
202
200
147
145
195
194
142
142
143
143
143
143
141
193
194
142
195
196
144
148
199
199
199
199
198
146
144
144
142
141
141
139
138
189
188
188
136
136
136
136
189
137
138
142
143
144
145
147
149
151
205
154
157
211
210
210
157
157
209
157
157
157
157
209
209
209
209
209
157
157
158
158
159
159
159
159
159
160
212
212
212
212
161
162
214
163
163
163
163
167
162
161
161
212
210
208
154
151
201
200
197
141
138
136
136
186
185
184
184
184
130
181
181
180
180
127
127
177
177
177
176
124
124
123
174
174
173
172
119
119
168
168
167
166
165
165
164
111
112
112
112
113
113
165
164
164
164
164
164
162
109
107
107
107
108
108
109
161
160
160
160
161
109
110
162
111
112
112
113
114
116
117
116
168
168
168
116
116
116
119
171
171
171
171
171
171
173
173
173
173
121
173
173
94
94
146
146
94
146
146
145
145
145
146
95
95
148
147
146
144
141
139
85
85
83
134
132
80
80
81
133
133
82
84
136
136
135
135
135
133
136
137
137
142
148
99
108
111
163
163
165
113
115
115
115
115
168
168
168
119
119
172
172
119
172
172
121
121
123
177
179
182
131
131
132
133
134
188
192
195
143
143
143
195
196
196
198
198
198
147
147
148
148
147
147
147
199
148
150
205
205
153
153
205
205
204
152
151
202
201
200
146
145
143
143
143
143
143
143
143
144
147
200
200
201
203
204
205
205
152
151
202
201
146
147
200
198
196
195
143
141
140
193
193
193
193
140
140
139
193
194
143
146
200
149
150
152
154
209
211
160
215
217
216
164
214
161
160
212
160
159
159
211
211
211
211
211
210
158
159
159
212
212
212
160
160
160
212
212
211
159
161
161
162
162
163
163
163
168
164
162
162
161
211
209
155
152
150
200
197
193
138
136
135
134
184
183
131
131
181
181
181
181
128
128
128
177
125
176
176
123
123
122
122
121
172
120
119
170
167
167
166
165
165
164
163
163
111
111
112
112
113
113
163
163
164
163
163
109
108
107
107
107
108
108
109
161
161
161
109
110
110
162
162
112
113
113
113
113
113
113
114
114
114
114
166
114
114
116
116
116
168
168
116
116
171
171
171
171
119
171
171
97
97
97
147
146
93
93
146
146
147
147
96
96
96
147
146
93
142
141
140
87
136
136
135
134
81
80
80
82
82
83
83
136
136
84
81
133
134
83
85
139
140
146
104
108
163
112
166
167
167
168
168
168
170
170
170
173
121
121
122
121
121
121
124
177
127
180
182
183
132
134
135
137
139
193
195
145
145
145
147
148
149
150
201
201
149
149
149
201
149
148
149
150
203
204
205
154
206
154
154
206
206
206
153
152
151
149
199
198
145
145
145
145
146
148
149
151
151
206
206
206
206
207
207
207
204
152
151
203
203
203
203
201
148
200
198
143
142
141
143
143
194
194
196
197
146
198
200
149
151
205
155
157
162
214
215
216
217
218
218
167
166
218
217
217
217
164
161
160
159
158
157
157
208
212
212
159
159
159
158
158
212
212
160
159
211
211
159
160
160
161
161
162
162
162
163
163
163
161
159
211
209
209
152
151
201
199
196
141
139
187
184
183
183
132
131
181
180
128
127
126
125
177
176
124
176
175
175
175
122
121
121
119
118
169
168
167
167
166
165
112
112
111
110
162
162
162
110
110
110
111
163
164
163
162
109
107
108
108
108
108
108
108
160
161
161
109
162
162
111
111
111
111
111
164
112
113
113
113
113
113
113
165
165
113
113
113
113
114
114
115
115
117
117
117
169
169
169
169
98
97
97
95
147
94
146
147
147
147
148
148
97
97
147
95
94
142
141
89
88
137
84
83
134
81
81
80
82
82
83
83
136
136
136
81
81
81
83
84
138
139
90
100
105
160
111
113
167
168
168
169
169
171
119
119
174
122
122
123
122
123
123
126
179
128
182
183
184
133
135
136
138
192
194
143
145
145
198
147
148
150
150
150
150
150
150
202
202
150
149
202
202
204
205
206
155
154
154
154
207
206
154
153
152
151
149
200
198
198
146
148
149
201
204
153
155
207
207
155
155
155
207
155
155
153
153
153
204
204
204
204
202
201
148
200
197
144
143
144
143
195
196
199
200
149
201
203
154
156
157
160
214
217
217
217
219
220
220
220
168
168
219
218
217
217
217
162
162
160
160
211
158
158
213
213
212
160
159
159
159
212
160
159
159
159
211
211
160
161
161
161
161
162
162
214
215
162
161
159
158
210
210
153
150
202
200
197
142
139
134
184
183
183
183
182
180
179
127
126
125
124
176
176
124
176
175
175
123
173
121
120
119
118
116
168
166
166
165
165
112
111
162
109
109
109
161
161
109
109
110
162
163
163
162
161
107
108
108
108
108
108
108
160
161
161
109
161
110
110
111
111
111
111
163
164
112
113
113
165
165
113
113
113
113
113
113
113
113
114
114
115
116
116
116
116
168
168
168
150
98
98
97
149
97
149
148
149
149
98
98
98
98
98
97
96
145
143
90
89
137
85
84
83
82
133
133
82
82
83
83
84
84
136
135
82
82
135
136
137
138
141
98
103
106
109
114
116
116
169
170
171
173
120
121
124
124
177
178
178
179
127
131
183
184
186
187
187
136
138
139
193
194
196
144
146
147
200
149
202
151
152
205
205
205
153
205
205
153
151
152
205
206
207
156
158
155
207
207
155
155
207
154
154
153
151
150
149
149
150
204
204
205
154
206
207
209
208
156
156
208
156
156
156
206
154
154
206
206
205
205
204
204
204
203
200
200
147
144
144
143
145
201
203
205
207
209
211
212
162
216
218
219
167
167
167
168
220
220
170
170
221
221
168
168
220
218
166
164
216
215
214
162
162
162
214
213
213
213
212
212
212
212
212
212
212
212
161
161
161
160
160
160
160
212
213
213
213
159
158
210
211
154
152
150
201
198
196
191
134
131
182
129
129
181
129
128
180
179
178
125
177
175
175
175
174
122
122
172
171
170
169
116
167
166
165
164
112
163
162
161
161
160
108
160
160
108
108
108
107
160
160
161
161
160
107
107
107
159
107
107
107
107
160
160
108
109
109
110
110
110
162
110
163
111
112
164
164
164
164
164
112
112
112
112
112
112
113
113
166
166
115
115
115
115
167
167
167
99
99
99
151
151
99
99
150
150
150
99
99
100
152
100
99
98
95
93
92
91
137
86
84
83
83
134
134
82
82
83
83
84
84
136
137
85
84
84
85
138
139
139
94
98
101
104
162
113
116
170
171
172
175
175
123
178
179
180
181
181
182
183
187
187
188
189
137
190
190
141
142
195
144
196
145
148
148
149
150
203
205
205
207
207
207
155
155
207
155
154
154
155
208
209
210
212
208
208
207
156
208
207
207
155
154
153
152
203
152
153
207
207
155
155
208
208
208
207
156
156
156
208
156
156
154
154
206
206
205
206
205
206
206
206
206
204
204
203
202
150
150
150
154
208
209
211
213
216
218
167
221
224
170
170
170
222
170
222
223
173
224
224
223
171
171
222
222
169
168
219
218
218
165
164
164
163
215
214
214
214
161
161
161
161
213
213
161
162
162
160
160
159
159
211
210
212
212
212
211
158
209
211
205
151
202
200
198
195
191
186
183
129
128
128
127
126
125
177
176
175
174
174
173
120
120
120
171
171
118
170
169
168
167
165
165
163
163
110
162
161
160
159
158
158
106
158
158
106
106
105
158
159
159
159
159
106
106
106
106
158
158
106
106
107
107
160
160
160
109
109
109
161
110
110
110
163
163
165
165
165
165
165
165
113
111
111
112
164
165
165
165
115
167
167
167
167
167
115
99
99
99
151
151
99
99
150
150
150
99
100
152
100
100
100
98
95
94
93
92
137
138
136
136
83
134
134
82
82
83
83
84
136
84
138
138
137
85
86
87
140
86
92
96
99
102
159
110
117
118
171
121
123
175
176
126
127
128
182
182
183
184
188
136
137
138
138
139
191
194
143
144
145
197
197
148
148
149
150
204
205
206
207
207
155
207
155
207
207
154
154
155
156
158
159
212
208
156
156
156
208
207
207
155
154
153
152
204
204
206
208
156
156
157
209
209
209
206
155
155
155
207
207
155
154
154
206
205
153
205
205
155
155
155
207
205
205
205
205
205
205
154
156
158
159
162
164
218
220
221
224
174
173
173
225
172
172
224
224
173
173
173
172
172
171
223
222
170
169
168
219
218
218
216
164
163
163
214
214
162
161
161
161
161
213
213
161
162
162
212
212
211
159
159
157
212
212
212
211
210
209
211
205
203
201
147
145
143
191
186
131
129
128
128
127
176
175
174
174
173
172
172
120
120
119
171
171
170
118
118
117
116
166
165
164
163
163
110
109
109
160
159
158
106
106
106
106
158
158
104
105
106
107
159
159
158
158
106
106
158
158
158
106
107
107
159
160
160
161
109
109
109
161
110
110
111
111
115
115
115
167
167
167
167
112
112
112
113
166
166
166
116
168
168
168
168
168
168
103
102
101
100
153
102
103
152
152
153
101
102
154
154
104
103
101
150
96
94
93
90
140
136
136
84
134
81
84
84
137
137
86
86
86
138
137
137
85
85
85
85
87
88
142
93
98
155
158
110
117
119
120
121
122
176
127
129
130
182
131
185
186
135
136
137
138
139
139
191
194
143
144
146
147
200
201
150
150
204
205
205
206
154
206
206
207
207
207
208
156
156
156
156
156
156
208
210
210
158
157
157
156
156
154
154
154
154
154
206
206
208
208
208
208
208
208
208
154
154
206
205
205
204
204
207
155
155
154
154
206
206
155
155
207
208
209
209
209
208
208
209
159
162
163
216
165
166
219
224
225
226
175
175
175
175
176
228
228
176
176
176
175
173
173
224
172
223
223
170
169
168
221
221
219
219
166
165
164
164
163
215
215
214
214
214
213
161
161
213
213
161
161
161
161
160
212
212
160
159
211
211
210
207
206
205
150
146
143
191
185
130
127
126
125
175
175
173
172
171
171
170
119
118
118
170
170
170
118
118
116
168
114
165
164
163
111
110
109
108
107
158
157
156
104
104
104
104
104
104
104
104
104
103
103
155
155
155
155
155
156
156
157
157
158
158
159
160
160
163
111
110
110
111
111
111
112
112
113
165
165
165
165
165
165
165
113
113
113
113
113
113
114
114
166
166
166
166
166
103
103
102
154
102
103
103
154
154
154
103
103
155
156
106
105
154
151
148
146
93
91
141
137
137
137
83
82
85
137
137
85
85
85
85
87
138
86
86
86
86
86
140
140
89
143
146
149
150
159
114
117
171
172
123
124
182
184
184
183
132
133
135
137
138
139
140
141
141
142
145
146
199
200
149
150
202
151
204
205
206
206
207
208
208
208
156
209
209
209
209
157
157
157
157
209
209
210
210
210
158
158
158
210
157
157
157
157
209
157
157
210
209
209
209
209
208
156
154
206
206
205
153
204
204
205
153
154
154
154
207
155
156
157
210
212
215
216
217
217
218
219
221
172
173
226
225
225
225
228
229
231
231
232
180
180
232
232
233
233
180
180
179
229
229
176
176
175
227
225
224
171
170
221
221
221
168
167
218
218
217
217
216
216
215
215
215
163
214
213
213
161
161
160
160
160
160
160
211
211
211
159
160
157
156
156
153
202
199
140
135
131
181
179
124
122
173
171
170
117
117
116
117
168
168
116
168
168
116
117
115
166
165
164
163
162
110
110
109
108
107
105
105
154
154
154
102
102
102
154
154
101
101
101
100
100
153
154
154
103
103
103
156
156
158
158
107
108
108
163
163
163
111
111
112
112
113
113
114
166
166
166
166
166
166
166
166
166
166
166
114
114
114
114
114
114
166
166
166
103
103
156
104
104
155
155
154
155
103
104
104
156
156
107
106
155
151
149
146
93
91
141
137
137
137
83
82
137
137
137
85
85
85
85
87
86
138
86
86
86
86
88
88
89
143
145
147
148
156
112
115
169
171
174
176
182
184
184
132
132
134
136
138
139
192
141
142
194
143
146
146
200
201
150
151
151
204
205
154
155
207
208
208
208
208
157
209
210
210
209
209
157
157
209
209
209
210
210
158
158
158
158
210
210
158
158
158
210
210
158
159
210
210
209
209
208
156
154
206
206
205
153
152
204
205
153
154
154
155
156
156
158
159
161
162
166
220
220
220
220
222
223
174
175
228
229
228
229
179
180
180
233
234
234
234
182
234
234
235
232
180
179
230
229
176
176
177
229
227
225
224
171
170
170
222
221
220
219
219
219
165
165
165
164
216
216
163
214
214
213
161
160
212
160
160
212
212
211
211
211
159
160
158
157
156
155
203
200
192
136
132
181
179
176
121
120
118
117
168
116
115
167
168
116
116
116
168
116
116
114
165
164
163
162
161
110
109
108
107
106
105
104
152
152
152
100
152
152
152
153
101
100
100
100
99
152
102
102
102
103
103
156
156
158
158
107
108
108
111
163
163
163
164
112
112
113
165
166
166
166
166
166
166
114
114
114
166
166
114
114
114
114
114
114
114
166
166
166
103
156
157
106
105
156
155
156
156
156
105
105
158
158
108
107
104
151
149
146
144
144
90
86
138
138
84
83
138
138
85
85
136
84
84
88
87
139
139
139
87
87
87
88
90
92
145
147
147
150
107
163
166
169
173
175
127
129
131
132
186
136
191
192
141
194
143
144
144
145
146
147
200
201
202
151
153
153
206
155
156
157
157
208
208
156
156
157
209
209
156
156
156
156
156
156
156
210
210
210
211
159
160
160
211
211
159
211
159
159
211
160
212
211
210
209
156
156
154
206
154
153
153
152
152
206
206
155
156
157
158
158
164
165
218
219
170
171
172
225
225
227
228
178
179
180
181
233
233
181
181
181
181
235
235
183
236
184
184
236
235
183
182
234
233
180
180
232
232
177
228
226
225
172
172
171
170
221
220
221
221
219
167
166
166
217
165
165
163
214
161
213
212
211
159
160
212
211
211
211
159
159
159
158
157
156
207
152
149
192
188
186
182
179
175
120
118
116
115
166
114
114
166
166
166
166
114
114
114
166
165
164
163
162
160
160
107
107
106
105
155
154
101
150
150
150
150
150
150
98
101
100
152
152
151
151
100
101
101
102
102
102
155
155
158
158
107
108
108
111
163
164
164
164
165
165
114
114
167
167
167
115
167
167
167
115
115
115
115
115
167
167
166
114
114
166
166
166
166
107
159
159
107
107
107
159
157
157
106
108
108
161
161
161
160
105
153
150
147
146
141
89
87
139
138
84
136
138
138
85
85
136
84
84
84
85
88
141
141
88
88
88
89
90
143
145
149
98
100
157
158
161
165
115
117
124
127
130
184
187
190
141
140
193
194
143
144
144
196
147
148
201
201
202
151
153
154
207
157
157
157
156
156
156
156
156
208
208
156
156
156
156
156
156
156
156
209
209
209
209
158
160
163
161
161
214
214
162
163
215
214
214
213
212
158
156
156
208
207
153
152
151
152
153
154
154
156
158
212
163
164
168
168
221
222
224
225
226
227
227
177
179
235
184
185
184
184
236
236
236
184
184
238
238
238
238
186
186
186
239
239
186
236
235
235
182
182
181
179
230
229
228
177
175
174
172
171
222
221
221
222
170
168
218
165
216
164
164
163
214
214
213
212
160
160
211
211
211
159
159
159
211
209
158
210
209
155
153
196
191
187
184
180
175
120
169
114
112
112
113
113
164
165
166
166
166
166
165
163
162
161
161
161
161
109
107
105
103
101
151
150
150
148
148
148
149
97
98
98
98
98
150
151
151
152
153
152
152
100
101
101
154
154
158
107
107
108
108
162
163
163
163
112
165
165
167
115
116
116
168
168
116
116
168
168
116
168
168
168
168
168
167
115
167
167
167
167
167
107
107
159
159
107
107
107
157
157
158
107
108
109
161
161
108
105
153
150
147
146
89
89
88
139
138
84
136
138
138
85
85
85
136
136
136
137
140
141
141
140
88
88
89
90
144
146
149
99
100
156
159
161
164
115
116
123
126
129
131
185
189
139
140
193
194
195
144
196
196
146
148
201
201
201
151
153
154
156
157
158
157
157
156
156
156
156
208
156
156
155
155
155
155
155
155
155
156
156
156
209
210
212
163
162
162
214
163
163
215
216
162
162
161
160
159
157
208
208
155
153
152
152
153
153
154
207
209
211
213
216
217
170
170
171
224
175
175
228
227
176
178
180
184
184
185
239
187
239
239
239
187
187
240
240
240
240
240
188
188
239
238
239
237
236
236
183
183
182
180
231
230
229
177
175
175
173
172
171
170
170
170
170
220
219
166
165
216
164
215
215
162
213
160
160
160
211
211
159
159
159
159
211
209
210
210
209
154
153
143
140
135
183
180
175
121
169
165
112
112
112
112
164
164
165
166
166
165
112
111
162
161
161
109
108
108
106
105
155
153
151
150
150
148
148
148
149
97
98
98
98
98
98
99
99
151
153
152
152
152
153
101
102
102
106
106
159
160
160
163
163
111
111
112
113
166
167
167
168
116
116
168
116
116
116
168
168
168
168
168
168
168
167
167
167
167
167
167
167
108
108
160
160
108
108
108
158
158
158
159
108
108
108
109
108
105
153
150
147
94
91
90
141
140
87
86
137
139
139
138
138
85
85
137
137
136
138
87
140
140
88
90
90
91
93
148
150
100
100
103
157
160
162
112
113
172
123
125
127
181
184
135
138
139
193
194
196
196
196
198
148
148
200
201
151
154
155
157
158
159
158
210
210
157
157
157
157
156
156
155
155
155
155
155
155
155
156
208
208
208
209
211
214
164
165
217
165
166
218
166
164
163
162
161
160
210
209
208
155
206
153
153
155
155
158
211
212
214
216
219
220
225
225
174
175
178
179
179
178
231
232
182
186
187
188
192
192
244
244
243
191
191
190
242
242
243
191
191
243
241
189
241
240
239
187
187
187
186
236
235
234
181
181
231
178
176
174
174
173
172
172
223
221
220
219
166
217
216
215
214
161
213
212
160
159
211
211
159
159
210
158
159
209
209
210
157
206
204
144
139
136
184
180
176
172
169
165
163
111
112
112
111
164
165
165
165
165
112
111
162
161
109
108
107
107
157
156
154
152
150
150
98
96
148
96
96
148
96
96
96
97
97
97
98
150
151
152
152
152
153
101
102
102
105
158
158
159
161
163
112
112
112
113
113
114
116
116
168
168
116
116
168
168
168
168
168
168
116
168
168
168
167
167
167
115
115
167
115
109
161
161
109
109
109
109
159
159
159
159
107
107
159
109
108
157
153
150
95
94
92
92
91
90
89
87
87
140
139
139
138
138
138
138
137
136
84
85
86
88
88
143
144
93
95
98
100
102
101
103
105
107
109
111
164
170
173
123
124
178
181
183
134
136
190
140
193
194
195
197
199
199
199
200
202
156
157
210
212
213
212
211
211
211
211
210
209
157
156
208
156
156
156
156
156
208
209
209
209
210
211
213
216
217
218
218
218
219
219
168
165
165
216
215
214
160
159
209
156
207
207
207
209
158
213
214
215
217
219
222
171
225
225
174
175
230
231
179
182
235
236
238
190
191
192
193
244
244
244
244
192
192
243
243
243
191
191
191
244
244
244
192
244
192
192
192
191
190
188
239
239
186
185
236
235
232
230
228
175
174
174
173
223
222
221
168
168
217
164
215
214
213
213
160
159
159
159
159
158
210
158
158
209
209
158
157
206
204
144
140
136
185
180
176
173
168
164
162
162
163
111
111
163
164
165
165
164
163
163
110
109
108
107
106
157
155
154
152
151
150
150
98
96
96
96
148
147
147
147
95
95
95
148
148
148
150
152
152
152
153
101
102
102
104
105
158
159
161
164
165
112
113
113
114
115
116
117
168
168
168
168
116
116
168
168
168
168
116
168
168
168
167
167
167
167
167
167
115
109
109
109
109
161
161
109
107
159
159
159
107
107
159
161
108
157
101
98
95
94
93
93
91
90
90
88
88
140
140
139
139
138
138
138
85
84
83
84
86
87
89
144
144
94
96
98
101
154
153
104
105
107
109
111
111
170
173
174
123
177
180
182
184
134
136
138
140
193
193
197
147
147
199
200
202
157
158
211
212
213
212
212
212
212
211
210
209
157
208
209
157
157
209
157
157
209
210
210
210
210
212
214
164
165
218
218
218
219
219
219
166
165
217
215
214
160
160
209
156
208
207
208
210
211
214
215
164
218
220
172
173
227
228
176
178
180
181
233
235
236
237
239
191
193
246
195
246
246
246
246
246
246
245
245
245
193
193
245
246
245
245
193
193
194
246
246
244
192
190
189
188
240
239
238
237
233
231
229
228
227
227
174
172
223
170
221
221
165
164
163
162
162
213
213
211
159
159
159
158
210
210
158
209
209
158
157
154
152
144
140
136
133
128
125
121
167
164
110
162
163
111
110
163
164
164
164
164
163
163
110
109
108
106
105
156
154
153
152
150
98
98
98
96
96
96
95
95
94
146
146
146
147
147
147
148
149
152
152
152
153
153
154
102
104
104
158
159
161
165
165
113
165
114
114
115
117
117
168
168
168
168
116
116
168
168
168
168
168
168
116
116
167
167
167
167
167
115
115
109
109
109
160
159
159
159
108
108
160
159
159
107
159
158
105
103
98
95
93
144
92
92
92
92
92
92
92
90
142
140
140
139
138
86
85
85
86
138
139
139
87
144
147
97
97
99
153
155
157
159
108
162
164
112
113
117
118
172
174
123
177
125
130
184
135
138
140
194
143
194
144
145
198
147
149
151
205
155
156
210
211
211
157
209
209
208
156
155
207
209
209
156
208
209
159
161
211
212
212
212
212
212
213
165
165
165
166
218
219
219
218
166
217
215
213
158
209
208
156
156
156
209
213
214
217
216
165
166
220
175
177
230
178
179
180
183
182
235
238
238
239
241
192
193
246
248
196
196
196
248
248
248
248
248
196
195
195
246
246
247
247
195
194
193
245
245
247
195
246
244
243
242
189
187
238
235
234
232
231
232
229
227
172
171
171
224
224
167
165
165
163
162
160
212
211
159
158
158
158
158
158
159
157
157
209
208
205
203
198
141
137
134
182
178
121
115
162
160
108
108
108
107
108
160
161
161
162
162
110
110
109
160
158
157
156
154
152
99
98
98
97
148
94
94
94
93
145
144
144
144
144
145
146
94
95
96
150
150
152
153
153
103
103
104
104
107
160
162
165
113
166
166
114
167
167
116
117
116
168
168
168
116
116
169
167
115
167
167
167
115
167
169
169
169
168
115
115
115
109
109
109
160
160
160
159
109
109
160
159
159
106
158
156
155
101
97
95
93
145
144
92
92
92
92
92
92
143
143
141
140
140
139
87
86
86
87
139
139
140
88
92
147
149
97
99
153
155
157
159
109
111
113
166
166
117
118
120
121
175
124
124
181
183
133
136
138
192
193
194
144
145
147
147
149
204
205
155
157
158
210
158
157
157
156
208
156
156
155
209
157
156
208
209
211
161
161
214
162
162
163
163
216
217
166
166
166
219
167
219
219
166
217
216
214
159
159
210
157
157
158
159
215
216
218
166
167
221
223
177
178
180
232
181
182
183
184
185
239
188
241
191
194
195
196
199
199
251
251
251
251
251
250
198
198
197
197
196
248
248
248
195
195
194
246
246
196
196
247
246
245
244
191
191
243
240
238
185
235
235
233
180
175
173
224
223
223
168
219
165
164
215
214
213
159
159
211
210
159
159
158
159
157
209
209
208
205
151
146
141
137
134
130
126
121
115
162
160
108
108
108
107
108
160
161
161
162
110
110
109
108
107
158
157
156
154
152
99
98
98
97
148
146
94
94
93
93
144
144
144
144
145
146
94
95
148
149
150
151
152
153
102
103
156
104
106
108
110
113
113
114
114
166
167
167
116
168
115
115
167
115
167
167
116
115
115
167
167
167
115
115
169
168
168
116
115
115
115
110
110
161
109
108
160
160
109
109
108
159
106
106
157
154
153
152
96
95
93
146
145
145
93
93
93
93
145
144
143
90
89
88
88
87
87
87
87
88
140
88
89
92
147
149
149
99
153
155
158
160
162
112
166
167
115
118
119
120
121
123
124
176
180
182
185
188
137
139
140
142
144
145
147
148
149
204
153
155
209
210
210
210
156
156
156
208
156
156
156
157
157
156
208
209
211
161
162
163
163
216
217
165
166
166
166
166
167
167
167
220
219
166
218
216
215
161
160
159
159
159
159
161
216
217
219
168
221
223
226
178
232
233
234
182
184
185
186
186
241
190
191
192
196
197
197
252
252
200
252
252
252
252
251
199
199
198
198
198
249
249
196
196
195
247
247
195
197
196
195
195
194
193
245
244
191
189
187
186
184
236
236
235
178
175
225
224
223
222
220
218
217
216
215
162
160
159
159
211
211
159
159
211
209
209
209
156
153
203
146
141
137
134
182
178
121
115
162
160
108
108
108
159
160
160
161
161
162
110
109
109
108
107
106
156
156
102
100
99
98
150
97
96
146
146
146
93
93
144
144
144
144
145
94
94
95
96
97
149
151
152
101
102
154
156
104
106
107
110
113
165
166
114
114
167
115
116
116
114
114
114
114
114
166
167
167
167
115
115
167
115
115
168
168
168
167
115
114
166
112
111
163
110
110
110
110
109
109
108
158
157
104
155
150
150
149
95
94
94
146
146
94
94
94
94
94
146
145
145
92
91
90
89
141
88
88
89
89
142
90
90
92
147
149
149
151
101
103
158
161
163
113
117
117
170
173
174
122
123
124
125
177
182
184
186
189
191
141
142
142
144
197
199
148
202
204
205
155
156
157
157
209
207
155
156
208
208
208
209
157
157
208
208
209
211
161
215
164
164
218
219
220
221
167
167
167
167
168
220
221
167
167
218
218
217
163
163
162
162
162
163
216
219
169
170
223
226
229
179
182
234
236
185
185
186
188
241
241
192
193
246
248
199
200
201
202
254
254
254
254
254
254
253
252
200
199
199
199
198
198
198
198
197
249
248
248
198
198
197
197
196
197
196
193
193
190
188
187
185
185
238
237
183
181
178
175
225
224
170
221
219
217
164
164
161
212
212
211
212
160
160
211
209
209
157
156
153
203
146
193
189
134
130
178
173
167
162
160
160
108
108
159
160
108
161
161
162
110
109
108
107
106
157
156
155
154
100
99
98
150
97
96
146
146
146
93
145
144
144
144
144
93
94
94
95
96
96
97
150
151
100
153
154
156
104
106
107
161
165
165
166
114
114
115
115
116
116
115
115
115
115
115
167
168
167
115
115
115
167
167
115
115
115
115
115
114
114
165
112
112
164
163
110
110
110
160
159
106
155
154
153
153
148
148
149
96
95
95
147
146
94
94
94
94
146
146
146
146
144
92
91
90
90
141
141
142
142
91
143
143
92
147
149
149
151
101
103
106
161
112
114
118
119
120
123
176
177
177
178
178
179
184
135
137
192
194
144
145
194
196
145
147
148
150
153
153
155
156
156
156
208
208
156
208
209
209
210
210
210
210
209
209
210
212
162
163
163
164
166
167
220
222
167
167
167
168
168
221
221
220
220
219
218
218
165
164
216
164
164
164
166
169
170
223
225
228
180
182
236
236
185
186
186
188
190
243
243
194
247
248
249
201
202
254
202
202
254
254
254
202
202
252
252
200
199
251
250
250
199
199
199
250
249
249
249
199
199
198
250
250
198
249
249
249
194
245
243
190
189
186
238
185
183
180
178
177
225
223
222
220
167
166
165
213
213
212
160
212
212
160
211
209
157
157
208
205
151
146
193
189
186
182
126
121
167
162
160
160
108
160
159
108
108
109
161
110
162
160
160
159
158
156
155
154
154
100
99
98
98
97
96
146
146
146
93
145
144
144
144
92
93
94
94
95
148
96
96
98
151
151
153
153
156
104
106
107
109
164
164
166
166
114
115
115
116
116
116
168
168
168
168
168
169
167
167
167
115
167
167
115
115
115
115
114
165
165
165
114
114
113
162
161
160
160
108
108
158
155
154
153
152
149
149
148
95
96
149
149
147
95
95
147
147
94
146
146
146
93
93
92
92
144
143
143
143
143
143
143
143
144
146
148
150
152
102
103
105
162
112
113
116
118
121
122
124
177
179
180
181
182
134
135
137
139
140
193
194
193
196
146
198
148
151
152
153
153
207
156
156
155
208
208
208
209
209
210
210
211
159
158
158
210
211
213
162
163
165
167
168
221
220
220
168
168
169
169
222
222
221
221
220
220
218
165
165
216
216
164
165
219
171
224
226
228
180
182
234
237
237
188
188
189
242
245
246
246
196
249
249
251
201
254
254
204
204
204
204
204
204
204
255
254
202
200
251
250
250
251
199
251
251
251
251
251
251
199
199
199
199
199
251
250
251
248
246
244
243
242
190
189
238
236
234
180
181
177
224
222
169
168
165
215
215
162
161
159
159
210
210
160
159
158
156
154
151
150
195
193
137
183
180
127
120
165
162
161
161
161
161
110
109
109
109
109
161
161
157
157
157
156
156
155
155
152
100
99
98
98
97
148
146
146
94
93
145
144
144
93
93
93
94
94
95
147
149
97
151
100
100
154
154
156
104
105
106
108
110
110
165
166
166
115
115
115
115
117
168
168
116
167
167
168
169
169
117
169
117
169
169
168
115
115
115
166
114
113
114
113
112
162
161
160
159
159
107
106
154
153
152
151
97
148
147
146
95
148
149
147
94
146
146
146
146
146
147
147
94
94
93
145
145
144
92
144
92
144
144
144
145
147
148
150
100
102
102
104
161
164
113
169
171
121
123
124
126
179
129
130
131
134
135
137
139
140
193
194
143
145
198
198
199
149
204
205
154
156
157
156
155
208
208
156
156
209
157
157
158
158
157
157
209
210
212
162
163
217
219
168
221
220
220
168
168
169
169
222
222
169
169
220
219
219
165
165
217
217
165
166
220
224
174
175
178
181
235
236
237
186
189
241
242
243
246
246
247
249
250
251
252
254
203
203
204
204
204
204
204
204
204
204
203
255
253
253
252
252
200
200
252
252
252
252
252
251
199
199
199
251
251
251
199
250
249
247
246
244
244
191
191
187
237
235
234
233
230
226
172
171
221
166
164
164
162
161
160
160
211
210
160
159
210
208
205
151
201
195
193
138
131
128
126
119
165
162
161
160
160
108
108
106
106
106
106
158
158
156
156
156
156
155
103
155
152
152
99
98
98
97
148
146
146
146
93
93
144
144
93
93
145
93
94
94
95
96
149
150
99
100
101
154
156
156
105
106
108
110
110
112
112
164
166
166
115
115
115
115
115
114
114
165
166
167
167
115
115
115
167
167
167
166
166
114
113
113
165
113
112
112
109
160
159
159
106
105
104
101
151
150
97
96
95
146
146
146
147
96
96
95
147
147
95
147
147
148
148
96
95
147
147
146
93
93
93
93
145
145
93
95
96
149
151
152
153
102
104
162
165
115
170
173
123
124
125
126
128
130
131
131
134
187
137
139
192
193
194
145
147
198
198
198
200
204
153
154
156
157
157
156
155
207
155
156
156
156
157
157
156
156
207
208
209
159
161
214
216
218
219
220
167
168
168
168
169
169
222
222
168
168
219
219
219
166
218
220
168
168
169
222
175
176
177
232
235
184
237
239
189
190
243
244
245
247
248
197
250
250
251
200
203
203
204
204
204
204
204
204
204
204
204
204
203
255
255
202
202
201
201
253
253
253
201
201
252
252
200
200
252
252
200
199
199
197
248
248
247
247
245
244
190
188
238
236
235
182
230
176
174
224
169
166
164
215
214
161
212
212
159
159
158
209
207
204
202
148
193
192
138
131
128
125
117
165
110
108
107
158
106
107
104
104
104
104
104
156
155
155
155
155
155
103
103
152
152
99
98
98
97
96
146
146
146
93
93
144
144
92
92
144
93
93
93
94
96
148
98
150
151
101
153
156
104
105
106
108
110
110
111
111
112
165
166
116
169
116
116
115
115
114
114
167
168
168
168
116
116
116
116
116
168
168
115
114
114
114
113
112
111
109
160
159
106
105
104
103
100
150
149
97
96
95
94
93
146
147
96
97
96
148
96
96
148
148
149
149
96
96
148
147
147
146
146
146
146
146
146
94
96
97
98
151
152
153
102
105
111
114
116
120
122
125
124
177
179
180
130
131
184
134
135
189
139
140
193
194
144
146
147
146
147
149
204
205
206
156
157
209
208
154
207
155
155
208
156
156
156
155
155
206
207
208
158
160
161
163
217
218
166
166
168
168
168
169
169
222
222
219
167
219
219
167
167
167
221
221
169
170
171
228
229
230
233
236
238
238
188
190
243
244
244
246
248
248
196
249
250
251
200
202
203
203
204
204
204
204
204
204
255
255
255
255
255
255
203
203
202
202
254
254
202
202
202
252
200
201
201
201
201
201
199
199
198
249
196
248
248
194
193
242
241
187
237
185
184
179
177
175
173
222
219
217
215
214
213
213
160
159
210
158
157
207
204
202
200
193
192
138
184
179
176
168
165
162
108
106
106
106
106
155
155
103
103
103
103
102
102
102
154
155
103
103
100
100
99
98
98
97
96
146
146
94
93
93
92
144
143
144
144
144
93
93
93
95
96
97
98
151
152
153
103
103
105
106
108
110
162
163
164
165
114
167
170
170
170
117
169
117
116
116
116
118
170
170
118
118
118
118
118
118
118
117
168
168
168
112
112
111
108
159
158
106
156
155
102
99
150
96
96
95
94
93
93
93
94
147
96
96
148
96
96
148
148
150
150
97
149
148
96
96
147
147
147
147
147
95
95
97
98
99
152
153
153
102
106
113
116
118
122
125
128
177
178
179
181
130
184
184
186
135
137
139
140
141
194
194
197
147
147
148
151
152
205
154
156
157
209
208
206
206
206
155
155
208
156
155
155
154
154
154
207
209
158
159
161
215
216
164
164
168
168
168
169
169
222
222
219
219
167
167
167
167
219
222
222
170
171
225
177
178
179
181
185
239
240
190
191
244
244
245
194
196
197
249
248
249
249
199
201
202
202
204
204
204
204
255
255
204
254
254
254
254
202
203
203
203
203
203
203
203
203
255
252
252
253
201
201
201
201
200
200
198
198
197
197
248
247
195
243
241
188
239
186
187
181
178
177
226
223
220
217
164
215
213
213
160
160
210
209
156
154
203
201
200
192
192
190
184
179
176
166
165
162
160
158
105
105
105
155
155
103
103
103
103
153
101
101
102
154
103
103
100
100
99
98
98
97
96
146
146
94
93
93
92
144
143
91
91
144
92
93
93
95
95
97
98
150
152
100
103
103
104
106
160
162
162
164
165
166
115
117
171
171
173
173
172
172
171
119
120
121
121
121
121
121
121
121
122
122
173
173
172
172
120
112
111
110
160
158
157
157
155
155
154
153
152
99
99
147
95
95
95
95
95
147
149
149
150
98
99
151
151
151
151
150
150
98
97
149
148
148
148
148
96
96
96
151
99
101
102
103
104
156
158
162
166
170
174
176
177
181
182
183
132
134
187
188
190
139
140
141
142
143
196
195
196
145
146
147
148
150
152
154
154
206
207
209
208
157
210
158
158
158
157
156
155
206
205
204
205
154
156
157
210
211
213
215
217
165
164
217
217
218
219
168
170
221
168
167
167
168
168
222
223
225
226
177
180
181
182
235
238
240
242
192
244
246
246
247
195
196
196
248
250
250
251
200
201
254
202
203
203
255
255
255
255
255
255
255
255
255
255
204
204
203
203
203
203
203
203
203
203
255
254
254
254
253
253
200
200
199
199
251
198
198
247
247
245
243
190
189
188
238
181
179
229
228
225
223
169
163
213
212
160
158
209
209
156
155
204
201
147
197
193
189
185
181
124
170
165
111
107
157
157
156
155
154
153
101
101
101
101
101
101
152
100
100
152
152
100
100
100
151
150
97
97
148
96
96
95
94
93
145
144
143
143
91
91
143
143
91
93
146
94
96
97
99
99
152
153
102
156
158
161
162
165
165
115
116
170
121
121
176
176
177
178
179
128
128
127
127
127
127
127
127
127
128
128
179
178
177
176
176
109
108
108
158
157
156
156
155
155
154
101
152
151
151
149
149
97
97
97
149
149
150
98
99
99
151
100
100
101
152
152
99
99
151
151
150
150
150
150
98
98
98
152
101
102
103
104
105
158
160
113
117
173
178
128
129
131
132
185
135
137
138
190
141
142
195
196
196
196
197
195
144
145
146
148
148
149
151
205
205
205
206
208
209
158
159
212
160
159
158
208
207
206
205
204
205
154
155
155
208
210
211
160
214
216
163
164
217
218
218
167
170
222
222
170
170
170
170
173
226
227
229
179
183
183
236
237
188
190
244
245
245
247
247
195
196
248
249
249
250
198
199
200
253
254
254
255
255
255
255
255
255
205
205
205
205
205
205
205
255
204
204
204
255
255
204
204
204
204
203
255
254
254
254
253
253
252
200
199
199
199
197
248
245
245
191
190
241
239
234
180
231
230
175
172
169
163
213
160
159
157
208
208
207
205
202
200
197
143
136
185
179
176
119
114
110
108
156
154
102
102
153
152
153
101
101
101
101
101
100
99
99
99
151
151
99
99
98
150
149
97
96
148
95
95
94
146
145
144
143
142
142
90
90
142
90
90
143
144
145
94
95
97
150
153
154
103
157
160
164
165
168
169
170
171
173
124
176
179
179
180
181
182
131
131
132
132
132
132
133
133
185
185
133
133
184
183
183
131
108
159
159
106
105
104
156
155
155
102
101
152
151
151
149
149
97
97
149
149
149
150
98
99
99
152
152
100
101
101
101
100
100
152
99
98
98
98
150
150
98
98
153
154
155
156
105
106
107
161
114
118
123
127
129
131
132
185
187
137
190
191
192
143
144
196
196
197
197
198
144
145
198
147
148
201
201
203
205
205
205
206
208
210
159
160
161
161
160
159
209
208
207
206
205
206
155
155
156
156
157
159
160
161
164
163
164
164
165
166
167
170
170
223
224
224
172
224
227
175
177
179
233
236
237
237
187
189
191
192
245
245
247
247
196
196
197
249
249
250
198
199
252
201
202
254
255
255
255
255
255
255
205
205
205
205
205
205
205
205
204
204
204
255
255
204
204
204
204
203
203
255
202
254
253
253
252
200
200
251
251
250
249
246
245
244
243
242
240
183
181
232
230
175
173
221
215
212
211
210
157
155
155
154
205
202
198
195
141
137
183
178
174
117
114
110
106
155
153
154
102
101
152
153
153
153
153
153
153
152
99
99
99
99
99
99
98
97
97
149
149
96
96
147
147
146
93
92
144
143
142
142
90
90
142
142
90
91
91
144
145
147
149
149
153
154
104
158
161
165
166
169
170
171
173
174
125
178
180
180
180
129
131
131
132
185
185
185
134
135
135
187
186
186
134
186
185
185
185
159
159
159
158
106
106
106
103
155
102
153
152
151
151
151
151
151
99
151
151
151
151
99
100
100
152
153
153
103
103
102
102
101
101
101
100
100
152
152
152
152
100
103
155
156
157
107
107
108
161
166
119
124
180
183
133
135
136
190
191
193
194
195
147
146
198
199
147
147
147
198
199
200
202
151
152
202
204
206
206
206
207
209
160
160
161
162
162
161
160
211
210
209
208
208
208
209
209
157
157
158
159
212
160
163
162
163
164
165
165
218
222
170
172
226
226
226
226
229
230
180
181
184
238
239
240
189
191
192
193
194
194
196
196
196
197
249
250
198
198
198
199
200
253
254
202
255
255
203
255
255
255
205
206
255
206
206
206
206
206
205
205
205
205
205
205
205
205
205
204
204
203
255
255
202
202
201
253
252
252
252
251
250
196
246
244
244
244
189
184
183
181
179
176
173
222
215
212
210
210
208
154
152
151
201
198
194
190
137
185
178
121
168
113
109
107
105
154
153
102
102
102
101
101
153
153
153
153
153
151
98
98
98
150
98
150
148
96
96
96
96
96
96
146
146
93
93
92
143
142
141
89
89
89
141
141
89
91
92
93
146
95
149
98
153
154
105
107
110
167
168
170
171
172
173
123
126
178
181
181
182
131
132
133
133
185
134
134
187
137
138
138
137
137
189
189
190
190
190
110
162
162
160
159
158
157
156
104
103
154
153
152
152
99
151
151
99
151
151
151
151
151
100
152
153
153
153
153
101
102
102
102
103
103
103
103
155
155
103
103
103
103
155
156
106
107
108
160
160
166
171
176
180
183
185
136
138
192
194
197
198
199
200
148
200
200
200
148
148
147
200
201
201
202
203
205
206
207
208
158
159
212
161
162
163
164
164
164
163
212
211
210
209
209
209
210
211
211
210
158
158
159
161
215
214
163
216
164
165
218
223
223
172
173
227
229
229
234
234
236
184
186
188
241
244
192
193
246
194
248
196
196
196
248
197
198
198
198
198
250
198
251
252
252
252
255
255
255
205
255
255
255
207
255
255
255
205
255
255
205
205
205
205
205
205
205
255
205
204
204
203
255
255
203
203
202
202
253
253
253
252
251
197
195
246
245
245
189
185
183
182
231
175
171
221
214
212
159
158
208
207
155
150
200
198
194
189
133
125
120
116
114
112
161
159
102
100
151
99
99
99
99
100
152
152
152
100
100
152
151
151
98
98
149
149
149
149
149
96
96
95
95
95
146
93
93
92
91
142
140
88
88
89
141
142
90
89
90
91
145
147
150
151
103
104
157
108
110
114
167
171
172
173
122
176
179
179
127
127
128
130
132
133
185
187
187
188
189
190
191
139
139
139
191
192
193
193
193
110
110
161
160
159
158
157
156
104
155
154
153
152
100
99
99
99
99
99
99
99
151
151
152
152
153
153
153
152
153
101
102
102
102
102
103
103
155
103
103
103
155
155
156
157
106
159
160
160
161
167
171
176
181
184
186
189
190
193
195
198
199
199
201
201
201
201
201
201
149
148
149
202
203
203
204
206
206
207
209
158
159
212
214
163
164
217
217
165
164
160
212
210
209
209
209
211
211
211
210
158
158
159
161
215
214
215
215
164
165
218
222
171
172
173
227
229
178
182
183
235
236
238
241
189
192
244
245
194
247
248
196
196
196
248
249
198
198
198
198
250
250
251
252
252
252
255
203
255
255
206
255
255
255
255
255
255
205
205
205
205
205
205
205
205
205
205
255
255
204
255
255
255
255
255
203
202
202
202
201
253
252
251
197
195
194
245
245
241
185
183
234
231
227
224
169
162
159
159
210
208
207
205
200
146
195
191
188
132
122
118
114
112
109
108
157
154
100
151
150
99
98
99
100
152
152
152
152
100
100
151
150
150
150
149
149
149
97
148
148
96
95
95
94
146
145
92
91
91
142
140
88
88
141
141
142
90
89
90
143
145
147
151
151
103
104
106
108
110
115
167
172
172
121
123
125
179
128
128
128
129
130
133
133
134
187
187
188
189
190
191
139
139
191
192
192
193
193
193
109
109
108
158
158
158
159
157
157
156
154
154
101
101
100
152
152
152
152
152
152
152
152
153
153
153
154
154
152
152
153
153
154
154
102
156
156
104
104
104
104
156
157
106
107
160
161
162
163
165
118
122
127
131
133
135
192
142
144
146
148
201
202
204
204
204
204
204
204
152
152
153
206
206
207
208
208
209
157
158
159
160
161
215
216
165
166
219
219
219
215
162
213
212
211
211
212
211
211
210
158
158
211
213
214
213
214
215
216
164
217
221
170
172
226
176
180
180
182
235
236
238
239
242
191
193
245
194
194
247
197
197
196
248
248
249
250
250
250
250
250
250
251
252
200
200
254
202
203
205
205
255
255
255
255
206
206
206
206
206
206
206
255
206
255
255
206
206
206
255
255
255
255
204
204
204
203
203
254
254
254
253
200
198
196
194
245
244
242
238
184
182
179
228
224
221
214
211
157
155
154
152
149
144
142
139
187
182
178
117
114
109
107
106
104
153
153
151
149
149
148
97
98
98
98
98
150
150
150
99
98
150
149
149
149
148
148
148
96
95
95
95
94
145
144
92
143
143
90
90
140
140
140
141
89
142
142
90
91
93
147
149
152
153
156
157
107
109
112
116
169
173
122
123
125
126
129
130
129
130
183
184
186
187
188
135
187
188
189
190
139
139
140
192
192
193
193
194
194
109
107
106
156
157
159
160
158
157
157
155
154
102
101
153
153
153
153
153
153
153
153
153
153
154
102
154
155
101
153
154
154
155
155
103
157
157
105
157
105
105
157
160
108
109
110
112
112
113
115
120
123
128
132
134
135
194
196
145
199
202
203
204
206
206
206
206
206
206
154
155
156
208
157
158
158
159
159
159
160
160
161
161
162
163
165
166
220
168
168
219
218
216
214
213
213
161
211
211
158
158
158
211
213
213
213
213
214
215
164
165
168
169
171
226
177
182
182
236
185
186
239
241
244
192
193
194
246
247
196
197
198
248
248
248
249
198
250
250
250
250
250
199
200
200
200
201
202
254
255
255
255
255
255
255
255
206
255
255
255
255
255
207
255
255
207
207
207
206
255
255
255
205
205
205
204
255
255
255
255
203
203
202
199
196
194
192
244
190
187
185
183
180
227
224
222
213
158
155
152
150
148
146
141
138
134
131
177
174
114
110
158
158
104
154
151
151
149
148
147
147
95
96
97
97
97
149
149
149
150
97
149
149
148
96
96
147
147
147
147
94
94
94
91
143
143
142
90
90
90
88
140
140
141
89
142
142
144
93
146
96
150
154
154
157
106
108
110
112
116
169
173
121
123
124
126
128
129
130
182
183
184
187
188
188
187
135
136
137
138
139
139
141
141
141
193
194
194
195
108
107
105
104
105
107
109
158
158
157
103
155
154
154
153
153
101
101
101
101
101
153
101
102
154
102
103
103
102
154
155
155
156
156
104
157
157
157
157
157
157
105
109
109
110
111
164
165
114
115
120
123
127
131
133
187
194
196
197
200
150
152
153
206
206
154
154
154
154
154
155
156
157
158
158
159
212
160
160
161
161
161
213
161
162
164
166
219
168
168
220
219
165
215
214
213
161
159
159
158
158
210
211
213
213
212
213
214
163
163
164
167
169
171
226
178
182
184
237
237
186
188
190
244
245
246
194
247
247
196
198
250
248
248
248
249
198
198
198
250
250
198
199
200
200
252
253
253
202
204
255
255
255
205
255
255
255
255
255
255
255
255
255
255
255
207
207
255
207
206
255
255
255
205
205
205
255
255
255
255
203
203
202
251
249
194
192
243
242
187
185
235
232
228
172
222
213
210
206
203
201
199
194
137
134
182
178
173
117
111
107
105
155
154
152
149
151
148
95
147
146
147
147
96
96
96
96
96
148
150
97
97
96
96
96
95
147
95
95
94
146
146
93
90
142
142
142
142
90
90
88
140
140
141
89
90
142
145
145
147
149
151
154
155
158
158
108
111
113
117
170
172
121
122
176
177
128
129
130
183
184
185
187
188
137
136
136
137
138
139
192
192
193
141
141
142
194
195
195
106
106
106
106
106
106
106
105
157
157
104
103
155
155
154
154
102
102
102
102
102
104
104
105
105
105
105
106
106
158
158
158
158
158
158
158
158
159
159
158
159
107
112
112
163
164
166
168
169
117
173
175
177
180
185
188
195
198
149
203
152
152
153
152
153
154
154
155
156
156
155
156
157
157
158
159
160
160
160
161
161
162
214
163
163
163
164
164
217
165
165
165
164
164
214
214
213
156
156
157
158
210
211
212
212
212
161
162
163
163
164
165
167
222
224
174
182
185
185
239
241
241
188
190
244
246
246
195
248
248
250
250
197
197
197
197
197
197
249
249
197
197
197
197
197
249
250
198
199
200
253
254
254
204
204
255
255
255
255
255
208
255
255
255
255
255
255
255
255
206
206
255
255
255
255
255
255
255
204
204
204
205
205
201
251
248
193
244
241
238
236
235
233
229
174
168
213
209
206
203
198
195
139
132
180
177
122
170
166
104
102
100
150
149
97
97
148
148
95
95
146
146
146
144
92
93
93
94
94
94
94
94
93
93
93
93
146
146
94
93
145
144
92
142
142
142
142
142
90
90
91
143
142
90
91
92
147
97
96
98
99
101
103
156
157
158
108
111
113
118
119
121
121
123
124
126
129
129
130
182
183
184
185
134
134
136
188
189
137
138
139
191
193
193
141
142
195
195
143
106
106
158
106
106
106
106
105
105
157
104
104
156
155
103
103
103
103
103
155
103
105
105
106
106
107
107
107
107
107
159
159
159
107
159
160
108
161
161
161
161
109
113
165
164
166
168
169
170
170
174
176
178
181
133
136
194
197
149
203
205
205
205
153
153
154
207
208
156
157
156
156
157
158
159
211
212
213
161
213
214
214
162
163
163
163
163
164
216
216
165
165
164
163
163
162
161
157
157
157
157
158
158
210
211
211
212
212
213
214
215
216
218
220
222
225
233
183
184
186
240
241
189
242
244
194
194
195
196
248
250
250
249
197
197
197
197
249
249
249
197
197
197
197
197
249
249
198
198
200
201
201
254
255
204
204
255
255
255
255
208
208
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
204
204
204
204
205
205
201
199
248
245
244
242
238
236
182
180
175
225
217
156
152
149
145
193
190
131
124
121
170
115
111
160
155
153
150
97
96
96
96
147
147
94
94
146
93
93
143
144
144
144
145
93
94
94
94
93
93
93
93
94
145
93
93
144
144
144
142
142
142
90
142
142
90
144
143
91
91
92
94
96
98
97
98
100
102
104
157
107
108
161
164
166
170
119
121
121
123
124
126
129
129
130
130
183
132
133
134
134
188
188
189
189
190
191
191
141
141
193
142
195
195
195
159
159
159
107
107
107
107
106
106
105
105
104
104
104
104
104
104
104
104
104
104
105
105
106
107
108
108
108
160
160
160
160
108
160
160
162
110
163
163
163
163
163
166
165
166
167
169
171
172
171
175
177
178
129
133
135
194
197
149
203
205
205
206
205
206
206
207
156
157
157
156
157
209
158
159
212
213
213
213
214
214
214
163
163
215
163
163
163
215
215
164
216
216
163
163
162
162
210
210
157
157
157
157
157
210
210
210
211
212
213
214
214
216
167
169
224
232
183
183
185
187
188
240
242
244
194
194
195
196
248
250
250
249
197
197
197
197
249
249
249
197
197
197
197
249
249
249
197
198
200
252
253
253
255
203
204
255
255
255
255
207
207
207
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
204
204
204
205
205
253
251
196
245
244
242
186
184
234
179
175
223
216
156
151
198
142
138
135
180
173
118
116
164
108
105
101
151
149
96
95
95
95
146
146
146
93
93
93
92
91
143
143
144
144
92
93
93
93
93
92
92
92
93
145
145
144
144
144
143
142
142
90
142
142
142
142
144
144
91
92
93
95
150
150
98
99
101
154
157
106
108
109
162
164
167
170
119
121
121
123
176
126
129
129
130
130
183
184
133
134
134
136
136
137
189
190
191
191
140
140
192
193
194
194
194
160
160
160
160
160
160
160
159
158
158
105
105
105
105
105
105
157
157
105
105
105
105
158
160
109
110
111
111
111
163
163
163
163
163
163
166
114
167
167
167
115
115
116
116
116
117
119
173
173
174
177
126
128
129
133
136
142
196
200
203
206
207
207
206
206
207
208
209
209
159
157
157
210
211
160
160
162
162
214
214
215
215
163
163
163
163
163
162
214
214
215
215
163
215
215
215
215
211
211
210
209
208
155
154
207
207
208
209
210
210
159
213
215
218
219
169
229
233
181
183
238
187
188
243
245
194
194
247
196
196
250
250
249
249
249
197
197
249
249
249
249
197
197
197
197
249
248
249
249
199
200
200
253
254
255
203
204
204
255
255
206
206
206
206
206
255
255
255
207
255
255
255
255
255
255
255
255
255
204
204
204
205
204
253
251
196
193
192
241
185
182
179
175
170
166
214
153
147
194
189
184
128
176
118
115
112
109
105
155
150
148
147
94
93
146
146
145
92
92
92
91
143
91
90
90
142
142
142
143
92
144
144
92
92
92
92
144
144
144
144
143
143
143
142
90
90
142
142
90
90
144
92
92
93
95
97
152
100
100
101
102
104
159
159
111
111
165
166
168
119
120
121
121
123
124
178
181
129
182
182
183
184
185
134
134
188
188
189
137
138
191
191
192
192
192
141
194
194
194
160
160
160
160
160
160
160
107
159
159
106
105
105
105
106
158
158
158
158
158
106
106
158
160
110
111
112
113
113
113
113
165
165
165
113
117
168
169
169
170
118
118
117
117
117
119
120
121
174
175
179
178
127
130
133
136
141
196
200
204
206
156
157
206
207
208
208
210
211
159
157
158
159
159
212
161
162
162
214
215
215
216
164
164
164
164
163
215
214
214
216
164
164
216
216
216
164
213
212
211
210
208
155
153
155
155
156
208
209
210
211
212
214
216
219
220
176
179
181
234
237
187
187
243
246
194
194
195
248
196
250
250
197
249
249
249
249
249
249
249
249
197
197
197
197
197
248
248
249
250
199
200
200
254
254
202
203
204
204
204
206
206
255
206
206
206
255
255
255
255
206
205
255
205
255
255
255
204
204
204
204
255
204
201
251
248
245
244
189
183
180
177
172
168
164
209
199
193
188
181
176
120
118
112
109
107
156
153
150
149
147
94
93
145
146
146
93
93
92
92
143
143
91
89
89
142
142
142
142
144
144
92
92
92
92
92
92
144
92
91
91
142
142
142
90
142
142
90
90
90
145
93
93
94
96
150
154
101
153
154
103
157
160
160
112
113
166
167
169
119
172
173
121
123
124
178
181
181
130
182
183
184
133
134
186
188
136
137
137
190
191
139
140
192
140
141
194
194
194
158
158
158
159
108
160
160
107
107
107
159
159
107
159
159
159
159
159
159
159
159
158
159
111
113
113
165
113
114
114
115
115
168
116
116
117
168
170
170
171
120
120
119
120
121
121
122
122
174
125
180
181
183
185
135
136
140
196
199
203
153
155
156
155
208
157
211
211
160
160
159
159
160
160
161
213
213
214
215
164
164
216
215
215
163
163
215
215
215
215
165
165
165
216
216
215
163
162
161
160
211
210
208
155
154
154
154
154
155
157
211
212
214
216
218
220
226
230
234
236
237
239
187
191
193
245
193
194
195
195
249
249
196
196
196
197
250
250
250
250
198
250
250
250
198
198
198
250
250
250
198
198
198
200
200
253
203
203
204
205
255
255
255
255
255
255
255
205
205
255
205
205
205
255
255
255
255
255
255
255
255
255
255
252
251
249
245
191
189
181
177
172
167
163
211
204
144
138
132
127
120
116
115
109
158
155
153
152
152
149
96
95
95
146
145
145
92
92
92
92
144
144
92
91
91
91
143
143
142
142
142
90
142
90
90
90
90
142
90
90
90
90
142
141
89
141
141
89
89
89
143
144
93
147
149
151
153
154
102
103
105
107
110
110
113
113
115
116
170
172
173
120
121
174
176
178
181
181
182
182
183
184
135
136
188
138
138
138
190
139
139
139
141
141
141
142
195
195
195
158
159
159
160
108
108
160
107
107
159
159
107
159
159
159
159
159
159
159
159
159
159
108
112
113
114
165
113
115
116
116
117
117
116
168
170
170
171
120
121
122
122
120
121
121
174
122
123
123
128
180
182
183
184
133
134
192
196
199
151
205
206
155
157
158
159
159
160
161
161
211
211
212
160
161
213
213
214
163
164
216
216
215
215
215
215
215
215
215
163
165
164
216
216
215
215
215
162
161
161
160
158
209
156
154
154
153
153
154
155
210
211
213
216
217
219
226
229
233
183
238
238
239
191
193
244
193
193
194
247
248
197
196
196
196
197
250
250
250
250
198
250
250
250
250
198
198
198
198
198
198
198
198
199
200
200
202
202
203
255
255
255
255
255
255
255
255
255
205
255
255
255
205
205
204
204
203
255
254
202
202
201
251
248
195
245
241
239
183
227
170
165
213
208
205
201
139
133
180
175
117
114
111
159
156
102
153
152
152
148
96
147
146
145
145
92
92
92
92
92
144
92
92
143
143
91
143
143
143
90
90
142
142
90
90
90
90
90
142
142
90
90
142
141
141
89
141
141
89
89
143
92
94
148
150
152
154
156
103
105
106
108
110
111
113
114
115
169
170
173
174
122
122
176
125
127
181
182
182
183
184
185
135
136
189
138
138
138
190
139
139
139
141
141
141
194
195
195
195
159
159
160
108
109
109
161
160
160
160
160
160
108
108
160
160
160
160
160
160
160
161
110
113
114
114
113
113
116
116
117
117
118
117
169
171
172
121
122
123
123
124
121
122
175
175
124
124
125
130
130
131
184
185
133
134
193
196
147
150
152
204
205
157
157
210
159
160
160
161
159
159
212
212
213
213
213
214
163
164
216
216
215
215
163
163
215
215
163
163
164
216
215
215
163
214
214
212
212
212
159
158
210
209
207
206
205
153
153
154
208
212
213
216
217
219
226
228
233
183
237
238
186
190
244
244
192
193
193
194
248
248
248
196
196
249
250
198
198
250
250
250
250
250
250
250
198
198
198
198
198
198
250
251
199
199
200
200
252
252
254
254
202
203
203
203
204
204
204
204
204
204
204
204
204
204
202
253
252
200
199
252
250
194
245
242
238
236
231
171
166
161
156
151
147
194
182
176
172
167
112
108
159
155
101
100
151
151
151
148
147
146
145
145
144
144
91
91
143
91
143
91
91
142
90
90
90
90
142
91
91
142
142
142
90
90
90
90
142
142
142
142
142
141
141
141
141
141
89
89
92
93
147
149
152
154
157
159
106
107
108
109
163
163
166
167
168
169
171
174
122
177
177
126
127
128
130
130
183
184
184
186
188
137
137
190
190
138
190
191
139
139
141
141
141
194
195
195
195
160
160
160
161
109
109
162
161
161
161
161
161
161
109
109
161
161
109
161
161
161
110
111
113
114
166
165
165
117
117
117
118
118
170
171
121
121
123
124
123
124
124
122
123
175
176
124
125
125
129
130
131
132
134
135
135
141
144
147
149
151
203
204
208
157
209
210
159
159
160
159
159
212
160
213
213
213
214
215
216
216
216
215
215
215
215
163
163
163
163
215
215
215
163
162
162
213
211
211
210
158
210
209
156
156
155
206
205
206
154
156
211
161
215
216
218
174
176
180
182
185
186
186
190
244
243
244
192
193
194
195
196
248
196
196
249
250
250
250
250
250
250
250
250
250
250
250
250
250
198
198
250
250
251
251
199
251
251
251
251
253
253
201
202
202
203
203
203
203
203
203
203
203
203
204
203
201
252
251
250
250
250
196
244
242
239
235
233
229
169
163
158
153
148
144
138
127
120
116
112
109
106
158
154
100
99
99
151
100
95
147
146
145
144
144
143
142
142
142
142
142
142
142
89
141
89
89
89
89
143
143
143
142
142
142
90
90
90
142
142
90
90
142
141
141
141
141
89
89
89
144
145
147
150
153
155
158
160
159
108
109
110
163
163
166
167
168
170
119
122
123
178
178
179
180
129
130
130
183
184
185
186
188
137
190
190
190
138
190
191
191
139
141
141
141
142
195
195
195
160
160
160
161
110
162
110
109
161
161
161
161
161
161
109
109
109
161
161
161
161
163
164
166
114
114
165
165
169
117
118
118
119
119
119
122
122
176
124
124
177
177
123
124
176
176
177
126
126
126
129
131
133
135
137
138
141
144
147
148
150
202
203
206
155
156
209
209
210
210
159
159
160
160
213
213
213
214
215
216
216
216
163
163
215
215
163
163
163
215
215
215
215
214
162
161
161
157
209
209
208
208
208
207
157
157
156
155
207
155
157
159
161
215
217
218
173
175
180
182
184
186
186
189
243
243
243
192
193
245
195
195
248
248
196
249
198
250
250
250
250
250
250
250
250
250
250
250
198
198
198
250
250
250
250
250
250
198
198
250
252
252
200
201
202
202
202
203
203
203
255
255
255
203
203
203
253
251
198
249
248
244
242
238
236
181
176
226
223
163
157
152
146
192
188
187
122
115
111
160
157
155
156
153
100
99
151
152
101
95
94
93
93
92
91
143
142
142
142
90
142
142
142
89
89
89
141
141
89
91
143
143
142
142
90
90
142
142
142
142
90
90
90
89
141
141
89
89
89
89
92
146
148
151
154
156
160
161
161
161
162
162
164
164
115
116
169
170
120
123
123
179
180
180
181
129
131
183
184
184
185
134
137
190
190
190
190
190
190
191
191
191
193
141
141
142
195
195
195
163
163
163
111
111
111
163
162
110
110
110
110
162
162
109
109
109
161
161
161
161
163
163
164
112
113
165
165
166
166
168
118
119
171
120
120
120
173
174
174
175
175
125
126
179
180
180
181
129
182
184
132
134
187
189
137
139
142
144
146
148
150
204
206
207
208
208
209
208
208
210
211
211
212
161
162
214
214
214
215
215
215
216
162
162
162
162
214
214
162
163
163
214
213
160
160
159
158
158
157
208
207
155
206
205
153
154
154
155
156
157
157
158
213
164
167
170
171
177
179
181
183
184
188
191
243
244
192
193
246
247
247
196
248
248
197
196
197
197
250
250
250
250
250
250
250
250
198
198
197
196
248
248
249
249
249
198
199
199
251
251
199
199
200
201
201
201
200
200
202
202
255
255
255
255
201
250
249
197
246
245
244
242
184
182
230
174
222
222
212
207
149
142
189
184
179
166
161
158
156
155
155
153
152
99
99
150
149
97
95
94
93
145
144
91
143
142
141
140
140
140
141
141
88
88
141
141
141
142
90
142
142
143
143
91
92
143
143
143
143
90
90
90
89
140
140
139
88
89
91
90
94
150
152
102
104
159
159
160
109
161
163
114
114
116
117
170
171
121
124
176
177
126
127
128
130
133
185
186
134
135
136
137
190
138
139
139
192
192
193
141
193
193
193
194
194
195
195
143
163
163
111
111
111
111
111
110
110
110
110
110
162
162
110
110
162
162
162
162
162
164
164
113
113
114
114
114
114
114
116
169
170
171
172
172
173
173
174
175
175
176
126
127
127
180
181
182
182
182
184
184
186
187
188
137
138
193
195
197
199
201
151
205
207
207
208
208
156
156
157
158
211
212
160
161
161
213
214
214
162
215
163
162
162
162
162
214
162
162
163
162
214
213
212
159
158
157
157
156
156
155
154
205
204
204
205
206
207
155
156
156
209
211
213
216
168
169
227
229
180
181
183
239
241
244
244
192
193
194
247
247
195
195
196
196
197
196
196
249
249
197
249
197
197
197
197
197
197
248
248
248
248
249
197
197
198
199
251
251
251
199
199
200
201
201
253
200
200
201
202
254
254
254
254
252
249
248
247
246
244
241
239
233
230
227
223
167
167
157
203
146
139
133
181
175
164
159
157
156
155
154
153
152
99
151
150
149
149
95
94
93
145
92
91
143
142
141
140
140
140
141
141
140
140
140
141
141
141
90
142
142
142
143
143
91
91
91
91
143
143
142
142
89
89
140
140
88
141
144
91
94
150
101
102
104
107
159
108
109
110
111
114
115
116
117
118
120
173
176
177
125
126
127
129
130
133
186
134
135
135
136
138
138
139
139
140
140
140
193
193
193
193
194
194
194
195
195
195
164
164
164
112
112
112
112
111
111
111
111
163
163
163
163
111
163
163
163
163
163
164
164
113
113
114
114
114
114
114
114
167
169
171
172
173
121
175
176
175
176
124
127
128
129
130
183
131
184
131
184
184
186
187
187
136
138
192
194
195
197
199
149
153
154
156
207
207
207
155
156
156
209
210
211
159
160
160
160
160
161
213
213
161
161
161
213
213
161
161
214
214
161
212
211
211
158
156
207
207
154
153
152
151
150
203
203
204
205
206
155
155
155
207
209
211
217
218
222
225
228
177
179
236
239
241
189
190
192
192
194
195
246
246
194
194
195
195
196
248
248
196
196
196
196
196
196
196
248
248
248
248
248
197
197
197
198
199
199
251
251
199
199
200
201
253
201
201
201
253
253
253
253
201
200
198
194
246
192
190
188
186
235
230
227
224
167
165
159
202
196
190
132
178
174
168
160
157
156
155
154
153
153
100
99
99
98
149
149
95
94
93
145
92
91
143
142
89
88
140
140
141
141
139
87
88
88
88
89
89
89
141
142
90
142
91
91
143
143
143
91
91
142
142
89
141
88
89
142
144
145
148
100
102
155
104
107
108
109
110
110
112
115
115
117
118
119
172
174
177
177
126
127
128
181
183
186
134
134
134
135
136
189
190
190
191
191
140
140
141
193
193
194
194
143
143
196
196
144
165
165
165
165
113
113
113
112
164
164
112
112
112
112
112
164
164
164
164
164
164
164
164
165
165
166
166
166
116
114
165
165
168
171
121
122
122
123
124
125
178
126
129
130
130
131
184
185
185
132
133
185
185
186
135
135
137
192
141
194
195
197
199
152
153
155
156
208
206
206
206
207
208
209
209
210
158
158
159
159
159
160
212
213
161
161
161
213
213
213
214
214
213
161
160
159
210
207
155
154
154
153
152
151
150
202
151
152
153
205
206
156
156
155
207
208
215
165
167
221
224
175
177
234
236
185
185
239
188
190
192
192
244
244
245
193
194
194
194
246
246
194
194
194
194
194
194
246
246
247
248
248
196
197
197
197
198
199
199
199
251
199
199
252
253
253
201
201
201
252
200
199
251
199
198
196
192
191
189
186
184
181
179
174
171
167
163
160
207
197
192
186
179
174
170
164
159
158
106
105
104
103
102
101
152
152
151
150
150
95
94
93
93
92
91
143
142
89
88
88
140
141
141
86
87
87
87
88
88
88
140
141
89
89
90
90
91
143
143
143
143
91
143
141
88
88
87
88
141
143
147
97
101
103
103
156
107
109
109
111
111
113
115
168
170
170
172
173
175
125
126
179
179
181
182
184
134
135
135
135
136
136
190
191
191
192
192
140
141
141
142
142
195
195
195
196
196
197
145
165
165
165
113
113
113
113
112
164
112
112
112
112
164
112
112
164
164
112
112
112
164
164
165
165
166
166
114
116
166
165
166
168
119
121
174
174
176
124
125
178
126
129
130
131
131
184
185
185
184
185
185
185
186
134
135
190
192
141
141
194
197
199
152
153
207
156
156
207
207
206
207
208
208
157
210
158
158
158
159
159
212
212
213
161
161
161
213
213
213
214
214
213
212
160
159
210
207
155
154
153
153
152
151
202
202
151
152
204
205
154
157
156
155
207
157
163
165
166
169
223
174
176
234
237
184
184
185
239
241
192
244
244
244
244
245
194
194
194
246
246
246
246
246
194
194
194
246
246
247
196
196
196
197
197
197
250
251
251
251
251
251
251
252
253
253
201
201
201
252
252
251
199
199
249
248
191
190
240
237
235
231
177
171
168
217
160
157
206
197
139
133
179
173
169
111
159
158
106
106
105
103
102
153
152
152
151
98
98
95
94
93
93
144
91
91
142
89
88
88
140
141
141
86
86
139
139
88
88
140
140
140
89
89
142
142
143
91
91
91
143
143
143
141
88
87
139
87
140
142
95
98
101
103
103
156
159
109
110
111
111
113
116
168
170
171
172
173
175
126
126
179
180
181
182
132
135
135
135
135
188
189
190
191
191
192
192
140
141
194
142
194
195
195
195
196
197
197
197
165
165
165
165
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
167
166
166
166
165
113
113
110
162
165
167
116
118
169
172
172
173
175
177
179
129
180
130
131
133
134
136
188
185
186
185
185
186
134
186
190
190
140
193
195
198
199
151
154
207
207
207
156
157
157
157
158
158
158
159
159
159
159
160
160
160
161
212
212
212
212
212
160
160
213
161
212
211
210
158
157
155
206
154
153
204
204
151
201
202
150
151
152
153
154
207
207
206
155
156
160
212
215
218
220
222
223
175
229
231
180
183
237
186
187
187
189
188
241
242
192
193
194
193
245
245
246
246
195
195
246
246
246
247
196
196
248
197
249
249
250
250
199
199
251
251
251
251
251
199
199
253
252
199
198
197
249
198
249
246
241
240
186
183
232
232
229
169
165
213
210
154
150
193
135
182
175
118
113
110
159
159
107
107
157
104
104
155
154
152
151
98
98
96
95
94
94
93
92
92
91
91
142
142
141
141
141
141
141
141
141
89
89
140
140
140
89
89
142
142
90
90
90
90
142
142
90
92
140
139
139
87
87
93
96
97
151
153
103
156
156
157
106
107
108
110
114
166
167
169
172
173
122
125
179
180
180
181
183
133
135
136
137
137
189
189
190
191
191
192
192
141
141
143
195
196
195
195
143
143
144
145
197
165
165
165
165
113
113
113
113
113
113
113
113
113
165
113
113
113
113
113
113
165
166
166
165
164
111
111
111
110
110
165
115
116
118
170
172
171
120
122
176
126
179
180
182
183
133
134
136
136
134
134
186
186
134
135
187
190
190
139
141
142
196
198
150
152
153
206
206
207
208
156
157
157
157
158
158
158
158
159
159
159
160
160
211
211
211
211
211
159
159
212
159
159
210
209
208
155
154
206
205
204
203
202
201
199
147
148
148
149
150
151
205
205
206
207
155
157
210
212
213
216
218
219
223
225
174
228
230
180
182
184
184
186
187
188
188
242
191
192
192
244
245
245
246
194
194
246
246
246
195
196
196
196
248
248
249
249
198
198
198
198
198
250
250
198
198
198
199
250
197
196
196
248
248
247
244
239
185
182
179
177
227
224
163
160
209
152
150
146
188
181
176
118
112
109
161
158
158
106
158
157
155
104
103
102
152
151
98
98
96
95
94
94
93
92
92
91
91
142
142
141
141
141
141
141
141
89
89
89
88
140
140
89
89
142
90
91
91
90
142
142
142
90
90
138
85
87
87
87
92
148
150
152
102
104
105
157
106
158
160
161
163
166
167
168
170
121
122
123
127
181
180
129
182
184
133
136
137
138
138
190
190
191
139
192
192
141
141
142
144
144
145
143
195
143
143
144
144
197
165
165
165
165
165
165
113
113
113
113
113
113
165
165
165
165
113
113
113
113
165
166
166
112
111
110
110
161
162
162
113
115
116
118
118
120
172
120
122
124
126
179
180
182
183
185
186
188
136
134
135
134
134
135
135
187
190
190
191
192
195
196
197
201
152
153
153
153
155
156
156
156
157
157
157
158
158
158
210
159
159
159
160
212
212
160
160
160
160
160
160
159
159
158
157
156
155
154
205
205
203
202
149
199
197
145
198
147
148
148
149
151
204
205
206
155
156
208
210
212
214
216
217
221
223
171
225
227
178
180
182
182
237
238
187
188
241
242
191
192
192
192
245
245
194
194
246
246
194
195
196
196
196
196
196
196
249
197
250
250
250
250
250
198
198
198
198
197
249
248
248
195
247
246
246
191
185
183
181
229
175
174
223
162
160
207
203
149
145
186
180
122
117
112
110
161
158
158
106
106
156
155
156
103
102
100
151
150
150
96
95
94
94
93
92
92
91
91
142
142
141
141
141
141
89
89
89
89
89
88
88
140
89
89
90
90
91
91
143
142
142
142
90
89
138
85
87
87
87
94
149
98
100
103
104
105
105
106
107
160
161
163
167
167
169
119
122
123
124
128
130
130
130
183
185
187
137
138
139
139
139
140
140
141
141
142
142
143
143
145
146
146
144
144
144
145
197
198
198
165
165
165
165
165
165
165
113
113
113
113
113
165
165
166
166
114
114
114
114
166
167
166
112
111
109
108
108
162
162
113
115
116
118
118
121
121
121
175
125
127
129
128
130
183
185
186
188
136
135
135
135
135
135
136
188
190
190
190
192
193
194
195
198
150
151
152
153
206
156
155
156
208
156
157
157
157
209
210
210
158
159
211
211
211
159
159
159
159
159
210
158
157
157
156
155
154
155
154
205
203
149
148
146
143
144
196
197
198
147
148
148
201
203
153
206
205
205
208
210
213
213
214
167
221
166
220
223
174
176
179
179
183
184
185
238
187
188
240
191
191
192
192
193
193
193
194
194
194
195
196
248
248
195
195
196
196
249
249
249
197
249
249
197
197
249
249
195
195
247
194
193
193
244
244
241
235
180
177
174
223
170
218
210
206
202
199
144
137
178
173
169
114
112
110
108
157
157
105
105
104
154
156
155
102
100
151
150
150
96
95
94
94
93
92
92
91
91
90
142
141
141
89
89
89
89
89
89
89
88
88
88
89
89
90
90
91
143
143
143
143
142
142
141
138
137
140
89
89
148
98
151
153
155
105
106
106
159
107
161
162
164
115
116
171
173
175
176
125
129
131
133
185
187
188
190
141
141
142
142
142
143
144
144
144
145
145
198
199
200
149
149
147
147
147
200
201
149
149
113
113
113
113
113
113
165
165
165
113
113
113
113
165
114
114
114
114
166
166
114
112
111
110
109
108
107
107
108
109
113
115
116
117
117
120
121
123
177
126
179
128
130
131
132
185
186
135
135
136
136
137
137
138
138
190
139
140
141
193
194
195
195
198
199
201
203
205
207
208
206
206
207
207
156
156
210
158
158
158
158
158
210
212
160
211
210
158
157
208
208
208
156
207
207
206
206
202
202
149
147
146
145
145
143
143
143
144
144
197
197
198
198
148
149
202
204
152
156
210
211
212
159
161
163
166
166
219
222
172
177
178
181
181
182
183
187
188
188
189
241
242
191
193
194
246
195
195
248
248
197
197
249
249
248
195
194
195
248
248
192
197
193
196
250
248
250
196
196
194
193
191
190
190
241
240
234
232
176
171
168
218
215
209
206
201
195
140
137
175
168
164
109
108
107
158
158
157
157
156
104
156
156
154
153
153
152
151
151
147
95
94
94
93
93
93
92
91
89
88
88
89
89
90
90
142
142
90
142
89
141
141
142
90
143
143
143
143
143
90
142
141
141
141
140
139
139
139
90
95
100
153
154
155
155
104
107
160
161
162
164
114
116
116
169
172
176
126
127
182
184
188
188
189
191
141
144
145
145
145
197
146
199
199
199
200
200
199
199
200
149
201
150
202
202
202
202
202
202
113
113
113
113
113
165
165
165
165
165
113
113
113
165
166
166
114
114
166
166
114
111
111
109
108
108
107
107
108
109
113
115
117
117
117
120
121
175
177
178
179
180
182
131
133
133
186
135
135
188
137
137
137
138
190
190
139
140
141
142
142
143
143
198
199
201
203
205
206
207
206
206
207
207
156
156
158
158
158
158
158
158
158
160
160
211
210
209
157
156
156
208
207
155
207
206
206
201
201
148
147
198
196
196
143
143
143
144
144
196
197
197
146
147
200
201
203
151
155
209
158
159
158
160
162
217
166
219
221
224
176
229
232
233
181
183
186
239
240
240
241
241
242
245
193
246
247
247
247
196
196
249
249
251
196
194
198
251
250
249
197
198
194
194
194
191
246
248
248
246
193
191
190
241
239
237
181
178
226
221
166
164
161
207
204
200
142
138
134
173
167
112
110
108
107
158
157
105
105
104
104
104
156
154
153
152
152
99
99
95
95
94
146
93
93
93
92
91
89
89
88
89
89
142
90
142
142
142
142
141
141
141
142
142
143
143
91
143
142
90
90
89
141
140
140
139
139
88
90
147
151
153
155
155
155
104
107
160
161
162
112
114
116
169
171
174
126
128
130
184
186
189
137
191
140
142
145
145
199
199
200
200
201
201
201
202
202
201
201
202
151
151
151
151
203
203
203
203
151
114
114
114
114
114
166
166
165
165
165
113
113
113
165
165
165
165
164
164
112
112
110
109
160
160
107
107
107
108
110
114
168
169
118
170
172
121
176
178
180
181
130
183
133
134
134
187
188
137
138
190
190
191
191
191
192
140
141
193
142
143
144
144
198
199
200
202
152
153
154
154
206
155
155
208
208
209
209
209
209
209
209
157
159
210
210
209
208
155
155
154
154
206
154
153
205
152
148
199
198
198
197
196
194
193
142
142
194
143
195
195
196
196
196
196
146
149
150
204
206
155
156
157
159
160
216
217
219
221
223
225
174
229
178
179
180
234
236
236
239
187
240
240
242
243
191
193
193
245
246
246
246
247
193
194
247
246
193
193
193
186
192
247
253
196
188
243
248
247
244
191
189
240
240
183
181
176
173
222
217
162
160
210
202
198
141
136
133
124
168
164
110
110
109
108
105
157
104
104
104
155
155
155
153
153
152
151
98
98
95
95
146
146
145
93
93
93
92
90
89
141
90
142
142
142
142
90
142
142
142
142
142
90
90
90
90
90
142
141
141
88
88
140
139
139
138
139
89
92
148
152
153
155
104
104
156
108
160
161
163
165
167
118
119
175
178
130
132
185
188
189
193
141
142
144
145
199
200
202
202
203
203
204
152
152
204
203
204
152
153
205
205
206
154
154
206
206
206
154
115
115
115
167
167
167
167
165
165
165
165
165
165
165
165
164
164
162
162
109
109
108
108
159
159
107
107
107
161
163
167
169
170
171
171
172
120
124
179
181
131
132
133
134
188
188
137
138
138
191
192
192
192
193
141
141
141
141
194
195
144
144
145
199
199
200
201
150
151
152
154
154
155
207
156
208
208
208
208
208
208
208
156
157
209
208
207
206
207
154
153
153
152
204
152
151
151
148
200
199
198
196
195
194
192
192
193
194
194
142
143
142
193
192
141
142
147
149
203
153
155
155
156
158
212
215
216
217
166
220
223
172
173
174
175
228
231
233
233
184
184
184
237
239
239
188
190
190
191
243
244
244
192
239
243
246
189
189
196
254
255
255
255
255
255
191
192
246
244
241
187
185
236
183
180
179
174
172
220
216
160
157
206
199
142
137
131
126
120
113
111
162
110
107
106
104
156
156
103
155
155
154
155
153
152
151
150
150
149
95
95
146
146
145
93
145
146
144
143
142
142
142
143
142
142
142
90
142
142
143
143
142
90
90
90
89
89
141
88
140
88
86
138
138
86
86
139
89
92
150
152
154
156
105
105
105
161
163
164
113
116
170
175
124
125
128
132
134
187
189
191
196
196
197
146
199
200
200
201
201
150
150
151
151
151
203
204
152
152
153
153
205
207
155
155
155
207
207
207
115
115
115
167
167
167
115
113
165
165
165
165
165
165
164
164
164
162
161
108
108
107
159
159
159
107
159
159
162
163
167
169
170
171
171
119
120
125
127
130
131
132
134
135
188
188
190
138
191
192
192
193
193
193
142
142
193
142
142
143
144
145
197
199
146
148
149
150
151
151
206
206
155
155
156
156
156
208
208
208
208
156
156
208
208
207
207
207
206
153
152
152
152
151
151
151
202
201
200
199
198
197
144
194
191
192
193
193
193
194
142
141
192
140
191
193
198
148
152
205
207
208
156
158
160
214
215
216
218
219
170
222
224
173
173
175
230
231
180
182
183
235
236
238
238
239
241
241
190
243
243
243
191
241
241
241
197
255
255
255
255
223
225
219
251
241
245
245
192
187
185
235
234
181
230
176
172
169
166
213
157
206
203
194
139
133
178
123
119
113
111
110
110
160
106
104
156
155
155
155
154
154
154
100
152
151
150
149
97
95
95
94
94
145
93
145
146
145
143
142
142
143
143
142
142
142
142
142
142
143
143
143
90
90
89
141
140
140
140
139
87
139
137
138
138
85
86
89
93
99
153
154
104
105
105
105
161
164
165
115
117
120
125
178
180
131
134
189
189
192
141
144
197
197
146
199
148
148
202
202
151
151
152
152
203
205
153
154
154
155
155
154
155
207
155
155
155
207
207
115
115
115
114
165
113
113
113
113
165
164
163
111
111
164
163
162
159
158
105
157
158
158
159
159
108
160
160
162
163
167
117
170
171
119
118
121
125
127
129
131
134
132
137
190
189
189
190
139
141
194
195
195
142
141
141
141
142
143
143
144
145
197
198
146
147
149
150
151
204
205
206
155
207
208
157
158
210
210
158
158
158
158
208
208
156
207
207
206
154
152
152
152
203
151
203
203
199
199
198
197
145
144
194
195
142
193
191
191
190
139
141
193
191
190
190
193
193
149
151
205
155
155
156
209
214
214
215
216
217
219
219
170
222
172
174
230
180
181
181
182
234
235
236
184
184
228
243
247
181
242
246
189
199
225
255
220
214
201
255
219
206
220
182
190
189
243
244
189
185
184
235
180
178
226
225
219
215
211
154
150
203
199
186
129
124
121
169
115
163
109
107
106
106
106
156
156
155
155
154
154
154
153
152
99
99
150
98
98
147
147
94
94
93
145
145
145
144
143
143
142
141
141
143
143
143
143
143
91
89
141
141
140
87
139
139
139
139
139
139
87
139
139
135
136
84
84
138
91
102
103
104
106
106
158
109
114
166
168
118
121
176
181
182
133
133
187
188
190
141
141
143
143
196
145
147
148
148
203
203
152
153
153
154
206
205
205
206
206
207
208
156
156
156
208
157
158
158
158
116
115
115
114
114
166
114
114
113
113
164
164
164
164
162
162
161
159
158
157
105
106
106
107
159
160
160
160
162
163
115
117
170
171
119
119
122
126
127
129
183
185
185
191
140
191
191
192
141
141
195
196
196
195
194
193
142
142
195
144
145
197
198
147
146
199
201
150
150
203
153
153
154
207
208
208
158
158
210
210
158
158
210
208
207
207
207
206
206
154
152
152
204
204
204
203
203
149
149
148
147
145
144
143
142
141
139
191
190
190
139
139
139
138
138
138
140
192
144
147
151
153
155
157
211
212
160
213
214
163
217
166
168
221
222
172
228
177
178
232
232
233
234
183
183
236
243
178
228
191
184
185
193
255
255
201
216
197
255
217
191
255
198
181
195
180
240
239
185
180
179
229
226
225
222
219
214
211
207
149
146
196
192
130
178
173
117
167
166
162
108
107
106
105
105
104
104
103
103
154
154
102
153
151
151
98
98
98
98
146
146
146
93
93
145
145
92
92
143
142
141
141
140
141
89
89
89
89
89
88
88
140
139
139
139
86
88
88
88
88
88
88
88
137
85
84
85
138
142
152
102
104
106
107
159
160
166
117
118
120
123
178
182
183
133
185
187
136
138
141
141
143
143
195
144
146
148
200
150
150
151
152
153
154
206
206
206
206
207
209
209
209
156
157
157
209
158
210
158
115
115
115
114
166
165
113
113
113
113
164
164
163
163
110
109
109
107
106
105
105
106
106
107
159
160
160
160
162
111
115
117
118
119
119
120
122
178
179
181
183
185
186
192
141
140
140
141
142
142
195
196
196
195
194
142
142
195
195
196
197
198
198
147
147
200
200
149
150
150
152
153
206
207
207
208
157
209
209
209
209
209
209
207
155
155
206
206
206
153
152
204
205
204
204
203
203
150
149
148
147
145
144
142
141
141
139
138
137
137
138
138
138
138
138
138
139
191
143
145
149
153
154
209
211
210
211
212
161
162
216
217
220
220
221
222
226
227
175
178
230
231
232
233
182
235
234
233
185
183
180
192
212
255
251
200
205
249
255
158
202
220
241
236
193
232
184
238
183
178
177
227
172
171
219
166
212
209
205
147
196
191
136
126
174
171
167
165
165
162
160
106
106
106
158
104
104
103
103
102
102
102
152
151
150
150
98
97
97
94
146
145
145
145
144
92
92
91
143
142
141
140
88
89
89
89
89
89
89
88
140
140
88
140
88
88
89
89
89
89
89
89
89
86
86
87
138
139
142
150
154
156
158
160
160
162
167
119
120
122
176
179
183
132
133
185
135
136
138
141
141
143
142
143
144
146
148
200
150
150
151
152
153
206
206
154
154
155
155
209
210
210
157
157
157
210
210
211
159
114
114
114
165
165
165
112
112
112
164
163
163
111
110
109
108
108
107
107
106
106
107
107
108
108
109
109
161
110
111
167
169
118
171
119
122
176
179
180
181
183
185
187
192
193
192
192
141
142
142
196
197
197
196
195
194
195
195
196
197
198
198
199
200
199
200
148
149
201
201
152
152
153
154
155
155
208
208
208
208
208
208
208
206
206
154
154
205
205
205
205
205
153
204
204
203
151
150
149
148
146
144
142
193
191
190
137
136
135
135
135
137
138
190
191
191
190
189
192
196
199
202
203
208
210
210
210
211
160
161
163
216
217
165
166
219
222
170
170
226
226
227
177
180
180
181
237
235
180
194
212
221
218
193
250
255
248
244
152
52
165
189
165
230
180
187
180
234
232
174
172
171
167
217
215
212
154
152
200
195
191
182
128
119
170
167
164
162
164
160
159
158
105
105
105
156
104
103
155
102
102
102
151
150
150
149
149
97
96
93
93
145
144
144
92
91
143
143
142
141
140
140
139
89
89
89
89
89
141
140
141
141
89
89
90
90
90
90
90
90
90
90
90
89
90
90
142
141
143
149
154
157
160
163
164
114
118
121
174
175
177
180
130
131
133
185
135
136
190
141
141
142
142
143
144
198
200
200
150
150
151
204
205
206
205
205
154
154
155
157
209
209
158
158
158
158
211
211
212
114
114
114
165
164
112
112
164
164
164
163
162
110
110
108
107
107
159
159
158
106
107
159
108
108
109
109
109
110
163
167
169
118
119
119
123
177
180
180
181
183
185
186
191
192
191
191
192
141
143
145
145
197
197
144
143
143
196
197
197
198
199
199
200
148
148
200
200
201
201
203
152
153
153
154
155
156
156
208
208
208
208
208
206
206
154
153
153
204
204
205
153
153
204
204
203
151
149
200
198
196
194
193
191
190
189
136
134
133
133
134
137
138
139
192
192
190
189
193
196
199
201
202
205
207
211
211
212
213
161
163
216
215
163
164
217
219
168
169
224
224
225
227
178
179
179
233
172
182
216
206
208
223
176
241
176
155
80
66
72
119
194
184
228
178
174
174
227
225
167
166
163
160
209
207
205
148
144
140
187
183
127
124
169
167
114
111
162
163
159
158
157
157
105
105
104
104
155
155
102
102
102
151
150
149
97
148
96
96
93
93
92
92
91
91
91
143
142
89
89
140
139
139
142
142
90
90
142
142
141
142
90
143
91
92
92
91
91
91
91
91
91
91
143
92
94
145
145
93
97
155
158
110
114
115
117
120
173
174
176
177
179
129
130
185
133
135
188
190
141
140
142
142
143
144
198
200
148
150
150
151
204
205
206
205
152
152
153
154
155
156
156
210
210
210
211
212
212
212
114
166
166
165
165
164
164
164
111
110
162
161
160
108
107
159
159
160
161
161
109
109
160
160
108
108
108
108
163
164
167
117
118
119
120
122
124
127
128
129
181
181
135
138
140
141
193
192
192
143
144
144
196
145
146
146
145
145
146
198
199
199
199
199
199
200
200
201
201
201
202
202
203
203
152
204
207
207
207
155
207
207
207
206
206
206
205
205
204
152
152
152
203
202
150
149
200
198
197
196
194
192
190
188
134
134
133
133
133
186
185
186
187
188
138
138
188
188
189
192
143
197
198
203
206
155
156
209
158
160
164
164
218
217
217
217
218
218
166
229
214
170
231
224
233
176
168
179
255
249
195
199
182
229
187
134
144
55
69
134
120
168
192
239
222
181
228
229
226
167
165
214
159
156
209
207
149
145
191
186
182
175
121
115
164
163
162
161
106
107
106
158
105
105
105
156
155
154
154
101
100
100
100
98
149
97
96
95
95
95
94
93
93
92
91
91
89
88
87
87
87
88
140
140
88
88
88
140
140
141
89
141
142
90
143
143
92
92
92
92
144
92
144
142
143
144
92
92
93
98
156
108
112
116
170
171
174
124
124
177
179
180
130
130
130
133
187
189
189
141
144
196
144
145
198
198
148
148
149
202
203
205
154
155
155
154
154
155
208
156
157
157
210
210
210
159
160
160
212
165
165
164
164
163
163
163
110
110
110
161
161
160
160
159
159
159
160
161
161
109
161
108
108
108
160
108
160
162
163
114
116
169
119
119
122
176
179
129
130
130
130
134
189
191
192
141
192
192
143
144
196
196
145
146
146
146
146
146
147
199
199
147
148
200
200
149
149
201
201
202
202
203
203
152
152
206
206
154
154
154
206
206
205
205
205
204
204
204
152
151
151
202
150
149
200
199
197
196
195
193
192
190
137
134
134
133
185
185
185
184
185
186
186
187
135
135
134
135
137
192
194
196
201
150
153
154
155
157
158
162
163
217
216
216
217
218
218
166
164
225
223
167
228
170
165
196
210
255
234
222
217
213
216
125
197
102
114
129
117
110
198
236
233
219
226
221
219
216
160
159
208
206
153
202
200
141
137
184
180
176
120
118
113
162
109
108
160
159
107
106
106
105
157
157
156
155
154
102
153
152
100
100
98
97
97
148
147
95
95
94
93
145
144
91
91
89
88
139
139
139
140
88
88
88
88
140
140
88
89
141
141
90
90
143
143
92
92
92
92
144
144
144
142
143
144
92
92
93
98
101
106
164
168
171
173
177
127
126
179
180
129
131
132
131
133
187
189
189
141
143
144
144
145
146
146
148
148
202
202
201
201
151
153
155
154
154
155
208
156
157
157
158
210
158
159
160
160
160
162
162
162
161
161
161
108
109
160
161
109
108
160
160
159
159
159
160
161
161
161
161
160
160
160
160
160
160
108
109
113
115
169
117
118
121
174
127
181
182
131
131
132
188
190
192
141
193
192
143
144
197
196
145
198
198
198
147
199
199
148
148
148
148
149
149
149
150
150
150
202
150
151
151
152
204
205
205
153
153
153
205
205
152
151
151
151
150
151
151
150
149
149
148
199
198
145
143
194
193
192
139
138
137
134
134
185
185
184
183
182
183
183
183
184
132
132
133
132
135
189
139
140
196
198
150
151
152
206
208
211
211
162
162
162
163
165
217
218
168
170
165
221
158
166
205
255
222
205
221
212
151
205
178
167
136
119
105
117
77
56
172
231
175
167
222
166
214
160
156
207
155
152
151
198
196
188
132
182
178
175
116
114
109
159
106
106
107
107
107
106
106
105
105
105
104
155
154
102
153
152
100
100
98
149
97
96
147
147
147
146
145
145
144
143
91
89
140
139
139
139
140
88
88
88
88
88
88
88
141
141
89
90
90
143
91
92
92
144
92
92
144
144
142
143
144
92
92
93
98
151
156
163
168
171
122
127
180
179
180
129
131
133
133
132
134
188
189
189
192
142
144
196
197
198
146
148
200
203
150
148
199
201
204
154
154
206
155
156
156
157
157
158
158
158
211
212
212
160
161
161
161
160
108
107
107
108
161
109
108
108
160
108
107
159
159
160
161
161
161
161
160
160
160
160
160
108
108
108
112
166
116
116
117
120
121
126
180
182
130
183
183
135
138
192
141
141
192
195
144
197
196
197
198
198
199
147
199
200
148
148
201
149
149
201
150
150
202
203
202
150
151
151
152
204
204
152
152
152
152
204
204
151
151
150
150
151
150
202
149
149
148
147
198
198
197
142
193
193
140
191
190
137
134
134
186
185
184
183
182
183
182
182
182
130
132
133
184
186
136
190
191
195
197
148
149
203
205
207
209
158
160
160
161
161
163
216
216
223
165
164
170
162
184
255
255
212
195
160
207
202
196
188
141
33
57
51
79
76
110
162
229
170
167
219
216
213
159
154
206
153
151
149
197
194
134
130
180
177
174
166
113
109
107
106
107
107
107
107
106
106
105
105
105
104
155
102
102
101
152
100
100
98
149
149
148
147
147
147
146
93
93
92
143
143
141
140
139
139
139
140
88
140
88
88
88
88
140
141
141
89
90
90
91
91
144
92
92
92
92
92
92
90
91
92
92
92
145
150
152
156
111
116
172
174
127
180
128
128
129
131
133
133
133
134
188
189
137
140
141
196
196
197
198
146
148
200
203
150
149
200
201
203
152
154
206
207
156
156
157
157
210
158
210
211
212
212
160
160
108
107
107
106
106
107
160
160
108
108
108
108
108
107
107
159
160
161
161
161
161
160
160
160
160
160
108
107
108
163
165
115
116
116
117
171
177
180
180
181
182
183
134
189
191
141
141
141
195
144
145
197
198
146
146
147
147
200
200
149
201
149
149
201
202
150
203
203
203
150
150
151
151
204
204
151
151
151
151
203
203
151
151
151
151
150
150
149
149
148
148
199
198
146
198
197
141
140
192
191
191
138
137
135
187
186
185
183
182
180
181
181
180
179
127
130
131
133
135
137
190
190
194
196
200
200
202
203
205
208
209
157
157
158
159
162
215
164
164
164
170
163
197
228
255
255
242
226
190
194
140
163
211
110
100
46
77
108
144
112
148
172
161
162
162
213
211
156
151
203
200
197
144
193
138
128
126
124
173
171
166
164
109
160
159
159
107
107
107
158
106
105
105
105
104
103
102
102
101
100
100
100
98
149
149
96
95
95
147
94
93
93
92
91
143
141
140
139
139
87
88
140
88
88
88
140
140
88
89
141
141
90
90
91
143
144
144
144
92
92
92
92
90
91
144
144
144
93
150
153
106
112
117
172
174
125
127
128
128
129
130
132
184
133
187
189
137
137
191
193
196
196
197
198
198
148
148
202
202
151
151
202
202
202
206
154
207
156
156
209
209
210
210
210
159
160
160
160
107
107
107
107
108
160
160
159
159
159
159
107
107
107
107
107
107
160
109
161
161
162
160
160
159
159
158
106
109
161
161
163
113
116
117
120
173
176
178
180
181
182
132
133
186
187
190
140
142
143
145
145
145
145
146
200
200
148
200
149
149
149
149
150
203
203
203
204
204
152
151
151
152
152
205
205
152
152
152
203
203
150
150
150
202
201
149
149
201
148
147
199
199
198
146
197
196
195
143
142
193
191
138
138
136
188
187
185
131
182
180
179
179
178
126
127
180
129
131
184
134
136
191
143
196
195
197
148
202
203
206
209
210
210
158
158
160
160
161
216
213
162
167
229
220
213
250
224
162
202
192
159
145
103
31
40
52
129
125
136
114
139
169
158
162
162
208
209
155
151
201
199
142
139
189
186
129
178
122
118
167
165
164
161
160
160
161
109
107
159
158
107
107
106
106
105
104
104
103
154
101
101
100
98
98
97
96
95
95
95
94
145
145
92
91
143
141
141
140
140
88
87
139
89
89
89
141
89
89
89
141
89
90
90
143
143
93
93
145
93
93
145
93
91
92
93
93
93
146
151
103
105
108
164
116
172
175
129
181
181
182
130
131
131
186
186
187
136
138
192
192
194
143
144
197
198
200
200
201
150
150
151
152
152
205
205
154
155
156
157
158
211
159
160
160
161
163
163
164
107
107
159
160
160
160
160
159
107
107
107
107
159
107
107
107
159
160
161
161
161
161
160
107
107
107
106
158
161
161
161
163
165
167
168
172
172
176
178
180
181
182
131
132
133
134
137
191
192
143
145
145
145
145
199
200
199
199
200
200
149
149
149
151
203
204
204
204
205
205
152
152
152
205
205
153
152
152
152
151
203
150
202
202
202
202
149
149
148
148
147
200
199
198
198
197
144
143
143
142
141
191
191
190
135
135
186
184
130
129
179
179
126
177
177
177
180
180
130
183
184
135
137
141
194
193
143
146
147
200
204
154
208
209
209
157
159
160
160
209
220
209
235
255
213
207
237
165
160
196
171
162
150
124
23
41
59
79
129
137
115
138
165
155
159
160
208
206
153
149
147
196
140
138
134
184
180
178
173
169
166
165
164
161
160
160
109
109
159
159
108
107
159
159
158
106
105
104
155
154
102
101
101
99
98
97
96
96
95
95
94
145
145
92
91
143
141
141
141
140
140
140
139
89
89
89
89
89
89
141
141
89
90
90
91
143
145
145
93
93
93
145
145
91
92
93
93
93
146
151
103
156
159
163
115
170
174
128
128
181
182
183
132
132
186
134
135
188
190
192
140
194
194
195
196
197
199
200
201
149
150
151
203
204
204
153
205
206
207
209
210
158
159
159
160
161
214
215
163
107
107
159
159
159
159
159
159
107
107
159
160
160
160
159
159
159
160
161
161
109
160
107
107
107
108
108
160
163
162
163
164
165
166
167
170
119
122
125
127
181
182
183
131
132
134
135
137
190
194
144
145
197
198
200
201
200
200
200
201
149
149
149
153
205
205
206
206
206
206
153
153
205
205
205
153
152
204
204
203
203
150
202
203
203
150
149
149
148
147
147
199
198
198
198
198
145
143
195
143
142
140
191
190
134
134
132
131
129
128
127
125
124
175
174
174
175
176
179
128
129
131
133
137
190
142
143
145
199
199
151
153
153
153
206
208
210
158
159
211
159
172
223
255
255
234
164
164
153
196
161
183
119
42
23
38
66
82
83
133
120
137
160
155
157
159
156
202
200
196
195
140
136
132
183
181
125
123
172
167
164
113
112
109
108
160
109
109
160
161
160
160
160
159
159
106
105
105
156
155
102
102
101
99
99
98
97
96
96
95
94
145
145
92
143
143
142
142
141
141
141
140
140
89
89
141
141
89
141
141
89
89
90
90
91
91
145
93
93
93
93
93
93
91
92
93
93
93
146
151
156
157
106
109
112
167
170
177
177
127
180
182
132
185
134
134
135
188
190
192
140
141
194
194
144
197
199
199
201
150
150
151
152
152
204
205
206
155
208
209
158
159
159
160
160
213
215
215
215
106
106
158
106
106
158
106
107
107
159
160
160
160
160
107
107
107
108
109
109
109
109
108
109
109
110
110
110
165
165
165
165
166
167
168
169
170
122
125
127
181
183
185
132
133
134
136
136
190
193
145
145
197
198
200
202
201
202
202
202
151
151
151
206
206
207
155
155
208
208
155
155
206
206
205
205
204
204
204
203
203
202
202
204
152
151
202
200
199
198
146
198
198
198
146
198
146
144
196
195
142
140
191
190
187
134
133
131
182
181
127
124
122
121
120
171
172
172
175
124
126
128
131
134
187
192
142
196
197
144
147
149
203
203
152
153
209
210
211
205
171
220
229
209
246
224
165
215
201
178
108
188
131
27
36
47
64
74
87
82
119
80
155
207
206
206
152
147
198
142
192
189
133
131
183
179
119
117
168
167
165
113
112
109
108
108
109
109
110
109
161
161
160
160
160
107
106
157
156
156
103
103
102
100
151
98
98
97
97
95
146
145
145
144
143
143
143
142
142
142
141
89
89
141
141
89
141
141
141
141
89
89
90
90
91
91
93
93
93
93
93
93
93
143
144
93
93
145
94
99
104
104
106
159
110
112
166
120
121
175
178
128
184
186
134
134
187
188
190
192
192
194
195
144
145
146
148
200
151
151
152
153
205
154
154
155
156
156
210
159
160
160
161
161
162
163
164
165
217
106
106
106
106
106
158
106
107
107
159
160
160
160
108
107
107
107
108
109
109
161
109
109
110
162
111
111
111
166
166
113
166
166
168
169
168
169
173
125
179
181
183
185
133
133
134
136
137
190
192
145
197
197
198
201
203
202
202
203
203
203
204
204
206
206
207
207
208
208
208
207
155
154
206
205
205
204
204
204
203
203
202
150
153
152
203
202
200
147
198
198
198
198
146
146
146
146
144
196
195
142
140
139
138
187
186
185
184
183
129
128
123
123
120
119
118
171
172
175
176
125
128
130
186
186
190
192
194
143
142
197
198
150
150
203
205
208
210
210
146
183
229
255
214
181
226
211
175
205
159
108
147
63
19
40
53
116
122
87
85
65
78
153
206
204
151
149
200
198
142
140
137
184
182
183
179
117
116
115
115
114
113
112
109
108
108
161
161
110
110
109
161
160
160
108
107
106
157
157
156
103
103
102
152
151
99
98
97
97
95
146
145
145
144
143
143
143
143
142
142
141
89
89
141
141
89
89
141
141
141
89
89
90
90
91
91
93
93
145
145
93
93
145
143
144
93
145
145
94
99
103
104
158
159
109
111
165
120
120
122
177
179
184
185
134
134
187
188
190
192
192
143
143
144
197
146
148
149
152
152
153
153
154
207
207
208
156
157
158
160
161
161
162
162
215
215
165
166
218
106
106
106
106
106
106
106
107
159
159
159
107
107
107
108
108
108
110
110
111
162
162
110
111
111
164
164
112
112
112
113
113
114
114
113
114
169
174
176
178
181
183
131
133
187
189
190
138
138
139
144
145
198
199
150
151
150
203
203
204
153
153
153
154
205
205
205
205
205
205
207
156
156
156
156
156
207
207
154
206
205
153
154
152
151
201
201
201
149
147
200
200
147
147
147
147
146
144
195
194
141
140
139
138
137
187
184
182
181
128
175
174
121
120
119
119
172
172
173
122
123
125
179
183
184
188
136
137
139
140
195
196
149
147
148
154
202
209
148
169
255
255
255
200
182
168
228
220
200
180
167
138
35
72
37
51
80
138
83
134
66
86
202
152
144
150
193
194
193
138
135
133
131
131
176
176
173
119
117
116
115
113
165
112
163
110
161
161
161
161
161
109
161
161
109
107
106
158
157
156
155
155
154
153
101
100
99
150
98
94
146
145
145
145
144
92
143
143
143
143
143
91
91
90
142
142
142
142
142
141
89
90
90
142
143
91
93
93
145
145
145
145
145
147
95
146
145
94
96
98
102
154
156
158
160
110
163
167
117
121
124
127
182
131
134
186
187
188
189
191
192
144
144
198
198
200
202
151
154
154
207
208
208
209
209
211
211
160
161
213
214
162
163
163
164
164
165
165
217
106
106
106
106
106
158
158
107
107
159
160
108
108
109
160
160
109
111
112
112
112
111
111
164
112
164
165
165
113
113
114
114
114
115
114
167
169
174
175
177
180
182
130
133
187
189
190
191
139
140
144
198
198
148
150
151
154
154
206
154
153
153
152
154
206
154
154
206
154
154
207
156
156
156
156
156
156
156
155
155
207
154
155
152
151
149
201
201
201
147
201
201
148
147
147
198
145
143
195
194
192
191
189
136
136
133
184
182
181
179
174
174
121
120
119
119
120
172
172
173
122
124
125
128
129
186
133
134
135
136
192
192
146
146
148
143
154
144
200
209
255
255
253
244
240
183
185
167
137
178
138
141
77
70
86
51
89
92
85
83
68
91
201
149
142
145
140
193
192
136
133
131
129
129
124
176
174
172
118
117
116
167
166
165
112
111
111
162
161
109
109
109
161
161
161
160
107
158
157
157
156
156
155
154
153
100
100
99
151
147
146
146
146
145
145
93
92
144
144
144
144
144
144
91
143
143
143
143
143
142
142
90
91
143
143
92
93
145
145
145
145
93
93
95
95
146
145
94
96
98
152
153
154
156
158
160
162
164
166
168
171
174
179
128
183
184
187
189
192
197
146
146
199
200
202
203
205
154
155
207
208
208
209
210
210
212
212
213
213
214
215
215
165
165
165
165
166
166
219
106
106
106
158
158
158
158
107
107
159
160
109
109
110
109
109
110
112
164
164
113
111
111
164
164
165
113
113
113
113
114
114
115
115
114
167
117
121
174
176
127
129
129
132
187
189
191
191
139
139
196
197
198
147
150
151
206
154
154
153
153
205
204
206
206
154
154
154
206
154
155
156
156
208
208
208
208
208
155
155
155
206
207
204
151
149
149
201
201
147
149
201
200
199
199
198
197
195
194
193
191
190
188
134
135
134
131
129
180
178
173
174
173
120
119
119
172
120
172
173
174
175
125
127
128
183
184
185
185
186
190
191
144
144
201
192
153
140
215
255
255
209
200
238
242
188
188
157
133
134
135
127
81
72
86
105
146
95
86
84
68
147
203
149
141
195
139
140
191
187
132
130
128
180
176
123
173
120
119
118
169
168
167
114
113
112
112
111
161
109
109
109
161
161
161
160
159
159
158
157
156
156
155
102
154
101
100
99
151
147
147
146
146
146
145
145
92
92
92
92
92
92
144
143
143
143
143
91
91
90
142
91
91
91
92
92
145
145
145
145
145
145
93
95
95
146
145
94
148
150
151
152
102
104
106
108
109
111
112
115
117
172
178
179
184
185
134
189
193
146
147
199
200
201
202
152
154
206
207
207
156
209
209
210
158
160
212
213
214
214
163
215
217
218
218
166
167
167
219
106
106
106
158
158
158
158
159
159
160
161
162
111
111
114
113
112
164
163
163
163
164
112
113
165
165
114
113
114
114
115
167
167
116
115
115
117
121
121
123
125
127
128
132
187
189
191
192
140
138
194
195
196
145
148
201
203
204
152
153
154
154
206
207
207
155
154
154
206
206
155
156
156
208
208
208
207
207
154
154
153
205
206
204
151
201
149
201
201
147
150
150
201
200
146
197
196
195
194
140
190
188
187
185
187
132
130
128
127
177
172
174
173
120
119
171
172
172
122
122
175
124
125
127
179
183
183
184
184
186
188
190
141
137
201
192
146
137
255
255
255
236
186
187
199
199
177
189
121
130
176
149
65
30
40
108
152
99
88
88
71
156
153
148
194
193
140
138
189
185
130
128
179
178
176
123
173
172
171
119
171
168
116
114
113
113
112
112
162
162
162
162
162
162
162
161
108
159
158
158
105
105
104
103
154
101
101
100
152
148
147
95
147
94
94
94
145
145
145
145
145
93
145
144
144
144
144
144
92
91
143
143
92
92
92
93
145
145
145
145
145
145
145
147
95
94
145
146
148
150
150
99
100
102
156
158
160
111
111
113
115
118
176
178
183
185
187
138
141
145
147
199
200
149
203
152
155
208
156
156
157
157
158
159
159
161
213
214
214
215
216
216
219
219
219
220
168
169
169
106
106
106
106
106
106
106
160
160
161
162
163
164
164
112
112
112
164
164
164
164
112
112
112
164
165
165
165
114
114
167
115
116
116
167
116
117
120
122
124
125
126
128
182
185
188
191
193
194
193
140
140
141
195
198
198
197
199
149
151
153
155
156
155
155
154
154
154
153
205
205
206
206
206
206
206
155
155
154
153
153
152
204
202
202
202
150
150
202
203
150
148
199
198
198
198
194
140
138
136
187
187
186
182
127
127
126
126
124
175
173
171
171
172
173
173
175
123
124
124
124
125
125
178
126
127
128
128
182
184
187
189
136
146
134
138
138
159
255
255
204
187
171
190
188
205
226
183
180
165
173
112
63
33
34
76
101
94
97
90
131
168
146
194
142
143
138
190
189
185
184
130
180
179
176
123
121
120
119
170
170
169
169
117
169
168
168
168
165
164
163
163
162
161
109
110
109
160
160
107
106
106
105
104
155
153
152
151
98
149
149
96
96
95
95
95
146
146
145
145
92
92
144
144
144
144
144
144
92
93
93
145
145
93
145
93
93
93
93
93
145
145
145
145
93
94
94
94
147
148
151
99
99
100
154
156
160
162
111
113
114
117
125
129
129
131
134
188
138
195
144
146
199
200
150
152
156
208
156
156
157
158
210
211
159
160
212
213
162
162
163
163
218
218
219
219
220
168
168
158
106
106
158
106
106
106
108
160
161
111
111
164
164
164
164
164
164
164
164
164
112
112
164
164
165
165
165
114
114
115
115
116
116
167
169
117
120
122
123
125
125
128
182
185
136
138
192
194
193
140
141
142
143
197
145
146
199
201
152
153
154
155
154
154
154
154
154
154
154
206
207
207
207
207
207
155
155
206
153
152
204
204
202
202
150
150
150
151
151
202
148
146
146
198
197
194
140
138
136
135
187
186
130
127
127
178
125
124
174
173
171
171
172
121
122
123
123
124
176
125
125
125
126
126
128
128
128
182
184
187
188
136
141
142
137
174
245
226
209
198
211
179
235
208
207
233
183
175
110
112
108
64
88
90
77
104
95
95
88
79
118
147
142
143
143
138
191
190
186
184
182
181
180
177
124
174
121
120
119
118
169
169
169
116
168
168
116
165
164
164
163
162
161
109
110
161
160
108
107
106
106
105
104
155
153
152
151
99
149
149
96
96
96
95
95
146
146
145
145
145
92
144
144
144
92
144
144
92
145
93
93
93
93
145
145
93
93
93
93
93
93
145
145
145
94
94
94
147
148
150
98
99
100
101
156
160
162
163
114
168
170
125
128
180
131
134
136
137
143
197
197
198
200
150
152
155
156
208
208
157
209
210
159
159
212
213
213
162
163
163
164
166
166
219
219
220
220
168
105
105
158
158
158
159
159
161
161
162
111
112
165
165
164
164
164
164
164
164
164
163
163
164
164
165
165
165
166
166
167
167
168
168
167
117
169
172
121
122
123
124
127
181
183
134
136
138
139
141
141
142
194
195
143
143
144
145
199
201
202
152
152
154
154
153
154
154
154
154
154
155
207
207
155
155
154
205
205
152
151
202
203
203
151
151
150
150
150
150
201
199
145
144
144
196
192
191
137
135
134
185
133
128
125
124
176
175
174
173
172
120
121
121
174
175
124
125
177
177
177
178
126
179
179
128
128
181
182
131
134
187
194
127
150
129
216
255
180
186
187
136
218
209
207
225
197
187
107
150
135
99
70
39
99
83
112
103
97
85
134
125
150
144
145
142
140
139
138
187
186
184
183
182
127
127
177
124
122
122
121
119
170
169
168
116
115
115
114
165
112
111
163
162
110
110
161
160
108
107
106
106
105
104
155
154
153
153
152
98
97
149
149
96
96
148
147
147
147
146
146
94
94
146
146
94
146
146
94
94
146
94
94
94
94
146
145
93
93
145
93
93
93
93
93
94
94
94
95
148
149
149
98
99
101
103
159
161
112
116
171
121
124
177
178
129
184
186
135
141
143
196
197
198
148
150
153
154
155
155
156
157
209
210
158
161
213
214
163
163
216
216
165
166
166
218
219
219
219
104
104
157
158
159
160
160
161
162
162
112
113
165
166
112
164
164
164
164
164
163
111
163
164
164
165
165
113
114
166
167
167
168
168
167
169
169
171
120
121
121
122
125
126
128
130
132
134
134
136
191
192
194
194
143
142
143
144
197
198
200
200
149
150
203
203
204
205
153
153
153
154
206
154
154
154
204
204
203
150
149
149
201
202
202
149
201
148
147
147
147
145
143
143
143
194
191
139
138
135
133
132
183
126
123
123
175
174
174
173
122
122
122
175
176
177
126
126
178
178
178
178
179
127
128
128
128
181
182
131
132
134
140
128
191
178
255
232
188
175
185
170
131
147
241
200
204
144
99
86
118
52
29
49
67
150
171
158
150
92
84
135
153
145
148
141
141
140
139
189
188
186
133
133
182
182
180
179
178
177
124
122
173
171
170
117
116
116
115
166
165
164
111
111
110
110
109
160
108
159
158
106
105
156
156
103
103
155
154
98
98
150
149
97
97
149
149
149
148
148
148
95
95
147
95
95
95
95
95
95
95
95
95
95
95
95
145
145
145
145
145
145
93
93
93
94
146
94
147
148
150
150
98
99
102
104
159
162
164
168
169
170
174
176
176
178
181
131
185
190
141
194
195
196
197
199
203
203
154
155
155
156
157
157
210
212
160
161
161
162
162
215
215
163
163
215
216
216
217
156
156
157
106
107
160
160
162
162
163
112
113
166
166
164
164
164
164
164
164
163
111
111
164
164
165
165
113
114
114
167
167
116
168
167
169
169
119
119
120
173
173
175
124
126
180
182
131
132
133
137
139
193
194
195
142
142
143
196
197
198
199
147
149
201
202
150
203
204
204
204
205
153
153
153
153
151
203
202
202
201
200
148
149
201
200
199
198
198
145
146
145
143
142
142
142
138
140
137
135
133
132
182
177
123
123
123
175
175
123
175
175
123
176
176
177
179
179
126
126
178
127
179
180
128
128
128
129
130
130
184
185
136
134
188
184
255
197
187
174
193
235
158
152
226
255
204
149
98
83
65
58
85
110
132
161
171
156
147
92
84
138
155
146
149
141
142
140
139
189
136
135
134
186
132
183
181
180
178
125
124
123
123
173
171
170
117
117
167
166
165
164
164
111
111
162
109
108
160
159
158
106
157
156
156
104
103
155
155
99
98
98
98
149
97
149
150
149
149
149
148
96
96
96
96
96
96
96
148
147
147
147
95
95
147
147
93
145
145
145
145
145
145
93
93
94
146
94
95
96
98
150
151
100
102
105
108
162
164
166
167
168
173
176
123
125
128
131
184
189
140
141
194
143
197
198
202
203
154
154
155
208
208
157
157
159
211
160
160
161
162
214
213
161
161
162
163
163
163
157
157
106
106
107
160
160
163
163
111
112
113
165
165
164
164
164
164
164
164
164
161
111
113
114
113
164
111
114
166
167
167
168
168
168
167
115
116
118
119
172
172
175
123
124
177
178
127
127
132
134
188
190
193
194
143
145
144
196
196
196
144
196
201
201
201
150
202
202
150
202
204
152
153
206
154
151
202
202
202
201
201
150
147
198
198
197
196
195
195
140
141
141
141
194
141
139
137
135
133
130
128
178
178
124
124
124
176
176
176
176
175
123
124
177
177
179
127
128
129
129
130
182
181
180
180
126
176
130
139
185
190
124
144
165
255
204
176
126
211
227
148
69
160
170
193
205
194
114
81
57
136
103
133
118
186
168
158
150
100
90
140
148
149
144
147
141
141
192
190
189
136
135
135
187
186
132
130
180
127
127
126
177
175
173
119
170
169
170
168
167
165
164
110
162
162
109
108
160
107
158
106
104
156
155
155
102
154
154
152
100
100
152
152
152
152
151
151
151
151
151
99
99
98
150
97
149
96
148
149
149
149
148
148
147
147
95
95
147
146
145
144
144
145
93
94
147
147
96
97
97
150
152
154
104
106
108
161
164
167
116
118
174
177
126
127
128
130
131
186
187
140
142
197
198
199
150
153
152
153
154
155
208
157
157
210
210
211
158
159
159
159
212
212
160
161
162
162
162
157
106
106
159
160
160
161
111
111
112
112
112
165
165
164
164
164
164
112
112
164
162
110
112
113
113
112
112
166
166
167
167
168
168
116
115
116
117
170
171
172
173
174
123
175
176
177
177
126
179
180
182
184
186
187
136
141
194
195
196
144
145
198
198
146
146
198
198
146
145
200
200
148
149
149
201
199
198
198
199
198
146
146
193
193
193
192
139
138
139
139
191
192
140
140
140
190
187
133
131
180
179
177
177
125
125
125
176
176
176
176
175
123
124
125
125
127
179
128
129
129
130
182
181
180
122
131
183
127
130
184
136
187
180
220
228
100
210
244
152
54
53
6
46
175
180
198
161
140
131
70
121
108
125
141
190
171
160
150
152
144
143
202
148
145
148
143
143
194
192
191
190
189
137
189
188
133
132
130
129
128
180
179
124
123
121
172
170
171
117
116
166
164
111
163
163
162
109
108
107
107
106
156
156
156
103
103
155
154
152
152
152
152
152
152
152
151
151
151
151
99
99
99
150
150
98
97
97
149
149
149
149
149
148
148
148
95
95
147
147
145
145
145
93
93
94
147
147
96
97
98
151
152
154
156
158
107
109
111
114
168
117
121
123
124
125
127
129
131
133
186
188
190
193
142
143
199
149
152
152
205
206
208
208
157
158
210
159
211
212
159
159
211
211
212
160
161
161
161
158
158
159
159
160
161
161
112
112
112
112
112
112
112
163
163
163
163
163
163
111
110
110
163
164
112
112
112
166
166
167
167
168
168
116
116
116
169
170
172
120
121
174
174
175
175
176
124
124
178
179
128
181
183
132
132
189
191
192
194
196
197
146
146
145
144
196
196
195
195
199
147
146
146
146
199
197
197
197
196
196
144
195
192
139
139
191
138
138
138
138
190
191
139
139
138
188
185
132
130
180
178
178
178
178
177
125
125
125
176
176
175
123
124
125
125
127
179
180
129
129
130
130
129
128
121
130
133
129
187
191
188
163
248
224
154
203
255
195
103
70
36
59
71
161
162
196
159
87
81
122
184
139
145
148
135
121
109
151
155
144
196
204
201
146
149
198
196
196
194
193
191
191
190
190
190
135
133
132
131
130
129
129
125
124
123
122
172
172
118
116
115
165
164
111
163
110
109
108
108
107
107
157
104
104
104
103
155
155
153
153
153
153
153
153
101
100
152
152
100
100
100
100
151
98
98
98
97
149
150
150
149
149
149
148
148
148
148
147
147
94
93
93
93
93
146
147
147
96
97
99
151
152
154
156
158
106
109
163
114
167
168
120
122
123
124
125
127
130
134
134
136
190
192
141
194
198
148
151
151
204
205
207
208
209
209
210
210
210
211
159
159
211
212
212
160
161
161
161
157
158
158
160
161
161
162
113
113
112
163
111
110
110
110
162
162
110
162
162
110
110
110
161
162
111
112
112
166
166
115
115
168
168
116
116
117
170
171
172
121
122
123
124
176
176
176
176
124
126
126
126
179
179
128
128
184
185
135
188
189
190
191
142
142
143
143
195
196
196
146
146
197
144
195
194
194
194
194
194
142
142
193
190
138
138
137
189
137
137
135
136
136
137
188
187
186
183
182
181
180
179
179
180
126
178
179
126
125
177
176
175
123
124
125
125
179
179
180
181
181
130
130
129
128
129
183
180
184
191
180
180
254
255
211
111
255
199
95
0
69
75
113
78
211
234
185
204
134
90
122
187
161
207
195
127
130
114
103
163
135
190
152
153
147
202
199
198
198
196
195
142
193
192
193
140
138
137
135
134
133
185
184
180
127
125
125
175
173
172
118
116
115
166
165
164
111
110
109
108
108
107
158
105
105
104
104
156
156
154
102
102
102
102
102
102
101
153
153
101
101
101
101
151
151
151
98
98
98
151
150
150
98
97
97
97
97
96
148
148
94
94
146
145
93
146
147
147
96
97
152
152
101
154
156
105
105
108
162
165
166
166
169
171
119
120
174
125
180
184
185
188
138
140
193
194
146
148
147
199
200
149
152
153
205
156
156
208
208
208
208
157
210
210
210
211
211
212
160
158
158
159
160
109
162
110
113
113
164
163
162
110
110
110
110
110
110
162
110
110
111
110
160
161
110
111
165
166
166
115
115
116
168
116
117
117
170
172
173
122
122
125
125
125
125
177
176
176
123
123
175
175
124
124
176
180
128
129
130
131
184
184
185
134
136
138
139
140
141
141
192
191
189
188
186
188
188
135
135
136
135
187
132
132
132
133
133
133
133
134
134
135
135
187
186
184
183
183
181
181
181
129
131
128
179
178
178
126
125
176
123
123
124
125
177
179
179
180
181
181
182
130
129
128
133
184
185
192
190
143
173
255
145
212
255
188
109
70
79
92
112
83
137
195
255
216
177
119
141
139
203
209
206
140
128
141
118
102
166
125
184
150
156
149
151
199
200
200
198
145
143
143
142
142
142
139
137
136
135
187
186
186
130
128
127
178
177
174
171
171
117
116
167
166
164
111
110
110
109
108
108
106
106
105
105
156
156
156
154
102
102
102
102
102
102
101
153
153
101
101
153
101
100
152
99
99
98
98
151
151
99
98
98
97
97
97
97
149
148
95
94
146
93
93
146
147
95
96
97
152
153
101
102
156
157
105
108
162
164
165
113
168
118
118
171
174
124
178
183
133
184
187
189
190
191
143
145
197
197
146
147
150
203
203
154
153
205
206
155
155
155
157
209
209
210
211
211
159
158
158
159
162
111
112
112
111
163
163
163
163
163
111
110
162
110
110
110
110
162
109
109
162
162
110
111
163
164
112
113
114
115
116
116
116
117
170
171
172
121
174
174
174
123
123
125
125
125
124
124
176
124
124
176
176
124
125
126
179
128
128
181
182
181
182
130
131
131
131
131
183
183
183
183
184
185
185
133
185
133
133
185
131
131
131
183
131
131
131
131
183
183
132
132
184
185
184
132
131
183
130
130
129
180
180
179
178
126
125
124
125
125
178
178
179
181
181
181
129
181
181
130
182
130
134
182
190
139
137
164
229
230
255
222
239
67
86
33
45
71
72
76
189
213
221
220
242
173
149
141
200
210
208
138
129
146
128
98
116
78
50
68
201
217
158
203
204
151
149
147
145
144
145
197
196
142
141
192
191
191
135
134
131
184
183
181
179
126
122
120
170
168
167
167
164
163
163
162
109
109
108
107
106
158
157
104
103
155
156
104
103
103
102
102
102
154
154
154
102
102
154
154
99
99
99
99
99
99
99
99
99
98
98
97
97
149
149
149
148
95
94
94
94
146
146
94
94
96
98
151
152
101
102
104
105
158
159
160
109
111
165
168
169
171
173
175
176
176
180
181
182
182
183
133
135
137
190
142
142
143
144
146
147
147
149
149
202
202
152
204
153
154
154
206
206
206
206
206
157
158
159
161
110
111
111
163
163
163
163
163
163
163
110
110
110
110
110
110
110
109
109
161
162
110
110
163
111
111
113
166
114
115
115
117
117
118
172
173
122
122
122
174
175
175
124
125
125
125
177
177
125
125
177
177
124
124
177
178
126
126
178
178
126
178
127
127
127
127
126
126
178
178
178
178
182
182
183
183
183
183
183
182
130
130
130
130
130
130
184
183
183
183
132
132
133
184
183
183
130
130
129
180
180
128
127
126
126
125
176
178
126
127
127
180
181
182
181
181
182
182
183
184
184
136
185
139
146
130
197
218
255
252
176
213
91
51
44
93
55
62
50
167
255
222
162
243
181
151
87
199
210
205
191
182
149
133
102
121
62
0
52
233
195
192
163
205
153
150
149
147
146
197
199
199
145
143
194
193
193
137
135
133
185
184
182
127
126
123
121
119
169
168
167
165
164
163
162
162
161
161
160
107
106
157
156
156
155
104
104
103
103
102
154
154
154
154
102
102
102
154
154
99
99
99
99
99
99
99
99
151
150
98
97
97
149
149
149
148
147
94
94
94
146
94
94
95
96
151
153
154
154
155
104
105
157
159
160
109
111
165
168
169
170
172
174
175
175
178
180
180
129
129
182
184
187
187
140
140
141
194
145
146
146
147
147
199
200
150
202
203
152
152
204
204
205
205
205
157
157
158
160
109
109
110
163
163
163
163
163
111
163
161
161
109
109
161
161
109
108
108
109
161
161
162
110
109
110
163
164
165
113
114
116
117
170
171
120
121
122
122
122
175
175
176
124
125
178
178
126
126
126
126
126
124
176
176
176
124
123
123
173
121
172
172
120
120
120
172
172
121
121
123
123
126
178
179
179
128
180
180
181
129
129
129
129
129
129
183
131
130
183
183
183
184
183
183
182
181
180
180
180
127
127
178
178
126
126
177
179
179
128
129
129
131
183
182
183
184
185
187
189
190
197
141
140
146
128
229
255
233
227
246
189
170
73
68
80
89
112
55
225
255
247
202
244
135
143
131
198
163
149
191
180
212
143
108
132
41
0
0
136
172
162
149
157
157
154
204
204
203
202
199
147
146
144
143
142
142
141
191
188
188
187
184
181
180
126
124
122
120
170
169
168
166
165
164
162
110
109
160
107
107
158
157
156
104
104
104
103
103
154
154
154
154
154
102
102
102
154
154
152
100
100
100
152
100
99
99
99
98
98
97
97
97
149
149
148
147
146
146
146
146
94
94
96
150
153
156
156
156
156
156
104
103
107
108
109
111
165
168
169
118
120
172
173
121
123
125
179
128
129
131
184
187
187
188
137
138
191
141
142
142
195
195
196
197
145
146
198
148
148
201
201
202
203
203
104
156
157
159
108
109
161
109
161
161
161
161
161
161
160
160
108
108
160
160
160
107
107
160
160
161
161
161
108
108
162
163
163
164
164
167
167
168
169
171
119
120
122
122
175
123
124
124
125
178
126
126
126
126
126
126
128
127
126
176
175
122
122
120
119
119
170
170
169
169
170
171
120
121
121
122
176
124
125
125
127
180
181
130
130
130
130
129
129
181
182
130
130
130
130
131
183
182
182
181
181
180
179
179
178
178
178
178
126
126
178
178
179
127
128
129
130
183
183
132
133
187
138
141
142
191
144
149
136
215
220
188
234
211
156
177
93
21
39
46
56
61
86
229
229
199
153
252
198
145
131
194
208
151
139
121
221
205
111
132
85
0
38
106
187
162
163
213
213
158
208
207
207
206
202
150
201
200
146
198
197
197
195
191
190
189
134
131
130
180
178
176
122
120
171
170
168
167
165
163
110
161
161
160
107
106
158
157
105
104
104
103
103
154
154
154
154
154
102
102
102
154
154
101
101
101
101
153
153
99
99
151
98
98
97
97
149
149
149
148
147
146
146
146
146
146
147
149
151
154
103
104
156
157
105
106
105
107
108
109
163
165
116
117
171
120
122
174
173
122
124
178
178
180
181
183
185
186
136
136
137
190
140
140
193
193
193
194
195
196
145
197
146
147
147
148
202
203
203
156
156
157
107
160
109
161
160
160
160
160
160
160
160
160
108
108
108
160
108
108
107
107
160
160
161
161
161
108
108
110
162
163
164
164
166
166
168
169
170
171
171
174
122
123
123
176
124
125
125
177
177
177
177
178
178
128
127
126
176
175
122
122
120
171
119
118
170
169
169
169
118
118
120
120
121
175
124
176
177
179
128
129
183
183
183
131
130
182
182
182
182
181
182
182
131
131
130
182
181
180
180
179
179
178
178
126
178
178
126
126
178
178
179
128
129
182
130
131
132
134
136
138
142
143
141
150
210
189
228
251
173
193
205
159
170
69
5
37
42
62
69
112
229
225
179
142
244
194
146
79
141
204
152
139
120
223
208
163
182
104
31
56
31
199
215
205
213
214
159
209
208
155
155
152
204
203
202
201
200
199
198
196
192
139
137
135
132
130
180
178
124
122
121
120
171
117
115
113
111
162
162
161
160
159
107
106
105
105
104
104
155
155
154
154
154
154
154
102
102
102
154
102
101
101
101
101
101
153
99
99
151
150
150
97
97
149
149
149
148
147
146
146
146
146
146
147
149
151
155
103
103
156
105
157
106
106
107
160
161
111
113
116
117
171
121
122
174
173
122
123
124
125
178
180
181
184
133
136
136
189
190
192
192
193
193
193
193
194
196
196
197
198
147
147
148
150
151
151
155
155
104
105
105
106
106
159
159
159
107
107
159
107
159
107
107
107
159
106
106
107
107
109
162
162
163
163
109
109
163
164
164
165
165
166
166
166
167
169
171
172
173
173
122
122
123
123
123
125
177
177
177
177
177
177
176
176
123
123
122
122
122
121
173
173
173
172
172
172
171
170
170
170
119
120
175
175
176
177
178
126
127
179
179
180
128
128
129
129
129
181
180
181
181
130
130
132
132
131
183
129
128
179
179
127
127
127
179
127
127
127
179
179
127
181
184
185
185
187
190
140
141
199
201
155
146
200
204
255
169
187
203
135
133
116
32
83
97
88
115
84
181
229
255
186
114
233
219
136
71
122
206
206
188
117
216
218
138
116
136
0
13
31
122
174
175
218
216
160
160
211
157
155
206
205
203
203
201
149
200
198
196
141
192
192
190
188
186
131
128
126
125
125
124
121
119
117
116
166
165
163
162
161
160
160
107
106
106
104
156
155
155
155
154
154
155
103
103
155
103
103
103
101
101
100
100
99
99
99
151
151
150
98
97
97
148
148
148
147
147
146
146
147
147
149
149
151
153
154
103
103
103
104
156
157
105
108
108
161
110
112
166
166
167
167
168
117
119
173
173
123
123
177
179
181
184
133
134
134
187
188
189
190
190
192
192
193
142
194
195
195
146
146
199
199
149
150
202
154
102
103
105
104
105
105
106
158
158
158
158
158
106
107
107
159
158
158
106
106
108
108
109
162
163
164
112
110
111
164
164
165
113
113
114
114
114
115
169
171
172
173
173
174
122
123
123
123
125
125
125
125
177
177
177
176
176
123
123
122
122
122
121
173
172
173
172
120
120
119
170
170
170
119
172
173
122
122
123
124
125
125
180
128
180
181
181
129
130
181
181
180
181
129
130
130
132
132
131
130
129
127
178
178
178
178
178
126
127
127
127
179
179
180
181
186
187
188
190
141
195
196
148
150
146
159
190
196
229
193
222
169
59
149
94
91
95
52
114
131
184
212
219
255
165
156
228
230
129
73
115
201
203
133
119
217
176
149
115
165
32
0
3
0
201
164
218
166
164
163
213
211
159
209
208
155
205
153
151
151
148
146
143
143
195
193
191
136
133
130
180
179
178
126
123
121
119
170
168
167
165
164
162
161
160
107
106
158
157
156
156
156
155
155
155
103
103
155
155
103
103
103
101
101
100
100
99
99
99
151
151
150
98
97
149
148
148
148
148
96
96
96
96
97
98
150
151
153
102
103
103
103
104
156
157
157
160
108
109
110
112
114
166
114
115
167
169
118
172
120
122
123
124
126
180
184
184
133
134
134
187
190
138
139
192
192
193
194
194
143
143
145
145
198
147
148
149
201
102
102
155
104
104
157
157
158
158
158
158
158
158
158
159
107
159
158
158
106
106
108
160
162
111
163
112
112
111
164
164
164
165
113
113
114
114
114
115
169
171
172
121
173
174
122
123
175
123
125
125
125
125
177
125
125
124
124
123
123
122
122
122
121
173
172
172
172
120
120
119
170
170
170
171
172
121
121
122
123
175
124
125
180
180
181
181
181
130
130
181
181
180
181
129
130
130
132
131
131
181
180
179
178
178
178
126
126
127
127
127
127
127
179
180
182
186
188
190
192
143
144
197
150
152
195
160
140
255
255
189
248
170
62
109
20
28
97
132
176
127
173
196
222
229
127
147
220
233
127
123
106
199
199
131
172
215
180
156
120
147
64
0
4
0
158
175
212
164
168
164
212
211
213
211
211
157
155
155
154
153
150
148
145
145
197
195
193
138
135
132
129
179
179
178
176
122
120
171
169
168
166
113
163
162
109
107
106
158
157
157
156
156
156
103
155
155
155
155
155
103
103
103
101
153
100
100
99
99
151
151
151
98
98
97
97
148
148
96
96
96
96
96
97
98
99
99
100
101
102
103
103
155
156
156
157
157
160
108
109
110
112
114
114
114
114
115
116
117
171
172
122
122
124
126
180
183
184
133
133
186
135
138
139
139
140
140
141
194
194
143
143
145
197
198
146
148
149
201
101
153
154
104
103
104
104
157
157
157
157
157
157
157
158
158
158
158
106
106
106
161
161
162
110
163
164
164
165
165
113
113
113
113
113
114
114
114
167
169
171
172
121
121
174
174
175
175
175
177
177
125
125
125
177
125
123
123
122
123
122
122
122
121
173
172
120
119
171
171
171
118
170
170
171
172
121
122
122
123
176
125
125
181
181
181
182
182
130
131
181
181
180
181
181
130
130
131
131
130
129
179
178
177
177
177
126
178
178
126
126
127
179
179
129
183
188
189
139
142
197
198
199
205
207
214
189
226
255
255
185
183
60
116
68
32
79
153
151
170
182
211
255
255
195
158
149
200
222
144
135
147
192
137
125
121
206
232
171
133
117
129
0
0
0
42
161
177
172
165
167
167
216
214
163
162
160
159
157
156
155
153
151
148
147
146
197
195
193
136
133
131
129
180
179
178
124
122
173
171
170
168
166
164
111
109
107
106
106
106
105
157
157
104
104
156
155
155
155
155
155
103
103
153
153
100
100
99
151
151
151
151
150
150
149
149
96
96
96
97
97
98
98
99
99
100
100
100
101
102
103
155
155
156
156
157
157
160
108
109
110
112
114
114
165
165
166
115
117
119
171
173
174
123
125
127
183
183
132
132
186
187
138
192
140
140
140
141
142
142
195
195
196
144
145
146
147
148
148
151
152
101
104
103
102
102
100
153
155
157
157
156
155
157
157
158
159
108
109
161
161
110
110
163
164
165
165
164
164
113
113
114
114
114
116
116
118
170
171
172
172
174
174
174
174
174
174
174
175
175
123
123
175
175
175
123
123
123
175
175
176
124
124
175
175
174
173
172
172
171
171
171
171
171
119
120
120
121
122
176
177
126
181
181
181
130
130
183
131
181
181
180
181
181
130
130
131
131
130
129
179
178
177
125
125
177
177
177
125
125
177
178
180
182
185
190
190
143
143
195
199
201
203
153
155
198
254
255
185
189
94
89
47
77
62
215
162
189
105
153
220
224
255
226
164
118
143
160
112
103
158
186
191
172
171
204
230
177
146
126
161
9
15
0
6
0
97
179
166
228
215
177
158
164
164
162
160
211
210
159
156
154
151
151
202
200
199
196
193
138
134
132
130
129
129
177
176
124
123
121
170
170
114
112
110
161
160
108
106
106
157
157
156
104
104
104
104
103
103
154
102
102
154
154
153
101
152
152
151
151
151
150
150
149
149
96
96
96
97
149
150
98
100
100
101
153
153
102
103
104
156
157
158
106
107
108
109
161
110
111
111
165
113
164
166
167
168
116
118
172
174
174
176
125
127
130
130
185
133
134
187
138
191
139
141
193
194
143
195
196
196
196
196
197
198
147
148
148
151
152
153
103
103
102
102
99
100
102
105
157
157
156
157
157
158
160
108
109
109
110
109
163
164
164
165
165
164
112
165
113
114
114
114
116
168
170
118
119
172
172
174
174
122
122
174
174
174
175
175
175
175
175
175
175
123
123
123
175
175
175
176
176
175
174
173
173
172
172
171
171
171
119
119
119
120
120
121
122
176
177
178
129
181
181
130
182
182
183
181
181
180
181
181
130
130
183
131
130
181
179
178
178
125
125
177
177
177
177
125
125
126
128
131
186
139
139
143
195
145
147
147
152
155
196
208
255
255
189
197
119
68
51
0
93
185
172
182
115
215
255
229
181
162
231
128
134
159
113
109
100
129
136
118
171
152
176
231
155
129
157
32
11
0
47
0
57
175
214
213
219
153
167
216
164
214
213
212
211
210
207
206
203
151
202
148
146
197
193
190
187
132
130
181
181
177
124
124
175
173
170
170
167
112
110
161
160
160
106
106
157
157
105
104
104
104
104
103
103
103
102
102
154
154
101
101
152
152
151
151
151
150
150
150
149
148
96
97
97
149
150
150
152
100
101
153
154
102
103
104
104
157
106
106
107
108
109
109
110
111
163
165
113
112
166
168
168
116
171
172
174
122
124
125
127
130
130
185
133
134
135
138
139
139
141
193
194
195
195
196
144
144
196
197
198
199
148
148
150
151
152
103
102
101
101
98
99
100
104
158
159
159
106
106
107
108
109
162
109
110
111
164
164
165
165
113
113
113
114
114
114
115
115
116
168
170
118
171
172
172
173
121
121
121
173
173
173
122
122
174
174
174
174
174
173
173
173
173
173
173
173
174
122
121
121
120
172
172
171
171
171
119
119
119
172
120
121
122
176
125
126
180
180
181
181
181
182
182
181
181
180
181
181
130
130
183
183
130
181
179
179
178
126
126
178
178
178
178
126
128
128
182
185
136
141
141
194
199
149
147
146
156
160
194
201
229
255
241
201
181
218
229
230
241
121
169
112
159
212
255
255
132
43
159
201
169
209
163
166
79
115
185
119
119
202
221
230
172
145
150
112
6
46
35
40
31
145
163
178
160
187
214
219
218
216
215
214
212
211
210
208
205
204
203
149
147
197
194
191
136
133
131
181
183
127
126
177
176
174
119
171
167
113
163
161
161
109
107
106
106
106
105
105
157
157
156
156
156
155
155
103
102
154
101
101
152
152
152
152
151
99
99
98
98
97
97
97
150
150
98
151
153
153
154
153
154
155
104
104
104
157
106
106
107
108
109
109
110
111
111
113
113
113
166
168
169
117
171
173
122
122
124
177
127
182
182
185
133
134
135
138
191
191
193
193
194
195
143
144
144
144
196
145
146
199
200
148
149
98
100
102
101
101
152
152
100
100
103
105
159
108
106
107
107
109
162
161
110
112
164
165
113
113
113
113
114
114
114
115
115
115
116
116
168
170
170
171
120
172
172
172
120
120
120
172
172
121
121
121
173
173
173
173
172
120
172
172
120
120
172
172
120
120
120
120
120
172
171
171
171
171
119
171
120
172
121
122
176
125
126
179
180
180
180
129
129
129
129
181
180
181
181
130
130
183
183
182
182
180
179
178
179
179
179
179
127
179
179
130
132
133
135
138
143
195
196
149
150
199
150
157
205
171
223
255
255
201
218
226
255
255
174
115
136
193
255
227
229
220
178
125
94
151
206
191
134
160
154
117
97
127
167
163
203
216
223
180
154
139
204
35
50
37
52
50
66
174
163
167
160
173
169
220
218
164
163
214
214
160
158
206
206
204
201
199
198
196
193
190
134
132
131
184
128
127
127
178
176
121
172
168
165
163
162
162
110
107
107
107
106
106
158
158
157
157
157
156
156
156
156
102
102
101
153
152
152
153
152
100
100
99
99
99
98
98
98
98
99
99
151
153
154
102
102
103
104
105
156
156
157
158
106
107
160
161
161
162
111
111
113
113
113
167
169
118
118
172
122
174
174
176
125
179
182
182
185
185
186
187
138
191
191
193
193
142
195
143
144
144
144
144
145
146
147
148
148
97
98
99
102
101
100
152
154
153
153
102
104
106
159
107
107
108
161
161
162
110
165
165
113
113
113
113
113
114
114
115
115
115
116
116
116
168
170
118
119
120
120
120
172
172
120
172
172
172
121
121
121
173
173
121
121
171
119
119
119
119
119
171
171
119
120
120
120
120
120
171
171
171
171
171
171
120
120
173
122
124
125
126
179
179
180
128
128
129
129
181
181
180
181
129
130
182
183
131
130
182
180
179
126
179
179
179
127
179
179
127
131
132
134
136
139
144
144
198
150
149
147
152
156
199
193
228
255
255
217
227
229
255
255
244
216
203
137
234
229
176
229
210
0
39
187
209
208
113
111
152
116
136
172
107
104
153
217
223
184
165
196
211
26
2
42
3
8
40
194
164
184
155
181
170
221
219
217
164
215
215
161
159
154
205
204
202
199
199
196
193
190
135
133
131
185
129
128
128
179
176
122
172
116
114
164
110
110
110
160
159
107
107
158
106
106
106
157
157
157
104
104
156
154
154
153
153
152
152
153
153
100
100
100
99
99
98
150
98
99
99
151
152
154
102
103
102
103
104
105
156
156
157
158
158
107
108
161
161
162
111
111
113
113
114
115
169
170
170
172
122
174
174
124
125
179
130
130
185
185
186
187
190
191
191
193
141
142
195
195
144
144
144
144
145
146
147
148
148
149
97
98
99
152
153
101
99
152
153
155
156
157
158
160
108
109
162
163
112
111
165
165
113
165
165
113
113
166
166
115
115
168
116
116
116
116
118
119
119
120
121
119
119
119
171
171
171
171
172
120
120
172
172
120
120
120
120
120
120
172
172
172
118
118
119
119
120
120
120
120
120
120
120
120
120
121
121
174
175
175
176
177
126
126
127
129
129
182
183
182
182
182
182
130
130
130
131
182
181
129
128
127
126
126
126
127
127
127
127
180
180
183
135
191
193
197
198
205
194
208
207
201
206
163
229
255
255
255
255
255
204
141
166
219
255
73
255
255
229
229
255
216
0
26
44
76
200
143
150
162
78
87
162
90
104
95
167
167
230
236
225
202
26
18
0
39
0
41
106
247
219
173
162
223
223
171
169
167
216
215
214
160
156
155
154
203
149
148
195
142
140
138
135
133
185
181
128
180
179
125
123
174
116
114
113
113
111
110
161
160
159
159
158
104
104
156
156
155
103
102
154
154
153
153
153
153
153
101
102
102
102
101
101
100
100
99
99
98
98
150
151
100
102
102
102
103
103
104
104
106
106
158
159
159
160
160
162
162
111
164
112
114
114
115
115
169
170
172
174
122
123
123
177
178
128
131
131
135
135
136
189
189
190
190
192
140
141
194
195
196
144
197
197
197
146
147
147
199
149
149
150
151
100
101
153
100
101
101
155
156
104
157
160
160
109
162
111
112
163
165
113
113
165
165
165
165
166
166
115
115
116
116
116
116
116
117
118
119
119
119
119
119
171
119
171
171
171
172
120
120
120
172
172
172
120
120
120
120
172
172
120
118
118
119
119
120
172
172
120
120
120
120
120
120
121
121
174
175
175
176
177
125
126
179
180
181
182
182
182
130
182
182
130
129
130
181
181
180
128
127
126
125
126
126
127
127
128
180
181
183
186
189
193
195
198
200
202
213
208
191
201
208
255
228
246
114
26
83
26
55
111
42
0
142
255
170
115
215
182
228
223
120
125
83
101
199
133
216
185
100
95
148
61
8
0
57
79
207
250
227
230
67
43
43
40
40
38
27
127
253
205
231
223
223
223
169
167
164
215
215
212
156
156
154
203
149
149
143
142
141
139
135
133
134
182
129
128
127
125
123
173
167
165
113
112
162
161
161
161
160
159
106
105
156
156
156
104
103
103
155
154
154
154
154
154
102
102
102
102
102
102
101
101
101
100
99
150
150
150
100
101
102
154
102
103
103
104
104
106
107
159
159
160
160
160
162
163
111
164
165
114
115
115
167
169
170
172
174
174
123
123
177
178
128
131
131
135
135
136
137
189
190
190
192
192
141
142
195
196
196
197
197
197
146
199
199
199
97
149
150
151
100
101
153
153
153
102
102
103
104
104
160
160
109
110
111
112
163
164
164
165
165
165
166
114
114
166
167
167
116
116
116
168
168
117
169
170
170
171
119
119
119
119
119
119
171
171
171
171
171
171
171
171
119
171
171
119
119
119
119
118
118
171
171
172
172
172
172
120
120
120
120
172
173
173
174
123
123
176
177
126
178
179
180
181
181
182
182
130
182
181
129
130
129
128
180
179
179
178
126
125
126
126
127
127
128
181
182
183
186
139
194
196
199
201
151
142
149
197
159
140
145
93
51
35
47
81
45
52
69
62
127
104
53
238
229
255
255
255
208
66
19
5
10
136
134
176
207
113
61
70
92
111
30
36
63
180
220
228
241
121
0
10
43
34
56
47
0
224
165
166
170
222
223
221
219
164
215
215
213
208
156
206
204
202
201
144
143
193
191
188
185
134
182
181
129
128
126
124
173
167
165
112
164
162
161
162
161
160
159
159
105
157
157
156
104
104
103
155
155
155
103
103
103
103
103
103
103
154
102
102
101
101
100
151
151
150
151
100
101
102
154
102
155
155
104
104
107
107
107
160
160
160
161
163
163
164
164
165
167
115
167
167
169
118
172
174
174
123
123
177
126
128
131
131
135
135
188
189
137
138
138
140
192
193
142
143
196
196
145
197
197
146
199
199
199
97
149
150
151
152
153
153
154
154
102
102
103
103
103
108
108
109
110
111
112
163
163
163
165
113
114
115
115
166
166
167
167
116
116
116
116
168
168
168
169
169
169
171
119
119
119
119
119
119
170
170
170
170
170
170
170
118
118
170
170
118
118
118
118
118
171
171
120
120
172
172
120
120
120
120
172
173
173
174
175
123
176
177
125
178
178
179
180
181
181
182
182
129
130
129
128
128
177
177
177
177
177
177
125
126
126
127
128
129
182
183
184
135
140
143
196
200
149
154
148
144
153
168
99
95
74
49
90
51
24
40
43
0
0
131
223
132
0
0
29
117
111
80
92
120
83
22
24
176
154
125
134
62
32
59
26
0
0
0
69
103
234
223
217
23
0
56
50
58
45
0
1
253
172
169
221
222
221
219
165
215
216
162
209
209
207
205
202
150
144
143
194
192
189
186
187
131
182
129
128
178
176
123
169
166
166
165
112
110
110
162
161
160
159
106
105
157
157
105
156
156
156
156
104
104
104
104
104
104
104
155
103
103
102
102
102
101
100
152
151
152
153
102
102
102
154
155
155
156
104
108
108
108
160
161
161
162
163
164
164
165
166
167
168
167
167
169
118
120
174
174
175
175
177
126
128
131
131
187
187
136
189
137
138
138
192
192
193
142
143
196
196
145
145
145
146
199
199
199
149
149
150
151
152
153
153
102
102
103
102
102
103
103
108
108
109
110
111
112
163
163
163
164
166
114
167
167
166
114
167
115
116
168
168
168
168
168
168
168
168
168
171
119
119
119
119
119
119
118
170
170
118
170
170
170
118
118
170
170
170
170
170
170
170
171
171
120
120
172
172
172
172
120
172
120
121
173
174
175
123
124
177
177
177
178
179
179
128
129
130
183
182
129
128
128
178
177
177
177
177
177
177
177
179
179
128
129
131
184
186
183
135
139
142
144
147
147
150
191
213
209
156
48
52
85
92
51
35
0
1
26
0
51
225
147
51
61
30
60
88
43
74
33
31
60
68
4
27
176
203
117
59
28
109
73
0
0
0
0
77
37
160
224
172
35
50
48
61
41
48
0
6
177
166
219
220
220
167
165
164
164
162
158
157
208
205
203
150
145
196
194
192
137
187
187
132
182
182
129
128
177
176
170
116
115
115
114
113
111
162
161
161
160
106
106
158
158
157
157
156
156
104
105
105
105
105
105
105
104
156
104
103
103
102
102
101
101
100
152
152
153
154
154
102
154
155
155
156
156
160
108
108
109
161
110
162
112
112
113
114
114
168
168
167
167
169
118
120
122
122
175
175
177
126
128
183
131
187
135
136
137
137
138
138
192
192
193
142
143
144
144
145
145
145
146
199
199
199
147
147
96
97
98
151
151
155
155
155
155
156
156
156
106
107
108
111
111
110
109
163
111
165
165
166
167
167
167
115
115
115
115
115
167
116
116
168
168
168
168
168
170
118
118
118
118
118
118
118
170
118
118
118
118
118
170
118
117
117
168
168
168
117
170
171
171
172
121
173
172
172
172
172
120
120
122
174
122
175
175
124
176
178
178
127
128
129
129
130
183
182
129
128
126
125
124
124
176
176
177
125
177
178
177
178
127
128
128
182
187
183
139
191
190
147
202
150
155
145
201
147
108
43
57
139
98
65
61
3
4
0
65
191
197
178
37
14
0
71
62
3
9
11
73
67
65
61
0
158
201
148
88
14
47
17
0
42
26
0
39
0
45
202
181
18
0
54
0
0
46
0
0
196
232
212
220
214
178
153
175
162
213
210
157
207
206
153
149
143
194
194
193
192
138
189
187
184
182
128
128
126
175
169
115
166
167
113
112
111
162
161
161
160
106
106
159
159
158
106
157
157
105
104
156
105
105
106
106
106
106
157
156
104
103
102
102
102
102
102
154
154
154
155
103
103
156
104
157
157
160
108
109
109
109
161
162
164
164
113
114
114
168
168
168
116
169
118
120
173
173
124
124
125
126
128
182
182
186
186
135
136
190
191
191
140
192
193
142
143
144
144
146
146
198
198
146
198
198
146
95
95
97
98
150
151
103
155
155
155
155
155
156
105
106
108
110
110
110
161
111
111
165
165
166
167
167
167
167
115
115
115
115
115
116
116
116
116
168
116
116
118
118
118
118
118
170
170
118
118
118
170
118
118
118
117
169
117
116
116
116
168
169
169
170
171
172
172
121
120
172
172
172
172
172
174
174
122
174
175
175
175
177
126
126
127
128
128
182
181
129
180
179
126
125
123
122
122
123
123
123
176
176
125
126
179
179
128
129
135
134
135
191
195
195
194
147
146
155
165
65
89
0
26
51
89
5
52
44
11
202
222
255
187
129
15
12
71
0
39
18
45
49
52
67
104
30
22
78
164
125
73
8
54
0
0
42
40
0
0
0
29
92
114
29
2
38
0
0
0
0
30
0
60
162
174
166
224
206
163
162
213
210
157
155
154
205
202
143
142
193
193
191
138
189
187
184
182
129
128
126
177
170
117
116
167
166
112
111
163
110
161
160
107
106
107
107
106
106
105
105
105
105
157
105
106
106
106
107
106
158
157
104
103
103
154
154
102
154
154
154
154
155
103
103
156
104
157
157
108
108
160
109
109
162
162
164
164
165
114
114
168
168
168
168
169
170
120
121
121
175
124
125
126
127
129
130
185
186
135
136
189
190
139
140
140
193
194
143
144
144
198
198
198
198
198
198
198
94
94
147
148
97
150
150
102
102
102
102
154
155
155
105
106
107
109
109
161
160
111
111
165
113
166
167
167
167
167
167
167
167
167
167
116
168
168
168
168
116
116
117
117
169
169
117
169
169
117
117
117
117
117
117
117
117
116
116
116
115
167
167
168
169
169
170
171
120
120
120
172
172
172
172
172
173
121
121
122
174
122
123
125
125
125
177
179
127
179
178
126
178
125
124
124
123
121
121
121
122
174
175
175
124
177
178
179
127
128
134
138
184
189
194
194
199
141
108
134
64
67
100
47
51
82
0
80
50
29
218
228
229
255
83
5
11
0
0
21
35
18
26
62
65
53
73
116
62
94
189
114
58
5
55
0
0
0
0
0
13
0
29
65
0
0
13
52
48
42
0
0
52
0
0
0
179
219
169
178
153
214
213
158
157
155
206
205
203
144
142
141
192
190
137
189
135
133
131
129
128
127
126
170
169
117
168
115
113
112
111
111
110
109
107
107
107
107
106
106
105
105
105
157
158
158
158
159
159
107
107
158
158
157
104
103
154
154
154
154
154
154
154
103
103
103
156
156
157
157
159
159
160
109
109
110
163
164
164
113
114
166
168
168
168
168
169
170
120
121
121
123
123
176
125
126
128
181
185
185
186
187
189
137
190
192
192
193
194
143
144
144
198
146
146
146
198
198
146
145
94
94
148
149
149
150
101
102
154
102
154
154
154
104
105
107
109
109
109
159
163
111
113
113
166
167
167
167
167
115
115
115
115
115
116
116
168
168
168
168
116
116
168
168
168
168
168
116
116
116
116
116
168
168
168
116
116
116
115
115
167
166
168
168
169
170
171
171
120
120
120
120
120
172
172
172
173
121
121
174
122
122
125
125
125
178
126
178
126
177
177
125
124
176
175
123
121
121
121
122
122
123
123
123
125
178
178
126
128
134
190
184
190
142
141
139
112
31
68
77
30
1
5
53
50
0
58
43
175
229
229
255
195
82
14
0
16
0
49
0
21
33
35
63
43
47
59
84
40
138
106
90
60
0
0
14
7
0
0
0
0
2
56
0
0
0
0
1
0
0
0
0
0
44
36
243
172
162
224
159
162
213
210
157
155
154
205
203
144
143
141
140
190
188
189
135
133
131
129
180
179
126
120
170
169
116
115
165
112
112
111
110
109
108
107
159
159
106
106
105
105
105
106
158
158
159
159
159
160
159
159
158
157
104
104
102
154
154
154
154
154
102
103
103
103
104
104
105
105
158
159
159
108
110
111
112
112
164
113
114
166
168
168
168
168
169
170
120
121
121
122
123
124
125
126
180
181
184
185
186
187
188
189
190
192
192
193
194
143
144
196
198
198
146
146
198
198
146
93
93
94
95
96
97
149
153
153
101
101
154
154
154
104
105
106
109
109
108
159
163
111
113
165
166
167
167
167
115
115
115
115
115
115
116
116
168
168
168
168
168
116
168
168
168
168
168
116
116
168
168
168
168
168
116
116
116
115
115
114
114
166
167
168
169
169
170
171
119
120
120
120
120
120
120
172
172
120
121
173
122
122
176
176
177
125
177
177
125
124
123
123
123
175
175
175
174
174
122
123
123
123
124
123
124
177
178
126
128
133
187
187
142
142
140
104
35
25
0
42
91
28
0
4
0
15
187
255
255
197
207
255
188
45
48
30
0
20
0
51
52
50
17
5
57
42
76
43
53
16
70
125
136
69
47
28
30
45
33
0
0
0
0
0
0
0
0
0
0
51
32
26
54
44
74
29
46
163
163
171
162
213
210
209
207
154
205
204
145
143
141
139
189
187
137
135
133
183
181
180
179
126
120
170
170
117
115
166
113
112
163
163
162
160
160
159
159
106
106
105
105
157
106
158
159
159
160
160
160
108
159
158
106
105
104
102
154
154
154
154
154
154
103
103
103
104
104
105
105
157
158
159
160
110
111
113
112
164
165
166
166
116
116
168
168
169
170
120
121
121
122
122
123
124
126
180
180
184
184
185
186
188
189
189
192
140
141
194
143
144
196
198
146
146
146
198
198
146
145
93
94
94
95
96
96
98
99
100
102
103
154
154
156
156
157
160
108
161
161
111
163
165
113
114
167
167
167
167
167
167
167
115
115
168
168
168
168
168
168
168
168
116
168
168
168
168
116
116
168
168
168
168
168
116
116
116
115
115
114
114
114
114
115
167
168
117
118
118
119
119
120
172
120
121
121
121
173
174
174
122
123
176
176
175
176
124
123
175
122
122
123
175
175
175
175
176
175
120
120
120
122
126
127
177
122
123
178
130
137
195
178
146
150
210
61
15
0
50
72
0
67
35
2
229
229
229
255
255
237
255
146
68
12
58
60
0
6
19
6
73
54
44
52
32
54
16
45
66
0
35
33
60
95
58
26
58
48
0
0
51
60
7
0
0
0
0
0
41
39
41
48
56
44
38
16
0
15
182
229
162
215
209
216
207
201
163
203
146
142
139
137
188
188
136
186
183
181
180
178
177
125
120
171
169
168
116
116
166
165
165
164
163
162
162
159
106
158
158
158
158
158
160
160
161
161
162
162
161
109
159
107
106
105
104
105
105
105
156
156
154
154
155
104
104
157
106
107
108
159
159
160
161
111
112
113
112
112
165
165
165
166
166
168
168
169
170
120
122
122
122
174
175
124
126
180
180
183
183
132
133
188
188
137
138
139
192
192
140
193
195
142
143
144
197
196
195
194
92
145
145
94
95
95
148
98
99
152
103
103
154
154
156
157
158
160
109
109
110
111
163
165
113
114
115
115
167
167
167
167
167
167
167
168
168
168
168
168
168
168
168
168
116
116
116
116
116
116
168
168
168
168
116
116
116
116
115
115
114
114
114
114
114
115
116
117
117
118
119
119
171
172
120
172
121
121
173
173
174
122
174
175
175
175
175
123
123
122
173
121
174
175
175
175
175
176
123
122
174
174
175
176
177
123
123
125
181
185
141
194
159
142
183
145
223
113
0
0
41
4
81
39
205
229
221
229
219
212
183
190
216
123
64
50
2
45
22
26
4
74
77
64
68
44
29
17
53
31
85
74
43
72
111
54
43
31
37
0
0
0
30
58
11
4
0
3
60
58
49
41
40
43
50
0
0
48
0
0
213
175
153
213
211
209
160
154
202
197
142
139
137
136
135
136
186
183
130
128
178
176
124
120
171
169
168
168
116
114
166
165
164
163
111
110
160
159
159
159
159
159
107
108
160
161
161
162
162
161
161
107
107
106
105
105
105
105
105
104
104
155
155
105
105
105
158
159
108
109
160
161
162
163
112
113
114
164
113
165
165
166
166
166
168
168
169
118
119
121
173
173
174
175
124
177
179
180
182
131
131
133
135
136
136
137
139
191
139
139
193
194
194
195
196
197
196
195
142
92
92
145
146
94
95
95
96
150
152
103
103
155
155
105
106
158
161
162
111
110
111
111
165
165
114
115
115
115
167
167
115
167
167
167
168
116
168
168
168
116
116
168
168
168
116
116
116
116
168
168
168
168
168
116
116
116
116
167
167
166
114
114
165
114
114
115
116
117
169
170
118
171
171
119
172
172
120
120
173
121
121
174
175
174
174
122
121
173
121
119
120
172
174
174
175
175
174
124
125
179
179
179
175
175
124
126
182
188
193
198
196
88
64
7
60
0
33
124
11
18
57
0
217
218
217
229
208
228
222
156
209
62
88
87
9
22
77
74
87
59
55
68
40
45
45
0
0
11
16
0
75
90
18
174
190
38
21
0
0
0
0
6
50
38
0
0
12
68
0
0
36
40
43
0
0
55
0
0
51
39
118
173
138
164
162
187
209
149
144
142
139
137
136
136
187
185
183
129
179
177
177
122
120
120
171
170
168
116
115
166
166
165
164
111
111
111
161
161
160
160
107
107
108
160
161
161
162
162
160
108
108
107
107
159
107
107
107
107
106
106
158
158
160
160
161
161
162
111
164
163
164
164
165
114
114
115
113
113
114
166
166
167
167
116
168
169
117
118
119
120
121
121
174
175
176
178
179
180
129
130
131
133
186
187
187
189
191
139
138
191
193
193
194
195
196
195
194
193
91
91
92
94
94
95
94
96
149
99
103
104
156
156
158
106
159
110
111
112
112
164
111
113
113
114
115
115
115
167
167
167
167
167
167
168
116
168
168
168
116
116
116
116
168
116
116
116
168
168
168
168
168
168
168
116
116
168
167
167
166
114
114
112
113
114
115
115
116
168
118
119
171
119
120
172
172
120
121
173
121
122
174
121
173
173
172
172
172
171
118
118
119
120
121
121
174
176
177
180
182
184
130
127
180
183
187
139
140
192
189
255
152
117
84
15
13
0
0
22
39
196
229
223
219
229
199
195
204
184
124
209
114
89
58
0
41
73
51
59
60
38
65
75
44
50
0
8
0
23
0
74
92
17
45
88
35
47
0
0
0
7
63
43
34
39
4
13
75
74
14
62
54
46
12
0
7
0
0
70
0
0
55
156
140
147
220
194
148
144
141
139
137
135
187
186
184
182
180
178
177
124
172
173
121
120
118
169
168
116
115
166
113
165
164
112
113
111
162
161
160
108
108
108
160
161
161
162
162
108
108
108
108
108
108
108
109
109
109
110
162
163
163
162
163
111
164
164
113
114
165
165
165
165
114
114
114
114
114
114
115
167
168
168
116
168
169
117
117
118
118
172
120
121
122
124
178
178
128
129
181
130
132
185
185
134
188
189
190
137
139
140
140
140
193
194
193
192
192
91
91
92
93
94
147
147
147
97
99
103
104
104
104
158
158
159
110
111
112
164
164
164
165
113
166
167
115
115
167
167
167
167
167
167
116
116
116
168
168
116
116
168
168
168
116
168
168
168
168
116
116
116
116
116
116
168
168
167
167
166
114
166
164
113
114
114
115
116
168
170
170
119
119
172
172
172
172
120
121
121
122
122
121
121
173
172
172
171
171
169
118
119
119
120
121
174
175
178
180
182
183
182
128
184
187
193
142
141
137
180
145
193
121
111
23
104
71
5
26
181
229
255
196
215
201
229
214
204
139
106
60
45
73
5
0
50
51
5
0
68
48
69
78
50
74
75
46
4
61
7
10
92
13
97
154
44
60
0
0
0
57
75
10
46
44
58
71
23
5
0
0
49
45
36
46
0
0
59
0
2
0
36
147
175
211
183
156
146
144
193
190
136
188
188
186
132
130
180
178
125
124
171
173
121
120
119
169
168
116
167
166
166
113
164
164
113
111
111
162
161
108
108
108
108
161
161
162
109
108
108
108
108
108
108
160
110
162
162
163
163
112
112
163
163
164
112
113
113
114
113
165
165
165
113
114
114
114
114
166
167
167
168
116
168
168
169
117
117
117
118
120
172
173
122
176
178
126
128
128
181
182
132
133
133
134
135
189
189
189
190
192
139
140
193
193
193
192
191
143
91
92
93
94
95
147
150
150
99
102
103
156
157
105
157
158
109
110
111
163
164
164
166
165
166
115
115
117
117
116
116
115
167
115
116
168
168
168
168
168
168
167
167
167
115
167
167
115
115
115
115
115
115
115
115
166
166
114
114
166
166
166
166
167
167
115
116
116
116
171
171
172
120
173
173
173
173
120
120
120
119
171
170
170
170
118
170
170
170
171
172
121
122
121
121
176
178
179
180
128
128
180
188
177
221
199
141
131
171
79
69
111
100
1
11
43
0
68
247
229
211
255
243
255
255
206
188
182
141
16
0
0
61
5
0
0
5
6
1
34
29
48
37
55
64
8
0
33
59
34
0
16
56
54
43
193
103
0
0
0
0
42
52
0
0
13
64
81
25
6
0
0
49
64
52
0
0
26
0
26
44
51
86
109
202
199
150
150
195
188
188
137
134
188
186
132
129
179
124
124
122
119
119
118
118
117
117
170
170
169
168
166
165
164
164
164
111
110
110
161
161
161
161
109
107
107
108
108
109
109
162
162
163
164
165
165
165
164
164
112
111
163
162
162
162
163
112
113
114
114
166
166
114
166
166
166
115
115
167
168
168
169
169
168
168
116
117
117
118
118
119
119
120
172
173
175
123
124
178
180
181
130
133
133
133
133
134
187
188
189
137
139
191
138
138
189
189
189
91
91
92
93
94
95
95
97
150
151
102
103
156
104
106
158
107
109
162
163
163
164
164
166
166
167
168
116
116
116
116
116
168
168
116
116
116
168
168
168
168
168
167
167
167
167
167
115
115
116
116
116
116
116
116
116
167
167
115
115
115
115
167
167
167
168
168
116
117
117
171
171
172
172
173
173
172
172
172
119
119
119
170
170
170
170
170
118
169
169
170
120
122
123
123
123
127
181
182
183
183
184
185
140
144
126
194
204
157
76
174
94
98
80
175
86
86
176
229
216
255
255
255
255
245
216
180
229
237
83
42
0
0
0
0
4
0
0
0
0
85
54
47
0
77
27
0
21
85
0
54
100
21
38
111
13
80
109
77
41
39
36
40
55
0
1
7
108
22
57
66
62
8
66
0
4
0
7
45
28
41
32
0
0
14
48
140
164
195
140
143
197
137
133
192
186
184
128
126
125
175
121
119
119
118
118
170
118
170
169
168
167
115
166
165
165
164
111
111
111
163
163
163
160
107
107
107
107
108
164
164
165
165
165
165
166
164
164
164
163
111
111
162
160
161
161
161
162
110
111
112
112
164
164
113
165
165
165
114
114
166
167
167
167
167
167
116
168
168
169
169
118
170
171
172
173
174
122
174
176
126
127
179
129
131
130
130
131
131
133
134
134
189
136
136
136
135
187
187
144
92
92
93
94
95
95
97
97
98
102
103
155
156
158
106
107
109
110
163
163
164
164
114
166
167
168
116
116
116
168
168
168
168
116
116
168
168
168
168
168
168
167
167
167
167
115
115
115
116
116
116
168
168
116
168
167
167
115
115
115
115
167
167
116
116
116
117
117
117
171
171
172
120
173
173
172
172
171
171
171
170
118
170
170
170
118
118
170
169
170
120
122
123
124
177
129
125
181
184
187
187
187
136
137
150
194
178
117
41
213
142
96
82
69
65
201
229
255
255
205
197
255
252
255
248
213
216
197
57
0
0
4
0
0
43
0
0
0
34
24
11
20
17
10
8
0
42
110
27
62
49
118
68
0
59
58
82
84
156
51
32
50
32
27
12
89
128
32
3
69
65
3
1
0
7
17
52
46
0
26
33
28
0
2
93
166
217
199
139
139
196
191
186
191
186
183
180
126
124
175
173
120
119
118
171
170
170
170
169
168
167
115
114
113
165
164
163
163
111
163
163
163
161
109
108
108
109
109
165
166
166
165
165
114
114
164
164
111
111
111
110
161
160
160
160
160
161
109
109
110
162
163
111
112
112
165
165
113
113
113
166
114
167
167
167
167
116
168
169
169
170
170
171
171
172
174
174
122
124
125
178
178
128
130
181
181
129
130
132
132
133
187
187
135
135
134
134
185
92
92
93
93
94
95
95
96
149
150
101
102
156
156
106
106
107
110
111
111
163
164
164
166
166
167
116
116
115
167
168
168
169
169
169
168
116
116
168
168
168
116
117
117
169
169
169
169
117
117
117
117
117
117
169
169
168
168
116
116
116
116
168
168
116
117
117
117
118
118
171
171
172
172
173
173
119
119
171
170
170
118
117
169
169
169
117
117
169
168
169
119
122
124
125
126
183
183
133
133
135
187
189
138
103
23
139
73
25
17
3
54
181
110
56
161
228
222
210
253
255
227
255
243
167
188
231
235
47
0
0
0
0
44
50
46
51
54
0
0
0
0
0
56
22
87
43
62
123
0
80
39
52
99
123
25
45
62
183
90
157
112
43
12
54
0
0
0
7
57
4
10
13
9
82
63
0
30
0
2
37
45
36
0
0
0
72
109
176
198
186
183
188
189
189
133
131
179
177
176
174
120
120
119
171
171
118
170
170
168
167
167
115
115
114
114
112
111
112
112
113
113
113
166
165
112
112
113
166
167
115
114
165
165
113
113
111
111
111
110
110
109
160
159
107
158
158
158
106
106
108
108
161
162
111
112
112
111
111
112
164
112
113
113
166
114
115
115
167
168
168
169
169
170
171
172
173
173
175
124
178
178
177
127
129
129
181
129
129
131
131
184
185
185
185
185
132
131
131
92
92
93
146
147
148
148
151
151
151
101
102
104
157
108
109
162
112
112
164
113
164
164
165
165
166
115
115
116
168
169
169
170
170
170
171
119
119
171
171
170
118
118
119
120
172
173
173
173
119
119
118
118
117
169
169
170
170
117
117
116
168
168
169
117
118
118
119
119
171
172
172
172
172
172
120
119
119
119
119
119
119
119
170
170
120
120
119
170
169
171
120
123
126
182
184
186
175
133
139
184
186
150
83
115
82
86
136
76
15
0
12
0
83
222
255
229
211
213
206
199
212
228
255
255
183
154
34
8
0
84
0
52
48
26
41
41
0
0
41
38
24
0
27
0
120
26
36
67
36
98
118
41
51
83
101
68
71
50
46
94
163
204
0
0
28
48
72
51
44
12
86
18
41
15
0
5
59
43
50
74
17
6
0
32
0
0
0
123
181
200
186
179
140
198
184
180
125
175
173
173
121
119
118
118
118
117
116
168
167
115
114
166
164
112
112
112
112
112
112
112
112
113
116
117
117
169
170
169
119
118
170
169
168
115
114
113
113
164
111
111
110
109
109
109
160
159
107
106
157
105
105
106
159
161
110
112
112
164
163
111
111
111
163
113
113
113
113
113
113
113
164
113
166
167
169
171
171
120
121
174
175
178
127
128
125
177
178
127
129
129
130
130
182
182
181
128
128
128
92
92
145
146
147
148
148
151
151
151
152
102
104
157
108
108
109
111
164
164
113
164
164
165
165
166
115
167
168
168
117
117
118
118
118
119
119
119
119
118
118
118
171
172
172
120
121
173
173
171
171
118
118
118
169
169
118
118
117
117
117
168
168
117
169
170
170
119
119
119
172
172
172
172
120
120
119
119
171
119
119
119
119
169
170
171
120
119
118
117
119
120
175
127
130
184
186
139
132
175
182
150
153
163
93
1
42
0
75
61
5
0
149
204
229
255
255
229
202
207
193
199
227
210
215
190
110
84
13
0
0
0
26
43
50
73
49
0
0
0
0
13
18
58
45
0
0
105
125
64
96
28
12
68
75
85
72
82
63
53
137
52
76
155
0
46
34
56
59
89
56
98
97
58
10
0
0
0
42
39
0
0
52
0
34
29
0
4
0
136
160
171
143
145
172
183
179
125
175
121
121
121
119
170
118
118
117
116
168
115
115
114
166
164
164
112
113
112
112
112
113
113
165
117
169
170
170
170
118
119
171
170
169
168
115
115
113
113
164
164
163
162
109
109
109
160
159
159
106
157
156
105
158
159
160
162
111
112
112
112
112
112
111
111
112
112
112
112
112
112
112
112
164
113
114
116
170
170
120
120
173
174
125
126
178
176
125
125
126
180
180
181
129
129
180
180
179
179
179
92
92
93
146
147
148
148
150
150
150
152
101
103
104
106
107
108
163
164
164
113
112
112
165
165
166
167
167
169
169
118
118
118
119
119
118
118
119
119
119
119
120
173
173
174
174
122
122
174
172
171
171
119
170
170
118
119
118
118
118
169
169
169
169
169
170
170
119
119
119
172
172
172
172
120
120
120
172
172
172
172
120
120
170
170
170
118
118
118
118
122
175
178
129
131
132
133
134
190
198
199
147
145
106
64
159
165
69
16
0
0
199
229
229
255
255
248
190
178
217
255
255
249
167
136
149
22
0
0
0
11
0
0
0
0
39
44
1
4
0
31
41
0
5
0
19
76
33
3
41
59
22
10
59
104
68
8
53
56
44
82
110
197
97
165
4
0
4
36
79
71
81
49
0
0
0
61
5
0
35
44
0
49
60
8
53
49
48
0
54
154
121
132
136
180
182
178
124
174
121
121
121
119
119
170
118
117
168
168
115
115
114
166
164
164
112
113
113
113
114
115
115
115
171
171
171
171
119
119
172
172
171
171
170
118
117
114
114
113
164
163
163
110
109
109
160
159
159
158
157
156
156
157
158
159
160
109
111
163
164
164
164
113
113
163
111
111
111
111
111
111
110
163
111
112
113
115
167
117
117
118
119
120
173
173
174
122
122
123
176
176
176
123
123
175
175
174
174
173
92
92
93
146
147
148
148
97
97
149
151
153
155
104
104
105
107
162
164
114
113
112
164
166
113
114
167
167
170
118
118
119
171
171
120
119
119
120
121
122
174
175
176
176
175
123
123
122
174
173
172
172
119
119
171
119
119
119
119
118
170
118
170
169
169
118
170
119
119
119
172
172
172
172
172
172
121
173
173
173
121
121
173
171
171
118
119
119
173
174
125
127
129
131
183
184
132
126
115
189
214
130
143
251
198
131
233
122
29
35
178
229
229
255
216
203
255
253
211
201
248
232
134
121
90
2
0
37
0
0
0
0
0
3
0
0
0
10
0
0
55
54
30
35
57
45
20
91
109
39
49
0
92
83
28
11
15
29
0
115
221
68
155
218
127
83
0
0
63
55
0
0
59
41
45
0
41
6
24
62
29
61
0
0
10
65
3
0
2
24
100
138
188
125
171
180
177
123
122
122
122
122
120
171
118
118
168
167
167
115
115
114
166
164
164
164
114
114
115
116
117
170
170
171
170
171
171
172
120
119
119
171
171
171
171
170
167
114
114
113
164
111
111
161
161
160
159
159
106
105
156
156
104
105
157
158
106
161
161
162
110
111
112
165
164
164
112
164
112
112
112
162
162
163
163
112
113
113
115
115
116
116
117
169
170
171
171
171
171
119
119
119
171
119
119
118
170
169
169
92
92
145
146
147
148
96
97
97
149
151
152
154
155
156
105
106
162
112
114
165
164
164
114
114
114
167
167
118
118
119
171
171
172
120
120
120
122
123
123
176
176
177
176
124
124
123
175
175
173
172
120
120
119
119
119
120
119
171
171
170
170
170
169
117
118
170
119
119
171
172
172
120
120
172
172
173
121
173
121
121
173
173
120
172
119
119
120
174
175
179
128
130
130
183
184
183
195
132
140
186
185
218
12
118
142
116
179
80
0
217
255
255
218
252
212
207
192
211
255
251
176
99
0
51
16
0
84
77
4
68
33
45
52
39
0
2
17
1
0
21
58
4
25
73
36
0
0
26
29
66
62
15
0
13
17
13
40
114
229
218
222
201
102
134
55
0
0
0
0
50
79
82
34
47
54
33
50
78
74
48
40
49
63
5
1
4
12
50
0
0
87
154
192
183
179
124
123
121
122
122
122
172
171
118
117
168
167
115
115
115
114
114
164
164
164
114
114
115
168
170
171
171
170
118
118
171
171
119
118
118
170
171
170
118
170
167
167
114
113
112
112
111
161
161
108
159
107
106
105
103
104
104
104
156
105
157
160
160
108
109
110
112
112
164
164
164
164
112
112
164
163
163
163
111
112
112
112
116
116
116
169
169
170
170
171
171
171
171
118
118
118
171
119
119
118
169
169
169
94
146
146
147
148
148
96
97
97
150
151
152
153
153
155
156
105
109
111
165
166
167
115
116
116
116
169
116
119
119
171
171
171
119
119
120
121
177
178
178
178
177
124
124
123
123
174
174
174
175
175
122
122
121
121
121
121
121
172
172
171
171
171
119
171
171
171
171
119
119
118
118
119
119
172
172
171
171
171
172
120
120
120
122
174
175
175
176
178
178
181
135
132
180
185
179
189
181
188
121
219
109
0
79
19
0
0
164
35
40
216
221
226
229
233
244
225
192
101
70
26
26
0
58
10
30
71
50
80
83
76
66
61
0
54
73
0
9
0
11
0
34
69
2
19
65
102
32
73
8
12
14
4
24
0
73
139
219
217
229
197
226
255
81
47
0
1
0
0
58
73
63
53
0
4
49
37
26
29
0
35
49
46
2
9
15
78
89
80
44
0
53
48
50
98
165
179
177
123
121
172
171
173
120
118
170
169
116
116
167
166
166
166
113
114
115
169
168
169
169
170
170
170
170
171
172
120
120
119
119
171
170
170
170
118
118
116
168
169
169
116
114
113
163
111
110
109
159
158
105
105
105
105
104
104
103
155
155
104
105
106
108
110
163
165
165
165
113
165
166
114
165
165
165
165
166
114
114
166
114
114
115
168
169
169
169
117
117
117
117
169
117
114
114
114
114
167
167
167
94
146
146
147
148
148
148
149
97
98
151
152
153
153
155
156
105
108
110
111
164
168
115
116
116
117
169
117
119
119
171
171
120
120
120
121
174
177
178
178
126
177
124
124
176
175
175
175
174
175
175
175
174
174
174
121
121
121
173
172
172
172
171
171
171
171
171
171
119
119
119
119
171
172
172
120
172
173
173
173
122
122
123
123
176
177
178
179
180
181
182
134
132
185
190
189
132
134
189
135
131
186
37
29
62
0
98
52
0
250
255
200
126
219
186
102
44
40
46
57
40
28
35
0
23
28
50
39
50
7
67
51
75
75
56
0
74
43
0
0
0
50
39
59
67
60
59
33
42
28
4
22
27
78
161
255
255
226
209
224
201
255
184
134
32
47
0
17
49
50
0
0
0
31
88
67
2
45
37
36
35
36
40
0
51
51
4
11
0
58
71
47
66
119
139
159
121
120
172
174
174
174
121
121
171
170
169
117
116
168
167
166
166
114
115
116
170
169
169
170
118
118
170
170
171
172
121
120
172
171
171
171
119
171
171
171
118
118
171
171
170
168
115
112
112
111
162
161
159
106
106
106
157
105
105
156
104
103
103
104
105
106
108
160
161
109
110
111
164
114
115
166
166
166
167
115
116
168
169
169
117
168
168
168
116
117
117
117
117
116
168
116
114
114
114
114
166
166
166
146
94
94
147
96
148
148
149
149
150
99
100
101
153
155
156
105
108
109
110
111
167
115
116
168
117
170
118
119
171
172
120
120
120
121
174
175
178
126
126
125
177
177
124
124
124
175
175
123
124
123
175
175
174
174
174
122
121
173
173
172
172
172
171
171
171
171
171
119
119
119
171
172
172
120
121
121
122
122
123
124
124
125
178
178
127
128
181
183
182
133
137
136
133
185
184
131
135
183
152
178
121
43
41
115
128
46
41
11
214
229
255
228
64
0
39
52
37
0
9
0
38
79
49
0
0
37
91
109
41
87
90
78
120
79
26
25
6
81
54
44
0
36
43
51
60
63
23
3
24
14
26
114
165
226
229
198
192
229
224
223
255
241
93
0
0
7
0
0
0
2
40
73
63
14
4
0
0
34
40
39
28
35
0
0
4
12
20
4
0
36
37
0
16
108
136
116
123
174
121
174
174
121
172
171
170
118
117
169
168
115
115
115
114
115
168
170
169
170
170
170
119
171
118
120
121
121
173
172
172
172
120
120
120
172
172
119
120
172
172
171
170
168
114
113
164
163
110
109
107
107
158
106
106
157
157
105
104
104
104
105
158
107
107
107
108
109
162
111
114
114
165
166
166
167
115
117
117
170
170
170
169
168
167
115
117
169
169
168
168
116
115
166
166
166
166
113
113
113
94
94
94
95
96
96
148
149
149
150
99
100
101
101
154
155
156
106
107
108
108
166
167
167
169
118
170
119
119
119
120
121
122
122
174
176
177
179
127
126
125
125
178
125
125
124
176
176
124
125
124
124
123
123
123
123
122
122
122
173
121
173
173
171
171
171
171
171
119
119
120
172
172
173
121
121
123
124
177
178
127
128
129
182
183
184
133
133
186
187
135
139
196
192
134
141
146
123
95
168
158
152
88
83
128
53
58
0
0
224
229
51
0
44
43
0
52
26
0
0
0
0
0
37
33
68
84
88
69
46
45
64
44
97
45
170
67
34
43
0
35
35
40
40
43
48
2
0
62
90
48
14
169
228
228
196
229
214
204
220
222
255
255
209
50
11
0
0
0
38
41
37
47
0
0
72
54
49
55
54
52
40
42
0
0
8
19
23
61
53
0
0
39
32
0
65
128
151
162
168
119
120
122
173
172
119
118
118
169
117
116
115
115
115
168
169
171
170
170
171
119
119
172
171
120
122
122
174
172
173
173
121
121
121
173
173
120
121
121
173
172
171
117
116
115
115
165
164
111
162
160
160
108
107
107
159
158
158
158
158
158
106
105
105
105
106
107
108
109
111
111
162
162
163
112
113
115
115
117
169
169
168
168
168
168
117
117
168
168
166
114
114
164
164
164
163
162
161
109
146
94
94
95
96
96
96
97
149
150
99
100
153
101
102
155
155
157
106
106
159
165
166
167
169
170
171
172
171
171
121
122
122
123
176
177
178
127
127
126
177
177
178
126
125
125
176
176
124
125
125
124
124
123
123
123
175
175
174
174
121
173
121
119
119
171
171
171
171
171
172
120
121
173
174
122
125
125
178
179
129
130
183
185
186
186
188
188
189
190
143
136
191
192
191
144
110
48
92
13
0
62
51
0
70
48
31
21
10
86
0
51
0
4
0
31
29
28
0
0
26
28
33
43
76
0
47
38
45
0
33
49
40
0
54
45
114
146
62
34
31
36
44
31
33
0
0
55
33
11
30
10
133
255
211
222
212
255
255
229
228
227
225
197
201
32
59
39
55
65
60
38
35
34
39
37
6
15
49
0
7
55
53
0
0
57
6
3
41
60
55
0
35
32
43
0
18
49
88
118
130
129
173
173
120
120
171
170
170
170
169
168
168
168
117
117
171
170
171
119
120
120
120
120
121
122
122
173
172
174
174
122
122
122
122
174
120
121
121
121
172
119
117
117
169
168
115
113
164
163
161
161
109
108
160
159
159
161
160
160
159
158
105
105
106
158
159
107
107
107
159
158
158
159
161
162
112
113
114
166
166
167
168
169
169
169
117
168
167
166
165
164
163
162
109
161
159
106
106
144
144
93
96
97
98
98
99
151
151
100
101
101
101
103
155
155
156
104
104
104
110
163
165
167
116
118
170
172
172
173
122
122
123
175
180
179
126
125
176
176
176
125
125
124
124
175
175
123
123
123
122
122
122
121
121
174
174
173
173
172
172
120
120
120
172
172
172
172
172
173
122
122
122
174
176
128
128
181
182
132
185
186
183
182
184
186
192
196
195
197
178
154
192
148
144
92
152
37
62
34
1
17
96
44
26
66
0
67
62
0
0
49
0
0
0
36
30
26
0
27
56
60
0
0
0
0
44
0
0
48
54
58
1
58
50
31
89
165
85
77
47
26
53
0
0
0
27
12
0
15
19
166
255
226
255
255
255
255
229
229
253
221
208
226
33
50
51
43
40
69
48
33
55
66
28
93
39
55
17
35
79
60
55
48
42
0
8
48
5
7
44
38
43
0
0
27
56
83
100
108
163
121
124
170
168
171
173
171
171
120
119
171
169
169
168
170
171
119
119
171
171
120
124
124
124
176
176
124
124
176
124
123
123
174
174
121
173
172
171
171
170
169
116
116
115
114
112
163
161
161
109
109
108
160
159
159
161
161
161
161
161
161
108
107
159
159
160
160
160
108
159
160
160
161
110
112
112
113
165
165
165
113
165
165
166
114
166
166
166
114
114
160
160
107
106
105
104
104
144
145
146
96
97
98
99
99
151
151
152
101
101
101
103
104
156
157
156
156
104
109
162
164
166
168
117
117
117
170
172
174
175
176
177
180
128
127
179
177
177
125
126
126
177
177
176
176
176
125
125
124
124
123
175
175
121
121
121
172
172
172
172
172
120
120
120
120
120
172
119
121
122
122
175
176
129
129
182
183
184
185
133
131
182
132
135
193
196
144
193
191
139
147
195
201
123
13
173
153
52
46
3
0
16
0
31
52
67
9
6
0
48
0
0
0
0
0
35
64
90
83
46
4
0
50
70
82
23
11
0
44
46
0
0
0
0
0
0
125
173
25
0
0
0
6
0
6
4
0
39
47
215
222
251
255
255
255
229
255
255
228
222
255
149
48
76
62
46
38
63
48
37
46
36
58
42
0
31
65
49
0
43
57
50
39
40
0
0
14
9
0
39
0
4
1
0
0
55
78
108
129
104
120
172
167
168
171
173
120
119
170
170
170
117
117
120
171
172
172
173
173
173
124
124
176
176
124
124
176
124
124
123
175
174
174
121
173
172
171
171
170
169
168
168
115
114
113
112
163
162
162
161
161
161
108
108
110
162
162
110
162
162
162
160
160
160
108
108
160
160
158
108
160
161
109
111
111
110
110
162
162
162
162
162
162
162
162
162
162
110
110
160
160
107
106
105
104
104
145
146
146
149
98
99
99
151
151
151
152
153
101
101
104
104
157
157
158
158
105
107
108
163
164
166
167
168
115
116
171
173
174
175
124
126
126
179
179
179
127
127
126
178
177
177
176
176
176
177
176
176
175
175
175
175
121
120
172
172
171
171
171
171
119
120
120
121
121
121
172
122
124
124
177
179
130
131
183
184
185
134
135
184
185
134
138
193
198
145
143
197
145
136
153
210
54
86
15
153
202
146
98
78
34
19
46
53
48
0
0
0
36
39
34
27
0
0
57
114
66
31
33
80
178
190
123
55
0
46
51
48
56
12
20
15
40
41
0
37
8
90
84
0
6
0
0
82
50
38
0
25
162
255
255
255
255
255
227
255
255
229
225
228
56
0
0
56
49
61
65
54
54
54
57
81
55
68
78
22
0
9
0
0
32
28
34
0
0
37
41
27
8
0
0
0
0
37
37
42
55
64
64
100
165
115
116
172
177
122
121
170
118
118
119
119
120
173
173
174
175
175
124
125
125
125
125
125
177
176
176
124
175
175
174
174
121
173
172
119
171
170
169
168
168
115
115
114
113
164
163
163
111
111
162
110
109
111
164
164
112
113
114
114
111
111
111
110
110
161
160
160
108
109
161
110
110
110
108
108
160
160
160
160
160
111
111
111
111
111
111
163
160
160
159
158
105
104
104
145
146
147
149
98
99
100
99
151
151
152
153
101
101
105
105
105
158
158
106
107
107
107
110
164
165
166
167
167
115
118
171
121
122
121
177
177
178
178
178
178
127
126
126
177
177
176
176
124
176
175
175
175
174
174
122
121
121
173
172
172
172
171
169
118
119
119
120
121
173
173
176
125
178
179
181
130
131
183
185
134
135
136
185
134
135
190
142
146
146
134
194
193
189
157
186
74
0
0
90
212
217
149
36
0
1
22
72
0
0
12
0
0
41
36
29
39
48
38
104
0
0
50
193
222
184
145
103
25
8
49
56
0
0
0
0
0
47
51
63
0
54
97
0
37
36
41
60
5
116
142
76
136
255
241
213
255
227
255
255
255
249
255
158
99
50
0
0
0
0
36
29
52
64
0
28
65
58
0
8
20
10
54
53
44
39
38
0
12
25
21
23
16
49
0
3
46
40
38
42
51
60
60
71
104
121
123
124
178
175
121
119
119
171
121
122
173
174
122
175
176
177
125
126
126
126
126
126
178
176
124
124
123
175
174
122
121
121
172
171
119
170
169
168
168
167
115
114
114
165
164
112
164
163
163
163
162
112
112
113
165
114
115
116
113
113
112
112
111
110
162
161
161
109
162
110
110
110
109
161
161
161
109
109
109
111
111
111
111
111
111
163
160
160
159
158
105
104
104
146
146
147
150
99
100
100
99
151
151
152
101
101
153
157
157
105
158
159
107
107
107
107
109
111
164
113
166
167
167
116
116
117
117
118
124
176
176
176
177
177
178
126
126
177
177
176
176
176
174
174
173
173
173
120
120
121
121
172
172
171
119
119
169
118
118
120
120
121
173
175
126
128
179
181
131
131
131
132
133
187
136
137
185
135
137
140
143
144
199
194
199
193
199
133
239
46
22
104
221
138
102
47
0
27
43
24
16
0
0
41
50
0
0
0
0
32
36
121
41
40
0
82
172
133
119
82
118
16
0
0
0
0
0
0
0
0
0
9
48
0
0
112
73
0
0
42
4
166
245
255
194
201
247
255
205
229
229
255
255
255
255
255
244
76
56
73
74
0
2
50
55
15
0
18
30
62
96
34
65
5
53
44
0
0
54
53
48
43
56
43
45
0
36
37
0
38
40
43
45
0
0
37
83
65
85
93
97
152
176
121
119
120
121
123
177
173
174
175
176
177
178
179
126
126
126
126
126
178
176
124
124
123
123
174
122
121
121
120
171
119
118
169
168
116
167
167
115
115
114
113
113
165
164
164
163
111
113
113
166
167
116
117
118
115
115
167
166
165
164
163
163
111
163
163
163
164
163
163
111
163
163
163
111
111
110
110
110
110
110
110
162
160
160
159
158
157
156
104
145
145
146
149
98
151
99
101
101
153
154
103
103
155
158
158
158
159
160
160
108
108
108
110
109
110
111
111
167
167
168
117
117
170
118
117
117
170
171
172
173
173
123
123
175
175
123
123
123
122
121
121
121
120
120
120
172
120
119
119
118
118
118
117
118
119
120
121
174
174
126
127
180
182
132
133
185
186
186
187
188
189
138
134
137
140
143
198
197
197
201
184
191
165
104
119
177
101
78
41
0
97
196
27
0
83
0
58
35
0
0
34
34
38
0
0
0
54
104
14
0
0
104
84
81
80
22
19
0
0
0
14
0
0
0
0
0
0
0
9
9
0
48
88
2
6
12
0
163
254
249
255
235
196
248
255
255
255
255
255
245
253
255
30
73
10
48
44
56
0
0
50
97
93
71
67
70
5
2
60
60
64
55
8
0
0
44
44
37
57
59
13
5
40
39
39
42
47
42
32
30
0
0
35
0
57
79
108
74
176
171
117
123
122
169
174
175
176
177
177
126
178
178
181
129
129
129
128
179
177
177
125
124
124
123
123
172
172
119
119
118
169
168
116
116
116
167
115
115
114
164
164
164
165
165
165
114
115
167
115
116
168
169
169
115
115
115
166
165
164
164
162
110
110
162
162
162
162
162
162
111
111
112
112
165
111
111
111
111
111
111
163
161
160
160
107
105
105
104
145
145
146
97
98
99
151
101
101
101
154
103
103
155
158
158
158
159
160
160
108
108
108
110
162
110
111
111
166
167
168
169
170
170
118
115
115
116
117
118
170
171
173
173
173
121
121
121
121
122
121
121
172
172
172
172
120
119
119
119
119
118
118
169
118
120
121
174
175
176
127
128
181
183
184
134
134
187
187
188
188
137
137
136
138
141
144
196
144
145
185
158
149
147
159
110
199
164
105
81
55
141
102
41
18
17
53
53
50
43
0
53
44
38
38
33
0
20
125
14
0
0
61
75
68
12
2
53
44
0
0
0
0
47
0
0
0
0
51
0
57
0
51
101
5
44
11
0
143
216
249
250
252
201
176
255
255
255
255
255
255
255
233
152
59
5
0
34
31
49
77
50
24
7
34
71
68
6
0
0
50
2
8
10
59
43
34
43
0
57
56
2
0
0
0
0
43
57
55
0
31
38
1
0
0
21
47
118
71
122
179
123
122
173
171
121
176
177
177
125
126
126
179
181
129
130
129
128
179
177
177
125
124
124
123
123
121
172
172
119
118
169
169
116
116
116
116
115
167
166
165
165
113
114
166
166
115
167
167
167
168
168
169
117
116
115
115
114
165
165
165
111
111
111
111
163
111
163
161
161
109
109
110
110
110
110
110
110
110
110
162
162
108
108
159
106
105
104
104
145
145
146
97
98
99
99
101
101
101
102
103
103
103
159
159
159
159
160
160
160
108
108
110
110
111
112
112
114
166
167
168
169
170
170
118
118
118
118
118
118
119
119
171
171
119
119
119
119
121
120
120
172
171
171
171
120
120
119
119
119
119
119
171
172
174
123
176
177
178
130
183
132
185
185
186
137
189
189
189
189
190
138
139
141
144
145
145
144
146
149
131
149
225
152
108
168
201
122
94
170
121
61
84
91
85
109
5
0
30
26
26
39
43
31
32
50
43
103
6
0
0
71
117
104
46
79
52
41
40
0
0
42
43
46
47
47
47
48
2
0
46
93
84
0
1
33
5
205
210
242
229
255
255
172
187
255
255
255
255
208
224
228
167
59
0
15
13
2
1
54
0
8
11
20
6
67
75
65
58
13
17
18
0
0
42
35
49
0
0
44
41
0
0
0
0
44
38
39
45
42
0
0
0
44
0
0
8
15
55
129
146
108
175
181
124
127
179
127
180
179
127
127
182
182
183
182
129
180
177
177
177
176
176
123
123
121
173
120
120
171
170
169
169
117
117
168
168
168
167
167
115
115
115
115
115
167
167
167
167
168
168
117
117
168
168
116
116
115
167
167
166
166
165
113
164
111
111
161
161
109
109
161
161
109
111
111
163
111
111
111
111
160
160
108
107
105
157
156
145
145
146
97
98
99
99
101
101
101
102
103
103
103
159
159
159
160
160
160
160
108
108
110
110
111
112
164
113
165
167
168
116
117
169
119
119
119
118
118
118
118
119
119
171
171
171
171
119
121
121
120
120
120
171
171
171
119
120
119
172
172
120
172
174
176
177
179
180
181
184
133
133
134
135
135
136
188
137
138
139
192
140
143
145
147
147
198
146
148
159
143
73
16
23
73
95
51
0
65
122
201
137
72
105
165
0
49
56
1
0
2
0
42
38
0
50
59
87
36
0
12
99
130
109
130
123
74
46
38
52
0
43
46
49
50
49
0
53
71
52
75
80
69
0
22
16
0
173
229
196
200
255
229
207
212
255
255
255
207
255
225
255
84
3
13
14
0
3
0
21
26
54
50
63
65
56
10
61
60
70
13
10
13
56
52
48
0
41
0
44
39
0
34
0
0
4
48
44
50
59
11
0
0
28
0
44
41
0
47
83
132
110
125
180
122
129
129
129
181
181
180
128
130
183
183
183
182
181
177
177
177
124
176
175
123
122
122
121
172
171
171
170
118
118
169
169
117
168
168
168
168
115
115
114
166
165
167
167
167
168
116
117
117
169
117
117
117
117
169
169
168
168
167
166
165
112
112
112
163
163
111
110
109
161
110
110
110
110
162
110
110
110
162
109
109
159
158
106
145
145
146
149
98
99
99
101
101
101
102
103
103
103
107
107
159
160
160
108
108
108
160
162
162
163
164
112
113
165
167
167
168
117
117
170
170
170
170
168
168
116
119
119
119
171
171
171
171
173
173
120
120
119
119
171
171
171
120
171
172
172
172
172
122
124
177
179
181
182
133
133
134
134
135
136
187
136
137
138
192
192
141
144
146
148
148
199
147
149
161
187
163
50
0
77
197
115
1
121
195
116
49
10
171
159
41
56
38
5
0
0
0
34
51
50
41
58
58
59
0
48
67
128
111
115
64
47
56
38
123
0
0
49
50
48
50
55
59
45
46
87
82
15
0
0
15
23
228
215
203
188
200
163
218
152
255
255
229
203
213
229
218
56
39
0
4
2
2
47
14
25
63
12
57
70
62
62
56
48
1
37
20
0
32
43
12
13
58
0
47
37
0
0
0
0
0
1
0
0
0
68
52
34
31
0
26
29
0
12
72
177
184
177
178
129
181
181
129
181
181
128
128
182
183
131
131
182
181
177
177
125
124
124
175
175
122
122
121
172
172
171
170
170
170
170
117
117
168
168
168
167
167
167
166
165
165
167
167
115
168
168
117
117
117
117
117
117
117
117
169
168
168
167
115
114
112
164
112
112
112
111
162
110
161
161
109
109
109
109
161
161
111
163
162
109
108
107
107
147
147
96
150
150
151
151
101
101
102
103
104
105
105
107
107
159
160
109
109
109
110
162
163
163
164
164
112
113
165
115
167
168
117
117
118
170
171
171
171
172
120
118
118
118
118
170
170
170
170
118
118
118
118
118
170
169
170
170
170
119
119
171
173
176
179
182
185
187
137
138
138
137
138
138
190
138
139
140
194
195
197
198
141
201
207
205
148
147
205
203
219
191
108
37
89
69
109
0
68
0
0
0
55
149
117
55
91
22
4
42
42
38
40
37
27
44
44
9
80
88
5
9
119
126
102
55
51
58
39
58
0
0
52
51
44
52
52
56
47
81
84
81
13
3
25
31
52
227
207
206
237
255
167
177
255
212
228
219
229
153
173
229
2
0
0
0
12
1
22
6
0
55
51
0
0
12
61
51
53
13
5
27
37
73
69
64
53
28
35
39
0
0
47
32
26
0
10
3
0
0
40
49
36
39
0
0
0
0
0
3
61
87
132
152
163
173
121
124
131
184
130
134
182
183
183
130
128
179
178
178
126
125
125
125
176
174
122
121
172
172
171
170
170
118
118
117
169
167
115
167
167
167
166
166
165
113
166
166
113
165
166
116
117
118
119
120
173
121
120
120
172
172
172
171
171
170
170
115
114
114
114
165
165
165
164
164
164
164
164
112
112
163
163
163
162
110
109
161
148
148
97
150
151
152
152
153
101
102
103
104
157
105
107
107
107
108
109
161
161
162
162
163
163
164
164
112
165
165
115
115
116
117
117
169
169
170
170
171
171
171
170
170
170
170
170
170
170
171
119
119
119
119
119
171
117
118
170
171
120
120
173
175
178
181
184
187
137
139
138
190
191
192
192
193
143
143
144
197
198
199
148
145
202
204
203
200
200
207
216
194
121
112
108
85
18
151
122
138
132
17
16
82
217
228
153
23
11
62
40
0
38
39
49
0
0
10
0
33
126
68
45
78
95
0
0
44
47
47
46
52
62
53
45
45
0
0
43
94
83
83
38
15
19
2
89
165
203
242
255
183
194
96
224
246
217
197
229
216
226
219
255
130
8
0
3
7
15
0
4
3
59
78
52
14
5
52
62
68
12
19
10
0
51
46
43
49
64
0
0
0
44
42
29
0
0
3
44
40
0
0
57
59
50
42
0
0
0
39
54
0
59
35
64
155
186
185
183
132
130
179
181
130
130
130
130
129
179
179
179
178
178
178
125
125
122
122
121
172
172
171
170
118
118
118
169
169
115
115
167
167
167
166
166
113
113
167
167
115
114
167
169
118
119
120
121
174
175
123
122
175
175
175
175
174
173
173
121
121
120
119
170
170
169
167
167
167
115
166
166
166
166
114
114
113
112
112
112
96
96
97
99
99
100
152
153
153
102
103
104
157
157
107
107
107
108
161
161
161
162
110
111
111
112
164
164
165
165
115
115
168
169
117
169
169
170
170
170
171
171
170
118
170
170
170
170
170
119
119
119
119
119
119
119
117
170
119
172
173
173
174
177
127
130
185
136
139
139
191
191
140
193
194
195
145
146
145
198
200
201
149
147
201
203
202
200
202
155
216
148
169
51
171
105
127
178
178
218
197
99
115
110
220
228
187
92
53
0
46
49
38
0
0
0
0
1
0
0
47
33
50
47
29
56
8
53
48
50
36
43
49
37
38
49
45
60
82
99
79
92
67
9
29
0
40
194
255
178
210
202
180
85
251
255
221
212
159
202
229
63
171
107
14
0
0
0
14
6
65
58
50
64
58
77
66
54
59
11
6
0
0
10
14
54
48
8
7
0
0
0
0
0
0
0
6
14
6
53
7
12
46
61
4
50
46
0
0
36
0
0
2
15
34
75
169
176
177
181
183
182
185
129
130
130
130
129
180
179
179
179
178
178
126
125
122
122
121
172
120
171
170
118
118
118
169
169
115
115
116
168
168
115
167
166
166
168
115
115
115
116
171
172
120
121
122
176
177
177
124
125
125
125
125
124
124
175
175
174
122
121
171
170
170
168
168
116
115
114
114
114
166
114
114
114
113
113
112
149
149
98
99
100
101
101
153
153
102
103
156
157
157
159
159
159
160
109
109
161
162
110
111
111
112
112
164
165
165
115
115
168
117
117
168
168
169
117
118
118
118
169
117
117
117
169
169
169
119
119
119
119
119
119
119
118
170
171
173
174
175
122
127
129
131
134
137
140
193
192
193
194
195
197
197
148
149
149
202
203
151
152
204
203
149
200
200
205
158
107
131
79
106
147
93
134
80
4
9
60
217
153
105
255
225
170
74
54
40
58
65
60
0
0
42
29
39
8
0
0
31
55
0
12
0
0
0
0
0
52
51
51
58
59
47
75
96
88
73
77
60
59
5
8
68
223
185
199
193
186
195
118
148
255
209
229
255
181
229
199
224
255
68
91
50
0
4
13
45
38
0
54
61
58
56
62
59
55
2
6
49
9
0
0
0
0
14
9
0
0
35
0
0
26
0
85
93
21
51
38
32
45
45
0
0
0
0
33
33
0
0
1
52
0
32
174
188
135
134
184
179
177
128
129
130
130
130
181
180
180
179
179
179
126
126
174
174
121
120
120
171
170
118
118
118
169
169
115
115
116
116
116
115
167
166
166
114
114
115
169
119
125
178
178
179
129
131
184
185
185
134
134
134
134
133
132
184
183
183
130
129
178
177
177
177
176
124
123
121
121
120
120
119
119
119
118
118
117
150
150
151
152
101
102
102
154
154
155
156
157
158
158
159
159
159
160
109
109
109
162
110
111
111
112
112
164
165
113
166
166
167
115
115
167
115
116
116
117
117
169
117
117
117
117
117
169
169
170
118
170
118
118
170
118
119
119
171
173
175
177
125
129
184
135
137
138
191
193
193
194
196
198
199
200
152
152
152
205
205
152
153
207
156
150
198
208
155
151
149
157
72
182
104
67
86
79
3
0
40
103
0
0
255
222
227
122
88
80
0
2
47
19
0
26
0
0
1
33
0
0
14
6
0
4
36
48
0
0
31
0
0
30
26
77
113
67
28
33
14
59
8
3
106
255
253
209
218
183
156
180
218
255
255
229
242
227
229
208
220
68
0
0
88
11
6
1
52
58
59
5
2
1
56
50
55
44
2
14
57
61
51
60
17
15
0
0
0
2
53
32
0
0
0
4
57
52
46
50
64
25
0
3
6
53
0
0
0
0
0
0
0
40
49
5
123
165
129
126
130
134
182
179
127
128
128
181
181
180
180
180
180
179
125
124
121
173
173
120
120
171
171
171
119
119
118
170
116
116
116
116
115
166
166
115
116
117
118
172
175
126
132
185
188
137
137
138
191
192
193
194
141
141
193
192
140
140
190
190
137
187
185
184
183
133
132
131
182
180
179
127
125
125
124
123
121
120
120
150
150
151
152
101
154
154
154
154
155
156
157
158
158
159
159
159
160
161
109
109
110
110
111
111
112
112
164
113
113
114
166
167
167
167
167
167
116
116
117
117
169
169
117
117
117
117
117
169
170
118
118
118
118
170
170
119
119
119
173
175
176
178
182
186
137
138
191
141
143
195
196
198
199
201
202
153
153
153
153
206
154
155
215
168
152
209
202
149
159
210
87
2
109
32
55
122
173
97
50
64
161
190
172
175
224
255
246
42
52
46
33
0
3
78
53
40
47
0
0
0
0
0
25
51
58
83
48
52
52
5
33
64
126
110
72
81
30
6
14
3
13
40
148
206
208
255
229
201
216
173
201
255
255
255
217
245
252
182
143
96
0
23
6
0
0
37
36
42
54
1
51
50
0
12
2
58
55
8
8
44
51
58
0
0
2
0
0
4
14
11
0
0
42
39
47
53
69
81
77
53
0
5
0
0
48
50
0
0
0
32
33
35
0
0
0
58
98
150
176
128
127
180
126
127
127
127
128
180
180
128
128
180
128
178
125
173
173
173
173
172
120
120
171
171
119
119
118
117
116
170
118
117
117
118
119
172
175
177
127
130
133
189
191
193
194
194
195
196
197
145
198
198
145
197
197
144
144
145
144
143
142
192
191
139
136
188
187
134
132
183
182
183
183
182
180
126
125
177
150
150
151
152
101
102
154
102
102
103
156
157
158
158
107
159
159
160
109
109
109
110
110
111
111
112
112
164
113
113
114
114
115
167
167
167
167
168
116
117
117
169
169
169
169
169
117
117
169
170
118
118
118
118
170
170
170
171
119
173
175
177
178
184
136
138
139
141
143
144
197
146
147
201
203
152
154
154
155
207
155
156
156
202
159
147
211
207
160
223
81
87
148
132
45
139
145
157
178
106
83
208
207
62
255
226
255
226
138
29
81
54
0
0
0
0
32
61
51
61
49
47
29
30
64
11
9
74
65
39
74
118
114
90
119
86
69
45
5
0
34
0
74
217
235
225
244
235
206
148
211
255
255
255
255
193
208
255
140
89
110
63
45
34
0
0
0
50
58
11
6
1
49
47
7
1
6
3
4
53
41
5
49
74
75
62
52
80
11
9
1
0
34
42
45
0
0
1
55
53
49
45
54
37
43
50
3
53
0
0
35
37
0
0
0
0
0
74
114
146
169
183
133
126
126
126
127
127
179
127
128
128
128
128
127
125
174
174
173
173
173
172
120
172
172
171
119
119
117
117
170
169
117
118
119
173
123
179
180
129
132
187
140
141
195
196
196
145
146
147
147
148
199
199
199
146
198
198
146
145
145
144
194
193
193
190
138
137
136
134
133
184
185
185
184
182
127
126
126
150
150
151
152
101
102
154
102
102
103
156
157
158
106
107
159
159
108
109
109
109
110
110
111
111
164
164
112
113
113
114
166
115
115
167
167
167
168
168
117
117
117
117
169
169
169
169
169
169
170
118
118
118
118
170
170
169
170
172
173
176
178
179
135
139
141
194
196
145
199
200
149
151
203
205
154
157
157
210
210
159
159
159
204
153
158
209
217
173
185
98
144
125
95
56
164
120
97
77
52
68
61
56
85
227
229
255
255
255
226
99
10
61
42
24
10
0
0
0
13
57
62
21
0
35
0
24
6
29
34
0
65
51
7
18
20
57
58
8
0
87
204
255
244
245
241
213
195
203
220
255
255
255
247
255
255
138
61
99
229
179
17
0
57
45
0
0
0
0
1
0
3
54
49
43
46
0
0
0
46
51
51
46
58
61
57
45
62
45
54
0
43
37
0
0
44
0
0
44
47
48
47
69
7
55
0
0
0
47
0
0
0
0
0
37
33
60
73
24
42
138
170
171
124
124
125
177
177
126
125
125
178
127
127
178
177
175
122
122
174
173
173
173
121
120
120
120
119
118
118
171
171
172
173
175
178
130
133
186
188
190
192
144
145
199
199
148
148
149
150
151
150
202
150
149
149
200
200
147
147
147
146
197
197
197
145
144
195
194
140
139
191
188
135
134
132
180
127
126
150
150
151
152
101
102
154
102
102
103
104
157
106
106
107
107
159
160
161
161
161
110
110
111
163
164
164
112
113
165
114
114
167
115
115
167
167
168
168
169
117
117
118
118
118
170
170
170
170
171
119
119
119
119
119
119
169
170
172
173
176
178
180
137
140
195
196
197
199
200
201
202
151
205
207
208
211
159
160
160
212
213
212
214
198
170
201
219
225
124
136
106
108
130
59
123
121
29
71
171
160
192
123
131
225
255
255
255
163
122
79
84
47
51
20
83
31
0
6
0
0
0
0
0
63
9
45
15
16
16
15
42
84
62
65
59
67
82
106
223
228
255
248
250
255
255
181
211
255
227
255
253
241
255
255
175
255
171
105
0
31
60
41
0
63
50
36
45
0
0
51
57
2
0
0
36
0
0
55
56
11
57
58
56
63
68
44
38
53
3
48
45
0
0
0
30
0
0
0
0
0
53
51
43
44
0
0
0
0
43
0
0
0
38
39
40
0
0
49
64
98
139
164
175
123
124
176
177
125
123
123
176
125
125
177
176
123
123
123
122
174
173
173
121
121
121
120
120
118
170
176
176
178
180
184
135
192
193
194
194
196
147
151
151
204
153
153
206
207
208
209
155
155
155
207
154
154
153
203
203
203
203
202
202
202
148
148
199
198
144
143
142
194
193
140
138
185
132
131
150
150
151
100
101
103
103
103
103
104
157
158
107
107
108
108
160
161
162
162
162
163
111
164
164
165
165
165
113
165
166
114
115
115
115
167
115
168
168
169
169
117
118
118
170
170
170
170
118
171
171
170
118
117
117
117
117
119
119
121
176
180
132
138
194
196
198
199
149
150
203
205
154
208
209
158
159
211
211
211
212
213
214
220
215
219
213
224
229
138
64
40
46
63
101
169
44
85
153
162
149
199
150
130
255
255
229
255
199
81
0
7
75
22
64
99
46
72
13
0
67
64
12
1
0
2
35
85
111
82
89
42
91
9
34
65
136
228
229
227
251
255
255
249
201
173
255
255
255
253
222
255
255
222
214
218
254
159
57
0
0
51
53
43
45
52
57
0
4
0
54
12
7
0
0
0
0
51
49
7
29
44
55
0
62
51
37
43
73
55
51
52
0
0
36
30
0
0
0
0
0
44
45
45
50
52
0
0
0
40
32
32
37
0
0
0
9
0
0
1
25
37
99
161
125
128
117
176
181
175
177
128
128
127
124
123
123
175
175
175
175
123
175
174
175
123
123
122
175
179
180
182
185
188
190
141
141
147
147
200
148
150
153
153
208
156
156
208
208
208
156
157
157
208
208
207
155
155
152
152
203
203
202
202
151
148
148
147
199
198
198
147
144
195
193
191
186
185
185
150
150
151
100
101
103
103
103
104
104
158
159
107
108
108
109
161
162
162
162
162
163
163
164
164
165
165
165
165
113
114
166
115
115
115
115
115
116
116
169
169
169
170
170
170
118
118
170
118
119
170
170
169
169
117
169
169
119
120
121
125
129
133
140
196
198
199
201
202
203
205
206
207
209
159
160
160
159
160
213
214
214
215
165
157
183
224
218
188
161
170
56
116
103
103
85
138
35
37
62
33
47
40
78
255
255
229
255
229
220
41
0
16
84
63
71
77
35
50
27
22
47
83
46
34
45
99
127
147
127
187
191
194
181
255
255
200
197
255
214
255
210
247
248
198
255
255
255
255
253
211
209
255
207
196
255
184
28
41
3
46
52
50
46
5
4
43
41
44
52
0
0
42
0
0
0
0
44
48
46
47
41
0
14
0
41
47
50
44
50
55
10
12
5
49
41
0
41
36
0
0
0
0
0
0
0
0
0
10
0
0
0
38
0
0
47
37
0
0
17
5
3
80
143
154
108
174
176
171
174
121
121
172
121
122
122
121
173
173
173
121
121
173
175
176
125
124
176
178
184
189
139
193
197
199
201
149
154
154
155
207
156
158
159
211
159
159
211
210
158
210
212
160
212
211
211
210
158
157
209
209
208
207
207
156
153
153
205
205
204
203
151
150
201
199
196
190
188
134
150
150
151
100
101
103
103
104
104
105
159
107
108
108
109
161
162
162
163
163
163
163
163
164
164
113
113
165
113
113
114
166
167
115
115
115
115
116
168
169
169
169
170
170
170
118
170
170
118
118
169
169
169
168
168
116
117
119
121
174
127
131
135
142
145
148
202
202
204
206
207
208
210
159
161
214
214
162
162
163
164
217
217
150
167
178
195
164
122
144
143
3
6
35
91
18
89
130
141
109
57
28
48
36
218
220
100
65
59
0
11
27
43
71
62
8
61
42
1
15
15
58
87
30
138
229
196
189
195
221
225
255
255
250
255
255
196
250
195
229
255
209
255
255
226
219
255
255
255
222
212
207
116
194
255
227
0
0
50
57
0
44
41
51
14
8
43
47
45
58
54
42
38
46
41
0
45
48
50
50
52
7
0
0
0
3
63
46
48
3
0
48
0
47
40
45
0
41
39
0
2
0
30
40
0
0
0
0
0
0
34
0
0
34
31
32
49
0
0
36
49
0
0
35
98
113
148
157
153
117
116
170
173
176
177
123
119
171
171
119
118
170
170
170
120
123
124
177
181
188
144
146
201
203
206
207
207
209
157
210
211
159
161
213
213
213
213
161
161
213
213
212
160
160
211
211
210
210
210
210
157
157
208
208
208
155
155
206
206
205
153
153
156
155
153
150
196
194
141
150
150
151
100
101
103
103
104
105
105
107
108
108
109
162
162
110
111
163
163
164
163
163
164
164
165
113
113
113
113
114
114
115
115
167
115
115
116
168
169
169
169
170
170
170
170
170
118
118
117
169
169
168
168
116
115
169
171
121
123
127
132
136
143
146
149
151
151
153
207
208
209
211
161
214
215
215
215
216
216
165
166
219
217
150
196
148
34
139
114
81
49
67
68
80
122
184
119
80
49
58
46
82
92
255
228
163
46
92
99
20
12
4
64
34
17
60
83
55
77
2
45
64
45
166
209
255
221
229
203
206
222
205
244
239
254
255
210
229
253
213
252
250
255
255
255
229
229
255
233
204
216
155
225
255
238
0
20
59
41
38
40
39
0
10
58
47
46
0
0
49
40
0
0
37
44
40
41
40
42
0
0
0
0
0
1
54
45
46
4
0
50
6
60
55
49
52
45
41
0
0
43
0
0
0
0
0
0
0
0
42
40
39
36
33
34
42
0
0
28
35
0
0
50
55
71
53
127
141
106
155
153
154
162
118
123
118
170
118
118
170
169
117
118
172
123
125
180
183
139
147
148
151
205
208
157
210
210
210
211
159
159
161
213
213
213
213
161
161
161
161
160
212
212
211
159
210
210
210
158
157
157
156
208
208
154
155
155
207
206
153
205
209
156
154
152
199
197
196
150
150
99
100
101
155
155
157
105
106
107
108
109
109
162
162
110
111
164
164
112
163
163
164
164
165
113
113
113
113
114
166
167
167
115
115
115
116
116
169
117
169
170
170
170
170
170
118
170
117
117
168
168
167
115
115
170
171
121
124
128
134
137
197
200
150
151
152
155
156
210
211
160
162
214
164
216
216
217
218
167
167
168
215
231
156
89
24
163
87
110
178
93
136
135
157
107
26
32
45
80
136
49
91
225
229
211
53
116
93
51
19
46
58
55
0
17
56
107
34
102
99
49
90
218
182
202
198
209
212
212
255
253
252
200
194
204
220
223
217
197
255
255
255
255
255
244
229
206
255
222
191
113
172
134
0
177
44
52
0
0
0
0
0
45
47
54
46
45
0
0
0
0
0
6
0
41
47
41
0
0
47
66
50
5
2
43
45
0
5
0
0
0
44
36
37
53
47
42
0
5
0
50
0
0
0
0
44
0
5
63
58
42
31
34
45
50
52
0
0
0
2
0
47
53
15
24
39
53
61
120
134
101
117
123
121
170
170
170
118
118
117
116
122
176
180
130
134
139
147
203
204
155
158
159
161
212
160
212
160
160
213
163
163
212
212
212
160
161
161
161
164
216
216
216
215
162
214
213
160
212
160
159
211
210
210
209
157
158
209
157
208
207
206
153
152
150
202
201
98
98
99
101
101
155
155
157
105
106
159
108
109
109
111
111
111
112
113
113
113
113
165
165
165
165
165
165
114
114
167
167
168
168
116
115
115
167
116
116
116
116
117
169
169
169
169
169
117
118
170
169
117
116
116
168
169
171
172
123
128
136
140
199
202
153
154
155
155
156
212
212
161
162
163
164
219
167
168
169
222
222
171
230
172
143
201
152
118
146
111
47
174
143
109
154
145
28
71
69
33
47
18
149
228
71
45
78
22
35
13
55
15
50
57
9
54
29
59
88
110
60
43
140
255
227
220
218
255
255
255
255
255
255
229
198
215
229
202
178
255
255
255
255
246
255
255
233
229
255
203
255
255
210
202
147
84
34
0
8
0
0
0
0
45
49
42
44
43
0
0
40
0
0
0
7
2
0
36
0
18
57
57
56
9
5
0
0
7
6
6
3
60
58
68
55
46
45
44
0
0
0
0
0
2
0
0
40
0
0
46
46
46
39
28
0
40
0
0
0
36
0
0
0
54
64
76
85
96
136
96
112
169
108
155
157
160
106
157
160
112
111
101
141
161
185
197
149
158
144
194
207
161
156
154
215
161
203
203
202
209
223
165
157
155
165
157
152
218
216
221
218
167
164
216
167
163
212
214
162
162
214
161
161
213
158
210
210
157
157
156
209
208
208
155
155
152
151
203
98
99
99
101
154
155
156
157
105
106
159
160
161
109
111
111
111
164
165
113
113
113
113
113
113
165
165
165
114
114
167
167
168
168
116
166
166
167
168
168
169
117
118
117
169
117
117
117
169
170
170
169
169
116
116
168
169
171
172
175
180
188
140
147
151
153
207
207
156
157
212
160
162
163
164
217
167
168
220
221
222
222
222
227
245
145
221
152
135
125
133
141
127
117
73
74
118
101
73
81
67
50
18
160
218
133
91
75
59
71
63
11
11
56
50
1
3
1
55
74
70
29
17
162
255
219
255
255
210
255
255
255
210
216
255
255
194
208
204
241
255
223
174
209
255
255
255
238
223
125
183
224
254
110
239
76
156
33
13
30
43
33
33
0
0
48
46
0
0
0
0
0
0
41
14
5
4
1
0
55
19
20
13
53
7
58
56
61
25
6
0
0
0
36
44
43
43
49
51
0
0
0
0
44
0
0
42
42
46
51
48
42
43
44
41
45
40
48
54
4
50
42
35
13
6
60
68
79
95
118
57
52
111
126
86
88
90
99
102
143
79
135
151
146
139
147
208
200
142
166
169
211
211
170
169
156
161
220
231
224
217
169
155
179
214
210
174
176
208
220
203
220
214
168
173
167
166
216
215
163
162
214
162
162
161
159
211
210
158
157
157
209
208
208
155
154
153
204
152
99
99
152
154
154
156
156
157
105
106
159
160
161
161
163
163
163
164
165
113
113
114
114
114
114
114
166
166
166
114
115
115
116
116
168
166
167
168
169
170
171
171
121
118
117
168
117
118
170
170
170
169
169
116
116
116
118
119
173
175
180
188
140
147
152
155
157
157
159
160
162
163
164
165
166
219
220
220
221
221
170
222
223
177
230
240
195
165
131
16
50
154
163
103
42
157
98
205
144
114
5
10
77
160
229
167
159
113
103
23
58
66
73
62
76
24
34
28
57
73
45
94
25
215
255
255
255
255
210
207
255
229
224
229
255
223
195
203
208
219
202
223
209
108
212
223
254
229
188
44
96
77
18
103
44
29
26
52
2
31
35
36
37
0
0
0
44
0
0
0
0
45
47
49
0
0
58
47
49
54
0
7
8
48
43
39
45
7
0
0
0
0
0
35
35
50
43
43
0
0
0
0
0
0
43
0
54
48
39
0
1
6
62
55
40
33
48
46
44
0
0
0
41
5
1
53
2
12
73
80
39
51
71
145
144
74
42
75
111
177
174
119
113
40
53
86
123
140
148
162
180
235
210
126
144
181
160
134
116
64
124
125
156
253
191
214
155
155
233
212
219
226
215
163
220
214
165
162
163
215
164
165
163
163
162
160
212
212
160
159
211
210
156
156
207
207
153
205
204
152
152
153
154
155
157
157
105
105
106
159
160
109
161
163
163
163
164
165
165
165
115
115
115
115
115
115
167
114
114
115
115
116
116
168
168
168
170
120
173
174
122
124
119
117
116
169
118
119
170
170
169
169
116
116
116
118
172
173
175
181
188
192
147
153
156
158
159
161
162
164
217
218
167
168
169
221
221
221
169
170
171
224
175
175
152
133
176
112
124
81
160
89
116
112
173
44
79
132
47
95
23
56
6
163
153
40
103
84
66
41
18
80
99
48
20
60
81
84
67
21
50
234
199
189
219
255
255
221
255
255
189
223
232
245
209
251
247
229
213
211
255
255
255
198
255
255
129
152
0
17
8
0
0
0
10
52
34
0
47
0
0
33
43
38
0
0
0
0
0
44
46
47
49
68
46
50
51
59
6
0
0
4
83
75
2
38
0
0
0
0
0
0
39
41
0
36
0
0
0
0
1
0
0
48
45
46
46
0
0
0
0
35
40
41
45
0
0
0
0
0
0
8
60
66
10
11
38
44
46
3
0
6
32
94
43
27
100
107
90
74
31
54
115
168
127
200
163
157
68
56
92
101
70
48
58
120
129
137
97
147
73
76
96
183
243
175
134
170
162
228
118
146
145
191
210
161
169
161
214
164
165
215
161
160
214
214
213
161
212
212
212
156
156
207
207
154
154
206
152
152
153
154
155
157
157
105
105
158
159
160
109
109
111
163
163
164
165
165
165
167
167
115
115
115
115
115
114
114
167
167
116
116
116
168
169
119
121
122
123
123
124
171
169
168
169
170
119
170
118
117
117
116
116
116
118
172
173
175
181
188
192
199
153
156
159
159
213
215
164
165
218
220
169
170
221
220
221
222
170
171
172
166
235
181
145
118
157
122
94
135
195
158
134
203
8
183
161
157
194
165
59
0
31
121
54
135
115
59
78
7
32
86
78
77
60
76
13
77
79
43
251
224
225
204
223
255
255
207
255
255
255
252
224
158
235
197
219
255
229
198
255
255
220
255
189
118
72
0
0
0
14
10
0
0
37
38
34
0
31
38
35
42
36
30
39
37
38
42
43
0
44
45
55
0
2
30
0
0
11
75
75
58
0
0
0
2
24
0
0
0
0
36
35
0
0
0
0
39
0
0
0
58
49
38
0
0
49
0
32
26
30
34
0
0
0
0
0
0
0
3
13
66
71
7
4
82
80
52
17
19
76
91
86
23
34
36
86
34
51
74
134
148
170
173
143
65
73
76
135
58
115
144
144
115
94
146
129
96
39
122
159
129
89
107
104
138
132
60
100
25
92
166
157
120
138
172
161
214
164
165
215
160
159
214
214
162
161
212
212
212
156
156
155
207
155
155
206
153
153
102
103
104
157
157
106
106
159
160
161
162
110
111
163
163
164
165
165
165
165
113
114
114
115
115
115
115
167
168
168
117
117
117
169
169
171
120
121
121
122
171
171
170
170
117
169
169
169
117
117
116
116
116
168
168
169
173
177
180
186
142
199
204
207
158
160
163
217
218
167
168
169
221
222
222
171
171
172
173
226
174
246
224
189
196
159
164
167
131
70
44
74
85
89
123
119
205
168
137
52
49
3
72
39
85
129
11
10
28
8
43
70
69
25
48
109
68
65
11
229
255
225
255
207
185
229
208
220
157
213
255
229
215
255
251
229
194
214
229
255
255
183
108
102
86
102
11
48
53
0
0
0
0
0
45
0
0
0
0
43
44
43
39
42
48
46
47
40
38
40
44
48
0
0
50
38
40
53
51
48
9
10
57
49
0
0
0
0
0
0
0
34
0
37
0
0
0
0
47
0
0
58
64
0
0
40
47
43
34
30
0
0
0
0
0
0
0
0
27
29
35
0
0
0
39
41
40
2
0
0
44
43
2
69
61
22
42
50
38
79
80
64
86
101
52
67
85
108
91
57
78
78
119
117
26
53
83
89
71
118
107
42
15
47
76
74
115
62
47
125
95
124
106
60
165
147
122
131
124
100
104
177
207
168
134
113
161
200
210
134
159
215
216
216
149
149
213
101
101
102
155
156
157
157
106
106
159
160
161
162
162
163
163
163
164
165
165
165
113
113
114
114
115
115
115
168
168
169
169
117
118
170
169
169
170
118
119
119
171
171
171
170
170
117
117
169
117
117
116
116
116
116
168
170
171
123
126
181
186
141
200
205
208
211
212
163
165
167
220
220
221
222
223
224
173
173
174
227
176
176
166
223
196
221
229
194
166
167
123
183
164
175
93
148
100
37
91
86
134
131
95
103
97
19
117
122
75
64
52
24
10
25
44
22
26
79
39
47
255
229
237
255
255
255
255
255
239
229
203
255
246
208
158
167
206
226
214
219
251
198
149
74
10
0
0
0
0
37
39
0
0
0
45
50
50
46
0
0
47
48
50
48
46
45
60
53
3
7
0
0
0
0
0
45
41
46
55
54
0
69
0
45
61
61
0
1
0
0
0
42
41
47
42
50
43
0
0
43
47
0
57
7
0
45
49
51
0
0
0
0
0
0
0
0
0
0
50
43
37
40
0
0
26
55
86
87
0
38
52
65
12
9
1
3
5
42
34
15
151
127
114
129
86
76
104
91
125
55
40
105
71
66
68
142
159
88
87
104
152
102
110
106
37
35
51
70
55
29
81
124
83
79
10
88
52
51
37
92
110
50
114
138
93
149
190
249
224
215
232
216
229
234
176
154
198
149
153
101
102
103
104
105
157
158
106
107
108
161
162
162
163
163
163
164
165
165
113
113
113
166
166
115
115
115
168
168
169
169
170
118
118
169
170
170
170
171
171
171
171
119
170
170
117
117
117
117
116
116
168
168
116
168
170
172
125
127
130
186
193
200
152
207
210
212
215
217
167
168
221
222
222
171
174
226
226
227
228
229
177
236
218
174
239
212
192
140
188
114
185
40
164
80
183
55
60
179
177
155
175
48
40
104
23
36
103
48
60
105
77
54
67
39
121
24
101
100
76
215
226
255
255
255
250
255
255
255
255
205
255
242
255
255
198
215
210
198
255
255
196
83
0
0
0
0
0
41
33
40
0
0
0
43
47
48
49
49
48
47
0
5
4
0
39
69
6
0
42
39
0
0
0
0
46
43
0
0
0
0
56
44
58
69
10
0
6
0
0
44
44
43
40
31
39
36
0
0
0
0
40
39
0
37
41
44
40
50
0
0
46
40
33
0
0
35
29
32
34
37
0
0
34
37
49
59
48
54
46
0
2
57
60
0
0
11
26
55
95
103
121
32
28
48
76
70
91
97
59
54
127
101
148
134
126
75
81
147
95
66
46
69
107
126
137
120
40
40
40
51
32
40
16
107
71
49
46
79
140
70
90
83
57
65
126
111
46
50
46
114
100
133
160
179
175
222
207
101
101
102
103
104
105
157
158
106
107
108
109
162
162
163
163
111
164
165
165
113
113
113
166
166
167
167
115
117
117
118
118
170
171
119
120
119
119
171
171
171
171
171
119
118
118
117
117
117
116
116
168
168
168
116
116
120
123
128
129
183
186
192
198
151
154
208
211
213
215
220
169
169
222
223
172
228
228
228
229
230
231
179
177
216
239
191
236
221
131
28
12
98
81
55
169
130
84
129
125
149
127
60
98
35
92
120
79
39
109
66
78
110
103
0
11
43
74
138
250
223
229
182
210
255
255
229
182
187
219
255
254
245
187
255
207
247
255
206
229
194
204
210
0
56
41
41
0
36
38
47
2
2
0
0
0
3
54
2
4
0
7
11
8
8
5
0
0
48
70
59
0
31
0
34
43
37
40
45
0
0
0
0
0
49
51
0
0
7
50
49
41
42
43
33
41
43
44
58
58
0
9
9
5
0
46
2
3
43
50
42
0
0
0
36
0
0
33
0
0
44
33
28
0
0
62
66
57
0
0
0
11
25
80
27
22
55
66
57
107
164
127
115
128
86
95
79
36
45
87
95
108
110
117
139
155
111
44
33
27
73
25
64
56
107
109
110
107
113
127
106
79
54
98
129
88
91
87
47
52
96
89
85
82
37
67
78
112
126
89
34
21
59
67
21
83
92
86
86
102
102
102
103
104
104
104
159
107
107
108
109
161
161
162
110
162
163
112
112
112
112
112
114
166
167
168
168
117
117
118
118
171
171
171
120
120
121
121
122
122
174
173
173
172
120
119
118
118
117
170
171
171
172
173
121
123
125
179
183
133
135
189
196
147
151
152
208
159
162
165
168
171
224
173
226
229
229
229
230
230
231
179
173
232
231
187
217
212
132
73
0
64
142
57
122
51
70
122
56
2
29
35
44
0
35
123
103
38
118
75
46
51
81
136
54
86
97
134
178
219
250
255
255
219
197
255
255
208
255
237
255
204
206
170
255
255
255
255
255
255
254
238
146
5
46
42
41
41
41
0
0
51
52
0
0
0
3
8
4
3
6
72
6
13
17
0
64
50
57
2
0
0
0
40
37
0
36
37
0
0
0
0
26
6
0
54
64
38
40
35
42
0
34
52
48
41
38
35
0
0
42
48
43
0
0
0
27
0
0
0
0
0
0
38
43
30
0
0
0
0
42
27
31
34
46
5
4
46
46
0
8
11
11
68
65
58
47
103
72
59
58
58
87
101
101
120
61
42
91
80
77
96
49
26
25
24
96
100
101
91
29
109
127
123
119
58
50
43
98
119
84
68
110
60
66
54
47
114
94
91
93
87
91
79
88
76
36
108
65
117
99
24
41
41
48
94
70
80
154
154
103
103
104
104
104
159
159
107
108
161
161
161
162
162
162
111
112
112
112
112
112
114
114
167
168
168
169
169
170
170
171
171
171
172
120
121
173
122
122
174
173
173
172
120
119
118
118
117
170
171
172
172
121
121
123
124
179
131
133
135
189
196
198
150
151
155
211
162
165
168
171
224
225
226
229
229
229
230
230
179
231
231
236
240
251
235
197
82
74
4
48
108
93
129
83
117
141
163
59
5
23
114
25
3
56
116
4
43
104
36
29
92
111
89
87
176
255
229
255
201
255
254
216
216
255
255
255
255
255
255
232
247
186
255
255
197
219
255
255
214
238
123
0
0
0
39
38
0
0
48
50
49
0
0
0
0
6
8
50
53
16
5
9
19
63
63
50
53
56
0
0
39
36
33
34
35
36
0
0
0
0
19
0
0
7
74
45
42
37
43
0
0
0
0
38
44
47
0
54
60
49
50
63
0
8
0
2
0
41
44
0
36
0
0
38
0
1
0
0
0
0
34
32
32
36
33
0
0
0
0
34
31
0
0
0
44
47
0
6
74
91
124
145
96
0
0
9
60
59
75
84
37
46
106
127
95
110
63
46
25
79
90
60
46
87
44
62
101
45
56
53
54
61
118
114
59
99
93
52
109
101
62
112
109
92
93
98
35
84
67
79
71
12
12
72
85
99
155
155
155
156
104
157
105
159
159
159
160
161
161
161
110
110
110
111
112
112
112
112
112
114
114
115
168
168
170
170
119
119
171
172
172
121
121
122
174
174
175
175
174
173
120
120
119
119
171
170
171
120
121
122
122
123
175
126
128
131
185
135
135
141
144
147
150
152
156
159
163
167
222
223
172
174
229
229
229
230
178
179
231
229
177
227
226
245
182
183
127
88
67
108
108
41
163
107
155
139
70
29
144
0
62
49
119
165
105
78
92
89
59
46
82
14
255
255
198
223
255
255
228
216
229
229
255
255
255
169
223
141
229
255
251
180
207
198
213
161
159
161
93
0
0
56
39
0
0
0
0
0
0
0
0
3
0
0
5
59
54
0
5
6
53
64
74
62
55
0
1
5
0
37
0
28
32
31
31
0
0
5
0
0
0
1
54
42
42
35
39
49
0
0
0
49
37
0
0
34
41
51
66
28
49
39
0
0
0
33
33
38
0
40
43
0
0
7
9
0
0
0
0
0
44
38
0
0
0
36
0
0
0
41
52
67
54
51
62
17
66
75
100
109
67
35
59
9
60
83
69
58
118
113
128
122
140
128
80
56
21
8
27
42
43
49
54
59
119
78
144
121
69
62
48
90
37
38
91
31
32
90
101
48
87
117
107
104
102
95
100
98
73
16
21
27
77
87
94
156
104
104
157
157
157
158
159
159
159
160
161
161
109
110
110
110
111
112
112
112
112
112
114
114
115
116
168
171
171
119
120
120
172
173
122
174
174
175
175
175
176
174
121
121
120
172
172
172
172
173
122
123
174
175
175
177
127
129
131
133
135
135
140
143
146
149
152
156
158
161
166
169
170
172
175
177
229
229
230
178
179
179
166
232
235
233
192
167
136
52
157
130
141
108
56
100
106
101
42
78
44
20
48
116
41
62
95
116
125
103
82
39
80
103
124
195
255
255
223
255
255
255
220
176
210
173
221
235
193
255
220
181
177
255
198
201
208
183
77
205
225
3
0
0
0
35
36
0
0
0
0
0
3
0
0
51
2
55
50
65
3
1
62
54
50
2
7
5
44
0
0
0
0
0
30
34
0
0
0
0
0
0
0
43
0
0
0
43
39
0
0
43
0
0
28
0
0
0
50
52
56
85
0
15
3
2
0
0
46
44
50
52
0
0
47
0
2
0
0
0
32
34
71
53
36
0
0
0
0
50
59
15
17
22
86
0
62
67
73
96
56
55
101
88
103
121
154
178
85
100
47
58
53
86
47
54
68
76
115
110
66
112
77
74
123
111
100
49
66
130
115
72
74
120
121
66
101
82
88
38
37
102
107
107
55
106
107
57
51
46
46
98
59
50
50
104
87
104
104
104
104
157
157
158
158
159
159
159
160
161
161
109
110
110
110
111
164
164
164
164
112
114
114
167
116
116
171
171
120
120
120
121
121
122
174
175
175
123
176
124
122
121
121
173
172
172
172
173
122
122
174
175
124
176
178
179
130
131
133
135
135
140
195
198
201
204
208
211
213
165
168
170
172
175
177
177
177
178
230
231
179
168
167
172
181
179
193
210
88
91
106
96
57
22
60
55
74
63
53
55
36
24
103
86
72
34
117
122
128
74
54
67
172
226
222
255
255
250
253
255
255
255
211
223
255
255
255
245
196
191
255
192
132
245
255
220
192
147
255
194
1
0
33
0
0
38
0
0
0
0
2
52
49
0
0
0
53
0
1
4
56
62
3
0
52
55
52
0
0
42
42
0
37
28
36
0
33
0
47
43
47
0
0
0
40
48
44
44
49
0
0
38
0
0
33
37
36
0
37
41
42
0
49
39
0
0
0
0
0
50
52
46
0
0
0
0
0
38
41
48
59
60
44
0
0
0
0
71
7
1
51
0
6
20
11
82
80
88
54
85
55
36
34
108
109
103
36
45
74
101
134
73
38
52
120
92
81
109
60
84
118
82
51
106
113
131
102
128
108
33
46
51
97
101
112
99
105
113
113
54
61
110
107
111
59
58
61
102
39
37
83
29
23
81
42
91
101
103
103
103
104
157
105
157
159
159
107
160
161
161
109
110
110
111
111
164
165
165
166
114
116
168
169
170
118
119
119
120
120
121
121
121
173
173
174
122
123
123
123
124
124
175
175
175
175
175
124
123
176
176
125
125
177
180
182
132
132
134
136
189
194
196
198
199
202
154
157
210
163
165
168
169
171
176
177
176
176
229
229
178
174
223
182
185
185
192
200
117
85
28
16
107
6
58
87
120
146
214
51
141
95
76
93
135
68
33
78
98
27
82
118
239
189
255
237
255
240
250
228
229
255
255
190
255
255
205
228
199
229
209
248
255
255
219
214
152
167
109
0
0
0
39
37
0
0
0
0
0
0
41
55
55
47
46
52
0
2
0
61
58
0
0
2
14
0
0
0
45
46
44
40
36
32
0
0
31
0
40
43
42
44
0
0
43
61
46
0
45
0
0
46
33
31
47
27
35
38
34
43
0
43
48
49
46
0
2
0
0
0
47
51
44
40
0
0
0
0
45
42
38
39
0
0
0
0
48
46
6
10
1
48
0
3
5
73
96
117
55
55
89
108
82
85
49
38
25
5
48
102
119
137
89
143
97
73
41
26
33
34
39
47
68
13
83
74
78
96
56
80
55
108
62
99
116
58
56
61
120
45
46
113
63
45
71
54
98
84
42
25
83
37
40
90
42
95
92
103
103
103
104
105
105
105
107
107
107
108
109
161
161
110
111
111
164
165
165
166
114
115
168
169
170
118
119
119
120
120
121
121
121
121
173
174
174
123
123
123
123
124
124
175
175
175
175
175
124
124
124
125
177
177
177
129
131
132
185
187
189
190
193
143
144
197
148
151
154
158
163
217
168
221
224
227
176
228
228
229
229
178
174
225
181
184
238
194
216
138
182
111
128
127
82
135
88
112
157
113
150
85
24
101
106
105
92
118
13
82
88
79
64
57
210
255
214
216
255
255
255
222
199
255
255
255
255
208
212
96
109
220
176
204
255
214
255
229
178
58
0
0
52
30
34
40
42
45
50
1
0
46
45
54
46
47
60
0
0
53
53
52
7
52
47
3
0
40
42
41
0
0
0
30
28
36
38
0
0
0
0
0
52
49
42
0
0
0
56
61
56
0
41
49
39
0
0
0
43
47
0
3
48
0
3
53
48
41
0
0
0
54
59
46
0
0
0
0
43
0
0
0
0
0
0
0
0
35
31
0
0
0
37
0
2
36
101
55
58
67
27
33
136
83
108
66
88
83
56
49
64
82
74
44
27
53
86
136
135
83
82
72
116
121
45
54
110
126
62
60
70
84
110
109
73
110
101
52
55
119
128
94
101
110
88
75
102
112
109
100
89
82
32
31
79
82
87
36
103
155
103
104
105
105
105
107
107
107
108
161
161
161
163
111
112
112
113
114
114
115
115
168
169
118
119
119
172
172
173
121
173
122
122
174
174
123
123
123
124
124
125
125
176
176
124
176
176
125
124
125
177
177
178
178
129
132
133
186
187
190
191
193
142
144
196
198
150
205
158
163
217
220
221
223
226
227
227
228
229
229
178
175
225
181
184
237
192
224
136
113
125
136
153
90
107
150
123
36
118
111
133
120
121
113
90
81
65
73
5
20
18
22
0
179
238
255
255
215
200
217
220
217
229
255
255
243
224
164
77
152
212
219
158
255
255
224
180
24
2
0
50
48
0
42
34
38
39
0
0
44
42
2
47
43
62
0
35
1
4
48
48
10
0
0
0
4
40
37
0
0
0
0
34
32
32
0
0
0
0
0
42
53
46
38
41
48
49
42
43
49
0
0
53
0
0
36
0
37
45
0
52
44
0
0
48
46
39
0
30
33
48
52
0
0
0
42
0
47
0
0
0
0
0
0
31
35
39
0
0
33
38
0
40
40
0
10
0
15
87
99
98
113
113
131
154
148
113
85
68
67
127
139
144
146
134
131
127
125
76
75
108
108
115
117
74
53
125
113
148
133
76
77
71
59
74
117
114
154
169
164
102
150
141
111
122
55
35
38
91
85
94
38
31
24
29
40
48
103
103
103
104
105
105
105
107
107
107
108
161
161
161
163
112
112
113
114
114
115
115
168
169
170
171
171
120
173
173
173
174
122
122
123
175
175
175
124
124
124
125
126
126
177
177
177
177
125
126
125
177
178
178
178
179
131
133
135
136
189
139
140
193
195
144
195
197
201
204
208
213
216
217
220
221
225
225
226
175
176
229
230
227
229
183
237
234
185
184
131
96
88
129
125
160
123
114
79
11
40
117
161
108
133
139
0
28
83
55
23
0
33
65
82
50
255
255
216
219
206
202
229
219
210
229
255
220
118
41
9
23
2
76
2
11
0
0
4
0
0
45
45
0
0
27
35
39
35
0
0
39
0
35
52
52
43
53
42
43
1
42
42
1
0
0
0
3
42
30
0
0
0
41
38
36
0
0
0
48
0
45
50
0
0
34
47
59
44
51
19
26
10
0
0
40
0
0
40
37
38
40
42
40
0
37
45
51
50
45
44
39
0
0
0
0
41
31
0
0
32
0
0
0
38
0
40
36
28
0
0
33
40
0
31
35
50
20
26
47
20
34
59
112
87
82
46
98
85
102
120
132
149
147
80
124
126
76
66
54
62
130
130
99
163
169
170
72
60
67
48
95
47
63
78
83
84
81
49
91
83
54
81
116
110
88
78
79
118
98
89
58
77
129
130
78
59
52
49
155
155
155
156
105
157
105
107
107
107
108
161
161
161
112
112
113
113
114
115
115
116
116
118
170
171
172
172
173
173
174
122
123
123
123
175
175
176
124
125
125
177
178
126
125
177
177
177
125
178
177
178
178
179
179
179
132
134
136
136
190
140
141
142
196
196
196
198
201
204
207
210
214
215
166
167
171
172
173
174
228
229
178
175
231
184
236
179
177
237
187
147
147
172
133
156
126
73
130
104
38
77
112
111
72
69
21
145
148
145
74
70
96
35
71
73
41
8
229
225
229
229
199
255
202
24
80
81
44
0
30
52
8
64
52
0
0
0
0
0
0
0
0
0
0
0
36
40
30
45
41
0
0
51
0
0
0
58
43
0
0
39
41
36
0
0
34
38
42
33
29
31
32
29
0
0
0
0
0
0
0
33
34
0
44
50
50
47
16
22
26
0
0
31
56
4
4
0
47
52
41
43
47
0
39
44
49
37
0
43
0
0
0
31
0
38
58
58
3
10
13
53
0
0
32
0
40
45
46
0
0
50
61
54
36
32
56
71
57
27
21
25
9
70
83
36
21
7
16
4
74
92
116
131
83
87
77
72
89
120
93
111
78
67
72
126
91
82
100
90
109
72
47
34
45
55
50
58
118
124
51
50
102
36
39
58
64
84
73
159
135
78
78
130
134
141
86
86
90
103
155
155
156
157
157
157
158
106
107
108
161
110
110
112
112
165
113
166
115
115
116
116
118
170
171
172
172
174
122
123
123
124
124
176
176
176
177
125
126
126
178
181
180
178
178
179
127
128
179
178
179
179
128
128
180
183
184
186
188
138
139
191
193
143
144
145
146
200
200
205
208
211
160
163
166
169
171
173
174
226
227
177
177
180
183
182
179
232
239
184
186
150
90
115
170
139
162
110
125
141
105
149
158
94
84
75
88
114
153
0
54
50
37
85
43
57
30
84
255
255
255
218
80
218
35
95
71
46
0
0
56
0
48
53
44
30
0
41
0
3
0
0
0
0
0
33
37
37
39
37
34
36
0
0
0
0
49
0
8
0
0
0
39
37
39
40
40
40
33
0
0
0
0
0
0
0
0
0
0
0
47
0
0
1
18
12
0
8
99
11
46
44
35
0
6
30
47
49
66
47
58
43
0
42
44
38
35
0
0
0
0
42
44
0
40
4
14
75
11
0
0
6
0
31
35
38
46
49
0
0
42
32
0
0
40
45
53
49
29
48
30
75
76
45
77
56
23
23
0
77
89
48
57
119
71
130
142
160
142
142
146
115
70
124
133
95
156
142
122
136
81
119
76
63
68
89
84
105
120
126
123
142
86
68
143
132
91
76
79
56
110
145
156
154
156
122
95
73
103
104
104
157
157
157
157
158
106
107
108
109
110
110
112
164
113
113
166
115
115
116
116
170
170
171
172
172
174
174
123
123
124
124
124
176
177
125
126
126
178
178
181
180
178
178
179
127
128
179
179
179
180
180
128
180
183
184
186
188
138
139
191
193
143
144
145
198
200
200
153
208
210
160
162
166
221
222
172
173
173
174
229
179
181
180
231
177
180
184
193
237
162
192
104
105
162
133
130
37
81
44
122
66
97
141
109
42
73
96
87
104
82
23
0
38
58
93
64
26
67
103
17
2
0
43
65
67
43
0
0
0
0
0
0
30
36
35
30
0
0
0
0
0
0
0
39
41
37
36
0
0
0
0
33
33
38
35
0
0
0
0
0
33
35
40
44
31
32
35
0
0
33
33
28
36
1
0
0
0
36
36
2
0
0
0
0
39
38
44
30
86
84
50
17
12
82
54
86
92
44
36
49
44
0
39
38
45
44
0
1
17
11
44
0
56
66
5
40
0
0
36
0
0
0
49
0
38
36
0
0
0
57
2
0
0
46
47
0
52
45
35
0
8
0
46
59
5
63
87
79
44
61
61
103
103
99
99
69
67
60
58
89
78
130
131
138
145
141
140
100
107
145
159
104
105
64
101
110
71
83
138
83
89
93
115
115
76
73
90
138
144
133
132
124
72
100
93
83
104
104
105
105
158
158
158
158
106
107
108
161
162
162
112
112
113
113
114
115
115
116
168
170
118
119
172
172
174
174
175
123
124
124
124
125
125
126
178
179
179
179
129
180
178
178
179
179
128
128
128
128
180
181
181
181
183
184
186
188
138
191
191
193
143
144
197
146
148
148
152
155
209
158
160
163
218
220
222
171
172
174
229
234
179
177
227
229
230
233
189
192
154
45
107
97
165
155
184
103
43
15
10
168
143
137
103
118
73
68
96
100
73
23
63
39
54
49
0
30
60
53
47
0
49
69
1
54
65
63
64
5
0
0
0
33
34
35
35
26
0
0
0
0
37
41
35
38
0
0
0
0
0
37
38
36
38
33
28
31
0
31
34
36
35
36
36
34
34
29
32
40
43
42
48
47
44
51
52
0
0
0
0
15
5
61
62
17
35
42
33
24
4
49
61
87
23
48
95
68
90
23
76
0
0
0
0
58
65
29
32
0
0
19
23
0
49
0
0
47
0
2
65
9
27
33
19
10
73
73
83
83
83
95
49
34
80
101
50
93
14
54
21
19
20
8
1
18
94
139
94
99
93
77
88
121
77
78
71
68
79
117
61
56
67
88
160
105
80
124
93
132
120
77
129
95
126
124
116
55
55
72
85
75
69
126
137
90
92
137
136
79
148
157
114
110
137
91
99
105
105
105
106
106
158
159
106
106
159
160
161
162
162
112
112
113
113
114
115
115
168
168
170
118
119
172
172
122
174
175
175
176
176
124
126
126
178
179
179
127
180
129
180
178
178
179
179
128
129
128
128
181
181
181
130
131
132
134
188
138
139
191
193
143
144
145
198
148
148
152
207
208
210
211
162
217
219
221
222
172
174
177
234
179
174
226
228
231
231
239
240
193
63
95
81
180
122
150
128
46
19
30
164
137
94
146
55
57
97
66
41
70
0
14
51
25
0
57
26
4
75
59
44
58
66
0
43
10
21
53
52
0
0
0
0
33
34
36
28
45
48
0
46
46
41
0
0
0
0
37
0
0
36
37
35
42
38
0
36
26
30
35
37
0
0
32
52
52
34
31
36
39
38
50
51
50
65
65
48
0
0
51
25
0
49
56
59
25
58
29
15
5
48
51
12
40
49
89
98
111
30
10
20
2
52
2
70
50
5
0
0
0
12
89
85
27
0
0
71
22
6
51
61
76
17
0
0
76
82
83
87
97
97
30
23
97
114
63
68
34
69
122
86
108
21
19
87
92
159
135
50
93
59
75
141
138
57
59
43
104
73
100
128
76
69
121
127
81
70
64
70
61
62
105
77
136
141
141
184
176
176
109
89
129
151
103
86
133
126
87
83
71
69
77
133
114
117
68
105
105
105
106
107
159
107
106
106
159
160
161
162
162
112
112
113
113
114
115
167
168
168
118
118
171
120
172
174
174
175
175
176
176
176
126
178
179
179
180
128
128
129
180
178
178
127
179
180
129
128
129
129
130
130
130
131
132
134
136
138
191
191
141
195
196
197
198
148
148
203
206
207
209
210
213
163
166
168
170
172
173
176
184
229
224
225
228
178
178
230
242
248
174
150
194
143
160
77
55
80
31
74
109
26
168
147
205
162
75
67
104
140
142
54
80
41
64
46
0
31
69
0
25
55
5
15
0
47
68
0
0
55
45
36
0
38
31
28
0
0
0
44
48
40
0
0
0
0
40
36
0
0
44
43
38
40
32
0
0
0
38
0
0
0
0
32
27
36
0
0
39
45
44
44
59
53
56
49
38
39
49
90
1
0
34
38
66
52
68
80
12
73
46
57
26
40
50
64
54
8
0
0
67
58
90
81
57
31
14
18
80
88
75
86
41
42
84
95
130
88
47
0
42
38
4
41
122
108
68
75
16
7
19
33
33
56
81
63
56
37
100
94
80
60
83
115
122
136
115
92
52
81
148
97
114
163
158
97
57
61
84
75
142
133
66
49
98
54
70
123
128
141
95
127
94
89
135
84
137
90
105
182
163
139
113
116
143
144
140
160
149
102
83
135
142
85
96
101
105
105
105
106
159
159
107
108
108
108
161
162
162
110
111
111
112
113
114
167
167
169
117
119
119
120
121
121
123
175
175
175
176
176
176
178
178
128
180
181
181
181
128
180
180
128
128
180
180
181
130
129
130
131
132
184
182
131
133
135
187
188
137
138
190
193
143
145
147
200
203
154
154
207
208
210
164
164
167
170
172
174
175
230
229
229
227
176
229
232
185
192
177
196
234
205
101
65
71
39
93
109
171
134
54
88
149
163
129
42
166
97
122
75
101
110
21
0
5
21
56
78
24
45
33
24
20
116
107
28
27
1
9
61
81
8
0
39
46
0
34
0
0
0
0
33
44
43
0
0
37
40
36
38
39
38
0
0
0
0
0
39
0
0
43
48
46
0
0
0
0
38
0
3
12
6
32
61
16
7
66
29
0
0
47
40
31
32
39
0
0
0
0
0
12
64
25
67
78
66
0
4
11
59
73
15
47
36
37
40
77
44
37
9
18
3
11
97
96
109
58
15
25
115
49
26
31
35
7
69
74
25
31
96
51
49
129
60
113
119
111
103
98
64
126
139
65
34
56
60
121
137
136
123
72
76
107
48
55
119
137
97
134
134
110
68
60
107
122
82
95
144
130
117
58
56
78
94
78
133
127
68
123
118
118
84
87
85
145
114
132
142
136
130
128
78
81
72
55
105
105
157
158
159
159
107
108
108
108
161
162
162
110
111
111
112
165
114
167
167
169
117
171
119
120
121
121
123
124
123
124
176
176
176
178
178
128
128
129
181
181
180
180
128
128
180
180
180
180
128
129
130
131
131
184
182
183
132
134
186
136
136
189
190
140
143
145
147
148
203
153
153
154
207
158
163
164
219
169
172
226
226
230
229
228
228
176
230
231
238
192
175
186
244
238
144
81
115
149
146
131
134
61
79
151
168
191
146
58
175
122
126
30
96
130
78
19
40
1
25
72
16
64
58
99
140
67
24
111
77
76
44
9
86
39
0
37
0
31
37
40
39
39
0
41
47
0
0
0
0
41
38
0
38
0
0
0
0
0
0
0
0
0
42
44
41
38
0
0
0
0
0
56
0
0
0
47
8
15
66
0
0
0
32
30
36
49
45
53
0
0
0
0
0
13
0
0
23
73
0
0
49
17
32
19
46
0
65
90
28
3
40
50
62
8
1
70
18
29
24
5
101
111
9
0
62
70
69
51
0
3
16
92
105
54
109
87
71
62
56
61
75
49
127
156
138
108
75
69
110
81
91
86
88
144
138
140
133
127
82
96
143
146
161
153
72
50
53
53
59
65
75
138
143
140
91
96
146
132
127
131
162
166
103
132
115
94
155
125
83
93
116
154
139
77
84
90
86
105
105
157
158
159
159
107
160
108
108
161
162
110
110
163
163
164
165
114
167
167
169
117
171
171
120
121
121
124
124
176
176
177
177
177
179
179
180
128
128
180
180
127
127
127
179
179
127
127
128
128
180
181
182
131
131
181
182
131
132
184
133
185
189
137
140
142
144
146
147
202
152
153
154
207
209
162
163
218
221
223
225
226
233
232
231
177
176
176
178
181
241
184
184
230
228
225
186
179
148
144
76
144
200
140
177
197
135
84
83
130
138
72
88
177
158
85
65
16
76
64
6
32
100
108
103
78
13
45
99
59
66
10
53
90
49
28
27
64
36
40
44
42
33
36
41
42
0
44
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
28
40
0
0
41
1
2
0
0
3
0
49
46
41
0
4
2
59
0
0
32
29
46
34
49
55
49
59
79
48
41
80
113
121
90
0
3
37
16
0
0
0
0
38
14
23
1
35
29
26
51
48
33
0
42
64
107
57
25
0
5
35
85
62
0
0
0
0
47
0
41
6
78
93
105
111
64
98
88
57
98
124
141
126
51
58
61
118
75
136
106
123
119
113
64
70
69
79
140
85
75
76
139
94
139
134
85
82
129
129
92
94
141
126
126
125
75
137
73
78
144
128
124
130
79
67
71
70
73
80
103
116
117
105
105
105
106
159
159
159
160
108
108
161
162
110
110
163
163
164
113
166
167
115
117
169
171
171
120
173
173
125
125
125
125
177
178
178
128
128
180
180
180
179
179
126
126
126
178
178
126
125
126
127
128
181
181
130
130
181
181
182
183
130
131
183
188
137
191
141
144
145
198
151
154
154
207
208
210
162
162
165
220
222
172
225
182
180
180
231
177
176
176
178
176
233
233
237
236
239
207
136
193
153
134
188
101
61
50
101
84
145
180
133
92
99
175
131
120
56
67
80
37
101
10
22
68
88
55
59
91
133
112
67
129
143
34
116
165
37
45
33
46
0
3
13
61
52
47
39
7
51
42
45
0
0
0
40
40
0
0
0
0
0
34
34
0
0
0
0
42
0
62
50
0
0
0
0
0
0
38
2
23
27
0
0
0
0
0
0
36
35
48
46
0
40
0
0
0
46
43
63
60
0
21
0
4
4
15
69
75
45
51
66
10
0
0
7
60
47
62
75
49
40
54
40
7
20
6
14
47
46
0
30
26
30
0
0
0
6
24
20
2
0
49
1
80
37
62
115
99
111
85
43
46
108
73
80
61
36
63
65
61
56
49
109
79
83
139
92
140
134
99
155
147
139
132
130
76
99
171
155
112
152
125
107
129
106
131
148
131
78
107
106
148
163
146
131
72
86
88
78
105
105
105
106
159
159
159
160
160
160
161
162
110
110
111
111
164
165
166
167
115
117
169
171
171
172
173
173
177
177
125
125
126
178
178
128
128
128
180
180
179
179
126
126
126
178
178
125
125
178
127
128
128
129
182
130
180
181
182
182
130
182
183
188
188
191
141
143
145
198
152
154
206
207
209
211
214
214
165
168
170
172
225
234
181
180
179
229
228
228
227
233
238
226
176
237
241
242
82
45
209
132
133
63
85
76
86
155
185
176
56
57
85
144
152
99
77
82
83
46
104
78
9
114
127
38
44
59
95
18
26
61
58
11
62
147
54
11
76
0
39
0
15
14
0
0
42
63
4
0
0
36
33
0
0
41
33
0
0
0
0
0
37
0
0
0
0
0
43
3
0
0
0
0
0
0
14
38
50
16
0
0
0
0
0
0
0
0
0
26
34
0
0
0
48
0
0
57
46
43
50
0
0
4
28
96
24
16
40
0
0
0
0
76
54
98
57
22
99
67
53
73
54
44
5
49
8
35
16
0
0
0
37
41
34
0
0
10
16
6
5
5
6
21
33
92
102
53
37
112
93
101
58
59
49
84
63
124
123
125
88
101
125
118
91
134
78
132
139
106
100
161
107
110
159
141
119
132
133
143
134
132
149
87
91
141
153
131
79
76
71
72
118
126
137
140
131
79
75
105
105
106
106
159
159
107
161
161
110
110
163
163
163
165
165
166
166
167
167
167
118
170
172
172
173
122
174
175
175
176
124
177
126
126
178
179
181
129
180
178
177
125
125
125
124
124
124
176
175
177
126
127
128
129
130
181
180
128
129
129
130
131
135
189
192
193
144
147
149
152
207
209
160
161
214
218
218
167
169
222
172
173
240
231
170
172
231
236
233
234
230
223
217
220
234
255
184
176
228
192
191
44
148
143
80
116
184
168
92
201
133
123
125
115
158
87
46
113
39
61
127
27
57
124
26
58
103
73
34
103
98
31
47
105
55
58
140
104
15
53
15
3
21
10
30
28
0
52
44
37
47
42
0
0
45
0
5
57
34
1
0
0
0
0
0
0
6
0
0
3
0
0
1
0
52
0
55
46
39
0
0
37
50
47
49
36
0
0
0
0
29
30
41
47
43
52
8
50
44
38
6
31
38
56
5
2
32
12
27
32
78
69
86
51
41
32
39
40
39
49
0
0
90
69
50
67
34
88
0
0
44
43
0
0
0
21
31
30
85
99
87
6
0
46
51
61
27
41
53
49
39
37
52
45
105
122
138
44
34
99
50
127
123
66
131
143
96
91
69
59
90
55
69
65
111
126
135
129
86
132
70
89
146
94
93
88
89
92
138
139
143
117
95
64
123
73
91
111
106
106
106
107
107
108
108
110
162
110
111
163
164
164
166
166
166
115
115
168
168
170
170
120
120
121
122
174
175
175
176
176
177
126
126
177
178
128
128
128
126
126
125
125
125
177
177
177
125
124
177
178
179
127
128
128
129
128
180
128
128
129
130
133
188
191
193
196
148
151
205
207
209
159
161
163
165
164
165
219
220
222
171
169
228
182
180
226
223
225
220
248
255
236
193
126
197
194
184
242
148
43
198
148
161
154
117
126
138
68
131
137
76
95
93
101
143
129
119
55
57
132
95
52
68
110
118
66
72
25
46
78
18
40
85
27
25
26
44
69
107
93
28
0
15
54
11
14
18
0
0
1
0
46
32
26
64
45
33
58
71
0
0
0
0
0
0
0
9
54
66
17
42
0
7
55
0
26
53
33
69
69
0
0
0
0
0
0
47
56
3
62
72
66
11
41
40
30
0
7
44
37
40
55
37
0
77
100
110
71
32
71
0
0
4
55
73
75
91
60
32
83
59
89
58
45
61
73
18
35
53
44
63
72
58
0
21
33
34
82
80
68
47
40
57
68
70
20
21
28
33
55
106
114
119
110
111
104
102
65
118
96
66
116
132
70
58
55
63
64
105
117
83
78
101
90
119
118
129
84
80
68
116
114
116
65
116
70
81
127
131
141
90
89
115
109
127
83
72
106
106
107
107
108
108
108
162
110
111
111
112
112
164
166
166
167
115
116
116
168
170
170
120
120
121
174
174
175
175
176
176
177
126
178
177
126
128
129
129
127
127
178
178
178
178
178
178
126
126
179
179
179
180
128
128
129
128
128
128
129
130
131
133
136
191
142
145
201
203
206
208
157
159
162
164
216
164
166
168
222
224
173
177
230
227
222
216
217
227
252
210
175
133
176
208
236
233
184
170
214
209
251
131
193
129
192
125
99
87
84
122
85
100
120
83
114
109
131
65
34
111
110
35
43
82
153
112
101
97
95
118
86
22
90
93
76
39
43
35
82
68
73
5
95
72
64
66
58
0
6
11
5
0
0
38
56
39
27
46
75
76
39
11
0
0
0
0
51
49
45
13
2
0
19
57
37
0
32
37
61
41
0
0
0
0
0
30
73
54
55
83
54
80
10
17
61
0
22
74
43
40
55
86
47
64
86
22
71
58
0
0
2
10
7
0
109
70
55
58
43
46
62
93
43
0
0
6
20
62
67
46
53
52
43
0
68
88
96
76
50
37
38
49
59
59
57
64
73
95
105
131
125
129
133
119
111
107
90
71
22
37
26
26
89
47
63
83
99
76
106
111
55
47
97
56
73
64
64
71
70
62
109
112
123
114
123
76
67
116
73
80
87
94
72
60
107
109
96
107
107
107
160
160
161
161
111
111
111
112
112
165
165
167
167
167
116
116
117
169
170
170
120
120
121
174
174
175
175
176
176
125
178
126
126
127
130
131
131
182
129
129
181
181
181
181
129
129
129
181
181
181
182
130
130
183
182
130
130
182
132
132
189
139
141
143
145
148
203
207
208
156
159
162
165
221
220
168
168
220
168
169
160
235
252
190
214
198
205
189
237
233
229
174
175
180
200
212
199
150
155
174
147
136
120
121
145
121
5
47
57
117
92
187
182
168
152
198
66
122
170
125
72
13
78
76
71
111
51
63
40
76
57
84
85
78
79
81
17
0
72
64
56
43
35
41
49
53
78
13
0
0
14
6
19
9
56
51
30
69
82
56
77
0
0
51
19
49
61
17
14
53
65
60
39
2
0
0
40
31
66
40
63
29
48
21
41
26
76
72
98
125
82
9
46
54
0
0
57
56
145
43
0
29
30
1
42
92
14
44
11
42
101
42
42
8
71
50
37
4
9
4
0
39
39
0
77
104
69
48
53
60
41
0
0
39
43
37
68
52
62
81
126
113
91
80
90
99
93
61
118
105
53
105
50
34
92
40
19
49
51
81
96
23
89
102
51
47
46
46
95
48
112
125
81
75
70
58
60
119
135
143
76
124
74
130
134
135
135
138
88
80
79
115
71
118
81
144
108
160
161
162
163
164
112
113
165
114
167
168
169
169
116
168
169
170
119
119
171
171
119
120
121
122
174
174
125
177
178
127
128
129
128
131
131
185
185
186
187
188
135
135
135
187
187
187
135
187
187
134
134
134
134
134
188
187
187
188
189
139
140
144
144
145
200
150
151
153
158
167
166
160
153
208
161
160
210
210
219
179
235
177
168
169
221
249
217
223
234
226
218
171
188
194
145
119
181
207
215
212
219
227
192
109
102
95
111
78
39
174
148
70
127
154
148
122
105
135
136
173
119
108
116
84
92
120
127
108
73
106
88
64
74
83
59
86
7
28
60
57
98
37
37
65
32
11
3
41
53
53
23
0
0
3
70
59
35
60
59
47
19
18
63
0
52
94
58
68
22
63
34
47
25
0
44
0
4
14
43
49
0
19
43
79
24
63
6
59
40
20
79
54
13
97
66
33
47
93
108
90
3
69
142
83
65
110
135
43
53
78
123
127
134
53
88
83
31
74
71
38
65
70
119
116
56
22
23
95
61
1
24
36
40
53
132
84
40
0
30
49
67
42
45
52
117
128
125
45
37
42
75
93
65
92
47
45
99
47
64
145
138
66
62
117
126
82
126
94
90
25
29
98
67
87
158
129
152
147
134
129
130
123
124
121
62
62
51
128
138
104
126
138
142
110
127
132
135
160
160
161
163
163
164
112
112
165
165
167
168
116
117
116
168
169
171
170
171
119
119
119
120
121
174
174
123
125
176
127
128
129
129
182
184
132
133
134
188
188
189
188
188
136
136
188
188
188
189
136
136
136
136
136
136
189
189
189
190
192
193
195
145
145
145
146
149
151
152
157
149
192
207
174
221
212
212
226
243
239
211
182
229
208
190
151
210
233
227
210
216
235
249
177
144
156
202
220
188
184
176
174
180
90
165
165
112
197
117
144
158
166
149
128
123
108
196
124
95
138
129
34
98
122
127
74
118
122
98
52
103
44
103
100
20
28
81
94
39
6
28
62
0
36
71
41
5
0
0
51
3
11
5
12
4
92
80
54
50
49
60
45
70
53
35
1
71
80
53
54
67
41
35
55
49
35
48
43
15
18
67
46
31
6
23
65
60
36
46
72
8
77
58
63
106
43
69
74
102
113
52
0
148
181
109
61
79
95
59
26
104
128
123
119
69
63
32
54
91
63
75
115
78
114
102
67
71
98
111
32
29
47
58
67
70
63
109
43
72
57
62
76
69
76
106
138
152
103
17
1
68
100
60
48
100
96
106
100
38
45
120
62
45
44
54
61
59
101
115
132
136
131
80
81
134
151
138
67
121
114
55
99
94
98
78
145
155
76
62
43
32
61
104
77
101
137
134
119
161
161
162
163
164
165
113
112
112
113
114
115
116
116
117
117
170
170
171
172
120
120
172
174
175
176
177
125
125
126
129
132
134
135
188
187
188
190
139
191
192
141
141
141
141
141
141
193
193
193
193
193
193
192
140
140
193
194
195
197
146
148
199
147
146
146
146
147
148
149
145
150
209
205
205
217
199
168
165
214
255
255
229
216
171
175
223
223
235
241
204
201
208
221
176
178
204
172
251
228
109
222
194
204
123
94
195
133
172
81
103
166
96
156
128
140
154
152
122
169
179
136
82
52
98
56
75
135
151
115
68
94
104
46
51
31
25
94
100
60
16
17
41
77
26
36
52
64
0
39
34
21
59
36
2
0
107
17
24
11
32
79
75
52
57
0
0
0
71
50
57
14
45
65
52
38
64
48
52
76
28
43
40
8
0
0
65
105
46
51
55
3
61
52
4
19
38
26
43
123
125
53
76
149
92
24
62
67
107
91
62
39
130
139
121
72
29
61
116
99
91
97
107
96
59
53
30
29
47
5
8
72
89
63
92
139
67
13
32
51
101
100
103
78
99
82
68
30
19
13
22
94
112
62
114
133
131
113
34
8
64
89
52
54
39
51
56
56
114
158
174
193
184
179
124
114
130
67
66
82
146
153
145
138
89
70
125
69
99
166
163
144
129
88
101
94
87
99
92
161
162
162
112
113
113
114
165
166
166
116
116
117
117
116
117
117
119
120
120
121
122
175
124
126
127
180
181
132
132
187
137
191
192
141
140
192
195
196
196
197
145
145
145
145
197
145
145
197
196
196
196
143
143
143
143
199
200
202
150
151
150
149
202
201
149
149
150
151
152
145
171
236
186
144
176
255
232
203
205
216
163
210
205
179
181
165
152
143
148
243
206
152
191
206
180
185
172
128
202
220
72
133
54
35
43
114
251
178
100
195
193
204
171
113
132
82
76
117
135
124
113
66
87
145
84
74
97
100
101
106
51
49
40
41
1
75
75
84
67
36
30
40
16
6
29
0
5
63
45
21
14
26
27
6
49
85
60
72
65
77
72
60
87
82
0
0
0
1
38
43
62
39
0
0
26
64
58
40
75
14
52
108
84
6
0
62
91
84
60
35
19
9
42
74
68
23
0
37
135
116
58
48
90
127
74
26
65
128
117
41
49
96
146
113
65
70
121
91
150
138
139
101
81
52
28
25
93
53
40
73
56
43
0
66
79
28
43
41
45
63
116
119
124
67
72
99
29
32
68
116
87
19
39
119
122
101
63
39
73
24
27
74
93
75
69
73
89
105
139
122
86
73
57
9
33
48
48
58
109
48
46
56
54
54
121
126
81
59
125
123
122
126
77
136
130
41
111
136
162
162
163
112
113
114
114
114
166
167
169
169
118
118
117
117
118
119
120
121
121
124
123
126
128
129
183
183
136
136
191
192
192
193
142
142
195
196
145
146
147
199
199
199
147
199
147
147
146
198
198
198
198
146
146
146
149
202
203
151
150
149
149
203
203
202
151
151
153
154
139
160
147
179
241
255
192
208
164
159
208
161
161
235
171
142
171
189
182
247
212
233
196
242
176
173
193
135
188
220
124
156
179
46
119
81
248
247
108
107
203
155
188
205
61
83
52
183
143
65
118
120
92
60
83
82
113
52
57
54
122
107
60
82
100
74
85
26
25
46
31
68
51
6
0
37
0
0
68
40
19
45
30
18
5
15
30
31
26
49
90
79
59
88
26
44
41
11
8
53
2
32
67
0
0
32
52
3
43
59
70
11
56
24
21
61
1
11
76
80
88
7
9
60
135
73
10
5
99
133
113
15
15
86
132
86
21
42
103
131
108
37
54
66
78
119
112
111
139
93
72
115
76
99
82
52
102
112
110
63
92
26
67
2
57
68
14
39
106
64
85
151
134
79
76
61
24
21
84
119
119
112
54
110
111
50
116
42
12
47
10
29
78
95
83
88
97
150
80
65
135
95
140
62
40
44
60
66
107
118
75
84
75
54
93
79
75
56
84
124
101
59
70
122
131
92
86
126
66
165
165
165
114
115
115
167
167
167
116
169
118
119
119
172
172
121
122
123
176
175
177
179
133
134
188
189
189
140
140
194
143
196
196
196
198
146
147
146
147
147
199
200
200
201
201
202
150
150
210
202
202
200
145
150
157
152
155
211
158
153
204
155
153
211
214
156
137
113
148
193
237
208
204
190
184
194
201
150
208
220
164
132
138
208
238
201
220
209
194
254
190
174
180
191
167
155
213
65
91
112
114
30
154
140
255
188
58
209
100
183
216
255
138
120
114
174
173
224
177
104
189
100
98
152
105
91
59
61
73
119
135
101
110
103
129
97
31
89
48
4
74
70
40
103
46
9
16
41
29
0
46
3
118
18
0
19
144
95
58
134
59
0
20
18
50
95
104
69
77
38
24
68
25
31
4
31
50
11
53
35
26
44
61
52
51
19
15
55
93
87
61
1
107
135
68
73
52
122
55
54
36
40
54
55
73
79
76
82
153
166
129
95
50
75
129
63
80
101
63
67
139
108
124
111
107
92
122
132
41
64
117
131
54
19
87
67
62
62
75
98
117
75
115
106
121
111
68
59
39
40
72
89
55
107
85
55
0
45
48
52
4
6
48
56
79
26
64
29
59
95
53
112
117
51
91
65
102
41
117
68
79
107
136
137
124
138
83
57
41
110
68
51
64
71
68
123
70
61
165
166
114
115
115
115
167
116
116
117
118
119
120
172
172
173
174
124
126
178
178
181
182
135
138
191
191
191
194
142
195
196
196
196
197
198
198
197
198
198
198
199
148
148
200
201
149
149
149
202
148
205
209
156
154
153
150
149
158
208
199
206
170
127
149
119
172
197
170
182
203
201
193
197
197
139
176
171
135
106
137
191
250
190
167
198
197
206
171
200
225
187
177
152
124
145
91
166
195
142
121
186
196
140
229
99
123
186
124
151
186
144
160
190
135
190
129
119
25
108
146
104
121
36
113
93
121
77
78
39
94
140
132
51
129
96
43
50
82
68
82
51
52
55
33
89
76
29
18
0
0
37
0
73
4
91
55
93
78
33
61
41
37
25
32
115
57
37
74
94
63
66
65
72
73
57
55
44
0
9
0
24
51
111
43
5
60
8
23
122
29
57
71
95
32
129
98
117
29
45
67
97
82
53
92
94
135
136
83
144
101
66
121
159
93
61
58
52
131
103
159
149
87
126
116
97
116
52
62
66
109
126
35
20
50
97
84
14
8
83
114
81
89
152
129
62
82
103
81
67
54
68
21
44
37
94
77
129
85
50
49
58
28
44
120
119
55
96
103
62
97
15
13
79
38
26
6
61
74
73
93
101
135
132
132
141
93
67
39
67
63
119
143
136
124
62
69
80
87
166
166
114
115
167
168
168
116
117
117
119
120
172
173
173
173
175
126
127
128
181
184
185
190
139
140
193
193
195
195
196
197
196
197
197
197
197
197
197
198
198
146
147
200
200
148
149
149
148
153
153
206
206
205
151
150
205
154
147
206
214
199
170
127
171
183
164
142
140
200
198
163
165
191
156
187
116
95
173
186
198
197
177
210
193
208
157
187
198
213
230
160
207
188
189
255
146
255
188
127
255
199
100
255
180
165
130
195
123
110
168
166
88
162
138
124
137
141
29
41
141
135
142
0
109
83
73
72
72
48
51
66
135
77
68
72
114
88
69
47
134
106
27
56
0
26
104
95
90
54
0
0
5
14
0
110
66
68
8
62
90
61
29
107
87
56
60
51
49
9
83
91
41
41
113
72
14
6
50
73
65
67
51
41
25
49
63
0
62
127
37
72
77
87
89
81
58
105
71
33
72
122
77
89
108
94
127
117
56
108
126
143
162
111
83
108
31
61
96
117
114
90
118
130
157
128
88
54
58
80
114
133
71
43
36
82
117
43
32
97
63
72
76
153
126
84
98
129
115
56
73
32
58
27
42
72
117
132
72
104
84
85
103
50
124
102
102
55
14
94
97
57
40
79
23
17
81
95
57
46
94
102
148
78
31
53
116
117
60
142
138
120
102
59
130
146
78
73
76
167
167
167
168
168
168
169
118
118
119
173
173
174
174
122
123
176
130
131
133
186
188
137
141
142
143
196
196
197
197
145
145
145
144
144
144
197
144
145
197
197
145
146
199
199
148
148
148
148
148
205
202
201
152
157
158
218
202
118
160
186
218
233
148
149
158
167
168
160
202
212
183
161
109
100
141
194
167
195
200
214
209
196
193
219
255
231
167
238
213
162
112
164
255
130
211
215
190
255
255
197
115
222
73
178
205
218
118
183
233
87
144
111
174
125
235
206
192
136
25
141
127
86
85
90
81
118
100
108
180
143
150
88
63
59
77
71
139
110
35
54
56
36
57
46
115
112
77
82
50
0
0
30
62
109
89
21
57
82
84
97
94
74
123
84
44
87
108
82
44
42
14
77
16
58
98
22
40
88
48
82
85
79
44
74
28
79
31
34
132
35
42
121
46
27
74
97
111
43
13
52
146
87
69
102
112
78
67
103
91
165
200
140
97
75
115
146
80
77
100
116
149
122
147
164
129
135
116
61
73
50
24
101
102
53
141
89
96
104
109
65
73
79
95
152
136
133
101
99
81
50
101
115
83
71
111
147
76
86
136
126
120
74
105
169
118
83
34
45
100
80
86
97
51
59
126
119
60
65
130
126
130
108
47
87
63
79
80
124
122
110
72
124
124
134
137
44
73
122
167
167
167
168
169
169
117
119
171
120
173
174
175
123
122
123
126
132
134
136
137
137
191
194
143
196
143
195
197
145
144
144
144
143
143
144
144
196
196
197
197
145
146
146
199
199
200
200
148
207
198
200
158
163
152
137
190
169
171
155
195
198
205
207
153
150
150
207
162
168
84
138
182
176
180
184
139
163
207
179
187
220
228
250
158
175
227
203
176
158
122
214
103
115
255
243
217
255
255
150
147
192
221
201
201
228
191
152
247
164
196
68
184
126
150
199
175
83
202
253
213
168
125
88
114
70
165
177
80
255
214
240
172
173
130
29
89
78
49
94
41
125
149
104
137
151
141
119
72
30
114
89
63
138
96
54
57
103
119
36
83
69
105
117
82
18
108
123
56
44
25
61
46
96
70
27
76
87
36
62
14
79
53
84
96
93
129
54
56
128
103
61
66
28
34
101
109
79
23
11
50
119
103
164
103
61
60
99
118
145
128
142
106
0
33
80
118
164
147
97
155
153
153
67
103
117
105
85
109
154
80
120
167
86
86
73
101
129
96
147
147
97
81
50
99
131
97
75
69
73
145
81
25
59
62
125
148
73
105
159
147
109
105
95
73
104
117
84
66
111
120
130
117
106
62
112
92
73
149
132
53
32
78
109
94
52
57
83
110
56
43
58
108
125
133
127
132
80
71
167
167
168
169
170
171
171
116
169
118
117
118
119
123
124
178
181
185
186
138
140
195
195
197
146
147
147
199
196
144
144
144
144
144
144
144
144
145
198
198
199
200
205
144
153
153
201
198
192
189
154
167
199
113
160
125
165
137
146
154
149
216
206
211
198
157
238
215
105
76
236
168
145
170
216
137
170
125
128
214
206
217
206
160
179
175
214
166
121
69
221
159
181
255
228
159
255
241
162
138
244
252
85
190
246
210
178
136
252
133
165
86
224
100
179
127
154
165
190
179
171
227
237
213
140
131
130
163
212
241
197
185
250
199
191
171
46
69
98
151
147
81
46
150
137
58
59
113
170
36
67
98
130
72
68
44
133
107
96
98
118
78
97
80
108
83
35
151
89
102
65
6
52
122
98
56
91
34
44
67
9
67
35
72
77
125
120
29
16
72
55
61
4
99
72
66
123
80
42
146
122
96
66
185
176
137
115
80
158
154
65
45
47
101
67
73
108
147
165
163
147
120
151
140
65
62
75
138
133
106
79
94
108
178
68
35
107
137
81
127
159
156
143
64
85
55
88
98
96
185
135
61
14
29
64
75
82
149
175
136
103
124
179
152
47
52
76
84
86
97
46
82
110
24
80
111
98
100
67
80
146
88
89
90
51
75
85
78
64
88
90
136
132
108
87
89
110
130
158
166
166
168
117
118
119
172
118
119
120
120
122
175
178
177
180
182
185
188
190
194
194
195
144
145
145
198
198
196
144
144
144
144
144
144
143
144
144
145
145
146
146
195
147
156
142
180
191
209
204
158
203
223
198
186
205
153
196
216
165
197
202
154
159
164
76
167
234
185
143
243
169
127
158
178
160
164
172
201
220
254
222
203
230
170
171
162
109
157
255
111
252
192
151
148
231
188
154
156
199
175
81
194
193
156
184
122
255
90
143
156
198
136
144
160
79
121
172
178
232
181
179
229
231
181
183
194
179
245
244
188
175
190
189
225
190
130
84
181
185
127
66
76
48
118
71
110
125
113
119
167
141
24
61
49
93
86
92
169
92
61
80
131
124
113
151
87
67
54
13
34
48
56
51
85
89
110
16
54
86
36
16
84
53
68
65
129
62
0
105
73
20
12
68
130
67
101
105
42
104
104
63
116
174
148
138
164
113
127
132
87
81
58
118
152
93
68
135
133
84
147
88
103
56
69
141
140
126
75
117
92
182
156
100
71
48
61
83
136
95
128
66
124
50
63
54
93
120
90
66
40
61
97
87
100
123
130
154
149
105
104
90
153
101
30
21
29
32
45
94
55
53
109
74
68
36
101
99
94
73
149
103
144
117
92
90
70
21
51
78
90
165
94
106
160
145
101
104
122
166
166
167
169
118
171
173
119
120
122
124
125
181
184
181
183
134
136
190
193
143
142
143
143
143
195
195
195
143
143
143
143
143
143
143
142
142
142
142
142
142
142
130
141
158
201
179
168
115
170
197
149
202
197
200
209
215
210
190
155
176
128
107
241
233
128
139
219
230
250
152
177
176
136
146
172
159
165
255
219
211
180
202
202
113
197
200
185
219
137
193
152
115
183
205
141
120
159
213
160
184
182
188
161
165
130
249
101
104
162
110
215
130
129
131
111
117
198
225
230
234
181
179
181
183
183
243
185
185
184
237
226
229
233
243
184
175
186
179
173
214
232
197
172
146
111
102
106
89
81
81
99
128
160
60
88
84
53
110
57
47
141
74
28
96
49
74
95
63
85
30
101
69
92
67
61
67
44
83
120
19
53
45
41
60
100
96
39
0
71
127
25
39
88
63
43
66
183
105
149
69
84
89
142
133
152
165
152
86
97
115
111
110
139
119
115
85
47
72
98
150
111
139
107
124
133
145
154
145
108
103
151
156
92
112
77
68
150
149
89
119
119
143
130
124
88
123
115
78
78
114
106
155
146
75
105
154
177
144
97
29
107
129
66
22
20
33
37
96
92
56
64
126
68
66
137
138
133
111
141
153
152
95
60
87
35
23
90
125
151
89
128
48
92
102
78
154
148
120
166
166
168
169
170
172
172
171
120
121
124
127
129
133
130
133
135
191
192
195
144
144
144
142
142
143
194
142
143
143
195
195
143
143
143
142
142
141
141
141
141
193
186
146
119
158
180
201
147
140
154
163
211
203
203
210
195
211
199
115
99
123
232
199
204
217
169
165
209
201
176
158
193
200
199
197
234
255
142
212
242
148
210
122
197
149
189
156
119
255
209
136
182
194
166
135
171
189
215
100
179
154
210
171
155
167
168
58
154
157
143
131
140
190
152
126
208
235
227
229
231
181
182
179
177
189
241
187
185
185
234
228
189
235
225
173
234
230
180
187
177
233
215
232
212
204
200
172
165
177
99
70
113
206
112
48
130
115
68
95
72
142
93
57
103
48
80
107
64
80
20
68
26
96
137
85
128
79
67
65
86
74
89
0
3
72
47
0
51
60
110
16
35
87
127
77
53
121
138
131
129
136
81
99
80
88
159
141
48
106
156
166
97
130
155
112
137
48
71
139
133
160
131
116
129
144
148
88
137
128
89
65
18
58
107
48
93
126
96
117
141
173
120
126
93
72
134
141
71
89
102
153
111
103
84
63
84
75
117
178
89
50
29
47
30
27
42
103
116
88
38
59
125
117
59
132
148
170
163
112
146
89
91
67
61
61
88
150
115
53
135
135
141
118
61
86
140
143
169
169
169
169
169
170
171
170
169
169
119
173
124
127
130
134
188
138
141
142
197
146
145
196
143
143
142
142
142
142
194
194
194
194
142
194
140
140
140
192
191
191
191
146
212
156
136
135
196
197
147
150
151
200
200
208
219
151
133
160
165
150
185
219
206
226
220
146
162
184
223
200
215
165
203
212
235
200
246
210
218
234
101
144
199
239
148
83
229
248
164
216
254
247
188
120
146
204
140
131
164
180
202
166
167
154
167
79
153
118
156
166
118
97
209
141
150
194
222
179
180
181
232
231
182
184
189
234
242
188
235
226
184
184
175
182
236
232
239
223
173
187
162
235
208
232
221
173
165
220
220
179
168
178
150
133
167
90
132
146
51
67
121
86
210
71
97
120
136
160
109
81
76
138
87
140
65
123
93
56
80
92
101
117
79
38
102
111
68
116
45
91
74
23
81
76
110
131
163
94
54
154
116
104
98
82
82
66
123
171
141
159
118
86
106
105
150
142
120
97
61
95
86
123
116
64
124
157
186
173
88
81
162
94
83
62
75
140
144
138
140
95
139
101
69
98
144
96
96
97
143
169
110
129
120
154
129
47
169
126
112
108
166
101
96
36
54
86
85
122
91
110
112
115
141
150
127
144
106
114
84
107
131
95
59
62
177
83
66
76
147
156
94
69
124
84
156
150
141
149
171
171
119
170
170
170
169
163
115
172
176
178
181
132
135
191
141
141
143
198
146
155
203
148
147
145
141
137
193
200
202
197
202
203
194
137
147
130
165
171
143
164
198
187
139
147
143
186
183
198
208
140
172
154
121
220
210
190
150
169
197
191
233
159
166
169
161
155
156
207
198
208
210
239
233
140
191
231
212
106
202
226
143
195
131
245
145
179
198
202
196
116
204
173
228
178
100
171
168
226
254
199
229
162
159
88
191
120
144
111
131
98
118
185
181
161
190
185
177
230
231
232
232
182
233
238
237
237
186
184
181
232
232
180
179
231
180
179
231
230
178
176
228
226
224
225
223
223
169
169
168
220
220
158
191
238
175
158
91
92
147
135
131
57
148
115
132
90
121
143
65
137
95
87
110
124
98
60
52
117
34
33
111
91
65
109
96
151
127
111
133
89
79
117
148
136
173
133
41
82
123
174
115
116
58
126
76
153
202
163
100
66
74
95
130
132
157
142
138
65
79
97
147
35
27
70
44
112
90
44
63
105
124
87
66
115
122
126
184
118
113
51
78
124
42
98
115
86
161
115
159
105
65
114
133
149
103
89
93
96
111
137
143
127
50
102
91
107
144
132
54
106
98
59
104
53
89
70
117
103
119
143
68
71
81
139
72
63
125
128
69
75
88
148
102
98
163
166
151
172
172
120
118
118
118
169
168
169
173
121
171
174
129
129
132
136
192
140
141
194
197
192
192
145
146
140
134
141
124
135
136
132
185
187
202
188
167
129
143
140
127
191
143
144
141
140
146
207
209
109
148
132
218
166
155
208
214
158
199
210
219
203
212
224
223
146
143
210
208
192
233
251
144
154
191
234
182
96
236
162
183
156
95
223
225
177
143
113
182
149
122
186
205
167
184
146
184
201
248
232
191
229
233
123
76
148
114
143
113
122
93
164
159
208
132
232
223
229
230
231
180
180
233
233
235
236
185
238
184
181
232
233
232
180
180
230
179
178
231
232
230
229
174
225
172
170
222
221
168
168
219
219
174
173
210
233
227
134
102
86
134
140
113
127
145
92
133
124
147
126
133
145
104
142
144
102
135
115
89
66
62
40
98
73
77
93
97
138
66
151
104
50
47
119
135
132
161
73
86
166
137
96
42
60
117
162
189
173
145
93
88
132
125
121
142
132
164
174
134
123
126
159
84
48
69
93
64
91
69
85
110
87
36
44
120
90
106
120
113
118
118
113
72
161
71
50
84
140
149
158
175
141
130
138
155
143
94
61
84
82
125
167
158
83
123
140
126
106
114
125
120
82
76
57
78
83
151
140
80
83
88
87
89
85
141
64
115
153
153
85
95
151
154
104
97
154
161
155
172
171
120
119
119
119
118
119
167
168
185
190
186
128
128
125
124
130
128
129
132
205
207
206
202
144
189
186
132
172
141
139
125
118
169
194
186
198
145
133
133
143
150
188
144
144
139
126
160
180
221
203
144
155
159
153
198
205
160
138
197
219
211
206
200
203
162
161
157
161
183
221
178
153
210
225
116
187
209
163
142
176
93
250
206
244
172
164
185
160
189
175
227
228
193
119
168
198
245
230
203
221
128
107
153
198
98
132
125
139
118
84
193
171
187
149
227
228
229
178
231
180
179
181
181
181
181
182
235
184
183
183
235
235
182
181
231
229
177
231
179
178
175
172
170
169
167
218
218
219
220
220
220
225
220
215
225
172
168
223
237
215
199
69
156
133
8
158
146
116
92
150
164
134
95
96
48
129
93
44
85
16
79
123
21
62
90
137
77
87
118
52
46
135
84
113
155
102
100
153
148
55
86
97
109
130
176
108
77
160
182
180
146
75
88
92
84
156
160
180
155
160
98
138
73
81
104
121
55
103
103
126
164
112
45
66
82
96
109
150
118
112
46
164
118
98
40
113
143
87
88
83
102
95
103
106
125
74
101
103
96
101
151
163
100
168
117
59
77
109
125
127
60
88
34
135
85
105
127
83
100
122
112
84
118
119
130
130
127
146
153
158
185
100
82
93
156
162
166
170
170
170
170
119
120
120
124
187
186
167
162
135
100
84
21
14
15
12
12
19
15
27
123
145
109
170
175
184
150
181
206
146
124
108
149
146
185
145
156
141
166
209
166
177
137
157
166
206
206
204
194
149
170
171
204
178
142
178
167
202
208
209
207
217
221
213
159
165
168
252
205
172
120
84
194
163
126
223
218
67
165
240
224
175
203
238
169
125
135
205
245
134
157
128
188
152
227
223
191
219
180
167
125
191
182
151
195
101
203
100
118
161
181
150
196
227
185
177
178
179
180
179
181
233
178
180
181
182
184
184
184
236
236
182
234
230
176
228
228
176
174
172
220
218
167
216
216
165
219
220
169
220
219
222
227
211
160
171
229
227
210
228
154
161
117
133
88
50
166
93
132
159
133
155
131
90
93
141
104
97
73
26
96
75
59
128
126
50
22
21
61
51
64
59
132
159
100
46
97
118
121
55
48
90
151
104
201
163
120
109
167
151
60
73
95
130
110
153
81
118
141
117
34
69
108
150
154
171
95
145
154
139
131
73
66
110
100
112
144
147
141
162
89
44
78
68
114
155
137
144
118
97
150
150
127
62
63
85
84
126
139
141
76
144
54
97
93
116
165
118
120
106
114
139
122
62
61
147
123
57
73
127
125
149
93
86
82
143
143
133
134
167
121
165
90
104
164
148
166
168
173
175
173
118
117
124
176
184
189
126
106
82
77
87
70
65
16
11
69
26
17
64
128
119
120
136
189
195
175
160
147
150
212
145
135
121
131
138
179
108
126
151
195
194
200
151
154
218
203
213
170
166
187
161
178
161
197
160
169
156
149
201
205
164
153
132
164
176
254
71
131
210
144
152
229
226
133
197
210
152
224
206
223
246
167
211
181
180
219
228
186
195
194
145
183
188
140
157
199
160
123
162
212
126
205
150
201
193
178
136
159
185
165
164
172
177
175
176
177
178
231
233
233
234
182
182
233
181
180
180
233
180
232
231
177
176
228
225
225
172
171
220
219
219
164
165
165
218
219
167
167
166
218
218
167
168
220
169
169
168
168
220
168
167
167
173
237
134
52
149
160
59
148
116
77
172
174
128
86
54
103
84
135
86
109
124
42
66
117
50
151
128
72
116
171
73
26
146
93
69
80
95
60
86
106
93
174
184
159
114
82
76
140
138
149
146
178
125
127
154
98
12
62
142
157
125
174
150
104
141
148
110
123
113
127
157
155
160
134
134
156
119
166
110
62
161
88
102
141
141
135
134
121
96
68
104
132
95
103
173
168
175
135
141
174
154
125
159
123
151
85
79
124
113
76
74
74
133
77
129
165
149
73
65
101
164
174
117
140
157
150
142
72
66
83
82
145
166
168
173
175
173
171
116
133
134
193
127
111
95
77
36
82
73
53
1
2
50
67
26
32
72
85
83
134
164
163
132
191
158
139
129
184
145
154
129
110
170
190
149
144
195
203
207
209
163
141
201
201
143
123
207
243
140
141
166
202
127
136
205
163
227
141
131
202
178
177
43
155
172
141
223
171
228
127
195
200
136
169
182
221
227
202
191
177
175
196
218
210
168
243
140
151
195
162
152
160
193
152
129
194
117
152
198
95
210
161
119
188
115
175
179
216
223
227
227
176
177
229
179
233
233
234
182
181
233
233
180
180
232
232
231
178
176
228
227
225
225
224
171
168
167
167
164
164
165
166
166
166
167
166
166
166
167
167
169
169
168
220
219
219
166
166
166
156
221
202
131
141
123
71
140
113
92
123
92
59
128
70
48
101
119
115
132
72
57
101
126
129
156
123
28
74
163
102
99
120
79
85
98
93
62
71
102
167
169
137
179
154
80
156
150
165
142
117
160
172
111
70
60
10
79
80
118
114
148
95
108
92
106
78
128
143
93
120
150
110
96
84
123
38
72
143
87
103
77
61
104
125
119
145
123
57
30
121
147
91
62
96
115
152
90
149
119
148
124
100
133
128
143
109
106
74
66
150
90
147
93
90
135
121
115
125
160
118
100
83
77
132
89
82
63
109
140
150
165
168
169
173
175
122
119
171
122
130
145
129
114
162
159
95
69
106
87
30
33
82
89
79
68
79
88
36
32
86
105
200
113
131
139
130
109
100
137
152
147
194
198
138
150
201
201
197
194
200
228
158
135
180
208
207
154
215
156
146
144
156
214
210
180
134
192
170
188
116
58
170
143
155
223
195
241
176
255
206
159
162
117
150
206
198
204
183
205
200
238
182
207
226
132
183
138
150
147
164
153
126
192
167
200
78
198
163
181
200
140
194
126
124
149
217
218
222
224
226
175
176
177
179
180
180
180
232
232
180
231
179
178
177
229
228
228
227
175
174
172
172
171
170
167
167
166
216
164
164
164
216
216
164
164
165
165
166
167
167
219
166
165
217
215
163
162
214
225
210
169
223
221
222
167
154
116
165
148
59
92
87
139
72
47
116
127
129
93
61
70
111
85
134
51
36
122
127
95
30
55
149
78
156
133
94
82
95
129
156
140
102
192
162
120
108
123
156
147
151
121
61
49
59
103
142
72
70
157
128
74
93
70
91
71
160
158
86
103
171
107
105
116
105
158
96
108
123
140
89
85
102
134
163
169
79
37
142
73
92
150
142
135
70
69
140
103
102
77
125
63
85
147
111
166
172
114
23
80
57
63
78
101
106
88
135
137
124
82
109
106
98
151
144
102
89
72
135
136
141
170
171
173
174
121
120
119
170
173
188
190
177
118
115
95
86
103
76
61
0
8
44
43
17
14
60
75
102
99
115
184
91
85
135
186
204
190
200
155
200
194
198
198
147
197
155
157
144
183
152
164
154
164
216
175
156
185
178
168
182
159
113
155
236
217
215
70
121
199
152
172
173
159
217
139
175
218
230
209
128
161
161
189
202
175
165
198
173
237
164
231
199
203
219
140
220
165
175
148
120
129
169
123
89
202
125
156
205
149
167
199
172
111
116
168
170
172
174
174
175
175
176
178
179
180
179
231
178
178
230
229
229
173
173
225
225
225
225
225
172
171
222
221
167
166
217
217
165
165
164
216
216
216
163
163
163
217
217
218
218
165
164
164
161
160
211
159
208
216
213
212
217
219
165
165
238
160
152
89
78
111
116
101
112
142
128
171
128
70
144
76
40
102
62
27
73
104
158
111
60
80
146
150
119
82
89
73
54
126
154
152
174
141
115
169
181
119
109
91
50
58
115
132
84
156
158
76
88
115
126
142
77
76
51
167
171
94
69
118
167
160
72
128
100
109
152
131
139
122
57
80
109
123
175
109
62
117
110
85
97
87
141
156
135
132
97
91
58
52
46
84
115
71
112
53
68
99
84
39
47
45
94
80
88
89
122
88
129
117
79
49
85
135
78
63
59
124
116
117
120
172
173
174
122
121
121
185
134
146
190
173
117
170
151
96
75
69
52
44
0
9
50
52
14
25
86
92
108
128
149
112
170
168
157
177
190
138
192
203
201
190
201
150
157
153
130
116
174
175
159
160
150
160
160
172
170
143
152
225
121
100
175
224
188
79
181
200
129
202
218
209
204
113
161
255
223
215
174
145
165
165
105
169
183
212
230
178
179
168
220
201
199
216
227
160
168
150
208
151
145
81
173
113
202
164
176
186
156
161
194
177
106
142
213
226
172
174
174
174
227
176
178
178
178
178
230
178
177
229
228
228
172
172
224
224
224
225
225
171
171
222
221
218
217
217
167
166
166
217
217
216
216
214
163
164
164
217
217
217
217
216
164
161
160
160
159
163
218
207
210
213
215
164
171
197
226
220
99
92
102
83
131
39
58
112
147
153
102
102
151
46
126
99
76
78
120
140
94
123
78
138
61
143
168
126
111
86
72
178
135
87
72
84
130
76
111
130
195
87
57
117
168
75
83
116
111
79
72
126
74
100
71
113
134
155
134
181
93
74
72
140
128
88
72
139
141
87
131
147
109
83
104
145
122
126
102
85
101
133
154
147
89
103
139
90
76
50
57
59
76
64
72
80
82
70
67
43
29
48
20
93
71
85
155
134
76
55
91
139
86
113
37
53
67
137
89
134
145
173
174
123
122
121
123
176
185
127
132
213
200
124
162
163
97
102
29
64
53
52
2
0
48
56
9
8
5
67
184
202
110
137
184
144
202
196
150
201
205
205
148
153
194
130
130
150
215
210
153
164
210
214
174
171
158
211
140
102
138
229
214
174
160
182
223
227
178
215
216
231
181
94
202
241
191
126
148
191
178
140
135
159
209
198
232
209
182
177
228
200
216
213
218
189
116
173
216
150
209
121
230
195
164
184
151
200
164
197
171
179
113
129
208
223
222
225
172
174
175
176
227
229
228
228
176
176
175
227
226
225
224
224
223
170
221
169
222
223
220
220
220
220
220
168
168
166
218
218
166
218
166
166
166
166
166
165
164
164
164
217
216
164
162
213
160
160
160
211
207
153
152
150
150
154
154
208
158
161
215
164
194
72
102
58
33
97
151
105
65
77
180
57
111
138
66
92
166
149
67
72
152
97
68
133
179
184
106
111
62
171
107
113
129
119
64
105
172
157
89
84
127
136
95
147
61
85
163
142
95
129
46
71
111
156
86
12
69
92
161
71
82
113
150
98
95
97
107
131
111
73
94
104
74
119
154
56
72
129
93
99
138
102
108
133
84
130
114
54
89
148
164
158
90
130
71
61
128
65
0
0
70
70
124
133
129
80
92
111
140
78
92
76
62
119
123
135
148
136
178
176
124
120
122
127
183
181
182
132
141
199
144
138
123
128
86
74
62
6
60
50
0
49
0
0
56
59
67
116
139
141
187
200
193
186
189
146
197
199
154
157
126
143
218
202
145
210
206
216
214
219
162
152
206
166
127
166
161
162
232
205
166
162
197
199
163
186
185
249
133
254
206
199
255
167
154
183
173
150
182
198
192
216
224
212
164
182
235
200
219
156
213
200
126
221
218
136
216
135
209
242
131
188
149
179
168
216
153
185
153
177
190
212
173
223
225
174
175
175
228
227
228
228
228
228
176
175
227
226
172
224
222
222
168
167
167
167
220
219
219
219
219
219
167
167
218
218
218
218
166
166
166
166
166
166
165
165
217
164
164
217
216
213
212
211
159
212
211
154
150
200
147
146
200
149
205
156
159
214
216
134
204
184
194
189
107
125
113
11
89
107
113
86
113
86
70
165
179
63
55
31
108
126
127
172
151
155
84
103
120
155
162
144
130
78
92
143
85
90
89
135
159
91
142
133
135
145
93
121
115
105
77
86
159
160
178
86
61
92
127
88
136
144
126
141
93
96
111
94
73
145
156
56
61
101
85
84
138
97
100
137
142
155
108
108
101
121
92
87
111
166
138
154
151
114
102
71
85
108
67
38
60
131
102
23
100
124
78
98
38
46
97
136
70
59
105
120
140
178
176
174
171
174
179
186
185
134
129
130
140
140
132
94
168
142
118
94
69
6
0
52
47
0
0
0
61
107
105
90
160
134
200
197
205
204
149
151
144
133
178
165
165
203
211
205
198
216
164
159
211
208
153
155
161
224
232
159
159
213
220
165
144
228
216
223
191
236
149
255
224
206
197
162
207
168
115
177
208
137
171
205
229
203
193
151
246
197
192
220
155
179
169
140
210
152
208
183
150
222
187
141
189
136
172
178
211
147
203
170
132
195
215
226
172
174
173
226
175
175
226
228
227
227
228
227
227
226
173
224
223
169
220
167
165
165
165
217
218
218
218
166
167
167
219
219
219
219
219
219
219
167
167
219
218
166
217
217
217
165
165
164
213
212
211
159
159
158
205
203
201
199
146
148
148
202
205
155
210
211
154
152
218
198
187
227
204
178
104
55
92
70
27
52
153
107
128
166
113
112
39
101
101
141
164
93
56
143
60
119
166
144
78
150
157
42
48
80
168
104
124
137
111
158
73
86
113
151
169
122
87
102
107
101
162
144
168
41
74
57
111
159
136
154
159
150
69
89
168
89
76
103
136
108
19
61
152
128
124
90
136
154
116
151
104
115
144
95
67
82
142
169
94
79
166
124
73
114
96
72
98
105
125
138
60
52
45
59
154
130
104
119
64
84
156
133
131
125
176
175
172
171
122
130
134
137
135
181
185
141
142
190
137
138
178
103
81
29
68
26
70
47
41
0
3
10
1
25
81
127
180
136
190
177
190
127
131
134
145
169
203
194
149
223
211
197
217
220
206
190
197
167
172
161
192
174
177
172
237
209
162
167
205
219
219
207
128
228
176
229
199
158
213
197
153
243
226
203
173
203
214
215
157
138
242
194
154
209
210
223
180
132
164
168
144
142
99
232
208
71
194
159
84
123
236
170
189
209
108
147
205
219
226
170
174
172
224
172
172
171
224
224
225
226
225
225
172
171
222
221
167
218
216
163
161
161
161
215
215
164
216
218
218
167
168
220
220
220
220
168
168
220
219
219
218
166
218
219
166
166
165
163
213
213
160
158
157
155
154
153
204
152
152
204
200
199
199
200
147
154
147
138
147
166
181
197
206
218
176
123
67
129
127
107
72
142
138
91
147
186
120
108
46
177
156
48
28
116
50
142
62
53
90
116
87
39
19
61
77
110
136
146
93
122
132
167
166
138
129
102
117
91
137
75
133
130
95
84
149
65
87
106
174
114
141
169
120
137
149
163
66
56
108
45
85
132
77
136
155
105
78
95
183
123
140
157
64
157
111
86
145
98
98
102
154
145
173
127
117
139
82
132
74
60
80
140
133
115
115
123
65
49
65
131
143
165
155
178
125
126
126
129
134
139
134
134
187
175
170
185
207
140
200
180
171
99
72
165
62
41
53
52
58
12
15
18
74
185
154
147
156
201
194
140
126
154
158
144
143
154
156
148
155
217
212
152
167
210
213
160
152
203
208
218
171
215
224
171
142
148
219
228
199
131
169
182
139
156
118
203
232
227
179
213
206
208
190
176
181
223
149
232
149
162
158
144
216
214
165
139
169
170
123
147
95
234
205
87
138
196
144
102
195
217
155
204
148
132
155
158
168
226
170
172
171
170
169
169
169
221
222
222
223
223
170
169
221
219
167
165
164
162
212
210
210
210
213
214
215
215
165
218
218
168
168
168
168
168
168
220
220
220
168
167
166
167
219
220
168
219
216
215
162
162
209
210
158
158
158
210
210
158
156
201
198
196
142
141
151
141
138
138
145
181
202
142
136
201
186
154
135
193
186
131
187
202
155
73
140
164
98
122
40
190
129
68
56
171
187
52
178
90
109
190
166
76
89
81
55
37
92
108
151
117
105
132
91
75
105
145
130
127
201
153
170
74
90
68
101
172
171
104
141
155
144
143
119
148
131
134
133
115
137
68
82
137
133
141
157
98
103
129
89
146
106
82
138
115
72
143
98
161
172
65
115
131
102
118
98
44
65
96
70
126
129
80
71
123
82
60
96
76
101
127
124
152
178
127
180
183
132
133
132
184
183
183
135
187
183
177
113
187
175
158
171
198
135
145
48
76
63
60
13
8
0
138
155
144
134
133
146
116
176
210
192
191
206
206
156
157
158
157
210
211
159
160
209
211
160
160
214
218
208
235
206
196
171
161
225
226
172
124
215
167
152
135
111
186
206
191
166
198
206
218
199
194
168
186
155
119
192
147
163
146
159
222
179
164
149
155
167
70
94
208
227
181
91
223
119
70
130
180
136
126
218
129
152
152
164
222
217
215
168
165
168
169
169
169
169
169
169
169
168
167
167
166
164
165
162
161
160
213
211
210
210
209
210
211
213
165
167
168
219
220
168
221
170
170
222
220
221
169
168
219
219
219
219
219
218
217
216
216
216
214
213
158
156
207
206
205
203
203
201
201
147
146
198
147
147
145
197
197
196
144
143
193
191
137
137
137
189
132
179
177
186
190
176
157
84
44
164
111
105
157
140
94
121
176
99
98
195
138
161
210
123
89
131
130
99
71
81
121
60
52
88
66
98
139
129
203
92
128
85
116
103
118
80
86
128
147
123
146
183
128
87
164
142
100
110
74
125
154
149
108
56
79
61
112
177
97
81
153
153
66
82
148
88
64
67
124
116
76
127
125
48
87
138
54
67
74
127
149
148
92
67
83
73
67
141
121
84
77
127
142
115
180
180
181
183
184
185
185
183
185
186
134
134
135
136
136
168
174
177
122
184
163
150
149
52
53
11
2
0
70
86
82
107
102
88
143
194
211
181
146
208
151
156
207
208
209
209
210
210
211
157
155
211
161
213
215
218
226
222
199
147
149
153
228
127
147
186
192
148
192
106
137
148
215
164
242
195
180
218
146
191
159
182
110
183
149
158
155
161
152
158
145
146
166
166
97
199
144
226
201
131
227
180
161
132
177
183
123
146
184
89
145
157
165
221
217
215
219
216
164
165
165
217
217
165
165
216
216
215
215
162
214
161
160
212
211
212
210
210
209
210
210
211
213
216
166
167
219
168
220
221
221
221
170
221
169
169
220
219
219
219
219
219
218
217
217
216
216
215
214
210
156
207
206
205
205
152
150
150
149
148
200
147
146
197
196
196
144
143
142
192
190
137
137
137
189
187
142
136
187
194
199
199
205
194
188
177
106
54
72
99
160
121
118
191
131
175
78
107
29
48
146
153
184
160
143
42
29
34
98
134
138
130
142
77
145
99
41
39
84
145
124
92
102
189
166
131
43
47
101
110
111
170
181
54
158
124
90
87
95
152
149
38
138
161
135
90
52
92
122
138
95
90
94
164
106
75
83
81
88
111
56
84
114
117
146
119
67
114
134
69
31
150
168
131
90
100
153
107
119
183
183
131
185
185
186
185
183
186
188
186
135
139
142
157
203
183
93
90
135
93
154
39
9
64
60
14
21
67
62
42
47
46
129
175
194
175
149
152
153
209
206
207
208
208
209
210
210
210
155
155
159
213
212
213
216
228
203
227
148
150
193
143
227
150
132
181
125
143
161
169
106
215
191
155
218
184
251
185
143
190
100
180
198
151
162
148
164
149
172
144
160
154
68
255
82
166
152
148
204
186
158
119
222
189
149
122
175
164
85
138
163
218
218
216
215
214
213
160
160
212
160
212
212
212
210
210
209
209
210
209
209
209
209
210
210
157
157
209
158
158
159
212
214
216
217
166
167
167
168
168
221
221
221
169
169
220
219
219
219
219
219
218
218
217
164
164
163
215
211
210
208
207
206
206
154
153
151
150
201
201
198
198
196
196
144
143
143
193
192
190
189
138
138
138
145
143
140
140
193
191
189
140
143
187
138
149
145
197
199
180
176
192
139
88
126
78
77
99
55
93
160
132
99
192
156
72
77
104
125
109
128
160
64
68
123
108
75
50
70
115
91
39
150
105
145
109
71
65
84
178
225
95
69
90
99
182
113
193
114
110
237
141
110
111
167
84
59
155
123
94
81
89
148
141
92
169
96
92
82
87
77
147
134
9
89
87
108
39
87
123
161
81
11
47
100
80
80
170
184
184
184
133
134
134
133
132
134
187
188
189
139
140
138
184
114
38
96
139
100
44
17
18
59
15
27
72
82
68
88
98
50
73
153
167
156
211
205
202
209
205
206
207
156
157
210
210
158
208
156
160
213
211
211
214
193
203
209
174
164
109
147
179
172
183
118
101
175
188
106
212
179
163
189
236
179
164
134
191
102
143
182
167
141
226
150
154
162
135
156
211
166
180
238
86
155
194
136
225
131
169
143
157
191
134
145
190
132
111
138
165
217
164
163
214
211
211
158
158
158
210
210
210
158
156
208
208
208
208
156
156
208
208
209
209
157
157
157
158
158
159
212
214
215
164
165
167
167
168
168
220
220
221
169
221
220
219
219
219
167
167
167
218
217
216
164
164
163
212
211
157
207
207
154
154
153
203
150
149
149
146
197
196
196
195
143
142
140
139
190
190
190
190
139
143
141
143
145
145
143
138
138
134
135
184
130
148
138
186
204
180
183
168
110
179
52
128
162
53
78
68
149
90
99
153
128
91
26
71
84
72
118
134
96
97
154
137
124
59
65
125
119
98
125
22
105
105
82
128
88
154
162
89
83
140
129
116
120
159
48
131
46
127
114
103
79
65
93
64
123
100
79
133
151
145
84
108
97
97
93
80
94
75
26
2
71
106
69
76
130
88
99
109
44
72
25
107
84
185
186
186
134
134
135
134
134
133
133
192
193
137
132
82
116
121
127
46
50
125
101
54
69
80
28
17
68
75
23
84
84
92
48
48
106
117
197
204
208
203
205
206
155
156
156
209
210
158
158
157
161
161
210
208
210
223
167
243
203
134
238
200
208
167
123
167
131
159
145
185
144
208
207
210
177
205
143
178
112
150
166
196
147
168
197
163
149
161
140
206
172
169
231
114
194
205
127
233
172
144
144
104
173
168
152
167
189
61
162
152
220
216
161
161
160
208
208
209
157
157
209
210
210
158
154
154
154
154
155
156
156
208
208
156
156
208
208
208
210
159
159
160
213
214
215
165
166
218
167
168
220
220
169
169
221
220
219
219
167
168
168
167
218
217
216
164
164
215
213
159
157
156
156
153
205
152
151
201
201
148
145
145
144
196
195
142
142
141
139
138
190
190
192
140
140
137
136
135
133
135
139
141
181
186
188
133
132
135
139
178
196
185
189
189
127
137
130
93
109
83
108
119
86
107
73
87
143
115
42
81
119
80
82
152
95
69
122
136
87
144
143
82
116
139
55
0
41
143
76
122
148
150
137
139
171
140
105
136
87
123
151
110
91
45
88
108
96
36
168
95
129
159
114
142
137
162
146
143
135
143
82
73
104
103
103
34
80
50
145
114
83
108
136
72
125
142
116
102
186
186
187
187
136
136
135
133
134
135
191
193
195
143
142
91
114
125
129
70
104
66
55
78
72
18
80
45
33
85
81
32
85
90
28
24
146
140
161
146
208
206
156
157
157
158
210
211
211
216
224
149
145
175
202
200
226
195
154
205
199
203
223
142
160
184
138
129
112
173
157
187
215
208
195
223
222
129
131
154
161
156
149
153
150
145
155
132
172
217
175
115
224
139
155
139
143
204
205
131
222
70
122
194
180
184
186
131
159
225
209
214
162
213
160
158
207
206
155
155
154
153
154
155
208
207
207
155
155
155
207
207
154
154
154
155
156
155
207
158
158
159
159
159
161
213
163
165
165
167
168
220
168
169
169
168
220
219
220
220
168
168
219
217
217
164
164
161
214
211
209
208
156
155
153
206
204
202
201
201
201
200
200
146
196
195
142
143
142
141
193
193
192
191
139
136
135
186
187
188
190
138
138
190
190
190
191
191
191
182
182
183
184
184
184
131
128
128
134
182
164
159
174
130
167
126
110
49
85
161
123
104
131
156
66
83
89
135
167
175
128
56
72
35
94
115
108
22
19
26
69
121
62
137
147
97
126
69
150
134
71
125
100
154
81
37
132
84
130
115
85
98
50
69
182
106
108
133
155
154
134
111
99
98
69
120
104
89
97
123
139
109
92
99
105
144
174
184
149
134
135
187
188
136
136
135
134
135
135
191
193
195
195
142
114
82
72
127
123
119
69
38
73
49
59
102
90
91
41
38
83
77
91
60
22
232
133
165
151
164
160
153
154
155
209
210
211
212
198
157
166
148
130
169
208
224
140
204
155
176
129
217
228
162
131
143
94
173
167
155
210
200
202
197
189
215
104
162
163
140
215
145
137
165
140
237
166
212
203
115
221
175
145
214
204
82
176
175
214
181
130
179
237
170
193
245
104
195
211
159
162
162
212
159
209
207
206
155
154
153
153
153
154
155
206
206
154
154
154
206
206
154
154
154
155
155
207
207
158
158
210
159
160
161
213
215
164
164
166
167
167
168
169
220
220
219
220
220
220
168
219
219
217
164
164
163
161
213
210
208
155
155
154
153
205
203
202
202
201
200
200
199
198
196
195
143
143
143
142
193
193
192
140
191
189
188
187
188
190
191
141
192
193
142
142
194
142
195
185
185
134
134
133
183
181
130
125
125
138
197
192
187
205
181
151
129
156
173
117
119
85
129
100
137
89
82
105
114
160
112
69
109
121
71
5
77
86
96
77
33
73
89
110
108
117
155
155
155
170
73
118
139
122
124
122
96
114
68
171
86
94
146
62
62
182
164
71
144
149
86
115
129
122
79
113
163
138
90
126
125
93
160
157
101
92
156
169
166
187
135
136
136
137
189
188
189
189
138
140
142
196
195
198
135
107
165
162
78
53
114
113
135
72
59
52
100
97
46
95
82
19
32
7
128
226
165
201
162
145
206
207
157
157
211
212
213
162
170
164
145
135
144
148
221
148
217
141
153
169
176
110
130
161
95
158
174
156
154
152
181
199
217
209
156
114
221
157
154
207
195
158
164
143
225
158
223
210
225
221
195
149
222
191
206
192
134
201
185
85
92
204
182
132
230
179
78
177
134
157
159
159
158
157
208
206
207
154
205
204
151
202
203
151
152
152
153
153
153
206
206
206
154
154
155
207
155
155
157
157
210
211
212
162
214
214
215
164
166
166
167
167
168
168
167
168
219
219
167
167
219
166
164
164
163
163
212
212
209
207
155
153
153
204
204
150
150
149
200
200
147
147
197
197
196
144
144
143
194
195
194
141
140
140
191
189
189
189
137
191
193
193
141
142
142
142
142
142
141
141
140
140
189
186
131
127
177
177
178
123
125
188
181
187
186
175
182
187
132
143
116
183
144
130
118
123
81
69
64
73
113
118
75
157
157
65
79
69
33
40
57
140
54
103
141
136
139
153
44
168
171
125
141
72
0
148
176
70
116
123
119
96
87
126
104
115
136
164
86
62
114
72
97
88
141
99
99
135
103
60
127
153
159
128
80
160
125
149
188
136
136
137
137
138
189
191
191
192
142
143
196
196
188
193
205
151
82
91
150
128
65
78
116
117
80
83
105
93
83
81
24
4
49
86
84
25
131
120
59
61
142
155
115
178
190
198
151
151
163
147
144
153
170
182
158
199
249
107
119
174
152
82
177
179
157
136
149
161
136
242
193
181
219
122
166
205
145
154
209
153
155
164
158
183
228
195
196
144
197
138
230
200
225
129
134
134
199
107
74
198
189
113
145
191
123
126
211
201
208
157
157
156
156
155
155
154
205
204
202
201
200
200
148
150
150
151
152
153
205
205
206
206
154
155
155
155
155
208
208
209
210
161
163
215
215
217
217
167
168
168
168
168
168
168
167
219
166
166
166
166
165
164
164
163
163
213
212
157
208
207
154
153
152
152
150
149
148
147
147
146
198
197
197
198
197
197
196
196
143
142
142
141
193
189
187
186
186
186
187
134
135
135
187
187
187
135
135
130
185
187
190
191
138
137
183
176
178
185
131
127
130
130
118
128
147
133
170
164
191
123
183
188
195
107
94
51
59
97
94
76
129
118
134
93
162
144
98
71
83
69
102
96
131
110
91
122
88
131
165
124
164
105
84
96
124
35
113
152
79
55
172
136
97
164
53
57
150
51
76
146
17
75
148
144
151
91
86
68
73
161
137
31
99
152
79
116
115
188
136
136
137
190
190
189
191
192
192
142
143
196
196
203
139
151
115
99
155
146
108
88
89
125
122
76
72
110
91
79
29
77
0
62
85
118
78
213
195
162
215
213
211
209
206
205
151
151
155
110
130
231
126
107
225
210
219
177
135
249
192
153
144
243
200
168
136
172
151
172
183
173
230
202
155
175
223
144
203
215
145
213
143
135
204
202
230
183
165
148
147
189
155
98
145
166
202
148
83
159
183
157
129
163
200
155
138
138
202
212
209
208
156
155
155
154
206
204
203
202
200
199
147
148
149
202
151
151
152
153
205
206
206
154
155
155
155
207
207
208
209
210
213
163
164
164
217
218
219
220
169
169
168
168
168
219
166
166
166
166
166
217
216
164
163
163
213
212
158
208
207
206
154
152
152
150
149
148
147
147
146
198
197
197
198
197
197
196
196
143
143
194
193
141
137
134
185
185
184
132
133
134
185
133
133
185
185
184
177
128
184
189
192
140
139
189
137
128
177
179
129
130
117
130
130
174
137
144
195
163
133
195
133
149
204
91
89
67
124
154
144
76
153
137
76
88
163
125
69
158
52
21
70
98
98
98
95
109
150
131
84
168
175
76
75
147
128
115
90
102
136
105
167
95
68
155
118
103
6
116
115
111
56
128
148
127
132
122
133
157
68
27
92
143
107
114
106
123
188
188
189
190
190
191
191
140
192
193
142
142
195
195
193
194
144
148
145
190
183
176
177
134
77
120
119
135
118
129
68
96
65
170
171
147
178
65
225
195
211
214
215
156
214
219
159
139
122
156
220
183
133
227
192
210
216
85
217
166
184
193
169
214
192
204
213
203
209
143
137
206
210
180
185
223
207
210
209
206
204
207
207
197
183
204
208
168
174
238
191
142
210
118
89
213
197
180
157
75
194
201
224
125
166
180
87
164
143
141
146
207
207
207
156
154
152
151
149
148
148
199
198
199
148
200
149
151
152
153
153
205
207
208
156
156
157
209
209
210
211
212
214
165
218
167
169
169
221
220
220
168
168
169
169
220
167
166
166
166
167
167
218
218
217
164
164
212
212
159
157
208
207
207
154
154
151
149
148
147
146
146
146
198
197
198
146
145
197
196
143
194
193
193
140
139
137
188
188
188
137
137
135
135
135
187
187
187
187
188
135
186
185
133
132
132
128
128
128
128
180
128
128
129
129
130
183
184
184
184
184
185
133
135
136
190
159
88
104
143
151
120
93
142
175
87
89
141
82
122
73
66
77
45
127
177
95
56
73
136
149
135
35
39
205
130
77
47
46
81
48
109
105
116
112
86
139
111
64
99
57
30
102
117
113
68
142
118
147
146
73
48
82
79
84
60
107
62
128
188
188
189
191
139
192
141
141
194
194
194
143
143
195
195
143
196
198
199
148
200
183
173
96
102
148
83
76
75
98
103
60
156
171
152
134
234
87
237
203
211
225
150
146
202
210
212
154
146
156
144
220
179
177
197
205
181
177
136
180
169
193
210
199
207
201
205
220
196
169
215
217
142
207
151
142
203
152
153
153
205
207
208
200
214
209
188
162
232
155
137
167
128
74
153
188
161
162
178
76
199
197
158
159
185
125
127
158
194
154
152
206
206
207
155
154
203
150
148
147
147
198
198
199
199
149
150
151
152
154
154
206
208
208
209
209
211
210
210
213
214
215
216
168
169
169
173
173
172
222
221
220
220
170
222
221
167
167
167
167
219
219
218
218
217
164
164
161
160
159
210
209
208
208
207
207
152
151
201
148
147
146
146
145
145
144
144
145
197
196
195
194
194
141
141
140
190
188
187
188
188
188
134
134
134
186
134
186
186
134
134
133
133
132
132
132
129
129
181
129
181
181
181
180
181
182
130
183
184
184
184
184
185
186
136
138
203
196
155
134
159
198
216
119
126
103
74
132
113
95
106
81
54
74
107
57
94
140
139
152
140
108
102
55
83
94
121
149
157
78
70
95
95
136
126
73
73
94
72
74
82
24
95
106
49
104
69
91
105
137
62
73
125
73
83
70
148
190
124
188
188
189
140
140
141
142
142
195
195
194
143
143
195
195
143
197
199
197
196
195
147
129
92
144
142
84
80
76
104
73
104
162
147
158
157
181
80
181
203
198
191
149
156
166
174
174
163
207
191
142
126
184
200
148
119
229
189
197
159
183
224
196
210
213
194
205
169
140
171
196
184
179
183
127
144
150
150
151
152
153
205
206
194
209
203
143
227
194
169
172
155
90
134
160
179
108
117
157
178
185
158
160
136
181
103
196
201
143
153
151
207
207
207
155
153
203
202
201
200
147
146
146
147
199
148
201
203
153
154
154
206
156
156
209
210
211
211
212
215
215
216
166
169
170
171
174
174
173
223
222
221
221
222
222
169
168
167
219
167
167
219
218
218
217
164
164
161
161
211
211
209
157
156
156
156
153
152
202
201
148
146
146
146
145
145
197
196
198
197
196
195
194
142
142
141
190
188
135
135
187
188
134
134
186
134
186
186
186
133
133
185
185
184
184
132
129
181
181
181
181
181
181
181
181
182
131
132
131
184
184
185
184
186
136
138
182
193
138
140
151
199
199
167
187
124
78
69
105
161
162
100
128
128
98
55
108
111
158
151
134
93
87
38
55
125
34
90
126
102
90
61
69
90
111
77
101
128
138
101
42
93
30
111
130
146
123
144
140
66
96
103
24
60
83
73
72
126
141
188
188
137
141
141
143
143
144
144
196
195
143
143
143
199
148
149
145
143
142
196
138
143
197
177
157
143
132
129
119
95
155
210
198
199
143
168
130
184
207
218
146
81
16
0
1
26
106
123
174
188
118
175
201
81
165
175
161
141
204
147
210
211
210
186
201
198
130
198
190
102
188
212
136
134
150
153
201
148
151
149
145
196
222
210
153
164
176
167
185
155
88
110
172
121
154
159
185
100
158
116
164
113
215
154
92
219
185
206
195
146
154
206
206
154
153
202
201
202
202
200
147
148
149
149
201
202
152
205
155
155
155
156
157
157
158
213
214
214
217
218
219
221
172
173
174
174
174
174
174
173
173
173
223
223
222
220
220
220
220
219
219
166
166
217
164
164
162
214
212
158
158
157
157
157
156
207
205
203
202
150
148
200
199
147
199
198
198
199
198
198
198
197
144
144
141
190
189
135
135
187
187
185
133
133
185
185
185
133
132
132
184
184
184
184
184
130
130
182
130
182
130
182
182
183
184
132
132
133
134
133
185
186
188
190
192
138
192
201
144
136
155
214
233
195
158
60
60
95
150
108
144
128
103
97
52
91
161
127
117
128
97
71
89
52
102
103
84
97
106
54
6
65
132
122
107
147
86
88
98
84
107
84
40
71
137
99
115
141
114
64
140
77
55
7
80
121
145
134
187
135
137
140
140
142
142
144
144
144
195
143
143
143
200
199
146
195
143
142
195
197
148
143
142
147
199
196
175
123
142
159
213
215
173
152
157
72
45
50
73
33
31
19
22
41
65
65
51
98
154
129
137
143
204
137
150
178
163
154
187
195
206
208
206
189
155
224
201
143
141
152
199
143
199
149
137
207
201
141
146
137
186
202
98
210
159
110
201
206
122
145
180
119
145
198
226
85
154
118
159
153
172
209
121
121
206
189
197
216
214
205
206
154
154
153
201
200
199
199
200
200
148
148
149
203
152
154
206
205
155
157
155
155
156
210
213
214
215
216
218
220
222
173
174
174
174
226
226
173
172
172
172
174
226
225
222
221
221
221
167
219
166
166
165
164
164
162
162
160
160
211
211
211
158
210
209
207
206
205
204
203
203
149
148
200
200
200
150
149
200
199
199
146
146
194
192
191
137
136
134
187
186
133
133
185
185
184
184
131
130
182
182
182
183
184
132
132
132
184
184
184
184
181
181
130
131
133
135
133
187
189
190
190
139
141
149
201
201
201
202
201
201
207
154
211
161
135
97
99
95
108
175
90
71
97
81
95
124
161
125
133
90
57
124
112
113
53
80
93
30
14
27
106
128
147
118
85
80
47
63
123
133
78
0
84
94
75
76
87
128
152
101
152
133
27
105
143
124
187
187
137
140
140
194
194
196
144
144
143
143
143
143
200
199
197
194
194
194
195
135
141
143
197
199
197
139
224
157
171
153
128
155
129
84
62
78
92
103
105
41
19
31
45
55
52
43
36
56
147
124
122
130
99
102
175
154
206
193
193
200
199
193
171
173
202
196
162
125
149
145
197
144
195
146
147
203
143
142
148
185
188
163
137
150
153
108
209
140
77
119
168
132
213
165
116
91
150
133
168
156
195
158
92
200
211
195
203
208
200
205
205
206
154
153
150
201
199
148
200
200
201
149
149
151
204
206
206
206
155
156
155
208
209
211
214
215
216
217
219
221
171
174
174
174
174
174
226
225
173
224
224
226
226
225
222
221
221
221
219
167
166
166
165
164
164
162
162
213
212
211
210
211
211
158
208
208
206
205
205
203
203
150
201
200
200
199
150
149
148
199
147
146
198
195
193
191
190
136
135
134
134
134
185
185
185
185
184
183
130
129
181
182
183
184
184
132
132
184
184
132
184
184
183
132
133
135
136
136
138
140
140
140
141
143
203
203
202
203
202
201
149
149
146
195
155
233
181
54
132
69
39
173
152
133
181
67
150
70
83
132
175
41
76
63
59
123
120
90
55
70
84
100
124
151
107
127
158
148
118
92
57
131
123
64
46
72
69
103
137
129
130
145
128
36
86
102
87
187
187
189
192
192
194
194
195
143
143
142
142
142
142
147
145
144
141
192
193
142
142
199
209
208
197
182
118
103
91
128
90
68
61
53
12
2
50
3
59
61
8
12
25
28
20
12
72
87
34
28
115
106
133
134
106
186
190
194
189
196
205
147
135
179
220
193
152
102
156
188
135
144
150
146
141
148
129
159
153
112
147
168
132
135
210
106
144
129
160
103
170
135
201
178
169
96
156
125
138
164
114
124
199
93
156
180
134
165
203
212
204
205
153
153
153
150
150
201
201
149
202
203
204
152
152
206
207
156
207
208
157
158
211
212
213
164
165
165
220
221
171
173
175
175
175
175
175
226
226
173
225
225
226
226
225
222
221
221
221
167
167
166
166
165
164
164
215
215
213
160
160
211
211
211
159
157
208
208
156
155
153
205
204
203
202
150
149
150
149
148
148
147
147
198
196
194
192
192
190
137
136
135
136
135
134
134
185
185
182
182
129
181
182
182
183
132
132
133
185
185
185
186
187
187
187
135
137
139
140
141
143
144
145
146
148
154
205
206
152
205
204
152
151
152
154
154
151
152
222
130
114
132
76
132
113
168
106
163
139
73
120
150
72
81
121
96
59
119
80
23
31
27
99
110
39
63
12
26
108
188
112
77
60
119
152
61
81
43
129
150
90
127
104
103
75
74
60
97
135
187
189
192
192
194
194
194
194
194
193
141
141
141
197
195
142
139
191
193
143
142
197
207
198
172
141
71
55
66
103
123
100
56
45
2
1
0
53
67
75
29
16
66
52
0
9
60
49
42
67
76
38
40
84
195
129
152
208
188
195
151
126
153
193
206
183
176
147
144
199
201
138
135
196
147
198
151
127
122
205
200
125
136
196
124
132
147
156
114
169
127
130
187
129
218
166
204
128
149
132
128
154
81
133
163
192
198
213
200
150
151
152
153
153
153
151
151
202
150
151
152
205
207
208
208
209
159
159
158
212
161
213
214
215
164
167
168
169
169
170
172
174
175
226
174
176
175
227
226
226
226
226
226
226
173
170
221
221
221
219
219
166
166
165
164
164
215
214
214
161
160
160
211
159
159
158
158
157
157
158
155
207
205
205
205
204
152
153
152
203
202
149
149
148
146
196
143
193
192
191
139
190
190
137
136
135
186
185
184
131
130
130
131
132
132
132
185
133
134
187
187
135
187
135
135
136
138
192
194
144
146
147
147
148
149
206
205
205
154
154
207
207
160
160
162
160
153
149
170
219
225
202
172
199
173
85
73
88
91
101
166
117
91
86
121
119
108
114
122
97
140
200
120
91
57
24
96
79
23
27
104
99
87
78
133
75
85
142
136
122
125
33
19
120
145
131
155
102
187
135
137
140
192
194
194
142
194
194
193
193
141
141
143
195
193
138
138
192
142
206
203
202
143
123
102
90
64
122
63
73
107
69
49
47
50
0
58
64
55
50
15
46
39
43
46
47
0
3
46
13
33
49
0
138
136
156
144
191
142
134
121
207
168
206
154
195
149
131
147
197
140
190
193
196
194
151
124
123
210
190
112
183
196
120
139
137
147
88
176
115
145
180
180
220
181
202
140
147
157
186
210
139
135
142
143
200
208
155
158
151
151
152
153
153
152
151
202
151
152
153
154
208
209
210
211
213
160
160
213
215
214
215
163
165
168
169
170
170
170
172
173
174
226
225
176
176
175
175
226
226
226
226
226
173
170
221
221
221
219
219
218
218
165
164
164
163
215
162
161
161
160
160
160
211
211
159
158
158
158
156
207
206
205
205
205
153
154
205
204
204
203
150
150
147
145
195
142
140
140
139
191
191
137
136
135
186
186
185
184
131
131
132
185
185
184
185
133
134
135
188
136
137
137
138
139
141
142
145
147
149
150
150
150
204
205
205
153
154
155
207
208
208
161
164
163
164
219
208
193
205
154
155
231
203
76
29
127
92
94
169
98
83
122
156
133
119
103
143
104
84
189
124
40
75
103
70
35
48
35
12
70
81
89
46
97
130
138
93
80
42
90
78
65
84
145
88
162
132
134
136
192
192
192
192
194
194
194
195
144
145
145
196
195
141
137
136
138
192
195
199
196
135
141
138
113
122
209
160
62
102
73
98
69
56
57
0
0
4
65
60
62
69
69
52
43
0
0
3
29
5
0
0
96
154
143
142
183
157
169
167
121
141
183
144
134
197
140
142
191
139
142
142
138
151
98
186
182
207
147
145
147
117
142
139
140
66
203
179
168
149
169
179
196
201
175
209
168
186
187
215
189
207
141
142
150
199
150
150
154
154
206
206
206
205
205
203
205
155
208
156
159
213
212
212
161
162
163
216
164
167
167
168
168
169
169
221
224
225
174
175
175
226
226
227
175
175
175
175
175
227
226
226
173
172
171
223
223
220
168
219
219
166
165
217
165
165
163
163
162
161
161
161
213
211
210
209
209
208
209
209
208
208
207
155
155
155
206
205
204
204
151
151
200
199
198
196
194
142
142
141
140
140
139
139
191
191
189
188
135
134
133
183
183
184
184
134
135
136
189
189
192
141
143
145
146
148
149
149
151
152
154
156
209
210
158
158
211
160
161
213
215
162
162
162
162
162
162
216
217
166
219
221
170
172
211
153
106
100
133
82
116
128
103
81
101
120
177
136
69
125
97
41
81
69
88
85
32
20
65
50
147
128
124
134
140
105
95
137
143
106
81
77
54
51
61
69
133
134
136
140
140
140
140
193
193
193
143
143
144
144
197
195
141
137
136
138
192
198
197
148
141
141
144
142
149
191
189
195
154
74
82
54
38
56
19
0
49
60
62
8
14
17
3
44
47
48
58
49
37
0
50
61
177
180
128
150
206
180
120
126
125
177
138
139
142
137
142
200
145
136
183
183
140
113
210
190
172
158
157
186
133
131
124
91
188
155
147
185
156
198
190
149
200
180
197
160
174
157
115
122
194
192
145
152
200
201
152
154
154
206
206
206
205
205
204
206
156
157
157
160
162
162
214
163
163
164
165
166
168
168
169
169
170
170
222
224
225
174
175
175
226
226
227
175
175
175
175
227
227
226
226
173
172
171
223
171
168
168
167
219
166
165
217
166
165
164
163
162
214
213
213
212
211
211
210
209
209
211
211
210
209
157
157
157
209
208
207
206
205
153
153
202
201
200
198
145
145
144
142
142
193
194
141
140
140
191
190
189
137
136
136
187
187
135
137
138
138
191
191
140
142
144
145
147
148
151
204
152
154
156
158
158
162
162
215
216
216
217
218
216
164
164
164
164
164
164
163
215
216
217
166
168
171
234
179
232
237
225
60
91
99
61
78
38
130
139
130
141
160
92
100
71
74
72
79
115
99
91
19
62
149
131
67
72
131
156
157
163
103
92
75
72
69
45
54
185
187
137
140
139
139
139
140
193
140
142
195
195
196
196
195
141
137
136
137
191
199
196
200
144
138
194
202
189
199
183
151
158
146
157
147
0
77
43
0
58
63
58
60
63
10
0
0
47
0
55
37
0
46
78
47
107
145
109
176
196
171
134
118
142
130
202
129
146
143
145
143
190
184
186
195
165
141
138
175
153
168
181
174
132
125
103
155
203
193
151
112
94
136
183
146
136
189
186
164
188
154
130
140
135
140
199
204
149
200
206
154
154
206
206
206
205
205
204
206
156
157
158
161
215
215
163
163
216
165
166
219
169
221
221
222
222
223
223
224
225
174
175
227
226
226
227
227
227
175
175
227
227
226
226
225
172
171
223
171
168
168
167
167
166
165
217
166
166
164
163
163
162
214
213
213
212
211
211
210
210
212
212
211
211
159
158
210
210
209
157
208
155
154
154
204
202
202
200
199
145
198
144
196
195
195
142
142
142
139
139
138
138
137
137
189
135
135
136
138
191
192
140
142
143
196
198
200
202
153
205
206
208
158
159
212
215
215
164
165
165
218
166
167
167
167
219
219
219
167
162
215
216
165
166
220
223
169
169
237
225
194
88
75
90
120
153
89
47
143
144
114
127
130
138
167
30
52
88
153
91
62
101
12
76
129
73
103
143
152
158
104
51
109
145
135
115
65
50
187
188
137
140
140
138
138
139
139
192
192
193
194
194
195
194
193
190
137
138
138
197
196
194
142
133
130
190
201
152
162
133
134
134
135
173
103
0
65
19
26
5
53
56
52
0
0
37
0
0
0
0
48
13
38
27
116
77
144
175
183
181
102
136
127
137
192
196
140
141
138
138
139
142
139
131
185
183
145
119
179
183
132
166
180
116
114
219
191
171
170
124
142
145
157
171
173
193
162
118
150
107
150
149
132
197
201
200
151
203
207
206
206
206
206
206
205
205
154
156
210
159
159
214
216
216
164
165
218
218
168
220
221
221
222
222
223
171
171
225
226
175
228
228
227
227
228
228
228
228
176
228
228
226
174
173
172
171
171
223
220
168
167
167
166
165
165
167
166
165
164
163
215
214
215
215
162
162
162
214
214
214
162
214
213
213
212
212
160
160
159
158
157
157
208
208
206
205
203
203
149
149
147
147
146
146
198
197
145
139
139
139
139
139
139
191
138
139
140
140
193
194
195
198
148
150
203
205
206
208
209
210
159
161
163
164
216
216
164
165
165
166
167
172
172
224
224
224
224
171
165
218
219
167
168
221
223
174
227
226
228
219
192
178
116
131
117
79
99
120
73
98
158
149
173
140
80
59
74
107
152
100
78
131
10
92
124
141
100
100
151
84
143
150
160
92
50
90
49
135
188
190
191
191
139
138
138
190
191
192
140
193
193
196
195
194
192
138
138
139
137
197
188
144
193
129
128
197
159
172
125
145
182
179
105
125
106
67
88
37
54
66
46
0
0
0
0
0
41
44
1
52
76
0
65
95
133
142
132
178
147
139
186
185
153
137
141
131
196
190
191
140
193
191
186
195
111
163
139
87
206
103
157
179
85
171
184
181
170
151
177
141
194
148
210
178
187
164
185
196
130
120
151
137
202
200
196
204
206
154
206
206
206
206
154
205
205
207
209
211
160
160
215
217
215
163
216
217
166
167
219
220
168
221
169
170
170
222
225
174
175
228
228
227
227
228
228
228
228
228
228
228
226
226
225
224
223
171
171
220
220
167
167
166
165
165
218
166
164
216
215
162
162
164
216
164
164
164
164
164
164
164
215
215
215
214
162
162
161
161
160
159
158
158
209
208
207
205
204
151
150
201
148
148
147
199
198
198
196
144
144
196
144
145
145
196
197
198
147
200
201
201
202
152
153
155
157
210
209
210
211
213
215
217
166
167
168
168
169
170
223
223
174
173
225
225
225
173
173
172
224
225
226
225
173
175
173
236
219
230
181
187
224
222
211
210
188
147
136
155
96
75
75
100
130
101
124
142
136
99
68
120
118
52
105
105
109
99
73
86
75
146
103
81
121
130
45
52
188
189
190
141
141
140
140
138
138
190
139
139
191
191
196
143
143
140
139
139
139
190
191
138
138
189
188
188
133
160
140
177
119
157
162
197
129
177
139
65
71
129
66
0
0
0
0
0
0
39
38
0
23
72
1
32
189
109
136
131
146
184
134
136
191
183
138
148
145
136
197
174
148
189
188
146
176
113
125
111
114
122
152
122
92
156
140
168
171
196
184
180
211
174
167
197
189
160
155
202
176
131
184
140
144
145
198
200
202
204
154
153
205
205
154
206
206
206
209
209
158
159
161
215
215
164
216
217
166
166
220
220
221
221
169
170
223
223
223
173
173
173
173
173
225
225
227
227
227
227
227
227
175
173
173
225
224
223
172
172
219
219
167
167
166
166
218
218
166
165
217
216
164
164
164
216
216
216
216
216
164
164
164
164
216
216
216
164
164
215
214
162
161
160
160
210
209
208
155
208
207
207
204
151
149
148
200
200
200
147
147
200
200
149
149
200
200
149
149
150
203
204
204
208
157
158
160
213
161
213
213
214
215
215
217
165
169
169
170
170
171
224
224
176
176
228
229
178
179
180
231
230
229
229
228
228
175
176
229
229
178
177
178
178
179
221
222
189
198
160
110
166
85
105
94
124
115
135
153
67
117
119
127
124
22
60
45
58
75
129
153
161
165
48
72
90
118
117
62
188
189
191
192
192
192
140
191
190
190
139
139
191
191
143
142
194
193
192
191
191
191
190
138
138
190
190
138
123
202
140
201
174
158
100
117
166
178
185
151
37
0
0
0
0
0
37
0
14
53
66
63
22
17
15
110
148
165
151
139
169
178
124
136
138
181
182
195
145
134
188
177
186
134
100
143
116
173
127
114
161
153
152
18
172
194
120
166
188
177
181
184
184
154
167
134
131
164
125
189
152
199
168
136
146
199
200
202
203
205
155
153
205
205
154
154
206
206
156
157
158
159
160
162
215
163
215
216
217
166
167
167
220
220
169
221
222
222
222
173
173
173
173
225
225
225
226
226
174
226
226
174
174
225
172
224
223
223
172
172
219
219
167
167
167
167
166
166
166
166
217
217
165
164
216
216
216
216
216
216
164
164
164
164
164
164
164
216
216
163
214
213
213
212
212
211
210
158
157
208
207
207
156
154
205
204
152
153
205
204
152
153
153
154
206
205
208
156
157
158
159
211
211
160
161
214
215
216
217
166
167
168
221
222
223
224
176
228
227
228
229
178
178
180
181
232
233
182
183
236
238
238
237
236
236
235
234
232
232
231
230
231
179
179
164
229
180
176
184
185
212
99
106
87
7
184
101
225
152
77
127
134
83
117
79
65
56
71
71
153
129
111
111
49
147
110
77
70
105
188
189
190
191
191
191
191
191
190
190
190
190
138
138
138
139
192
192
193
192
191
139
138
137
190
190
138
139
188
121
200
188
212
109
132
89
78
0
52
0
48
9
0
9
7
52
46
48
0
49
44
42
6
13
13
43
99
121
130
167
159
159
182
136
140
199
192
185
135
136
193
187
112
59
61
69
165
175
136
83
132
113
62
118
115
145
89
81
78
82
138
189
157
154
184
190
124
152
140
137
171
204
153
138
148
150
202
204
204
154
155
153
205
205
154
154
206
206
156
156
157
210
159
161
162
162
215
215
216
165
166
167
220
220
220
220
221
221
222
172
172
172
172
224
172
172
173
173
173
173
173
173
173
224
172
223
223
222
171
171
220
220
220
220
168
167
167
167
167
166
218
218
165
165
165
217
217
217
217
217
165
165
217
217
165
165
165
217
166
165
216
215
214
214
213
213
160
159
210
209
210
158
157
207
206
154
155
155
208
210
159
159
212
160
212
212
212
212
161
162
163
215
216
166
166
167
168
220
221
222
171
172
225
225
226
227
178
179
231
232
233
234
182
181
181
234
235
184
184
237
237
237
238
238
236
236
235
236
236
184
235
235
183
183
233
226
174
183
187
182
239
249
179
82
51
100
239
241
212
145
96
64
103
96
121
64
60
73
75
69
83
76
121
85
119
136
47
68
113
187
188
190
192
191
191
190
191
191
138
189
189
137
137
136
137
190
191
192
192
191
190
137
189
189
190
138
190
174
194
178
181
150
132
122
122
65
92
76
56
62
65
71
41
38
0
52
51
0
0
50
43
0
1
60
93
60
97
128
155
153
171
177
184
142
140
187
145
150
132
123
26
28
142
216
163
145
17
91
114
95
113
64
130
137
172
147
166
62
97
32
78
98
184
141
121
121
125
138
116
124
140
118
193
201
202
150
204
204
154
154
153
153
153
154
206
206
154
155
156
157
210
159
161
162
214
214
215
215
216
166
166
219
219
167
168
168
221
221
171
171
171
171
171
171
171
172
172
224
224
224
172
224
171
171
171
222
222
171
170
169
220
220
220
220
220
220
220
219
219
218
218
218
166
166
218
218
218
218
218
218
218
218
218
166
218
166
166
166
165
217
216
215
214
214
214
213
212
211
211
210
210
210
209
208
156
209
209
158
161
161
161
214
162
213
213
161
162
215
215
216
217
217
168
169
169
170
222
223
223
223
224
225
227
176
177
180
180
233
234
182
182
183
182
235
183
184
185
238
187
184
236
237
236
236
236
184
185
237
238
238
237
237
237
229
185
236
231
183
189
228
253
113
158
109
182
233
178
182
189
158
152
106
51
104
112
57
46
55
132
123
138
81
127
152
97
76
51
76
187
188
189
192
191
190
190
139
191
190
189
188
136
136
134
136
136
138
140
191
191
191
138
189
189
190
191
192
178
133
134
151
155
48
2
94
80
91
102
103
87
65
4
6
53
46
0
0
42
0
0
0
0
57
51
12
25
32
58
119
160
119
170
210
165
157
132
124
114
35
156
44
38
0
13
43
7
10
58
58
46
89
66
0
74
156
201
165
191
167
141
128
96
129
131
118
98
183
178
114
219
119
135
202
201
202
202
203
203
153
205
153
153
153
154
154
206
206
155
155
208
157
159
161
213
213
213
214
215
215
165
165
166
218
218
219
168
220
220
223
223
223
223
223
171
171
171
223
223
223
223
223
171
171
171
171
170
169
170
170
169
169
221
221
220
220
168
168
220
219
167
166
166
166
166
218
218
218
218
218
218
219
219
219
167
167
219
167
167
218
165
165
216
215
215
215
214
214
213
212
211
211
162
161
160
212
161
162
163
161
213
213
162
214
215
163
165
166
166
219
220
220
220
222
170
170
223
223
171
176
176
229
230
231
232
233
237
237
185
238
186
187
239
239
240
240
189
190
191
191
186
238
239
239
238
187
188
187
239
240
240
240
188
240
246
235
233
241
240
176
239
190
187
190
248
217
215
243
227
234
234
239
161
139
127
65
106
117
77
86
90
71
98
75
83
72
70
61
73
186
186
187
188
137
138
138
190
190
137
136
135
135
135
136
136
187
135
134
134
133
186
186
187
135
188
136
188
189
190
133
121
61
28
57
33
59
78
65
53
101
66
92
29
11
47
59
49
42
0
0
0
46
48
55
11
7
65
73
26
36
96
95
95
201
107
9
0
43
149
0
3
6
62
0
58
0
0
0
0
62
55
106
10
0
60
0
150
153
137
122
77
94
119
176
167
110
191
166
115
206
124
141
208
206
205
205
153
153
206
207
204
152
152
205
153
154
206
154
155
207
156
157
158
159
160
160
213
214
215
216
165
165
217
217
218
166
167
219
220
221
222
223
171
170
170
222
222
170
170
170
170
170
171
171
171
171
171
171
171
170
222
222
222
222
222
170
169
169
168
168
168
167
167
168
220
168
168
168
168
220
220
220
220
220
168
220
220
167
167
166
166
217
217
165
217
217
164
216
216
215
162
163
163
163
163
163
163
163
215
215
216
164
165
165
166
219
168
169
222
171
224
225
174
225
226
226
174
175
176
229
177
179
232
234
235
236
237
185
238
187
240
240
189
242
242
242
243
191
192
245
244
192
192
191
191
190
188
240
188
188
187
187
187
239
239
239
187
238
185
237
238
186
186
185
185
236
236
231
181
233
233
242
238
178
165
213
223
109
90
116
65
87
77
86
83
52
123
126
185
133
134
136
136
137
137
138
189
189
187
135
135
135
136
135
135
134
134
134
133
185
185
134
134
134
135
187
181
192
141
137
96
56
55
52
46
34
126
93
50
113
98
69
66
22
46
0
0
54
0
44
44
48
2
10
6
9
61
63
21
26
70
151
88
0
19
87
58
20
31
23
12
48
0
19
32
0
0
0
12
48
114
76
96
0
18
56
91
183
102
72
154
112
113
153
193
123
90
144
152
111
158
206
207
206
154
154
154
207
207
204
152
153
205
154
154
206
207
155
207
156
157
158
158
160
160
161
161
162
215
164
165
217
217
217
166
166
219
219
220
221
171
171
222
169
169
169
169
169
169
169
169
171
171
171
223
223
223
171
170
222
222
170
170
222
222
221
169
169
168
168
168
167
168
220
220
220
220
168
168
220
220
220
220
220
220
220
167
167
167
218
218
218
166
166
217
165
165
216
216
215
216
164
164
164
164
216
164
216
216
216
165
218
218
219
168
169
222
172
173
226
226
176
176
228
229
177
177
177
177
178
232
233
235
184
238
238
238
187
240
241
189
191
191
191
243
244
244
245
194
194
193
193
244
244
244
242
190
189
189
188
188
187
240
188
188
239
239
238
238
239
187
186
186
186
185
185
236
238
238
233
234
187
190
236
222
246
246
57
116
138
45
52
110
126
105
92
119
183
132
132
134
135
135
136
137
189
188
187
134
134
134
135
135
134
186
133
185
184
184
132
132
132
132
132
183
189
192
184
189
179
82
34
111
70
81
73
108
112
130
64
97
99
49
58
8
12
57
50
0
49
46
0
0
50
0
46
49
16
25
68
0
0
43
62
38
0
0
44
47
0
0
55
40
47
62
23
42
13
88
38
66
33
151
87
75
81
113
134
131
163
109
99
70
135
137
152
223
120
97
162
202
211
210
157
208
208
156
157
207
155
207
208
156
157
209
209
209
209
209
158
158
210
160
161
161
213
213
214
162
164
216
216
165
165
166
218
220
220
222
223
223
222
170
169
169
169
169
221
221
169
170
170
170
170
170
222
222
170
222
222
170
222
222
222
222
170
169
169
169
168
168
168
168
220
220
220
220
168
169
221
221
221
221
221
221
167
167
219
219
219
167
167
166
218
166
166
167
166
218
218
218
218
218
166
166
166
166
219
219
220
221
222
170
172
173
225
227
176
177
229
229
230
230
230
179
178
180
232
233
235
237
238
187
241
241
242
242
243
192
193
194
194
194
195
195
247
248
197
197
196
196
248
247
247
194
194
245
244
191
190
189
243
190
242
242
241
241
241
188
188
188
188
239
187
186
228
229
232
235
234
232
179
181
235
243
177
203
209
211
209
246
231
179
114
96
106
130
130
131
133
185
186
186
188
188
136
134
134
133
133
186
134
134
185
185
184
183
185
133
132
183
183
183
130
133
131
190
127
131
185
172
94
115
65
61
111
151
120
155
91
86
90
120
112
46
71
57
4
3
0
0
47
42
46
0
0
0
0
36
0
8
41
31
0
9
0
0
39
0
0
0
10
33
65
63
100
140
136
124
27
49
22
85
34
104
94
87
43
46
81
137
91
10
88
124
134
98
148
206
207
215
214
213
212
212
212
160
159
159
211
212
160
161
161
212
212
212
212
160
212
212
163
162
162
214
162
214
162
163
163
216
164
165
165
217
219
220
221
222
222
222
169
167
167
167
167
167
219
167
169
169
169
169
169
221
221
222
222
222
222
222
222
222
223
223
222
222
169
169
169
168
168
220
220
220
220
168
168
220
220
220
220
220
168
167
167
220
220
169
169
169
167
167
167
167
167
168
220
218
218
218
218
166
166
166
169
169
170
171
172
172
172
175
228
229
230
231
180
181
232
233
233
233
182
182
182
183
184
186
239
241
241
243
244
244
245
194
195
195
196
249
249
249
250
250
199
200
199
199
199
250
250
197
198
249
248
247
246
192
191
192
192
243
243
242
242
190
189
189
188
188
188
187
187
197
242
186
185
231
228
179
188
226
231
234
233
190
180
225
232
178
229
201
158
138
130
130
131
132
185
186
186
188
188
136
134
133
133
185
134
134
134
133
132
184
183
133
133
132
183
183
183
130
143
177
185
175
123
123
159
176
103
81
155
141
98
112
181
164
100
98
153
136
62
36
67
8
56
49
0
44
44
44
48
0
0
0
0
0
0
46
60
34
44
46
0
0
0
1
26
53
13
44
131
83
160
124
100
31
97
0
111
26
17
25
64
83
82
72
68
22
7
17
137
145
87
142
200
204
215
215
214
214
213
213
213
160
160
212
213
213
162
162
161
161
213
213
161
213
212
163
163
163
215
163
162
162
163
215
215
216
165
165
165
219
168
169
222
222
221
221
167
167
167
167
167
167
167
169
169
169
169
169
169
221
222
222
222
222
222
222
222
223
223
222
222
221
221
221
168
168
220
220
220
220
220
167
167
167
167
219
219
167
219
219
220
168
169
169
221
218
166
167
167
168
220
221
218
218
166
166
165
217
217
169
170
223
172
171
172
172
228
228
230
230
179
232
232
183
235
183
184
184
184
183
184
185
185
187
189
190
244
244
193
194
195
247
248
249
249
250
250
250
251
251
252
200
200
251
251
199
198
251
250
249
248
246
192
192
192
244
244
191
191
190
190
241
189
189
188
188
187
187
180
232
236
190
183
234
184
183
184
181
179
179
227
179
177
170
173
177
242
216
169
183
131
131
132
185
185
185
186
186
186
185
133
133
185
185
133
133
133
133
133
132
131
183
182
182
181
181
129
133
184
181
180
127
125
125
122
169
149
92
99
167
128
175
187
178
157
164
103
97
148
55
51
93
86
72
51
47
2
49
1
11
52
52
31
13
15
27
13
59
58
47
40
0
0
0
0
46
8
6
59
74
80
31
30
0
3
0
0
18
17
76
68
42
23
33
80
0
16
12
99
82
164
191
205
214
213
215
216
216
164
162
165
165
217
217
217
217
165
165
165
217
216
164
163
215
217
165
165
216
215
162
161
162
214
214
215
164
164
216
218
166
167
167
220
220
220
220
220
168
168
168
168
168
169
169
169
170
171
171
171
223
223
171
223
223
223
223
223
223
222
170
169
221
221
168
168
220
220
220
220
220
169
168
168
219
219
218
166
168
220
220
168
168
220
220
220
169
169
169
222
222
222
223
169
167
167
168
169
221
221
170
223
224
173
174
175
231
232
181
182
183
184
237
237
237
185
185
185
237
237
186
187
188
189
190
243
244
193
194
195
248
249
250
252
200
201
201
202
202
254
254
254
254
254
254
202
202
202
253
252
199
198
196
195
195
246
246
245
192
191
191
192
192
191
191
191
190
190
244
243
191
242
186
185
184
184
183
234
181
179
178
177
230
178
178
179
232
233
232
184
184
184
132
132
132
184
185
185
185
184
184
184
184
184
184
184
184
184
184
183
183
183
182
182
181
181
181
130
181
181
179
178
178
125
126
177
177
119
110
152
145
125
138
119
173
190
126
100
101
171
104
81
49
33
99
82
30
77
18
11
46
0
0
91
98
89
35
53
38
51
44
0
0
47
0
28
0
4
50
53
1
0
52
37
0
0
4
22
64
70
62
25
0
66
33
52
55
6
0
121
151
202
224
215
215
215
164
165
166
168
221
169
221
221
221
221
169
169
221
221
220
220
219
219
219
219
219
218
217
216
163
164
216
216
164
164
216
216
217
217
217
217
218
218
218
219
219
220
220
220
221
221
222
170
222
222
170
170
170
222
170
170
170
170
222
222
222
170
169
169
169
168
168
168
168
168
220
220
220
168
166
218
218
166
166
166
218
220
220
169
169
221
169
170
222
222
170
171
223
223
224
224
169
169
169
170
171
224
224
224
226
226
175
176
176
234
234
236
237
186
187
187
240
239
187
187
187
239
240
189
241
243
192
193
193
246
247
196
197
250
251
252
254
203
203
203
204
204
255
255
255
255
204
204
204
204
204
255
255
202
201
200
252
251
251
250
249
248
195
195
246
246
193
193
244
191
191
192
192
192
191
188
188
238
237
185
235
234
233
180
180
234
234
182
181
233
232
232
184
184
184
132
132
132
132
185
133
133
132
132
184
184
184
184
184
184
132
184
131
131
131
130
130
129
129
181
180
129
127
180
127
178
126
122
176
179
175
166
101
92
116
122
121
139
127
102
145
145
110
103
165
139
99
37
31
37
87
31
77
64
22
0
60
118
102
105
79
63
72
61
7
0
45
44
52
5
0
0
39
49
6
36
56
0
0
7
19
25
78
66
84
53
60
26
50
63
26
0
82
205
212
230
218
218
164
165
166
219
223
221
221
221
221
221
221
169
171
223
222
222
221
221
221
221
220
220
167
166
217
217
216
216
216
164
164
216
216
217
217
217
165
165
217
217
219
219
219
220
221
221
221
222
222
222
170
170
170
170
170
170
222
222
222
222
222
222
170
169
169
168
168
168
168
220
168
220
220
220
220
218
218
166
166
166
166
218
220
220
169
169
170
170
171
222
223
171
224
224
224
224
223
170
170
171
224
225
174
224
225
226
227
229
177
230
235
236
237
186
188
187
188
189
189
189
241
189
189
190
242
243
244
192
194
194
246
247
248
249
250
251
252
255
203
203
255
204
204
205
205
255
205
205
205
205
205
205
205
204
203
203
202
253
253
253
252
252
251
249
249
248
248
247
246
246
192
192
244
243
190
189
188
188
240
237
237
184
184
182
181
181
182
233
233
233
180
180
231
185
185
133
132
131
131
183
132
132
132
131
131
131
131
183
183
183
183
183
183
182
131
131
130
130
181
181
181
179
128
129
129
130
129
128
127
125
175
175
174
176
126
167
163
130
109
78
149
106
99
165
175
124
162
158
120
92
142
118
48
40
72
16
8
62
114
118
75
90
72
58
86
74
25
14
64
86
23
75
82
78
20
19
65
2
0
62
80
81
160
91
73
126
122
109
78
81
85
124
90
50
172
154
204
225
170
220
218
166
168
170
222
222
222
170
170
170
222
224
224
172
171
171
222
222
223
170
222
221
168
219
219
218
218
218
217
164
164
164
219
218
218
166
165
164
164
218
218
219
220
221
222
222
223
223
223
170
221
169
169
169
169
221
221
221
221
221
169
169
168
168
168
167
219
220
220
220
220
220
220
220
218
166
167
168
168
168
169
220
221
221
170
171
172
172
172
224
225
225
225
226
225
173
172
172
225
226
228
177
175
228
229
230
231
180
181
186
239
239
240
189
242
243
192
192
192
192
192
244
244
244
245
246
247
248
197
197
249
250
251
252
201
202
205
255
205
255
255
206
207
207
207
207
207
207
207
207
207
207
207
207
206
206
206
205
205
255
255
255
254
253
253
253
252
199
197
195
195
239
239
187
187
187
187
188
186
238
186
186
185
185
185
180
232
232
231
178
178
178
184
184
184
183
130
130
182
182
130
182
182
182
130
182
184
184
184
183
183
183
183
181
129
129
129
181
181
181
180
128
127
127
126
126
178
125
125
177
177
177
125
125
176
173
108
111
181
117
82
83
159
170
118
165
130
134
147
96
108
134
117
103
30
69
117
72
91
78
93
97
110
48
114
68
62
117
157
78
110
148
57
51
84
118
84
0
61
151
123
187
135
161
130
182
177
180
107
65
104
63
105
57
103
163
209
177
161
228
217
182
176
172
224
224
173
173
174
226
226
226
174
173
173
224
224
222
170
170
221
169
220
168
221
221
220
167
166
165
165
217
217
217
217
165
165
165
219
167
167
220
221
221
221
221
221
220
168
220
220
220
220
168
220
221
222
222
222
221
169
168
168
167
167
219
220
220
220
220
220
220
220
222
170
170
169
169
169
169
169
221
222
170
223
171
171
171
224
173
225
226
227
175
172
173
226
228
228
229
177
178
179
179
233
182
183
183
237
238
240
242
243
244
245
193
193
193
193
193
244
247
247
248
248
249
250
251
200
252
253
253
254
203
204
206
255
255
255
255
255
255
209
209
209
209
209
209
255
255
255
255
209
209
255
209
207
207
207
206
255
205
205
205
204
204
203
201
198
198
248
195
194
245
242
240
188
188
240
239
238
235
234
234
234
182
182
233
232
232
180
184
184
183
183
182
130
130
182
182
182
182
130
130
130
184
184
184
183
183
183
183
129
129
129
181
129
129
181
180
180
179
127
127
178
178
177
125
177
177
177
125
125
120
187
180
123
170
88
46
106
158
173
178
118
124
169
171
128
115
115
136
50
25
94
107
98
73
102
106
139
134
120
66
77
99
58
169
185
92
155
100
136
90
72
87
100
95
126
211
163
161
126
118
173
198
198
213
79
124
98
151
121
15
36
109
145
188
164
229
216
221
224
172
173
173
173
226
226
226
174
174
173
225
172
172
171
171
222
222
222
169
169
169
221
220
168
166
165
165
165
217
217
217
217
165
165
167
167
219
220
220
221
221
221
221
221
221
220
220
220
220
168
168
221
170
170
222
221
221
220
168
167
167
219
220
220
220
220
220
220
220
222
170
169
169
169
221
169
169
222
222
222
223
171
171
223
224
225
174
226
227
227
173
174
175
177
229
230
230
231
232
232
233
182
183
235
238
239
241
190
192
245
246
246
194
194
194
245
245
195
196
248
249
198
251
251
252
253
253
254
255
204
204
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
209
255
255
208
255
255
207
207
206
206
206
205
205
255
254
199
198
248
196
247
245
242
241
188
240
240
239
238
235
182
234
234
182
182
233
233
232
232
183
183
131
130
182
129
129
128
128
128
180
128
128
128
182
182
182
182
182
182
182
129
129
181
181
129
181
181
181
129
128
128
127
127
127
179
127
127
179
179
127
127
127
173
176
125
183
136
135
157
155
167
162
91
155
162
191
119
121
157
103
96
93
62
116
140
106
123
78
136
137
122
157
84
61
76
128
114
124
194
163
139
134
102
127
83
71
16
127
173
192
133
170
123
148
199
219
123
166
145
35
220
33
35
14
71
133
192
167
179
226
225
225
173
174
174
227
227
174
174
174
173
225
172
172
173
172
224
224
171
171
171
170
222
221
220
167
166
166
165
217
217
217
217
217
166
165
166
218
219
219
219
167
168
220
221
221
221
222
222
221
169
169
169
169
169
221
221
221
220
168
167
167
167
220
220
220
220
220
220
220
223
171
170
170
170
222
222
171
171
223
224
224
171
172
172
225
226
227
228
228
229
176
177
178
179
232
233
233
232
233
234
235
236
185
186
241
242
243
245
194
195
247
248
249
249
249
249
198
199
199
200
253
253
254
255
255
255
255
255
255
206
207
208
255
255
255
210
210
210
255
255
255
255
255
255
255
255
255
255
255
211
255
255
211
211
255
210
210
209
209
255
255
255
255
204
201
252
198
197
248
246
243
190
241
241
240
188
186
184
235
183
183
183
234
234
233
233
233
182
182
130
129
181
181
180
127
127
127
179
179
127
127
127
127
128
180
181
181
130
129
129
181
181
181
181
181
182
129
129
128
128
128
128
180
128
128
180
180
128
128
127
179
184
182
128
129
127
175
180
196
193
160
79
46
66
158
94
130
95
85
116
132
96
154
150
130
112
144
104
71
61
103
161
93
14
149
133
97
169
162
93
102
174
109
110
0
0
80
114
197
115
84
149
190
132
54
110
170
84
53
45
46
22
57
49
111
189
171
172
227
227
227
175
176
176
177
175
175
175
174
226
225
225
173
173
173
172
172
171
223
223
170
222
221
219
219
166
165
165
217
217
218
218
166
164
164
216
217
217
166
166
166
218
219
220
221
221
222
222
222
169
169
169
168
168
221
221
220
220
167
167
167
220
220
220
220
220
220
220
171
223
171
171
171
223
223
172
173
172
172
225
173
173
174
227
228
229
229
230
178
178
178
231
233
234
235
235
234
235
236
237
239
187
188
244
245
246
195
197
198
251
250
251
252
252
253
202
202
202
203
255
255
205
206
206
207
207
208
209
210
210
211
255
211
255
255
212
213
214
255
255
214
214
255
255
255
255
255
214
214
255
214
212
255
255
255
212
211
255
210
255
255
207
205
203
203
199
199
198
248
245
192
243
242
241
188
187
185
236
235
236
235
235
183
234
234
234
182
182
182
181
129
180
180
126
126
126
178
126
126
126
126
126
127
128
129
129
129
129
129
181
181
181
129
181
182
182
181
129
128
128
128
129
181
181
181
129
129
181
178
172
174
123
182
137
135
134
180
187
191
180
167
86
54
111
60
70
115
110
118
121
57
101
160
110
176
170
158
84
83
63
92
140
63
141
105
48
52
69
99
157
88
126
88
63
74
22
2
76
67
52
106
100
81
15
38
84
72
48
0
0
57
11
34
116
214
176
221
227
227
227
228
176
177
177
175
175
175
174
226
225
173
173
172
172
224
223
171
171
223
223
222
221
220
219
219
165
165
165
165
166
218
218
163
163
164
216
165
165
165
218
218
218
220
221
222
170
171
223
223
222
169
169
169
169
221
220
220
219
167
167
220
220
220
220
220
220
220
223
223
171
223
223
171
171
173
172
173
173
173
226
226
227
228
228
229
230
179
179
178
179
232
233
234
235
183
183
184
185
238
239
188
189
245
245
247
196
198
199
252
252
252
253
254
203
203
203
204
255
255
255
207
207
207
208
208
209
210
211
211
212
255
255
255
255
213
214
215
215
215
215
215
215
255
255
255
215
215
215
215
215
212
255
255
255
212
255
255
211
210
255
255
206
203
254
252
199
198
197
245
244
192
242
242
189
188
237
236
236
236
236
235
183
234
234
234
181
181
181
128
127
179
179
125
125
125
177
177
125
125
127
127
179
179
127
127
127
129
129
182
182
182
183
183
182
182
182
182
182
182
130
129
129
182
130
131
183
183
182
131
132
132
133
134
134
186
135
134
185
185
185
184
175
167
106
95
156
150
119
188
78
71
74
124
131
82
102
111
152
187
161
150
10
113
100
78
167
77
16
0
42
41
46
52
53
51
0
0
0
44
0
50
0
47
0
60
61
67
66
30
41
7
0
46
91
185
221
226
177
230
228
227
229
228
174
174
174
173
173
172
172
170
222
222
222
222
222
170
171
171
171
170
169
169
169
168
168
167
166
165
164
216
216
164
164
216
165
217
217
215
163
164
167
168
221
222
169
169
222
222
171
171
171
219
167
219
219
219
167
167
168
220
168
168
168
168
168
222
222
223
223
172
172
172
223
224
225
175
176
177
177
229
229
230
230
231
179
178
179
180
233
183
236
237
237
237
187
188
190
191
192
245
194
196
197
199
200
253
254
201
254
255
205
255
255
255
207
255
255
255
210
211
211
211
211
212
212
255
213
215
215
215
216
216
217
217
217
217
217
255
217
217
255
255
218
218
255
217
216
255
215
215
255
255
214
214
255
255
255
255
255
255
204
204
202
253
252
199
196
246
194
243
243
190
189
238
237
237
237
237
184
183
234
233
181
181
128
128
127
127
127
179
125
125
125
125
125
125
125
124
177
125
125
177
178
178
180
128
181
181
182
130
182
182
182
182
182
130
182
182
129
129
130
130
182
183
183
132
134
134
134
135
135
135
136
187
187
188
187
135
135
191
195
192
184
188
183
108
87
136
163
100
145
129
174
163
174
138
160
155
88
92
134
178
157
21
0
0
0
0
50
52
49
0
44
45
0
0
43
0
0
49
2
0
4
4
13
65
83
94
0
42
26
125
151
191
226
226
174
173
225
225
226
174
173
173
225
172
172
224
222
222
222
222
222
222
222
223
223
223
170
169
221
169
168
167
167
166
164
164
163
214
214
163
215
215
215
215
214
162
163
165
166
219
220
168
168
168
221
221
170
170
166
166
219
219
219
167
167
220
220
168
168
168
220
220
222
222
223
223
172
171
223
223
173
226
227
176
177
178
229
230
230
231
178
178
178
180
181
234
235
237
185
186
186
239
241
191
192
192
193
195
196
198
200
201
202
255
255
204
206
207
255
255
208
208
255
255
255
211
212
212
212
213
213
213
214
255
255
216
216
217
217
217
255
255
255
255
255
255
218
218
219
255
255
255
255
217
217
215
215
215
255
214
214
255
255
255
211
255
255
205
205
203
254
253
200
196
195
195
192
191
191
241
239
238
238
238
185
237
236
182
234
233
180
128
128
127
127
178
126
124
176
176
176
124
124
124
175
176
176
177
125
178
178
180
128
181
181
182
130
130
131
183
183
183
183
183
183
130
130
130
131
183
183
132
134
135
186
187
135
135
187
188
188
189
188
188
136
136
138
144
195
190
193
140
178
114
85
178
161
148
101
71
145
146
123
81
97
80
102
155
124
28
47
49
0
0
0
1
0
0
0
0
0
43
0
45
0
50
52
0
0
2
58
14
62
72
67
76
0
50
99
140
240
229
226
173
174
174
225
226
225
173
173
172
172
171
223
222
222
222
170
170
222
222
223
223
223
222
221
221
221
167
167
166
166
216
215
163
161
214
214
214
162
162
214
213
214
162
164
165
218
218
219
219
167
220
220
220
221
217
166
166
218
219
219
167
168
220
168
168
168
168
220
222
170
171
171
171
171
171
172
173
226
227
229
229
230
230
230
230
230
178
179
179
180
182
183
236
237
238
187
187
240
242
243
244
193
194
196
249
251
252
254
203
204
205
206
207
208
255
255
209
210
255
255
255
213
213
255
255
255
255
214
214
255
255
216
216
216
217
217
255
255
255
255
255
255
255
218
219
255
255
255
255
217
217
216
216
215
215
215
255
255
255
255
212
255
255
255
205
255
255
202
200
197
196
195
193
192
191
190
240
239
186
186
186
237
236
183
182
182
179
179
127
126
126
126
125
123
175
175
123
123
175
175
176
176
177
126
128
128
181
181
181
130
182
183
183
131
132
184
184
184
184
184
184
131
131
132
132
185
185
133
136
135
188
187
187
187
187
187
187
188
189
189
138
138
140
139
189
189
193
196
196
135
142
138
154
180
132
139
153
135
94
95
164
151
164
95
41
22
85
59
53
79
76
67
4
3
5
0
0
0
0
50
2
6
60
64
53
55
3
65
70
64
70
131
2
20
59
166
185
237
228
172
176
230
226
229
224
172
224
224
171
171
222
222
170
170
170
170
170
170
171
171
223
170
169
221
221
219
166
166
217
215
215
214
160
160
160
160
160
160
212
212
212
161
161
162
162
215
216
216
217
165
166
218
218
216
164
217
218
218
219
167
168
168
168
168
168
168
168
170
170
171
222
171
171
171
172
226
227
228
229
230
231
230
230
230
231
179
179
180
182
183
185
186
238
239
187
189
242
242
192
246
195
195
198
199
200
202
255
205
205
206
207
208
209
255
255
255
212
213
255
214
215
255
215
255
255
255
255
255
255
217
255
218
218
218
219
219
255
255
221
221
221
221
221
220
255
255
255
255
218
218
255
255
216
216
215
215
255
255
255
214
212
255
208
255
255
255
255
254
199
198
197
246
246
193
192
241
241
188
187
186
186
185
183
183
234
179
179
179
178
177
125
125
123
175
123
123
175
175
175
126
127
128
129
131
132
132
131
183
184
184
184
185
133
133
133
185
185
185
185
185
132
132
133
133
186
186
134
136
136
135
186
186
186
186
185
187
136
137
138
190
191
141
138
189
192
191
188
139
167
136
158
201
210
168
179
203
203
173
204
168
108
126
143
125
47
85
56
84
93
50
102
90
29
29
26
3
3
55
7
11
67
69
17
14
79
32
87
30
70
133
179
117
4
140
170
155
185
173
220
225
176
171
174
172
172
224
223
223
170
170
222
170
170
222
222
170
170
171
171
223
170
169
169
221
218
166
217
216
163
214
215
213
161
161
161
161
213
161
159
159
212
212
160
160
161
163
215
215
216
216
217
217
162
163
216
217
218
219
167
168
168
168
168
168
168
168
222
222
222
170
171
171
171
173
226
227
229
230
231
231
230
230
231
231
180
180
180
183
236
237
186
239
240
188
242
242
243
193
246
196
196
199
200
201
203
255
255
255
255
255
208
209
210
255
255
213
214
215
216
255
255
255
255
255
255
255
255
255
218
255
255
255
255
220
220
255
255
222
222
222
222
255
221
255
255
255
220
219
255
255
255
217
216
216
215
215
255
255
255
255
211
209
255
206
255
255
255
200
251
250
247
247
194
193
190
189
241
239
187
186
185
184
183
183
182
180
179
180
180
179
126
126
126
125
176
176
125
126
127
127
180
181
182
183
131
133
185
186
186
185
186
134
134
187
135
136
137
137
137
135
135
133
132
133
186
186
188
138
138
137
189
190
140
139
139
140
140
140
193
193
192
141
142
142
196
144
145
144
146
147
148
147
146
145
155
113
182
185
124
132
90
120
77
63
65
95
106
53
66
111
78
58
44
106
16
24
74
29
28
81
80
56
78
72
44
89
51
66
152
113
152
93
6
217
223
226
174
174
226
174
174
174
173
173
225
224
224
171
171
172
172
172
223
223
222
222
223
171
171
171
170
170
222
218
166
165
216
161
162
213
214
214
214
214
161
161
161
162
162
161
213
161
161
161
161
161
213
214
215
215
162
163
163
165
166
168
169
222
167
167
166
218
166
166
218
220
169
170
170
171
171
171
226
227
228
176
177
230
230
230
231
231
231
179
178
231
181
182
183
185
186
187
239
241
190
243
245
194
195
247
250
252
252
254
255
255
255
255
255
208
210
211
255
255
255
214
215
215
255
255
255
255
255
255
255
255
255
255
255
220
221
221
221
255
255
255
255
255
222
255
255
255
255
255
255
255
220
255
255
220
219
218
218
216
216
255
255
255
255
255
255
255
207
255
255
204
253
251
251
250
197
196
195
193
191
243
241
189
188
187
184
183
183
181
180
178
180
180
178
125
127
127
178
177
126
127
128
129
129
129
131
184
184
185
187
135
134
187
187
188
188
187
187
135
136
136
188
187
187
134
133
133
134
135
135
138
192
192
191
191
192
141
141
193
141
142
142
195
195
194
142
143
145
146
147
199
203
204
152
205
153
152
151
147
213
143
204
193
67
76
119
84
59
97
98
120
84
114
94
94
59
78
129
133
48
28
52
103
28
62
103
100
94
48
67
38
93
174
218
217
175
139
134
168
226
174
174
226
226
226
226
173
173
225
224
224
223
171
172
224
224
171
223
222
222
221
169
170
221
169
168
168
219
218
217
216
163
162
161
213
213
214
213
161
160
160
213
213
161
212
212
212
160
160
160
161
161
214
214
214
162
163
165
166
167
168
220
219
167
166
166
166
166
218
168
168
170
171
172
171
224
174
175
228
176
177
230
230
230
179
231
180
180
179
180
182
183
236
237
187
187
240
242
191
192
245
246
247
196
251
252
253
254
255
255
255
255
255
209
210
255
255
255
255
215
215
216
255
255
255
218
255
255
255
255
255
255
221
222
222
222
255
255
223
223
255
255
255
255
255
255
255
255
255
255
221
221
221
221
255
255
218
217
217
216
255
255
255
255
211
211
255
255
255
205
253
252
252
199
198
197
196
245
244
244
242
241
241
187
185
184
184
180
179
178
179
127
126
176
127
127
178
179
180
181
182
184
184
133
134
135
136
188
189
137
138
190
190
139
139
189
189
137
136
187
187
187
188
187
134
135
136
189
190
192
194
194
193
193
194
144
144
196
145
145
196
145
145
197
198
199
201
150
150
202
205
205
153
153
154
154
206
154
164
214
158
216
189
44
80
63
22
84
101
73
98
120
172
78
141
108
116
122
84
129
72
124
80
49
118
70
45
42
68
76
56
189
234
227
216
182
156
174
174
226
174
226
226
226
226
225
225
225
224
224
223
171
172
224
224
171
171
170
170
220
220
221
220
219
219
167
166
165
216
215
162
161
160
212
211
212
211
159
159
159
160
160
212
212
211
159
159
159
159
211
212
160
212
213
214
163
166
167
166
166
217
218
218
217
217
165
165
165
168
168
171
172
224
225
226
226
175
176
176
177
230
230
178
179
232
181
182
233
234
235
237
238
239
188
189
190
191
191
193
246
247
196
196
200
253
253
255
255
255
255
255
208
210
211
255
255
255
216
216
255
218
219
255
221
221
255
255
222
222
222
224
224
224
224
225
255
255
224
224
224
255
224
255
255
255
255
255
224
255
223
222
223
222
222
221
220
219
218
255
218
255
255
215
213
255
255
209
255
206
255
254
201
201
200
199
249
247
246
245
244
243
242
189
187
186
185
182
181
180
181
129
128
178
129
128
180
181
182
184
133
186
187
135
137
189
137
138
139
192
192
193
193
141
142
191
139
138
138
189
189
137
138
138
136
137
191
192
193
194
145
197
196
196
197
198
145
146
146
199
199
199
148
149
202
202
203
204
153
206
207
207
154
155
156
157
210
216
155
216
166
164
226
212
105
100
65
50
78
50
77
129
94
122
139
144
112
70
94
142
130
126
138
107
71
78
53
63
43
33
72
154
184
226
181
171
241
224
226
226
226
174
226
226
226
225
225
225
224
224
223
171
172
172
172
171
171
170
170
168
220
221
169
168
168
167
215
215
214
214
211
210
158
158
211
211
210
210
209
157
158
158
210
210
210
158
157
157
209
210
210
159
211
211
213
214
166
167
166
216
214
217
217
216
164
164
216
216
168
167
170
224
225
227
227
226
227
176
176
177
177
177
178
231
232
234
235
235
235
237
238
239
240
242
190
191
191
192
245
247
196
197
197
200
254
254
255
255
255
255
208
209
210
212
213
214
217
217
218
255
219
255
221
223
223
223
255
224
224
225
226
255
226
226
227
255
255
226
226
226
226
226
226
226
226
255
255
225
225
224
224
224
255
223
222
221
220
220
219
255
255
255
255
255
255
211
210
255
255
255
255
203
202
201
252
251
248
247
247
245
244
192
190
188
187
187
183
182
180
181
129
128
179
129
181
180
129
131
133
134
135
134
135
189
137
138
138
192
192
193
193
194
141
193
192
140
139
139
138
138
137
139
137
137
190
192
193
195
195
146
198
196
196
197
198
198
199
147
147
200
200
200
149
201
203
204
205
206
205
209
208
156
207
209
210
211
216
158
160
223
213
208
236
199
132
85
101
111
45
87
90
49
72
112
124
119
83
75
124
146
144
125
139
106
118
48
66
76
27
22
92
190
213
188
161
181
228
226
226
226
174
174
226
226
225
225
225
224
224
223
171
172
172
172
171
171
170
170
169
221
169
169
168
168
168
162
214
214
213
210
209
209
159
211
211
210
209
209
210
210
210
158
158
210
210
158
157
157
157
158
211
211
211
213
162
167
167
165
215
214
217
217
164
164
164
216
216
218
167
222
224
226
227
228
226
227
228
227
176
177
177
178
179
232
234
235
235
236
237
238
239
189
242
191
243
243
192
193
247
196
197
197
201
254
254
255
255
255
255
255
209
210
212
213
214
217
217
255
255
255
255
221
223
255
224
224
224
225
225
255
255
227
227
255
255
255
226
226
226
255
226
226
226
226
226
255
225
225
224
224
255
255
223
222
255
255
220
219
220
255
255
255
214
214
211
255
255
255
255
255
255
254
254
252
251
249
196
195
245
193
192
191
240
187
187
182
182
182
129
129
180
128
128
128
180
183
185
187
189
189
190
190
192
140
141
193
195
194
142
194
194
194
194
193
193
141
140
139
139
139
140
140
142
194
195
196
196
198
146
146
147
199
147
148
201
201
202
150
202
203
203
205
153
154
155
156
209
157
156
157
210
159
212
161
162
161
162
162
216
216
217
164
167
230
174
159
212
155
124
105
161
107
125
109
78
87
106
67
39
101
6
32
91
89
50
61
90
98
78
76
189
223
230
230
224
172
173
173
173
173
173
225
173
172
224
223
223
223
170
170
171
223
224
224
172
170
169
170
170
170
169
168
219
219
163
161
159
211
210
208
156
207
207
156
208
209
157
209
206
154
154
155
155
208
208
208
208
155
156
156
209
209
211
161
164
163
214
214
215
215
215
163
164
165
217
217
219
220
222
224
226
227
228
226
226
228
229
230
231
231
178
179
180
182
183
235
235
238
239
240
240
189
190
242
244
193
194
248
249
198
198
202
203
203
255
255
255
208
255
255
255
213
214
215
216
255
255
255
255
221
222
222
255
223
224
225
225
226
255
255
227
227
255
255
255
227
227
227
227
227
227
227
255
255
255
225
225
224
224
255
255
255
255
255
255
255
255
220
218
255
255
215
213
255
255
255
255
255
255
255
255
255
254
201
251
250
249
247
195
193
191
187
186
185
131
131
130
130
181
181
129
130
130
182
184
186
189
190
191
191
192
194
194
195
143
196
196
196
196
196
196
196
194
142
143
143
195
196
144
143
143
144
144
197
198
198
200
200
149
149
202
150
150
152
204
205
153
153
205
153
154
207
208
158
159
159
159
160
161
213
162
164
164
165
164
164
165
217
218
218
224
214
214
217
162
164
174
158
170
171
165
203
173
112
185
144
99
126
101
144
118
52
60
104
38
61
96
181
161
184
172
234
228
225
226
225
173
173
173
173
173
225
223
223
223
222
222
169
169
170
223
223
224
223
169
168
169
168
169
168
218
218
217
214
160
158
209
209
208
154
206
206
206
206
154
154
154
152
204
152
153
153
205
206
206
155
155
155
155
155
207
208
159
162
161
213
213
214
214
214
163
164
165
166
219
169
222
224
225
227
227
228
226
228
177
178
231
232
233
231
180
181
182
183
183
235
237
238
239
241
242
242
243
193
246
195
196
250
250
199
202
255
204
206
255
255
255
255
255
255
213
214
215
216
255
255
255
255
221
222
255
255
255
224
225
226
255
255
255
255
255
255
255
255
255
227
227
227
227
227
255
255
255
255
255
255
225
225
255
255
255
255
255
255
255
255
220
218
255
218
215
214
255
255
255
255
255
255
206
255
255
255
202
251
250
198
248
247
246
192
188
186
186
131
131
131
130
182
181
129
130
130
183
185
135
137
139
139
192
193
194
144
197
197
146
146
198
198
198
198
146
144
144
145
145
198
198
198
145
197
198
147
148
200
201
150
150
151
203
204
204
204
152
151
152
152
153
153
153
155
156
209
210
210
159
160
215
214
164
165
166
167
167
219
167
168
219
220
220
219
216
170
231
230
224
171
166
181
179
176
226
204
190
105
118
126
209
154
113
83
64
83
154
111
93
72
220
140
239
169
230
226
178
172
225
173
173
173
173
173
173
223
223
222
222
170
169
169
222
222
171
223
223
168
168
168
167
168
219
217
217
216
213
159
157
209
208
155
153
154
205
205
205
153
152
152
150
203
203
152
204
204
204
206
154
154
207
206
206
207
207
210
161
161
213
161
162
162
163
164
165
167
167
220
223
171
173
226
227
228
227
227
177
178
231
232
233
234
232
181
182
183
183
183
235
237
238
187
241
242
243
191
194
246
248
249
250
251
251
203
255
255
206
208
209
209
255
255
255
255
255
255
216
216
217
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
228
255
255
255
255
255
255
255
227
255
255
255
227
255
255
225
255
255
255
255
255
223
221
255
255
221
219
255
218
255
255
255
212
211
210
255
207
206
255
205
255
254
200
199
198
248
248
246
244
240
187
186
132
132
131
131
130
182
182
184
132
184
134
137
139
140
139
192
193
197
146
147
200
148
148
200
199
199
147
147
146
147
200
201
202
202
202
202
202
203
152
205
205
206
205
154
206
155
155
207
154
154
155
155
155
156
156
156
160
213
213
214
215
216
165
218
219
168
169
222
223
223
227
174
172
172
170
221
224
225
168
215
219
226
230
220
177
180
175
168
217
225
232
170
169
144
227
175
118
143
142
145
222
213
226
214
169
181
167
181
221
177
171
225
225
173
173
173
173
225
222
222
222
169
169
168
220
221
170
170
222
222
168
167
218
166
166
218
216
215
215
211
158
208
207
208
154
152
153
204
205
151
150
149
149
149
201
202
150
202
202
150
204
204
153
205
206
206
206
207
209
162
162
214
215
164
164
164
166
168
170
223
223
225
173
174
227
228
227
228
177
178
231
232
234
234
235
234
182
183
183
183
183
183
236
238
187
241
242
244
192
194
247
248
250
199
200
252
255
205
205
207
208
209
210
211
255
255
255
255
255
255
216
217
218
220
255
255
255
224
225
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
227
227
227
255
228
227
227
255
226
255
255
255
255
224
223
222
222
255
255
255
219
219
255
255
255
213
212
211
208
207
255
206
205
204
255
253
251
251
249
248
247
245
241
239
187
132
132
132
184
132
132
183
185
185
186
136
139
139
140
141
193
194
197
147
200
201
201
149
201
201
201
148
147
150
150
203
203
203
204
204
153
153
153
205
205
206
206
207
155
208
208
209
157
157
158
158
159
160
160
160
213
215
164
165
166
168
219
220
221
222
171
223
171
172
224
226
227
228
178
179
232
231
231
230
229
228
228
227
226
173
225
172
224
172
172
171
223
223
222
223
170
222
223
223
223
171
171
171
171
173
225
225
173
173
225
225
224
224
224
172
172
224
224
224
172
171
170
170
168
168
169
169
168
167
167
218
217
165
165
164
164
162
213
213
210
158
157
208
205
152
152
151
151
203
151
150
150
150
200
200
201
150
151
203
203
202
203
205
153
153
207
208
207
209
161
161
162
163
164
219
218
221
171
172
225
226
228
228
228
228
177
177
177
177
230
231
181
234
235
235
235
235
183
183
183
182
182
181
184
186
188
242
244
245
246
247
248
250
199
201
201
255
204
255
255
208
210
210
213
213
214
214
255
255
255
217
217
218
255
255
255
255
224
225
226
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
228
255
227
227
227
227
255
255
255
255
255
224
224
255
222
255
255
220
219
255
255
255
215
214
213
212
209
207
207
206
206
204
255
253
251
251
197
195
245
243
241
239
185
185
133
132
132
132
132
184
185
186
135
137
138
139
140
141
193
194
146
147
148
201
202
202
202
201
200
200
200
202
203
151
152
152
204
153
154
154
154
206
207
207
207
208
157
209
157
158
158
210
212
161
161
213
162
163
215
216
165
166
219
220
220
221
223
223
172
225
172
173
173
175
228
229
231
232
233
179
179
231
230
177
228
228
226
174
225
224
224
172
171
171
223
170
170
171
170
222
223
223
223
171
171
171
171
173
173
225
225
173
225
225
224
224
172
172
172
224
172
172
172
171
170
169
168
168
169
168
168
167
166
217
217
217
216
164
163
161
213
213
158
157
209
207
205
204
204
150
150
203
202
202
149
149
199
199
148
150
202
202
150
150
203
205
153
153
155
208
207
210
162
162
162
216
217
218
219
169
171
224
225
225
228
228
228
228
177
177
177
229
230
180
233
234
235
235
235
235
235
183
183
234
182
182
184
186
188
190
192
244
245
247
248
250
251
252
201
203
204
255
255
255
255
210
212
213
214
255
255
255
255
217
217
218
255
255
255
255
255
225
226
226
227
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
227
227
227
255
255
255
255
226
255
225
225
224
255
255
255
221
220
219
255
215
255
215
215
255
212
209
255
207
206
206
204
203
253
251
251
249
247
245
243
241
239
237
186
186
186
135
135
135
135
188
189
189
192
193
194
142
142
143
144
147
149
149
150
203
204
151
151
152
152
204
205
205
206
206
207
207
207
156
156
158
210
211
211
212
161
161
214
214
162
163
215
216
164
164
165
166
167
219
219
220
221
222
223
172
172
175
228
175
176
177
230
178
179
232
233
233
234
183
232
232
232
231
178
229
229
228
227
226
225
172
172
223
222
170
170
169
170
170
169
222
222
170
170
170
170
222
223
223
223
223
171
223
171
170
170
170
170
170
222
222
223
170
222
169
168
167
166
167
167
166
165
164
162
163
215
214
214
161
159
211
211
157
156
207
206
152
151
150
148
147
200
199
147
147
199
197
198
198
148
201
200
148
150
203
205
205
153
155
156
156
211
216
164
216
216
166
167
219
221
223
224
225
174
177
177
177
177
177
230
230
230
232
181
234
235
236
237
183
235
235
183
183
234
234
183
184
186
188
190
191
243
245
246
247
249
251
252
252
203
204
255
255
255
255
255
255
212
213
214
215
216
217
255
217
218
255
221
222
255
255
225
226
226
227
255
255
255
255
255
255
255
255
228
228
228
228
228
255
255
227
227
255
255
255
255
227
227
255
226
225
224
255
223
222
221
221
219
218
216
216
216
255
255
255
255
255
208
206
206
204
203
253
251
251
197
247
245
243
241
239
237
187
187
188
137
138
138
139
191
192
141
143
144
145
145
146
146
148
150
151
153
205
206
153
154
155
155
156
208
208
208
209
210
209
209
209
210
158
160
161
162
163
164
164
165
217
218
218
218
165
216
217
166
167
220
168
169
171
223
224
174
175
228
176
179
230
179
180
180
233
233
235
235
183
236
236
185
235
235
234
233
232
232
231
230
229
228
226
173
172
223
169
169
169
169
169
221
168
169
221
221
221
221
169
169
170
170
222
170
222
222
170
169
169
169
169
169
169
221
221
221
220
219
166
165
165
166
166
164
163
161
160
159
212
212
211
211
157
208
156
155
154
206
152
150
201
149
147
146
199
198
146
146
197
197
197
198
147
148
148
148
150
203
205
205
153
155
156
157
211
215
163
216
217
166
218
219
222
171
225
174
174
178
178
177
178
230
230
179
180
233
183
184
237
238
238
235
183
183
183
183
182
234
236
237
186
188
189
190
190
192
245
247
248
198
199
252
254
255
255
255
207
255
255
255
255
212
213
215
216
255
255
217
218
220
221
222
255
255
255
255
255
255
255
255
255
255
255
228
228
228
255
255
228
255
255
255
255
255
227
227
255
255
227
227
228
255
255
226
225
224
223
223
222
221
220
219
217
216
217
255
255
255
255
255
255
206
255
255
203
201
251
251
197
247
245
243
241
239
185
187
136
188
190
139
140
139
191
192
141
143
144
145
146
147
199
201
204
205
206
154
153
154
155
156
156
156
157
157
210
209
210
210
158
211
158
158
161
214
215
216
215
217
165
166
166
218
166
166
167
168
221
222
222
223
171
172
173
226
227
176
229
230
178
231
232
180
181
234
234
235
184
184
236
237
237
236
183
235
234
233
180
180
178
230
228
227
173
224
223
169
169
221
220
221
221
168
169
169
221
221
221
169
169
169
169
221
221
221
221
169
220
220
220
168
168
168
220
220
220
219
219
218
164
164
218
217
216
214
213
211
210
159
159
211
210
208
156
207
206
154
153
152
149
149
148
199
198
147
146
146
146
198
197
198
198
148
149
148
149
150
203
205
205
153
155
208
207
158
215
215
215
216
217
219
219
170
172
172
225
174
178
230
178
178
178
231
231
181
182
183
184
238
186
239
235
183
183
183
183
182
182
184
237
238
240
189
190
190
193
193
194
248
249
199
251
254
255
255
255
255
255
208
208
210
255
213
215
255
255
255
217
218
220
221
222
255
255
255
255
255
255
255
255
255
255
228
228
228
228
228
255
255
255
255
255
255
255
255
227
255
255
227
227
255
255
227
226
225
224
224
255
223
222
221
219
217
217
217
216
215
255
255
255
255
255
255
204
203
201
251
251
249
247
245
243
241
239
237
140
140
191
191
193
194
143
196
196
197
149
149
202
203
203
204
153
154
206
206
154
155
155
208
157
158
159
211
213
213
213
213
160
160
160
158
158
212
213
214
215
216
216
218
167
168
169
170
171
173
173
225
225
225
226
174
174
174
175
228
177
178
229
232
232
233
181
182
234
234
237
237
186
186
187
187
185
185
184
235
183
182
181
231
230
229
228
226
226
224
169
169
221
221
222
221
221
169
169
168
220
168
167
167
167
219
219
219
219
219
167
219
219
219
218
218
165
217
217
165
164
216
215
213
213
213
213
212
211
211
209
209
158
158
209
208
206
205
205
204
151
150
150
148
199
147
199
199
148
147
198
198
198
147
147
147
147
147
146
198
149
201
202
205
206
155
207
208
157
160
214
216
218
166
168
220
223
223
224
173
174
177
229
229
178
178
231
231
181
183
185
238
186
185
237
236
184
236
184
184
235
183
184
237
238
240
241
190
242
244
193
194
196
196
197
197
252
253
254
255
255
255
207
209
210
211
213
214
216
216
216
216
217
219
220
221
255
255
255
255
255
255
255
255
255
255
255
227
228
228
228
228
228
255
255
255
255
255
255
228
228
228
228
228
228
255
228
227
255
255
255
255
255
255
255
255
218
218
216
215
214
213
255
255
255
255
206
205
203
200
199
198
194
193
243
241
238
238
238
141
141
140
193
194
195
144
145
197
198
149
151
204
205
204
205
154
157
157
155
155
159
211
212
212
213
162
214
213
161
161
161
160
160
160
161
213
215
165
166
167
219
218
219
169
170
223
224
223
174
174
227
227
228
228
176
176
177
177
178
178
178
178
233
233
234
234
182
235
235
237
186
186
186
186
187
238
185
185
184
183
182
234
180
179
178
229
227
226
225
221
169
221
220
221
220
220
219
167
167
218
218
166
165
167
219
219
167
219
219
167
166
166
218
217
217
216
164
164
164
163
162
213
212
212
212
212
211
211
210
208
208
209
208
157
207
205
204
204
202
202
150
149
148
199
199
147
147
148
147
198
198
198
147
147
147
147
147
146
146
200
200
201
203
205
205
206
209
157
160
162
216
217
166
167
219
222
224
226
175
174
177
229
229
230
179
180
180
233
235
237
238
186
185
185
236
236
236
236
236
235
235
235
237
238
239
240
189
242
244
192
194
195
196
197
196
199
252
253
255
255
206
206
208
209
210
212
214
215
215
216
216
217
255
255
255
222
255
255
255
255
226
226
255
255
255
255
255
228
228
228
228
228
228
228
255
255
255
255
228
228
228
228
228
228
228
228
228
255
255
255
255
255
255
255
255
255
255
217
216
215
213
255
255
255
207
206
205
203
200
251
198
194
193
191
188
238
237
237
142
142
141
142
195
197
146
146
199
200
151
152
205
205
206
207
156
159
158
157
157
213
213
161
213
214
214
214
213
161
160
161
161
161
161
162
162
164
166
167
168
220
168
169
222
224
224
225
225
228
176
177
176
229
229
229
178
178
178
178
231
231
179
234
234
234
235
183
183
184
186
186
186
186
186
186
238
238
185
184
235
235
182
181
180
179
229
228
227
226
170
169
221
220
221
220
219
218
218
218
218
165
165
164
166
218
218
166
218
218
218
166
218
218
166
217
165
164
164
163
163
162
213
212
160
160
159
159
210
209
208
207
208
208
155
206
204
203
150
150
201
149
148
147
147
199
199
147
148
147
198
198
146
146
146
146
146
146
145
145
146
199
200
202
203
204
205
207
156
160
161
163
164
165
167
218
221
223
225
227
175
176
177
229
231
232
180
181
233
235
185
186
186
185
185
184
236
236
236
236
183
183
235
236
238
187
188
189
189
191
192
245
194
247
248
197
198
251
253
254
255
255
255
207
208
210
211
213
214
215
216
215
217
255
255
255
255
255
255
255
225
225
226
226
255
255
255
255
228
228
228
228
228
228
228
228
228
255
255
229
229
229
229
229
229
229
255
255
255
255
255
225
255
255
255
255
255
255
217
216
255
255
255
255
209
207
206
205
203
200
251
250
194
193
191
188
185
237
236
145
143
195
196
197
199
147
149
150
203
205
207
156
209
210
210
211
162
162
161
213
162
162
214
214
214
213
161
162
162
163
164
164
165
165
216
217
166
167
220
169
169
172
173
227
228
229
230
230
232
179
180
180
181
233
233
181
181
181
181
181
182
182
183
236
236
184
184
184
184
239
238
186
238
186
185
239
238
238
237
236
183
183
182
234
233
179
229
229
176
172
172
223
222
222
221
219
166
166
218
217
217
164
164
217
217
165
165
165
217
217
165
217
216
216
164
163
163
161
213
212
212
159
157
157
158
158
157
156
155
206
206
206
154
205
204
201
149
148
148
148
148
147
147
199
199
199
199
148
147
198
198
146
145
145
145
145
145
144
144
144
145
197
200
149
150
150
152
153
208
210
160
161
161
215
215
219
169
171
225
226
174
174
176
230
231
232
233
233
235
185
186
238
185
185
184
236
236
236
236
235
235
234
184
185
238
239
240
189
189
190
243
244
246
246
247
248
249
251
253
254
255
204
205
206
208
255
255
212
214
215
255
255
255
255
255
255
222
255
255
224
225
225
226
255
255
255
227
228
228
228
255
255
255
255
228
255
255
229
229
229
229
229
229
229
229
255
255
255
255
255
255
255
255
255
222
255
255
218
217
255
255
255
255
209
207
206
205
203
252
251
250
247
193
190
187
184
183
183
146
145
144
197
147
199
200
151
204
204
207
209
210
210
211
160
213
164
164
163
162
219
219
218
165
217
217
217
163
216
217
218
167
168
168
222
222
224
173
226
175
175
176
177
230
232
233
234
234
181
182
182
182
183
235
235
235
235
235
183
183
183
235
184
184
185
184
185
185
185
239
239
186
186
185
185
187
239
238
185
185
184
183
235
235
181
180
178
230
229
174
174
173
224
223
222
220
167
219
166
218
218
165
165
217
217
165
165
217
217
217
216
216
216
215
163
162
162
212
212
211
210
157
156
156
209
157
156
155
155
205
206
205
205
204
203
148
147
147
147
147
147
147
147
199
199
199
199
148
199
198
198
146
197
197
145
145
145
144
144
143
143
144
147
148
149
149
150
203
205
207
157
158
159
160
212
217
219
170
224
225
224
172
174
228
230
231
232
233
235
185
186
238
237
237
236
236
184
184
236
235
235
234
183
184
238
239
240
188
188
189
190
244
245
246
246
248
249
198
252
253
202
203
204
206
207
209
210
211
214
255
255
255
255
255
255
221
221
255
255
223
224
225
226
255
255
255
255
228
228
228
255
255
255
255
255
255
229
229
229
229
229
229
229
229
229
255
255
255
255
255
255
226
225
224
222
220
255
255
255
255
255
255
255
210
255
255
205
203
252
199
198
247
245
190
187
183
182
181
146
146
197
197
146
148
201
204
205
205
154
155
156
209
161
161
214
216
165
217
217
165
217
166
217
217
217
165
215
216
218
219
169
170
170
171
224
224
173
226
174
175
180
232
233
233
181
182
182
183
183
235
235
235
183
235
236
236
236
236
184
184
184
186
237
237
185
184
184
184
238
238
237
237
236
184
184
236
185
184
184
183
183
182
182
181
180
180
179
178
175
176
175
174
172
223
222
167
218
218
217
217
164
163
164
164
164
164
164
215
215
215
215
214
213
161
159
211
209
157
156
156
156
156
207
206
154
154
153
153
154
205
205
204
202
148
147
147
147
147
147
147
148
149
201
201
199
199
199
198
197
197
145
197
197
197
196
195
195
195
195
195
144
145
145
146
146
149
202
205
207
209
210
210
158
159
163
164
167
221
222
222
224
227
227
176
178
179
233
235
237
185
237
236
236
237
237
236
236
235
235
235
236
237
186
187
187
240
240
186
187
188
242
243
244
192
194
195
197
199
253
202
255
255
255
207
209
210
211
255
255
255
255
255
255
255
221
255
255
223
223
255
225
226
226
255
255
255
255
255
226
226
255
255
255
255
255
255
255
255
255
228
228
228
229
229
255
228
228
227
255
226
226
225
224
222
255
255
218
218
255
255
212
255
255
255
255
205
203
252
199
198
244
244
243
240
183
182
184
147
146
146
146
148
149
201
204
205
154
207
157
158
210
161
162
215
217
219
167
167
168
168
168
169
169
221
170
171
224
225
175
176
176
177
178
177
178
231
232
232
233
234
235
183
184
184
236
236
239
187
187
239
187
187
187
238
238
238
186
186
238
186
239
239
238
186
186
185
185
239
238
238
238
185
185
184
236
185
185
184
236
236
183
182
182
233
232
179
179
176
176
228
174
173
224
223
168
167
219
218
217
164
163
163
163
215
215
163
215
214
214
214
161
161
160
158
158
156
156
156
155
155
206
206
205
204
204
204
204
203
203
203
202
148
146
198
198
146
146
198
199
199
200
148
200
199
198
198
197
197
145
145
196
196
196
195
195
194
194
194
195
143
145
145
145
146
146
199
202
204
206
208
208
208
157
161
164
165
166
219
220
222
226
226
175
177
178
232
182
184
185
184
235
235
236
236
235
235
183
234
234
235
236
184
185
186
187
239
238
239
240
189
242
243
192
194
195
197
199
201
202
203
205
206
208
255
255
255
255
255
255
255
255
255
255
255
255
255
222
223
255
255
226
226
255
226
227
255
255
255
226
255
255
255
255
255
255
255
255
255
255
228
228
229
255
255
228
228
227
227
226
255
255
255
222
220
255
218
218
255
215
212
255
210
255
255
205
203
200
199
198
195
194
244
242
237
235
183
147
147
147
148
150
204
204
205
206
154
157
159
212
213
164
216
218
220
222
171
172
225
225
174
175
176
176
176
177
177
230
179
180
179
179
181
181
182
183
236
237
237
239
188
188
188
189
241
241
241
189
241
241
241
189
189
189
241
241
241
189
189
189
189
241
241
188
188
188
188
240
240
240
239
187
187
185
237
238
237
185
237
236
183
183
234
234
233
232
231
178
178
177
176
227
226
224
222
169
168
219
218
164
163
162
213
213
214
213
213
161
161
212
212
159
158
157
156
156
156
155
206
205
204
204
203
203
203
202
201
199
199
147
146
145
144
196
144
197
197
197
197
197
198
146
147
198
198
197
197
196
144
144
143
194
194
193
193
193
193
194
194
195
196
196
197
145
144
144
148
150
152
205
206
206
155
158
160
162
162
215
218
219
171
172
173
176
178
230
181
182
183
235
182
182
183
234
234
233
233
181
233
232
233
182
183
184
184
236
237
186
239
240
190
190
191
194
195
197
199
201
202
255
206
207
208
255
255
255
255
255
255
255
217
255
219
255
220
221
221
222
223
255
225
225
225
226
226
255
255
255
255
255
255
227
228
228
255
255
255
255
255
228
228
229
255
255
255
228
227
227
255
255
255
255
222
220
220
218
255
255
215
255
255
210
207
255
255
203
200
199
198
193
191
188
187
183
178
175
199
199
199
201
151
205
205
205
206
154
158
160
161
162
218
218
168
171
224
174
175
228
227
177
177
230
179
180
179
232
232
232
232
233
181
183
236
237
186
239
239
239
241
241
189
190
190
190
243
242
242
242
242
242
242
190
190
242
242
242
242
190
190
243
242
242
190
189
189
241
241
241
240
240
188
187
186
185
186
238
237
237
237
236
183
183
234
233
232
232
178
179
178
177
228
226
225
171
170
169
167
218
216
163
161
213
212
213
213
212
160
160
160
211
210
209
208
208
208
155
154
206
205
203
203
151
202
201
200
199
197
198
146
145
143
142
143
144
196
196
196
196
197
197
146
198
197
197
197
196
196
144
143
194
194
193
193
192
192
192
193
194
194
196
196
196
197
144
144
147
149
151
204
205
205
154
157
159
160
213
213
216
218
170
171
172
175
229
230
180
182
182
182
182
181
182
233
233
233
232
180
180
231
232
233
182
182
235
235
185
186
187
188
241
242
191
194
195
197
199
253
254
203
206
207
209
210
255
255
255
255
255
255
255
255
219
219
220
220
221
222
223
223
224
225
225
255
255
255
255
255
255
255
227
227
228
228
228
255
255
255
255
255
228
255
255
255
255
228
255
255
255
255
255
224
222
220
220
218
255
255
215
255
255
210
207
206
255
203
200
199
198
198
246
190
187
178
171
218
148
199
199
202
204
153
155
153
205
207
159
161
162
163
219
168
170
226
228
230
178
230
230
180
233
234
235
236
184
184
185
237
237
185
185
189
242
242
191
192
244
245
243
244
192
192
193
193
193
194
194
194
246
246
246
194
192
244
192
192
244
192
192
244
244
243
243
243
190
190
242
242
241
189
188
240
238
186
187
186
238
237
237
236
184
183
234
234
233
232
179
180
179
178
176
227
226
172
171
170
168
218
216
162
160
160
212
160
160
211
211
210
158
157
209
209
155
207
155
156
155
154
152
202
201
201
201
148
199
197
196
143
144
143
142
141
193
194
194
195
195
195
196
197
197
197
197
145
197
196
195
143
143
193
193
193
192
191
191
191
141
141
194
195
195
196
196
196
144
148
149
151
152
205
205
205
155
157
210
211
212
214
217
221
170
171
174
229
230
179
181
181
182
181
181
181
181
180
180
231
179
179
230
179
179
232
233
234
234
184
185
186
188
189
242
242
246
195
197
199
253
202
203
207
255
255
211
255
255
255
255
255
255
255
255
255
219
219
220
221
221
222
223
255
224
224
225
225
255
255
255
255
226
227
227
228
228
228
255
255
255
255
255
228
255
255
255
228
255
255
255
255
255
255
255
222
220
220
218
218
255
255
255
255
255
207
206
205
255
252
199
198
192
241
187
187
186
231
226
149
200
200
202
203
153
154
155
207
209
159
162
218
221
169
170
225
230
231
180
180
182
234
236
185
185
237
237
238
239
188
189
242
189
189
191
243
245
245
194
195
247
247
247
196
196
197
197
197
248
196
196
196
196
196
196
195
195
247
246
194
194
193
245
245
244
192
244
244
243
191
242
242
241
240
239
239
187
187
186
237
237
236
236
184
183
182
233
233
180
178
178
230
229
228
227
174
172
171
170
168
218
216
162
161
161
160
161
160
159
210
207
207
155
208
156
153
152
152
151
149
148
148
149
149
200
199
146
197
196
194
141
142
142
142
194
194
194
142
195
195
195
144
144
197
197
146
146
197
195
195
142
142
141
193
192
192
191
191
191
140
140
193
194
194
195
195
197
145
147
147
147
148
200
203
204
153
154
207
208
208
212
214
220
223
224
173
174
228
178
179
181
181
181
181
180
180
179
179
178
178
178
230
177
177
178
232
233
182
183
184
186
188
190
191
244
246
247
198
200
203
204
205
255
255
255
210
210
212
255
255
255
255
255
255
255
255
255
255
221
255
223
224
223
223
223
224
224
255
255
255
255
226
227
227
228
255
227
255
255
255
255
255
227
229
255
255
255
255
255
255
224
224
255
255
222
220
220
219
219
255
255
255
255
211
209
207
205
255
254
200
198
194
193
192
242
237
236
236
149
148
148
150
151
153
206
154
156
158
160
163
219
222
223
224
175
179
181
182
233
184
184
238
185
186
239
187
187
187
241
241
189
190
190
244
245
194
195
248
196
197
248
248
196
249
249
249
198
197
197
197
197
197
249
249
197
196
248
247
195
195
247
246
246
245
193
192
244
244
243
243
242
241
240
240
239
186
187
238
237
236
236
235
235
182
182
181
232
179
178
178
178
177
176
227
226
224
223
222
220
218
216
161
160
160
159
160
159
158
157
155
207
207
207
155
152
151
150
201
200
199
198
198
147
198
146
197
196
195
141
140
142
142
194
142
142
142
142
194
194
195
195
196
196
196
197
197
196
143
194
141
141
140
140
140
139
139
190
190
191
192
140
142
142
194
195
197
145
147
199
148
148
148
202
203
152
153
154
155
207
211
213
219
222
224
224
225
227
178
179
180
181
233
233
232
232
179
179
178
178
178
178
229
229
230
180
181
234
183
184
186
188
190
243
192
246
195
198
200
203
204
205
255
255
255
255
255
212
215
216
255
255
255
255
255
219
255
255
255
255
223
223
223
255
223
224
255
255
225
226
226
226
227
227
228
255
227
227
227
255
255
255
255
255
255
255
255
255
255
255
224
224
223
222
222
255
255
219
219
255
255
255
255
211
210
255
205
204
255
200
198
245
193
191
241
238
236
237
150
149
149
150
152
154
155
208
159
162
165
219
222
172
173
175
230
235
184
184
237
188
188
188
189
242
190
191
189
241
242
243
244
192
193
195
248
248
249
250
198
199
250
199
199
252
252
200
200
200
200
252
252
252
252
252
199
250
250
250
249
197
249
195
247
246
245
192
191
243
244
243
243
242
189
240
238
238
238
185
236
236
235
234
233
181
180
179
178
178
176
177
177
176
175
226
225
171
222
221
219
217
215
161
159
211
158
158
158
157
156
155
207
155
155
154
202
150
150
149
148
198
197
196
145
195
194
193
193
140
139
138
141
193
193
193
141
141
193
193
193
193
193
194
194
195
196
143
195
141
192
192
139
139
138
138
137
137
189
189
191
191
140
141
141
194
194
145
145
199
199
200
149
148
149
201
203
152
153
154
206
209
211
217
220
222
171
223
227
178
179
180
232
232
232
232
232
231
179
230
230
178
178
229
229
178
180
233
234
183
184
238
188
190
243
244
194
247
250
200
203
255
205
206
255
255
255
255
255
255
215
255
255
255
255
255
219
255
255
255
255
222
223
223
255
255
224
255
255
225
226
255
255
227
255
255
255
255
255
255
255
255
227
255
255
255
255
227
255
255
226
224
224
223
222
255
255
255
255
255
218
217
255
255
213
210
255
206
205
255
201
251
247
194
192
243
239
237
238
152
152
152
205
206
208
157
158
213
217
221
222
172
173
175
176
231
236
185
238
238
241
188
190
243
191
192
192
243
243
244
193
246
246
195
196
248
249
250
250
199
251
199
200
252
253
253
201
201
203
203
203
255
255
255
255
253
253
253
252
252
200
199
198
249
247
194
193
192
191
245
244
243
242
190
189
237
237
237
185
184
235
234
232
232
231
179
178
177
176
174
175
226
225
224
224
223
170
222
220
166
216
214
160
160
159
159
159
210
209
208
207
207
155
154
153
149
201
146
145
144
193
192
191
191
191
191
139
139
138
138
137
192
192
140
140
192
192
140
139
191
192
140
141
141
141
194
142
141
140
191
190
190
189
189
137
136
136
135
135
138
190
191
141
140
193
193
145
145
199
199
200
201
148
149
150
152
152
205
206
207
207
157
163
166
168
169
220
174
177
179
179
179
231
231
180
180
231
231
230
230
178
178
229
229
230
180
233
234
183
184
238
240
190
191
244
246
247
250
200
203
255
255
206
255
255
255
255
255
214
214
255
255
255
255
217
218
218
255
220
255
221
222
223
255
255
224
224
255
225
226
226
255
227
255
255
255
227
255
255
255
255
227
255
255
255
255
255
255
255
225
224
224
223
222
255
255
255
255
255
255
217
255
215
215
255
255
207
205
204
202
252
252
251
249
246
240
237
237
205
153
153
205
207
209
210
210
214
218
222
223
224
226
227
229
231
236
185
238
238
189
189
242
191
192
192
244
243
243
193
194
246
247
247
248
248
249
250
198
199
199
199
200
252
201
253
201
201
203
203
203
203
203
203
203
254
202
253
253
253
200
200
198
249
196
194
193
192
192
245
192
243
191
190
241
237
237
237
184
184
183
234
232
232
231
178
230
229
176
173
174
225
225
224
223
222
222
221
220
218
216
214
160
160
160
159
211
210
210
209
207
207
207
154
153
149
200
195
142
141
139
137
136
188
191
190
138
138
138
137
188
192
192
140
140
140
140
140
139
139
139
140
141
141
141
142
142
141
140
191
190
190
189
189
189
136
187
135
135
138
138
191
140
140
193
193
145
145
147
199
200
201
148
150
150
204
204
206
206
207
206
156
163
165
167
169
168
174
177
178
179
179
179
231
180
180
231
231
230
230
178
178
229
229
230
232
233
234
183
184
238
240
242
243
244
246
247
250
252
203
204
255
206
207
208
255
255
255
214
214
214
215
255
255
217
218
218
219
220
220
221
222
223
223
255
224
224
225
225
226
226
255
227
227
255
255
227
255
227
227
255
255
255
227
227
227
255
226
225
225
224
224
223
222
222
220
255
255
255
255
255
216
216
215
255
255
207
205
255
254
252
254
253
250
247
240
237
237
206
206
206
209
210
212
213
215
216
219
221
222
225
227
229
231
234
237
239
242
243
242
242
242
243
192
245
245
245
193
194
195
196
249
249
252
252
253
253
253
202
202
201
202
202
202
203
203
203
204
255
255
204
204
204
204
204
204
203
203
202
202
202
200
200
198
197
196
195
195
194
194
193
244
243
242
187
186
186
184
183
182
233
233
233
231
178
176
175
173
171
172
171
170
222
221
220
220
218
165
216
216
163
160
161
213
212
212
211
211
210
208
206
204
203
203
199
197
195
141
139
138
136
135
135
134
186
135
136
138
140
192
192
140
191
191
139
139
139
139
140
140
141
140
140
139
140
140
140
191
190
190
190
188
188
188
136
188
136
136
136
137
191
194
193
193
141
144
144
146
198
199
200
200
149
149
204
206
155
209
209
156
156
159
213
216
218
168
171
173
173
175
177
178
178
179
179
231
231
231
231
231
231
230
230
231
233
234
235
236
237
239
240
242
243
244
247
248
250
252
254
255
255
205
206
207
209
210
211
213
214
215
215
215
215
217
219
219
220
221
221
222
223
224
224
224
225
225
226
226
227
227
227
255
255
255
255
255
255
255
255
255
255
255
226
255
255
255
225
224
224
224
223
221
222
222
221
255
255
255
255
255
255
216
216
255
255
209
208
255
255
254
254
252
249
247
243
240
185
206
206
206
209
210
212
213
214
215
218
222
223
174
176
229
231
234
237
239
242
243
244
244
244
245
194
246
247
195
195
196
197
250
250
251
254
254
202
203
255
203
204
202
202
203
203
203
204
255
255
255
255
204
204
204
204
204
204
203
203
202
202
202
202
201
200
199
198
197
196
196
195
195
246
245
244
189
188
187
186
185
184
235
233
181
179
230
176
175
173
171
172
171
170
222
221
220
168
166
165
216
216
163
160
160
212
211
212
211
210
209
207
205
202
201
201
145
195
193
191
137
136
134
133
185
186
134
135
188
190
192
192
192
192
191
191
139
139
139
139
140
140
141
140
140
139
140
140
140
139
190
190
190
188
188
188
136
136
136
136
136
137
191
194
193
141
141
144
144
146
198
147
200
200
201
201
204
206
155
157
157
157
157
211
213
216
217
167
169
171
172
173
175
176
177
179
179
231
231
231
231
231
231
230
230
231
233
234
235
236
237
239
240
242
243
244
247
248
250
252
254
255
255
205
206
207
209
210
211
213
214
215
215
215
215
217
219
219
220
221
221
222
223
224
224
224
225
225
255
255
227
227
227
227
255
255
255
255
255
255
255
255
255
226
255
255
255
255
255
255
224
224
223
221
222
222
255
255
255
255
255
255
255
216
255
255
214
211
255
255
255
255
255
254
251
248
245
242
239
93
41
93
93
93
41
41
40
40
40
39
38
38
37
35
34
33
31
80
28
79
29
26
24
22
74
23
75
29
82
84
32
33
32
32
37
37
43
100
103
57
116
84
86
137
136
134
135
137
85
135
83
135
83
83
83
83
135
84
136
137
138
138
141
141
143
147
149
152
153
156
157
157
157
160
110
166
168
168
169
170
171
171
177
125
177
126
178
179
179
180
180
180
180
129
183
134
192
140
192
190
138
189
187
189
188
184
129
127
176
121
162
162
161
160
157
156
155
103
155
102
151
150
96
147
101
101
150
148
147
142
89
87
86
135
133
135
131
130
133
132
130
78
127
75
126
74
124
73
124
124
123
71
75
77
80
84
86
143
93
97
99
154
158
110
111
112
158
158
158
158
158
158
158
109
161
110
162
111
163
163
164
165
166
168
169
170
170
176
176
127
179
128
180
128
175
171
169
115
165
110
108
105
100
97
97
145
90
87
86
83
82
80
79
76
76
77
74
73
71
70
68
67
69
69
68
120
67
67
66
66
65
116
116
63
62
62
62
113
60
112
111
110
108
56
56
57
57
110
58
58
58
59
59
58
108
104
99
98
98
99
99
98
98
45
46
47
100
50
104
52
106
106
106
54
106
106
107
60
112
60
112
112
112
112
116
64
116
64
64
64
64
111
111
111
111
59
59
59
41
41
41
93
93
93
93
41
41
40
40
39
39
39
37
36
35
33
31
28
28
29
26
24
76
74
75
75
81
82
84
32
33
32
32
35
87
93
97
99
105
111
79
82
82
134
133
135
84
85
83
83
83
83
83
83
82
82
82
135
136
85
137
140
140
141
146
96
151
152
155
156
156
155
107
110
168
169
169
169
171
171
171
177
178
178
178
179
179
127
180
180
180
180
181
183
186
192
191
191
190
137
137
187
188
187
183
181
178
176
174
163
162
162
161
160
157
157
158
157
156
155
155
152
100
102
102
102
153
151
96
94
93
89
140
138
137
136
134
137
137
137
135
134
132
131
131
131
130
132
131
79
80
84
86
89
92
95
98
102
105
160
161
165
114
117
118
108
108
160
160
160
160
160
162
162
163
163
111
164
164
166
166
168
169
169
170
172
176
176
178
179
179
179
180
178
172
171
170
167
163
161
158
101
98
97
95
90
87
85
82
81
132
130
128
75
74
71
70
69
68
66
66
68
68
68
67
119
67
66
65
65
116
115
62
62
61
113
60
60
59
58
109
108
108
108
56
57
57
58
57
57
110
110
109
107
103
99
98
98
99
99
98
46
44
45
98
99
100
102
102
102
103
104
53
106
107
108
59
59
111
111
111
111
111
111
111
111
111
59
59
59
110
110
110
110
110
110
110
42
42
94
94
42
42
94
93
93
93
93
42
42
42
41
40
39
35
33
32
29
29
28
76
76
76
77
77
81
82
84
84
33
84
32
34
85
89
41
94
99
106
71
77
79
79
131
132
133
82
82
134
134
134
134
82
81
82
134
134
136
136
136
139
140
141
93
96
150
152
153
154
157
157
107
110
117
169
171
171
171
172
172
178
178
179
127
127
180
128
128
128
180
180
181
183
186
191
191
190
137
189
136
134
186
185
130
128
126
124
174
165
165
165
165
164
162
162
157
157
157
158
157
157
105
109
109
109
161
158
156
156
100
97
147
145
143
89
88
87
139
139
138
138
135
83
136
135
136
137
87
88
88
93
95
98
154
105
107
112
165
165
115
170
170
118
120
113
165
165
165
165
165
165
165
166
166
167
115
115
167
168
169
169
169
170
172
172
175
177
178
178
180
181
181
181
176
173
172
169
166
163
110
102
153
98
95
91
89
83
132
131
130
129
126
125
71
69
120
67
67
65
65
68
67
67
67
66
66
65
65
64
115
114
62
61
112
111
59
58
57
108
56
55
55
55
56
56
56
57
56
108
108
108
107
106
49
47
46
98
99
99
98
98
96
96
97
98
98
99
100
100
100
50
103
104
55
55
109
109
109
109
109
57
109
111
111
111
111
111
111
111
108
108
108
108
108
108
56
43
43
95
95
43
95
43
41
93
94
94
43
43
95
43
42
93
89
34
33
32
29
28
78
76
76
77
77
81
82
84
84
85
84
84
86
85
88
92
93
98
103
68
76
78
131
131
131
132
133
133
133
133
133
133
81
82
82
82
135
136
137
137
88
88
141
146
148
151
100
103
105
157
158
160
165
118
119
119
171
172
174
174
179
179
127
127
128
128
128
128
128
128
180
181
183
134
138
190
190
189
188
188
133
185
184
181
179
126
124
122
115
115
167
113
113
113
111
109
161
160
160
161
162
110
114
113
113
163
163
160
158
156
153
151
149
147
93
92
91
142
142
90
87
139
87
138
86
87
143
90
91
92
98
100
105
107
110
113
116
170
170
119
119
173
173
121
115
115
167
167
167
167
167
167
115
116
116
117
117
117
117
117
170
170
172
172
172
124
125
177
128
128
128
128
182
177
176
173
172
168
165
111
105
153
152
147
91
88
82
80
130
129
128
125
125
71
120
120
119
67
65
65
67
67
119
118
66
66
65
116
64
63
62
61
61
111
111
110
109
108
108
107
54
55
55
55
56
56
108
107
107
107
107
107
105
49
47
46
46
99
99
98
98
97
97
97
98
46
99
99
100
49
49
50
51
53
54
107
107
107
107
55
55
55
58
110
110
110
110
110
110
107
107
107
107
107
55
107
43
43
95
95
43
95
95
94
94
94
43
44
44
97
47
46
44
90
88
34
33
31
82
78
26
26
79
79
81
82
32
84
85
84
84
87
85
88
91
91
96
102
62
71
74
129
129
130
130
133
133
133
133
135
135
83
83
83
136
136
137
138
86
89
89
143
147
149
152
101
104
105
108
161
163
167
171
119
119
122
174
175
175
179
179
179
128
128
129
129
128
128
128
180
181
183
186
190
138
190
188
188
187
133
184
183
180
179
125
124
122
118
118
118
118
116
116
114
117
170
170
169
171
172
173
123
122
121
118
169
112
111
162
160
156
155
100
98
149
149
149
149
147
146
146
145
95
96
97
100
154
103
104
112
114
117
171
122
177
179
180
180
180
179
178
178
126
119
119
119
171
171
171
171
170
118
119
119
172
172
172
118
118
120
172
172
174
122
124
178
179
127
128
129
181
185
181
177
177
173
171
167
112
106
104
152
149
145
90
82
79
78
128
127
124
124
122
120
68
68
67
66
66
119
67
118
118
117
65
64
64
63
62
62
61
60
110
110
109
108
108
107
106
106
54
54
55
55
56
56
106
106
107
106
106
52
48
47
46
46
47
47
98
98
98
98
46
47
47
99
99
49
50
50
50
50
50
50
103
103
51
51
103
51
51
53
53
53
105
105
53
53
103
103
103
103
51
103
103
46
46
46
96
95
94
42
95
95
96
96
45
45
45
99
98
45
94
90
89
36
85
84
83
80
27
26
26
30
30
31
31
85
85
33
33
85
34
37
91
93
94
53
65
69
124
127
129
132
132
134
134
136
137
137
137
85
85
85
138
139
139
87
92
145
147
150
152
153
102
109
110
112
114
169
171
121
124
124
126
129
130
131
182
130
130
130
130
130
130
129
130
131
184
185
186
187
191
139
139
189
189
189
186
185
184
180
178
125
124
124
121
121
122
124
125
126
126
127
179
179
179
177
177
125
127
127
124
124
176
173
171
167
166
164
162
105
104
101
99
99
150
151
153
154
103
103
157
109
111
113
115
117
128
128
181
184
185
186
186
187
186
186
187
187
187
134
124
123
122
121
120
172
171
175
175
122
122
122
121
121
120
120
120
122
174
174
122
125
125
127
127
128
128
128
180
128
128
124
122
171
169
167
109
105
155
153
148
93
85
131
128
127
127
125
124
122
119
67
66
65
63
115
118
66
118
117
117
117
64
63
63
61
60
59
110
110
110
109
108
107
107
106
105
53
53
53
53
53
53
106
106
107
106
105
52
47
48
47
47
47
47
45
97
98
98
98
99
99
100
48
48
48
48
101
101
50
50
47
47
47
47
99
47
47
47
47
47
48
48
49
49
45
45
45
97
97
97
97
99
46
46
44
96
43
95
96
44
96
97
97
46
98
101
49
46
94
93
38
37
86
33
31
82
29
27
26
30
30
31
31
85
85
85
85
33
33
37
38
92
93
49
59
64
121
72
76
130
133
134
135
137
138
86
86
86
86
86
87
88
89
89
94
147
96
100
153
154
103
110
111
113
168
170
171
124
124
177
128
129
131
131
131
131
131
131
183
183
131
130
131
183
185
186
187
136
139
191
191
138
137
137
134
185
184
180
179
177
125
125
127
128
128
128
129
131
182
182
182
180
180
180
180
128
129
129
128
179
179
174
174
170
169
114
164
161
158
105
101
100
152
153
156
160
109
161
163
116
118
119
122
176
135
135
187
189
190
190
190
138
190
189
188
138
190
190
177
125
123
123
122
121
121
176
176
175
175
122
122
122
120
120
122
122
122
174
124
125
127
179
179
127
128
128
128
128
127
126
122
121
170
168
110
107
156
154
151
94
85
130
128
127
127
124
123
121
118
66
65
64
114
114
118
118
118
117
117
65
115
63
62
61
60
58
110
109
109
108
108
55
106
105
52
52
52
104
104
104
52
53
105
106
106
105
104
47
48
47
47
47
47
45
97
98
46
46
98
99
47
48
48
100
100
100
101
49
50
45
45
97
97
45
45
97
45
97
45
45
46
46
47
44
44
44
44
96
96
44
47
47
47
46
98
46
98
97
98
98
99
47
47
99
52
51
50
97
95
42
93
86
34
32
31
30
29
29
30
30
31
31
33
85
85
87
34
34
37
38
39
92
96
55
60
117
68
74
79
79
135
136
139
140
90
91
88
88
89
90
92
93
93
99
99
100
156
157
157
106
114
115
169
170
172
123
125
128
129
182
183
186
187
186
186
186
134
186
186
134
132
133
186
187
188
137
139
140
192
192
138
138
190
135
135
134
130
181
128
128
129
133
133
132
133
185
186
185
184
132
183
183
183
131
129
133
133
133
182
182
180
178
177
174
172
171
166
166
113
101
101
103
157
161
165
167
171
173
175
126
128
182
186
195
143
143
143
143
195
195
145
145
196
144
143
143
195
183
131
129
129
128
127
127
127
127
179
178
178
178
177
123
123
123
175
177
177
125
127
127
127
129
129
129
129
178
179
127
126
124
121
170
171
112
109
107
155
152
150
85
78
75
126
73
70
70
70
67
67
118
65
115
115
117
117
117
116
116
64
114
113
112
59
58
109
108
108
107
107
54
105
104
104
103
103
103
103
103
51
51
50
103
103
104
104
103
47
47
46
98
46
46
44
44
97
45
45
46
46
47
47
47
99
99
100
100
49
101
95
95
95
95
43
43
43
43
43
43
44
44
45
97
41
41
41
41
93
93
93
48
48
100
100
100
48
48
99
99
99
48
48
49
101
54
53
52
101
99
96
95
89
35
85
84
31
82
82
30
30
31
31
33
85
85
89
37
36
38
39
40
93
94
101
53
58
115
120
73
79
136
137
88
142
145
93
142
143
144
145
147
148
149
103
155
156
159
159
160
160
117
118
171
172
175
176
129
129
130
131
186
188
188
188
188
188
188
188
188
136
135
135
136
189
190
191
193
193
193
192
139
191
190
188
136
135
132
131
182
131
132
188
136
136
136
189
187
187
186
132
132
184
183
183
131
135
135
135
133
184
182
180
181
179
176
176
172
172
171
162
162
110
110
116
172
121
177
179
184
186
137
191
194
149
149
149
201
149
149
147
149
148
200
147
146
146
197
188
135
134
185
184
184
131
130
130
129
181
180
180
180
124
124
176
126
178
178
126
128
128
181
129
128
128
180
179
178
178
177
176
121
172
171
163
108
107
105
100
149
137
130
127
73
72
69
68
67
64
116
115
114
112
112
115
62
62
114
113
113
60
60
59
58
109
107
107
106
106
53
105
104
103
102
101
49
101
101
101
49
49
48
101
102
50
102
102
46
46
97
45
97
97
43
43
44
44
45
97
45
46
46
46
98
99
99
99
100
100
96
96
96
96
96
96
44
42
42
43
95
44
96
96
39
91
91
91
39
91
39
48
48
48
100
100
48
48
99
99
99
48
49
49
49
54
54
52
49
100
97
96
89
87
85
85
31
82
82
30
30
31
31
33
85
85
90
90
89
39
40
41
94
39
47
51
56
61
117
122
80
84
85
89
90
145
146
90
91
92
146
148
97
150
156
104
105
108
108
161
161
170
119
120
121
176
176
129
129
130
131
187
188
189
188
188
188
188
188
188
188
135
135
136
137
139
140
193
193
141
141
191
191
190
188
136
135
132
131
183
183
185
189
137
137
138
138
136
136
133
131
131
131
183
182
182
135
187
135
132
132
129
180
182
128
125
177
173
173
173
165
165
165
114
118
122
123
128
130
186
190
191
194
196
154
206
154
151
151
151
151
149
149
149
148
148
146
198
188
188
135
134
185
184
184
130
130
129
129
128
180
128
124
124
176
126
178
178
127
128
128
181
181
180
128
180
178
178
178
177
176
173
172
171
163
160
106
104
99
149
137
130
75
73
72
69
68
65
114
113
113
112
110
110
62
62
61
113
113
112
60
60
59
58
108
107
106
106
54
53
52
52
103
102
101
49
49
49
49
49
49
47
48
49
50
102
102
98
98
45
45
97
97
95
43
44
44
96
97
97
98
46
46
98
98
99
99
100
100
95
95
95
95
95
95
95
40
40
40
41
42
94
94
92
92
92
92
92
92
92
51
50
49
102
103
52
53
105
105
106
56
57
109
109
56
55
54
100
98
97
44
91
89
84
84
32
31
30
29
29
82
82
33
33
33
85
86
86
34
36
88
88
95
46
100
51
57
114
67
73
82
84
86
87
88
144
93
95
96
98
99
155
156
110
111
113
114
115
118
170
173
122
123
125
126
181
182
133
133
135
136
138
139
192
192
192
193
193
193
194
142
142
142
142
142
142
194
194
142
142
193
193
140
192
138
138
190
138
138
190
190
192
140
140
140
192
192
140
138
138
138
189
189
188
188
186
134
134
133
133
133
185
134
134
186
187
188
188
136
184
132
185
187
138
140
193
142
145
198
203
207
208
209
209
157
157
155
207
155
153
153
205
203
149
201
200
200
196
196
143
142
193
191
191
189
135
134
133
130
130
181
181
181
180
180
180
179
127
127
179
179
127
127
127
127
175
177
178
126
128
180
180
179
172
169
113
108
104
152
137
129
123
120
65
63
61
113
111
111
112
112
114
63
60
112
112
112
112
62
62
63
63
61
112
112
111
110
57
56
55
54
105
104
103
51
51
51
51
51
51
52
52
50
49
49
101
98
98
46
96
97
97
97
97
95
95
96
97
97
97
45
42
94
43
95
94
95
95
93
93
93
93
41
41
93
93
41
41
41
41
41
41
90
38
90
90
90
90
38
51
51
102
104
104
53
53
107
107
107
58
58
110
111
110
57
107
101
98
97
96
40
90
85
85
85
32
31
30
82
82
82
32
32
32
86
87
87
87
37
37
37
96
96
47
101
105
108
111
68
79
82
85
86
89
90
148
150
150
151
100
103
105
112
113
115
116
117
120
121
124
125
126
179
128
183
183
186
135
136
137
139
192
194
194
194
194
195
195
195
195
143
143
143
143
195
143
194
194
194
194
194
194
194
141
141
141
141
141
141
141
142
193
193
193
193
192
140
138
190
190
189
137
188
188
184
132
133
133
133
134
134
135
136
137
139
194
195
144
193
194
143
198
201
150
205
152
204
207
210
211
213
213
214
162
162
162
214
212
160
159
157
208
206
205
204
204
202
202
200
197
196
195
194
191
191
136
135
134
186
185
183
182
182
181
129
129
129
180
179
179
127
127
178
178
177
177
178
180
180
180
128
129
123
121
116
113
160
156
139
81
75
122
118
62
60
111
109
109
110
110
60
61
110
110
58
110
110
60
61
62
61
60
111
111
110
57
57
56
55
54
104
52
101
101
101
49
49
49
49
102
49
47
47
46
46
44
97
45
44
44
44
96
96
95
95
44
45
97
97
97
95
43
43
44
43
96
96
94
94
94
94
94
42
42
94
42
42
42
42
42
42
38
38
38
38
90
90
90
51
51
104
54
54
105
105
107
108
108
59
59
111
111
59
58
108
101
99
97
44
40
90
85
85
85
32
31
82
82
82
30
32
32
32
34
87
87
35
37
89
37
44
44
45
101
103
106
109
117
75
80
134
137
140
142
148
150
150
100
100
104
106
113
114
116
117
118
173
122
125
125
127
180
129
132
184
187
136
137
138
140
193
194
194
194
143
195
196
196
195
143
143
143
195
195
195
142
142
142
142
142
194
194
194
142
142
142
194
142
142
143
142
194
193
193
192
140
138
190
190
189
137
188
188
184
132
133
133
134
135
135
137
138
140
141
145
199
199
197
197
199
200
151
154
207
208
210
159
161
164
164
217
218
218
166
164
164
164
214
211
211
208
207
206
205
153
204
204
202
200
199
196
195
143
140
191
190
187
187
135
183
131
131
130
130
182
129
128
180
179
179
126
178
178
177
178
178
180
180
182
130
129
124
122
119
115
109
158
139
83
130
125
120
63
59
58
56
56
55
57
59
111
110
110
58
58
110
60
60
61
60
111
110
110
109
57
56
55
54
53
52
103
99
99
99
47
47
99
99
101
49
46
46
46
45
43
45
45
43
44
44
96
96
95
95
44
45
45
45
97
95
95
96
44
95
44
96
94
94
94
94
94
42
42
42
42
42
42
42
42
42
90
38
38
38
90
90
38
51
104
105
56
55
54
105
109
109
109
60
60
113
113
60
59
57
101
99
97
95
41
39
34
86
86
33
32
83
83
82
82
31
31
31
35
36
88
88
90
38
38
40
44
46
48
103
104
106
111
122
126
131
133
137
139
145
95
97
100
102
106
109
115
116
118
119
172
123
124
125
126
127
180
181
132
134
136
189
138
139
142
142
194
142
142
142
143
195
195
142
142
142
194
194
142
142
142
194
194
143
143
144
144
195
195
143
143
143
143
143
144
144
195
194
193
192
140
190
190
190
137
137
136
136
187
187
136
137
138
139
139
145
146
199
200
151
152
205
204
204
206
207
160
161
162
163
165
165
167
167
167
219
221
221
169
168
168
168
218
217
217
216
213
212
211
159
211
208
153
204
202
200
199
147
196
195
194
193
191
191
187
135
134
134
185
133
133
131
130
129
181
180
179
127
125
178
180
180
182
130
130
130
124
122
119
167
112
107
144
138
133
128
123
116
59
56
54
54
53
55
55
107
108
108
108
108
108
58
58
112
111
110
109
108
108
54
54
53
52
102
101
100
97
97
97
97
97
97
45
49
48
98
98
97
97
43
44
44
43
43
43
95
95
95
95
44
45
45
45
97
96
96
96
97
96
45
45
95
95
95
95
43
43
43
43
43
43
43
43
95
95
90
38
90
90
90
90
90
55
107
107
57
57
57
109
110
110
111
63
63
116
116
113
60
58
103
100
98
97
38
38
35
87
86
33
85
83
83
30
30
31
31
31
31
34
37
90
92
39
39
41
42
43
99
101
106
55
59
117
121
124
129
131
133
142
93
96
152
155
160
111
115
116
118
119
120
175
175
126
127
128
180
181
132
134
137
190
192
140
142
141
142
142
142
142
142
194
142
194
142
194
142
194
142
142
141
193
193
193
194
144
147
145
145
198
198
146
147
199
198
198
197
196
142
140
140
192
191
137
136
135
136
137
135
135
137
139
193
196
145
149
201
202
203
205
206
207
209
209
211
161
167
168
169
170
170
170
172
224
224
172
226
226
226
226
172
172
172
223
223
170
218
217
217
164
215
214
158
209
208
207
153
151
202
199
198
197
196
196
192
140
138
188
135
134
134
134
133
184
184
131
130
130
126
180
180
182
130
132
132
182
178
124
175
172
115
113
150
145
137
131
126
119
113
108
52
51
51
52
54
105
107
108
56
56
56
109
107
57
108
108
108
57
57
54
52
50
48
98
97
97
95
95
95
96
96
45
45
46
46
96
97
97
98
44
95
95
41
42
42
94
94
95
44
44
45
45
44
97
43
43
44
97
96
46
46
44
44
96
96
44
44
44
44
96
44
96
96
96
96
91
91
91
91
91
91
39
55
55
107
109
57
57
57
110
110
111
62
63
64
116
113
60
58
103
100
98
97
38
38
36
87
86
33
85
83
31
30
30
32
31
83
83
86
89
90
92
91
39
39
42
43
97
102
104
108
59
116
119
124
126
129
80
141
92
95
99
153
159
109
115
168
170
171
172
175
175
125
127
128
128
128
132
134
137
139
140
141
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
140
140
192
193
194
196
147
146
146
198
199
199
199
200
198
146
145
144
143
141
192
192
139
137
136
136
137
137
137
138
192
194
196
199
200
205
205
206
207
158
158
211
211
212
162
164
168
170
171
173
175
175
175
177
177
177
230
230
230
228
176
176
174
225
224
223
221
220
220
219
164
215
213
212
211
208
156
154
151
201
200
198
197
197
140
140
190
189
136
135
186
134
133
185
184
131
130
130
126
180
182
130
132
132
132
184
178
176
175
172
117
113
100
94
87
133
126
119
114
108
104
51
51
51
53
53
106
55
56
56
55
56
107
109
108
108
56
56
56
53
52
50
48
98
97
97
43
95
95
96
96
45
45
46
46
44
45
45
45
96
95
95
93
94
94
42
42
43
43
96
97
97
97
45
43
43
44
45
97
46
98
96
44
96
96
44
44
44
96
96
96
96
96
96
96
91
91
91
91
91
39
39
56
56
108
110
58
58
58
111
111
111
114
63
63
63
61
60
58
103
100
98
45
40
91
89
88
35
35
86
84
84
31
31
32
32
84
84
85
87
36
91
91
39
41
41
42
98
101
105
57
57
113
117
120
124
126
75
86
89
91
95
149
154
105
113
114
117
170
172
175
175
177
127
127
127
128
132
135
190
140
193
194
195
195
196
143
143
143
143
142
142
141
141
141
141
141
141
141
140
192
192
192
193
195
146
148
149
201
201
202
202
202
148
147
146
197
196
194
193
192
139
138
137
137
139
139
141
194
195
197
199
202
203
208
208
157
158
161
162
162
164
217
218
168
174
175
176
180
182
182
182
184
184
184
235
235
235
233
181
181
231
229
229
229
226
225
173
173
170
221
219
218
217
162
162
212
157
207
205
202
201
148
145
196
194
193
192
139
138
137
136
187
134
134
133
133
128
182
130
132
132
134
134
132
180
178
176
122
169
115
104
97
90
136
127
122
116
108
104
50
50
51
51
50
106
55
55
55
55
56
55
109
108
56
55
55
55
52
51
49
99
97
97
45
43
43
43
95
95
43
43
44
45
43
43
44
44
42
95
95
93
94
94
42
42
42
95
95
96
98
97
46
44
44
45
45
45
47
47
96
96
44
96
96
96
96
96
96
96
44
96
96
96
91
91
91
39
39
39
39
57
57
109
59
59
59
59
112
112
112
114
62
62
114
113
112
110
103
100
46
45
41
41
39
38
37
36
36
33
84
84
83
33
85
85
84
33
33
34
37
39
39
92
95
44
46
51
107
57
58
61
65
67
69
73
74
136
87
89
92
146
151
153
161
111
114
116
169
173
174
176
178
126
178
179
183
189
140
193
195
196
197
196
197
197
197
144
143
143
142
142
142
142
142
142
142
142
193
193
193
194
195
197
148
201
202
202
202
203
203
204
149
149
200
199
198
144
195
193
192
191
191
139
141
142
146
199
148
150
204
207
156
210
210
159
160
163
164
164
168
171
224
226
178
181
182
183
237
237
237
237
186
186
185
237
236
236
184
184
182
234
234
180
232
180
180
178
176
175
173
172
170
169
168
219
216
161
209
207
206
153
147
198
196
195
194
141
141
190
137
136
135
134
134
133
128
130
132
132
134
134
134
134
180
178
176
122
117
167
107
100
93
139
130
122
117
107
103
101
101
102
50
50
105
106
107
107
106
107
107
57
56
55
54
54
53
50
49
99
98
97
97
45
43
43
43
95
94
94
42
43
43
41
94
94
94
93
95
95
93
94
94
42
42
41
42
95
96
98
98
99
44
45
45
46
46
47
48
96
96
96
96
44
44
44
96
96
96
96
96
96
96
91
91
91
91
91
39
39
57
57
57
59
111
111
59
60
112
112
114
62
62
114
61
112
110
51
48
46
45
42
42
39
90
38
37
37
33
85
84
84
85
85
85
32
33
32
33
89
38
40
93
95
45
47
51
106
109
110
62
63
67
69
71
73
136
87
88
91
93
150
152
159
161
164
114
116
172
172
176
126
126
178
179
183
138
141
194
195
196
197
197
198
198
197
196
195
143
142
195
143
143
195
143
143
143
194
142
194
194
196
198
148
149
150
202
202
203
203
203
202
149
201
199
198
144
144
193
140
140
139
140
142
143
147
148
149
151
205
157
158
212
213
161
163
165
166
218
223
172
225
227
181
235
236
237
239
239
240
188
188
188
187
239
239
186
186
186
184
235
235
183
181
182
182
234
231
177
175
174
173
171
170
169
166
162
160
210
207
206
200
199
197
196
195
194
194
138
137
136
135
135
186
186
180
130
132
132
134
186
134
134
180
178
124
122
119
167
159
100
94
87
78
124
117
106
103
49
49
102
50
49
105
106
106
106
106
107
107
57
56
55
53
53
104
101
100
99
97
45
97
97
43
43
43
94
94
93
41
42
42
93
93
93
42
40
95
95
93
94
94
94
42
41
41
95
96
46
99
99
45
97
46
46
46
48
48
96
96
96
96
44
44
96
96
96
96
96
96
96
96
91
91
91
91
39
91
39
62
62
62
113
112
112
112
61
61
113
112
112
60
112
111
110
56
49
46
42
41
39
37
37
35
35
35
35
37
89
87
87
86
85
33
32
32
33
85
86
86
34
91
96
98
48
102
106
108
112
116
66
120
69
72
73
80
81
135
85
88
142
142
148
150
101
104
109
163
112
121
123
124
128
129
131
187
189
139
142
196
197
197
197
197
197
196
196
143
143
197
145
144
196
197
147
149
197
146
198
198
198
198
199
151
151
151
152
204
205
205
204
204
203
201
199
144
195
142
142
142
142
143
147
148
201
150
151
152
154
163
165
166
168
169
170
173
227
228
182
182
235
237
188
189
242
244
244
244
192
244
244
192
190
190
190
189
189
188
240
189
189
189
188
187
239
239
240
188
184
182
181
232
177
175
174
169
168
218
217
164
208
206
203
148
200
201
201
143
141
138
136
135
185
185
187
135
134
134
131
131
131
130
128
128
178
177
122
172
160
153
94
88
80
125
68
109
105
103
51
51
53
52
107
107
108
108
109
109
57
57
56
107
105
104
103
103
101
100
47
47
98
97
95
43
43
42
94
93
93
93
93
94
94
94
43
42
44
96
95
96
44
46
46
41
41
41
94
96
47
45
98
46
45
98
98
47
45
48
100
100
99
99
99
97
95
95
95
93
93
93
93
93
93
93
92
91
39
91
114
62
62
61
61
113
112
62
62
61
112
60
59
59
109
108
52
48
44
42
92
91
91
89
35
35
35
35
90
90
88
87
87
86
34
33
33
34
86
86
87
35
39
96
98
100
102
106
108
112
116
119
121
70
126
74
80
81
83
84
140
141
141
147
149
151
102
107
161
162
121
123
124
126
129
131
188
189
139
141
196
196
144
145
145
196
196
196
144
143
197
145
144
196
197
199
149
147
148
148
200
201
149
202
151
152
152
152
153
205
205
205
152
203
202
148
145
145
144
143
143
144
145
201
202
204
152
153
155
157
165
166
168
170
171
172
228
229
230
183
184
185
239
190
191
192
247
247
247
247
247
247
195
192
192
192
191
191
190
242
242
190
189
189
188
240
240
241
189
237
236
235
234
179
179
179
226
224
223
221
221
212
159
154
152
201
200
200
144
143
141
137
188
187
134
135
135
135
134
132
132
131
130
128
180
178
125
122
120
108
101
94
88
80
73
68
57
105
103
51
51
53
52
55
107
108
108
109
57
57
56
55
54
53
104
103
103
101
48
47
99
98
97
95
95
43
42
94
93
93
93
93
94
94
42
43
94
43
96
94
95
44
45
46
93
41
43
42
44
47
45
46
46
45
98
46
47
47
47
47
99
98
98
98
44
43
43
95
93
93
41
41
93
92
92
40
39
91
91
63
63
62
62
61
61
113
62
62
61
60
59
59
58
105
104
103
99
44
42
93
92
92
90
38
36
36
88
91
90
37
36
87
87
34
34
34
34
87
87
87
36
39
96
98
100
50
54
108
113
117
120
122
123
127
75
81
82
83
84
140
141
141
146
148
151
154
106
160
109
121
123
124
126
127
131
186
137
139
193
194
196
196
142
142
194
194
194
142
142
143
143
194
194
195
197
147
148
149
149
202
203
151
152
152
152
152
153
153
153
206
205
152
152
150
149
147
146
145
145
145
145
147
202
203
205
206
207
209
160
166
168
171
172
172
174
178
179
179
185
186
187
188
192
193
193
248
248
196
248
248
248
196
193
193
193
192
192
192
243
243
190
190
189
241
241
241
190
189
188
185
236
235
235
232
179
175
225
172
170
222
215
214
157
154
152
201
200
199
196
194
193
189
188
135
136
135
135
135
184
132
132
182
180
180
178
125
122
120
108
101
94
88
80
125
68
57
105
103
51
51
53
104
107
107
108
108
109
57
56
56
55
54
53
103
103
103
101
48
47
99
98
97
95
95
95
42
42
93
93
93
93
94
42
42
43
42
43
95
94
95
44
45
45
93
93
43
44
44
47
99
46
46
46
46
46
47
47
46
46
98
97
45
97
95
43
43
43
41
41
41
41
40
40
40
91
39
90
90
62
61
113
60
60
60
60
111
111
58
56
55
54
53
101
99
98
44
43
43
93
93
41
39
39
39
39
91
92
92
91
38
37
88
88
35
35
88
88
89
89
37
91
96
98
48
50
54
56
113
118
121
71
74
77
78
136
137
85
86
89
142
142
148
150
152
155
160
110
111
119
121
176
178
179
181
186
187
189
192
193
141
193
193
141
142
194
194
142
195
143
195
194
194
195
197
147
149
150
150
204
205
206
207
153
153
153
153
154
206
207
153
153
152
152
151
149
149
148
148
148
149
202
205
207
208
209
212
217
167
170
172
174
175
178
179
181
234
234
188
189
242
244
247
196
197
250
250
250
250
250
250
198
195
194
194
193
193
193
192
244
192
192
243
243
242
242
191
191
190
242
241
239
238
183
181
178
176
173
171
171
168
219
162
160
157
206
202
201
199
197
195
193
140
140
137
136
136
135
185
133
133
182
180
180
178
125
122
120
108
153
146
88
80
125
68
57
105
103
103
51
53
104
107
55
108
108
109
57
56
55
54
53
52
51
102
103
49
48
47
99
98
45
95
95
95
42
42
93
93
93
93
42
42
42
43
42
42
43
93
94
43
96
97
93
93
43
44
98
99
99
100
46
46
99
47
47
47
47
47
47
46
46
46
96
43
43
43
41
93
93
41
39
39
39
39
38
90
89
62
62
62
61
60
60
60
110
57
56
105
104
51
51
97
97
44
43
42
42
94
93
41
41
41
41
93
93
93
93
91
39
38
37
37
88
88
89
89
90
90
90
91
96
98
100
50
54
56
61
118
122
72
75
79
80
86
139
140
140
143
143
144
150
101
103
158
163
113
114
171
173
122
176
177
181
184
135
189
190
138
140
140
192
140
192
193
193
194
194
194
194
193
193
194
196
146
149
149
150
152
205
206
208
153
153
153
154
154
207
207
154
154
153
152
152
151
150
150
150
150
150
204
207
208
211
213
216
168
170
226
226
178
179
179
181
184
237
237
190
191
244
245
197
198
250
198
198
250
250
250
198
198
246
246
194
193
245
244
244
245
193
245
244
243
243
191
193
193
192
243
243
243
242
239
239
234
233
231
178
177
168
220
167
165
162
157
156
204
200
199
197
195
142
141
189
137
136
136
133
133
133
182
180
128
126
177
174
120
108
153
146
140
132
73
68
109
105
103
103
103
105
104
55
55
108
108
109
109
107
107
106
105
103
102
101
103
49
48
47
99
98
97
95
95
43
42
42
93
93
93
41
42
42
42
43
42
42
42
41
42
94
96
96
95
43
45
98
98
101
101
100
100
100
99
47
48
48
48
100
48
47
47
47
45
43
43
43
41
41
93
41
39
39
39
38
37
89
37
114
62
61
58
109
108
108
56
56
54
103
102
49
100
44
96
95
42
43
96
96
94
42
42
94
94
95
95
93
93
40
40
39
91
91
90
90
90
90
90
90
90
91
95
97
101
51
55
56
60
119
70
71
73
78
81
85
87
140
142
145
146
147
100
101
103
105
109
162
163
169
172
123
175
125
128
131
184
187
189
138
138
137
192
140
192
193
193
194
194
195
195
194
194
194
195
145
148
149
151
153
154
207
206
206
154
154
155
207
208
208
207
207
154
206
204
151
203
202
150
150
151
205
209
210
214
216
168
172
224
227
230
181
181
235
236
187
240
240
192
193
245
195
197
198
198
200
200
200
200
200
200
252
249
248
248
246
245
244
244
193
193
245
245
245
245
245
193
193
193
245
245
244
244
243
241
238
236
232
179
178
174
173
168
166
164
162
160
156
201
199
198
145
142
192
191
138
137
135
132
183
183
131
130
129
125
123
120
119
105
101
94
137
130
74
67
107
105
104
104
104
106
55
56
56
56
108
108
108
104
104
104
103
103
50
102
101
49
48
47
99
98
97
95
95
95
42
94
93
93
42
42
42
42
42
43
93
43
43
42
43
43
45
97
95
43
96
97
47
47
47
102
100
100
101
101
47
47
101
100
100
47
98
98
44
97
45
45
95
43
95
95
92
39
39
39
90
90
89
62
61
60
58
109
108
107
107
55
54
102
101
100
99
42
93
92
91
42
95
96
42
43
43
95
95
95
97
94
94
93
41
40
92
92
91
91
91
39
91
91
39
92
96
97
101
103
55
55
59
118
122
71
126
131
81
86
87
89
142
94
95
96
100
101
103
105
161
162
163
171
173
174
174
176
126
181
184
185
187
136
138
137
140
140
140
140
141
141
141
142
142
193
193
193
194
196
148
149
151
153
154
207
206
206
206
154
207
207
208
208
155
155
206
205
205
203
203
203
203
151
152
206
210
212
165
168
171
225
226
230
179
183
183
236
237
242
242
243
245
246
247
248
250
251
199
200
200
200
200
200
200
252
198
249
249
247
247
246
246
194
194
246
246
246
246
246
195
195
195
193
245
193
193
192
243
239
237
236
182
182
175
175
171
221
217
164
163
160
205
203
202
198
195
141
192
190
137
136
133
184
183
131
130
181
177
174
120
118
105
101
95
85
78
73
66
107
105
104
103
103
53
53
53
53
53
53
105
105
103
103
103
103
102
50
102
101
101
48
47
47
46
97
95
95
95
42
42
93
93
42
42
42
41
42
42
41
42
95
41
42
43
44
45
96
96
45
98
99
49
49
49
49
101
100
100
49
49
47
47
47
45
45
96
94
95
95
43
41
41
93
93
91
90
90
38
37
37
89
60
59
59
56
107
106
106
53
52
51
48
98
97
96
91
38
89
39
91
94
43
43
44
46
46
46
98
98
95
95
43
42
94
94
93
92
92
92
40
92
92
40
42
45
98
102
103
54
55
59
119
123
73
127
133
83
87
88
89
91
95
96
96
152
153
103
105
161
162
163
118
172
174
174
174
176
181
182
133
135
136
136
135
137
189
137
138
138
138
139
139
138
190
189
190
191
193
147
148
150
204
205
206
205
206
206
154
155
155
208
208
206
154
205
205
205
204
204
206
206
154
155
208
213
162
167
222
225
177
230
232
183
184
237
240
241
243
244
245
246
246
247
196
199
199
200
200
200
200
200
252
252
252
198
198
249
249
249
248
196
195
195
247
247
247
247
195
196
248
248
248
248
246
194
193
244
242
241
186
185
185
231
178
174
172
222
220
165
164
157
207
205
203
200
145
192
191
190
189
185
185
184
182
181
180
176
173
171
117
103
152
95
85
78
72
116
107
53
51
50
49
51
52
51
51
51
51
103
103
102
102
102
102
102
50
50
101
101
100
47
47
46
97
95
95
95
42
42
93
93
41
41
41
41
41
41
40
42
94
93
93
94
44
96
96
44
45
46
48
49
49
50
48
101
102
103
102
103
100
48
47
46
45
45
95
96
96
96
42
42
94
42
40
92
92
91
90
90
90
60
59
58
56
107
106
105
52
51
50
47
97
96
96
39
38
37
38
39
94
43
44
45
99
47
47
101
101
96
96
95
95
95
94
94
93
93
41
93
93
41
41
43
46
47
102
103
106
55
60
68
72
74
77
82
85
87
140
142
143
95
148
149
152
153
103
105
109
162
163
169
119
120
122
123
125
129
182
183
135
136
188
187
136
189
137
137
190
138
138
138
137
189
188
189
190
192
146
147
149
203
204
152
152
154
154
154
155
207
208
208
205
153
153
205
205
205
205
207
207
155
156
209
214
215
220
171
177
179
231
234
184
237
238
240
242
244
247
247
245
246
247
196
198
199
199
200
200
200
200
252
252
252
249
249
249
249
249
249
197
196
196
248
248
248
196
248
251
251
249
249
197
195
195
245
245
243
242
189
186
186
232
231
228
225
171
221
169
166
161
156
206
204
201
198
193
191
190
189
186
185
184
181
181
180
176
173
119
117
155
152
95
138
129
123
115
107
105
51
49
49
51
51
102
102
50
50
50
50
49
101
49
49
50
50
50
49
49
48
47
47
46
45
95
95
95
42
42
41
93
92
93
41
40
41
41
39
41
42
92
93
94
95
96
46
46
45
46
48
49
101
102
103
102
103
104
104
104
102
101
101
100
99
47
44
46
46
46
44
44
44
44
42
42
42
93
92
92
92
59
59
58
55
106
105
105
103
102
49
46
97
95
95
90
37
36
38
38
39
94
45
97
47
47
49
101
101
97
97
44
96
43
43
43
94
94
94
42
42
42
42
96
99
48
103
104
106
55
61
70
74
76
131
85
88
140
141
142
144
95
149
149
152
101
103
105
109
110
163
167
118
120
120
124
127
129
182
131
133
136
188
187
188
188
188
137
137
138
138
137
137
188
188
188
189
191
144
145
147
201
202
150
202
206
154
154
155
207
208
208
205
205
153
153
153
205
205
208
208
156
157
211
215
216
224
174
178
232
233
184
185
238
240
189
190
195
248
248
244
245
245
195
197
250
198
200
200
200
252
252
252
252
248
248
248
248
248
249
249
249
197
249
197
197
197
249
251
251
249
249
197
197
195
246
246
243
191
242
190
241
233
181
229
227
172
171
170
169
163
212
208
205
202
199
193
192
191
189
186
185
185
181
180
127
175
172
170
169
154
100
95
138
129
123
113
107
105
103
101
48
50
50
102
102
102
102
50
102
100
48
48
49
49
50
50
49
101
100
99
99
46
45
95
95
43
42
42
41
93
92
92
40
92
40
41
39
41
41
40
41
41
95
43
46
46
47
46
100
102
101
103
104
103
104
106
108
108
105
105
104
103
102
50
48
49
49
49
47
47
47
47
46
46
97
97
96
96
44
56
55
54
52
102
101
101
99
99
46
97
96
95
95
92
40
40
40
40
40
92
94
94
95
43
44
44
44
44
96
95
43
43
42
42
93
93
41
41
41
41
41
95
98
48
49
51
54
106
111
117
123
127
131
135
136
141
142
146
95
97
98
153
155
105
106
107
108
109
162
166
115
118
119
120
121
126
128
131
131
131
184
186
187
188
189
137
137
137
136
135
134
185
184
183
184
185
138
139
192
193
195
199
201
201
150
203
203
204
207
208
204
203
152
151
151
154
154
208
209
161
162
217
222
223
230
179
182
236
238
188
240
242
242
243
191
192
244
244
246
246
195
196
197
198
198
199
251
251
252
253
253
253
252
252
252
252
252
252
252
251
199
199
199
199
199
199
197
249
248
248
248
247
247
194
246
245
245
245
192
192
240
240
235
233
178
177
174
224
215
213
211
207
204
150
148
140
190
189
136
134
185
182
179
126
175
172
168
166
155
149
142
135
128
117
112
55
52
102
102
49
100
101
98
98
46
46
48
48
48
101
101
49
101
103
51
49
101
100
99
98
46
45
45
45
44
43
42
94
93
89
89
37
37
89
89
37
39
40
40
42
43
45
45
95
96
45
99
101
104
105
108
108
110
111
113
116
116
110
110
111
112
113
62
62
61
61
61
61
61
61
61
60
60
111
110
109
108
108
53
52
52
50
101
100
100
99
47
46
45
44
95
95
94
94
42
42
94
94
94
95
95
96
44
96
45
45
46
45
97
44
44
96
96
43
43
43
43
43
43
43
96
100
101
50
52
55
108
113
68
74
130
135
87
88
94
95
148
98
100
103
155
107
108
109
162
113
113
166
166
115
118
119
121
121
125
179
182
130
130
183
185
188
189
190
191
139
138
137
135
186
185
184
183
184
133
137
137
190
192
193
196
198
200
201
202
203
204
206
155
154
206
206
154
154
156
156
159
162
215
217
167
225
173
180
181
184
186
240
241
241
243
243
191
192
244
245
245
246
194
195
196
197
198
198
251
251
251
252
253
253
201
201
201
201
253
253
253
253
252
200
200
200
200
200
200
198
250
249
249
248
248
248
247
247
194
194
193
193
193
190
241
238
235
181
178
177
225
218
214
213
209
154
151
146
140
138
137
135
133
129
181
178
174
171
166
163
161
148
142
136
128
69
61
57
52
49
47
47
47
100
99
98
98
46
46
48
48
47
100
48
48
48
102
50
48
47
99
98
98
45
45
44
44
43
43
42
93
92
88
88
36
36
88
88
36
89
90
91
40
41
43
96
96
97
46
100
103
107
108
111
112
113
114
116
67
119
118
118
67
120
69
70
70
71
71
71
71
72
72
72
122
122
70
121
120
120
68
52
103
103
50
49
48
100
99
47
46
45
44
95
95
94
94
42
42
94
94
94
95
95
96
96
97
45
45
46
46
46
45
45
45
44
43
43
43
43
95
43
43
97
101
102
103
105
108
109
114
69
75
80
84
88
90
95
96
98
100
103
156
157
109
110
110
113
114
166
167
115
116
119
120
121
122
177
179
182
182
182
183
185
189
190
139
140
140
139
138
188
187
186
185
184
185
134
137
138
138
139
193
144
145
200
201
202
202
151
154
155
154
154
207
208
208
158
210
215
163
165
167
171
226
175
181
183
185
187
240
241
241
243
191
192
192
193
245
245
246
194
195
196
197
198
198
251
251
251
252
253
253
201
201
253
253
253
253
253
253
252
252
200
252
200
200
200
198
250
249
249
249
248
196
195
195
194
194
194
245
193
192
191
187
186
234
179
230
226
219
215
214
212
154
152
146
140
137
135
134
130
128
126
123
171
168
164
161
158
146
139
80
126
119
60
54
50
100
98
99
47
48
99
98
98
98
98
100
100
47
48
48
48
100
102
50
99
46
46
98
46
45
45
44
44
43
42
41
93
92
88
88
36
36
88
88
36
37
89
90
91
93
95
95
96
97
99
101
104
108
109
112
113
114
116
117
68
121
123
123
123
72
74
74
75
128
76
76
77
78
78
130
126
126
126
126
125
125
125
103
103
103
102
50
50
50
47
47
46
45
44
43
95
96
96
96
44
96
96
96
96
96
45
45
97
98
98
100
48
47
47
46
46
46
45
45
97
97
97
97
45
47
102
103
104
55
57
58
62
121
76
81
137
142
92
98
101
103
104
106
159
161
113
115
115
116
116
116
118
169
170
173
175
124
125
178
180
183
183
183
184
134
139
191
140
141
141
140
139
190
189
136
135
135
135
136
139
139
139
140
141
196
144
147
148
201
202
151
153
154
154
156
158
212
212
214
214
217
220
170
171
174
179
232
236
185
187
188
241
242
242
192
192
192
193
193
194
194
194
194
195
196
197
198
198
251
199
199
252
253
253
201
202
254
254
254
254
254
254
253
253
201
201
201
201
201
199
251
250
250
249
249
197
196
196
195
247
246
246
194
193
192
190
187
237
182
180
177
170
167
217
213
158
155
147
140
136
134
131
179
125
121
116
166
161
157
153
97
141
80
73
118
112
55
51
47
97
98
47
49
49
48
98
98
98
46
48
100
98
47
47
99
99
49
101
97
97
45
45
45
45
45
43
43
42
42
41
92
91
87
87
35
35
87
87
35
37
38
39
92
93
43
44
46
99
102
52
55
112
113
115
116
117
118
120
71
123
128
128
129
78
79
80
80
80
81
81
82
84
85
85
84
84
136
136
137
137
85
54
106
106
104
103
102
101
100
48
47
46
45
44
44
44
96
96
96
96
96
96
96
96
45
97
98
98
98
98
46
47
47
47
48
48
48
48
100
100
48
100
100
47
102
103
53
55
58
110
113
121
128
133
137
142
144
101
103
105
160
163
164
165
117
117
119
171
171
119
119
118
171
174
174
175
176
129
130
184
185
135
136
189
140
141
142
143
143
143
142
191
190
137
136
188
136
189
141
141
140
140
140
143
145
199
200
149
202
150
153
154
157
157
158
159
215
217
217
224
224
174
177
179
181
234
240
188
189
190
242
244
192
192
192
244
193
194
194
194
194
246
194
195
248
196
196
251
199
200
253
254
255
255
203
255
255
254
253
253
253
253
201
201
201
201
201
201
251
251
198
198
249
249
249
197
197
196
196
247
247
195
196
195
191
189
187
186
183
177
171
169
166
163
159
153
198
191
188
184
181
179
176
121
113
108
104
152
146
90
76
69
66
61
58
53
101
44
95
96
44
46
48
48
45
97
97
97
47
47
47
100
100
99
99
100
100
98
98
98
45
45
44
44
44
43
42
42
41
40
91
86
34
34
35
87
88
36
35
36
89
91
93
96
45
48
49
50
53
55
59
112
116
117
118
119
121
124
124
78
78
79
81
83
136
136
138
138
139
140
141
90
90
90
90
90
143
144
144
144
54
54
53
104
103
102
101
100
48
47
46
45
44
44
44
44
44
44
44
44
44
96
96
97
97
98
98
98
97
98
46
47
47
47
47
48
48
100
100
48
100
100
99
103
104
53
107
110
110
114
122
128
133
138
143
145
154
155
107
161
164
165
168
170
120
172
120
120
120
120
119
172
175
176
176
177
130
130
132
134
135
136
189
193
194
195
196
144
144
143
139
139
189
136
136
136
138
193
141
140
140
140
143
145
199
200
201
201
150
153
154
156
157
160
161
215
217
168
172
173
228
229
231
234
183
188
240
241
242
243
244
192
192
192
244
193
194
194
194
194
194
194
247
196
196
196
199
199
200
253
254
255
255
255
255
203
202
201
201
201
201
201
201
201
201
201
201
251
251
250
250
250
249
249
249
197
196
248
248
195
247
248
247
191
189
187
186
235
231
223
221
218
215
211
156
146
190
187
184
181
177
173
170
160
104
100
148
142
86
71
67
61
58
53
49
99
96
43
96
97
46
47
48
45
97
97
45
47
47
47
100
99
47
99
100
100
98
98
97
97
45
44
44
43
95
94
41
40
40
91
86
86
34
87
87
88
36
35
88
89
91
93
97
97
50
51
53
55
57
62
114
119
119
68
70
72
126
127
79
79
80
81
136
136
85
138
138
139
140
141
142
90
90
142
143
143
92
144
92
53
53
52
102
102
102
103
101
101
100
98
98
45
45
45
97
97
97
97
97
45
45
45
46
98
98
99
99
97
97
46
98
99
99
47
101
101
101
101
49
49
101
101
105
106
55
109
112
113
118
73
79
84
88
92
94
158
160
162
112
117
170
171
175
175
175
177
177
177
125
123
176
179
179
180
129
132
133
134
135
136
137
138
194
195
196
145
198
146
146
142
141
192
191
138
138
139
193
193
192
140
140
143
197
198
199
200
201
150
152
153
157
158
160
162
166
170
170
175
176
229
232
233
236
185
189
241
190
190
243
245
193
192
244
192
193
194
194
194
194
194
246
195
196
196
196
198
198
199
201
253
254
254
254
254
202
202
202
202
202
202
202
202
202
202
202
202
200
200
251
251
250
198
198
198
198
249
249
248
248
248
200
199
194
192
188
186
237
232
226
222
220
165
160
156
146
190
184
180
176
172
169
164
101
96
91
87
80
76
64
59
55
51
47
43
93
95
94
94
96
97
46
47
43
43
43
95
97
45
46
47
47
98
98
100
47
97
97
45
44
44
44
43
94
93
93
40
40
39
39
86
86
86
87
35
88
36
36
37
39
41
43
98
99
103
52
54
56
59
63
116
120
69
70
72
73
76
77
80
81
134
135
137
138
139
138
138
139
140
141
142
90
93
93
93
94
94
147
147
53
51
50
100
101
103
104
102
101
101
99
98
46
45
46
98
98
98
98
98
98
46
46
98
47
99
47
48
46
46
99
99
100
100
48
102
102
102
102
102
50
102
104
107
56
57
60
62
63
68
75
80
85
89
93
94
160
162
166
168
171
172
175
177
179
179
179
179
179
127
126
179
181
182
183
131
135
135
136
137
137
138
138
141
194
196
197
199
147
147
198
145
143
193
140
140
140
141
193
140
140
140
195
197
197
199
199
200
149
152
153
156
157
159
216
167
172
175
229
178
180
233
235
238
186
189
190
242
243
244
245
246
244
244
244
193
194
194
194
194
194
194
195
196
196
196
197
198
198
200
253
253
254
253
253
202
202
254
255
255
255
203
203
203
203
203
203
201
252
252
251
199
199
199
199
198
250
249
249
249
197
202
253
247
192
188
186
237
235
227
173
169
166
161
158
199
189
183
178
173
116
111
106
95
90
84
78
72
68
59
53
102
99
43
41
91
91
92
93
94
96
44
47
42
42
42
94
96
96
45
46
46
98
97
47
47
96
96
96
96
43
43
43
92
92
92
91
39
39
39
86
86
86
87
35
36
88
90
39
40
42
96
100
100
106
55
57
59
61
65
118
122
70
72
73
75
77
78
79
131
132
133
136
137
137
136
136
137
138
139
140
88
92
92
92
92
93
145
94
52
51
49
48
49
51
105
102
102
101
99
99
98
46
46
46
46
46
98
46
46
46
46
99
99
99
48
48
47
47
100
100
101
101
49
102
102
102
102
102
102
50
105
56
57
58
112
115
64
68
75
80
84
88
92
146
160
162
166
169
171
121
124
177
179
179
127
127
127
127
126
127
130
131
131
132
136
136
137
138
138
190
190
192
141
143
197
198
147
147
147
146
144
194
193
192
192
141
193
140
140
192
195
197
197
198
199
148
149
151
152
155
157
213
216
168
175
177
230
230
232
234
236
240
241
190
190
243
243
244
246
246
244
244
244
193
194
194
194
194
194
194
195
196
196
248
249
249
198
200
252
253
253
201
253
253
254
255
255
255
255
255
203
203
203
203
203
201
253
252
252
251
199
199
199
199
250
250
249
249
197
202
253
247
245
242
238
236
235
177
225
223
218
214
158
147
189
183
177
172
166
162
154
91
86
80
73
119
63
54
102
98
96
93
91
89
91
39
92
94
95
98
98
41
41
41
41
95
95
97
46
46
45
45
47
46
96
96
44
43
43
43
42
91
91
91
91
39
39
39
34
86
86
87
35
36
88
91
91
93
43
97
100
101
107
107
57
60
62
66
119
121
70
71
73
74
77
78
77
130
131
132
134
135
84
83
135
84
85
86
139
139
144
92
92
93
145
146
146
50
50
50
50
50
50
50
49
101
101
100
47
99
47
44
44
44
44
44
44
44
46
46
47
99
99
99
48
49
101
101
101
49
51
51
103
105
106
106
107
108
56
56
56
110
111
114
116
119
67
128
130
134
137
142
145
158
163
115
172
177
180
130
183
184
185
183
132
132
132
133
134
135
135
136
137
138
138
138
139
139
192
192
199
147
147
148
200
201
201
149
149
148
200
198
198
197
141
141
142
195
195
196
197
197
197
146
147
148
148
149
151
153
208
160
162
172
178
178
233
237
237
187
189
243
243
191
244
245
245
247
247
194
194
194
194
194
194
194
194
194
194
194
194
246
246
247
247
196
197
198
199
251
200
200
252
253
254
254
254
204
255
255
255
255
255
204
203
255
254
254
253
201
201
200
200
200
252
200
200
252
247
247
246
245
242
187
186
235
176
224
169
165
211
156
148
189
184
174
167
158
152
91
80
127
124
66
62
110
99
45
43
93
92
92
40
91
91
38
90
89
89
89
38
38
39
41
42
42
43
95
43
97
45
45
45
92
92
40
39
39
38
38
88
88
88
88
36
36
36
36
88
87
35
36
39
94
44
45
47
48
50
54
107
106
107
57
60
62
67
68
70
70
72
73
75
78
78
79
131
132
133
84
85
85
141
141
142
145
146
95
147
146
146
94
95
148
148
96
102
102
102
102
50
50
50
49
49
101
100
48
100
47
45
45
45
45
45
45
45
47
47
48
48
49
49
101
50
50
50
50
50
52
52
105
55
108
108
110
110
58
57
109
111
113
116
117
120
123
129
131
135
138
90
93
157
162
115
172
178
181
182
184
184
183
184
185
132
133
134
134
135
136
137
137
138
139
139
191
192
192
192
197
197
197
197
198
198
198
199
199
146
145
197
196
195
192
140
140
140
193
193
193
194
194
143
195
196
197
198
202
152
206
156
161
171
176
177
180
234
237
237
241
243
191
243
244
245
245
247
247
246
194
194
194
194
246
246
194
194
194
194
194
246
246
246
247
195
197
198
198
251
200
200
200
253
253
253
254
204
255
255
255
255
255
204
203
255
254
254
253
253
253
252
252
252
200
200
200
200
247
247
246
245
242
239
186
184
176
172
168
164
157
152
195
184
177
117
109
150
92
83
71
68
62
59
55
104
98
96
41
40
39
39
39
90
90
89
89
89
36
36
37
38
38
92
93
41
43
95
43
97
97
45
45
92
91
39
39
38
38
90
88
88
88
88
88
36
36
37
88
88
36
37
41
43
45
46
47
49
51
55
56
108
109
110
113
115
119
68
70
70
72
73
75
78
78
79
131
132
133
84
85
85
141
141
142
145
146
147
147
94
94
146
147
148
148
148
103
103
103
103
51
51
103
50
50
49
101
48
48
48
46
46
46
46
46
46
98
47
99
48
49
50
102
102
103
103
51
51
51
53
105
107
57
110
110
112
112
60
110
112
113
114
117
119
122
124
130
132
83
86
90
94
157
162
115
172
176
181
183
182
183
183
184
184
133
133
134
135
187
188
137
190
191
191
191
192
192
192
193
197
197
197
197
197
197
197
198
198
198
197
145
144
196
193
193
140
140
140
140
140
193
141
193
194
195
196
197
200
150
153
155
212
222
225
176
179
181
184
236
241
243
191
191
192
193
245
247
247
246
194
194
194
194
246
194
194
194
194
194
194
246
246
246
246
195
197
249
250
250
251
199
200
252
253
253
253
203
203
203
203
203
255
203
203
203
254
254
253
253
253
252
252
200
200
200
200
200
247
247
246
245
242
187
186
183
176
170
166
161
154
150
194
130
121
164
104
95
89
130
120
62
60
108
52
49
44
42
40
39
38
38
90
89
89
89
36
36
36
35
37
89
89
90
92
40
42
94
94
94
96
96
44
91
91
91
90
90
90
89
88
36
36
88
88
88
36
89
89
36
37
38
42
97
97
47
48
102
51
56
57
57
58
111
113
116
119
68
70
70
72
73
75
78
78
79
131
132
133
84
85
85
89
89
90
93
146
147
147
96
148
148
149
98
150
150
52
104
104
104
104
104
104
103
102
102
101
49
49
49
47
47
99
99
47
99
47
47
100
102
51
52
53
53
54
54
54
54
54
108
108
111
61
114
114
116
64
64
63
63
63
65
119
123
126
127
132
83
85
88
92
95
102
159
165
172
177
180
183
183
183
184
184
185
185
132
135
135
188
189
190
138
140
192
192
192
193
193
193
145
145
145
145
144
144
196
197
197
145
197
197
197
197
194
194
193
192
191
138
137
190
190
191
192
193
193
194
145
199
202
205
155
217
223
174
176
232
181
184
239
241
191
191
192
193
193
247
247
246
194
194
194
194
194
194
246
246
194
194
194
194
246
245
246
194
196
197
197
250
250
251
199
200
200
252
252
202
202
202
202
202
202
254
255
203
254
254
253
253
253
252
252
252
200
200
200
200
247
249
246
245
190
187
186
182
173
166
161
154
147
143
134
123
113
156
146
86
78
71
114
57
54
51
47
97
93
91
90
37
36
89
89
88
35
35
35
34
34
34
33
33
88
88
88
89
40
92
93
93
41
41
41
90
90
90
90
89
89
89
88
36
36
36
36
36
36
37
37
37
38
40
96
99
47
49
50
51
53
110
58
60
60
114
115
117
68
69
70
70
72
73
75
78
78
131
131
132
133
136
85
85
141
141
90
93
94
147
147
148
148
148
97
98
150
150
52
104
104
104
104
104
104
51
103
103
102
101
49
49
48
100
100
100
100
100
48
48
100
102
52
53
54
55
55
55
55
55
107
109
57
61
115
116
116
118
66
66
64
65
65
67
70
126
127
130
136
137
86
89
94
97
101
159
165
170
175
179
130
182
183
184
184
183
184
132
135
136
189
189
190
139
140
192
192
193
193
194
194
143
143
143
142
142
141
193
195
143
143
143
195
195
143
141
192
191
190
188
135
133
135
135
188
188
189
190
139
142
146
200
203
206
216
219
223
227
230
181
181
239
242
191
191
192
245
193
247
247
194
194
246
194
194
246
246
246
246
194
194
194
194
194
245
245
246
247
196
197
249
250
250
250
199
200
200
200
202
202
202
202
202
202
202
203
203
254
254
253
253
253
252
252
252
200
200
200
200
249
249
247
245
242
187
185
179
169
214
208
200
193
137
124
163
153
145
135
125
66
62
54
49
47
96
93
90
89
87
34
33
33
86
86
33
33
32
32
31
31
31
32
32
85
85
88
88
90
92
92
92
92
93
41
90
90
38
37
37
88
88
88
36
36
36
36
36
36
90
90
38
39
41
97
101
100
102
103
104
106
111
111
61
62
63
116
118
120
121
70
70
72
73
75
130
130
79
131
132
133
84
85
137
141
141
90
145
146
147
95
98
98
98
99
152
152
100
50
50
50
51
104
104
104
51
51
51
103
103
103
103
101
101
101
101
101
101
49
100
101
53
55
55
107
55
56
56
57
57
110
112
60
61
115
117
117
119
68
68
67
68
69
71
72
75
127
80
137
140
142
94
96
97
100
156
162
169
174
126
129
131
132
133
184
184
133
131
137
189
190
190
191
191
191
192
193
194
194
194
193
194
142
142
142
194
142
142
144
144
144
195
195
142
142
142
141
140
191
190
188
135
134
134
134
134
135
137
191
194
196
148
150
204
212
218
224
226
178
180
181
185
189
242
190
191
192
192
246
246
193
245
245
246
247
247
247
247
247
247
247
247
195
195
195
247
247
247
195
195
195
196
248
249
199
199
200
201
200
252
252
201
202
254
202
201
201
201
201
201
201
201
253
253
252
200
200
200
199
249
248
246
193
243
238
184
231
217
208
201
195
188
182
168
103
95
86
78
67
60
56
49
98
95
93
92
92
89
36
35
35
86
85
33
32
32
32
32
32
32
32
84
34
86
86
86
88
88
88
38
90
38
38
39
36
88
36
36
36
36
88
87
35
87
87
35
35
35
88
89
38
92
94
98
100
101
103
52
54
108
61
61
114
62
64
65
119
121
122
69
70
71
73
75
78
130
131
131
132
133
86
87
139
91
91
91
94
95
95
95
99
99
99
100
153
153
153
102
103
103
104
52
104
104
103
51
103
103
103
103
103
101
101
101
101
49
49
101
101
50
54
55
56
107
55
56
57
57
58
58
60
112
114
116
117
118
68
121
69
68
71
71
124
75
76
78
85
139
141
144
145
94
97
150
156
110
168
171
177
128
130
131
132
132
131
132
132
189
189
190
190
191
191
191
192
193
194
194
194
193
140
140
192
192
192
192
140
142
141
193
193
140
140
140
140
139
139
138
136
187
134
132
132
131
131
132
133
136
141
143
146
147
203
212
215
221
173
176
231
232
185
239
241
242
190
191
244
245
246
245
245
193
246
247
247
247
247
195
247
247
247
247
195
195
195
247
195
195
195
195
247
248
248
250
198
199
199
251
251
200
200
201
201
253
201
201
253
253
253
201
201
200
200
199
199
198
198
198
247
245
242
189
187
234
229
223
209
199
193
184
177
171
158
94
84
129
120
60
55
50
45
42
40
91
90
38
35
35
86
85
84
32
31
31
31
31
31
31
31
31
84
84
84
84
86
34
36
36
88
88
90
38
38
36
88
88
88
36
36
36
87
35
35
87
87
87
35
88
89
39
41
95
99
101
103
52
54
55
57
113
114
62
63
64
118
119
122
123
71
71
73
74
76
78
131
131
132
133
134
86
87
140
91
91
91
146
147
95
95
151
99
99
152
153
153
101
103
103
104
104
53
105
105
104
104
104
104
104
104
52
102
102
102
102
102
50
50
51
52
55
56
108
55
55
57
57
58
58
111
113
113
115
118
67
68
70
70
71
71
72
73
128
77
79
82
87
89
92
145
148
96
97
150
102
107
115
118
173
176
130
130
183
182
183
131
130
137
137
190
190
139
191
191
192
193
194
194
194
193
140
140
140
192
140
140
140
141
193
192
192
140
191
191
190
138
138
137
136
188
187
185
184
183
131
131
132
134
191
140
195
199
149
210
162
169
171
175
228
179
235
237
241
241
242
190
191
245
245
245
245
245
246
247
195
195
195
195
247
247
195
247
247
247
247
247
195
195
195
195
247
195
195
196
196
196
248
250
250
198
199
199
199
200
200
200
200
200
200
200
200
200
200
198
197
196
196
195
246
244
240
239
236
231
226
167
150
194
184
177
117
112
147
133
123
117
110
50
46
94
89
37
36
87
87
89
87
86
85
84
84
83
83
30
30
82
30
30
30
82
82
82
83
31
31
83
34
34
88
88
88
88
88
36
88
88
88
36
36
36
87
87
87
87
87
35
35
37
90
92
42
97
101
104
106
55
56
57
58
114
114
115
116
117
118
120
123
71
126
126
75
76
77
79
79
132
133
133
83
87
88
88
143
143
91
94
147
95
95
100
100
100
153
154
154
154
52
104
104
105
53
105
106
105
105
105
105
105
105
53
51
51
51
51
51
103
51
52
53
55
108
108
107
107
58
58
58
59
111
113
114
64
66
68
69
70
71
71
72
73
128
129
79
80
82
86
91
92
93
97
98
98
98
102
107
114
117
172
175
181
130
182
181
182
180
129
137
137
190
138
139
191
191
192
193
194
194
194
141
140
140
140
140
140
140
140
192
192
140
140
139
139
190
189
189
188
136
188
187
134
134
133
184
183
184
184
186
138
140
194
198
148
158
162
166
170
175
176
179
183
237
240
241
241
242
243
244
245
245
245
245
246
247
247
247
195
195
247
195
247
195
247
247
247
247
247
247
247
247
247
247
247
195
195
195
247
197
249
197
198
198
199
251
199
199
199
199
199
199
199
200
199
197
196
247
246
246
244
190
186
236
181
176
223
163
148
139
129
119
113
109
89
75
67
59
53
47
41
41
36
34
35
35
87
88
84
84
83
82
81
81
80
27
79
79
79
27
27
79
81
81
82
30
30
30
86
86
86
88
88
88
88
88
88
88
88
36
36
88
87
87
87
87
35
35
35
89
90
92
43
98
102
53
107
56
57
58
111
114
114
115
116
117
119
68
71
72
127
127
128
129
78
79
79
132
133
134
135
87
88
141
143
143
91
146
147
147
95
100
100
100
101
154
154
102
104
104
104
105
54
106
54
53
105
105
105
105
105
53
51
51
51
51
51
51
103
53
106
108
108
108
107
107
110
58
59
59
60
62
62
65
67
121
69
71
124
124
73
74
129
129
80
81
83
85
90
92
96
150
100
101
98
102
107
111
116
119
174
179
128
179
180
180
179
179
137
137
138
138
191
191
191
192
193
194
194
194
141
139
139
139
139
139
191
191
191
191
139
138
138
137
137
186
186
186
185
185
185
132
134
134
133
132
184
184
134
138
140
142
196
148
157
161
166
170
172
176
176
182
236
188
188
189
190
242
192
192
245
245
245
246
247
247
195
195
195
247
247
247
247
247
247
247
195
195
195
247
247
246
246
246
246
194
194
246
248
248
196
197
198
198
198
199
199
199
251
251
251
199
199
199
249
247
194
245
244
238
184
180
178
175
169
216
209
140
130
123
112
157
151
83
68
60
106
98
94
38
89
35
34
33
87
88
37
32
31
82
30
29
28
80
79
79
79
79
79
79
79
81
81
81
82
30
30
34
86
86
88
88
88
36
88
88
88
88
36
36
36
35
87
87
35
35
35
35
89
91
41
44
47
51
55
108
110
58
59
111
115
115
64
65
66
119
69
72
72
128
129
129
130
78
80
132
133
133
134
83
88
141
141
143
143
143
146
147
147
147
152
100
100
101
102
154
154
102
102
50
50
50
50
102
101
49
49
49
49
101
101
56
56
56
108
108
108
108
110
110
111
111
112
112
112
110
110
112
116
65
117
66
67
67
71
124
124
125
125
75
76
77
132
132
133
81
84
138
141
91
144
146
94
100
103
157
109
111
116
118
175
176
180
180
181
182
182
184
185
185
134
135
188
188
188
188
189
189
189
138
139
139
139
139
139
191
139
140
140
191
190
137
137
136
136
136
187
186
185
133
132
183
183
132
132
133
186
135
134
135
138
141
146
152
155
213
217
219
171
224
178
181
184
237
185
186
187
241
189
242
244
244
245
247
196
196
192
192
192
192
244
192
244
244
192
192
191
190
190
242
243
243
243
192
193
245
245
245
245
193
194
195
195
195
199
199
198
250
251
251
249
197
195
243
190
190
187
186
181
179
173
169
165
157
203
198
180
169
158
148
140
133
116
103
98
95
93
92
92
38
37
36
36
87
86
34
32
31
30
82
81
28
80
79
78
77
77
25
78
26
81
81
30
82
82
31
31
31
83
84
84
32
33
86
86
86
86
88
36
36
37
88
88
88
37
90
92
39
43
99
49
53
55
58
60
61
62
117
119
70
70
69
70
71
72
74
77
129
130
79
80
81
83
86
138
139
139
140
89
142
143
91
92
92
145
145
146
94
146
149
97
98
150
99
151
99
102
102
102
50
50
50
50
49
49
49
49
49
101
101
54
54
54
106
106
106
106
108
108
57
57
58
58
110
110
110
60
115
116
117
118
119
120
123
124
125
125
126
76
77
77
132
133
134
134
136
138
141
143
144
145
94
97
154
156
158
162
115
117
120
176
179
180
180
182
130
131
132
185
186
186
135
187
187
188
188
136
189
137
139
139
139
139
139
139
139
140
139
191
190
189
136
135
134
186
185
185
132
131
182
181
181
182
183
132
132
133
133
134
136
190
195
150
151
211
215
218
169
171
177
179
182
234
185
186
187
189
189
189
189
192
244
245
195
195
243
243
191
191
191
191
191
191
191
191
242
242
242
242
191
191
191
192
193
245
245
245
245
193
194
195
195
195
199
199
197
250
250
248
196
196
246
190
189
188
184
182
178
176
168
165
160
154
146
143
175
165
103
93
84
130
112
101
96
94
93
92
91
90
89
36
88
87
86
86
32
31
30
82
29
28
80
79
78
77
77
77
78
78
81
81
81
82
82
30
31
31
83
31
84
84
32
34
34
34
86
86
88
88
37
89
88
36
37
90
93
40
43
99
50
53
55
58
60
61
114
118
67
70
71
69
70
71
73
74
129
130
78
79
80
82
83
138
139
139
140
88
89
143
91
92
92
145
93
93
94
146
94
97
98
98
150
151
151
151
103
103
103
103
51
51
51
50
102
102
102
102
102
102
55
55
107
107
55
107
107
108
108
57
57
58
58
58
58
58
58
111
113
117
118
119
68
122
123
125
126
126
77
78
79
82
135
83
136
137
138
141
143
144
92
93
97
151
155
156
160
162
115
120
123
177
179
179
179
127
130
130
183
184
185
185
186
186
134
134
135
135
135
138
138
138
190
190
138
138
139
191
138
137
188
188
187
185
184
184
183
130
129
128
127
180
180
181
182
131
132
131
131
131
185
188
196
200
204
209
212
215
165
224
227
231
231
232
234
185
187
188
188
240
188
190
191
191
192
242
242
190
190
190
190
190
190
190
242
242
242
242
190
191
191
191
192
193
193
245
245
245
193
194
195
195
195
197
249
249
249
247
195
195
193
191
187
184
182
180
178
173
222
215
160
155
148
141
132
166
156
144
83
125
121
105
97
94
93
92
91
90
90
89
88
88
87
86
86
32
31
82
82
29
28
80
27
26
25
77
77
78
78
80
28
29
81
81
30
30
30
30
31
31
83
32
32
32
34
34
34
34
88
88
35
37
36
37
38
41
94
97
49
51
54
55
58
61
114
115
118
68
123
71
70
71
72
125
127
130
130
79
80
81
134
136
139
87
90
90
143
144
145
146
146
147
147
96
96
97
149
149
152
152
101
101
154
154
102
104
104
104
104
52
52
52
51
103
103
103
103
103
51
54
54
106
106
106
106
106
106
106
107
107
108
108
56
57
55
54
109
112
115
65
120
68
70
71
72
125
73
79
80
80
83
136
137
137
138
139
142
142
91
92
92
96
151
152
155
156
160
110
119
120
124
177
177
178
178
178
179
180
181
181
182
182
130
131
131
131
132
184
187
135
135
135
135
187
187
188
188
187
135
134
133
184
179
179
178
126
125
124
123
122
174
175
176
177
125
126
129
129
128
180
184
192
142
198
203
206
211
161
220
222
225
227
229
230
232
185
185
237
238
187
187
188
190
190
240
240
240
188
188
188
188
188
188
240
241
242
190
190
191
191
191
192
193
193
193
245
245
245
246
247
247
195
197
197
246
246
193
193
192
191
189
182
181
179
176
172
164
162
157
152
146
139
135
177
157
148
137
126
119
113
98
93
92
40
39
38
37
36
87
86
86
85
84
84
32
31
30
82
81
28
80
79
26
25
25
77
78
78
26
27
27
27
28
28
28
80
29
29
29
30
82
32
32
32
84
84
34
86
87
34
34
33
36
89
91
96
46
50
52
54
107
58
62
62
64
67
69
71
124
71
123
125
126
128
78
79
132
132
134
135
137
87
88
91
91
92
92
146
147
147
148
148
96
97
97
98
150
153
153
153
154
154
155
155
104
104
104
52
52
52
52
51
103
103
103
51
103
51
54
54
54
54
54
54
54
106
106
107
107
108
108
56
57
107
106
107
60
63
65
118
120
122
70
72
125
73
79
80
81
83
136
137
137
138
139
142
142
143
91
92
147
149
100
100
155
158
162
118
120
174
125
177
176
176
178
179
180
180
181
182
182
130
130
131
131
132
184
187
135
135
135
135
187
187
188
188
187
186
134
133
184
179
127
126
125
125
124
123
122
174
175
176
176
125
126
128
127
126
180
130
139
142
143
200
205
208
160
218
221
224
172
225
229
231
182
185
237
237
238
239
188
188
188
188
240
240
240
240
240
188
188
240
240
241
190
190
190
191
191
191
192
193
245
245
245
245
245
246
247
247
195
195
195
194
246
245
244
192
242
238
233
232
228
225
223
212
158
152
147
141
135
130
174
154
93
82
72
116
110
45
93
92
40
40
39
37
36
87
86
86
85
84
32
32
31
30
82
81
28
80
79
26
25
25
77
78
26
26
26
79
79
80
28
80
80
28
29
29
82
82
84
32
32
32
84
84
86
84
34
33
85
33
88
90
44
47
102
52
54
107
110
62
63
64
67
69
72
124
123
124
125
126
128
79
79
132
133
134
135
85
88
88
93
93
146
147
148
149
149
150
150
98
99
152
152
152
154
154
102
155
156
156
156
104
104
52
52
52
52
52
52
52
52
52
52
52
52
55
55
55
55
55
55
55
109
108
108
108
107
55
55
49
101
104
108
57
59
113
116
116
119
121
123
73
75
130
80
81
85
86
88
140
139
140
142
142
143
91
143
147
147
97
100
154
159
160
117
120
174
174
174
125
126
126
126
127
179
127
128
128
128
128
129
129
129
130
184
184
184
184
184
132
132
185
133
184
183
182
130
129
124
175
175
122
173
173
120
118
171
171
120
121
122
123
176
176
175
176
127
133
188
191
195
197
201
202
209
211
219
168
171
173
174
177
177
179
181
234
235
186
187
188
187
239
239
240
240
189
189
240
240
240
189
190
190
242
243
243
243
244
192
193
193
245
245
245
245
245
193
193
195
194
192
191
242
242
240
239
236
229
228
226
223
220
208
205
197
192
136
180
122
114
149
84
75
64
56
50
42
91
91
39
91
89
36
36
87
86
84
83
30
30
33
32
31
31
30
29
29
28
28
27
79
26
26
78
78
78
78
78
78
26
77
77
25
26
26
79
79
30
30
30
30
83
83
31
35
83
82
85
85
33
39
45
46
100
102
54
107
107
110
59
60
64
66
70
122
120
122
125
126
75
78
132
133
133
134
136
138
140
89
95
95
147
147
148
149
149
150
98
99
99
101
153
154
154
154
102
102
103
104
156
104
104
104
104
52
52
52
52
52
52
52
52
104
104
105
53
53
53
53
53
105
106
106
105
104
51
51
51
49
101
104
54
55
111
111
113
115
64
66
70
72
125
130
132
133
137
86
88
88
88
88
143
143
91
92
144
145
145
96
98
101
155
159
113
118
119
173
173
174
175
123
124
124
124
125
125
125
125
126
126
126
127
127
183
183
183
183
183
131
183
184
131
131
182
181
180
127
120
172
171
170
169
168
115
165
165
166
114
115
116
117
171
171
172
173
124
128
131
185
189
192
195
196
202
152
160
162
164
166
170
172
172
176
177
178
181
235
184
185
186
238
239
239
240
188
188
240
240
188
189
190
190
242
242
242
243
191
192
192
192
244
244
244
244
244
192
192
192
243
190
189
186
238
238
235
232
227
223
220
217
215
202
199
188
185
179
120
114
158
139
128
117
108
47
96
92
89
89
37
89
88
86
35
34
33
83
82
29
29
33
32
31
31
30
29
81
28
28
79
79
78
78
78
78
78
78
78
26
78
25
77
77
26
26
79
79
28
28
30
82
82
82
31
31
79
28
30
30
30
38
97
99
101
51
55
56
108
111
111
113
117
119
122
123
121
123
74
75
76
80
134
133
82
135
137
138
141
90
97
97
149
149
98
98
151
99
100
100
101
103
103
104
105
105
105
105
106
106
159
52
104
104
104
104
104
52
52
52
52
52
52
104
104
105
105
105
53
53
53
105
106
106
52
51
50
50
101
100
100
104
54
55
109
59
61
61
64
66
68
70
71
130
132
133
137
138
140
88
88
89
91
91
92
92
144
145
145
146
149
152
155
158
164
115
119
119
120
122
175
123
123
124
124
124
125
125
125
125
126
126
126
179
181
181
181
181
129
129
129
129
128
128
179
126
125
124
120
171
171
169
168
167
165
163
111
164
165
114
114
115
116
169
171
172
121
125
179
183
185
190
140
142
198
202
157
159
161
164
166
170
170
175
176
177
230
234
235
184
186
186
238
239
239
188
188
188
188
188
189
190
242
242
242
190
242
243
191
244
244
244
244
244
192
192
244
244
242
242
241
186
185
185
236
234
179
171
169
219
215
213
199
196
187
182
175
169
113
105
135
125
63
54
47
42
92
89
89
37
37
87
86
87
34
33
31
82
81
29
33
32
31
31
30
29
81
28
28
79
79
78
78
78
78
26
78
78
26
26
25
25
77
26
26
79
27
80
80
80
82
82
82
30
30
79
28
30
30
30
37
46
99
101
104
55
56
56
59
112
113
117
119
123
123
122
72
75
76
77
81
83
83
83
136
138
140
142
91
98
98
98
99
99
100
100
101
101
102
102
104
105
105
106
106
106
107
107
160
160
104
52
104
104
104
104
104
52
52
52
52
52
104
104
104
104
104
52
52
52
104
105
104
50
49
47
46
98
100
100
103
54
55
57
57
62
62
65
67
69
71
73
78
80
133
137
138
140
88
89
89
92
92
92
93
145
145
145
145
149
150
153
154
161
113
117
118
119
173
175
122
123
175
123
124
124
124
124
125
125
125
126
178
180
180
180
128
128
180
180
179
179
178
178
125
124
123
118
117
168
166
164
111
109
158
107
159
160
109
110
111
113
166
168
118
120
174
176
127
131
186
189
138
196
198
204
154
157
160
162
219
167
171
174
227
228
180
181
233
237
237
238
238
187
239
187
188
188
188
189
190
190
242
241
241
242
190
191
243
243
191
243
243
243
243
243
243
240
240
185
184
183
235
232
232
229
169
166
163
212
209
192
188
180
174
168
163
106
94
73
116
107
49
44
40
91
88
88
36
36
35
85
87
86
33
31
82
81
29
33
32
31
83
30
81
81
80
80
79
79
78
78
26
24
24
76
24
24
24
23
23
23
24
24
77
25
80
80
80
80
80
82
82
82
27
78
29
32
32
39
47
100
102
104
56
57
57
60
60
114
118
120
71
72
124
126
128
129
78
82
84
86
138
140
141
143
94
94
101
101
101
102
103
103
103
104
104
157
158
159
108
108
109
109
109
162
111
163
111
52
52
104
104
52
104
104
104
104
52
52
52
104
104
104
52
52
52
104
104
104
50
49
48
47
46
45
45
43
44
51
53
54
55
56
59
60
64
66
67
68
69
77
78
79
135
136
85
137
140
88
91
91
92
92
144
92
145
148
148
149
150
152
155
158
160
162
164
166
167
173
173
174
174
123
123
177
125
125
125
125
125
177
179
127
178
177
125
123
174
171
171
171
170
168
167
115
117
168
115
113
164
111
108
106
104
104
105
105
158
156
161
161
109
110
163
163
113
117
121
177
129
131
138
192
197
148
201
204
206
213
162
165
167
220
221
173
176
176
234
234
235
236
183
184
236
237
237
236
184
185
185
237
239
241
240
187
188
241
244
188
190
187
189
244
242
242
235
235
183
182
183
234
234
233
229
219
163
157
150
199
189
184
172
164
156
94
85
79
60
103
99
44
43
42
84
84
83
83
84
32
84
84
85
84
32
32
31
83
82
30
29
81
80
80
80
79
26
24
23
23
24
24
27
27
79
79
79
79
78
78
78
79
79
80
80
83
31
31
30
82
82
82
82
83
82
82
85
36
41
47
102
103
104
104
53
58
59
62
63
65
67
72
72
127
130
134
84
138
141
143
150
150
151
155
105
108
109
107
107
107
162
163
163
165
166
166
167
167
168
169
117
120
172
172
172
172
172
172
52
52
52
52
52
104
104
104
104
104
52
52
52
104
104
104
52
52
104
104
52
49
101
47
46
46
97
45
43
44
51
53
55
55
56
59
60
64
66
67
120
121
129
78
80
83
136
85
85
140
89
143
91
92
144
144
92
145
148
97
97
98
100
155
158
160
110
164
113
114
173
173
174
174
123
123
125
125
125
125
125
125
177
127
127
178
177
124
123
122
171
171
170
170
168
167
115
115
115
114
113
164
162
159
106
104
104
105
105
155
156
160
109
108
161
160
110
112
168
172
124
128
182
189
191
196
145
149
203
206
210
213
216
217
219
169
224
225
228
233
234
234
235
235
235
236
237
237
235
184
184
185
237
241
189
187
243
244
243
190
190
192
188
187
188
185
238
233
183
183
234
235
234
233
228
226
216
159
205
200
142
133
130
118
110
100
90
83
74
58
102
99
97
43
42
32
83
83
31
32
32
32
84
85
32
83
32
31
83
30
82
81
81
80
28
28
79
26
24
24
23
24
24
27
27
79
79
79
79
78
78
78
79
79
80
80
31
31
30
30
30
82
82
81
83
82
30
31
36
93
100
102
104
104
104
53
58
59
114
63
65
67
72
125
129
132
84
138
141
143
145
151
99
153
104
106
109
109
161
161
162
164
165
165
167
168
168
169
169
170
119
119
121
121
173
173
173
173
121
53
53
53
53
53
105
105
104
104
104
104
52
52
104
103
103
103
102
102
50
50
48
47
98
98
97
97
97
43
45
52
54
107
56
109
111
60
117
119
121
70
71
130
80
81
84
85
86
87
142
142
144
145
145
145
94
93
94
148
97
98
99
101
155
158
159
161
111
112
113
172
172
121
121
174
174
175
175
175
175
175
175
123
126
177
177
175
174
121
121
117
117
167
167
166
166
113
114
113
112
161
160
159
155
102
103
101
101
102
154
154
157
157
157
155
105
108
109
165
167
121
123
178
185
189
195
144
146
148
202
207
156
211
214
163
164
220
222
222
229
177
178
230
232
233
233
235
233
233
234
182
182
183
184
239
240
239
186
186
186
179
185
188
194
189
182
235
233
232
179
180
178
229
229
222
220
209
152
198
192
137
127
122
111
103
92
82
75
65
103
99
95
43
42
41
31
83
82
30
32
31
83
83
32
32
83
83
30
82
30
82
81
81
80
28
28
28
27
25
76
76
77
77
79
79
79
79
79
79
79
79
79
27
27
27
27
27
27
29
29
28
28
29
28
28
81
82
32
35
94
101
102
104
53
53
55
59
61
62
64
66
71
74
75
133
136
140
143
144
147
151
155
103
106
108
109
163
164
166
166
167
167
168
170
118
170
171
172
172
175
175
175
176
176
176
176
176
176
176
53
53
53
105
105
105
105
103
103
103
103
103
103
103
101
100
100
98
46
45
45
44
44
95
95
95
43
43
96
98
105
107
108
109
110
111
59
65
120
70
72
73
80
81
135
138
87
88
88
143
144
146
146
147
95
95
94
94
149
98
99
99
102
156
158
159
108
109
110
111
120
120
121
173
122
174
174
174
174
174
174
174
122
123
175
174
121
172
170
117
116
114
165
165
113
110
110
111
111
110
107
105
104
101
151
151
150
151
151
99
100
101
152
151
98
99
104
106
110
114
118
121
175
182
186
192
193
142
143
197
150
151
155
156
157
210
215
217
217
172
172
172
173
175
175
228
178
178
179
231
232
180
232
230
234
238
233
181
185
191
201
207
214
255
247
182
183
229
229
174
174
172
223
222
217
214
150
147
193
186
130
120
167
154
95
85
76
67
57
46
96
95
43
41
40
30
82
82
29
31
83
82
31
32
31
82
82
82
81
82
82
81
81
80
28
28
81
79
26
77
77
77
26
77
25
77
25
77
77
78
78
77
25
25
77
24
26
26
25
25
25
26
78
27
27
27
80
84
35
93
101
103
105
56
56
56
114
116
65
69
72
74
131
132
84
87
91
145
146
151
153
160
160
161
162
165
166
166
165
165
114
114
117
117
117
171
172
120
122
123
123
123
180
180
128
128
180
180
128
53
53
53
105
105
53
53
51
103
103
103
103
103
103
100
100
100
98
45
44
44
43
95
95
95
95
95
95
97
98
105
107
108
109
110
58
59
66
68
71
72
73
81
82
135
138
140
88
141
144
144
147
147
95
96
96
94
95
97
98
99
100
154
156
157
107
108
109
110
110
120
172
121
121
122
122
174
174
174
174
174
122
122
174
174
173
173
170
169
116
113
113
113
110
110
110
161
162
161
160
159
106
103
101
150
149
150
150
148
97
97
100
151
149
148
148
153
103
109
112
168
171
123
130
132
138
191
192
195
196
147
201
203
204
207
209
212
213
214
168
169
169
170
172
174
227
177
177
178
179
233
233
233
233
233
233
239
193
249
252
209
211
214
210
190
179
183
228
175
172
170
220
219
218
213
157
147
142
136
181
123
165
162
147
87
78
69
61
54
46
42
41
41
39
37
82
82
81
81
83
82
82
30
31
31
82
82
81
29
82
82
81
29
28
28
28
81
80
78
77
77
78
78
77
77
77
77
77
77
78
78
78
25
25
24
76
77
77
77
76
76
76
77
78
79
26
27
30
36
42
104
105
55
108
56
56
114
117
121
71
73
76
83
136
139
90
93
148
151
154
105
108
161
161
112
165
114
114
114
114
117
117
118
118
171
173
121
124
124
125
125
127
128
180
128
128
180
128
180
105
53
53
52
103
51
51
51
103
103
102
101
49
101
98
97
96
41
40
39
39
40
92
93
93
94
94
94
97
98
53
55
108
109
58
57
60
66
68
70
72
75
79
84
137
139
139
140
89
93
146
149
97
96
95
95
94
95
98
98
99
100
102
155
105
106
160
161
110
111
168
117
118
118
171
120
121
121
121
121
121
121
121
171
171
171
170
170
169
115
113
111
111
110
110
160
160
158
158
157
156
102
101
99
150
97
148
144
144
91
92
96
148
146
145
143
146
94
104
108
112
116
118
123
178
187
187
188
189
193
195
195
199
199
149
205
209
211
160
163
216
166
167
168
170
170
162
231
183
171
232
236
179
243
217
252
255
202
239
255
205
191
207
171
178
179
232
225
222
168
167
218
215
211
205
149
137
129
123
116
110
158
152
83
74
65
58
104
48
41
39
37
88
36
36
82
82
81
81
82
82
82
29
31
30
82
82
30
30
82
82
81
81
80
80
80
28
27
26
78
77
76
24
24
76
76
76
76
24
22
74
74
73
72
72
72
74
74
74
74
76
76
76
75
76
24
25
79
32
43
54
55
57
59
59
62
70
122
124
128
79
134
139
140
95
95
149
150
152
105
105
107
109
110
111
113
116
116
169
169
118
119
121
122
174
175
175
124
127
180
181
129
131
131
183
184
133
185
185
51
50
50
49
101
101
49
49
48
48
99
99
99
99
96
44
95
93
92
91
39
40
40
93
93
94
94
94
97
98
53
55
108
109
58
58
61
67
68
70
72
126
132
138
87
89
141
142
91
93
95
150
98
97
148
95
95
147
150
151
100
100
103
104
105
158
160
109
109
110
114
114
115
168
169
169
119
119
119
119
119
119
119
171
170
170
168
167
167
115
111
111
163
161
161
160
108
106
106
105
102
100
99
96
95
94
144
141
140
88
89
92
92
91
88
88
90
142
97
102
108
112
116
123
178
183
183
184
185
186
190
191
144
197
198
200
205
206
155
211
211
212
213
165
167
220
177
164
216
181
174
175
186
250
255
244
203
234
254
250
172
251
181
168
183
169
229
220
218
161
160
158
153
201
197
192
126
173
164
105
100
145
139
125
116
111
50
98
96
90
36
35
86
88
88
82
30
29
29
30
30
30
81
82
82
81
30
30
30
81
81
81
80
80
80
80
27
27
26
77
76
76
75
22
22
22
22
22
22
21
21
73
72
72
72
71
73
21
23
23
23
23
25
22
22
24
25
26
82
93
55
57
59
60
112
116
122
75
76
130
133
137
141
142
95
147
97
152
154
105
107
109
109
163
112
114
116
168
118
118
119
120
121
176
176
176
179
127
180
184
184
184
131
132
132
184
185
185
185
102
50
102
49
101
100
48
48
48
48
99
99
98
98
44
43
95
41
40
39
39
40
40
93
93
94
94
94
97
98
53
55
56
109
58
59
113
119
120
122
124
126
133
139
88
90
90
91
92
94
147
150
150
149
148
148
95
148
150
151
100
101
155
104
106
159
159
108
109
109
113
114
115
116
168
169
118
118
170
170
118
170
170
170
170
116
167
167
167
112
111
111
162
161
161
160
158
105
104
103
102
100
149
95
146
143
89
88
87
85
86
91
91
88
88
86
87
139
93
98
104
110
167
175
177
179
180
181
184
133
187
190
193
193
197
198
202
203
151
155
207
208
211
163
164
167
220
219
173
173
222
237
255
255
245
192
193
233
240
191
182
201
222
170
181
221
173
217
214
157
156
154
151
147
140
136
122
114
109
101
147
138
81
67
60
106
46
95
93
88
88
86
34
86
86
82
30
29
29
30
30
30
80
82
81
81
30
29
29
81
81
80
80
80
79
27
27
26
26
25
24
75
23
20
20
20
20
20
20
19
71
19
19
71
71
19
22
22
74
24
76
24
24
23
23
24
78
79
82
90
107
109
111
113
64
118
123
77
78
132
135
138
142
91
97
149
99
100
154
107
107
109
110
111
164
166
170
118
118
118
119
120
175
176
176
179
179
180
180
184
185
185
134
134
134
135
187
188
188
47
47
47
98
98
98
45
45
97
97
44
44
44
43
40
39
39
38
38
37
37
38
38
91
91
40
40
92
45
46
105
55
56
57
58
61
115
120
121
122
124
126
134
139
140
142
142
91
92
94
148
151
151
150
149
148
148
148
151
152
153
153
156
157
158
159
107
108
108
108
113
113
114
115
116
116
117
117
169
169
169
169
169
167
167
115
167
166
164
164
162
162
162
161
159
158
106
105
102
101
99
149
147
143
141
138
85
84
83
83
82
87
88
86
87
139
85
137
140
146
152
159
162
171
173
176
179
180
129
130
134
187
188
190
139
192
195
146
146
202
202
203
154
159
162
165
221
221
220
236
255
255
211
187
244
196
234
228
131
83
143
167
146
164
166
176
168
213
211
153
151
147
143
190
185
126
114
108
99
144
138
126
69
57
105
98
42
90
89
86
85
84
84
34
86
82
30
29
29
30
30
30
79
81
81
80
81
29
28
28
80
80
79
27
27
26
26
78
77
76
75
75
22
20
20
20
20
72
72
71
72
20
20
72
21
21
23
23
23
23
23
25
25
26
27
27
79
81
83
89
107
110
116
119
68
70
76
79
80
134
136
139
144
93
149
149
99
100
156
107
107
110
110
111
114
168
170
170
118
118
119
174
175
176
178
178
127
129
130
184
184
184
135
135
135
135
188
188
189
47
47
47
98
97
97
97
97
97
97
44
43
43
43
39
38
38
38
90
37
37
38
90
91
39
40
40
92
97
46
105
107
56
57
58
62
116
121
121
122
124
126
133
138
139
141
141
142
91
95
97
99
151
151
98
97
96
149
152
152
153
154
156
157
107
107
107
107
108
160
164
113
114
114
115
116
117
117
117
169
169
169
169
167
167
115
114
164
163
163
162
110
110
159
159
158
106
102
153
151
149
147
143
141
138
137
84
82
80
80
133
87
86
87
88
139
137
136
141
146
152
156
161
168
170
177
177
178
179
130
132
135
134
134
135
138
140
141
142
145
148
201
203
157
161
161
217
210
222
255
251
253
255
170
235
167
191
113
46
49
96
172
162
159
163
163
162
206
204
146
142
139
135
182
175
171
105
98
89
134
78
68
63
104
100
97
39
87
88
83
82
84
84
84
86
82
82
81
81
30
30
30
79
81
80
80
80
28
28
28
80
79
27
26
26
26
78
77
24
76
23
22
22
21
21
21
21
73
73
72
21
21
74
74
23
23
24
24
24
24
24
24
78
26
29
31
82
82
33
89
111
114
66
70
71
73
78
131
133
135
136
138
91
92
149
149
151
152
156
107
108
162
162
163
166
168
170
118
118
118
121
174
175
176
178
177
125
128
181
130
131
133
187
135
135
188
189
189
189
45
97
97
96
95
94
94
94
39
38
87
86
33
33
30
30
82
83
84
86
34
34
88
88
36
38
38
90
96
97
50
52
56
57
59
63
117
123
126
75
127
127
81
136
138
88
140
142
144
95
98
101
101
103
104
104
103
103
104
156
157
157
157
157
157
106
158
159
159
159
161
161
162
162
111
111
114
166
114
114
114
166
166
167
167
167
164
164
163
111
109
109
106
105
105
156
155
151
150
149
147
145
143
139
137
83
82
82
134
133
132
135
136
137
87
87
139
139
140
145
148
150
154
159
162
115
168
169
121
123
129
130
184
186
136
136
139
139
139
199
184
140
203
148
161
159
156
222
255
252
253
255
241
217
227
120
128
39
102
114
99
198
168
215
196
156
203
205
202
140
135
180
123
116
165
158
94
88
132
124
120
107
105
99
96
94
93
92
89
87
86
84
83
83
83
82
81
80
80
81
28
28
28
29
80
80
28
27
27
24
23
22
22
23
22
22
22
21
20
74
74
23
23
23
23
23
23
75
75
76
24
76
77
25
78
26
27
27
27
81
81
81
81
82
83
85
33
33
34
39
109
113
68
72
126
129
133
138
138
141
143
146
96
96
94
97
151
153
153
105
108
160
108
161
162
162
112
112
115
168
169
171
122
123
175
124
124
125
126
129
130
130
135
187
135
136
137
137
137
96
96
95
95
93
93
93
38
38
38
86
86
85
85
82
82
82
83
84
86
34
34
36
36
36
90
90
90
95
96
49
51
55
57
58
61
117
123
127
76
76
76
80
135
137
139
88
142
142
95
98
101
101
103
156
104
104
104
104
105
105
105
105
106
106
106
107
107
107
107
161
161
162
162
111
111
165
165
113
113
113
165
165
166
114
164
163
163
163
109
108
108
157
105
104
155
152
98
149
148
146
145
141
88
83
83
82
134
132
132
131
132
133
135
84
84
84
85
86
88
145
147
149
154
106
113
114
115
117
121
127
128
183
185
133
136
191
139
139
132
195
193
139
154
153
150
184
203
255
237
226
221
220
204
163
235
86
98
61
45
37
176
212
209
193
200
195
194
191
130
127
122
168
110
158
151
86
80
73
118
62
52
50
97
94
92
91
91
87
87
86
84
83
83
83
82
81
80
28
81
80
28
28
29
80
28
80
79
79
24
23
22
22
23
22
22
22
21
72
74
74
75
23
23
23
23
75
75
23
76
76
76
25
25
78
78
27
27
27
29
81
81
81
82
31
85
33
33
34
39
54
111
117
124
127
131
136
86
88
91
92
95
97
98
95
149
151
153
153
105
107
108
160
161
110
110
112
112
168
168
167
167
119
121
123
124
124
125
126
129
130
130
135
135
135
136
137
137
137
93
93
93
91
91
91
36
37
88
86
34
85
85
85
82
82
82
83
84
86
34
34
88
88
88
90
90
90
41
42
46
50
52
55
56
112
115
123
125
128
77
77
76
134
136
138
88
140
142
147
98
99
101
102
155
156
156
105
105
105
106
106
106
106
107
107
107
108
108
108
161
109
110
110
111
111
164
164
112
112
112
164
164
111
110
110
110
109
108
108
105
104
104
103
152
151
98
96
147
146
143
90
141
86
83
83
134
132
131
130
129
130
130
130
131
79
81
82
81
86
140
142
91
149
151
108
109
110
166
168
174
176
179
128
131
132
136
136
189
136
190
187
196
141
151
195
210
217
255
222
213
153
208
164
205
122
105
37
49
59
37
150
207
198
189
191
135
132
130
124
173
117
112
107
152
145
79
73
68
116
60
48
46
40
90
89
37
35
35
33
32
32
31
31
83
82
81
80
80
81
80
28
28
29
80
80
80
79
79
76
23
22
22
23
74
74
22
73
72
74
74
75
23
23
23
23
23
23
75
76
76
76
25
25
78
78
27
27
27
29
29
81
81
82
83
85
33
33
34
39
104
109
116
121
127
130
85
139
89
90
93
95
99
99
96
98
152
153
153
156
106
108
160
161
110
110
112
164
169
116
166
165
117
120
122
124
124
125
126
129
130
130
135
135
135
136
137
137
137
91
91
91
90
38
35
35
36
86
34
33
83
83
83
30
82
82
83
84
86
86
86
36
88
36
90
90
90
39
39
97
47
51
54
55
59
112
122
124
126
76
129
75
79
84
138
88
88
142
145
98
99
153
154
155
155
157
105
157
158
106
106
159
107
107
107
108
108
160
161
161
109
110
110
111
163
163
111
111
111
111
163
163
110
110
109
109
108
107
107
104
104
103
100
151
151
98
95
146
144
91
142
141
86
83
83
133
132
131
130
127
128
127
127
127
77
79
80
133
83
85
89
142
146
148
105
106
161
163
165
172
173
125
177
127
130
132
135
187
189
134
137
197
147
173
255
255
255
193
161
207
150
144
122
179
71
43
36
63
58
39
140
205
193
186
186
183
181
127
120
116
113
108
103
96
89
77
71
66
114
111
97
44
40
90
37
35
35
35
33
84
32
29
29
81
30
81
28
28
81
80
28
28
29
80
80
80
79
79
76
23
22
22
23
74
74
74
73
20
74
74
75
23
23
23
23
23
75
75
76
76
76
25
25
26
78
79
27
27
29
29
29
29
82
31
85
85
33
86
91
103
107
64
69
125
130
85
139
139
142
93
95
99
99
97
98
152
153
101
104
105
160
160
161
110
110
112
164
169
116
115
166
169
171
120
124
176
177
126
129
182
130
187
187
187
188
189
137
137
38
38
37
35
34
34
32
85
85
33
31
31
31
31
30
30
82
83
84
86
86
86
88
88
88
90
90
38
38
39
94
98
48
51
54
55
110
118
121
124
125
126
72
78
133
135
87
88
140
145
96
99
151
152
103
155
157
157
158
158
107
107
107
107
159
160
160
161
161
161
109
109
110
110
163
163
110
110
110
162
162
162
162
108
108
108
107
107
106
104
103
153
152
151
99
96
147
144
143
143
142
140
87
86
82
82
133
130
128
127
125
124
124
71
70
70
75
76
80
82
84
85
139
143
145
154
154
156
160
162
166
169
172
172
123
124
128
181
130
130
133
143
140
187
224
255
255
247
230
189
192
134
106
143
42
84
32
62
41
76
41
126
198
179
126
175
174
121
118
111
108
156
99
93
88
83
69
64
61
56
106
97
95
89
88
87
87
33
33
85
82
82
81
81
29
30
29
28
28
29
80
28
28
29
80
80
28
79
79
24
23
22
22
23
74
74
74
73
72
74
22
23
23
23
23
23
75
75
23
76
76
76
25
25
26
78
79
27
27
29
29
29
29
30
83
85
85
85
86
91
104
57
63
68
125
127
83
137
87
87
91
92
96
148
97
151
153
153
101
155
157
160
160
161
162
162
112
112
168
116
117
117
170
170
170
176
176
177
126
181
182
182
187
187
187
188
189
137
189
35
35
35
35
33
85
85
84
82
30
28
28
28
28
30
30
82
83
32
86
86
87
88
88
35
89
88
36
38
90
92
94
46
49
52
110
111
115
119
121
122
123
73
74
127
131
134
138
141
90
95
97
97
99
100
154
158
158
158
107
107
107
107
108
161
161
161
162
162
162
110
110
111
111
164
164
111
111
163
162
162
161
109
107
159
106
104
104
104
103
100
152
149
96
96
147
146
144
92
91
142
140
87
85
83
133
132
130
128
125
123
119
67
118
66
67
123
72
74
77
79
81
84
90
143
147
149
100
104
157
163
167
168
170
173
121
125
125
126
130
128
136
198
227
223
221
255
181
169
200
134
98
134
85
65
76
38
64
60
70
45
119
195
173
173
170
163
166
111
105
155
150
91
86
132
127
118
115
57
53
99
93
92
89
88
86
87
35
33
83
82
80
80
79
79
31
30
30
81
82
81
29
28
29
81
28
28
27
79
24
23
22
74
75
22
74
74
74
73
75
23
22
74
24
24
24
76
24
24
24
76
76
25
25
78
78
28
28
28
30
30
30
82
83
84
86
86
34
87
92
52
54
109
115
67
125
131
87
139
140
141
144
93
145
150
150
99
100
102
156
156
158
107
108
109
162
164
164
115
116
168
169
120
120
173
175
124
177
178
182
183
184
188
137
137
138
192
192
193
35
35
87
85
85
85
85
82
30
30
28
28
28
28
30
82
82
83
32
34
86
86
88
35
35
37
36
88
90
90
92
94
98
100
103
107
110
115
117
121
122
123
70
73
74
78
81
137
138
90
95
97
97
97
101
154
157
157
158
106
107
107
107
109
161
162
162
162
163
163
111
111
111
164
164
112
111
111
111
162
162
161
161
157
157
157
104
104
103
101
100
150
149
96
148
145
144
144
144
91
90
140
138
137
80
80
131
129
73
72
122
118
65
116
116
117
120
120
73
126
127
80
82
86
139
143
93
98
99
152
161
163
166
167
169
172
122
125
125
123
187
183
218
225
218
217
198
176
168
194
163
99
135
54
5
25
45
66
64
71
46
66
191
118
116
115
160
160
107
100
96
145
87
83
77
125
117
113
108
101
98
93
92
89
86
86
35
35
83
83
29
28
80
80
79
32
31
30
81
82
30
29
29
30
29
28
28
28
27
24
23
22
74
23
74
74
74
74
74
75
23
75
74
24
24
24
24
24
24
76
76
24
25
25
78
78
28
28
28
30
30
30
82
31
32
34
34
34
87
92
104
105
108
114
66
71
78
84
86
140
141
142
146
94
150
98
99
152
154
156
104
158
158
159
160
161
163
164
115
115
116
169
171
172
172
123
175
176
177
182
183
183
136
136
137
190
191
192
192
32
32
84
84
84
82
82
82
28
28
28
27
27
27
82
82
82
83
84
34
34
85
87
35
35
38
38
90
90
89
92
93
96
99
100
105
54
61
64
66
122
123
122
70
73
75
79
81
136
140
94
95
149
150
100
153
158
158
158
159
107
107
107
111
163
163
112
164
164
112
112
112
164
164
112
112
111
111
163
162
162
161
161
158
106
105
104
102
101
100
97
149
148
146
146
146
93
144
144
142
141
139
138
135
79
131
75
74
72
71
119
114
113
112
111
113
114
116
119
68
69
74
76
132
133
141
93
95
149
151
157
159
162
110
164
168
170
121
174
175
127
198
255
255
224
199
181
180
164
194
152
116
100
22
57
72
54
69
73
67
103
117
132
113
162
159
104
151
149
143
140
85
79
73
121
118
60
55
104
99
94
39
90
87
86
34
33
33
32
30
29
29
28
79
79
32
31
31
82
83
30
30
81
82
82
29
81
28
28
24
23
74
22
23
22
74
75
75
22
24
24
75
75
24
24
24
24
24
76
76
24
24
25
25
78
78
80
28
28
30
30
30
30
31
84
86
34
34
87
92
103
104
55
58
61
66
123
81
81
85
139
141
94
147
98
98
99
152
154
156
104
105
158
158
108
109
163
163
167
116
116
117
172
172
172
175
176
125
178
182
183
184
188
189
189
190
192
192
192
31
83
83
31
29
29
81
80
28
28
79
27
27
27
30
30
82
31
32
34
34
34
88
89
89
40
40
40
92
92
94
94
97
98
101
104
105
112
64
66
120
122
124
123
72
75
77
80
136
139
92
95
147
150
152
154
159
160
160
160
109
109
109
164
164
165
113
113
114
114
114
114
113
113
112
112
111
163
163
162
162
161
161
159
107
106
155
153
152
151
148
148
146
146
146
146
146
91
143
142
141
87
136
135
132
129
76
74
125
121
67
58
111
110
109
108
111
111
114
64
66
68
71
77
130
139
141
91
144
94
99
103
157
160
109
163
169
170
171
169
139
247
255
255
208
191
187
181
163
175
97
120
58
7
16
81
104
116
77
70
104
112
179
165
157
151
96
146
143
139
135
132
74
69
120
116
51
49
100
97
95
39
38
35
34
32
33
33
31
30
30
29
28
28
28
33
32
31
82
84
31
31
30
83
82
81
30
29
29
24
75
74
74
75
74
74
76
75
23
25
76
24
24
76
76
24
24
76
76
24
24
24
25
25
26
26
28
28
28
30
30
30
30
83
84
34
34
86
35
40
51
51
53
56
59
63
67
76
77
81
136
139
143
145
98
98
151
152
154
156
156
158
159
160
109
110
112
164
117
117
118
119
121
122
122
125
126
126
180
132
133
133
190
138
139
140
141
194
194
83
83
83
31
29
29
29
28
80
80
79
79
27
27
30
30
82
31
32
34
86
86
89
90
90
93
93
41
93
93
42
95
97
99
102
101
104
111
64
66
120
122
124
124
72
75
77
81
134
138
92
147
147
150
153
155
160
160
161
161
161
110
162
164
164
165
165
166
166
114
114
114
113
113
164
112
111
111
163
162
162
161
109
108
159
104
155
153
100
99
148
148
146
94
94
146
145
143
143
142
89
87
84
83
132
129
128
127
123
69
68
109
109
57
56
55
108
111
114
115
117
68
122
126
129
137
139
89
90
92
149
152
156
107
160
163
168
170
170
108
149
255
255
219
195
193
181
193
167
156
97
128
43
0
20
35
104
112
129
125
102
110
177
163
155
148
93
145
143
137
83
78
73
120
120
64
49
48
45
45
44
39
90
35
34
32
33
33
31
31
30
29
28
28
28
33
32
31
83
84
31
31
82
83
82
30
30
29
29
76
75
74
74
75
22
22
76
76
23
25
24
24
24
76
76
24
24
76
76
76
24
24
25
25
78
26
28
28
80
30
30
30
82
83
32
34
86
86
35
40
50
51
105
56
58
62
118
73
76
80
135
138
143
144
98
98
151
152
154
156
104
107
107
160
161
110
112
113
118
118
119
119
122
123
123
178
126
127
128
133
134
134
139
139
140
140
142
143
195
27
27
27
27
27
27
27
28
80
80
80
28
28
28
31
31
31
35
35
36
90
90
38
93
93
94
94
42
45
45
48
48
49
49
51
104
107
113
115
117
120
70
72
77
131
133
136
84
85
89
96
97
152
153
104
108
109
162
164
165
114
114
116
117
171
171
171
171
171
171
173
119
119
119
119
117
116
116
113
165
164
112
111
107
106
156
156
156
154
100
150
150
97
97
95
95
94
91
142
141
88
87
86
83
82
130
127
125
72
68
115
108
55
54
53
53
106
106
107
56
57
59
113
117
118
113
64
73
81
90
150
151
151
95
95
102
159
170
111
159
216
255
255
203
187
176
234
226
205
180
165
186
29
5
23
44
132
139
132
122
96
104
159
149
140
94
140
138
137
79
74
72
69
66
109
107
50
46
44
43
40
38
90
37
88
35
86
86
86
34
34
34
34
86
34
35
34
34
85
84
83
83
82
81
81
28
27
78
78
77
77
76
76
76
23
23
74
74
74
74
74
22
22
25
25
25
77
77
77
76
24
25
25
77
78
26
26
26
78
78
80
80
80
32
32
83
85
86
36
38
47
99
101
103
107
57
112
118
70
74
80
83
140
89
96
96
149
150
153
155
156
110
110
164
166
168
170
119
120
120
173
174
176
177
177
181
181
130
131
134
187
135
138
138
139
139
140
140
140
27
27
27
27
27
27
79
80
28
80
81
29
29
30
85
33
34
36
37
40
40
39
41
42
42
95
96
96
46
46
49
49
49
50
52
105
107
113
114
116
67
69
71
77
131
133
136
137
86
90
148
150
100
102
104
108
115
117
117
117
116
116
118
120
173
173
173
173
121
123
173
119
119
171
119
117
117
117
114
114
114
113
112
107
106
104
156
156
154
100
151
151
98
97
95
94
93
90
142
141
85
84
134
79
79
76
124
122
121
119
62
108
55
54
53
53
54
106
106
107
56
58
59
62
63
59
63
70
77
84
142
140
90
88
90
87
107
103
161
203
225
255
254
249
196
188
192
171
140
172
130
131
14
1
20
44
89
92
133
122
95
107
156
146
86
89
84
134
133
75
72
69
119
116
109
109
103
101
45
44
43
92
91
90
89
36
88
87
86
34
34
34
34
34
34
36
35
34
33
85
84
84
31
82
29
28
28
27
79
78
77
77
77
24
76
76
23
75
75
23
23
75
23
26
78
78
78
78
78
77
77
25
78
78
78
79
26
78
78
78
80
28
28
32
32
31
33
34
36
38
95
96
99
101
103
107
59
115
117
121
127
130
137
86
145
146
149
151
154
109
110
110
165
166
168
169
173
122
173
173
174
174
177
178
178
182
182
183
131
187
188
188
140
140
140
140
141
141
142
27
27
27
27
79
79
79
80
80
80
81
82
30
31
34
34
35
37
40
40
41
41
41
42
43
44
44
44
46
46
49
49
50
50
52
105
55
60
113
115
66
68
70
76
131
133
137
137
86
89
148
149
100
101
104
108
169
117
117
119
119
119
170
173
173
123
123
175
175
175
121
119
119
171
171
169
169
169
114
114
114
113
164
159
106
104
156
156
154
100
151
151
150
97
95
146
145
140
139
138
136
135
81
77
78
74
71
69
120
117
112
108
55
54
53
53
54
54
106
107
108
109
59
61
62
59
62
121
127
133
138
135
86
82
87
132
106
97
124
220
229
210
203
193
198
246
193
161
134
127
125
113
14
3
20
43
94
94
132
123
43
111
157
93
85
87
83
81
132
126
71
68
118
115
109
108
104
49
48
45
96
93
92
39
38
37
37
36
86
34
34
34
34
34
86
88
35
35
34
85
84
84
31
30
30
29
28
27
79
78
78
25
25
25
76
76
23
23
75
75
23
75
75
78
78
78
78
78
78
77
77
26
78
78
79
79
78
78
78
78
80
80
28
32
32
31
85
86
88
90
94
95
45
49
51
55
58
62
115
68
70
128
134
135
143
144
148
151
155
110
111
163
164
167
168
118
174
174
173
173
174
175
177
178
178
182
182
183
184
187
136
188
192
193
193
141
142
142
142
79
27
27
79
79
27
27
80
80
81
82
83
32
32
39
38
40
40
39
39
41
42
42
44
44
44
45
47
47
47
50
50
50
51
53
53
55
60
60
62
64
66
69
76
131
133
137
138
87
88
94
147
98
99
102
158
169
170
118
119
121
121
173
176
176
124
126
178
178
178
121
171
119
171
171
169
168
168
113
113
112
112
163
159
106
156
104
156
154
100
100
100
151
150
94
145
144
138
85
83
133
131
75
73
127
71
69
67
64
114
109
108
107
54
53
53
106
106
56
56
109
110
59
61
113
61
114
120
124
128
130
128
75
68
135
128
96
96
227
229
219
189
193
195
255
255
182
189
171
169
160
77
0
12
24
46
149
150
134
72
98
119
107
90
135
82
83
129
128
123
68
66
114
113
109
108
104
103
50
48
48
96
44
42
93
41
40
40
90
90
38
38
38
90
90
89
36
87
86
86
33
33
84
31
82
29
29
28
80
79
78
26
78
25
25
25
24
76
76
76
24
76
76
79
79
79
79
79
27
26
78
78
79
79
79
80
78
78
78
78
80
80
28
32
32
31
85
86
88
90
93
42
43
45
49
103
107
112
62
64
68
71
132
82
90
144
146
97
100
107
109
163
164
113
167
170
121
122
122
122
123
175
126
127
127
183
183
184
132
188
137
189
194
194
194
195
143
144
196
27
27
27
27
27
27
27
29
81
82
83
32
33
85
40
40
40
42
42
94
94
43
43
46
98
99
99
99
99
47
50
50
51
51
105
54
55
59
61
63
64
65
69
126
129
132
137
139
141
143
92
92
95
149
152
155
163
165
167
117
119
122
123
124
124
123
123
123
177
177
171
169
169
169
169
167
168
168
113
112
112
163
161
157
157
157
105
105
155
156
100
98
149
148
146
146
142
80
78
76
127
126
125
69
64
64
63
60
58
109
107
105
105
106
107
107
109
109
58
58
58
59
111
112
60
57
59
116
120
122
123
68
66
74
117
128
147
177
255
255
209
195
179
200
248
255
230
181
173
149
153
88
0
13
18
63
98
142
140
126
103
128
149
135
133
84
79
128
127
123
67
65
115
114
109
108
106
53
102
101
101
97
97
45
97
96
96
96
93
92
91
91
90
89
37
38
89
88
88
87
34
34
33
32
83
81
80
79
26
80
80
27
79
26
26
26
25
77
76
76
23
23
75
79
79
79
79
79
27
28
80
80
80
80
80
80
78
26
26
78
80
80
80
82
30
31
34
86
87
88
91
39
39
43
97
101
107
109
60
64
65
70
78
82
87
89
92
95
97
154
106
160
161
164
114
116
120
172
122
122
123
124
126
127
127
130
182
183
132
135
136
136
193
193
194
194
195
143
143
79
27
27
27
27
27
27
29
81
82
32
32
33
85
92
92
40
42
42
94
43
43
43
98
98
99
99
99
47
47
50
50
51
51
53
55
55
59
61
62
64
64
69
126
129
132
84
138
141
143
92
93
96
97
151
154
161
162
164
167
119
120
121
121
121
121
123
123
123
123
172
170
170
170
170
168
116
168
165
112
111
163
161
157
157
105
105
105
104
104
152
150
96
96
146
145
142
131
77
75
126
126
125
67
64
61
112
59
58
106
105
105
105
106
55
56
57
57
58
58
59
59
59
60
60
58
59
62
118
122
121
118
116
69
73
77
135
217
255
215
204
219
187
243
255
255
234
181
169
146
90
31
0
15
71
64
150
143
138
121
103
130
150
133
133
81
131
126
125
69
67
65
116
115
112
109
107
54
53
52
103
99
99
99
46
98
98
46
43
94
94
93
92
91
39
38
89
88
88
87
86
34
33
32
83
81
80
79
27
80
80
79
79
79
26
26
25
77
24
24
24
23
75
79
79
79
79
79
79
80
80
28
80
80
80
80
26
26
26
26
80
80
80
82
82
31
34
34
87
88
90
38
39
40
44
99
105
109
60
63
119
121
78
81
138
141
92
94
96
102
156
159
160
162
114
116
119
120
174
174
123
175
178
127
127
182
183
183
132
136
136
137
141
193
194
194
143
195
143
26
26
79
79
79
80
80
82
82
83
32
33
86
86
94
94
94
42
95
95
95
97
97
98
100
101
101
101
47
47
50
50
51
51
53
55
107
111
60
61
62
63
68
125
75
78
82
84
86
91
93
94
148
149
97
100
103
104
158
162
163
165
113
117
117
119
120
172
120
120
120
118
170
170
118
116
115
166
164
111
110
161
160
158
106
106
105
105
103
103
151
149
95
94
92
144
140
128
126
124
123
122
119
62
59
56
108
107
54
104
103
54
55
55
56
109
58
59
111
111
111
112
60
61
113
110
111
112
116
65
64
63
67
57
138
128
190
255
225
188
192
193
224
215
214
255
251
185
153
134
115
23
0
16
28
67
158
148
137
118
103
136
150
134
82
132
78
72
71
68
69
67
66
117
114
114
112
59
57
57
108
101
100
99
46
46
45
45
44
95
94
93
93
92
40
38
89
88
36
35
86
34
33
32
83
82
81
81
80
81
80
80
80
79
27
27
26
78
78
77
77
25
25
81
81
81
81
81
29
29
81
81
81
29
81
81
78
26
26
78
28
28
28
30
30
83
34
34
35
88
88
88
37
91
41
46
104
108
59
65
120
72
75
128
134
85
142
144
93
100
154
155
156
160
162
112
117
118
121
121
122
123
177
178
126
183
183
184
133
136
137
137
140
141
141
193
142
194
194
25
25
26
79
80
81
81
82
83
83
33
34
86
87
42
42
42
43
43
95
97
97
97
100
100
101
49
49
47
99
102
50
51
103
53
107
107
110
59
60
60
61
66
122
72
74
78
80
81
86
143
144
148
148
97
99
98
99
152
155
157
157
106
109
162
112
113
166
166
114
119
117
117
117
117
115
113
165
162
109
108
160
158
157
105
104
104
103
100
100
97
95
93
93
91
90
139
128
124
121
119
118
117
58
55
54
106
105
53
52
50
56
56
57
110
111
60
60
112
112
112
112
61
61
62
56
110
112
113
62
60
59
68
59
131
133
255
231
196
173
185
222
133
152
246
255
206
143
93
72
101
31
58
77
45
134
162
151
138
71
105
93
153
134
136
129
131
73
72
70
69
67
66
120
117
117
115
114
113
112
111
53
104
102
101
48
47
47
46
97
96
95
94
42
41
38
89
88
88
87
86
34
85
84
84
83
83
83
82
29
29
81
80
80
80
28
28
80
27
79
79
26
26
82
82
30
82
30
30
30
30
82
82
30
30
30
78
78
78
78
80
80
28
30
30
31
86
34
87
88
89
89
37
90
94
44
104
107
59
115
118
119
125
127
132
134
137
87
143
148
99
153
154
155
107
161
165
165
120
121
121
122
125
125
178
182
130
131
131
135
187
188
190
138
138
138
139
191
140
25
25
26
27
28
81
81
83
83
84
33
34
87
87
94
94
94
95
95
95
97
97
97
100
100
101
49
49
47
47
102
102
51
103
105
107
107
58
58
59
112
112
116
68
70
72
76
77
79
83
89
143
95
148
149
99
95
96
151
152
153
154
104
106
160
109
109
162
163
163
170
168
116
116
116
114
112
112
161
161
160
159
105
104
156
155
154
153
99
98
96
95
93
92
90
90
86
74
71
69
67
66
114
109
55
54
54
106
103
51
103
57
57
58
110
111
113
61
60
60
112
113
61
114
114
56
58
59
61
60
60
110
64
68
130
141
198
149
147
118
139
233
158
157
231
255
255
200
147
71
48
92
64
86
58
145
162
149
83
71
53
96
103
83
137
129
80
73
72
70
69
68
67
121
119
118
116
115
116
63
62
54
54
104
102
101
48
48
98
97
96
95
95
42
42
90
37
88
88
87
86
34
33
84
84
84
31
83
83
30
29
29
81
80
80
80
81
80
80
80
79
27
27
31
83
31
31
31
83
82
82
82
30
30
82
82
26
26
78
78
80
80
80
30
30
31
86
86
35
36
37
89
90
39
42
45
51
55
111
113
116
117
124
127
79
81
84
87
88
147
98
100
153
154
156
160
164
165
120
120
121
122
124
125
125
129
129
130
130
134
135
187
188
136
136
137
138
138
138
76
24
25
27
28
81
81
86
86
34
37
38
90
90
94
94
94
95
43
95
95
95
97
49
50
49
100
47
52
52
106
106
107
109
109
108
56
60
62
63
118
118
113
115
64
117
68
69
71
76
81
136
86
143
144
93
96
98
150
150
98
100
152
157
158
158
107
159
162
110
162
161
109
110
163
110
107
158
156
156
155
155
101
98
149
149
96
93
144
90
137
138
84
84
134
81
79
76
74
72
67
65
115
112
58
58
56
56
56
108
108
109
57
58
111
111
113
61
62
63
63
64
116
115
114
127
120
112
57
60
108
124
71
155
138
251
201
124
127
167
184
103
77
165
174
197
208
193
109
115
85
107
72
127
109
124
149
83
69
65
51
93
149
90
134
82
76
76
75
73
72
71
72
124
124
123
70
68
118
65
65
60
59
107
105
51
102
100
101
98
97
95
94
40
90
90
37
88
88
87
86
34
32
84
83
31
30
30
82
80
28
28
80
80
80
80
79
79
27
79
79
79
27
81
81
80
80
79
79
80
80
80
27
79
78
78
26
26
26
25
26
77
77
80
28
29
84
84
85
34
36
37
92
94
44
46
51
52
107
112
61
63
121
124
79
80
81
83
87
142
143
98
100
103
105
158
109
112
118
119
120
121
176
125
125
180
180
129
131
132
132
132
180
128
128
129
130
130
130
76
25
25
80
81
81
84
86
34
35
37
37
90
90
94
94
94
95
43
43
95
96
44
48
49
49
48
48
104
104
106
106
107
109
109
56
57
61
62
63
118
119
114
63
63
118
119
119
70
123
127
130
132
134
135
86
92
145
146
147
150
99
152
154
154
154
155
155
103
102
157
157
105
105
105
157
153
152
152
150
149
97
97
144
92
144
141
88
87
86
84
136
135
83
83
132
130
74
72
70
119
116
114
114
59
59
59
56
108
108
108
109
57
58
59
59
61
113
62
63
63
64
116
115
114
64
123
116
54
51
60
72
135
144
197
216
100
161
195
104
5
4
7
47
177
181
198
160
134
114
99
94
130
168
132
128
152
85
70
68
53
98
102
92
85
85
80
78
79
129
128
127
126
126
126
126
71
70
68
67
66
62
61
56
55
53
104
101
102
99
98
96
94
93
93
91
90
89
88
35
35
86
84
84
84
31
31
31
30
28
80
80
28
28
80
80
27
79
79
79
79
79
79
81
81
81
28
28
80
80
80
80
80
79
79
79
26
26
78
78
26
26
78
28
28
81
84
84
85
86
37
90
92
42
96
98
50
52
106
111
113
114
120
70
77
78
80
82
84
89
142
144
148
99
100
153
158
108
116
118
119
172
174
176
177
178
180
129
181
130
132
132
179
179
128
128
129
129
129
25
77
26
80
81
82
84
35
35
37
37
37
37
37
93
93
93
94
94
94
42
44
44
99
100
48
48
48
104
104
106
106
107
109
57
57
57
61
114
116
66
119
114
114
115
117
66
68
68
122
126
127
129
131
80
80
139
143
92
146
148
149
100
100
102
101
153
153
152
153
156
104
103
103
103
153
151
149
149
148
148
96
145
141
88
88
140
87
85
85
83
135
134
82
82
78
128
124
71
69
119
117
115
115
60
59
59
59
57
108
108
109
57
58
59
59
61
113
114
115
63
64
64
63
62
61
66
64
56
59
121
128
116
216
255
144
205
255
148
50
18
0
5
70
161
213
247
155
80
64
99
156
162
136
190
123
102
88
73
71
106
153
158
95
88
88
85
81
81
131
78
76
129
128
128
128
73
123
122
69
68
63
63
60
56
55
54
105
103
101
98
97
95
94
93
91
90
37
36
36
87
87
85
84
32
32
31
31
83
81
81
29
81
81
81
81
28
80
80
80
80
80
80
82
29
81
29
28
80
81
81
80
80
28
27
27
27
79
26
26
27
26
26
28
28
81
84
84
85
86
90
90
92
94
96
98
49
52
106
111
112
113
119
69
74
75
76
80
83
87
90
92
146
150
151
152
156
106
115
115
168
169
173
174
175
177
178
178
180
181
129
129
177
178
178
178
127
127
179
78
79
79
81
84
84
85
38
38
37
39
39
38
38
40
92
92
93
93
93
41
44
44
97
98
47
48
100
104
104
54
54
107
109
57
57
58
114
115
116
67
68
65
66
118
118
120
120
68
70
73
73
126
126
75
75
131
132
82
135
139
140
141
146
94
95
149
149
150
150
100
100
151
148
147
146
144
144
144
141
89
89
140
137
85
85
84
84
82
82
80
79
79
80
79
130
126
123
122
120
119
118
118
65
63
63
61
60
59
111
108
109
109
58
59
59
61
113
114
115
115
64
64
63
62
62
62
109
110
116
118
130
217
255
201
110
255
205
49
0
8
14
52
72
205
228
181
199
127
74
100
161
132
196
182
114
112
95
79
137
104
154
111
103
94
95
144
139
139
137
136
83
134
133
134
81
76
75
73
72
71
119
118
63
62
60
57
108
106
103
101
99
97
96
95
92
39
38
37
36
88
87
86
33
33
32
32
32
84
82
30
30
30
30
30
30
29
81
81
29
81
81
81
82
82
82
29
29
29
82
81
81
29
28
28
28
28
27
27
27
27
27
27
28
28
81
84
84
33
34
91
91
41
94
96
97
48
51
105
110
111
111
116
118
68
69
123
76
79
135
86
89
91
96
149
150
102
104
109
161
162
163
166
117
169
120
122
174
174
176
124
125
174
174
174
175
175
176
176
27
79
82
83
32
87
35
38
38
92
91
90
40
40
40
40
92
93
93
41
93
45
44
96
45
46
47
101
104
104
54
54
55
57
57
58
58
114
116
117
68
68
69
121
69
121
121
120
120
119
119
119
119
68
68
120
124
72
73
77
78
131
132
133
82
86
88
89
90
91
91
142
141
139
136
134
136
135
82
82
80
131
79
75
75
75
76
76
76
76
77
77
78
78
78
129
127
123
71
69
121
121
68
70
65
64
115
115
60
59
110
109
109
58
59
59
113
113
114
115
115
116
116
115
114
64
112
113
120
121
91
136
255
134
213
224
144
116
22
11
25
45
18
126
186
249
210
171
110
73
120
178
183
190
124
164
125
152
84
92
48
104
118
113
103
102
96
93
93
143
90
86
138
85
85
83
132
78
77
76
125
122
122
67
63
62
113
112
107
105
102
100
99
98
97
92
39
38
90
89
36
88
86
34
33
33
32
32
84
82
30
30
30
30
30
30
29
29
29
29
29
81
29
83
83
82
82
29
29
82
30
30
29
29
28
28
28
28
80
79
28
27
79
28
28
81
84
84
33
34
91
92
41
94
96
97
48
103
105
109
58
110
63
65
65
118
121
123
127
132
84
135
138
140
143
144
96
98
155
155
104
105
109
110
162
113
115
167
168
119
119
119
119
171
171
172
173
173
121
81
81
82
87
36
37
37
39
91
91
93
93
41
41
40
40
40
41
41
41
93
43
43
98
98
46
47
99
102
50
52
53
54
57
57
57
58
114
115
116
67
120
121
121
70
70
121
121
69
68
120
120
68
66
118
118
116
65
68
121
70
70
125
126
128
129
77
78
78
78
78
130
130
130
130
128
129
127
75
127
127
125
125
71
71
71
123
123
71
71
74
126
126
75
75
75
76
75
75
74
71
70
70
68
119
119
116
115
63
62
113
111
111
112
60
113
115
115
115
115
115
115
64
116
64
64
112
121
72
76
124
206
219
229
229
198
22
89
33
28
55
56
60
177
204
255
215
184
114
83
70
177
186
189
119
110
130
167
137
100
59
0
0
115
178
168
160
153
100
98
148
144
91
90
142
139
85
82
133
132
132
125
72
68
69
120
118
114
61
56
54
104
102
101
98
92
91
91
90
89
89
88
35
34
34
85
32
31
83
84
32
31
31
30
30
30
82
82
82
30
30
82
82
30
30
30
30
30
30
30
30
30
29
29
28
28
28
80
80
79
28
27
27
29
29
81
31
31
33
35
90
91
93
94
44
45
101
102
103
54
56
58
63
64
116
118
120
121
121
127
128
131
131
132
82
86
140
141
147
95
148
149
102
103
103
107
107
160
160
111
163
112
113
165
165
165
165
165
165
80
81
82
34
35
36
39
91
91
93
93
93
41
41
40
40
40
41
41
41
41
43
43
97
98
46
98
99
49
49
104
105
53
56
56
58
58
62
64
65
68
68
69
121
122
122
123
121
69
69
121
119
67
67
119
119
115
116
117
118
66
69
121
121
71
123
72
72
74
74
73
71
123
123
71
121
125
125
123
123
123
123
122
121
69
121
121
69
70
70
124
126
126
126
75
75
78
127
126
126
125
70
69
120
119
67
66
63
63
62
113
112
112
61
61
62
115
116
115
115
116
116
117
118
66
67
64
72
84
76
163
253
255
205
188
227
43
50
41
26
41
47
35
155
215
216
157
188
122
85
69
176
186
132
170
163
135
121
143
110
48
0
0
149
158
153
173
107
104
101
150
148
93
92
144
144
140
136
135
134
82
75
73
71
122
121
119
65
61
59
55
53
51
102
101
93
92
91
90
90
89
89
88
35
34
33
32
32
83
32
84
31
83
30
82
82
30
30
30
30
30
82
82
30
30
30
30
30
30
30
30
30
81
81
80
28
80
80
80
79
80
27
27
29
81
29
31
32
33
36
92
93
42
95
44
45
100
102
103
54
108
110
115
116
113
115
117
120
120
123
127
127
76
78
131
133
136
136
91
91
144
145
98
99
99
103
103
155
158
108
160
109
111
111
163
163
164
164
164
82
82
83
85
37
37
90
93
41
93
94
94
42
42
91
39
39
40
40
40
40
42
42
97
97
97
98
98
47
48
102
103
104
106
55
57
58
62
63
64
67
68
70
70
123
122
71
71
69
70
68
68
66
66
118
118
113
113
61
115
63
62
114
113
61
115
115
63
63
63
115
63
64
64
63
63
117
117
118
118
117
117
117
118
66
66
118
66
68
68
123
71
125
126
74
76
77
128
128
125
124
123
123
120
119
119
117
117
65
65
114
113
113
62
63
63
65
117
116
117
118
119
121
123
72
132
79
79
91
82
213
249
238
241
210
151
118
14
3
69
27
51
44
219
255
192
149
191
131
80
115
179
193
125
167
159
197
185
100
124
33
0
0
112
142
128
115
113
113
108
158
155
154
151
146
146
89
87
84
83
83
79
129
126
126
125
69
67
66
62
60
58
54
104
103
96
94
93
92
90
90
89
88
87
87
86
85
84
32
32
32
31
31
30
82
82
82
82
30
30
82
82
82
83
31
31
31
83
31
30
30
30
29
81
28
28
28
80
80
79
80
79
79
81
81
29
31
33
35
38
43
43
44
96
44
44
46
102
103
54
108
110
115
64
58
112
115
116
116
66
122
72
73
76
130
131
134
136
137
86
87
140
90
93
93
94
96
149
150
101
102
102
106
106
107
159
160
161
161
29
81
82
87
36
37
37
39
91
91
92
92
40
92
90
90
38
91
91
91
91
41
93
96
96
97
97
97
46
46
101
102
102
105
105
108
108
112
61
63
65
66
72
70
71
71
71
71
69
70
68
66
66
66
118
118
62
61
60
113
60
59
61
59
58
111
110
110
109
109
110
111
60
61
60
61
115
113
62
62
61
114
115
64
64
64
64
66
66
120
122
122
73
125
75
76
76
127
127
126
124
123
122
119
118
118
118
117
65
65
117
112
113
61
62
63
64
117
117
66
67
121
72
75
128
129
85
94
139
175
255
239
245
255
175
191
87
8
20
39
50
55
81
227
227
198
154
200
145
135
63
122
187
124
115
152
209
195
157
126
131
26
26
136
160
132
131
170
170
166
164
161
106
105
99
149
146
143
87
87
86
85
135
129
76
127
72
69
120
116
114
60
58
56
107
98
96
95
93
91
38
89
89
88
35
34
86
33
33
32
84
83
31
30
30
82
82
82
30
30
82
82
82
84
32
32
32
32
84
30
30
30
29
81
28
28
80
80
28
27
28
27
79
81
81
81
32
86
88
39
42
43
44
45
45
46
48
50
51
54
108
110
63
64
111
112
114
114
113
65
67
69
123
125
126
130
132
133
83
83
84
137
89
89
142
142
92
93
94
97
98
150
102
103
103
104
106
107
107
81
81
82
87
88
89
39
90
90
90
91
91
91
91
90
90
90
91
91
91
39
41
93
96
96
97
97
97
46
46
101
101
102
105
105
107
107
112
113
62
117
117
124
72
71
71
71
71
69
69
67
65
65
117
116
116
62
61
60
61
60
59
59
59
110
111
110
110
109
109
109
110
58
60
59
60
112
61
113
62
113
62
63
117
117
117
65
67
67
121
122
122
124
125
127
76
76
75
127
126
125
123
122
119
118
118
66
117
117
65
65
112
112
113
62
63
116
116
117
118
68
70
72
76
77
82
91
103
140
190
239
226
206
222
230
184
12
0
18
37
56
63
107
225
224
232
143
245
193
136
64
121
131
125
167
150
211
200
157
179
150
26
45
26
175
185
173
173
171
168
165
162
109
106
101
151
148
145
90
89
88
138
136
130
77
75
73
70
120
116
114
60
58
57
56
47
45
43
41
39
90
90
89
88
87
35
34
33
33
32
32
83
83
82
82
82
82
82
30
30
82
82
82
32
32
32
32
32
32
30
30
82
81
81
28
28
80
80
28
27
80
79
79
81
81
81
84
86
88
40
42
42
44
45
45
46
49
50
103
106
108
110
63
116
111
61
62
114
113
65
66
67
70
123
125
126
131
80
83
83
136
137
139
89
90
90
92
92
93
149
149
150
154
103
103
104
106
107
107
83
83
32
33
88
37
89
91
91
91
41
41
41
41
38
90
38
90
90
40
40
41
43
97
98
100
101
101
53
53
107
108
108
109
109
110
110
110
111
113
115
116
117
117
66
66
119
67
67
69
69
69
69
121
121
121
116
64
63
62
61
61
113
58
110
107
107
106
106
106
110
109
109
109
58
59
114
114
115
116
117
65
66
64
116
117
67
67
68
68
69
121
123
124
124
73
73
75
75
74
123
121
68
118
66
66
64
116
116
64
64
59
111
111
61
115
120
121
123
125
128
131
132
137
139
93
91
105
177
252
227
195
255
191
185
165
30
29
43
32
59
79
176
255
255
176
101
166
148
64
50
99
129
127
164
148
201
207
181
162
130
37
54
26
102
152
151
172
170
170
172
171
117
115
114
163
155
150
93
90
89
92
90
85
136
133
129
127
124
118
113
59
58
56
55
51
49
46
45
95
94
91
90
89
86
34
33
32
32
30
82
81
81
81
80
80
29
29
29
29
81
29
81
32
32
31
31
30
30
30
82
82
81
81
28
28
81
81
29
80
82
29
29
84
84
86
89
91
93
42
44
44
44
45
97
98
46
49
101
102
51
53
107
107
113
113
114
63
65
119
119
69
69
71
125
127
78
79
80
80
133
134
137
138
86
140
141
142
91
146
147
147
102
102
155
103
105
106
158
30
30
31
33
35
36
36
38
90
90
92
92
92
40
38
90
90
92
92
40
40
44
44
47
100
101
102
50
54
55
108
108
109
57
57
58
110
58
59
113
115
116
117
117
118
66
67
67
67
69
69
69
69
69
121
121
116
64
63
63
61
61
61
58
110
109
107
106
54
54
58
109
109
109
58
59
60
61
61
62
115
64
64
65
65
65
120
68
68
69
69
121
123
124
124
73
73
72
72
71
70
69
119
117
117
115
115
115
63
61
61
59
111
111
114
63
122
123
126
128
80
134
137
89
91
90
109
151
225
255
200
229
175
115
199
91
86
41
50
110
127
179
207
255
255
155
92
164
162
57
52
92
124
177
109
150
202
164
140
109
211
78
26
40
26
129
143
175
175
124
123
173
174
171
169
166
159
155
99
95
95
94
92
87
87
136
134
130
126
68
65
113
112
111
59
53
51
48
99
97
96
93
92
90
87
86
33
32
32
83
82
82
82
81
81
81
29
29
81
29
29
29
29
32
32
31
31
30
30
82
82
82
81
81
80
80
81
81
81
29
31
31
31
33
34
35
90
39
93
42
44
44
44
97
97
98
98
101
49
50
51
53
107
107
60
61
113
63
64
118
66
68
69
70
124
126
130
130
79
132
132
133
138
138
139
140
141
142
143
146
147
95
101
101
154
103
104
105
105
30
30
83
32
87
88
88
90
90
90
92
92
92
92
90
90
90
92
40
40
42
44
96
100
49
49
50
50
55
108
56
108
109
57
57
110
110
58
59
113
115
116
65
117
118
66
67
67
67
69
69
69
69
69
69
69
64
64
115
115
62
61
61
58
110
109
109
106
54
54
58
109
109
57
58
59
60
60
61
114
114
63
64
117
65
118
120
68
69
69
121
121
123
124
72
73
73
72
71
71
121
120
118
117
115
115
63
63
61
61
61
59
111
111
62
116
122
126
128
131
82
85
138
93
95
91
113
106
241
255
144
203
125
117
159
70
23
43
78
120
123
220
243
255
255
171
138
156
167
55
50
81
122
121
105
151
200
220
199
165
194
109
26
43
26
138
207
170
174
128
124
123
174
173
171
169
109
105
102
100
151
96
94
89
89
138
136
132
129
70
67
64
112
112
111
54
52
49
100
98
97
94
41
39
88
35
33
32
84
83
31
30
82
82
29
29
81
81
29
29
29
29
29
32
84
83
83
30
30
82
82
82
29
81
28
28
81
81
29
29
31
31
31
34
87
88
39
40
93
42
44
44
96
97
97
98
98
101
49
50
103
53
55
55
60
60
61
62
63
117
66
68
68
70
72
126
129
130
79
79
132
133
86
87
139
88
89
90
143
146
95
95
153
153
154
102
104
105
157
29
29
82
32
34
35
35
89
89
89
91
91
91
91
92
92
92
92
42
42
42
97
99
100
50
51
52
52
109
109
57
57
57
57
57
58
58
58
111
113
115
116
65
65
118
118
67
67
119
121
69
69
69
69
69
69
66
66
65
63
62
62
62
60
112
109
109
56
108
108
110
57
109
109
110
59
60
61
61
114
115
116
64
118
118
118
121
69
69
70
121
121
123
72
72
73
73
71
71
69
68
118
117
114
114
114
60
112
112
60
58
58
111
111
61
65
124
127
79
83
138
142
143
150
100
170
152
197
255
255
193
191
65
117
65
27
74
149
149
165
177
206
255
255
245
154
144
139
158
124
60
122
166
161
100
98
191
220
215
180
164
176
42
35
31
79
144
140
135
128
130
130
179
174
123
120
114
111
109
106
157
100
98
94
93
90
138
136
132
74
71
66
64
63
112
56
54
103
102
100
99
44
42
40
37
35
33
84
84
84
31
31
31
30
30
30
81
81
29
29
29
29
29
84
84
83
83
82
82
82
82
82
81
81
80
80
29
29
29
30
32
33
33
36
36
37
40
40
41
42
44
96
96
97
97
98
98
101
49
50
103
53
55
55
111
111
112
113
63
65
117
119
120
69
71
73
129
129
78
78
80
81
86
88
88
88
89
90
91
94
147
147
152
100
101
102
103
104
104
27
28
29
32
34
33
33
32
85
87
91
91
90
89
91
91
92
43
44
45
99
99
48
50
103
104
105
105
108
56
57
57
58
58
58
60
60
62
114
115
116
116
118
118
118
118
66
66
118
119
67
67
67
119
119
119
68
66
118
118
118
116
64
64
114
114
113
112
109
109
110
110
110
58
58
58
59
59
60
61
115
116
65
66
118
118
69
69
122
122
121
121
71
72
72
73
73
70
70
69
120
116
115
114
59
59
111
109
109
57
57
108
109
112
114
67
128
130
85
84
139
145
96
152
102
121
167
234
218
184
197
102
93
44
19
2
155
104
131
149
148
255
255
255
226
217
115
137
150
146
132
133
160
165
147
149
137
218
221
192
173
208
56
58
37
46
26
66
200
132
193
180
140
118
124
122
119
117
116
167
113
103
101
98
149
148
144
140
137
132
76
72
67
65
64
59
107
105
105
52
102
98
46
42
38
36
87
86
34
32
32
31
83
30
30
30
30
30
29
29
28
28
28
85
85
84
84
83
83
82
82
82
81
81
80
80
29
29
29
30
32
33
33
37
37
38
93
93
42
43
45
97
98
99
47
48
49
50
102
103
52
52
106
54
110
112
113
114
62
64
66
120
120
70
71
73
76
76
131
79
80
81
86
87
87
89
90
91
92
147
148
148
152
152
101
154
103
104
104
27
80
81
31
34
33
33
31
32
34
39
91
91
90
93
93
42
44
44
47
47
48
49
103
104
106
107
107
108
108
109
57
58
58
58
60
60
114
62
115
116
116
118
118
66
118
118
118
118
67
67
119
119
119
119
119
68
68
68
118
118
118
116
64
115
113
112
112
111
111
110
110
110
58
58
58
59
59
60
61
115
116
65
66
118
118
69
69
121
122
121
121
123
72
124
73
73
122
122
121
118
116
115
112
59
59
109
109
109
57
57
56
109
111
115
68
129
79
85
139
91
94
97
103
106
165
182
192
222
190
204
125
70
48
0
30
124
114
176
107
158
255
227
183
164
234
127
130
203
147
138
74
100
110
92
97
137
164
223
200
176
204
80
57
35
38
0
28
146
183
179
184
116
179
176
122
120
119
170
169
168
157
153
150
149
148
144
90
138
132
128
73
70
65
116
111
107
105
53
104
102
98
98
95
38
36
87
86
86
32
32
31
83
83
30
82
82
30
29
29
29
28
28
85
85
84
32
83
83
82
82
82
81
81
81
80
81
29
30
30
84
85
85
89
37
38
93
94
94
43
45
45
46
47
47
48
49
50
50
51
104
104
54
54
58
112
114
114
114
117
118
120
68
70
71
73
76
76
131
79
80
81
86
87
87
89
142
143
144
147
148
148
152
152
153
154
155
156
156
78
79
80
31
33
32
84
30
31
32
90
92
93
93
42
42
43
46
47
48
49
50
51
106
106
107
55
107
57
109
110
58
58
59
59
60
112
114
62
115
116
116
117
117
65
65
117
117
65
66
66
118
118
118
118
118
118
66
118
118
118
116
116
114
62
61
113
59
111
111
110
58
110
110
58
110
111
111
60
61
115
64
65
65
117
118
68
120
121
121
121
121
123
124
124
73
73
120
120
119
118
116
113
112
58
58
110
110
109
109
57
56
59
113
117
70
79
81
138
145
96
97
150
110
166
172
183
218
255
192
208
186
216
224
167
175
56
106
52
151
204
224
224
85
0
112
205
169
203
145
143
105
138
157
93
97
134
208
221
166
141
147
110
2
41
29
34
0
121
134
199
177
202
174
179
176
124
123
122
175
174
160
158
152
151
150
147
143
141
135
78
75
71
69
119
113
109
107
106
105
103
47
99
95
39
89
87
87
35
33
84
32
32
31
83
83
83
82
30
30
29
29
29
85
85
32
32
83
83
83
83
82
30
30
81
81
82
30
30
31
33
33
86
90
90
39
93
94
95
44
45
45
98
47
47
48
49
50
50
103
52
52
54
54
59
112
114
115
63
117
119
68
68
70
71
125
128
128
131
131
80
81
86
87
87
89
90
143
144
147
96
96
100
152
101
102
155
156
104
77
26
28
30
32
32
83
84
32
32
37
39
93
94
96
45
45
47
48
101
50
52
106
107
55
109
57
57
58
58
58
59
59
59
60
60
60
114
114
115
116
116
116
116
116
64
64
64
64
65
65
65
117
117
117
117
119
67
117
117
117
117
115
115
115
60
60
60
60
60
110
58
110
110
110
110
111
111
60
61
63
64
65
116
117
117
67
68
68
68
69
121
123
124
124
73
73
120
120
119
116
114
113
110
111
111
110
58
58
110
110
58
60
64
67
72
81
85
88
95
100
151
104
165
161
203
208
255
255
255
226
229
199
198
108
47
70
129
199
217
222
214
124
79
50
106
160
193
131
90
131
91
118
152
141
139
135
202
164
173
150
138
151
32
48
35
49
29
43
199
184
185
175
133
181
178
178
127
128
127
179
112
160
156
153
151
147
145
142
137
80
77
73
70
69
114
110
56
108
107
105
49
100
96
91
89
88
36
36
33
33
33
32
32
84
84
83
83
31
30
30
30
82
85
33
84
84
83
83
84
83
31
31
30
30
30
31
31
31
31
34
34
86
90
91
39
42
43
44
45
45
97
98
99
99
48
49
50
102
103
52
52
54
54
111
113
115
116
116
118
68
68
120
70
71
125
128
128
131
131
132
133
138
139
139
141
142
143
144
147
96
96
100
100
101
102
103
156
156
25
26
27
30
84
31
83
86
85
85
36
38
92
93
45
45
46
47
101
102
50
105
107
107
55
109
57
57
110
58
59
59
59
60
60
60
112
114
62
63
64
64
116
116
116
64
64
116
64
65
65
65
117
117
65
65
118
66
66
64
116
116
116
114
114
60
60
60
60
60
110
58
110
110
110
110
111
111
112
61
63
64
65
116
116
65
67
67
68
68
121
121
123
124
72
73
73
120
68
67
116
114
113
58
111
111
110
58
110
110
58
59
60
65
120
73
82
86
90
97
99
99
158
164
156
228
214
255
255
222
229
229
255
255
177
199
136
72
171
220
168
224
208
0
0
144
163
210
110
95
129
90
53
145
134
80
137
151
164
177
161
143
210
26
1
0
0
0
26
219
185
202
170
141
130
181
179
180
181
181
181
165
111
104
155
151
148
145
143
137
80
77
74
71
69
115
111
57
57
108
105
102
100
44
40
90
36
36
36
34
85
33
33
84
84
84
32
83
31
31
30
30
82
85
33
84
84
83
31
84
84
31
83
83
82
30
83
83
31
32
34
86
87
91
39
40
42
43
44
45
97
97
98
99
99
100
49
102
102
103
52
52
54
54
60
113
115
116
116
118
120
120
120
70
71
125
128
76
131
131
132
133
138
139
139
141
90
91
144
147
96
96
100
100
101
102
155
156
156
80
28
29
31
84
85
33
33
86
87
92
93
42
95
44
44
45
48
101
50
51
105
105
55
107
107
55
55
110
110
59
59
60
60
60
60
60
62
63
63
64
65
61
61
61
61
61
113
113
62
62
62
114
114
62
62
60
60
60
60
112
112
112
58
58
59
59
60
60
60
59
59
59
111
111
111
60
60
113
114
114
115
116
69
69
70
69
69
122
123
121
121
119
119
67
67
67
63
62
61
61
60
59
58
58
110
111
59
59
111
112
115
118
72
129
132
142
145
152
143
158
157
151
158
167
255
255
255
255
222
229
215
152
229
228
255
77
207
229
224
224
255
216
7
0
52
32
204
141
136
144
56
63
102
81
95
88
161
160
171
176
166
196
26
12
0
0
0
0
97
230
196
143
127
186
184
130
129
129
179
178
172
118
113
109
108
155
99
95
87
83
81
77
74
72
70
118
63
63
60
58
54
53
44
94
39
39
37
36
85
84
83
31
30
31
83
85
33
32
32
33
85
85
84
84
84
84
84
32
33
33
33
32
84
31
31
34
34
33
35
87
88
37
42
42
43
44
44
45
45
46
46
98
99
99
100
100
102
102
51
52
52
54
54
58
110
112
113
115
120
120
69
71
73
74
76
80
80
82
82
83
84
138
139
139
143
91
92
145
148
149
97
153
153
153
154
155
155
155
80
80
81
83
32
85
85
34
35
35
40
41
41
42
96
96
97
100
49
102
103
105
53
55
107
107
55
107
110
110
59
59
60
60
112
60
60
61
62
63
63
63
61
61
113
61
113
113
113
114
62
62
62
62
114
114
60
60
60
60
112
112
112
58
58
59
59
60
60
112
59
111
111
111
59
59
60
60
61
114
114
115
116
120
69
119
120
121
122
121
69
69
119
119
67
66
64
61
113
112
60
59
58
57
58
58
111
59
60
112
113
120
123
128
131
133
139
143
147
160
158
145
158
171
226
255
255
124
35
42
0
65
68
50
49
147
255
120
117
210
229
226
225
75
80
91
161
203
183
204
167
80
73
87
52
0
34
51
21
148
194
171
172
62
0
38
35
0
0
26
113
230
178
146
135
134
132
131
129
127
178
173
170
113
110
108
155
99
96
87
83
82
78
74
72
71
65
64
63
60
58
54
103
95
41
39
38
36
85
85
33
84
31
30
84
83
85
85
33
32
86
86
85
85
85
85
33
33
33
33
33
33
85
84
32
32
35
34
85
87
87
89
38
42
94
43
44
44
45
45
46
47
47
99
100
100
100
102
51
51
52
105
54
55
58
110
112
113
115
120
120
69
71
73
126
76
80
80
82
82
83
84
138
139
87
143
143
92
93
148
149
149
153
153
153
102
155
155
155
28
80
81
83
84
85
85
87
87
36
39
40
41
41
44
96
45
48
49
102
103
104
104
107
107
107
56
56
58
110
111
111
60
60
60
112
60
61
113
62
62
115
61
61
61
61
61
113
113
113
113
113
113
113
113
113
59
59
59
59
59
59
59
58
58
59
111
112
112
112
111
111
111
111
59
59
112
112
113
114
114
115
116
118
118
119
120
121
121
121
121
67
67
66
66
64
63
59
111
110
110
109
57
56
57
57
58
58
59
112
113
123
126
130
132
131
136
139
94
89
153
154
122
163
118
98
5
41
54
36
0
59
76
69
133
109
55
187
229
255
255
255
211
21
26
13
70
139
185
166
191
147
93
61
83
102
26
30
6
122
164
172
184
116
0
4
38
35
2
38
0
204
141
136
135
134
132
131
181
127
178
173
171
165
110
160
156
152
148
88
84
134
78
75
124
71
65
64
64
61
57
55
103
95
39
38
90
86
85
86
85
84
83
31
32
84
86
85
85
85
86
86
86
86
86
34
34
34
34
34
34
85
33
33
32
32
35
86
86
87
88
89
38
42
94
95
44
44
45
45
47
47
47
100
100
100
101
103
51
104
104
105
107
107
110
110
112
61
115
120
120
69
71
73
74
76
80
80
82
82
83
136
138
87
87
143
143
92
93
96
149
149
153
153
101
102
155
155
155
28
80
81
83
84
85
85
88
36
36
39
40
40
40
44
44
45
48
49
50
103
103
103
107
55
56
57
57
110
110
111
111
60
60
112
112
112
112
112
113
113
113
113
61
61
61
61
61
61
112
112
112
112
112
112
112
58
58
110
58
58
58
58
58
58
59
111
60
60
112
111
111
111
111
111
59
60
112
113
114
62
115
116
65
118
118
119
119
120
120
67
67
66
64
63
62
62
108
108
108
108
108
108
108
57
57
58
59
60
113
114
127
78
80
79
129
130
81
92
93
98
118
197
91
90
75
50
91
52
25
42
45
51
26
184
226
134
0
0
27
118
164
83
99
128
91
82
79
175
197
115
119
97
23
51
26
0
0
0
14
48
179
221
214
19
0
2
0
56
38
0
0
181
148
139
189
134
185
181
127
178
122
120
114
111
161
157
152
97
88
84
135
79
76
125
122
66
115
62
59
57
54
53
95
92
92
37
36
34
86
86
85
84
31
33
32
86
86
86
85
87
87
87
87
35
35
35
35
35
35
86
86
34
33
33
33
36
87
87
88
89
90
39
94
94
95
96
96
97
45
48
48
48
48
49
101
50
51
52
52
53
54
107
108
110
110
60
61
63
120
120
121
123
125
74
76
80
80
134
82
135
136
86
87
87
143
143
144
93
96
149
149
101
101
101
102
155
155
155
28
80
81
83
84
85
85
88
88
89
39
39
40
40
44
44
45
48
49
50
103
103
103
106
108
108
109
109
110
58
111
59
60
112
112
112
112
112
112
112
112
112
113
61
61
61
61
61
61
60
112
112
112
112
112
112
58
58
110
58
58
110
110
58
58
59
111
60
60
112
111
111
111
111
111
59
60
60
61
114
62
63
64
116
116
117
118
118
67
66
67
117
64
63
62
60
110
105
105
105
105
53
105
105
107
55
56
57
59
112
114
129
78
79
78
77
77
82
91
88
173
182
142
55
63
80
87
46
30
0
50
75
26
102
255
198
102
62
31
64
92
99
80
92
91
67
76
9
28
174
196
108
50
20
49
15
0
0
0
0
26
0
161
221
169
0
0
0
61
36
41
0
0
158
196
193
189
186
131
127
126
122
120
115
111
162
157
153
97
89
137
135
79
76
126
122
64
115
113
60
57
107
104
96
92
39
39
35
34
35
86
85
85
32
33
33
87
87
86
86
87
87
87
36
36
36
36
36
36
35
87
35
34
34
33
33
36
36
35
89
89
90
91
94
42
95
96
96
97
97
48
48
48
49
49
102
102
52
52
53
54
54
108
108
110
110
112
61
63
68
68
121
123
125
74
76
132
132
134
134
135
84
86
87
139
143
143
144
93
96
97
97
101
101
101
102
103
155
155
78
78
27
29
30
83
83
89
89
89
92
93
93
93
42
43
44
49
101
48
101
103
51
107
107
108
109
109
111
111
59
59
59
59
111
112
60
112
60
112
112
112
112
60
60
60
60
60
60
60
112
112
112
112
60
60
110
58
57
57
108
108
56
57
58
111
111
112
113
113
111
111
111
111
59
59
61
113
61
114
114
63
115
117
117
66
67
66
66
67
117
116
63
60
58
57
108
104
104
104
53
53
105
106
105
106
55
56
56
110
115
129
82
131
126
80
137
87
100
99
114
124
99
52
19
132
39
58
2
0
51
29
114
240
246
177
36
14
35
75
120
61
15
19
81
74
73
66
3
104
147
91
31
6
41
11
0
39
26
0
40
28
98
202
126
16
0
54
0
0
39
0
0
180
161
137
137
180
194
115
137
120
119
115
111
161
158
103
96
87
135
135
132
131
77
121
119
117
113
59
57
54
103
95
39
90
88
86
33
35
86
85
85
32
33
33
88
88
87
87
88
88
36
35
87
36
36
37
37
37
89
88
87
87
34
33
89
89
37
39
39
91
39
95
43
96
97
97
98
98
48
48
49
49
49
101
102
104
52
53
54
54
108
108
59
59
60
61
63
119
119
70
72
73
126
128
131
131
133
133
82
83
139
140
88
143
143
144
93
96
97
97
102
102
154
154
102
154
102
77
26
26
29
30
30
83
37
89
89
92
92
92
93
93
42
96
48
48
48
101
51
51
107
107
108
109
109
111
111
111
59
59
59
59
60
60
112
112
112
112
60
60
60
112
112
60
60
60
60
60
60
112
112
60
60
57
57
57
56
56
56
108
109
57
110
111
112
112
113
111
111
111
111
111
111
113
113
61
113
114
62
114
114
63
63
64
65
65
116
115
113
112
111
58
56
54
50
50
51
51
51
104
104
53
54
107
55
56
57
63
74
75
130
133
82
139
98
103
121
141
103
84
3
37
0
79
0
41
36
55
248
255
255
185
76
17
67
126
47
99
78
53
57
60
74
111
34
27
81
113
74
74
2
0
0
0
43
43
34
37
53
83
40
62
26
0
37
0
0
0
0
26
0
47
144
148
135
190
170
124
120
171
167
111
161
158
155
149
87
83
134
132
130
77
121
117
115
61
58
55
54
102
94
38
89
88
86
32
87
87
34
33
32
34
33
88
88
87
87
88
36
36
36
88
36
37
37
37
38
37
89
88
87
34
34
89
89
89
91
91
91
91
95
43
44
97
97
98
98
48
48
48
49
49
102
102
104
104
105
54
54
108
108
111
59
112
113
63
67
119
121
72
73
126
127
78
131
132
133
82
83
138
139
88
91
91
144
145
96
97
97
154
154
154
154
154
154
154
25
25
78
80
29
82
82
36
36
36
39
91
92
92
41
94
95
47
47
99
100
51
51
107
55
108
109
109
111
111
111
111
111
59
111
60
112
112
112
112
60
60
59
59
111
111
59
59
59
59
59
59
111
111
111
59
57
56
56
56
107
107
107
108
57
109
110
111
60
60
59
59
111
111
111
111
112
112
60
61
113
113
62
114
62
62
114
61
61
113
58
58
110
108
107
55
106
47
47
47
48
48
101
49
50
103
104
105
53
54
60
71
119
126
136
89
107
109
83
115
50
109
95
0
0
17
0
69
38
26
255
255
255
255
82
5
15
39
0
32
98
81
31
71
73
60
28
71
17
101
196
121
65
0
0
0
45
41
0
3
71
50
34
67
0
0
62
51
47
0
0
0
50
0
0
0
208
190
187
194
114
172
171
115
111
109
158
155
150
88
83
82
131
129
76
119
65
62
60
58
55
52
103
94
90
90
88
87
33
36
35
35
34
33
34
34
36
36
35
35
88
36
88
88
37
37
37
38
90
38
38
89
89
88
35
86
89
89
89
91
91
91
39
43
43
44
97
97
98
98
99
99
48
49
49
50
51
104
104
105
106
106
108
108
111
111
60
61
115
67
67
69
123
124
125
74
77
130
132
132
81
134
86
86
139
143
143
144
145
96
97
97
102
102
102
102
154
154
154
24
25
77
80
81
81
82
35
36
36
39
91
91
91
40
41
43
47
47
47
99
103
51
55
55
108
109
109
111
111
59
59
59
59
59
60
60
112
112
112
112
60
58
110
110
110
110
110
58
58
58
58
58
110
110
58
56
56
56
55
55
107
106
108
108
109
110
111
111
60
59
59
59
111
111
111
111
112
60
60
113
113
61
114
62
62
60
60
60
60
109
109
56
55
107
106
54
47
99
47
48
48
49
49
49
103
104
104
52
54
60
119
117
127
84
91
107
87
66
55
67
75
0
1
0
0
0
46
30
164
224
222
255
193
29
16
0
24
0
60
7
32
0
0
19
50
54
66
39
0
94
114
98
2
0
0
68
11
0
0
40
44
59
6
0
41
49
38
52
0
0
0
48
0
0
0
220
195
180
188
120
120
171
167
111
109
158
155
150
88
84
82
131
129
127
119
65
62
60
56
107
104
51
41
91
89
88
35
85
88
36
35
34
33
35
34
88
88
35
87
36
36
36
37
37
89
90
90
90
91
90
90
89
88
35
35
89
89
89
91
91
91
39
43
43
44
45
45
46
46
98
99
99
100
50
51
52
52
104
105
106
106
108
56
111
59
60
61
63
67
67
68
71
72
73
74
129
130
131
132
133
134
137
138
139
143
143
144
145
96
97
97
154
154
102
154
154
154
154
76
24
25
27
28
29
81
35
87
35
38
91
91
91
40
93
42
47
47
46
99
103
51
55
107
108
109
109
59
59
59
59
59
59
59
60
60
60
60
112
112
112
58
110
110
110
110
110
58
58
58
58
110
110
110
58
56
56
55
55
54
106
106
107
108
109
109
110
111
59
59
59
59
111
59
59
111
111
59
112
112
113
61
113
113
59
59
59
111
59
56
55
54
54
106
106
103
100
100
48
49
49
49
50
49
50
103
104
52
54
59
111
116
79
86
94
79
72
66
39
38
85
21
0
0
0
3
174
222
255
240
198
255
185
45
0
37
0
29
63
65
63
9
26
13
64
49
31
0
8
23
80
135
79
13
0
0
0
0
0
41
47
47
0
26
35
47
49
27
49
54
36
0
1
0
13
26
69
181
179
132
120
171
167
163
161
106
155
151
89
84
82
78
128
126
67
64
62
112
108
107
52
49
41
91
90
37
35
86
89
36
87
87
34
87
87
88
88
35
35
36
36
36
37
37
90
38
91
91
91
39
90
89
89
36
35
89
89
89
91
91
91
39
43
43
44
45
45
46
46
97
98
99
100
50
51
53
52
104
105
106
106
56
56
111
111
60
61
63
67
67
68
70
71
124
74
129
129
131
131
132
81
137
138
138
143
91
92
145
96
97
97
102
102
102
154
154
154
102
21
21
22
25
26
27
28
30
31
34
36
37
88
88
94
94
95
98
48
49
101
51
105
107
55
58
59
111
57
57
57
57
57
57
57
58
58
58
58
110
110
110
108
108
108
56
56
56
56
56
56
108
108
108
108
56
53
53
52
52
51
51
51
51
104
104
105
54
55
55
56
56
57
109
57
58
58
58
110
111
111
59
60
113
113
60
58
58
57
107
53
53
103
103
101
101
101
91
98
57
65
61
101
29
31
47
65
80
82
75
52
118
111
97
123
152
78
32
13
108
121
46
60
0
3
224
223
224
209
210
232
223
144
66
13
59
62
0
8
14
2
72
56
50
60
40
65
24
53
17
0
34
32
12
47
10
0
12
4
0
0
59
66
11
51
44
49
54
52
47
45
45
52
57
0
0
12
0
10
125
169
119
170
160
165
152
92
101
140
84
80
77
75
126
126
68
64
62
112
109
105
105
50
44
92
90
89
36
36
84
83
85
84
83
82
83
80
82
82
30
30
82
30
32
32
87
87
88
88
89
37
90
38
37
88
35
39
39
39
90
90
91
91
94
43
43
44
46
47
48
102
102
103
104
54
55
56
107
107
108
108
108
109
109
113
113
114
115
65
67
67
119
119
120
69
71
73
125
132
132
81
84
87
87
90
91
92
96
96
96
97
151
98
99
100
101
152
151
150
72
73
73
25
26
26
79
30
31
84
37
37
88
88
94
95
96
98
99
49
50
51
105
107
55
58
59
59
57
57
57
57
109
57
109
58
58
58
58
110
58
110
108
108
56
56
56
56
56
56
56
108
108
108
56
56
53
53
52
52
103
51
51
51
51
52
53
54
54
55
108
56
108
109
57
109
58
58
110
110
111
59
59
112
60
60
109
57
57
54
104
52
102
103
103
101
101
93
46
50
106
103
98
91
100
62
73
81
132
122
45
129
156
102
111
91
187
129
0
46
89
48
74
36
255
255
255
224
213
206
178
188
214
121
65
51
4
0
24
22
0
73
79
71
23
55
92
80
112
0
35
24
0
24
63
6
0
0
0
0
57
47
38
12
69
62
58
62
67
64
55
45
44
44
0
0
0
43
0
0
156
135
110
115
108
156
103
95
89
83
80
77
75
74
73
68
116
114
59
109
105
104
49
44
92
90
89
88
36
84
84
85
84
83
31
31
81
83
83
83
83
31
31
32
34
87
87
88
90
89
89
38
38
89
88
37
39
39
39
38
38
92
92
44
44
44
97
99
48
49
51
104
105
106
55
56
109
107
108
108
108
109
109
109
113
113
114
115
64
66
118
118
119
120
69
70
72
125
131
132
80
84
86
87
89
90
92
147
95
95
149
150
150
151
152
153
152
151
98
20
20
73
74
25
26
26
27
82
84
35
37
89
89
41
42
94
99
100
49
50
51
103
107
107
56
57
57
57
109
57
57
57
109
109
58
58
58
110
110
110
110
108
108
108
108
56
56
56
56
108
108
108
108
56
56
53
105
104
104
103
51
51
50
51
51
52
53
54
106
107
107
108
108
56
109
109
57
57
110
58
58
59
109
108
108
108
105
105
53
50
51
103
102
102
103
103
102
45
38
86
87
95
119
132
84
84
129
121
114
104
171
67
52
6
69
0
43
129
60
63
46
26
255
255
255
255
252
222
216
151
155
8
34
88
10
24
79
76
83
55
54
70
47
55
55
50
59
72
22
0
26
41
21
125
140
0
25
0
0
0
8
65
5
0
0
54
71
75
58
0
41
43
44
0
0
0
0
0
46
34
32
139
98
121
114
134
153
90
82
77
74
72
71
71
117
115
112
110
108
104
102
47
44
41
92
90
88
36
33
84
86
85
84
83
32
32
85
85
84
84
31
31
34
34
87
87
90
90
39
39
39
38
91
91
91
41
41
41
43
43
95
95
99
99
49
101
102
51
104
106
107
107
108
57
57
58
108
56
57
109
109
110
110
113
113
114
114
63
64
65
118
66
67
68
69
71
124
129
78
79
80
84
137
86
88
90
144
92
94
147
149
149
150
151
152
151
150
149
17
17
70
74
74
23
25
27
80
30
35
36
88
88
94
94
95
98
47
50
102
102
51
105
53
56
109
57
57
109
109
109
109
109
109
110
58
110
110
110
58
110
108
108
108
108
56
56
108
108
108
108
108
108
108
56
53
105
104
104
103
51
51
49
50
51
52
52
53
105
104
105
53
53
54
106
106
54
55
107
55
56
56
53
105
105
104
104
104
103
49
49
50
51
52
52
105
114
53
41
35
91
52
80
136
127
116
108
110
124
150
255
165
132
47
31
22
0
0
16
31
185
255
255
255
255
243
187
250
230
171
207
60
35
59
26
43
75
105
56
59
38
15
83
55
61
62
73
53
85
0
29
99
18
0
38
0
0
0
0
54
66
70
54
46
51
16
73
83
80
72
67
59
48
13
0
5
0
0
66
0
0
0
125
103
158
173
141
92
82
76
74
70
68
120
116
113
111
107
105
50
49
95
94
41
40
90
87
86
86
33
34
33
85
84
33
34
35
86
85
32
32
32
34
88
89
89
90
90
91
39
40
40
92
92
92
46
46
46
47
99
102
102
102
103
51
52
55
56
57
108
108
108
108
57
57
57
57
109
57
110
110
111
111
113
113
114
62
62
63
63
117
65
66
67
69
71
123
75
76
128
131
81
82
136
85
139
142
91
90
92
93
93
93
146
147
146
145
145
17
17
18
19
74
75
75
78
28
30
35
36
36
88
92
92
93
46
47
48
102
102
102
105
105
54
55
55
57
109
109
109
109
109
109
58
58
110
110
110
58
58
108
108
108
108
108
108
108
108
108
56
56
56
56
56
105
105
104
104
103
51
51
101
50
51
51
52
105
105
104
104
53
53
54
106
106
106
106
55
55
56
56
53
53
105
104
104
103
102
100
101
50
50
51
52
105
117
109
100
95
101
61
79
126
112
99
45
57
85
187
172
219
145
131
38
57
21
1
0
119
222
253
241
255
245
255
206
198
185
153
110
95
71
58
0
52
53
7
0
68
0
74
86
61
86
89
60
70
73
19
19
101
16
100
158
0
9
56
35
42
64
82
21
6
5
18
79
31
10
55
55
54
47
38
47
0
0
55
0
0
0
0
70
143
174
140
158
93
82
128
123
69
120
118
115
61
59
107
105
50
47
94
94
41
40
89
87
86
34
85
86
86
85
84
85
34
35
35
86
85
84
32
36
88
89
89
90
40
39
40
40
40
40
94
94
47
47
99
102
102
51
51
103
103
104
55
56
56
57
56
108
108
108
108
109
57
57
57
109
110
110
111
111
113
113
114
62
62
62
63
65
65
66
67
121
123
123
75
127
128
129
81
82
82
85
86
140
142
142
91
93
92
93
146
146
146
145
144
67
15
16
19
20
21
75
78
78
30
33
34
87
88
39
91
92
43
46
47
99
100
102
104
105
106
55
55
59
59
110
58
109
109
57
58
110
110
110
110
110
110
107
107
107
107
107
55
55
107
55
55
55
55
55
55
103
103
103
103
103
51
103
103
104
104
104
53
53
105
103
51
52
52
53
105
105
53
52
52
52
51
51
49
101
101
49
101
101
101
102
104
53
54
53
53
56
122
119
117
65
68
127
74
43
116
84
40
67
108
154
109
95
129
21
20
0
0
60
188
224
206
255
235
253
255
198
180
228
187
63
50
0
7
58
0
0
7
8
0
35
32
53
47
67
77
75
64
100
74
49
0
80
116
61
0
145
54
45
38
39
41
48
10
0
12
27
21
38
32
13
2
2
53
66
54
0
0
26
0
0
39
0
18
87
172
163
158
98
134
123
121
67
63
117
115
58
56
106
101
98
45
40
39
90
88
87
87
85
88
35
36
86
85
84
85
33
35
34
86
85
85
85
89
37
38
90
39
39
41
41
44
96
97
98
99
52
104
103
103
51
51
103
102
105
105
54
57
58
59
57
109
109
109
109
109
109
58
58
110
111
111
112
112
113
113
61
62
62
63
63
64
64
65
117
118
120
68
69
123
127
128
77
80
82
82
82
137
138
139
140
142
142
142
89
89
140
140
140
15
15
16
17
18
21
21
23
78
27
30
34
87
87
89
89
90
43
44
45
99
100
100
104
104
105
54
54
58
58
58
110
110
110
58
58
110
110
110
110
110
110
107
107
107
107
107
55
55
56
108
108
108
56
56
56
104
104
104
52
52
52
104
104
104
105
105
53
54
54
50
50
51
51
52
104
103
103
103
102
50
50
101
98
98
98
98
46
100
100
102
52
54
55
57
57
61
69
125
128
132
134
135
74
71
49
124
154
87
43
244
181
127
99
183
81
19
163
222
211
222
229
210
255
238
156
172
222
231
129
89
37
46
0
0
5
0
0
0
0
87
58
52
8
89
93
5
39
51
18
21
116
38
103
125
25
34
113
131
42
40
37
42
61
0
13
18
64
30
65
72
68
13
18
0
58
0
8
44
27
40
39
0
0
1
26
109
123
148
79
78
75
66
59
118
112
58
105
103
99
97
42
40
37
36
36
85
33
85
87
34
35
35
86
85
86
85
87
87
87
87
87
87
91
38
38
38
39
40
98
98
99
99
102
102
103
103
103
103
103
51
51
102
103
104
106
106
55
55
56
55
55
107
107
56
56
108
108
57
57
109
110
110
110
112
112
113
113
61
114
114
63
115
116
117
118
119
67
119
121
71
72
126
76
78
79
79
80
80
84
85
85
138
85
85
85
84
136
84
65
13
16
17
18
21
21
23
23
26
30
31
86
87
37
37
38
43
44
45
97
100
100
104
52
53
54
54
58
58
110
110
110
110
110
110
110
110
110
110
110
110
107
107
107
107
55
55
55
56
108
108
108
108
108
108
104
104
52
52
52
52
104
104
53
53
105
54
54
54
102
50
51
51
104
104
103
103
102
102
102
49
49
96
96
96
46
46
98
100
102
52
54
57
58
111
63
62
121
129
135
135
133
78
133
158
168
117
76
65
251
221
117
92
67
52
182
218
222
228
210
202
213
246
221
188
153
156
191
103
43
50
2
0
40
44
32
0
0
0
26
15
25
29
22
24
17
59
77
46
29
68
137
137
0
23
14
35
34
105
52
33
53
37
35
22
98
85
39
11
75
19
8
6
40
61
70
105
99
0
0
0
0
0
0
21
85
127
100
78
74
126
120
112
62
60
109
105
51
98
97
94
91
37
36
86
85
85
33
87
86
35
35
34
33
86
85
35
87
87
87
87
87
92
92
39
40
41
93
99
100
100
102
102
51
51
104
52
51
51
103
50
104
103
105
105
105
106
56
56
53
53
106
54
55
55
108
56
56
56
56
57
57
110
112
112
60
61
113
114
114
115
115
116
116
117
119
67
67
69
70
123
123
75
77
128
130
130
79
83
135
136
136
136
84
84
83
83
134
13
13
14
17
18
19
21
22
75
76
29
30
32
84
37
37
38
41
42
45
45
98
100
102
102
105
54
54
57
57
110
110
111
111
111
110
58
110
110
58
58
58
57
109
109
109
109
109
57
57
109
57
57
57
109
109
105
105
53
53
53
53
105
105
53
54
54
54
55
55
102
102
51
103
104
104
50
102
102
101
101
49
48
95
95
95
43
45
97
99
101
51
56
58
59
63
68
62
67
72
73
123
122
148
93
52
201
145
83
40
26
67
187
158
40
137
253
255
202
255
255
255
255
239
158
180
223
175
41
0
45
0
0
0
51
47
53
56
0
0
0
0
0
68
36
103
60
81
90
20
47
59
72
121
91
42
4
16
135
91
104
59
42
68
59
31
0
8
68
64
12
16
19
14
86
68
38
31
0
4
37
10
0
0
0
0
0
22
80
85
69
113
114
112
112
59
107
104
102
98
94
93
39
37
86
34
33
31
31
86
85
35
35
35
34
35
33
35
36
36
37
37
37
97
96
44
44
45
98
101
49
51
102
102
50
50
51
51
51
50
50
52
103
104
52
103
103
53
53
53
51
51
52
53
54
55
55
54
54
55
55
55
56
56
111
59
60
60
112
113
113
114
114
115
116
117
118
118
66
67
69
123
122
72
76
76
128
130
78
80
132
133
134
134
134
134
81
80
80
18
18
19
72
73
74
74
77
77
77
27
28
30
83
38
39
92
43
98
46
49
100
102
105
55
56
57
57
55
55
56
108
109
109
109
58
58
58
110
110
109
57
57
110
111
111
112
112
112
58
110
109
57
56
108
108
106
106
105
53
52
104
104
105
53
106
106
55
55
55
102
102
102
102
102
50
49
101
101
49
49
49
49
93
95
97
45
47
98
99
102
54
57
62
118
120
124
66
85
87
106
84
66
131
139
83
57
150
102
47
35
59
26
79
218
255
255
255
255
254
196
209
173
252
206
188
159
36
11
0
135
26
53
49
28
46
48
42
49
54
51
39
40
96
66
138
46
4
36
6
68
89
12
27
57
72
29
25
0
0
37
105
198
26
0
0
46
67
45
95
12
36
22
45
22
0
12
64
48
55
27
22
11
0
0
0
0
0
60
94
99
124
56
58
61
53
49
46
96
94
94
94
39
36
33
31
30
28
80
35
35
35
87
88
36
38
40
43
43
44
44
44
45
47
48
48
100
101
51
53
54
106
105
104
53
52
53
53
104
103
51
50
101
101
101
100
99
47
46
45
48
48
49
50
104
53
55
55
107
106
54
54
54
54
59
59
59
59
59
59
59
58
59
60
113
115
117
117
68
69
122
123
74
75
76
73
125
126
127
129
77
78
78
78
130
77
76
76
128
18
18
71
72
73
74
74
77
77
77
78
28
82
83
38
38
39
42
98
98
49
100
50
105
105
108
57
109
107
107
56
56
57
57
57
58
58
58
58
57
57
57
110
111
111
111
112
112
112
110
110
109
57
57
108
56
54
54
53
53
53
104
104
53
105
106
106
55
55
55
102
102
102
102
50
50
49
49
101
49
49
49
49
94
95
96
45
47
46
47
50
54
57
63
66
122
124
86
83
122
105
56
131
210
166
58
16
17
101
89
0
0
93
200
226
255
255
255
250
255
190
196
224
208
213
247
167
139
68
0
0
0
26
44
53
78
56
49
57
9
0
28
32
75
63
2
0
73
95
34
66
50
34
42
48
55
31
88
13
0
80
46
70
98
0
0
32
51
54
88
57
100
49
62
17
5
0
0
47
44
0
0
5
5
0
36
0
4
30
103
113
111
73
66
89
103
48
46
96
42
42
41
39
88
33
31
30
28
80
87
35
35
87
88
88
38
41
43
43
44
45
45
97
100
100
101
101
101
52
53
55
106
105
104
53
53
53
53
104
104
103
102
49
49
101
100
99
99
46
45
47
48
49
102
103
105
54
55
107
107
107
107
106
54
58
58
58
58
58
58
58
58
58
59
60
114
116
116
68
68
121
70
73
74
74
124
73
73
126
128
128
129
77
77
128
128
127
127
127
18
18
19
72
73
74
74
76
24
76
78
27
81
30
36
37
38
42
95
98
47
48
102
105
105
108
109
109
108
108
57
57
57
58
58
57
57
58
58
58
58
59
112
112
113
113
61
61
113
111
110
110
58
109
109
57
55
54
54
54
105
105
53
105
105
106
106
55
55
55
102
102
102
102
50
50
50
50
102
50
102
50
102
95
95
43
46
46
100
100
56
57
114
117
69
122
71
89
138
136
129
133
157
151
131
255
213
49
37
0
36
195
227
255
255
255
244
239
227
255
255
255
195
165
134
206
77
28
31
0
11
0
0
0
37
44
51
62
13
6
97
54
62
74
57
92
97
54
24
8
79
95
83
75
120
80
11
54
51
91
125
101
188
92
162
3
0
52
32
79
22
32
3
0
2
0
17
11
0
41
0
0
50
13
13
59
53
48
0
27
113
69
71
68
57
102
46
44
94
39
39
39
89
86
85
33
30
29
81
35
35
87
87
88
88
38
41
44
44
46
47
47
99
102
102
102
53
53
53
56
108
107
109
108
56
55
54
106
53
104
103
103
50
49
101
100
99
99
46
97
99
47
100
101
102
103
52
106
106
107
107
107
108
108
109
109
57
57
57
57
57
56
57
57
58
59
113
113
63
63
64
65
66
67
119
120
68
68
69
122
122
122
69
69
121
121
120
120
119
18
18
19
72
73
74
74
23
23
23
77
27
29
30
84
33
87
92
95
97
47
48
100
104
105
106
107
107
109
57
57
58
110
110
59
58
58
59
60
61
61
114
115
115
114
114
62
61
113
112
111
111
58
110
110
58
55
55
55
54
106
54
54
105
105
54
54
55
55
55
103
103
103
103
103
103
52
52
104
52
52
104
104
99
47
46
49
49
104
105
61
63
67
121
123
124
72
89
110
118
154
153
147
255
247
248
255
164
38
77
239
226
227
255
255
200
255
250
255
251
246
230
132
119
88
57
42
41
34
0
0
0
0
3
42
42
56
70
6
57
67
68
98
105
129
67
93
60
76
56
13
50
107
86
84
11
11
26
34
156
255
108
146
213
124
82
0
0
61
57
0
0
66
48
2
6
0
13
31
69
37
3
0
0
12
68
6
0
49
3
70
100
91
75
66
100
95
41
40
37
37
37
87
86
85
85
86
85
85
35
35
35
87
88
88
90
42
45
46
48
49
102
102
102
104
53
105
106
56
55
55
109
109
109
109
110
107
106
54
53
104
51
51
101
101
100
99
99
46
45
47
99
47
48
100
101
49
104
104
105
53
106
107
108
110
110
110
110
110
58
110
108
56
57
57
58
59
59
61
61
62
62
63
115
116
117
117
117
117
65
65
65
117
65
65
116
116
115
115
70
18
71
72
21
22
22
23
23
23
25
78
28
81
84
85
86
92
42
45
99
98
100
52
52
106
107
107
57
57
58
58
110
111
59
59
59
61
62
62
115
115
116
115
115
63
62
114
114
112
111
59
59
58
110
58
56
55
107
107
106
106
54
105
53
54
106
55
55
55
103
103
51
51
103
103
52
52
104
52
52
104
52
50
102
49
49
103
105
109
115
66
68
70
123
126
125
158
73
68
132
173
240
38
208
253
182
220
134
26
225
255
255
255
249
209
205
242
255
253
249
174
97
0
50
72
37
86
79
5
15
0
0
53
41
0
8
25
9
55
85
72
72
95
95
57
19
5
45
44
80
73
79
50
12
13
5
30
155
218
255
210
192
97
130
52
43
35
39
40
55
85
90
42
5
10
42
57
33
82
4
0
0
10
7
3
7
13
46
0
0
3
66
98
139
99
44
93
39
37
89
37
87
34
33
35
86
85
35
35
87
35
35
88
88
90
42
45
98
48
102
103
103
104
52
52
105
55
55
54
56
108
109
110
58
58
107
107
54
53
52
52
51
101
101
100
99
47
46
45
46
47
47
47
99
48
100
103
103
103
52
53
55
107
110
110
110
110
110
110
58
109
109
109
57
58
58
110
59
59
111
112
112
113
113
114
114
114
62
61
61
61
114
62
62
113
112
112
112
20
72
72
73
22
22
22
23
23
24
77
78
79
79
80
81
33
37
41
43
97
101
49
52
54
54
107
108
58
58
58
110
110
58
58
59
60
64
117
117
117
116
63
63
62
62
113
113
113
114
114
61
61
112
60
60
57
109
108
108
107
107
55
55
55
55
107
55
55
55
52
104
53
105
106
106
105
105
105
54
54
54
54
53
105
106
109
110
114
114
119
75
74
122
129
123
133
147
135
62
138
76
40
93
33
33
103
196
78
10
218
219
255
255
231
242
223
190
100
69
26
0
0
58
10
0
21
53
81
30
76
66
9
0
3
23
0
15
0
19
42
45
84
21
39
87
123
51
90
16
71
69
59
69
0
63
127
205
203
218
184
214
252
126
95
0
0
0
50
62
79
70
62
46
15
5
47
32
36
0
0
0
0
1
8
17
28
39
26
36
0
0
27
26
72
96
107
101
44
93
90
86
36
35
36
36
89
36
37
87
86
87
87
37
38
93
97
99
100
49
102
102
102
104
105
56
56
56
55
57
109
110
110
110
58
58
108
108
109
109
56
54
53
103
103
102
101
99
46
45
48
48
48
47
47
46
98
98
47
48
49
51
53
106
111
111
111
111
111
112
60
111
111
111
111
60
60
112
57
57
57
58
111
112
112
112
112
60
60
60
60
60
57
57
57
57
110
110
110
72
72
72
73
22
74
74
75
23
24
77
78
79
79
80
81
30
36
38
41
94
99
49
52
52
55
107
107
58
110
110
110
59
59
59
60
113
116
65
65
117
116
115
115
115
114
114
114
113
114
114
114
113
113
113
60
57
57
109
108
108
108
55
107
107
107
107
107
55
55
53
53
105
106
106
106
106
107
107
55
56
56
57
57
110
111
114
115
118
119
124
76
76
129
137
136
79
101
104
115
140
177
89
38
62
63
120
67
0
178
220
198
124
255
236
101
43
0
46
57
40
29
36
0
24
31
54
0
0
7
66
50
74
75
57
2
28
50
0
0
58
60
51
78
35
30
26
49
106
32
54
70
73
122
205
214
204
255
198
210
187
218
174
177
26
39
0
18
50
54
53
31
53
91
99
75
63
52
43
42
0
0
0
0
52
54
7
14
0
54
14
0
3
107
125
104
61
57
104
102
98
94
39
36
89
88
89
38
89
88
87
87
87
38
39
42
98
100
100
102
50
102
102
106
107
56
57
58
58
59
59
59
59
113
113
113
58
58
111
111
110
56
55
52
52
103
102
101
99
46
49
49
100
100
48
99
47
46
46
47
48
49
103
103
107
107
56
57
110
60
61
112
112
112
113
61
62
62
110
110
58
109
109
109
109
110
58
58
58
57
109
57
55
55
55
55
55
107
107
72
20
20
73
22
74
74
75
75
76
77
26
27
79
78
79
30
33
37
40
41
98
46
52
104
53
108
108
58
110
111
59
59
59
60
113
114
117
65
65
116
116
116
115
63
63
114
114
114
63
62
114
114
113
113
113
58
57
109
109
108
108
108
107
107
107
107
107
55
55
55
107
108
108
108
109
109
110
58
59
60
60
61
62
62
63
64
67
121
122
127
81
80
80
132
132
79
107
116
160
160
122
96
3
115
129
53
48
12
205
163
225
227
115
38
38
52
37
0
10
0
0
28
0
0
0
0
41
57
41
87
90
77
120
81
0
32
12
36
58
0
0
47
62
18
29
29
39
66
76
60
68
155
210
218
222
190
183
220
213
212
209
231
84
28
0
0
0
0
3
8
47
81
71
24
12
43
36
39
45
0
0
0
1
3
7
15
23
5
0
33
31
0
7
47
89
65
66
113
105
100
95
41
90
89
38
38
38
90
88
35
36
36
38
39
94
98
100
101
102
102
103
103
106
56
59
59
111
110
112
112
62
62
62
114
114
59
60
60
112
111
110
56
54
53
52
103
50
49
47
50
101
101
49
100
100
48
47
47
47
100
49
50
50
53
54
55
56
57
60
60
111
112
112
113
113
63
63
111
111
111
110
109
108
108
58
110
110
57
57
57
56
107
107
107
107
54
54
54
20
20
20
21
74
74
74
75
75
76
25
26
27
27
77
78
27
31
35
36
90
96
98
101
105
54
54
55
58
110
111
60
61
61
113
115
116
118
66
65
64
116
117
64
64
63
115
115
63
64
63
63
62
114
114
114
110
58
110
109
57
109
109
107
107
107
107
107
55
55
56
56
108
109
109
109
59
112
113
114
63
64
65
118
121
122
71
73
126
129
79
83
143
140
82
89
96
106
115
229
240
225
142
55
81
0
0
0
19
229
216
0
0
44
43
48
52
27
52
0
30
0
0
0
35
70
34
36
17
46
42
61
44
96
45
120
20
41
50
0
38
42
0
5
9
16
19
0
70
85
89
50
204
225
225
193
225
255
249
255
255
210
255
198
0
0
0
0
0
0
46
43
55
3
7
79
61
54
59
59
5
0
0
0
3
14
22
27
64
53
0
0
0
28
32
35
90
55
111
108
105
48
43
91
38
39
38
39
90
37
36
36
36
39
92
95
99
101
101
103
51
51
104
109
58
60
60
112
112
113
63
63
63
63
117
117
60
61
61
61
60
59
57
56
55
55
105
52
51
102
103
103
51
50
50
50
101
101
101
101
101
49
48
48
51
52
105
54
55
57
57
108
108
109
110
111
61
61
58
110
110
109
109
109
109
110
58
109
109
107
55
55
53
105
105
104
51
50
50
72
20
20
21
22
22
22
75
75
76
25
26
79
27
25
78
78
82
31
34
89
95
97
101
103
106
107
108
110
110
60
61
61
114
115
116
117
66
66
65
116
116
117
65
64
64
115
115
63
64
64
63
63
62
62
62
111
111
110
58
57
109
109
55
107
107
107
107
107
107
56
56
57
57
110
110
61
61
114
115
65
66
119
123
124
124
126
76
129
132
87
83
138
140
139
94
112
92
132
106
158
199
106
30
30
27
0
15
44
130
0
0
0
4
34
31
30
29
37
43
26
29
35
45
26
53
49
38
0
0
31
47
37
43
54
47
171
153
69
33
31
39
2
0
0
13
0
67
40
5
16
44
164
255
212
222
210
255
255
255
255
255
217
186
137
0
0
0
4
69
65
44
43
0
0
0
64
72
52
44
11
13
63
52
5
13
12
6
44
60
2
0
0
31
40
0
0
11
41
63
67
60
97
91
38
38
91
90
91
90
89
37
37
92
93
95
99
101
102
51
52
104
104
58
59
60
60
113
112
114
64
64
64
66
118
118
112
61
61
61
60
59
57
57
57
56
55
53
104
103
104
104
52
51
51
102
102
104
103
103
102
49
48
48
52
104
105
53
53
53
53
104
104
105
107
108
58
59
54
106
106
107
108
109
109
109
57
108
107
106
53
104
51
102
49
49
47
46
46
16
68
17
20
21
22
22
23
75
75
24
25
25
25
24
76
76
77
28
28
28
36
89
91
95
44
46
98
106
106
107
58
58
59
111
118
117
66
65
64
116
116
65
65
64
64
115
115
63
63
63
62
62
62
61
113
110
110
107
107
106
106
54
51
103
103
103
102
102
102
52
53
56
56
108
110
64
64
119
120
70
71
72
117
73
138
139
130
69
124
161
141
146
109
72
114
173
255
164
183
147
104
109
70
64
0
25
0
19
63
0
0
55
5
0
0
35
28
26
41
26
55
58
0
43
40
0
0
0
0
0
52
6
1
60
53
36
146
170
91
83
55
31
68
0
55
63
36
70
0
60
60
155
255
217
203
255
255
255
255
255
186
207
201
173
0
6
0
0
0
73
53
40
9
22
0
50
98
11
24
42
36
70
67
59
54
59
65
51
56
56
40
36
43
39
0
25
46
114
121
65
109
58
49
90
86
86
88
86
92
41
42
96
97
99
99
104
53
53
53
105
105
54
60
60
62
114
114
62
116
116
66
65
65
116
116
118
118
117
116
116
115
114
61
61
60
59
57
108
106
106
106
54
53
53
104
104
106
106
106
106
54
54
53
52
104
104
105
105
51
51
99
100
100
101
49
51
51
53
105
105
105
53
105
105
106
54
106
106
106
54
54
50
102
49
48
47
46
46
68
69
70
20
21
22
23
23
75
75
76
25
25
25
24
25
77
78
80
80
28
33
88
90
92
96
45
45
51
104
106
108
109
112
113
64
66
65
65
117
65
65
64
64
63
115
114
114
114
63
63
62
62
61
113
113
107
107
107
106
106
106
106
51
51
51
51
51
51
51
53
55
56
56
109
112
65
67
120
121
122
125
73
67
76
86
88
131
124
74
155
151
79
72
126
122
196
84
255
255
156
143
92
0
35
0
41
59
71
10
3
0
54
57
0
0
0
0
34
61
89
81
0
3
0
44
64
27
20
9
0
0
0
0
0
0
0
0
0
129
177
31
35
44
10
70
0
65
58
0
80
33
200
210
240
255
255
226
229
255
255
214
208
217
96
0
32
11
47
41
66
53
42
0
0
15
0
2
37
72
56
6
0
69
61
49
49
49
55
65
6
0
37
50
5
7
0
0
40
55
76
88
53
56
101
40
37
90
91
39
40
91
93
95
45
47
103
53
106
106
109
109
109
60
60
114
114
114
114
116
116
118
117
117
116
116
118
118
117
116
116
115
114
113
113
60
59
58
109
108
107
107
106
54
54
53
53
107
107
107
55
55
55
55
105
105
105
105
105
103
103
101
100
100
101
49
50
50
51
103
103
103
103
103
103
103
51
51
51
103
51
51
50
50
49
48
47
46
46
17
70
70
73
22
23
23
23
75
75
76
77
25
25
24
24
25
78
79
79
29
31
84
89
90
92
93
94
46
47
102
104
108
109
58
62
62
63
65
65
65
65
64
64
115
115
114
114
62
63
114
114
113
113
113
113
55
54
106
106
105
105
105
102
50
51
51
52
52
52
106
58
60
60
113
117
68
69
123
124
73
74
77
124
132
88
88
134
77
80
100
155
93
74
101
142
114
144
122
202
255
234
177
94
46
30
55
59
51
31
49
34
41
45
38
0
0
0
108
113
65
29
32
29
127
193
126
58
0
0
0
47
56
62
18
14
37
38
41
35
59
91
88
0
66
0
41
85
48
27
0
8
90
242
192
208
226
225
224
255
201
216
159
219
53
0
7
5
50
64
68
59
59
59
12
35
9
23
32
27
2
15
6
2
0
0
41
44
0
36
38
26
6
46
0
0
39
0
0
36
0
0
40
58
113
55
49
101
104
41
92
39
39
41
44
99
50
52
55
110
111
111
62
61
113
115
115
115
115
116
116
118
117
117
116
116
118
118
117
116
116
115
114
113
113
60
60
59
110
109
108
108
56
56
55
55
54
108
109
109
57
58
59
59
58
110
58
55
55
54
103
103
103
101
101
50
50
50
49
49
101
101
101
101
101
52
52
52
52
52
52
104
102
102
101
100
47
46
46
69
70
71
73
22
23
24
23
75
75
76
77
77
77
25
25
25
79
79
27
28
31
31
36
90
91
92
93
97
45
49
50
52
53
55
59
59
114
114
114
114
63
62
62
113
113
112
112
112
112
111
111
111
110
110
58
52
52
104
103
51
103
102
103
52
53
53
54
55
107
109
112
61
64
117
119
70
71
123
127
76
77
130
128
81
87
140
85
82
83
89
99
145
139
119
125
77
52
81
185
248
246
172
0
0
9
81
78
46
26
62
42
46
45
0
0
0
0
37
103
36
48
49
194
225
192
153
108
30
64
50
55
50
47
0
0
40
41
43
59
26
104
150
44
42
0
45
61
53
103
73
55
114
236
172
200
217
227
227
218
220
183
217
149
44
0
0
0
46
54
39
34
57
69
0
34
19
11
3
14
25
16
9
9
2
0
0
0
67
76
19
22
14
49
0
1
0
0
0
44
0
3
0
41
63
71
65
60
112
96
42
40
40
42
46
99
103
105
56
109
112
63
63
62
62
64
116
116
116
116
116
66
65
117
116
64
66
66
117
116
116
115
114
113
113
112
60
59
59
110
109
109
57
108
108
108
107
57
57
110
110
59
60
61
60
60
59
59
56
55
107
104
104
104
102
50
50
50
50
102
102
102
50
50
50
52
52
52
52
52
52
104
102
102
101
100
99
46
46
18
70
71
74
23
24
24
23
75
75
24
25
25
77
75
23
25
26
79
28
28
28
28
33
87
88
39
92
95
95
44
46
47
47
49
55
107
110
110
111
111
112
60
60
111
111
110
110
110
108
108
107
107
107
54
54
51
51
102
103
50
50
50
103
52
52
56
56
109
109
113
64
66
119
121
71
73
73
74
129
131
80
133
135
136
138
139
89
141
141
144
157
160
127
129
252
89
66
145
205
114
73
12
1
0
50
29
71
48
0
42
54
0
46
0
0
30
35
120
39
40
38
83
122
137
133
148
129
77
47
54
43
46
44
37
35
34
39
52
39
39
29
108
74
0
0
0
0
159
229
185
169
176
167
190
187
224
227
217
224
222
213
192
183
71
56
23
78
56
57
53
60
19
1
22
33
66
100
37
16
8
3
47
2
5
9
8
0
0
53
41
0
0
0
39
0
0
0
2
6
8
4
0
73
44
106
104
50
101
104
49
47
45
46
48
102
101
104
54
110
113
64
117
62
62
64
116
116
116
116
64
66
65
65
116
64
66
66
65
64
64
63
114
113
61
112
112
60
60
59
58
58
110
109
109
108
56
58
58
111
112
61
62
63
64
64
114
113
112
109
108
108
108
106
106
106
104
103
106
106
106
106
106
106
54
53
53
53
105
53
53
105
102
102
101
100
99
98
98
69
69
70
73
22
23
23
25
25
77
26
27
27
79
76
76
76
25
80
80
80
29
29
31
33
34
35
35
92
92
93
42
45
98
46
47
99
100
50
103
104
104
54
54
106
106
54
54
54
53
52
52
52
51
51
51
48
48
49
49
48
49
49
51
54
55
56
59
112
112
66
69
122
124
74
75
129
130
133
134
135
136
137
139
138
87
142
146
150
148
150
148
178
179
139
164
162
144
66
24
13
67
160
35
0
89
5
64
40
0
39
36
37
39
0
0
40
53
103
64
33
50
106
88
139
96
90
85
61
55
45
70
49
44
40
39
40
39
38
0
0
0
44
87
1
4
10
0
154
236
227
238
156
160
165
208
220
255
224
224
236
187
217
26
14
6
45
48
60
47
46
52
101
96
74
69
72
58
55
62
62
63
54
11
3
0
0
0
0
3
6
13
6
44
43
36
0
2
1
0
0
0
0
0
0
42
58
80
43
118
111
55
57
53
99
102
103
106
108
111
114
64
116
65
65
67
67
118
117
117
117
67
66
66
65
65
117
117
64
64
63
62
113
61
61
61
60
60
60
59
109
109
109
110
110
110
59
60
112
112
61
113
62
62
64
64
64
115
114
111
111
107
55
55
107
105
105
105
105
105
54
54
55
107
108
106
54
54
54
54
54
106
103
102
102
101
99
47
98
69
69
70
73
22
23
75
25
25
25
26
27
27
79
76
76
76
77
78
80
28
28
29
83
83
86
35
35
89
90
93
94
95
95
98
43
43
46
47
48
100
101
103
103
103
103
51
51
51
52
51
51
102
102
102
50
48
47
47
49
49
49
101
103
106
56
59
112
113
114
69
70
123
125
128
130
81
134
134
135
136
137
85
90
139
85
141
147
153
152
136
125
146
179
214
222
236
210
95
66
86
165
69
51
28
24
61
60
5
0
0
56
45
39
37
33
0
71
123
64
35
42
115
81
125
80
70
67
55
52
36
52
51
47
43
40
41
42
42
0
0
0
48
101
4
0
61
0
186
250
227
223
173
163
142
189
255
255
255
255
222
204
167
140
0
1
0
38
35
104
79
0
25
7
37
73
70
60
51
51
53
53
8
66
63
48
0
0
0
3
3
2
0
0
0
0
0
12
14
0
46
1
14
0
0
12
35
101
50
124
127
67
62
109
105
103
106
107
108
111
60
62
117
117
65
68
67
66
117
117
117
67
66
118
65
65
118
117
117
64
63
62
62
61
61
61
61
60
112
111
110
58
58
111
111
111
60
112
112
112
113
113
62
62
65
64
64
115
114
112
112
58
56
56
56
56
54
106
107
107
55
55
108
108
108
56
108
56
56
56
108
108
50
50
101
100
47
46
98
69
69
70
73
22
23
23
25
25
25
26
27
27
27
74
74
74
77
78
78
78
80
28
31
31
32
33
33
35
87
90
39
92
93
95
95
43
46
46
46
46
49
47
99
99
99
47
47
47
49
48
48
100
99
99
47
45
45
47
47
101
101
102
107
108
112
61
116
117
118
126
75
76
129
132
133
85
137
137
137
139
140
88
95
88
83
88
152
161
162
104
105
165
255
245
199
209
254
173
140
255
154
35
101
54
45
68
15
5
0
0
26
40
42
31
30
49
42
101
58
44
1
75
72
58
60
93
63
52
50
0
0
46
45
46
46
44
44
0
0
0
0
90
84
0
2
31
2
248
244
221
205
231
214
132
155
255
255
255
255
199
210
214
154
0
0
11
73
10
5
4
0
9
11
19
57
67
75
66
60
64
12
14
40
51
46
38
0
0
0
43
41
41
44
48
0
46
42
43
49
0
0
0
0
0
0
0
6
13
24
95
105
61
70
121
112
109
109
109
111
113
61
63
66
66
69
68
67
118
117
117
119
118
118
65
65
118
118
65
65
116
115
114
62
62
62
113
113
113
112
60
60
60
60
60
60
112
112
112
112
113
113
62
62
67
67
67
67
64
116
116
113
113
60
58
57
108
56
107
107
55
55
107
107
107
57
109
109
57
57
57
57
50
102
102
49
47
47
46
17
69
70
73
22
23
75
25
25
25
26
27
27
27
74
74
74
75
78
78
78
28
28
30
31
32
85
85
34
86
88
37
39
40
92
94
96
96
46
46
46
46
44
44
96
96
96
96
44
46
98
45
45
45
96
96
42
44
45
47
102
102
51
108
110
62
65
119
122
123
131
80
80
81
82
83
84
138
87
88
89
142
93
99
92
85
140
155
168
170
168
124
104
102
142
236
138
165
43
119
220
239
117
43
123
180
10
62
15
11
0
1
0
0
0
0
0
58
85
87
0
14
51
84
65
87
80
31
3
0
6
0
0
48
51
50
0
0
0
12
0
72
79
71
4
26
17
48
219
255
228
231
231
180
217
178
255
255
255
252
219
211
208
19
0
4
8
50
11
1
23
28
2
0
62
62
2
9
60
60
70
60
58
64
57
53
49
0
41
0
43
40
0
41
38
0
58
48
41
46
53
5
0
0
0
0
0
51
0
30
61
101
73
80
127
114
60
111
59
112
112
114
62
66
67
69
121
120
119
117
117
119
66
66
117
65
67
67
66
117
116
116
115
63
63
62
62
62
61
113
113
113
112
60
59
111
110
112
60
60
61
113
62
62
120
68
68
120
68
118
118
115
115
114
113
110
57
57
112
111
111
59
58
57
109
58
58
58
110
110
58
58
52
104
51
51
101
100
100
69
69
70
73
22
75
75
25
25
25
26
27
27
27
22
22
74
75
78
26
26
26
80
82
83
84
85
33
34
86
88
88
37
40
40
93
95
95
95
96
96
44
44
44
44
96
96
96
96
98
46
45
45
44
44
96
94
96
45
99
100
102
103
108
60
62
117
119
123
124
80
80
81
81
82
84
135
86
87
88
90
93
94
100
93
86
141
156
117
119
118
116
144
142
119
191
242
180
61
177
242
208
83
32
138
176
56
69
50
66
2
0
0
0
0
0
0
5
56
58
0
0
19
82
67
72
21
4
13
0
77
0
0
1
0
0
0
3
7
0
41
84
81
17
46
2
68
73
255
252
183
219
228
166
226
170
255
255
255
248
255
218
204
43
27
0
0
10
10
1
16
27
11
11
4
15
8
9
55
48
53
81
65
50
33
44
13
13
7
0
46
38
0
2
7
0
53
53
42
0
0
58
44
31
0
0
0
41
0
0
52
99
150
134
126
69
112
111
111
111
112
62
62
118
119
69
69
120
119
117
117
67
66
66
117
117
67
67
118
117
117
116
115
115
63
63
62
62
113
113
113
112
112
112
111
110
110
112
112
60
113
113
62
62
68
68
68
68
68
66
66
117
115
114
114
59
109
109
60
60
60
59
58
58
57
57
57
57
57
57
109
57
53
53
52
51
50
49
49
68
68
17
71
71
72
72
74
22
23
76
77
26
26
27
27
79
80
29
29
29
30
82
83
83
84
32
32
34
86
36
36
37
38
38
91
91
92
92
92
93
41
46
46
46
46
46
98
98
98
46
46
46
46
46
98
97
98
98
100
49
49
102
107
58
113
66
121
123
125
85
85
139
88
140
140
142
91
146
148
97
151
152
142
159
127
126
152
119
164
105
183
227
228
143
153
88
111
31
104
74
0
0
11
112
84
27
61
39
68
43
53
49
0
0
0
0
0
10
133
90
9
12
72
79
47
0
0
3
0
3
0
0
49
0
0
0
0
53
40
23
80
78
66
5
78
29
100
255
241
234
210
236
111
129
251
255
229
255
255
183
193
201
0
0
4
18
7
48
20
6
0
57
4
2
0
12
7
46
48
60
51
73
86
70
66
12
1
0
38
42
0
2
53
38
30
54
67
60
0
45
42
51
35
0
0
0
0
0
0
0
46
63
100
112
114
113
111
59
66
67
65
69
66
119
69
68
66
65
118
118
68
67
67
67
66
117
117
116
115
115
114
115
115
65
65
64
116
116
116
120
120
120
117
117
116
64
65
115
62
114
115
117
66
65
66
67
68
68
67
67
119
119
119
118
118
117
117
60
59
59
59
110
58
58
109
109
109
109
109
57
57
54
106
106
105
53
52
104
69
69
70
71
72
73
73
74
74
23
24
77
78
26
27
27
27
28
29
81
81
82
82
83
83
84
32
32
86
86
36
36
37
38
38
90
90
91
91
92
92
92
95
43
43
43
43
95
95
44
44
44
44
44
44
44
45
98
98
101
50
51
104
109
114
117
120
73
75
77
88
140
141
142
144
145
149
97
98
151
155
156
157
137
168
149
151
164
172
168
201
241
225
232
205
150
115
201
167
174
155
30
23
37
229
229
174
44
29
76
47
4
46
47
5
3
0
10
0
85
127
69
0
81
46
0
0
0
0
0
0
52
62
53
0
0
0
0
43
92
81
83
90
70
21
53
85
212
243
220
234
152
162
48
133
219
255
250
255
255
255
241
252
113
6
0
73
54
62
0
4
57
64
83
57
71
5
0
60
11
59
65
56
48
48
43
43
49
12
0
39
0
47
48
35
42
54
58
47
43
0
0
58
6
0
0
0
0
37
39
50
0
41
9
31
113
130
125
121
67
62
111
113
66
66
68
68
67
117
119
119
120
120
68
67
67
65
65
64
115
115
114
115
115
65
65
116
116
116
116
116
116
116
115
115
62
62
64
114
62
61
114
116
117
68
69
70
123
124
72
123
124
124
124
124
123
122
122
68
68
67
66
117
117
64
114
114
114
62
113
113
113
111
111
111
110
57
57
57
69
69
18
72
72
73
73
74
74
23
24
77
78
78
27
27
27
28
81
81
81
82
30
31
31
32
84
84
86
86
36
36
89
38
38
90
90
91
91
91
92
92
43
43
43
43
43
95
95
44
44
44
96
44
44
44
97
98
47
102
103
104
105
111
63
68
71
74
77
79
141
141
144
145
146
147
99
100
102
155
157
158
106
182
170
162
164
170
119
116
168
160
227
167
255
167
239
229
255
254
222
113
71
119
229
255
206
113
125
55
56
57
46
43
0
0
0
1
44
29
99
84
51
49
30
56
8
1
0
0
36
43
49
0
0
0
0
60
82
99
80
40
69
64
82
45
88
238
255
206
181
170
146
44
216
255
255
255
207
243
211
34
140
90
62
59
56
40
61
58
67
60
55
17
63
82
68
54
57
58
53
41
44
7
11
0
0
8
7
0
0
38
50
57
50
36
60
68
60
55
7
12
0
8
3
0
46
0
30
38
48
0
0
0
5
37
117
120
116
116
115
112
63
65
66
68
68
67
118
119
119
121
120
120
68
67
65
65
64
115
63
114
115
63
65
65
116
116
116
116
63
115
115
62
114
113
113
63
62
62
62
115
118
119
123
72
73
127
128
128
75
76
76
128
76
75
75
126
124
123
71
122
120
119
119
117
117
65
64
63
63
63
111
111
59
59
58
58
109
70
70
71
20
21
22
22
74
74
23
24
77
78
78
79
79
79
80
29
29
29
82
30
31
31
32
32
84
86
86
36
36
89
38
38
89
89
90
38
39
39
91
92
40
40
40
92
92
92
42
42
42
42
42
42
42
95
98
99
103
104
106
108
63
119
71
74
79
82
135
144
147
148
149
151
151
105
106
107
160
161
161
110
166
172
127
181
175
165
118
144
168
188
203
216
148
255
181
101
47
89
183
112
112
255
255
237
144
125
59
75
72
67
53
0
46
29
39
60
30
45
82
105
36
13
46
0
0
0
0
51
50
50
57
6
0
74
95
87
78
30
15
13
59
61
116
217
172
182
166
207
161
81
120
245
244
255
255
173
217
178
197
238
50
85
52
44
54
63
45
40
49
59
15
64
61
64
59
53
52
56
43
55
0
0
0
0
14
61
0
43
38
0
32
30
47
84
92
21
0
37
31
45
43
0
50
45
0
31
40
0
0
0
40
30
5
131
86
79
73
116
109
54
64
65
68
68
120
119
120
120
121
121
121
68
68
117
117
64
63
63
114
115
63
65
65
116
116
116
64
59
59
59
60
112
111
59
59
59
114
116
66
72
125
131
132
82
84
137
138
138
87
87
87
87
86
85
137
134
134
81
132
129
128
128
128
127
75
74
72
72
71
67
66
66
66
65
65
64
19
71
72
73
22
23
23
75
75
76
77
78
79
79
79
79
79
80
29
29
29
82
30
31
31
32
32
32
86
34
87
87
88
36
36
88
36
37
37
38
38
90
40
40
40
40
40
92
92
93
93
93
41
41
93
41
44
44
99
103
105
108
59
119
124
77
81
82
138
140
150
151
153
155
156
158
110
112
112
113
165
167
116
148
116
128
179
171
109
119
208
248
163
202
157
118
162
129
101
41
21
74
14
7
255
255
255
187
103
99
60
65
55
78
51
0
0
0
53
30
41
42
66
6
0
4
36
0
0
0
31
35
44
0
26
77
113
67
80
41
22
15
65
56
156
249
242
195
199
208
177
201
236
255
244
217
233
255
255
193
201
47
0
0
83
62
62
51
52
60
12
10
8
59
62
56
60
46
2
66
55
55
45
5
14
12
0
0
45
57
56
35
0
52
52
56
56
51
45
50
11
24
0
1
5
53
49
0
36
48
49
46
40
37
41
0
92
126
81
72
68
69
62
63
63
66
118
119
119
120
120
122
122
69
67
66
64
116
116
63
63
114
116
64
66
66
117
117
65
65
59
59
58
109
109
60
61
64
65
119
124
75
133
134
146
95
95
96
149
150
151
152
99
99
151
150
98
98
146
146
145
143
141
140
87
89
140
87
138
136
135
135
76
128
75
74
124
71
123
19
71
72
73
22
23
75
23
23
76
77
78
79
79
79
79
79
80
29
29
29
30
30
31
31
32
32
32
34
34
35
87
88
88
88
88
88
37
37
38
90
90
90
90
90
38
38
38
90
91
91
91
91
91
91
91
44
44
47
103
106
110
114
122
128
81
85
139
89
143
153
102
156
157
161
162
116
116
116
116
171
119
120
153
125
124
175
155
106
201
255
169
121
163
86
115
238
229
149
96
51
192
161
128
230
255
255
200
54
70
71
45
62
67
88
60
43
0
0
0
47
49
30
26
0
6
31
48
0
0
5
33
64
74
110
72
81
82
6
22
11
17
44
146
252
251
246
212
182
192
147
225
245
255
255
203
178
183
163
124
80
26
11
1
0
0
40
36
42
4
6
57
58
58
72
62
63
57
10
60
44
45
0
0
0
51
42
45
56
69
66
0
0
48
45
0
1
17
30
78
0
0
5
0
0
48
50
40
26
39
39
39
41
0
0
0
38
70
113
78
73
68
66
62
63
65
65
118
118
120
68
70
122
122
120
119
116
116
116
64
115
63
65
116
66
66
66
65
66
65
61
61
60
62
63
66
121
124
128
78
83
86
145
147
155
156
156
105
106
107
107
160
160
159
159
159
106
106
156
103
102
153
151
150
98
95
147
94
93
143
142
141
136
136
135
81
79
78
78
19
71
72
21
22
23
75
23
23
76
77
78
79
79
27
79
79
80
29
29
29
30
82
83
31
32
32
84
34
34
35
35
36
88
88
88
88
89
89
38
90
90
90
90
90
90
38
38
90
91
39
39
91
39
91
91
93
96
47
51
106
111
114
126
80
85
87
89
93
146
155
104
107
109
163
112
117
117
172
172
120
121
121
95
117
114
170
157
125
232
218
217
206
235
107
212
255
255
255
157
74
191
229
68
223
223
255
229
147
45
54
69
0
61
0
0
0
12
1
11
0
47
0
33
15
13
11
24
67
41
128
120
116
144
121
36
71
47
59
55
90
49
75
212
226
214
230
166
187
127
188
238
206
255
198
179
189
252
120
69
94
103
0
0
0
0
0
0
58
16
12
59
57
55
67
61
64
8
6
53
0
0
0
19
20
7
52
80
63
12
4
0
37
48
51
0
0
3
57
55
0
0
55
36
0
49
55
50
39
37
39
43
48
0
0
0
0
0
31
52
68
128
74
62
62
116
117
117
117
119
68
70
70
70
69
119
117
117
116
116
116
115
65
65
119
66
66
66
66
118
115
114
62
63
118
120
74
78
133
85
88
145
150
151
159
160
160
109
110
111
111
112
163
163
111
110
162
162
108
107
107
106
104
155
155
152
100
99
98
96
95
146
138
138
137
135
132
79
131
19
19
20
21
22
23
75
23
23
24
77
78
79
27
27
79
79
28
29
29
29
30
30
31
83
84
84
32
34
34
35
35
36
36
88
88
88
89
89
38
38
38
38
90
90
90
90
90
90
91
39
39
39
39
91
91
92
95
97
49
107
112
115
77
83
89
144
146
98
152
160
109
111
114
168
169
122
122
175
176
125
125
125
170
175
123
162
169
161
184
202
216
172
152
196
214
174
211
138
108
65
102
36
40
225
224
255
211
224
186
72
26
77
110
36
22
0
0
0
17
9
66
26
0
0
0
25
7
30
35
53
66
52
60
19
21
58
59
61
26
138
254
255
235
234
175
198
178
186
202
255
255
187
186
216
204
113
0
125
255
163
62
0
63
52
57
0
0
0
6
58
63
62
60
54
54
56
2
0
0
0
0
40
3
6
54
0
10
45
5
2
0
40
42
0
0
0
0
48
51
49
0
18
6
2
0
0
0
44
30
0
0
0
0
46
0
3
7
1
8
95
121
120
112
112
115
115
115
116
65
65
68
69
69
120
119
118
65
65
117
116
116
66
66
67
67
67
66
67
119
118
118
119
122
124
129
86
89
144
147
149
154
108
109
165
165
114
114
115
116
117
116
168
116
115
115
166
166
111
111
111
110
161
161
161
109
108
107
158
104
103
155
144
143
142
140
136
83
134
19
19
20
21
22
23
75
75
23
24
77
78
27
27
27
27
79
80
29
29
81
30
30
31
83
84
32
32
34
86
35
35
88
36
36
88
88
89
89
90
38
38
37
37
37
89
89
89
89
90
38
38
90
90
38
38
92
95
97
49
107
112
64
79
87
143
146
150
100
155
164
165
114
168
170
173
176
125
126
126
126
127
129
197
177
136
99
124
175
148
229
176
152
195
216
190
224
145
186
255
214
184
157
86
223
220
199
220
114
82
105
104
65
67
36
44
41
0
13
0
0
0
0
52
70
62
98
68
69
69
68
95
85
115
66
60
68
83
159
255
255
255
242
239
206
192
166
196
202
212
203
239
227
222
191
104
184
140
128
26
26
3
44
46
71
58
44
47
53
54
57
65
62
55
51
44
44
5
60
58
13
0
52
1
8
13
0
0
1
6
0
0
0
0
2
0
0
1
50
49
0
55
1
0
0
0
0
0
45
37
39
0
46
48
50
51
0
0
31
35
60
95
118
111
59
62
114
115
63
63
63
66
67
67
119
118
66
66
66
117
117
116
118
66
68
68
67
67
119
119
125
125
127
131
135
88
150
99
153
156
108
111
117
117
170
171
119
172
173
174
175
121
121
121
173
120
120
119
167
167
167
167
114
166
114
112
112
163
110
108
107
106
152
151
150
148
143
142
89
74
74
75
24
25
24
24
24
23
24
77
76
25
25
28
28
80
81
82
82
82
83
31
84
84
85
85
85
85
85
86
34
35
35
35
35
87
88
88
89
89
37
37
37
37
89
37
89
37
38
90
89
37
36
36
36
46
48
50
54
111
118
71
84
141
146
150
153
103
107
166
170
171
173
174
123
125
125
128
128
181
182
183
104
132
147
110
115
188
191
144
60
66
173
183
197
173
123
245
255
247
243
187
138
229
211
213
209
194
88
52
102
115
55
38
118
55
80
74
7
128
73
71
54
34
49
82
132
158
129
136
37
86
56
29
8
131
255
255
255
230
243
253
234
187
160
212
206
255
248
217
198
253
195
187
142
239
148
51
0
0
2
57
48
50
57
62
55
65
58
62
72
65
0
54
0
49
53
0
10
32
44
3
0
9
0
0
0
19
0
0
0
0
0
32
0
1
0
44
50
52
0
0
0
48
0
0
0
39
40
34
36
43
46
0
47
18
8
43
7
30
42
104
117
77
75
112
114
114
54
56
59
64
66
68
69
61
113
113
113
114
62
114
115
66
66
68
67
68
124
120
124
129
135
139
146
100
107
108
109
110
112
113
113
177
125
177
177
177
177
127
128
128
179
127
128
128
128
127
179
176
176
175
123
121
118
118
167
115
114
114
113
108
159
155
153
148
147
144
22
74
75
24
25
24
76
24
24
24
78
77
25
26
28
29
81
82
82
82
82
83
31
32
84
85
85
85
33
85
86
34
35
35
35
35
35
36
36
89
89
89
37
89
37
37
37
89
37
38
89
89
88
88
88
88
96
48
49
52
60
67
72
138
143
150
153
155
159
160
170
171
172
174
124
126
126
128
129
130
183
185
134
154
125
134
187
225
196
254
197
71
179
216
163
149
229
75
77
106
77
90
22
86
221
255
217
253
255
229
119
76
101
60
86
89
90
47
63
41
35
56
89
43
28
92
146
174
194
174
234
186
189
228
254
255
247
244
255
250
255
195
180
182
185
217
255
255
255
245
203
254
255
180
171
248
117
69
35
1
0
3
54
50
10
6
45
51
54
60
6
0
48
0
0
0
0
0
0
0
0
41
0
13
0
0
0
0
0
0
0
6
8
1
45
0
0
44
39
46
46
0
0
0
0
0
0
0
6
49
45
44
0
0
0
56
46
34
4
23
62
8
33
109
115
64
123
122
111
108
55
55
56
59
63
66
61
113
113
113
63
63
117
121
71
72
74
126
76
136
84
86
143
149
156
159
115
121
121
124
125
176
178
179
180
180
128
180
182
182
182
184
132
184
185
185
184
132
132
184
184
181
180
180
126
123
123
173
173
172
119
119
114
165
163
160
152
150
96
74
74
75
24
25
24
24
25
24
25
79
25
26
26
29
81
82
30
31
83
83
83
83
84
32
33
85
85
33
33
34
34
35
35
35
35
35
36
36
37
37
89
89
89
89
37
89
89
37
37
88
88
88
87
87
35
44
46
50
105
60
69
126
140
95
152
156
159
161
164
172
173
175
124
127
180
131
131
131
132
187
188
136
175
144
136
202
240
218
215
246
179
153
88
80
86
196
121
185
154
100
67
81
47
169
214
41
62
63
62
91
100
62
90
80
26
81
63
24
37
32
17
90
26
121
255
243
236
242
255
255
255
255
245
255
255
243
245
242
255
255
198
205
219
215
206
255
203
247
255
252
247
156
169
255
206
0
0
47
55
0
0
46
55
17
11
45
55
53
66
8
48
45
0
0
4
0
0
2
2
4
8
0
0
0
4
11
46
48
2
0
0
0
0
0
0
0
44
42
1
3
45
31
38
0
0
0
0
0
0
0
0
0
41
41
41
58
57
0
0
54
0
0
19
77
89
114
117
107
61
56
108
111
114
115
61
60
112
112
62
64
64
118
121
71
76
80
133
139
94
98
102
158
163
170
175
130
133
136
136
137
189
139
191
188
188
188
188
188
188
188
187
135
187
186
186
133
133
185
185
132
132
181
181
129
125
125
176
176
173
121
121
122
121
119
166
160
158
155
74
74
75
24
25
24
24
25
25
25
79
26
26
27
82
82
30
31
83
83
84
83
83
84
84
85
33
33
33
33
86
34
35
35
87
35
35
36
88
37
37
89
89
89
37
89
89
37
37
36
88
88
87
87
35
34
94
98
50
54
112
70
75
89
96
101
105
108
111
165
173
174
125
127
180
181
184
184
187
187
136
137
190
231
135
236
189
122
173
177
255
236
159
112
125
149
255
165
127
95
49
33
60
52
229
227
108
47
101
115
101
78
68
77
48
34
83
109
30
50
23
6
65
79
197
254
255
255
255
196
251
255
250
237
232
247
250
255
255
243
255
191
189
208
255
255
216
217
255
219
242
255
194
203
210
165
0
64
56
42
42
0
44
3
13
9
50
54
0
5
55
0
0
0
0
49
0
0
0
0
1
0
47
3
0
3
56
47
48
6
1
0
7
9
4
2
3
48
44
0
53
44
51
38
40
0
0
0
0
0
44
44
0
0
43
43
51
48
0
34
40
0
1
0
46
55
31
97
103
56
101
94
94
48
56
61
59
111
59
59
61
115
65
67
72
77
81
136
142
99
156
106
111
168
174
180
186
137
191
139
142
142
193
193
191
191
191
191
191
189
137
136
188
188
187
135
134
186
133
133
132
132
131
181
181
127
125
177
177
122
121
121
123
122
120
118
165
161
108
22
22
23
24
25
76
76
78
25
26
27
26
27
27
82
82
30
31
32
32
32
83
83
84
84
85
33
33
33
33
34
86
87
35
35
35
35
36
36
37
37
89
89
89
89
89
89
37
37
36
36
87
87
86
34
34
92
96
48
53
61
69
76
92
150
104
108
110
115
116
176
177
126
128
131
133
187
187
188
189
140
140
141
176
237
255
172
93
210
146
255
255
162
178
190
229
176
80
32
40
71
118
25
54
229
229
222
67
185
115
77
75
51
65
65
1
43
85
86
63
72
58
98
66
241
227
247
243
254
205
255
255
246
245
193
187
249
255
255
255
242
255
224
255
255
255
231
217
192
245
255
225
147
151
116
0
221
38
51
46
49
46
47
2
49
50
5
1
0
0
50
53
0
0
11
0
46
52
46
0
4
51
70
54
61
58
47
49
45
9
0
0
0
0
0
42
4
50
45
53
58
52
51
45
47
0
43
40
0
5
65
10
0
0
0
2
59
60
4
0
2
7
0
6
60
16
19
26
32
25
79
88
50
64
69
65
109
109
109
58
58
60
62
70
126
130
83
89
94
103
164
165
118
125
128
186
191
141
193
143
143
196
142
142
194
194
194
142
140
140
140
142
194
194
194
193
138
138
190
137
189
137
134
186
185
183
130
130
128
127
127
178
177
174
121
120
118
116
167
22
22
23
25
77
76
76
78
25
26
79
26
27
27
31
31
31
32
33
33
33
33
85
85
85
85
85
33
34
34
87
87
88
88
36
35
87
87
36
36
36
36
88
88
88
88
36
36
36
37
89
88
36
35
35
87
89
93
97
50
59
71
79
146
154
110
112
115
118
119
178
181
130
131
184
133
138
138
141
142
195
195
144
168
230
255
255
203
171
227
199
179
255
226
164
192
175
91
128
119
74
28
44
167
229
90
68
102
46
59
38
60
20
56
14
20
23
55
33
60
75
15
92
166
241
255
211
209
255
255
255
255
255
255
222
189
255
255
245
223
255
220
222
222
183
196
255
220
216
255
239
246
255
195
189
136
78
33
0
12
4
40
37
44
49
50
0
0
47
0
0
45
0
0
0
12
61
46
42
56
76
62
62
61
66
62
55
57
64
11
11
8
13
11
21
8
0
48
47
44
41
42
40
47
52
48
41
36
40
41
48
50
52
46
0
35
49
44
40
38
41
0
1
16
18
76
83
85
90
118
124
137
137
72
118
118
106
52
104
107
59
58
51
39
59
136
150
103
112
98
160
173
129
125
126
139
140
131
183
182
189
202
141
133
141
151
143
138
201
197
202
199
198
195
193
144
138
135
193
193
139
139
138
138
188
185
185
183
130
130
129
179
181
181
128
125
122
121
171
22
23
23
77
78
76
77
78
25
26
79
78
79
27
31
31
31
84
85
33
33
33
33
33
33
85
85
85
34
34
87
87
88
36
36
86
86
87
88
88
89
89
37
36
88
36
36
36
36
89
89
88
88
35
35
35
89
91
97
102
111
123
79
94
103
110
113
170
119
122
181
181
131
132
133
188
138
141
193
194
195
198
146
122
243
242
255
207
209
165
190
208
229
168
127
91
208
169
187
134
110
83
42
179
229
106
119
104
88
98
34
19
17
11
58
64
20
72
76
93
32
35
12
137
255
210
211
204
201
208
255
255
201
207
207
197
185
199
195
179
218
214
113
198
200
220
197
173
211
111
221
211
189
45
226
65
154
32
15
0
50
40
39
0
45
49
0
0
0
0
0
0
0
46
19
12
62
59
54
61
79
78
71
59
65
65
63
68
84
14
4
0
0
44
0
48
46
52
54
52
48
48
42
42
44
43
40
38
42
51
50
46
49
51
0
54
49
56
62
62
55
47
40
31
22
72
78
83
95
108
43
33
89
102
60
60
100
57
112
101
87
91
108
103
97
157
165
157
99
124
139
181
184
145
146
135
143
150
213
206
197
148
131
155
148
144
160
162
193
203
186
200
194
146
151
144
195
190
194
194
193
141
139
139
138
134
186
185
131
130
130
182
181
181
180
127
175
174
174
23
23
76
78
78
77
77
78
25
26
79
78
79
27
83
83
83
84
85
85
33
34
34
34
34
86
86
86
34
34
35
35
36
36
36
86
87
88
89
90
91
91
40
37
88
35
36
37
89
89
89
88
88
35
35
35
36
91
95
102
111
123
79
94
104
112
117
172
176
126
183
184
187
188
189
190
193
193
194
197
146
146
147
150
160
239
226
240
229
117
142
217
219
167
121
147
173
229
212
169
49
40
48
182
255
252
196
149
137
51
78
82
37
74
34
30
92
34
65
80
51
146
18
196
210
217
255
255
199
196
220
255
213
220
255
212
184
192
197
205
188
209
195
94
199
158
189
220
230
86
138
68
61
92
87
20
26
54
6
38
0
45
44
44
0
0
0
0
0
0
0
0
1
2
51
59
66
55
57
62
57
67
68
4
51
48
54
68
55
4
61
9
9
0
46
55
46
46
44
39
34
33
0
0
41
0
52
44
35
45
55
10
16
62
50
42
57
54
52
49
47
47
46
17
13
13
12
22
80
85
42
52
69
143
141
71
83
117
150
164
161
155
96
20
31
65
100
167
123
136
167
170
197
115
133
171
99
72
52
50
109
108
187
230
180
151
144
142
168
195
202
207
142
142
196
189
140
137
194
194
195
144
142
140
139
189
187
187
135
132
184
183
183
183
182
182
178
178
177
24
76
77
78
27
78
78
26
25
26
79
78
27
27
83
83
83
84
85
85
85
87
87
35
35
35
35
35
34
34
35
35
36
36
88
88
88
90
40
41
94
42
43
38
36
35
88
37
38
89
89
88
88
35
35
35
34
90
95
100
110
121
131
97
107
114
118
124
179
128
185
188
189
138
139
142
194
194
197
145
146
147
149
152
150
146
176
255
208
211
163
181
156
205
229
229
62
159
153
106
139
54
78
31
193
190
133
145
121
95
59
45
52
117
60
24
58
78
81
65
72
46
227
187
174
208
255
248
210
200
254
230
212
169
234
198
188
236
218
195
193
205
207
217
185
202
206
118
92
42
12
55
42
36
0
4
51
36
0
2
0
43
40
48
41
0
0
0
0
0
0
0
0
2
75
52
58
59
69
68
50
44
63
38
31
10
47
46
9
0
47
0
6
50
52
0
39
45
50
52
51
2
0
0
0
0
0
42
0
0
0
0
41
47
51
54
49
43
36
0
38
1
65
67
21
17
21
102
107
60
69
13
20
97
107
56
48
118
126
107
89
43
64
120
169
127
198
209
203
61
58
94
103
124
51
63
70
78
82
94
140
114
114
132
174
182
114
123
159
146
211
101
126
123
115
134
135
195
194
195
197
144
142
140
137
191
191
188
136
135
187
187
185
185
184
184
129
129
127
76
76
77
26
27
78
26
26
25
26
79
78
27
27
31
83
83
84
85
85
85
87
87
35
35
35
35
35
34
34
87
87
36
36
36
88
89
91
41
42
43
43
43
90
88
87
88
37
38
89
37
88
88
35
35
35
34
90
95
100
110
121
131
149
107
114
119
124
179
129
135
136
189
191
140
143
194
196
197
198
146
147
149
139
208
179
194
207
247
205
194
160
193
182
225
229
7
213
182
165
187
143
82
10
62
108
97
228
153
90
148
38
108
54
89
81
56
71
7
73
76
91
245
213
211
193
212
203
218
196
255
255
252
241
213
147
224
186
208
236
255
181
196
201
154
214
126
107
12
0
47
31
63
53
0
0
36
42
39
0
0
0
42
48
39
0
0
0
0
44
0
0
48
50
62
0
10
0
0
2
72
82
30
13
7
0
0
11
85
61
59
58
60
47
46
0
37
42
44
42
37
0
43
56
47
0
0
0
0
0
0
0
36
41
0
0
0
0
0
0
0
8
18
70
26
14
63
94
94
69
33
37
93
108
103
40
60
63
58
56
72
94
149
159
125
127
144
117
72
73
139
116
121
151
98
70
99
97
130
93
85
114
147
114
79
45
42
74
68
0
82
7
72
143
80
95
112
146
194
195
197
144
194
139
136
191
191
137
136
135
187
187
133
133
132
184
130
130
181
73
73
22
23
24
25
77
26
26
79
80
81
82
30
31
83
83
84
85
85
85
85
33
34
34
35
35
35
34
86
87
87
36
36
36
88
88
90
39
40
40
41
86
86
85
85
34
34
34
36
36
36
37
37
37
89
90
94
100
106
113
124
83
149
158
165
118
123
128
131
137
138
141
142
194
195
198
147
148
149
150
203
151
194
199
201
234
198
143
199
155
167
90
158
106
117
182
199
217
157
117
88
42
29
23
0
32
148
98
47
91
74
57
83
81
85
105
111
68
10
7
222
255
214
207
205
181
225
203
210
195
249
242
211
197
207
183
215
180
206
224
255
213
171
95
90
128
95
6
49
56
3
50
47
50
50
48
0
0
0
1
0
0
0
46
49
3
54
55
47
45
48
52
55
0
0
1
0
0
2
52
51
12
13
8
0
0
0
1
49
52
57
47
39
48
40
46
39
35
43
49
0
50
59
65
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
48
50
49
12
7
7
61
65
26
95
38
51
73
82
70
106
103
79
100
61
69
87
164
142
110
77
99
153
142
140
39
62
88
91
125
123
117
106
40
72
100
94
79
71
53
127
95
122
51
57
159
141
114
122
113
87
83
153
180
139
103
80
76
169
127
103
128
132
133
133
117
117
129
21
21
74
23
24
77
77
26
26
27
80
81
82
82
83
83
83
84
85
85
85
33
33
34
34
35
35
35
87
87
88
88
36
37
89
88
88
89
37
38
38
90
86
86
85
87
34
34
86
36
36
37
89
37
37
37
92
96
50
109
114
124
82
98
159
165
171
175
128
130
138
139
141
142
195
196
148
149
150
151
204
205
153
140
201
179
207
219
193
183
255
217
229
212
210
114
156
140
59
90
124
178
187
149
142
128
109
170
182
123
72
72
44
27
39
55
79
80
129
36
41
201
222
226
248
255
255
255
255
229
216
187
240
228
190
140
151
190
255
255
208
241
187
137
63
0
38
26
26
0
0
0
60
45
48
50
54
2
1
0
1
54
55
57
3
3
2
68
61
10
14
60
47
35
0
0
0
0
0
5
4
0
72
47
48
64
12
1
5
0
0
51
47
46
52
45
53
46
0
0
45
49
46
58
60
51
46
50
0
0
0
0
0
0
0
0
1
6
6
4
0
0
0
0
0
0
64
94
43
0
48
67
81
84
83
26
37
40
28
20
52
135
157
138
150
109
154
134
129
170
95
82
148
166
111
110
123
134
110
160
177
174
132
141
133
62
58
74
88
66
39
88
130
88
82
14
41
57
62
48
103
117
51
113
133
86
141
180
239
214
206
223
200
213
166
158
133
177
126
21
21
22
23
24
77
77
78
26
27
80
81
82
82
83
83
83
84
85
85
33
33
33
86
34
87
87
35
87
87
88
36
37
37
37
88
89
89
89
90
90
90
34
34
87
35
34
34
36
36
37
37
89
89
37
37
95
99
54
58
117
124
134
98
106
164
170
175
178
182
138
139
142
195
195
144
150
150
151
204
205
206
154
172
197
192
200
182
181
158
255
205
229
145
255
207
168
153
139
180
217
199
235
161
92
151
130
154
174
104
71
129
46
74
85
51
126
78
98
94
68
205
216
255
255
255
246
219
255
252
241
187
255
221
195
203
182
199
194
239
255
248
185
71
0
0
26
37
0
0
36
45
59
49
0
47
51
55
3
3
55
54
55
66
13
4
0
77
14
0
49
46
47
49
42
47
49
46
0
0
0
2
59
47
61
72
14
2
10
0
0
49
49
48
45
0
42
38
0
0
0
0
41
40
40
38
42
45
41
51
49
0
47
41
0
0
0
0
0
0
0
0
0
0
0
44
4
13
5
12
57
62
19
78
82
25
31
49
117
147
135
140
156
111
107
75
106
106
132
147
112
106
181
208
202
183
166
109
110
175
123
97
137
162
135
152
161
142
59
53
51
60
40
49
25
116
82
60
69
100
108
140
102
92
64
72
79
114
101
53
49
64
92
73
100
171
163
210
193
21
21
22
23
76
25
77
78
26
27
28
81
82
82
83
83
31
32
85
33
33
33
33
86
86
87
87
87
88
88
37
37
89
90
38
39
38
38
90
90
90
90
88
88
35
35
36
36
88
37
37
89
91
91
39
39
47
50
57
62
118
125
133
148
103
111
114
171
176
178
139
140
142
143
144
145
152
204
205
206
207
208
156
184
195
188
131
199
227
179
110
99
193
187
214
255
167
185
210
177
237
164
161
206
83
139
177
205
171
176
87
107
137
127
12
25
98
72
132
189
213
222
171
199
255
255
224
177
177
255
254
236
224
114
182
134
229
251
240
255
232
243
198
0
48
34
36
0
0
41
0
6
61
53
50
51
10
9
9
11
9
67
71
71
19
15
9
0
56
76
14
0
39
42
41
50
0
43
48
0
43
46
54
48
53
55
0
0
12
3
2
46
47
48
38
43
0
0
8
7
0
10
10
6
50
46
2
55
43
51
43
0
0
0
40
0
0
0
0
2
0
40
35
0
1
16
72
65
1
0
8
27
95
99
100
96
90
104
147
199
204
166
152
210
115
73
114
78
92
143
156
171
120
127
146
158
154
83
68
58
55
62
108
104
134
137
84
129
133
141
120
93
121
113
146
107
61
59
80
85
76
119
112
107
58
36
45
79
143
52
49
36
18
26
32
92
47
91
37
22
22
22
23
76
76
76
79
79
27
28
29
81
81
30
30
30
31
32
32
32
32
32
34
34
87
88
88
88
88
37
37
90
90
90
91
91
40
40
41
93
93
90
92
91
39
38
39
39
90
93
94
94
95
98
46
52
54
110
116
71
126
130
143
99
105
109
166
117
122
136
139
144
197
146
199
205
205
206
207
207
208
156
179
213
186
142
158
255
227
173
78
143
255
214
255
187
219
196
153
79
103
118
70
61
54
157
162
164
190
62
78
134
107
155
66
33
92
124
166
206
184
255
255
210
192
255
255
250
255
219
247
183
184
148
248
244
255
251
252
255
238
225
136
0
0
40
41
42
44
0
1
55
59
53
1
6
11
16
15
14
68
84
70
77
81
10
18
57
62
8
0
0
53
47
44
0
40
41
41
41
0
0
82
62
48
59
17
0
0
0
47
41
40
58
50
42
0
0
0
0
0
49
0
0
0
0
26
47
0
41
0
0
0
41
46
0
0
0
0
1
0
34
32
0
0
12
12
4
61
15
26
82
84
90
87
89
131
137
107
94
94
92
114
128
78
154
101
90
148
138
134
154
103
78
73
58
71
123
123
61
56
94
167
152
146
136
73
114
113
133
98
135
127
134
141
84
77
93
73
122
122
114
116
52
61
46
57
75
83
81
63
48
65
65
69
114
88
95
22
22
75
75
76
76
24
79
79
79
28
81
29
29
82
82
30
31
32
32
32
32
32
34
34
35
88
88
88
88
89
89
90
90
90
91
91
92
92
41
41
93
92
92
91
39
40
39
39
38
93
94
97
97
98
46
52
55
112
66
71
74
130
143
150
104
108
112
169
120
136
139
196
197
146
147
205
205
206
207
207
156
208
181
216
200
167
191
210
191
236
89
174
240
241
255
244
255
255
202
131
72
97
129
83
10
132
168
74
167
148
68
58
118
130
100
84
114
219
213
255
238
255
192
207
211
255
247
253
243
246
235
210
225
164
191
186
176
253
247
255
248
223
116
29
0
0
0
0
0
50
52
54
58
56
7
4
10
17
18
62
65
80
70
74
84
75
69
4
6
10
1
0
46
0
41
38
39
40
43
47
42
43
75
52
44
64
27
0
0
42
49
43
39
1
34
0
0
0
0
55
61
50
50
63
0
59
41
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
6
7
8
55
53
9
14
6
74
78
78
40
107
122
150
119
72
33
36
56
116
114
129
87
88
94
148
153
115
126
77
114
47
111
124
91
75
113
119
133
63
58
70
68
71
80
141
143
90
127
69
132
135
127
137
83
80
60
112
63
51
98
82
107
47
39
39
97
107
69
23
23
75
76
76
77
77
79
79
79
80
81
81
81
30
30
30
31
32
32
32
32
32
34
34
35
88
88
89
89
90
90
90
91
91
92
92
93
93
93
42
94
93
92
41
41
40
92
94
93
96
45
46
47
99
48
54
59
61
66
71
74
131
88
94
99
104
109
165
116
134
138
195
196
145
147
153
205
206
207
207
156
208
224
161
201
204
199
233
255
249
241
192
169
174
184
255
247
255
174
86
43
166
16
76
64
101
223
232
203
131
119
86
67
146
70
255
202
178
150
255
255
214
208
224
222
255
245
252
207
202
171
210
249
227
158
185
177
192
189
190
142
129
26
41
56
0
0
0
0
0
51
50
60
60
13
8
10
17
71
15
9
17
73
68
78
88
16
9
0
6
12
5
0
0
36
37
35
35
44
56
61
51
0
0
58
59
0
0
41
45
55
54
48
52
50
38
0
0
35
42
51
66
27
48
38
38
46
0
0
0
0
0
0
0
0
0
12
14
4
0
0
0
0
0
0
0
0
0
58
10
17
17
15
78
93
32
84
96
105
101
111
133
138
97
67
43
51
110
142
124
113
119
163
173
160
161
142
89
64
83
24
55
126
75
79
81
135
138
89
154
129
131
74
115
57
63
63
62
54
106
114
127
125
110
89
128
125
119
57
112
111
101
96
49
107
105
115
122
76
24
76
77
77
77
78
79
79
79
80
81
81
29
30
30
30
31
32
32
84
32
32
34
34
35
36
88
90
90
38
39
91
91
40
41
93
93
42
94
94
95
95
94
42
41
43
43
95
95
46
47
48
102
103
103
110
60
64
69
124
76
79
87
93
98
101
106
162
167
132
137
142
143
145
148
153
205
206
207
207
156
156
163
220
211
196
159
161
229
228
255
220
192
141
104
213
192
115
79
45
67
111
107
175
104
88
188
210
202
126
106
60
95
58
123
180
238
206
146
181
248
251
215
172
202
165
159
223
177
255
250
209
205
240
174
179
186
162
52
232
205
39
26
38
44
40
0
47
51
51
53
54
15
9
9
11
67
68
62
25
18
67
78
70
66
18
12
11
0
0
1
4
4
0
38
39
0
34
40
0
0
1
50
48
48
0
0
0
45
0
53
50
44
40
29
38
0
49
50
52
56
85
0
14
2
1
40
34
46
0
0
0
0
0
49
56
59
0
0
0
0
0
22
58
44
0
7
15
79
80
88
98
99
104
115
35
102
108
117
139
152
147
139
73
91
113
151
236
151
115
114
121
113
140
144
82
139
142
131
128
90
147
167
159
154
140
124
66
72
136
119
127
131
128
132
135
121
107
115
65
117
132
137
137
135
135
132
81
70
115
63
122
135
74
76
130
116
133
24
24
24
77
77
78
78
79
79
79
80
81
81
29
30
30
30
31
32
84
84
84
32
34
34
87
36
36
90
90
39
39
39
40
40
41
93
94
94
94
95
43
43
42
42
42
95
95
95
98
47
47
102
103
52
52
111
112
65
69
72
76
79
87
145
150
153
158
162
165
184
136
141
143
145
148
153
153
154
155
155
156
156
219
210
144
135
126
159
223
255
255
203
145
80
55
157
91
141
101
77
85
138
104
237
224
120
142
220
199
142
96
73
81
178
224
203
240
251
223
231
250
255
255
207
215
207
214
255
229
227
221
255
220
160
221
255
198
171
120
235
172
35
31
32
47
0
45
0
0
50
2
58
12
9
12
10
11
65
10
16
18
70
78
19
13
68
60
5
0
0
0
0
0
45
36
41
0
0
0
51
48
52
51
49
44
45
53
50
50
56
54
50
45
39
0
34
38
37
36
37
41
0
0
0
0
0
34
0
0
0
0
52
46
0
0
48
52
0
0
0
2
13
63
50
0
0
0
65
100
89
84
84
82
89
49
53
75
126
135
154
131
100
76
75
98
105
157
98
167
95
120
151
138
95
155
203
169
153
128
84
112
159
126
85
86
142
153
119
135
112
87
48
106
103
111
128
116
135
143
92
86
93
144
141
142
141
87
88
125
113
57
106
104
99
105
120
120
132
73
21
21
74
75
75
23
77
25
77
78
79
27
27
25
25
26
29
82
83
85
86
34
37
89
38
39
39
40
40
41
41
42
42
42
94
94
95
43
44
96
44
43
43
96
44
98
98
100
49
53
106
107
56
56
108
118
68
71
123
75
129
133
140
143
145
149
152
156
159
171
126
131
135
141
145
156
209
211
211
209
157
158
209
211
214
145
137
181
255
255
189
74
40
156
88
206
246
255
229
255
160
248
206
183
141
124
107
78
135
180
46
46
74
190
236
255
222
209
228
242
255
255
255
255
163
200
184
178
253
224
255
184
223
248
236
196
191
129
212
102
0
35
32
38
36
39
0
0
0
58
60
51
65
13
4
57
65
5
17
10
77
76
68
71
22
34
0
2
55
54
54
52
46
42
37
38
0
35
38
42
46
0
0
42
38
50
68
53
40
50
37
41
47
34
32
48
26
32
35
30
0
0
0
0
0
0
56
61
0
0
0
3
56
47
41
44
47
43
49
2
1
0
0
0
0
0
47
52
52
15
24
72
71
78
35
21
40
72
103
104
109
147
165
137
87
104
94
137
71
113
115
132
151
152
202
195
163
126
55
58
61
71
133
94
88
54
44
97
110
70
92
117
118
123
108
125
67
77
82
89
68
118
134
82
63
86
119
108
91
48
83
55
63
66
64
123
124
123
73
73
73
22
75
23
23
25
25
25
78
79
79
79
25
26
26
30
83
83
86
34
35
89
90
91
39
40
40
41
93
42
42
42
42
94
95
43
44
44
44
44
43
43
44
96
46
46
100
49
54
54
56
56
108
108
67
69
71
124
128
130
134
139
90
91
147
98
101
104
171
126
131
135
141
198
205
208
208
208
209
209
158
164
211
209
196
194
182
255
255
229
125
127
191
165
227
220
239
221
170
207
199
152
226
170
103
82
158
56
87
60
47
78
61
205
249
251
202
249
255
253
213
186
255
251
199
210
187
191
126
139
251
155
183
255
245
244
208
171
103
0
32
50
29
33
41
0
51
58
9
61
56
3
12
4
58
73
5
1
68
70
68
78
71
66
24
6
50
50
49
39
34
34
35
34
40
40
0
0
0
0
0
4
55
47
0
52
48
62
67
61
49
46
53
43
0
31
0
0
0
0
1
47
0
6
58
54
47
50
0
0
59
62
47
33
41
40
43
48
0
0
0
0
0
33
34
36
38
37
0
0
2
60
21
34
78
94
107
117
134
150
103
147
140
162
116
139
138
115
107
124
145
138
104
85
100
177
169
163
111
111
158
151
149
125
81
85
148
80
77
85
146
173
170
132
117
108
70
73
85
149
114
121
131
107
94
120
127
122
60
101
58
60
60
56
62
118
120
73
73
73
74
23
23
75
25
25
25
78
79
79
79
78
26
27
30
31
32
34
35
35
89
90
39
40
40
41
93
94
42
94
95
43
95
95
44
44
44
45
97
96
44
97
97
47
99
101
50
54
55
108
108
109
109
67
70
72
125
128
131
135
139
89
91
146
148
100
155
117
124
183
135
193
197
204
207
207
208
209
209
158
169
213
203
196
200
234
255
183
211
157
159
226
170
247
213
180
141
116
115
201
255
255
187
147
123
47
55
47
48
42
39
0
179
226
255
247
202
241
206
209
202
213
255
247
173
255
198
111
186
246
201
140
247
255
208
164
69
47
0
45
0
0
43
35
0
0
3
4
52
52
9
54
53
21
10
0
15
17
63
65
29
18
11
15
12
48
43
0
0
0
0
38
36
34
35
36
35
36
0
0
57
0
44
46
53
55
47
48
54
46
43
58
0
36
39
0
0
0
0
50
43
0
0
53
51
0
0
0
38
52
54
40
0
47
44
47
51
43
0
0
0
0
0
37
39
42
0
0
0
56
63
68
69
89
125
58
89
165
180
123
125
119
183
202
195
161
137
124
123
135
147
153
150
180
171
161
157
106
107
144
146
149
149
106
84
100
135
168
148
140
88
132
119
132
68
131
119
186
182
122
172
163
132
91
75
55
55
58
101
72
68
63
55
63
73
134
21
21
73
22
75
75
23
25
25
25
78
79
79
79
78
27
27
31
32
32
35
87
88
90
91
92
92
41
94
94
94
95
95
43
44
96
96
96
45
45
45
98
97
97
98
98
100
100
102
51
107
107
109
109
109
110
69
71
74
75
130
132
84
139
142
143
145
147
151
154
115
174
179
184
189
195
203
203
206
207
208
207
156
180
214
198
197
210
227
232
172
183
206
229
224
239
255
212
173
54
34
121
232
255
231
223
110
128
116
86
54
36
67
91
47
55
255
255
255
207
194
190
217
201
191
220
255
211
109
84
52
66
45
68
46
3
33
41
0
0
0
0
43
0
0
28
36
0
0
2
0
0
3
43
60
60
53
62
53
2
14
2
56
16
12
7
3
7
0
34
0
0
0
43
41
39
0
0
45
49
48
48
53
0
0
0
0
63
47
57
25
33
19
2
0
0
9
3
0
0
0
0
42
41
36
40
49
5
4
0
49
43
0
0
0
0
40
34
33
39
38
0
0
45
0
0
45
39
0
0
0
47
57
61
58
63
124
149
108
132
108
121
141
124
142
127
139
138
125
147
169
185
203
204
139
131
125
120
108
145
99
169
175
198
211
215
214
115
101
100
130
120
69
79
91
144
89
83
61
53
97
123
103
142
137
167
108
110
97
128
119
138
112
112
113
113
98
90
89
73
21
73
74
75
75
23
25
77
25
78
79
79
79
27
27
80
31
32
33
87
88
88
91
91
92
93
93
94
94
95
95
44
44
44
96
96
97
45
46
46
98
97
45
46
98
100
100
50
103
107
108
109
110
110
110
70
72
75
75
131
81
85
88
143
143
146
148
151
154
164
169
177
181
187
191
200
202
203
204
154
155
155
181
212
196
203
165
217
202
180
211
255
255
229
229
255
196
196
162
92
83
180
249
157
145
85
250
196
196
136
122
193
73
97
87
37
52
219
255
218
218
187
255
237
26
82
83
46
48
31
53
9
65
51
41
27
0
0
0
48
0
29
0
0
42
37
41
34
49
0
0
4
59
3
0
6
14
50
2
3
0
52
0
4
9
47
39
43
0
0
32
33
30
0
0
34
39
43
38
30
40
0
0
0
0
52
48
18
26
32
3
1
41
66
16
14
0
2
3
0
44
49
42
42
48
53
0
0
0
0
0
36
36
0
44
64
64
64
71
74
65
2
0
0
0
0
52
53
0
0
64
80
76
60
7
110
127
65
91
88
92
72
67
73
124
108
96
57
48
124
90
118
136
144
148
135
126
193
169
142
162
187
126
184
186
150
140
209
191
156
113
81
63
122
126
62
68
132
86
66
70
75
66
73
145
154
122
111
145
173
168
118
118
176
182
130
130
188
21
21
73
74
75
75
75
76
24
25
26
79
80
28
27
27
28
31
32
33
35
88
88
91
91
92
93
93
95
95
96
44
45
45
97
97
97
46
46
47
47
99
100
99
99
99
102
50
53
104
108
109
110
111
111
111
121
122
125
127
79
80
83
87
90
91
95
148
150
150
162
167
172
126
130
190
198
149
151
152
204
204
154
179
159
146
154
168
166
145
162
237
255
255
228
199
219
253
193
196
151
112
211
232
169
152
135
91
170
218
125
162
154
79
63
9
56
26
76
251
220
215
207
120
204
41
102
78
1
1
0
9
0
52
5
0
0
0
0
0
2
45
28
37
0
0
34
38
38
43
41
38
40
0
0
0
5
4
7
16
0
0
1
0
47
48
49
41
41
0
0
0
0
0
0
0
0
0
0
0
32
54
0
1
3
20
13
0
7
102
16
1
52
0
0
19
41
4
55
71
0
60
43
0
44
49
43
41
0
0
0
0
50
53
47
49
66
25
87
76
1
51
72
0
42
46
0
4
7
0
60
59
51
6
16
16
79
90
40
25
48
82
74
65
81
111
89
113
65
44
72
88
102
116
131
134
191
199
214
196
196
202
178
134
192
198
161
220
205
180
189
130
162
112
92
92
106
99
121
136
93
146
171
118
105
182
172
183
118
121
150
149
188
199
198
202
168
142
120
21
22
22
75
75
75
75
76
24
25
26
27
80
28
27
79
80
31
84
33
35
36
88
91
91
92
93
93
95
95
96
44
45
45
45
97
46
46
47
47
47
99
100
99
99
99
50
50
53
104
109
109
111
111
59
111
121
122
125
127
79
80
135
139
90
143
147
148
150
98
108
113
171
175
129
187
195
199
149
150
150
151
206
160
154
152
212
220
162
143
213
255
236
255
204
138
191
249
255
176
101
105
180
128
212
200
165
102
195
183
200
168
141
124
75
11
64
94
11
26
66
50
66
52
26
57
24
78
54
0
5
0
0
0
0
0
0
0
0
0
0
34
40
38
29
47
40
42
38
37
0
0
0
0
0
39
44
0
0
0
0
0
0
0
40
45
49
32
33
36
0
35
36
36
30
38
5
0
0
0
0
0
16
7
0
0
0
35
88
43
32
38
91
60
26
23
92
61
93
96
0
37
51
47
0
0
0
54
53
47
64
81
24
58
57
72
84
23
59
56
59
55
50
0
5
66
10
3
52
12
67
72
81
27
16
16
56
58
15
77
76
15
18
38
70
77
94
98
112
147
74
93
115
120
168
170
217
164
184
128
122
120
155
149
200
149
156
164
213
207
165
168
201
208
147
143
144
128
85
99
113
170
122
130
188
161
160
121
117
130
178
184
128
127
120
122
151
144
134
22
22
23
23
76
76
76
76
24
25
26
79
80
80
27
27
28
31
32
33
35
36
88
91
91
40
93
93
95
95
96
96
45
45
45
46
46
47
47
48
48
100
48
47
47
47
102
102
53
53
58
110
111
112
112
112
121
122
125
127
131
80
135
139
90
143
147
148
98
98
107
112
168
173
178
132
192
194
199
200
149
148
203
135
147
163
168
217
211
207
167
184
221
91
182
185
200
255
255
237
112
80
75
229
255
207
165
180
191
147
249
170
136
79
105
70
65
3
0
87
66
62
56
47
57
82
14
16
25
24
75
14
4
0
0
0
0
0
0
0
0
44
36
39
38
42
36
39
0
0
0
0
0
0
42
40
0
0
32
35
0
35
36
0
0
38
38
35
35
31
34
44
47
46
54
52
51
57
58
1
0
13
6
28
12
63
62
12
82
39
31
24
60
56
67
92
79
104
97
69
91
24
77
2
0
0
5
70
79
39
42
51
9
87
92
67
69
6
7
67
18
23
85
87
53
58
45
35
47
99
109
110
110
71
77
62
48
125
129
127
104
94
113
53
105
95
93
116
148
204
138
93
93
135
204
188
195
193
187
128
140
126
127
122
131
152
227
175
202
197
164
199
184
186
181
141
164
157
156
148
99
116
134
125
171
176
184
135
135
174
172
165
198
155
166
163
139
146
154
75
23
75
76
24
76
77
24
24
77
78
79
80
28
27
27
80
31
84
33
35
88
88
91
39
40
93
93
43
95
96
96
97
97
45
47
47
99
100
48
48
101
48
47
47
99
102
102
53
54
58
58
112
112
112
113
69
70
125
127
79
80
135
139
90
143
147
148
98
98
107
164
167
171
177
181
191
193
198
199
146
148
151
123
144
167
225
216
210
213
226
221
180
84
157
171
255
209
231
252
162
136
152
249
222
172
216
170
117
165
149
113
136
103
110
81
39
1
13
34
67
88
73
57
71
81
59
56
75
33
64
9
57
0
0
0
0
0
0
0
49
52
42
47
47
42
0
0
0
0
36
0
0
40
0
0
0
0
0
38
29
33
0
0
0
0
32
54
54
36
35
40
45
43
57
57
58
73
73
6
0
18
22
39
2
52
56
54
17
52
26
13
7
52
55
15
44
50
38
46
59
30
11
26
9
10
67
85
65
13
0
3
57
79
107
52
47
13
17
91
93
27
72
91
105
48
25
25
53
59
60
116
74
74
59
52
132
150
103
113
133
118
168
126
144
111
112
135
148
174
125
94
143
167
189
206
203
173
120
102
161
133
164
142
136
132
133
142
150
194
188
189
126
122
159
178
174
177
186
231
224
225
214
143
181
203
152
131
175
162
120
115
121
121
181
186
170
120
123
23
23
23
24
25
77
77
24
24
77
78
79
80
28
27
27
28
31
32
33
87
88
88
39
39
40
41
41
43
95
96
96
97
97
97
47
99
100
100
101
101
49
48
99
99
99
50
102
105
54
58
59
60
61
61
61
69
70
125
127
79
132
135
87
142
143
147
148
98
98
158
163
166
170
176
180
187
140
194
196
146
147
150
111
141
224
229
213
209
222
228
211
203
163
147
255
236
221
135
163
189
147
153
161
181
255
225
255
215
127
125
176
209
200
151
114
4
23
4
0
0
33
8
43
74
71
29
12
59
79
7
7
62
50
0
0
0
0
0
0
0
34
48
49
41
39
0
0
0
39
0
0
0
0
47
42
42
34
26
26
39
38
0
0
0
0
0
29
40
37
35
44
50
0
0
67
62
65
9
50
0
25
64
18
0
0
37
60
44
60
22
9
21
49
60
27
0
48
62
1
7
0
0
73
66
49
43
19
48
20
27
89
100
142
103
59
62
53
64
150
159
66
66
74
72
90
73
103
142
101
55
47
38
50
64
116
164
141
125
120
102
165
206
127
103
125
161
173
191
129
78
94
180
200
156
177
225
220
154
114
117
141
135
202
136
121
109
160
119
140
193
197
153
156
182
195
182
174
135
191
197
160
237
220
194
167
165
135
185
172
189
178
155
136
136
195
141
154
158
23
23
23
24
77
77
25
26
26
26
79
80
80
28
31
31
84
85
86
87
87
89
37
39
39
40
41
41
94
94
96
96
97
99
47
101
49
53
105
106
109
57
49
101
51
51
51
103
105
106
55
57
58
59
60
60
118
119
123
125
127
76
79
82
137
140
142
93
95
96
108
111
113
166
169
171
127
130
134
137
141
143
144
146
204
210
215
220
217
211
194
143
136
170
234
232
166
130
135
102
212
232
249
229
158
195
253
255
209
106
212
195
217
213
179
173
56
9
18
30
66
94
50
91
135
118
114
156
145
64
56
78
82
78
95
19
0
0
0
0
41
0
0
0
43
36
46
45
0
0
35
38
34
0
44
43
44
46
43
38
40
44
0
0
0
53
0
0
0
0
47
42
0
9
72
68
43
73
28
19
80
0
3
4
6
0
0
0
0
0
0
0
0
59
23
26
28
14
24
19
8
20
28
66
78
22
57
54
60
95
87
59
53
75
31
16
28
60
112
126
134
98
59
134
67
41
47
53
34
109
110
53
49
115
83
155
170
102
153
158
149
140
135
150
159
173
99
68
90
94
201
214
209
191
134
135
104
98
106
173
145
162
207
209
106
115
107
152
168
132
200
202
191
180
123
121
142
158
152
153
145
137
185
175
172
135
138
135
195
165
131
194
193
184
183
134
136
126
107
23
23
75
76
77
77
25
26
26
26
79
80
80
28
31
31
84
85
86
87
87
89
37
39
39
40
41
41
42
43
44
45
45
99
99
101
101
53
53
54
109
57
101
49
51
51
103
103
105
53
56
57
58
59
59
60
118
119
70
72
126
76
78
81
85
87
90
93
95
96
108
110
112
165
168
119
126
130
134
136
141
143
143
196
202
207
215
220
217
212
197
149
134
161
190
255
147
161
191
171
218
253
207
144
171
194
255
255
224
127
178
215
214
115
173
196
119
47
60
15
90
91
94
107
157
141
182
106
62
94
105
100
64
77
101
50
0
0
0
0
45
0
0
46
45
45
49
50
46
0
0
41
36
41
43
43
44
46
45
0
38
43
42
0
47
49
0
0
0
0
0
46
0
62
0
0
45
58
20
27
78
51
4
0
0
36
41
2
0
6
0
0
50
55
0
25
1
0
20
23
5
10
64
76
36
76
56
64
87
104
41
20
61
74
87
29
10
27
31
50
47
80
72
84
86
67
82
90
97
88
31
24
27
102
128
147
138
118
51
44
93
101
119
146
172
148
126
95
113
104
133
153
161
152
151
151
193
195
188
185
196
212
216
219
216
157
126
102
158
161
170
125
138
152
209
207
154
160
165
151
197
146
223
223
158
186
168
146
206
177
137
147
229
215
201
139
145
150
146
23
23
75
76
77
77
25
78
78
78
79
80
28
28
83
83
84
85
34
87
87
89
37
91
39
40
93
41
43
43
97
97
46
100
100
102
50
53
53
53
56
108
50
50
102
102
102
52
52
53
56
56
109
60
61
61
117
118
69
122
124
73
127
81
84
87
89
92
94
95
159
109
112
165
168
170
125
129
185
188
140
142
143
190
194
204
211
165
168
165
151
152
150
157
165
231
251
255
255
234
220
194
151
208
203
195
255
212
162
108
151
165
151
165
251
226
138
110
53
105
91
85
63
138
150
145
120
53
81
80
85
88
29
67
103
111
35
33
16
47
51
1
0
40
44
49
47
56
48
36
0
37
35
0
0
0
0
42
44
0
36
38
39
38
0
0
0
0
0
0
45
7
7
47
48
11
55
60
57
53
60
61
60
62
0
0
32
0
0
0
0
58
54
63
85
3
0
25
57
122
97
52
65
42
21
58
53
7
19
69
93
51
35
73
70
55
5
0
0
49
59
75
62
97
63
27
87
113
114
95
71
0
0
0
0
9
0
19
96
120
141
157
168
211
200
115
151
171
129
107
108
115
120
126
137
145
222
190
186
180
183
137
137
147
164
157
146
145
207
211
206
202
154
152
196
194
154
153
153
139
189
188
187
195
129
134
199
185
180
138
138
126
144
195
147
154
179
192
193
23
75
23
24
77
77
77
78
26
26
79
80
28
28
81
81
82
83
84
85
33
35
35
37
89
38
91
91
44
44
46
46
98
101
101
51
51
53
53
105
107
107
49
49
103
103
103
103
53
54
57
58
111
111
60
60
117
117
120
121
70
123
125
132
84
138
140
92
93
146
108
111
165
166
169
171
125
128
132
135
139
141
194
184
189
197
207
163
167
168
157
152
152
206
214
222
234
255
208
255
255
190
190
107
126
120
123
161
221
204
204
158
167
245
253
192
123
127
80
82
139
97
57
104
126
150
99
78
118
93
39
98
107
50
128
174
98
52
40
59
8
16
27
21
64
58
49
15
60
49
52
41
0
0
0
0
0
0
0
0
40
38
38
41
0
0
50
46
0
68
56
45
0
0
1
4
56
47
63
35
91
43
34
51
0
0
0
0
0
0
0
0
46
35
0
3
48
45
64
63
57
28
2
13
13
27
84
94
117
79
49
48
18
18
88
87
68
80
35
58
53
70
62
49
59
39
43
76
76
18
52
29
0
0
0
43
22
40
40
29
81
88
99
131
88
112
164
143
151
122
88
92
105
129
141
127
110
191
193
189
181
171
122
142
169
171
174
219
209
223
225
217
207
199
194
189
155
172
164
173
213
186
169
191
168
140
211
193
142
171
172
162
239
222
207
149
166
169
161
75
75
23
24
77
77
25
78
78
78
79
80
28
28
29
29
82
83
84
85
33
35
35
37
89
90
91
91
96
96
46
46
47
101
101
51
51
53
53
105
107
107
51
51
103
103
103
53
105
106
57
58
58
60
113
113
116
117
120
120
122
122
125
132
135
138
88
91
93
146
109
111
165
166
170
172
177
128
132
135
139
193
194
184
137
145
206
213
167
168
160
160
212
200
152
215
224
255
127
141
253
181
187
132
160
208
221
235
255
195
119
118
148
212
223
172
200
146
141
97
147
118
46
149
163
132
86
99
132
51
49
81
75
25
126
159
64
74
85
2
3
14
30
28
11
53
55
75
67
57
7
0
0
0
0
0
37
0
41
0
0
35
41
48
43
0
0
0
49
60
46
0
2
0
0
0
24
48
59
25
4
0
0
0
30
30
0
0
0
0
0
0
0
0
5
0
0
62
51
50
57
58
0
18
93
60
94
36
62
2
18
30
80
103
128
122
87
47
63
27
18
47
36
29
93
81
36
62
47
12
1
0
0
27
29
40
64
39
47
37
37
90
91
109
123
130
140
145
76
99
134
144
107
114
108
98
139
204
150
202
214
171
188
180
178
219
213
211
215
230
220
229
226
173
221
200
172
182
139
149
195
193
211
202
154
206
217
145
147
144
138
138
136
144
210
213
156
159
156
23
23
24
24
77
25
25
27
27
28
28
29
81
81
80
80
81
81
82
82
30
33
85
87
35
36
37
89
94
94
97
45
98
49
49
101
102
54
106
105
106
105
50
50
50
104
52
52
106
105
55
57
58
59
60
113
117
116
118
67
69
70
73
131
136
139
140
92
95
97
161
164
168
171
122
175
181
184
134
188
191
193
194
196
190
188
145
211
222
169
170
164
204
195
195
206
234
215
213
224
205
171
97
182
238
230
255
255
239
201
189
142
185
193
238
232
213
115
175
95
109
120
68
97
164
121
154
90
109
66
74
66
50
64
121
123
74
157
123
91
75
37
23
41
29
49
45
10
65
57
48
58
54
0
0
0
1
9
61
38
57
0
49
46
42
0
0
13
45
52
9
0
0
7
4
8
4
11
54
47
7
0
46
58
55
56
0
0
0
0
0
0
0
6
63
56
67
77
65
58
51
69
94
57
27
31
29
57
38
27
41
94
89
108
129
122
65
71
71
72
35
42
47
116
95
73
90
57
67
36
25
9
0
0
41
63
81
89
80
126
130
108
71
45
55
65
83
58
80
102
95
87
89
109
107
173
197
162
120
108
172
119
190
186
145
209
220
220
160
135
176
155
120
132
126
169
178
186
137
148
194
185
210
217
216
216
213
161
163
207
207
211
178
156
128
188
195
216
186
76
24
24
25
77
26
26
80
80
80
81
81
82
82
81
81
81
30
30
31
83
85
33
35
35
36
37
89
94
94
97
97
98
49
49
100
101
105
105
53
54
54
53
53
105
105
107
107
55
54
108
109
110
61
62
62
65
116
118
66
68
69
72
77
135
138
140
92
148
151
162
164
168
118
122
124
180
130
184
186
189
191
192
190
197
151
153
150
150
154
154
182
197
168
120
153
218
196
194
216
142
60
187
227
249
243
200
198
195
112
105
204
145
167
219
226
213
193
178
106
104
177
141
100
170
154
161
159
110
58
70
101
37
60
106
50
50
52
70
98
84
71
55
20
39
22
30
33
35
7
11
15
54
55
41
33
73
54
0
67
80
8
48
52
53
0
0
55
69
62
72
23
0
0
13
9
2
32
59
39
75
33
3
0
40
51
0
6
7
18
20
27
39
34
31
58
63
55
73
80
58
48
53
77
65
62
106
74
135
74
33
79
72
33
98
94
100
106
79
57
32
76
99
62
84
69
84
47
53
80
39
68
73
78
76
79
144
100
92
128
113
89
57
45
66
83
45
59
69
89
96
170
171
127
133
176
125
118
117
133
184
161
132
180
204
141
179
174
129
130
172
185
152
150
173
159
133
185
194
149
147
190
189
190
194
197
194
147
155
144
199
209
150
150
176
173
195
206
196
24
24
25
25
26
26
78
80
80
81
81
82
82
82
79
79
28
28
29
29
81
83
83
33
33
34
35
87
94
94
97
97
46
49
101
100
49
53
54
54
55
55
106
106
106
106
108
56
56
57
110
110
113
114
62
62
65
64
66
66
69
70
73
129
83
138
89
93
149
151
163
165
168
118
123
125
179
182
133
187
191
193
142
151
204
148
143
138
140
205
184
145
109
119
159
187
210
189
200
196
207
222
229
195
255
202
255
185
201
125
110
142
158
174
196
158
231
168
133
114
79
103
105
88
97
128
198
153
140
130
122
143
57
43
62
67
53
71
75
67
63
47
51
31
69
44
84
85
77
7
19
23
17
5
5
48
66
49
0
4
85
34
49
73
0
5
0
0
59
57
1
21
10
0
25
11
0
45
38
44
68
7
0
11
0
0
9
43
85
70
20
48
75
48
31
34
87
68
100
94
59
50
66
109
76
95
116
48
93
20
11
66
32
53
106
94
137
153
146
103
89
87
98
120
70
8
20
37
57
109
109
72
14
60
61
80
133
100
152
122
86
64
57
65
79
35
42
59
130
163
180
203
197
198
200
133
121
167
151
133
83
153
92
93
157
114
180
148
164
144
177
185
132
125
176
187
150
141
184
193
140
187
188
193
203
195
203
205
144
186
140
146
149
159
189
178
177
182
170
25
25
25
78
78
79
79
81
81
81
30
30
83
83
80
80
28
29
29
30
82
83
31
33
33
34
87
87
42
94
97
97
46
101
49
49
102
107
108
108
110
109
109
109
111
111
59
59
60
60
115
115
115
116
64
64
119
118
68
68
70
72
74
133
86
88
90
93
96
151
164
165
167
118
123
126
184
134
135
187
189
137
138
146
217
179
165
133
167
176
170
172
169
166
162
212
211
185
199
243
150
162
188
228
170
157
212
235
157
40
78
137
197
222
255
203
176
153
194
108
112
162
121
132
75
124
173
164
150
84
92
66
101
82
60
62
62
65
68
54
27
55
97
86
69
9
65
17
71
94
26
5
8
26
18
31
21
16
11
0
81
94
68
89
9
3
63
79
57
17
25
22
9
19
14
0
61
53
46
45
36
85
108
79
45
11
35
54
40
40
36
63
94
102
29
63
81
63
18
25
69
100
102
67
58
61
29
64
111
51
89
114
146
152
92
89
49
106
79
61
80
38
35
36
79
78
90
117
149
69
41
29
19
48
47
25
138
88
82
111
93
101
69
170
110
93
89
104
170
171
202
204
187
129
123
113
88
91
143
73
105
113
149
164
88
155
166
168
115
119
123
127
136
152
219
229
222
218
184
186
194
213
175
162
157
211
213
214
210
203
204
154
152
151
188
197
197
213
226
23
23
76
77
78
79
79
80
80
81
82
83
84
84
28
28
81
82
31
34
86
86
34
35
36
37
89
37
43
95
98
47
50
103
53
108
110
114
116
117
118
119
118
118
118
120
120
68
68
70
122
124
124
72
72
72
129
128
128
129
130
82
83
89
89
90
93
95
98
100
117
180
179
124
117
122
132
133
131
134
146
158
163
148
87
141
193
223
191
197
159
151
144
151
168
174
126
84
147
179
196
205
227
255
229
175
172
216
175
133
81
255
244
212
205
170
143
107
139
113
116
157
159
155
114
136
197
177
184
166
117
141
113
82
88
102
93
127
53
58
88
85
120
53
102
77
0
23
17
8
23
26
49
0
0
17
42
33
9
82
76
61
32
85
30
10
24
115
77
83
34
20
0
0
30
0
46
52
61
19
48
39
0
34
67
108
107
93
32
76
55
34
95
71
32
49
62
54
102
159
111
84
52
120
178
109
93
146
123
100
120
141
173
166
122
99
81
77
82
133
126
129
88
133
166
164
174
166
173
142
36
36
85
120
179
124
136
131
73
57
42
64
96
166
135
150
156
152
179
120
86
89
120
135
108
90
117
126
186
189
203
223
195
168
157
211
164
168
156
168
109
96
100
173
144
169
248
220
213
213
210
214
229
171
219
209
142
133
117
138
200
166
188
203
210
235
208
218
222
23
23
24
78
78
79
27
27
80
80
82
83
31
32
28
28
81
83
85
86
34
34
34
35
36
89
89
38
43
96
47
50
51
54
107
111
111
64
117
119
121
122
119
121
69
69
121
71
123
124
74
126
74
74
75
75
130
130
130
133
135
84
86
90
90
92
93
96
98
99
116
162
154
171
138
135
131
133
147
167
166
138
161
200
179
162
123
184
207
202
187
193
161
177
157
124
189
173
193
164
167
166
176
213
138
222
255
230
205
171
137
252
255
229
203
190
155
185
109
130
123
116
75
145
172
178
178
172
178
153
148
138
69
123
117
40
64
123
141
121
37
56
87
58
104
83
54
19
6
19
74
28
88
65
24
73
119
55
28
22
17
74
58
83
70
3
23
89
96
67
12
25
0
0
7
53
40
55
0
23
28
60
43
97
82
104
96
89
62
63
87
75
95
79
84
114
92
92
77
114
114
96
46
199
217
138
41
116
85
119
143
162
122
109
109
67
58
76
102
146
117
117
92
140
160
149
185
211
194
156
58
62
157
190
201
137
165
153
77
97
78
87
112
138
158
141
167
169
154
44
56
70
98
110
98
103
166
184
181
172
177
191
115
95
133
142
151
147
191
202
166
166
158
157
207
205
219
206
132
190
190
192
143
137
138
215
224
175
141
125
105
94
123
169
145
174
218
220
206
76
24
77
78
79
80
28
27
27
28
29
30
31
31
29
29
82
85
86
87
35
37
89
91
92
93
94
42
50
51
54
59
61
64
117
118
69
125
74
129
130
79
79
79
79
79
132
132
132
132
134
134
134
136
84
84
139
140
142
144
93
95
97
149
98
98
98
99
100
101
106
112
173
169
171
184
170
139
139
190
186
241
208
188
195
199
195
197
210
216
181
127
186
201
208
211
237
172
194
164
91
201
173
200
134
68
233
233
226
135
158
227
156
216
187
198
156
154
175
222
231
185
131
100
94
95
117
126
197
162
159
127
130
70
75
58
66
144
153
94
48
48
69
100
97
55
68
80
14
3
53
40
78
58
26
73
138
48
54
37
55
47
90
67
73
4
9
54
83
61
66
23
54
74
63
50
80
65
20
98
50
0
46
79
65
72
92
129
119
64
70
74
83
78
33
95
101
56
95
181
119
92
68
195
182
112
105
168
210
156
122
141
169
177
171
136
86
108
160
150
146
153
159
150
99
95
140
157
181
44
33
101
138
181
158
193
99
47
72
95
153
155
160
132
149
132
63
77
68
63
94
168
137
140
142
213
199
174
141
110
111
135
103
106
108
121
132
137
149
255
255
255
223
209
198
179
179
113
147
163
229
235
226
217
217
195
142
136
111
178
174
207
141
154
171
168
169
238
232
76
77
77
79
28
28
81
80
81
81
83
83
84
32
31
32
32
34
35
37
38
41
94
97
47
48
101
102
63
63
118
70
124
127
76
78
131
136
85
140
89
89
89
89
89
141
91
91
143
142
143
143
93
93
93
93
151
152
156
104
105
104
106
159
159
159
107
108
109
110
109
135
148
153
59
93
191
204
177
180
193
192
135
125
151
205
189
179
118
175
221
132
130
224
239
213
218
241
189
197
201
92
144
26
15
39
127
255
163
143
192
215
229
203
151
181
143
144
185
203
188
171
171
131
185
115
105
77
135
188
138
135
78
68
71
35
122
126
87
53
127
119
76
99
88
56
18
27
82
60
36
27
38
113
92
82
116
38
51
42
55
102
35
114
54
65
52
63
69
54
59
78
55
0
9
46
37
32
67
104
43
15
125
109
86
76
87
112
100
71
51
39
38
75
163
160
52
41
87
180
151
39
36
128
163
120
84
126
187
179
153
103
145
140
114
125
181
175
146
161
204
203
162
130
147
71
130
157
120
79
102
86
85
42
115
119
42
67
79
101
131
188
187
166
96
93
71
64
82
194
190
165
106
188
218
217
162
152
113
87
91
52
128
156
152
145
146
161
173
203
134
100
90
76
85
114
134
136
211
205
138
126
119
113
162
179
184
142
121
139
135
187
142
147
207
154
124
147
225
77
77
78
27
28
29
29
81
81
82
84
84
33
33
32
32
33
34
37
38
40
43
44
47
51
52
106
106
69
69
74
75
78
131
81
83
84
88
91
92
93
93
145
145
94
146
94
94
96
148
150
150
150
98
98
98
106
159
160
108
108
107
107
163
163
162
163
166
116
117
103
72
114
146
156
172
112
180
188
186
183
188
190
155
143
114
143
164
209
222
190
159
226
223
209
206
226
202
248
215
104
121
137
59
144
69
252
255
83
141
188
162
200
174
91
124
115
252
213
187
236
230
144
97
117
109
140
81
86
85
153
135
89
60
79
59
129
128
76
85
122
108
88
94
31
17
21
21
90
55
32
57
40
54
92
100
58
58
55
29
125
115
96
71
60
75
73
86
31
77
24
106
89
15
19
55
25
28
69
85
46
32
80
52
103
90
78
82
90
92
53
30
41
99
177
175
50
48
146
171
142
47
53
122
170
85
85
110
163
191
170
149
110
119
128
173
168
171
205
164
194
181
190
150
128
99
157
173
172
107
78
115
109
99
101
104
75
109
142
117
203
221
200
170
103
83
49
59
138
198
183
182
190
204
209
144
170
122
73
47
15
49
141
169
222
226
178
173
200
177
192
205
148
126
110
122
148
157
163
220
168
163
133
104
140
130
130
114
146
138
115
125
139
193
203
169
170
160
156
80
80
80
29
30
30
82
82
82
83
84
33
34
34
87
87
88
39
42
95
96
100
102
58
62
116
117
119
78
78
81
82
85
137
88
92
92
94
96
97
97
151
150
152
153
153
154
102
104
164
159
159
157
102
107
115
113
168
172
171
168
167
118
119
177
180
175
156
132
115
160
204
175
121
107
101
114
121
174
180
193
191
107
110
180
210
173
195
184
169
232
168
152
213
224
148
188
206
54
74
89
33
0
127
171
255
181
58
213
53
136
155
213
91
138
196
226
232
255
237
211
235
190
119
170
127
113
79
82
92
141
161
127
139
84
113
85
122
128
87
97
117
113
136
96
37
49
52
18
48
0
58
65
159
105
81
41
115
123
93
125
60
57
79
73
100
144
148
113
117
76
114
102
56
62
32
3
18
30
71
1
55
128
44
88
84
46
36
71
108
106
34
35
150
129
126
179
155
162
136
77
67
81
84
91
130
152
144
137
157
226
193
158
161
179
227
170
145
172
138
192
209
177
232
171
167
152
179
138
100
174
171
178
146
55
121
81
80
86
110
140
165
176
159
149
164
107
73
124
117
71
114
144
178
188
163
98
21
50
47
59
34
86
141
126
150
98
139
159
192
176
133
138
140
175
159
179
112
154
171
160
156
207
178
176
167
185
190
116
109
180
191
124
189
146
145
154
154
200
80
81
29
30
30
30
82
83
31
32
33
34
35
87
87
88
89
43
45
99
101
106
110
65
69
122
125
125
133
81
136
137
140
140
143
145
93
95
150
150
150
151
100
152
154
103
103
103
106
159
158
163
167
114
112
111
114
113
174
172
165
172
136
95
117
139
194
219
192
152
172
170
162
114
114
109
146
141
108
131
162
216
224
111
140
171
170
181
198
228
203
166
156
133
105
127
73
131
163
165
99
169
236
182
255
139
163
171
109
84
170
134
101
135
139
204
157
151
111
140
175
128
139
44
118
106
132
87
35
0
107
158
158
133
163
130
76
81
162
53
121
145
150
108
87
91
76
78
60
16
0
50
52
127
103
130
77
116
106
125
113
106
110
98
97
174
111
93
130
147
112
115
108
114
110
37
27
14
8
25
12
56
34
101
85
44
96
89
99
142
51
33
106
135
77
132
156
170
116
115
140
83
131
81
127
154
159
147
123
151
206
169
175
216
147
163
163
109
188
161
223
224
170
185
186
219
179
106
112
138
187
194
139
55
80
79
111
92
83
105
138
161
175
205
191
130
152
174
150
132
70
38
56
92
96
102
121
110
110
75
82
109
118
146
169
170
163
155
169
189
177
97
96
111
119
106
83
136
125
171
182
176
188
176
173
131
139
121
99
136
136
195
220
213
201
141
149
160
170
81
81
29
30
30
83
83
31
32
32
34
35
87
88
36
88
92
45
48
101
104
109
113
69
73
74
129
129
134
134
137
138
88
89
143
144
144
147
149
150
98
98
99
152
154
102
103
103
105
110
111
164
164
163
109
108
169
118
111
170
180
165
136
147
139
151
186
164
162
170
170
187
189
160
178
157
86
66
92
157
169
116
96
131
166
181
182
215
226
189
209
139
186
118
119
198
128
162
200
149
242
187
96
255
171
99
111
173
101
142
150
156
81
208
137
180
149
154
44
56
155
147
100
0
112
89
129
74
74
47
60
81
105
107
102
108
197
116
95
83
172
147
125
113
61
88
110
97
85
84
5
4
21
133
109
157
95
93
39
103
147
130
105
178
100
111
109
106
104
63
135
140
89
83
102
57
41
31
73
92
83
101
35
84
69
40
50
32
143
148
60
47
111
127
133
182
170
156
103
47
144
164
132
117
194
155
200
122
86
167
173
189
213
166
189
160
135
115
200
168
171
165
205
188
228
201
152
103
103
156
198
207
176
75
63
113
151
76
59
70
87
99
161
210
140
155
223
200
181
112
91
56
92
71
95
76
117
126
115
94
134
146
138
144
191
167
167
117
75
153
158
119
105
148
148
148
167
183
152
137
179
177
204
180
78
98
164
170
119
160
212
197
180
189
208
224
157
152
208
82
82
30
31
31
83
32
33
33
34
36
88
89
37
37
38
41
49
52
108
111
116
119
75
78
81
134
134
136
136
136
138
86
88
90
90
92
94
95
149
149
97
98
151
151
100
102
102
102
105
162
159
159
110
115
116
180
164
82
124
150
182
199
166
117
126
187
188
180
170
184
207
185
133
124
113
165
138
114
119
133
128
115
114
192
233
205
143
162
137
141
91
144
255
60
141
145
141
163
234
184
115
175
67
161
125
184
85
154
213
134
189
155
215
164
220
188
172
118
62
129
67
30
37
96
123
105
86
92
166
142
108
108
93
95
168
104
168
136
66
90
96
83
118
112
184
127
87
87
90
21
19
51
159
198
162
64
93
120
131
157
164
151
186
83
84
67
150
126
89
89
61
124
63
53
143
63
78
72
136
116
115
61
89
123
78
75
74
124
160
115
71
153
134
117
165
208
160
69
24
74
197
152
97
133
170
148
110
113
147
211
247
194
154
126
156
191
130
125
147
168
164
202
201
235
203
193
102
95
150
140
155
150
73
68
114
137
141
95
99
104
116
126
154
163
202
195
160
151
73
96
147
162
134
127
119
217
152
166
216
207
200
149
180
201
146
108
102
107
150
125
132
144
155
116
189
194
188
142
155
202
205
174
161
144
117
132
133
131
142
187
205
204
204
212
216
120
150
197
30
82
82
83
32
32
32
34
86
35
88
89
38
38
37
38
43
51
55
59
62
67
122
130
81
134
135
83
83
84
83
85
85
87
87
90
90
94
146
147
149
97
96
98
151
151
152
154
102
161
155
157
115
120
110
95
152
183
185
171
159
162
169
173
171
170
170
175
182
188
108
162
206
200
204
156
110
134
126
98
105
138
146
171
132
149
201
179
152
135
101
246
135
97
197
173
148
180
169
129
192
196
227
189
174
137
147
112
217
149
205
113
227
165
182
172
139
45
165
220
189
151
66
95
123
51
143
155
54
247
206
247
139
151
168
123
126
108
77
122
124
164
196
168
205
224
161
133
133
74
148
116
87
255
151
142
109
93
163
138
93
138
127
174
72
45
75
155
89
133
65
104
144
143
118
129
126
83
83
161
113
109
86
78
96
96
130
103
151
159
131
90
149
61
120
133
165
128
99
19
126
175
174
192
133
117
126
134
118
143
125
198
118
114
77
106
155
164
204
203
209
160
168
115
171
135
157
65
135
230
222
250
214
103
95
93
152
180
150
151
205
155
141
108
156
184
198
174
112
111
215
148
87
121
123
139
232
167
205
255
242
249
169
153
109
89
157
129
119
175
187
201
188
178
182
179
153
186
216
200
178
159
150
177
157
110
164
191
168
129
121
192
190
207
213
205
156
154
144
87
87
88
89
90
89
89
33
32
32
28
27
29
30
49
103
108
116
119
72
74
131
131
78
76
77
76
76
85
85
87
87
87
87
89
89
89
92
145
145
146
147
155
97
106
158
156
153
149
148
167
180
162
76
123
91
133
157
166
174
169
184
174
179
166
177
206
183
125
44
207
191
168
193
188
109
142
97
100
134
178
138
179
131
202
200
189
147
103
53
206
144
164
255
206
134
228
218
139
167
224
232
65
173
177
141
163
121
185
66
150
67
204
132
210
105
129
141
166
206
197
201
211
187
114
126
122
151
195
218
218
205
224
179
181
172
68
98
79
213
209
197
112
219
207
128
130
132
186
101
183
160
191
160
149
111
118
82
120
124
153
124
100
147
124
100
103
214
148
148
103
94
140
162
144
106
140
79
82
99
89
114
82
45
98
162
114
71
104
204
189
113
30
80
181
104
161
118
81
133
162
137
159
228
218
180
108
123
202
202
118
104
111
168
183
135
162
199
218
221
211
187
171
194
134
138
148
151
193
233
205
208
149
148
85
55
182
211
151
141
166
152
130
89
108
78
119
187
144
192
179
104
56
71
106
120
138
162
193
211
233
200
199
172
72
81
110
126
137
162
117
156
184
97
150
176
157
157
210
167
221
205
139
139
104
136
208
210
154
187
191
237
189
113
145
146
166
186
217
83
83
32
87
36
39
91
37
38
39
37
39
93
96
102
104
109
118
122
127
80
82
82
83
83
83
135
135
137
85
87
139
139
89
89
88
89
91
144
144
147
95
145
152
109
149
135
148
166
163
119
166
186
161
152
119
121
164
184
185
165
170
122
127
132
96
135
202
153
111
214
192
150
181
150
132
136
144
121
140
174
143
124
201
143
196
137
87
139
189
148
235
227
183
178
206
161
131
185
228
207
113
226
228
191
167
159
188
127
128
141
179
168
124
191
57
96
200
206
207
155
205
203
205
155
172
181
163
225
221
213
203
167
173
163
241
144
103
203
219
109
51
115
93
166
121
162
127
168
175
221
196
77
117
120
190
183
148
223
186
133
184
167
107
108
209
205
186
168
112
128
87
149
146
132
140
107
61
94
118
65
64
83
83
92
156
179
109
85
235
207
75
93
103
238
157
139
93
81
143
144
105
158
218
193
182
209
157
119
127
138
138
172
185
215
155
122
188
187
194
209
156
173
116
142
168
162
190
134
244
220
248
202
131
47
80
134
155
152
159
186
167
166
78
90
82
125
159
139
129
98
116
150
137
149
174
186
164
214
170
170
203
208
153
60
54
66
77
150
159
125
128
131
146
137
102
160
155
125
150
218
214
137
159
87
145
135
146
184
166
181
205
158
168
223
207
162
165
131
80
80
82
85
86
89
91
90
41
44
47
51
54
109
102
107
112
68
127
133
85
89
89
90
90
90
142
142
87
87
139
139
141
141
141
89
89
141
92
92
144
144
135
94
113
156
134
125
74
129
158
112
113
163
114
123
131
178
158
175
196
96
23
157
149
96
107
187
198
166
125
150
149
161
120
146
133
140
182
194
134
155
125
173
34
170
175
163
200
118
228
133
96
215
235
168
145
188
242
137
164
214
220
196
200
165
234
86
141
199
147
194
160
106
110
89
92
224
201
205
208
210
208
210
160
163
169
164
164
215
219
208
215
168
181
176
174
186
180
164
155
225
196
127
159
128
123
79
117
166
168
135
164
215
168
197
150
126
188
142
185
226
207
89
144
90
161
216
182
142
134
150
118
142
172
167
118
90
123
156
53
99
97
78
89
140
152
93
71
194
203
80
71
123
168
80
105
170
143
137
110
126
185
188
180
200
211
199
133
141
166
166
224
204
182
176
139
150
125
207
212
179
209
170
201
213
216
214
201
180
178
219
209
134
102
126
131
213
210
148
228
169
189
165
156
121
161
161
131
142
186
177
221
209
188
163
210
233
197
150
128
146
157
143
59
59
77
85
151
157
125
136
147
139
136
152
147
192
186
210
215
152
132
96
128
134
132
156
197
228
167
152
123
165
175
149
222
214
184
28
80
82
83
86
87
89
89
91
42
46
50
55
58
102
106
111
121
74
133
86
90
91
92
92
92
143
143
87
139
139
141
141
141
141
89
141
143
143
143
143
143
139
151
126
113
137
106
106
101
117
126
177
169
117
124
111
179
167
135
119
143
200
167
172
185
137
133
177
169
149
131
166
173
173
171
208
248
117
135
165
123
133
95
118
122
164
186
97
252
190
169
161
226
196
162
198
218
192
129
211
134
242
206
190
202
205
95
191
194
180
162
118
167
129
101
183
209
203
152
156
210
211
208
206
163
165
163
162
218
221
215
177
225
217
163
224
220
170
161
154
161
145
224
208
204
205
182
179
196
120
92
138
255
240
167
183
164
123
157
144
222
175
132
168
154
183
230
132
141
128
174
131
150
192
192
179
73
57
103
120
114
90
85
33
111
104
45
45
177
182
68
69
70
175
116
92
160
178
121
120
179
126
198
128
136
208
191
98
149
205
221
210
192
217
173
189
151
124
197
196
175
202
179
152
168
164
197
188
197
163
133
71
104
101
105
203
184
206
226
197
224
167
162
130
110
175
189
181
207
231
227
234
169
145
121
139
130
220
226
181
135
99
62
69
67
137
151
171
153
158
182
198
135
128
148
162
180
186
181
156
140
128
104
103
109
144
213
184
126
209
208
219
196
136
212
210
211
183
87
85
86
83
84
84
84
80
83
85
87
40
43
48
102
106
110
68
73
132
85
86
140
89
89
88
88
88
141
141
141
141
141
142
142
140
90
90
142
144
144
144
101
167
163
93
92
103
106
108
113
117
166
167
123
134
67
101
128
133
170
153
187
174
194
188
114
130
152
139
121
188
138
124
186
209
174
221
185
193
157
76
67
172
160
121
58
205
224
140
193
231
224
166
98
121
231
169
160
141
160
182
198
202
189
150
116
190
155
193
203
146
125
184
115
125
169
144
155
155
158
209
209
212
216
159
204
165
165
218
216
177
229
166
170
170
158
213
197
139
155
132
154
184
211
200
156
151
210
212
173
164
174
156
151
205
167
168
179
125
128
170
129
217
145
239
221
205
177
123
147
141
201
148
199
176
175
142
102
124
133
133
169
125
67
139
119
132
113
96
97
71
54
60
166
202
172
204
137
96
198
161
151
199
131
133
117
175
171
184
206
173
198
219
218
208
193
171
147
167
156
152
191
171
128
138
214
231
211
198
146
171
145
129
112
135
192
197
192
195
201
192
151
164
141
189
145
150
211
213
243
182
197
182
213
183
99
169
175
211
199
200
121
115
71
92
180
182
172
150
175
182
135
162
172
150
168
181
196
161
125
140
143
106
114
234
199
187
201
220
228
165
151
206
216
236
225
214
220
90
90
37
85
83
82
28
75
80
85
91
95
99
102
112
117
122
76
80
84
139
96
147
89
88
86
80
76
140
147
150
145
150
151
144
139
149
135
118
124
96
169
153
144
96
104
102
95
92
109
122
158
87
69
88
137
178
106
118
137
165
159
201
179
134
189
129
123
124
123
174
184
134
215
157
168
167
208
189
83
179
204
173
222
106
220
118
153
172
173
168
88
178
148
203
156
78
148
145
203
182
127
209
145
142
71
176
157
181
148
168
125
144
159
155
134
162
159
153
155
156
210
212
214
216
208
210
161
165
167
222
222
222
168
218
213
153
150
200
209
157
208
205
202
148
146
197
197
144
144
143
195
195
121
162
173
153
156
160
173
232
218
209
118
199
213
174
153
134
162
137
157
165
153
174
183
150
111
155
168
137
53
159
142
94
145
156
218
178
94
127
78
59
91
176
180
217
178
85
129
170
221
162
167
162
177
180
204
253
205
146
120
185
207
189
190
205
190
134
168
137
158
159
77
78
124
141
145
120
146
121
108
172
127
111
119
174
178
237
172
167
104
130
168
86
95
116
147
226
243
174
169
124
170
185
198
102
140
146
150
163
185
133
114
84
84
128
146
188
186
165
170
116
132
129
133
224
207
210
191
147
164
131
132
198
209
147
141
205
204
143
149
163
226
180
227
237
239
172
90
88
36
33
32
32
30
32
86
91
97
98
104
111
119
122
128
134
85
88
141
144
139
136
86
85
79
72
90
125
136
137
133
136
138
153
141
120
134
99
96
83
96
100
101
100
99
159
168
172
75
63
151
135
135
124
176
182
126
115
178
187
171
180
192
191
114
111
126
176
116
209
227
120
130
219
210
159
73
213
191
161
186
122
198
200
202
114
136
152
120
93
158
178
142
162
124
161
178
225
160
119
157
164
106
59
185
151
180
150
159
118
136
81
181
105
204
197
205
207
157
158
160
164
216
211
160
162
217
167
168
219
220
218
164
159
206
152
149
218
216
213
210
151
149
145
142
192
192
189
189
188
188
155
153
140
174
183
158
146
148
209
220
125
177
183
173
192
134
166
147
155
165
174
208
203
154
187
167
142
170
79
89
101
104
112
207
221
192
95
190
146
80
71
142
180
230
208
119
133
162
185
144
93
113
170
213
242
225
188
139
142
191
185
180
197
180
209
222
183
126
185
168
120
94
119
136
97
121
171
145
112
81
75
86
122
194
159
175
167
119
173
163
65
154
119
105
145
208
227
225
186
201
183
188
202
192
146
116
141
191
183
219
158
116
159
176
165
200
166
182
182
148
149
133
211
219
237
235
171
168
165
153
155
153
213
142
143
234
229
159
167
223
226
176
170
228
234
228
81
80
81
31
34
39
42
50
53
114
145
156
155
153
154
151
151
156
102
101
154
173
119
163
102
91
136
133
81
121
142
142
76
121
120
147
139
154
101
89
141
151
107
93
103
103
100
87
123
94
136
170
113
124
128
122
166
121
128
106
165
187
179
174
168
171
130
129
125
129
161
199
208
131
189
204
95
218
188
194
173
208
125
228
181
219
145
135
207
180
157
143
146
149
168
97
148
123
170
207
131
149
108
90
136
129
83
169
162
176
155
54
165
142
160
120
199
202
153
155
157
160
162
218
166
166
164
165
218
216
162
212
212
160
159
160
211
212
212
218
218
163
157
150
146
141
137
189
187
190
138
190
190
199
146
148
168
165
153
198
153
184
176
145
209
210
99
208
149
185
166
175
239
205
161
154
101
129
149
154
196
81
133
135
55
99
209
220
137
57
153
93
28
107
104
213
204
151
99
203
197
157
136
201
161
129
228
160
181
203
231
235
205
135
147
147
129
146
204
226
207
163
104
169
118
131
149
159
90
161
168
186
212
151
85
116
193
206
167
208
175
165
96
209
163
95
95
124
213
221
164
155
168
155
155
155
123
127
159
167
161
170
220
233
142
209
158
101
120
157
176
182
120
100
156
208
165
237
218
170
180
196
177
148
132
137
152
153
202
214
165
165
191
158
195
207
225
232
239
69
69
72
82
38
46
56
73
95
159
163
168
147
115
93
82
75
20
65
63
11
4
10
42
58
70
129
132
133
99
132
157
149
127
113
102
151
141
101
112
97
122
114
73
84
148
118
129
117
172
171
163
118
139
143
176
146
110
146
135
170
124
125
175
185
189
181
127
133
188
230
183
202
150
115
225
194
157
202
197
46
145
220
202
153
178
211
191
145
152
171
211
102
128
103
166
132
152
148
116
147
108
147
108
122
165
136
180
138
188
137
88
131
150
121
167
199
159
153
155
157
160
162
166
218
170
169
168
217
215
157
154
154
156
158
212
217
220
220
207
207
152
149
142
190
188
185
187
138
194
198
146
200
180
185
195
189
138
145
199
193
175
197
202
172
192
215
131
100
180
166
157
236
205
169
190
143
147
199
167
163
140
83
168
117
154
202
218
169
43
106
107
91
93
129
184
212
203
149
148
170
172
158
152
142
150
156
251
215
166
211
222
159
121
132
150
174
152
194
178
166
193
171
66
169
163
201
201
217
165
222
224
194
175
115
117
173
215
174
204
205
195
211
183
87
125
123
125
228
223
182
203
175
218
210
180
164
170
143
148
142
211
216
203
194
155
146
140
162
160
165
169
107
169
200
239
132
133
227
201
128
138
132
130
155
155
151
148
208
198
181
181
213
170
217
145
168
233
220
73
76
84
83
79
29
46
85
176
219
191
165
122
82
96
101
82
71
25
73
84
44
36
68
68
97
33
42
98
102
123
104
89
146
160
152
146
134
90
93
129
56
79
106
150
151
105
110
113
127
166
179
136
132
154
76
147
182
166
184
193
129
122
124
181
142
183
162
195
207
230
99
160
239
119
128
204
201
56
121
184
126
146
179
197
221
142
187
158
158
197
206
163
171
221
172
156
167
121
138
131
144
109
97
147
58
137
131
180
170
100
110
133
159
141
193
151
156
206
154
155
155
205
205
205
214
162
162
213
213
160
160
161
160
160
211
157
208
208
201
201
148
199
196
195
195
140
141
141
194
195
143
143
143
195
194
143
196
196
194
142
141
139
191
191
190
136
134
206
136
76
194
224
137
235
155
157
192
237
181
136
110
158
139
188
139
162
226
142
111
160
93
141
118
59
196
254
211
112
230
228
197
202
200
157
124
140
124
151
242
159
158
121
113
177
179
197
195
172
165
159
126
171
98
150
181
147
168
217
195
150
188
145
161
126
118
112
196
198
157
137
140
211
171
218
163
117
224
212
236
241
173
141
118
151
135
188
174
193
138
188
205
232
253
173
179
212
195
169
165
188
223
163
160
205
190
197
192
173
225
209
195
213
143
125
125
223
239
249
183
146
210
144
190
177
127
160
219
183
74
78
84
83
78
82
46
91
132
173
179
150
113
82
106
97
84
60
9
12
65
84
45
36
64
64
52
96
73
70
80
135
100
83
129
137
156
115
88
65
68
86
102
99
150
160
164
168
122
102
164
167
109
89
174
158
109
162
187
174
99
109
126
138
203
171
161
180
209
208
71
184
201
170
198
147
151
50
118
176
110
143
104
194
201
177
166
153
152
174
196
188
145
219
167
178
220
141
133
141
177
188
115
181
104
136
130
76
189
86
93
110
89
97
103
193
150
206
206
154
155
154
205
205
205
214
214
161
213
213
160
160
160
160
159
158
156
208
207
201
201
148
147
144
143
195
192
140
141
142
142
142
143
143
143
142
195
195
194
142
193
193
138
190
189
187
135
118
190
200
147
176
225
135
214
191
168
195
157
121
188
131
109
162
179
173
187
176
106
143
165
115
138
103
60
137
228
221
168
191
204
209
220
207
120
123
151
160
160
198
234
200
119
141
136
206
191
166
209
162
146
98
85
45
117
173
160
159
192
140
152
139
154
129
181
198
128
160
194
160
151
142
178
90
123
195
144
168
149
144
196
203
179
188
160
150
145
185
206
140
104
139
179
223
180
187
210
187
167
209
199
200
218
187
184
148
184
213
237
235
222
207
184
170
168
186
229
242
174
147
188
187
137
133
119
120
218
235
255
82
83
88
82
27
27
94
74
116
164
176
155
189
177
117
88
122
44
89
94
96
53
95
24
78
78
17
10
52
66
96
57
73
83
78
62
59
98
111
104
95
96
93
105
156
158
154
153
109
137
69
101
146
123
122
121
184
177
167
116
128
135
183
155
162
222
200
218
147
89
199
172
184
200
171
165
99
197
129
135
136
91
124
180
172
179
158
181
177
216
160
185
203
160
210
165
176
126
145
134
162
176
153
135
65
130
95
110
127
65
116
152
97
71
140
194
201
203
205
205
206
154
205
204
204
212
212
160
160
211
159
158
157
157
208
208
207
207
206
200
148
147
198
195
143
142
192
140
140
192
192
192
192
140
141
141
194
192
192
192
139
136
188
186
184
183
183
194
180
145
204
210
220
174
122
95
168
213
134
173
171
191
179
156
174
187
189
205
117
69
106
128
120
87
70
103
208
172
57
141
194
188
227
219
181
162
168
194
216
205
161
191
205
159
146
214
204
197
203
119
108
92
99
197
188
172
120
156
180
121
140
114
133
114
152
202
120
140
214
156
159
172
163
212
199
214
182
206
214
168
160
195
176
183
139
138
178
165
143
163
165
160
130
122
181
196
196
171
169
116
198
212
179
183
239
179
77
131
180
184
197
166
169
151
197
202
191
147
174
170
161
160
200
211
152
141
216
224
181
90
90
90
83
78
29
40
113
144
188
226
215
207
149
122
111
124
91
73
7
73
59
57
28
22
62
74
98
16
29
85
38
27
79
133
105
147
109
114
157
147
148
153
104
154
112
116
103
144
63
130
120
131
131
142
125
154
199
189
154
131
86
76
211
193
193
100
151
230
183
149
150
136
142
63
99
141
153
132
103
134
135
163
177
150
140
173
201
213
141
208
176
179
195
167
247
192
154
129
101
113
153
109
76
137
109
88
134
76
92
173
144
83
89
142
145
150
205
204
205
205
205
204
203
204
211
211
158
158
210
209
209
153
153
205
205
205
205
205
148
147
198
197
195
194
193
193
141
141
192
192
192
192
191
139
139
190
190
191
189
136
135
185
130
129
180
128
176
182
170
167
168
171
176
134
220
179
191
143
145
184
132
121
145
183
179
179
196
143
169
100
115
176
134
98
141
151
193
137
87
170
200
220
209
168
160
125
89
151
226
217
179
189
156
209
220
217
213
201
109
120
178
196
190
212
217
134
146
172
123
186
119
112
87
201
203
127
106
160
165
162
129
134
157
163
208
191
206
248
191
64
104
134
196
231
166
142
89
136
174
182
187
171
135
183
200
140
160
104
104
147
128
138
126
116
125
92
126
81
95
153
159
157
165
216
192
203
190
125
142
118
154
202
148
136
135
211
205
209
42
92
91
84
79
30
93
123
96
134
217
210
157
160
180
175
99
86
68
59
60
75
64
65
24
34
40
46
28
43
52
111
114
58
104
75
147
99
99
160
156
143
158
107
114
112
89
77
83
138
125
127
117
127
129
141
191
164
173
197
93
73
148
147
112
109
211
230
160
181
195
186
181
91
137
182
145
138
149
120
138
138
79
144
106
135
153
154
155
144
196
177
175
192
202
187
195
129
137
80
129
65
159
100
137
96
108
115
83
86
168
149
77
114
187
201
202
153
152
204
205
205
204
203
203
208
208
156
155
207
206
206
150
150
202
202
202
203
203
147
147
146
197
194
193
193
143
142
194
193
193
192
192
190
136
137
189
190
188
188
188
133
133
130
181
126
125
128
182
161
105
159
160
112
126
165
225
184
130
131
147
99
150
127
104
167
211
172
178
182
177
124
199
171
95
162
232
183
126
154
170
195
134
183
254
195
156
111
34
251
149
146
124
129
172
168
208
234
253
150
123
188
241
186
144
179
173
141
185
177
117
138
106
144
163
130
114
217
134
122
179
198
189
196
179
196
202
206
206
230
147
131
110
158
183
227
132
122
157
158
248
244
161
164
198
146
184
158
165
173
195
134
142
148
146
128
111
85
61
86
69
104
152
170
234
207
142
115
149
204
156
135
162
126
144
217
229
225
238
98
96
41
33
33
37
97
116
71
95
215
223
164
210
195
130
134
58
92
79
75
74
67
64
73
27
24
21
0
158
159
58
81
74
88
150
151
111
108
162
160
153
162
151
89
89
111
176
173
119
131
125
131
143
140
127
180
161
71
110
149
135
147
135
158
149
153
156
194
195
157
159
72
232
217
167
152
175
166
205
112
107
132
185
122
156
133
105
100
203
175
191
188
193
217
144
149
195
79
138
53
162
129
151
119
83
132
93
124
148
153
136
152
179
196
196
202
202
152
152
153
204
203
201
201
206
154
153
205
204
203
202
202
149
200
199
147
200
201
196
144
144
196
196
144
144
142
194
194
142
142
142
142
139
139
139
136
135
187
135
186
185
133
180
179
178
126
114
163
160
105
105
156
104
110
113
171
122
127
130
131
238
116
157
117
96
165
169
173
128
132
229
153
150
122
149
151
211
186
103
119
216
180
169
177
255
248
150
93
136
187
171
170
181
165
108
152
224
163
155
158
209
220
215
215
130
153
230
204
199
173
83
51
138
181
110
44
104
134
210
126
142
226
208
207
206
211
224
204
193
135
148
149
113
102
193
114
138
198
164
171
213
189
199
203
153
200
181
173
214
224
190
186
167
151
137
114
176
90
75
34
82
157
214
220
208
150
157
172
157
153
169
155
143
200
208
224
240
227
49
97
39
35
42
102
57
109
111
68
169
204
174
183
159
164
125
118
106
46
97
80
74
67
64
15
74
78
52
96
100
143
131
142
137
134
142
105
104
106
111
112
85
154
177
163
106
173
172
130
129
136
131
124
178
138
148
187
130
134
152
126
139
137
121
177
141
164
112
176
60
181
185
178
231
143
128
157
147
124
154
118
112
141
149
136
88
105
158
175
142
131
188
227
154
197
195
115
145
64
141
226
65
123
84
111
100
145
80
162
127
146
159
182
145
196
202
203
152
152
153
204
150
201
201
205
205
204
204
203
149
201
199
147
145
144
144
144
197
195
143
195
143
143
143
143
194
194
194
142
142
142
142
137
189
189
136
188
186
185
133
131
130
179
177
176
124
157
159
111
165
166
116
113
113
107
145
138
81
130
128
168
188
181
199
205
132
159
156
63
145
166
120
93
172
159
134
224
183
120
116
99
184
155
205
243
159
207
130
172
188
168
225
201
183
179
191
192
193
153
161
215
242
214
213
203
204
210
206
169
105
89
57
116
135
189
158
123
105
90
185
202
201
206
185
252
207
162
183
173
154
158
145
79
82
135
162
166
215
159
152
193
232
255
181
181
172
193
163
218
195
199
225
239
233
190
165
132
121
98
120
103
143
219
137
107
181
199
150
121
168
177
231
166
153
143
193
209
230
97
94
36
35
96
108
113
111
57
56
94
188
165
174
129
155
184
118
147
67
103
86
79
65
59
8
69
77
93
88
53
113
133
142
141
152
157
108
110
103
90
83
72
176
164
172
168
161
182
130
128
180
180
177
127
133
193
201
128
131
133
141
138
119
204
194
201
117
163
128
195
203
185
228
138
183
142
89
151
182
109
91
125
155
128
118
75
169
120
167
142
130
154
196
168
187
130
187
112
79
154
171
75
176
71
104
110
192
74
180
144
153
164
185
146
145
151
150
203
152
152
151
150
200
200
205
204
204
203
202
201
148
146
145
144
142
142
142
142
194
142
142
142
143
143
195
195
195
195
195
195
143
143
138
190
189
187
186
186
186
131
131
130
126
177
176
176
107
109
164
165
168
167
114
111
105
141
134
126
122
121
81
84
167
159
163
164
210
198
150
164
157
92
104
131
169
124
198
185
183
129
108
167
160
196
216
140
100
186
124
183
233
209
139
207
211
88
97
132
176
225
198
217
183
229
141
153
177
209
215
163
124
83
140
186
195
176
206
86
128
117
177
225
251
215
218
212
135
160
194
169
141
147
163
80
57
136
232
255
186
143
191
239
214
169
174
183
212
165
195
165
178
255
183
164
245
140
139
110
95
130
163
133
209
172
147
137
180
193
232
208
182
148
145
167
239
220
219
213
39
35
31
38
52
64
68
64
50
39
127
117
152
169
172
178
175
167
147
95
127
127
106
65
55
57
66
73
0
11
99
134
127
130
132
124
88
86
90
93
104
126
162
155
162
184
174
163
183
135
175
162
169
191
198
135
109
143
146
144
157
130
135
142
181
197
145
133
55
155
103
208
178
137
138
173
75
217
200
125
145
123
133
141
83
115
166
117
129
131
184
145
155
107
192
197
174
121
80
161
140
107
180
146
71
107
220
151
168
186
134
168
173
188
197
143
150
201
201
149
149
148
147
197
198
200
199
199
146
197
196
195
141
140
138
137
135
135
135
139
139
140
192
194
194
143
144
196
196
196
196
196
144
191
190
190
135
187
187
185
132
132
130
128
126
126
125
116
114
111
108
104
153
101
99
97
144
141
141
142
90
60
55
55
72
99
124
149
120
208
177
185
136
154
153
122
110
196
153
162
215
190
162
133
124
211
202
158
92
170
161
207
129
119
152
174
187
136
67
114
136
177
205
166
163
137
196
225
219
181
116
86
104
129
178
172
167
170
142
139
210
133
155
171
183
226
151
181
135
161
160
225
126
112
110
95
135
188
190
203
175
229
145
160
239
127
144
164
124
227
187
168
233
186
183
235
174
162
194
145
134
154
150
206
155
149
226
238
229
199
193
144
144
129
144
211
228
250
241
89
36
33
47
61
74
76
62
99
90
107
137
188
232
176
190
232
242
173
145
230
168
133
71
62
65
71
74
11
60
203
161
146
98
91
89
90
85
113
117
103
100
167
169
161
170
180
178
118
134
179
185
184
126
125
182
187
140
132
144
143
115
121
194
204
177
57
147
161
118
135
149
182
211
152
156
187
180
182
164
199
152
194
127
158
126
138
133
119
138
135
139
114
196
198
152
177
74
163
134
71
174
182
131
141
231
201
136
183
177
158
175
126
189
196
142
148
147
146
146
146
146
144
195
143
145
197
144
143
195
193
193
139
138
136
134
132
132
132
137
138
191
191
193
194
194
144
144
144
196
196
196
196
191
189
137
136
135
133
185
134
133
184
181
128
125
125
175
173
109
102
94
90
139
90
91
150
156
110
115
117
125
112
99
92
90
118
81
66
52
116
101
67
49
106
130
166
199
238
153
126
184
196
121
153
91
255
255
179
107
229
250
120
195
156
117
236
210
68
84
135
167
151
163
176
165
179
161
182
132
112
90
132
172
172
229
190
210
121
146
130
169
189
183
166
202
215
206
210
192
194
190
207
161
138
197
98
116
189
207
229
247
150
140
176
136
141
155
134
202
186
150
226
234
245
252
135
130
218
184
141
166
107
135
175
160
227
234
237
158
201
154
138
173
154
181
209
207
237
45
46
47
50
51
52
105
107
108
111
69
125
121
117
125
204
200
199
167
247
183
189
137
98
81
73
24
72
33
121
181
163
147
90
99
66
74
113
149
98
167
169
171
172
121
123
176
177
126
127
176
180
129
129
131
187
178
153
124
114
142
133
198
199
146
47
138
142
127
110
139
214
182
167
90
122
182
194
175
170
196
214
131
88
213
116
184
118
131
142
154
139
176
185
197
100
124
186
153
107
70
202
149
100
158
208
163
152
190
152
175
129
139
145
192
190
141
138
141
139
139
139
139
137
137
146
143
142
142
141
137
135
132
129
128
127
175
122
122
125
178
179
181
187
136
137
191
139
139
194
195
195
195
196
194
142
193
192
138
138
138
136
135
186
185
182
182
174
171
168
113
161
158
155
150
149
145
142
88
85
137
86
86
83
135
132
79
77
76
122
120
64
64
64
116
124
127
132
149
165
163
156
148
82
211
167
170
175
212
147
182
243
171
166
255
187
193
247
122
107
224
244
224
150
149
160
197
166
138
154
208
196
158
240
90
102
118
151
195
161
179
137
126
145
228
199
187
191
156
238
140
151
117
139
145
228
219
174
117
189
121
172
247
169
123
200
203
122
148
225
170
146
200
202
189
144
186
181
87
132
194
176
156
168
222
242
233
226
197
159
150
144
216
196
161
156
210
227
198
99
99
48
102
103
104
106
106
110
114
120
72
73
76
189
173
187
208
211
171
201
184
175
15
10
17
6
53
58
20
60
130
119
99
47
95
164
84
103
167
164
171
170
171
172
175
176
176
125
124
122
180
130
130
184
187
196
192
117
117
120
177
201
100
121
161
115
123
167
81
113
124
191
140
166
171
156
194
174
219
187
210
138
204
170
179
176
133
124
130
120
121
193
196
75
177
122
152
127
57
205
159
191
110
205
211
150
172
207
60
116
132
140
144
192
190
192
189
137
135
187
187
187
133
133
139
139
190
190
135
132
131
128
180
179
178
176
174
173
126
178
179
181
186
135
136
139
139
139
142
194
194
195
194
194
194
193
192
190
190
138
136
187
186
183
182
182
173
172
167
165
161
158
155
152
98
94
91
88
87
139
86
85
135
134
131
79
76
73
121
119
64
64
64
64
99
60
60
118
132
146
155
170
176
178
122
106
58
77
128
152
181
191
255
159
194
128
151
74
98
207
222
255
235
182
113
103
122
138
152
104
170
217
226
229
163
84
83
130
196
178
198
207
239
213
179
144
99
158
224
164
228
242
123
179
200
161
152
156
209
205
98
203
229
181
138
106
101
137
219
180
177
181
247
236
149
203
198
190
164
172
210
206
210
239
207
151
191
210
146
110
229
238
204
164
176
235
190
205
50
102
50
52
104
105
106
106
111
116
120
73
77
82
193
192
179
160
114
109
119
176
55
15
65
6
9
69
60
53
23
77
68
95
136
153
131
106
111
163
169
169
170
171
171
172
173
176
124
121
122
126
180
181
182
185
146
173
145
119
121
165
116
200
124
106
156
100
118
136
197
134
191
167
131
142
108
175
161
119
218
128
208
167
172
183
169
136
173
144
171
187
181
46
181
60
144
129
74
130
112
189
149
200
165
176
149
201
187
56
108
138
141
141
139
188
187
186
130
130
182
180
180
180
128
131
183
182
182
180
179
177
177
177
176
176
123
123
123
126
126
179
180
184
185
134
138
138
138
141
141
194
194
194
142
194
191
190
190
138
136
136
187
184
131
130
130
121
173
168
164
162
159
156
101
100
94
92
89
140
140
137
136
134
131
79
76
76
124
121
117
116
65
63
63
45
98
98
100
102
103
106
110
121
64
68
82
80
132
148
97
166
205
169
181
175
131
133
162
128
177
253
229
163
190
187
83
86
127
199
191
143
204
153
119
148
161
132
108
181
178
203
147
197
147
183
147
110
104
127
186
229
164
145
170
179
203
180
254
169
163
229
149
174
162
219
141
121
225
154
182
171
181
237
228
229
195
171
160
206
217
213
240
225
95
171
163
181
164
165
152
195
97
81
118
175
161
215
255
103
103
51
52
53
53
54
55
59
115
70
75
77
80
168
166
51
48
114
109
122
64
31
21
59
11
22
65
27
10
73
79
76
42
117
128
115
168
163
162
169
165
167
168
119
120
173
173
124
122
123
127
180
178
178
181
163
173
180
145
136
81
120
100
145
157
92
76
202
163
82
188
207
139
165
160
155
140
110
167
130
171
210
188
162
195
171
178
186
159
183
186
141
106
164
64
133
119
61
151
109
200
120
135
166
109
119
164
103
82
108
140
192
139
136
187
184
181
128
128
178
178
178
178
126
126
178
178
178
178
176
176
176
176
175
175
175
123
123
126
126
127
180
184
184
133
137
138
138
141
141
141
141
142
142
194
191
190
190
188
136
136
133
184
183
130
130
122
121
169
165
109
157
154
101
100
94
90
89
139
139
136
135
134
131
130
76
73
71
120
117
117
115
63
64
56
54
56
59
60
58
55
56
55
57
55
105
71
61
103
135
128
150
204
108
136
85
124
229
140
184
242
255
161
165
201
152
103
103
160
179
140
203
199
70
110
160
196
134
124
183
188
178
144
164
57
137
137
116
112
153
221
229
166
216
224
203
185
181
214
152
184
104
187
165
155
136
127
163
198
210
190
170
170
240
230
164
188
176
179
230
168
239
216
109
80
145
177
139
155
214
176
117
128
117
147
157
188
219
52
105
105
53
53
54
55
57
58
61
126
131
75
72
51
90
103
132
62
72
148
123
71
77
84
30
69
69
24
23
25
20
21
24
21
75
134
158
164
168
163
165
115
116
117
117
172
173
121
121
175
127
179
177
175
177
194
138
215
175
106
158
121
129
140
96
140
157
185
119
213
120
132
131
134
101
129
119
154
88
126
142
172
116
189
166
132
121
185
164
181
147
144
157
40
172
131
52
158
97
122
122
29
151
143
74
141
163
32
132
122
193
189
134
134
133
178
178
177
125
125
177
176
176
124
122
122
122
174
175
174
174
174
174
122
174
174
174
174
178
179
179
180
183
183
184
137
189
189
140
141
141
141
140
140
192
191
188
136
136
134
134
133
183
182
129
129
121
120
167
111
109
106
103
151
149
91
90
139
139
138
135
83
79
79
128
125
73
70
118
115
115
115
114
62
79
77
76
73
72
73
78
78
117
122
71
69
68
71
70
109
124
110
113
113
56
147
112
103
149
202
198
219
193
175
111
121
184
158
54
83
132
173
201
225
162
127
181
199
204
209
207
195
162
180
38
28
72
121
57
138
166
175
219
225
255
165
174
198
142
124
255
166
148
93
138
162
156
153
242
175
210
242
197
173
218
190
174
180
225
235
175
164
189
234
123
103
145
170
226
149
173
187
163
202
205
220
245
179
105
105
106
106
55
55
56
56
111
63
125
131
133
83
106
60
94
129
92
92
132
92
80
96
87
82
91
108
37
34
26
24
21
22
7
50
167
103
173
106
116
111
115
116
116
171
171
172
174
179
187
167
163
193
168
166
198
167
126
178
172
176
144
63
133
157
111
154
137
198
133
111
139
132
119
147
146
105
107
182
137
132
125
122
119
114
124
104
92
189
150
90
147
65
133
117
69
128
129
108
148
48
98
171
154
106
160
156
130
195
178
187
184
183
130
128
175
122
123
121
120
119
120
119
172
171
171
119
119
119
173
173
172
120
172
173
122
175
175
178
126
179
127
129
182
182
187
188
188
140
141
141
141
140
138
189
189
188
186
186
134
133
184
182
182
127
127
118
116
163
161
158
103
101
97
147
143
140
139
136
136
135
135
79
129
126
73
72
71
118
118
115
114
113
61
70
69
120
123
124
125
128
127
128
128
130
130
130
130
145
139
130
122
112
102
46
95
49
65
124
114
116
83
124
133
161
150
82
108
197
177
173
208
225
123
126
141
188
223
235
191
172
133
87
140
157
95
60
58
67
135
191
137
219
234
236
207
141
215
194
126
180
158
163
78
88
184
139
188
181
205
222
174
143
255
179
180
205
242
243
224
204
187
181
144
189
169
154
165
205
174
202
178
185
241
226
250
255
221
53
106
106
107
107
107
108
109
60
63
125
131
133
135
153
132
109
73
140
144
93
97
114
92
64
73
116
104
44
44
36
26
16
77
41
50
205
151
128
111
124
117
112
113
114
168
171
172
173
161
172
181
114
96
187
174
197
113
177
180
149
102
190
149
135
104
168
119
198
192
183
134
124
126
121
113
139
80
190
191
168
139
173
106
134
109
154
138
132
123
38
144
98
71
140
130
60
152
99
139
106
56
103
162
92
115
167
129
165
181
180
184
184
130
129
127
175
174
121
120
119
119
117
118
119
168
168
168
118
118
170
170
120
120
172
173
175
175
175
126
126
178
127
130
130
182
187
187
135
139
140
140
141
138
189
189
188
186
186
186
133
184
184
180
179
127
126
115
167
162
160
157
102
100
97
146
141
140
137
136
135
135
82
131
129
126
74
72
70
67
118
115
114
62
111
110
57
109
112
113
116
67
120
121
71
71
125
73
125
129
126
122
66
114
109
107
53
100
47
111
117
109
105
79
111
172
154
165
174
118
206
182
160
161
179
181
181
154
168
219
226
185
172
176
69
53
69
130
90
73
96
141
163
190
195
205
237
229
223
231
183
176
201
187
177
174
149
171
127
234
204
214
214
185
131
200
232
140
226
233
171
150
215
204
155
132
178
152
157
207
160
183
245
242
184
224
229
239
180
106
106
55
55
56
108
109
112
114
66
74
80
134
135
141
136
119
153
164
142
69
80
130
148
83
68
61
56
49
50
43
27
12
74
45
161
203
132
164
122
103
164
164
166
116
170
171
172
123
131
127
108
98
107
111
184
173
190
166
126
142
149
83
103
134
68
131
199
180
178
180
157
123
141
133
132
90
197
185
182
183
171
186
185
112
142
75
195
182
197
144
118
72
148
117
132
170
110
177
109
62
70
179
106
106
152
152
51
199
155
178
129
129
128
125
124
174
173
120
171
168
115
166
167
115
111
163
164
164
115
116
170
170
172
172
173
175
175
123
125
125
126
127
130
131
183
186
186
135
139
139
140
140
137
189
188
134
185
185
132
132
184
129
127
179
126
126
166
166
161
157
102
99
97
148
145
88
85
84
133
133
80
80
130
128
127
73
71
70
119
117
116
61
60
112
99
99
99
101
49
103
104
106
56
56
58
58
59
59
33
35
39
47
105
111
66
77
126
120
114
51
45
103
103
55
114
117
136
94
88
116
122
232
223
217
198
165
127
121
122
135
179
185
190
216
212
119
134
124
92
97
119
208
182
133
176
218
215
173
110
232
237
196
214
137
58
213
240
135
182
190
186
163
154
194
119
235
255
230
154
134
193
153
177
163
160
166
166
204
183
145
165
228
234
200
202
224
187
211
107
107
55
56
56
57
110
114
116
120
76
81
82
136
114
126
150
126
68
89
154
136
72
81
117
115
78
83
58
43
31
27
19
0
87
69
114
46
97
81
18
20
99
112
72
137
149
157
110
112
124
110
107
116
133
145
131
172
222
132
144
199
125
55
98
151
129
108
173
133
112
218
169
105
143
98
142
181
121
182
185
181
183
185
127
100
145
115
116
64
120
61
153
126
151
55
112
110
175
83
51
175
112
89
119
165
96
150
181
170
177
177
125
124
124
123
121
172
171
168
166
165
164
162
110
108
160
161
111
112
115
115
170
170
172
173
175
123
123
176
176
125
126
131
132
132
187
188
188
140
141
141
141
134
134
134
185
185
131
131
131
129
128
127
176
123
175
165
112
107
158
154
100
97
93
91
88
84
135
80
80
79
79
128
128
127
74
124
123
118
65
62
114
113
113
119
117
116
114
114
61
113
114
112
110
110
110
58
57
72
65
111
106
103
50
52
112
110
115
122
65
58
59
135
49
92
106
46
40
43
70
63
141
175
214
204
189
98
112
156
159
196
147
185
145
153
222
204
159
134
133
125
166
220
210
193
175
201
163
150
235
196
241
183
162
173
202
162
187
225
151
127
242
154
168
183
123
180
202
108
138
163
97
103
173
166
169
161
156
147
156
195
197
91
157
209
84
174
175
107
107
55
56
109
109
110
114
117
120
76
81
134
136
126
120
91
85
83
148
93
110
90
89
71
65
74
69
62
95
26
26
72
0
48
68
96
47
179
156
121
122
170
168
166
165
164
110
110
116
71
93
142
89
70
188
183
192
150
108
222
165
126
65
163
120
140
108
196
175
200
159
149
206
178
131
151
199
120
179
191
121
189
164
156
173
119
150
103
85
71
122
112
133
76
71
92
178
176
59
136
160
132
105
137
174
76
110
108
171
181
177
176
124
123
123
120
120
170
167
166
164
163
109
110
107
160
161
110
111
115
115
170
170
120
121
123
175
175
175
176
125
178
131
132
133
188
188
189
192
141
142
142
134
134
134
185
132
131
131
131
129
128
179
124
123
123
165
164
108
158
154
100
98
93
91
88
84
81
80
80
79
131
128
128
127
126
72
69
118
65
115
114
61
61
76
72
71
121
121
67
66
118
116
62
60
112
112
112
147
85
125
115
53
46
46
55
60
56
108
109
58
59
64
126
113
88
93
55
102
76
81
72
63
164
219
186
137
120
131
220
213
199
221
201
138
200
224
187
133
208
107
136
193
229
233
182
174
183
222
203
208
246
254
157
155
226
207
193
216
176
157
124
186
165
139
227
191
151
59
122
131
139
135
206
170
198
201
192
211
240
154
82
146
145
160
117
162
182
103
105
106
109
111
114
116
120
122
123
76
76
131
131
142
140
87
85
83
83
140
145
162
144
96
94
148
164
156
108
70
30
38
136
184
108
194
31
191
161
177
179
113
108
168
173
116
98
83
119
188
99
103
146
113
183
137
110
190
191
157
166
90
135
113
125
134
124
182
116
109
178
179
148
150
186
166
169
170
166
167
172
171
167
153
174
180
140
94
158
114
117
135
95
66
138
122
101
79
49
168
175
199
152
141
154
61
137
115
113
117
180
180
180
126
124
170
117
113
110
107
157
156
155
104
107
108
110
166
115
115
169
171
172
120
122
175
175
175
182
131
132
134
137
190
139
141
141
193
192
192
140
140
140
192
191
188
135
132
132
184
130
181
178
175
122
122
110
162
106
104
102
153
151
147
95
90
87
86
85
84
77
77
129
128
127
75
74
124
123
122
119
118
66
65
60
58
57
109
57
58
60
58
58
58
58
60
112
112
111
58
57
108
56
57
57
56
56
56
56
58
58
58
109
109
110
113
114
115
66
68
69
71
73
76
130
220
100
120
165
181
157
138
196
233
199
201
199
193
179
177
170
132
101
186
239
158
121
190
202
213
251
98
100
255
205
159
184
126
136
149
162
174
152
157
181
151
164
171
206
114
90
117
136
134
145
218
198
226
224
153
126
204
149
154
131
177
184
197
103
105
106
110
60
115
66
121
124
124
128
77
79
131
134
82
80
135
87
95
154
147
147
87
98
149
85
80
112
76
53
46
130
136
164
145
194
47
197
159
165
179
110
106
163
173
175
117
112
122
113
189
96
146
166
174
154
202
161
153
142
166
183
172
128
122
126
141
117
142
135
134
110
172
114
105
162
111
114
166
116
120
173
170
184
179
158
134
204
75
112
142
155
103
130
113
138
81
97
47
170
169
183
184
158
97
98
129
112
123
121
179
179
177
125
122
169
114
112
109
106
157
156
157
155
108
109
113
114
116
118
170
172
172
175
123
177
178
178
187
188
189
190
142
143
143
147
147
146
196
195
194
194
193
193
192
188
188
185
185
184
182
181
178
175
122
122
111
110
106
105
156
154
152
151
148
91
142
139
86
85
79
79
76
128
127
75
74
126
123
122
121
121
68
68
61
111
109
110
111
111
111
57
57
109
109
57
109
109
57
57
56
56
55
57
57
57
57
109
57
111
111
111
108
111
112
112
114
115
120
120
70
71
74
76
78
181
176
139
122
155
201
229
200
217
200
177
190
226
211
213
188
109
132
117
120
161
155
207
218
206
173
164
115
145
161
248
227
229
125
112
145
164
225
231
179
156
218
190
194
149
90
108
172
117
173
139
217
178
211
137
148
189
138
150
137
219
255
198
103
105
106
59
61
64
67
70
125
125
128
77
79
131
126
77
131
136
138
90
150
159
97
71
126
129
70
67
107
128
71
36
134
111
171
168
193
40
138
107
100
90
116
123
133
141
141
131
175
159
111
95
101
117
117
88
199
159
167
129
153
194
166
128
131
112
123
139
110
141
165
152
94
148
90
104
109
109
112
115
168
170
172
164
179
173
113
197
166
141
147
130
117
109
189
156
85
88
76
97
156
182
184
161
205
75
115
120
113
122
120
177
177
177
125
121
169
166
165
110
109
105
105
105
157
110
163
165
167
116
118
170
172
174
175
176
179
179
180
189
137
190
140
143
144
145
148
148
147
145
196
195
195
193
193
192
137
188
185
185
184
182
181
178
175
122
122
111
111
109
158
156
103
102
100
97
92
91
140
87
86
79
79
79
78
76
128
127
127
126
125
122
121
69
69
64
113
111
58
58
110
111
57
57
109
57
109
109
57
56
108
108
108
107
109
57
57
57
109
57
111
111
111
111
111
112
62
63
65
68
122
123
124
126
78
80
142
155
103
110
127
132
192
181
212
210
173
172
217
226
217
156
134
137
110
122
178
181
229
220
201
210
148
99
168
191
160
217
194
145
75
108
189
180
219
241
242
208
213
174
164
161
95
123
141
211
243
214
211
192
221
176
137
123
147
140
196
199
166
103
105
54
60
62
66
68
72
74
126
129
77
79
79
120
124
78
84
87
89
144
140
93
99
82
116
104
95
137
121
77
128
123
161
160
159
188
153
154
123
132
110
64
49
0
0
5
32
99
147
108
87
92
118
47
131
143
129
109
172
167
178
179
126
102
117
114
98
166
106
67
153
175
99
93
108
111
108
110
114
115
111
163
191
179
122
186
146
137
155
179
112
137
147
96
129
134
155
71
129
87
187
137
187
178
63
190
155
123
164
114
124
174
174
122
121
168
165
166
164
110
109
107
108
108
163
164
166
169
119
119
121
174
175
125
126
181
182
182
191
192
193
195
146
147
148
148
148
148
148
147
147
199
194
194
193
189
189
186
186
184
182
129
126
175
122
122
114
114
110
108
105
104
103
153
152
148
144
142
141
89
83
135
134
82
132
131
131
132
129
129
127
126
73
73
66
115
114
60
60
112
112
110
56
56
108
108
108
56
55
107
107
107
107
109
109
58
58
58
58
60
112
112
113
114
115
66
66
69
72
73
125
128
130
134
136
130
132
141
87
84
108
174
212
188
164
129
90
186
200
164
202
189
168
164
125
169
239
203
192
203
169
191
102
118
174
181
163
165
144
36
47
128
219
227
219
239
220
171
176
157
176
144
99
131
198
165
235
213
189
140
214
191
119
72
97
143
221
211
102
52
54
59
61
65
67
72
74
74
129
77
79
79
115
118
124
137
88
88
138
137
85
81
86
98
156
157
155
153
110
120
122
179
195
183
142
66
0
0
65
22
79
66
66
32
53
52
33
79
129
102
56
62
121
106
116
144
129
172
153
161
172
122
120
103
69
190
167
109
103
111
158
153
157
159
147
166
163
105
112
157
154
171
67
179
128
131
170
176
144
117
204
143
169
173
201
106
123
87
128
175
142
231
91
143
123
106
165
183
180
171
120
120
120
119
167
164
111
111
164
162
110
110
111
115
116
170
170
169
121
123
175
175
124
126
183
184
133
193
195
197
199
150
151
151
151
151
151
150
149
201
149
145
197
196
191
190
187
187
132
182
129
126
175
122
174
168
114
112
162
161
158
158
156
154
150
148
147
144
143
142
89
87
86
138
135
135
85
82
133
132
132
77
77
72
122
121
65
64
62
112
111
56
56
108
108
105
53
54
53
105
105
105
108
109
60
60
60
60
114
114
114
115
115
66
119
71
73
73
129
133
134
137
86
88
140
141
140
88
88
89
93
164
171
188
200
183
103
116
196
159
231
151
137
220
162
178
207
243
206
210
162
128
203
197
203
138
104
134
114
53
136
185
224
246
196
154
161
126
135
190
139
135
109
148
163
202
206
220
207
231
170
221
151
96
178
215
144
102
104
54
59
113
117
119
124
74
74
77
77
79
79
115
120
126
137
140
140
135
70
72
81
90
156
161
110
199
182
187
116
92
73
106
70
58
33
47
56
56
44
72
82
94
50
45
32
24
39
127
47
43
104
70
73
87
118
170
157
157
164
163
157
83
85
166
160
126
141
108
104
154
153
151
154
105
161
154
107
115
154
159
129
103
171
174
129
178
161
99
141
192
156
185
137
91
59
171
102
137
177
165
180
114
169
180
111
118
122
166
171
119
120
120
119
114
165
163
112
164
164
165
111
111
115
168
170
170
172
121
124
123
176
177
129
132
133
186
194
196
198
148
151
151
151
151
151
203
202
150
201
201
197
197
196
191
190
187
187
184
130
129
126
123
174
174
168
168
165
164
161
160
158
157
156
152
149
147
146
146
142
90
89
88
86
138
137
85
84
83
132
80
79
79
126
124
121
68
66
63
62
59
57
108
108
54
106
105
106
105
104
104
105
108
109
60
60
60
60
114
114
114
120
119
68
71
73
76
78
82
84
87
87
89
91
148
149
147
144
143
143
92
100
104
161
181
214
170
103
223
110
85
226
211
200
255
149
181
151
163
211
248
113
160
149
149
213
147
132
90
58
139
175
215
244
177
136
186
173
139
158
168
191
185
132
122
150
151
236
215
207
199
214
148
108
157
173
156
50
104
106
111
113
117
119
123
125
125
76
76
78
78
120
124
79
88
140
134
77
70
124
150
166
175
126
122
93
132
111
72
0
0
50
69
14
16
18
19
16
13
71
81
32
22
10
17
81
76
12
97
35
60
113
85
148
152
156
151
158
167
109
97
89
130
103
166
64
170
145
89
99
155
151
146
104
140
171
118
131
168
192
98
153
176
124
162
150
181
125
192
157
171
150
89
68
122
143
104
130
133
143
167
60
123
146
152
130
115
123
116
117
117
117
117
114
166
165
165
113
166
167
168
116
118
172
173
174
173
176
177
126
181
182
131
137
138
138
146
199
149
151
153
153
153
153
153
204
204
151
203
203
197
197
196
139
190
187
187
132
130
129
126
123
122
174
169
169
167
164
164
161
161
106
105
153
152
149
149
148
146
146
145
144
141
89
88
88
87
86
83
82
82
81
130
76
74
123
69
67
116
63
113
110
57
55
106
106
105
53
52
104
105
107
108
60
60
61
61
115
115
116
125
125
125
75
77
133
84
88
90
92
93
96
98
164
164
161
106
103
102
100
100
104
160
166
166
170
192
188
175
148
100
167
158
229
174
181
211
144
191
216
137
157
202
183
147
198
128
62
73
138
176
199
181
123
62
106
185
209
180
143
128
192
232
198
169
183
209
224
162
143
172
119
146
90
129
113
50
104
106
111
113
117
119
122
124
124
127
75
77
77
126
129
82
88
139
133
73
63
119
157
174
176
169
113
84
91
121
135
112
69
61
72
20
4
61
66
68
18
24
74
8
5
12
9
47
37
58
66
26
25
18
129
88
111
167
147
154
110
85
112
100
113
142
135
106
103
101
153
90
87
149
152
154
110
87
88
173
169
149
100
160
142
150
165
174
135
190
148
152
157
99
188
138
117
94
115
150
146
121
48
100
181
158
163
177
111
113
113
114
115
115
117
115
115
166
166
117
118
171
173
174
174
175
177
177
126
180
181
183
184
185
137
140
141
142
147
148
150
152
153
152
204
154
153
205
204
152
204
204
197
197
144
139
190
187
187
184
130
129
126
175
122
122
172
171
168
167
112
164
161
106
106
156
154
153
101
151
151
151
149
146
146
145
93
92
143
141
140
87
87
86
84
80
79
75
71
122
121
118
115
60
57
56
107
106
107
54
53
53
54
57
57
60
61
61
62
117
117
117
127
127
127
130
132
136
141
92
94
97
97
98
154
169
169
167
116
114
167
114
119
119
120
118
112
108
129
188
197
183
162
201
188
71
119
140
147
158
170
170
142
142
131
138
184
185
170
141
191
255
205
186
151
138
147
111
105
104
180
175
167
165
172
172
129
232
208
186
184
147
133
184
210
199
224
174
102
52
54
59
113
117
67
122
124
124
127
75
77
77
77
131
138
90
86
79
72
127
124
156
125
138
195
197
161
164
94
100
79
40
72
71
71
55
60
57
38
29
76
55
0
0
0
0
0
1
40
4
24
37
0
126
95
115
103
150
101
93
80
114
127
165
113
154
160
90
150
149
92
140
143
146
150
110
84
141
178
159
84
95
160
136
157
155
165
106
145
136
115
150
150
138
151
167
106
165
123
152
177
106
102
160
161
165
172
118
121
113
113
114
115
115
116
115
166
115
118
119
172
174
175
176
177
179
180
128
181
133
184
185
136
138
141
142
143
148
148
150
151
152
204
203
206
154
153
153
204
204
204
197
145
144
139
190
187
187
184
182
129
126
175
122
122
172
172
168
167
113
112
110
107
158
157
155
154
154
154
100
99
98
149
146
146
94
95
144
143
142
89
88
88
85
81
79
76
74
71
69
119
116
60
57
108
107
105
108
55
54
54
107
110
110
112
113
61
62
117
118
66
77
129
78
133
135
86
92
95
97
100
100
103
157
167
167
169
117
118
118
170
169
121
124
123
124
176
165
95
163
121
134
223
208
105
68
171
140
194
219
144
129
167
208
197
189
171
193
149
137
255
214
192
173
168
123
121
132
115
90
150
165
180
141
247
227
228
212
138
93
150
189
125
148
215
211
183
101
51
55
111
61
63
63
119
119
122
125
74
75
76
117
122
79
90
89
84
129
120
119
135
94
123
141
129
156
241
133
81
115
83
103
74
59
62
53
52
69
80
84
76
78
21
1
0
0
0
6
81
51
0
0
71
115
103
105
94
120
79
129
83
102
142
103
91
154
97
93
144
95
100
104
103
170
67
103
151
175
64
111
110
80
105
154
158
84
169
148
137
69
89
99
170
175
140
174
133
151
151
179
152
170
155
104
163
160
162
110
117
169
169
169
169
171
171
169
120
122
175
123
128
182
189
189
190
139
140
141
141
144
196
145
145
146
146
146
148
149
150
151
203
202
202
203
151
151
151
151
203
203
197
197
144
141
192
189
189
185
131
182
179
124
175
175
117
117
115
115
114
165
165
165
165
163
162
161
161
160
103
103
102
154
153
153
101
101
152
151
150
98
97
97
144
88
137
135
80
77
73
122
65
62
59
59
57
57
114
113
60
59
58
111
111
114
114
64
65
67
68
120
74
75
79
135
86
90
96
97
101
105
109
165
166
171
119
119
120
121
124
176
178
128
128
128
129
129
129
121
174
123
176
178
134
151
202
159
183
193
190
216
151
217
187
159
171
184
239
202
194
255
186
133
178
168
239
161
103
82
122
108
161
206
216
236
248
210
185
164
218
181
156
152
129
178
190
198
50
51
53
111
61
61
63
118
118
121
73
73
74
126
117
121
76
87
87
82
75
123
115
136
148
119
140
149
172
214
208
213
167
86
91
64
49
70
35
7
67
78
86
74
73
21
4
44
48
52
62
49
31
26
31
38
138
140
140
110
166
139
79
85
84
134
147
96
96
91
143
151
98
144
142
146
105
81
178
156
86
124
69
97
96
94
139
109
154
175
115
102
73
118
110
121
174
145
162
125
139
121
79
85
157
154
107
113
161
161
112
117
117
169
169
169
171
171
170
121
123
124
124
129
131
191
191
192
140
141
142
143
145
145
146
146
147
147
147
148
149
150
151
203
202
202
203
151
151
151
203
203
203
197
197
144
141
192
189
189
133
131
182
179
176
175
175
118
117
116
115
114
166
165
165
164
163
163
162
161
161
158
106
157
156
156
104
104
156
155
154
153
152
100
100
146
142
141
137
83
80
77
73
69
118
116
63
60
60
67
118
117
117
64
66
117
66
66
68
69
124
125
125
76
78
134
137
89
92
99
102
105
109
113
115
169
175
123
124
125
179
180
181
182
130
130
131
131
131
131
183
183
183
182
183
184
195
215
221
234
253
253
107
143
157
175
198
113
159
220
207
214
231
165
183
162
187
191
211
190
219
151
76
125
169
214
159
221
227
239
179
180
119
162
145
193
193
169
179
102
104
54
59
60
60
62
63
66
68
72
125
125
126
117
121
76
86
86
79
72
71
114
133
146
161
183
201
201
212
197
163
172
213
120
111
15
95
11
18
80
83
80
74
70
66
50
41
50
54
59
37
33
34
111
24
120
157
69
136
156
130
145
76
151
137
157
136
100
97
92
92
141
140
144
155
130
159
156
141
116
80
91
85
95
88
69
121
169
161
119
81
63
108
103
66
160
154
151
129
153
118
94
103
98
154
161
165
162
160
166
117
117
169
169
169
171
171
170
121
123
124
125
130
132
192
192
140
193
142
143
144
146
146
146
147
147
148
148
200
201
202
151
203
202
202
203
203
203
203
203
203
203
197
197
144
141
140
189
189
133
131
182
179
176
123
175
172
120
118
117
117
116
168
167
167
166
165
165
164
164
159
159
158
158
106
105
105
157
156
156
155
102
101
101
148
146
143
141
86
83
81
77
125
122
120
67
64
64
67
69
68
68
67
68
120
66
69
70
72
125
76
76
80
81
136
140
142
146
101
106
107
111
115
118
171
176
178
127
128
128
181
132
133
134
134
134
134
186
188
141
191
190
135
187
186
189
191
200
225
222
199
108
99
126
164
213
164
135
229
227
188
193
196
159
204
152
185
174
234
164
128
107
72
144
255
158
243
230
229
175
172
117
123
211
202
130
134
119
102
105
54
111
111
59
59
62
64
117
120
121
124
124
118
122
125
81
79
76
68
67
114
122
85
92
102
171
190
143
162
190
198
150
156
199
131
24
42
47
54
84
75
71
59
47
37
36
50
56
50
0
43
54
71
59
77
37
104
134
142
137
110
89
80
90
145
149
144
93
83
85
88
93
95
90
145
146
108
132
140
145
92
80
94
82
80
185
159
139
86
93
111
114
74
140
145
158
127
135
167
71
166
164
147
159
163
161
112
111
167
169
169
169
169
169
171
171
120
123
177
126
126
131
185
190
138
139
192
140
142
142
195
143
144
144
145
145
145
198
199
200
201
201
200
200
201
201
201
201
149
201
201
197
145
144
141
140
137
137
185
183
182
179
176
123
123
121
172
119
118
117
117
168
169
169
116
116
116
116
168
112
112
164
163
163
162
110
110
110
109
108
107
107
106
155
152
151
147
144
88
88
137
132
129
77
127
74
74
73
73
73
73
75
75
75
128
129
78
80
133
134
135
142
92
94
150
153
156
161
112
167
118
120
176
177
179
179
130
131
131
184
186
139
191
141
141
193
141
143
156
206
202
147
142
189
185
185
187
189
194
189
170
158
113
141
150
191
180
213
157
168
218
153
184
169
200
190
171
198
185
175
142
141
73
160
194
215
174
169
166
149
156
163
173
158
117
209
169
102
103
105
108
110
58
59
59
61
116
117
68
121
121
118
120
124
126
73
70
64
58
116
114
80
139
83
88
161
180
208
169
200
195
202
185
157
142
102
70
72
87
88
58
47
47
46
43
45
49
0
6
0
67
0
46
61
96
102
91
134
100
142
135
133
101
87
91
81
148
137
138
91
94
95
93
158
126
126
102
48
168
65
73
95
53
139
100
97
86
67
93
109
162
116
178
147
152
129
150
161
94
84
114
100
164
162
157
165
114
114
117
169
169
169
117
119
171
173
176
178
127
127
184
186
189
189
190
191
140
141
141
194
142
143
143
144
144
196
198
199
200
201
201
200
200
201
201
201
201
201
201
201
145
145
196
193
192
137
137
185
183
182
179
124
123
123
175
175
173
173
172
119
119
121
173
121
121
121
121
121
116
116
167
167
167
166
114
114
113
165
112
111
110
110
159
158
154
152
150
97
146
142
87
86
85
134
133
133
136
84
84
84
86
87
87
140
141
142
94
147
148
148
152
102
106
108
164
165
168
169
172
174
178
180
132
134
135
135
136
137
190
192
143
197
197
145
145
147
147
158
209
208
203
199
142
137
134
197
179
192
147
155
142
157
205
216
209
182
193
215
158
140
140
168
202
129
208
241
233
140
154
143
188
120
173
172
177
168
145
159
149
168
177
155
144
153
120
128
103
104
105
110
58
59
59
59
61
61
64
67
119
119
121
120
70
124
70
68
64
113
112
65
70
129
135
136
87
170
168
164
116
165
181
223
213
214
176
152
159
164
86
1
0
35
38
0
0
46
47
0
23
11
0
14
105
74
99
91
102
137
85
85
139
131
88
98
97
140
146
125
153
145
146
109
89
79
91
77
80
138
64
91
113
124
108
136
87
112
100
96
179
142
135
165
157
125
120
167
141
147
148
103
107
107
160
161
163
164
114
116
168
168
117
117
172
172
175
176
125
126
128
184
184
188
188
189
138
138
140
192
193
193
141
142
195
195
195
196
144
144
144
144
144
196
198
198
198
198
198
146
146
144
144
196
193
192
138
138
184
182
130
127
124
124
176
175
175
122
174
173
121
121
121
173
173
173
173
173
121
118
118
170
170
170
170
118
118
169
168
116
115
114
114
162
159
158
105
155
154
153
148
92
90
87
87
87
87
89
141
144
92
93
93
95
95
97
97
98
99
152
152
163
112
113
169
170
120
174
174
177
178
181
183
131
136
136
137
139
140
193
193
200
148
202
203
152
153
154
159
210
156
153
200
198
141
142
195
197
147
149
154
154
170
214
216
188
204
137
152
221
202
174
214
189
167
131
197
161
155
156
154
198
92
181
165
178
198
205
231
241
246
181
153
171
200
199
196
100
101
103
107
109
109
59
58
111
61
64
64
116
116
65
116
116
116
115
115
115
63
117
67
69
122
124
72
114
146
100
120
158
100
105
132
189
209
218
183
69
30
1
4
0
0
38
1
18
61
24
17
23
12
2
44
72
84
68
104
129
134
75
85
86
131
135
150
99
91
146
136
148
98
68
114
37
97
103
88
135
128
124
42
193
163
89
83
157
94
97
152
152
120
133
100
97
129
90
154
117
163
132
99
109
109
162
163
164
165
115
116
168
168
117
117
120
172
122
124
125
126
127
183
184
187
187
188
137
138
139
191
192
192
193
193
194
194
194
144
144
144
144
144
144
196
197
197
197
197
197
145
145
144
143
195
192
192
138
138
184
182
130
127
125
125
124
123
123
123
174
122
122
121
173
173
173
173
173
173
121
121
121
121
121
121
121
173
121
120
119
170
118
117
169
165
164
164
109
160
159
157
106
101
152
151
98
99
151
152
152
155
103
104
104
158
109
111
112
113
114
166
166
121
122
175
178
179
128
132
133
135
188
189
192
193
145
145
147
148
201
202
204
154
155
209
210
159
160
162
211
159
158
158
210
209
157
209
209
211
213
216
165
165
164
222
160
144
146
170
219
184
212
151
117
255
155
215
169
147
202
212
164
197
154
137
177
141
196
238
219
205
198
188
234
197
216
155
190
47
49
102
106
106
108
108
110
59
59
113
113
63
63
61
59
110
110
111
112
116
68
69
71
121
120
66
64
122
107
149
92
129
87
121
87
84
68
22
25
25
39
16
22
15
2
47
49
5
56
4
0
8
8
4
29
81
48
54
84
70
117
83
87
90
152
147
142
145
148
161
157
85
86
40
51
149
162
123
68
117
98
97
142
139
117
61
53
0
51
106
157
123
120
150
153
139
65
105
102
136
168
117
101
111
112
164
165
165
166
115
116
168
168
117
117
120
120
122
123
124
125
126
130
131
183
132
184
185
134
135
136
189
189
189
189
190
190
191
141
141
141
141
141
141
141
194
194
142
194
194
142
142
143
195
194
192
139
137
137
185
183
183
180
126
125
125
125
125
124
176
176
175
123
123
175
175
175
123
175
123
123
175
175
123
123
123
123
124
123
174
173
172
172
171
170
117
168
167
166
164
112
111
161
158
106
107
107
160
165
114
114
167
117
169
169
119
119
120
121
124
176
177
133
133
134
187
187
188
191
140
141
142
197
146
199
202
151
153
154
207
208
156
158
158
212
213
162
162
165
161
162
162
162
215
215
216
219
219
167
167
167
167
165
174
160
150
149
146
156
229
255
149
111
77
165
220
162
185
175
138
118
123
172
196
135
129
141
199
209
231
227
202
218
200
217
126
146
241
98
99
102
104
106
108
107
110
58
59
112
112
62
62
57
58
109
107
108
111
115
68
72
72
122
119
63
113
104
128
122
82
111
103
102
111
64
106
95
28
37
40
92
53
0
0
1
52
0
0
61
52
0
0
51
29
47
27
106
126
66
130
133
85
95
95
144
104
110
95
148
53
57
123
199
149
135
8
82
53
31
102
53
52
111
144
119
138
83
66
52
98
116
150
156
84
84
90
103
81
89
104
82
156
164
112
164
165
165
114
166
116
168
168
117
117
120
120
121
123
124
125
126
130
131
183
131
184
184
185
135
135
188
188
188
189
189
190
190
140
140
140
140
140
140
140
141
141
193
193
193
193
193
142
142
142
191
139
137
136
134
183
183
128
178
178
178
178
177
177
176
176
176
124
124
176
176
176
176
176
176
176
176
176
124
124
124
124
124
123
175
174
173
172
172
171
170
169
168
168
167
115
115
111
110
110
163
111
112
118
118
118
171
171
172
172
122
123
176
176
179
180
180
137
138
138
191
191
192
195
195
196
145
147
148
201
154
154
155
156
156
159
160
159
161
161
162
165
218
167
166
166
166
219
219
219
220
219
219
217
165
162
161
159
163
168
163
152
153
168
163
198
116
164
60
180
215
155
185
200
183
193
171
123
124
129
125
112
125
219
217
239
207
201
226
171
200
123
197
98
99
48
104
106
105
55
58
58
111
112
111
59
59
107
55
105
104
55
110
116
122
74
75
124
119
115
111
109
66
75
96
109
12
27
75
69
98
64
71
58
38
23
18
61
48
0
0
0
5
0
0
52
54
44
0
16
18
37
92
127
81
128
111
120
114
91
85
77
52
187
77
73
38
52
87
54
57
53
1
0
31
60
0
48
130
173
137
163
84
161
146
114
147
94
81
61
96
143
79
132
83
99
165
164
164
112
164
164
165
165
168
168
168
169
117
172
172
121
122
175
124
126
130
182
182
182
183
184
184
186
134
187
187
187
188
189
189
189
192
140
192
192
140
140
140
140
192
192
192
192
192
192
142
142
142
139
138
188
136
134
132
184
129
178
178
126
126
178
125
125
124
176
124
176
176
176
176
176
176
176
179
127
179
127
127
127
127
127
126
125
125
176
175
175
173
172
172
171
170
169
169
119
118
117
169
118
119
120
120
172
172
121
173
176
124
128
129
129
182
183
186
186
194
194
194
195
195
143
148
148
149
152
153
206
207
211
211
159
160
163
164
216
165
166
166
169
170
171
171
175
227
227
227
227
226
171
220
217
214
157
155
149
149
167
160
163
227
230
167
228
175
167
167
225
196
203
181
153
171
239
255
218
204
194
130
117
181
197
222
235
223
164
141
149
190
186
121
133
98
46
99
101
102
51
51
53
53
104
54
53
53
53
53
53
104
54
53
53
54
55
107
58
58
111
111
111
108
61
75
76
29
9
103
88
121
149
83
124
118
82
106
42
25
60
71
63
56
8
3
57
57
59
65
21
14
70
75
28
35
91
90
87
193
151
2
0
89
143
0
7
62
64
46
59
51
34
0
0
63
5
57
0
33
96
26
129
129
112
91
46
113
138
142
81
78
113
85
82
116
83
99
120
174
126
178
124
171
165
156
171
171
119
172
120
121
173
121
174
174
123
124
125
126
127
127
180
181
182
183
132
132
184
184
133
133
134
186
189
190
191
192
192
139
139
139
139
139
139
139
139
191
136
136
136
136
136
136
136
135
135
187
135
187
135
135
131
131
130
130
130
129
129
130
182
130
130
130
130
182
180
180
180
180
128
180
180
127
127
126
126
177
177
125
123
123
124
176
176
175
125
126
126
128
128
128
180
180
178
178
179
130
131
131
184
186
135
138
191
192
193
194
143
197
198
146
146
147
150
151
154
156
157
211
212
222
223
223
172
173
174
226
175
176
176
176
229
177
178
179
230
178
230
177
177
228
226
226
226
174
173
173
173
170
222
222
222
221
220
220
221
221
221
168
168
219
167
157
159
161
216
233
234
181
178
229
255
151
150
181
185
146
135
147
145
118
140
195
45
45
98
101
49
50
50
53
104
104
105
53
53
53
105
104
104
53
53
53
54
106
54
57
57
57
58
110
100
114
81
88
59
32
43
101
104
105
145
115
123
136
60
30
81
89
62
12
63
66
57
54
54
55
9
17
67
16
66
13
21
75
65
93
83
0
14
31
54
16
35
78
66
49
35
70
83
47
47
0
11
0
63
58
79
31
50
32
67
103
71
39
69
79
79
119
160
97
62
112
114
71
116
119
175
127
127
125
121
168
160
171
119
120
172
121
121
173
174
174
174
175
124
125
125
127
127
180
128
181
182
131
132
132
184
132
133
133
186
188
137
190
140
140
191
138
138
138
190
138
138
138
138
188
188
188
188
136
136
136
135
135
135
135
135
135
187
131
131
131
182
130
130
129
130
182
130
130
130
130
130
128
180
180
180
180
180
180
127
127
179
178
178
178
126
124
175
125
125
176
176
178
179
129
129
129
181
181
181
179
179
182
131
132
184
186
135
138
191
141
142
195
195
148
148
148
149
149
151
151
206
155
157
210
161
162
224
224
172
173
174
175
175
177
177
177
177
230
178
231
180
180
179
179
230
230
230
228
228
227
227
226
226
225
223
223
171
222
222
221
221
222
222
221
221
221
220
168
167
170
170
219
225
181
242
241
235
255
221
99
161
185
93
102
108
180
114
105
133
95
44
44
47
48
48
49
52
104
103
105
104
104
104
104
104
103
105
52
52
105
105
53
55
55
55
55
106
106
59
115
128
127
94
58
145
116
146
145
187
194
164
85
65
120
120
78
78
82
74
62
62
60
55
2
3
64
11
56
56
21
80
69
0
0
0
64
40
0
2
45
48
0
0
53
89
95
109
70
89
8
32
34
46
63
181
63
49
55
34
52
101
133
79
69
40
158
169
127
142
85
58
122
114
128
131
133
132
180
175
170
174
122
174
175
123
124
176
176
176
176
176
125
125
177
127
128
128
180
180
181
129
131
131
131
132
132
133
185
186
186
188
189
189
188
136
135
135
135
135
187
187
135
135
135
135
135
135
135
135
135
135
135
135
135
187
187
184
132
131
183
131
130
130
130
130
130
182
130
130
130
129
129
181
181
129
181
181
127
127
179
179
179
179
127
126
178
126
126
127
129
181
181
183
183
131
132
132
132
132
185
185
187
136
137
137
141
142
197
199
148
149
201
201
204
204
204
153
155
157
157
211
161
215
164
167
227
227
228
176
177
178
179
180
180
180
181
181
181
234
183
183
182
182
182
233
233
232
232
231
230
229
228
227
226
225
225
225
224
224
224
171
171
223
223
222
222
169
172
224
173
174
222
218
217
221
223
234
222
202
209
160
179
217
205
210
104
144
158
42
42
43
46
46
47
99
103
103
103
52
52
103
103
103
103
103
104
104
103
104
106
54
55
106
106
106
53
51
101
112
105
116
126
121
57
143
120
128
190
183
156
133
120
115
170
150
140
127
96
80
77
22
15
11
63
64
65
14
8
56
52
43
45
14
0
40
45
73
46
54
44
0
0
32
64
33
117
114
99
138
134
122
66
85
7
121
17
86
23
15
23
26
64
68
76
0
126
159
163
120
110
166
172
131
137
139
190
189
185
129
128
128
180
181
129
130
130
181
181
181
181
181
181
181
130
129
181
181
181
181
129
130
130
131
131
132
132
184
185
134
187
188
188
188
135
133
133
185
133
133
133
185
134
134
134
134
134
186
134
135
135
187
187
135
135
187
185
133
184
184
183
183
131
130
130
130
182
130
182
130
128
128
180
180
180
180
128
127
127
180
180
129
129
129
127
127
130
130
130
131
185
183
184
132
132
132
132
132
136
136
137
140
141
141
144
147
200
203
152
153
206
207
209
210
210
158
159
160
160
163
164
166
219
221
224
230
231
231
180
181
182
234
235
236
236
236
237
185
238
187
186
186
186
185
237
184
185
236
235
234
233
231
230
230
178
229
177
176
176
176
175
227
226
226
226
173
173
192
184
178
176
215
211
210
219
203
209
212
160
169
159
221
178
178
182
165
129
114
42
42
43
45
98
99
47
103
103
103
104
51
51
51
51
51
51
52
51
51
104
54
54
55
106
106
106
53
60
95
103
97
48
55
100
77
70
77
162
161
126
145
214
144
133
130
188
170
96
69
97
38
83
23
18
67
71
67
17
13
8
61
8
0
0
55
71
46
58
59
0
0
0
6
0
5
15
46
132
84
160
72
100
26
89
0
100
14
3
13
0
71
19
63
59
15
54
60
176
126
58
159
162
167
184
138
140
194
190
137
132
129
129
181
182
130
131
131
130
130
182
182
182
182
181
182
130
182
182
182
129
129
130
130
130
131
132
132
132
132
133
134
187
187
186
186
184
184
184
132
132
132
132
134
134
134
134
134
134
186
135
135
135
187
135
187
187
185
185
184
184
183
183
183
130
130
182
182
182
182
182
127
127
179
179
179
179
127
179
179
180
180
129
129
181
181
129
130
130
183
185
186
183
184
132
132
134
134
186
138
139
140
141
143
144
144
202
202
152
155
156
209
209
212
212
212
162
162
162
163
164
165
168
222
172
225
231
231
180
181
182
234
235
236
236
237
237
237
238
238
239
187
187
238
238
186
185
186
237
236
235
233
179
179
178
230
178
177
177
176
176
227
227
227
226
174
173
173
170
170
173
177
166
215
165
161
214
211
160
160
208
212
217
213
164
173
194
173
130
95
43
43
97
98
46
46
101
101
101
103
51
51
51
50
50
50
52
52
52
53
52
104
105
105
104
104
52
51
102
95
94
42
44
49
55
115
123
131
149
175
141
153
167
212
194
201
195
139
138
99
93
84
77
63
92
84
88
78
28
33
69
67
42
24
27
92
78
73
73
60
1
0
0
0
0
58
19
68
68
31
36
39
0
51
59
45
0
20
72
79
74
101
33
43
40
49
70
62
88
61
185
154
168
129
134
192
194
196
141
138
137
137
189
189
189
137
137
137
137
189
188
136
187
187
184
184
184
183
182
129
128
129
129
181
182
131
183
183
131
131
132
132
185
185
185
185
185
185
133
133
133
133
134
134
134
135
136
136
136
188
136
136
136
136
188
136
185
185
184
184
183
183
131
130
130
182
182
182
182
130
129
128
128
179
179
178
126
128
180
180
180
180
128
180
131
132
132
186
187
187
188
189
135
136
136
137
138
190
193
142
195
198
199
148
149
208
209
159
160
161
162
215
215
217
217
165
217
217
220
169
172
173
174
227
228
233
234
183
184
237
238
239
241
189
190
190
191
243
243
243
243
191
243
191
191
191
191
242
241
188
187
237
184
182
233
181
180
179
178
178
231
231
178
178
178
229
177
225
223
223
222
220
168
167
222
223
222
172
174
225
226
210
210
160
163
166
167
169
44
96
96
97
97
45
45
100
100
100
102
102
50
50
49
49
49
51
103
103
104
52
52
53
105
104
104
104
51
101
96
92
92
40
40
47
108
126
79
79
128
124
138
153
140
147
220
160
138
92
168
154
133
101
138
151
127
126
63
52
90
67
18
0
49
109
100
98
117
50
67
60
12
9
13
17
0
15
73
67
69
17
11
66
51
9
6
68
87
77
84
77
42
16
35
55
76
68
66
0
107
177
168
185
179
183
188
193
195
144
144
143
143
195
195
195
195
143
143
143
195
194
194
193
193
186
186
186
185
184
183
130
131
131
183
183
183
183
183
180
128
128
128
129
181
181
182
182
183
131
183
184
184
187
135
135
135
135
135
135
135
135
135
135
135
187
187
132
132
131
131
131
130
130
130
130
130
130
182
182
130
126
178
178
126
126
126
178
180
180
129
129
129
129
130
135
187
187
188
189
189
190
190
138
138
138
141
194
195
198
198
200
203
204
153
205
212
212
216
217
166
167
167
220
222
222
222
222
224
225
174
175
177
178
179
182
235
236
237
238
239
240
241
243
192
192
192
193
193
245
245
245
245
193
193
193
193
193
193
192
191
190
189
241
238
238
237
236
235
234
182
233
233
180
180
179
178
178
227
227
175
174
173
175
228
230
178
230
231
232
231
231
217
217
163
163
161
161
159
44
44
96
97
45
45
45
48
48
100
50
50
102
50
49
101
101
103
103
103
52
52
52
53
105
52
52
104
105
51
97
93
91
91
91
38
97
118
122
121
113
106
169
178
182
207
149
130
126
132
159
154
217
193
154
145
81
83
129
118
107
88
40
7
71
127
111
114
140
74
36
25
24
17
64
63
71
24
70
58
57
14
23
50
70
0
51
71
83
89
94
83
101
74
30
50
76
80
37
0
70
181
179
190
181
185
137
192
195
144
144
143
195
195
195
195
195
143
145
145
196
196
195
195
195
188
187
187
186
185
184
184
131
183
183
183
183
183
183
180
180
180
128
128
128
180
182
182
182
183
184
184
184
187
187
187
135
135
135
135
135
135
135
135
135
187
187
184
184
131
183
182
182
130
130
130
130
182
182
182
182
126
126
126
178
126
126
178
180
180
129
129
130
130
131
187
188
188
189
190
190
190
192
139
139
142
195
196
145
149
202
203
204
206
155
208
215
216
217
218
220
222
171
172
172
172
224
226
174
176
176
177
178
181
183
183
238
239
188
189
242
243
192
247
247
195
247
248
196
197
197
197
197
197
197
197
197
197
197
196
247
195
194
193
188
240
187
187
238
236
236
235
235
234
233
233
179
231
230
229
231
178
178
178
230
230
230
177
177
175
174
226
218
218
218
217
163
163
213
97
97
45
45
44
44
96
47
47
99
101
49
49
49
100
100
100
50
102
102
103
52
52
53
53
104
104
104
107
53
48
45
41
40
39
39
91
97
101
106
111
114
145
148
174
159
135
164
128
131
155
223
176
216
212
227
147
141
164
139
124
98
36
18
70
69
125
133
97
80
73
50
91
44
85
85
108
45
97
103
47
41
39
25
14
12
73
91
144
171
104
87
142
139
130
151
105
59
90
44
0
98
121
111
185
188
188
191
141
142
142
196
196
196
196
144
144
196
198
198
146
145
197
196
196
190
189
189
188
187
186
186
185
185
185
184
131
131
131
182
181
129
129
128
127
179
181
181
182
183
184
185
185
188
188
188
187
186
134
134
134
134
134
134
186
186
186
131
183
182
182
130
129
181
182
182
182
182
182
182
182
178
126
127
128
128
128
129
180
181
181
130
131
132
132
137
189
191
191
191
192
194
142
143
143
196
197
199
200
152
205
206
208
209
158
161
166
219
222
223
224
225
226
177
177
177
177
177
230
230
233
234
235
236
185
188
189
241
242
191
192
193
194
197
249
197
249
250
198
199
199
199
199
199
199
199
199
199
199
199
199
198
198
198
194
194
245
245
244
243
242
242
242
241
188
186
184
184
241
240
188
185
182
182
180
175
172
221
218
214
159
159
169
169
221
220
219
219
219
44
96
96
95
42
42
94
94
94
94
94
94
94
94
99
99
47
101
101
101
103
101
49
50
102
102
102
102
98
46
45
45
44
44
96
43
95
95
95
95
43
95
104
114
59
129
161
163
89
102
194
210
159
207
173
176
237
131
191
159
136
115
39
22
120
77
97
86
102
106
106
47
115
124
72
128
174
150
135
177
93
93
78
104
63
16
12
143
112
183
164
205
184
183
221
211
118
80
121
78
118
69
162
155
195
206
186
197
183
147
139
148
200
200
149
149
150
202
202
202
150
149
201
200
200
141
141
193
192
190
189
189
187
187
186
132
131
130
182
182
182
182
130
128
128
128
179
127
127
178
179
179
179
186
186
185
133
133
133
133
133
133
185
134
135
187
187
184
132
131
183
182
130
182
183
183
131
183
183
183
183
179
127
179
181
129
129
131
131
183
186
134
135
135
135
192
193
194
194
195
198
146
143
146
199
201
204
205
153
158
159
162
164
165
166
168
170
172
226
228
229
230
231
182
182
182
182
182
233
236
236
237
237
238
239
240
192
244
245
193
194
195
196
198
250
250
251
251
251
252
201
201
201
201
201
201
253
201
201
253
201
201
253
201
202
254
254
252
252
199
197
197
196
193
192
190
187
187
240
187
186
185
234
180
180
180
232
231
230
227
226
226
221
169
169
220
219
219
167
96
96
95
95
94
42
42
42
94
94
94
94
42
42
99
99
99
101
101
101
103
49
49
50
102
50
50
102
98
98
45
45
45
44
96
95
43
95
95
95
43
43
99
125
128
84
143
75
47
116
132
205
211
206
161
154
208
162
197
141
156
65
35
47
109
101
77
55
111
93
133
122
70
136
109
71
186
204
116
183
134
123
80
109
64
64
44
118
201
159
188
166
168
222
238
227
169
95
141
113
164
132
73
81
147
177
213
185
195
181
187
200
148
149
149
149
202
202
202
150
150
149
201
148
148
142
142
193
193
191
190
190
187
187
186
133
131
130
130
182
182
182
182
180
128
128
127
127
127
178
178
179
179
186
186
186
134
133
185
185
133
133
133
134
135
135
187
184
184
183
183
130
130
182
183
183
131
183
183
183
183
179
179
181
181
181
181
131
131
184
186
134
187
135
135
192
193
194
195
195
198
198
144
147
148
202
205
206
206
211
212
215
164
165
166
168
171
173
175
176
230
231
232
235
183
183
235
234
234
184
237
237
238
239
240
240
244
245
245
246
247
248
248
250
250
251
251
252
252
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
203
255
255
201
253
200
198
198
197
194
192
191
188
187
240
188
187
185
182
233
180
180
232
179
230
227
174
174
169
169
169
220
220
219
219
43
95
43
94
94
41
41
40
92
40
92
92
40
40
97
97
97
100
100
100
102
49
49
50
102
50
102
102
49
49
48
48
47
47
47
99
47
47
99
99
99
99
50
103
111
67
134
96
105
83
95
114
114
101
166
175
226
205
203
182
126
115
106
66
67
87
103
118
71
128
148
134
172
153
80
96
199
188
147
219
192
119
168
130
97
41
68
56
165
113
157
165
206
211
227
215
167
83
126
158
46
179
39
82
55
106
162
217
137
148
193
201
201
149
150
150
203
203
202
202
150
201
201
148
148
144
143
195
195
192
192
192
136
188
187
133
132
131
131
130
182
182
180
180
128
126
125
126
176
177
177
177
177
131
183
184
184
184
133
133
184
132
132
132
132
132
184
184
184
183
183
130
130
130
183
131
131
131
131
131
183
180
180
182
182
130
184
184
133
187
187
136
188
137
138
141
194
195
146
199
199
200
149
150
154
207
208
209
209
215
216
217
218
219
170
171
175
176
229
231
183
236
236
185
186
238
238
238
187
188
188
189
242
242
243
244
249
197
198
199
200
200
201
254
255
255
255
255
204
204
255
255
255
255
255
255
255
255
205
255
205
205
255
255
206
255
255
255
205
203
203
252
251
250
196
193
190
189
242
241
188
186
183
182
233
233
232
180
178
176
175
175
170
170
221
221
220
220
168
94
94
42
41
93
93
92
39
39
39
91
91
39
39
42
42
43
98
99
99
50
49
49
102
102
102
102
102
102
49
49
48
48
48
48
100
48
48
100
100
48
48
104
103
109
54
56
60
61
116
84
108
165
86
60
31
77
119
107
143
111
100
128
88
100
156
148
177
104
136
71
92
135
128
185
169
88
169
207
172
193
188
121
123
138
64
105
37
33
71
122
215
189
158
214
195
122
63
120
181
44
65
52
46
67
44
31
89
165
146
145
200
200
200
148
149
149
150
148
148
148
199
147
146
146
144
144
144
143
141
192
192
189
136
188
186
132
132
131
128
128
128
180
178
126
126
122
122
174
174
174
175
123
129
181
182
183
184
184
185
185
185
132
132
132
131
131
184
184
183
183
130
130
130
131
131
183
183
183
183
183
183
183
183
185
185
185
185
136
137
138
138
139
191
139
195
198
199
200
200
203
151
151
154
207
209
210
160
160
165
218
219
222
224
172
173
178
231
235
236
238
239
240
242
191
244
244
245
194
194
194
195
248
248
249
198
200
201
201
202
203
204
255
255
255
205
255
255
206
207
255
255
255
208
208
208
208
255
255
208
208
208
255
208
210
255
255
255
207
205
205
204
203
252
199
197
192
192
191
243
242
240
237
184
235
234
233
180
179
177
228
227
171
222
222
222
221
221
221
94
94
94
93
93
92
92
38
38
38
90
38
38
38
41
41
42
46
47
47
49
49
49
102
102
102
50
102
102
102
101
49
48
48
48
49
101
101
101
101
49
101
105
97
45
43
102
110
58
61
70
137
149
145
83
59
48
106
58
124
119
65
128
131
66
106
164
111
176
170
127
105
108
88
119
166
85
162
178
122
126
146
126
122
49
81
34
54
64
13
7
90
134
119
167
153
69
22
46
93
84
7
1
48
54
54
71
98
191
152
144
200
200
200
201
149
150
150
148
148
148
199
199
146
146
144
143
143
195
192
140
140
189
189
188
186
185
184
184
128
128
128
128
126
178
176
173
121
174
173
174
122
122
126
126
126
180
181
182
182
131
183
183
182
129
129
129
132
184
183
183
130
130
130
131
183
183
183
183
183
183
183
183
185
185
185
133
135
137
138
139
139
139
192
192
198
199
199
200
203
152
152
151
207
208
210
211
212
160
166
169
170
223
224
173
227
231
234
236
237
239
188
243
244
244
245
246
195
195
195
196
196
249
250
199
199
201
202
202
203
255
255
205
255
255
255
255
255
255
255
255
255
255
209
209
209
255
255
209
209
209
209
209
209
255
255
255
255
207
255
255
205
204
255
251
198
195
194
192
243
242
189
237
236
184
234
234
181
180
229
176
228
223
223
170
222
221
221
169
93
93
93
92
39
91
91
37
37
37
89
89
89
37
42
42
94
45
45
45
47
49
49
103
103
103
104
104
103
103
103
103
103
103
51
50
102
103
51
52
104
104
116
59
56
53
51
102
50
51
62
67
127
134
138
140
125
123
68
66
134
137
115
197
90
86
143
143
150
153
115
127
120
156
133
122
34
83
122
153
189
101
93
7
53
48
0
51
50
50
0
2
52
51
51
0
0
0
4
17
19
79
27
38
45
56
39
32
75
166
199
197
200
201
199
198
200
147
145
145
145
196
196
143
143
141
193
193
193
191
139
139
137
189
189
187
186
186
134
128
128
127
126
123
174
174
174
173
173
173
171
171
171
123
123
124
127
180
181
182
129
129
182
182
131
131
131
182
130
130
182
130
130
130
131
183
183
183
183
183
183
184
184
185
185
136
136
136
189
138
139
143
144
145
145
200
200
203
203
152
152
154
155
209
210
212
213
162
162
170
172
173
176
177
230
231
235
237
240
242
243
244
193
195
248
249
199
252
253
201
201
202
202
203
204
205
206
206
206
207
255
255
208
210
210
210
211
211
212
255
255
212
255
255
212
212
255
255
213
213
212
212
211
211
213
213
255
255
212
209
255
255
255
255
255
201
196
196
194
245
244
243
240
238
186
235
235
234
181
230
229
229
224
224
171
222
221
168
220
93
40
92
39
39
39
91
37
37
37
89
37
37
37
91
92
40
43
43
44
46
100
48
102
102
103
51
103
106
106
106
106
54
106
106
53
53
54
54
106
107
107
69
66
64
63
62
60
110
114
118
120
125
128
79
79
116
124
128
129
142
95
135
133
139
173
170
166
154
200
166
181
149
123
121
106
60
100
197
176
41
0
20
0
0
59
61
56
52
50
52
0
0
46
0
0
0
5
4
13
15
28
29
95
102
0
91
17
59
83
174
197
197
197
196
196
196
197
145
144
196
196
195
143
195
193
193
193
141
139
191
191
189
189
189
187
186
186
134
128
127
127
124
174
122
120
171
171
117
169
169
169
169
120
120
121
123
124
177
178
126
126
126
127
127
128
128
129
129
130
130
130
130
130
131
131
131
131
131
183
183
184
184
187
187
136
137
189
189
141
142
143
144
147
148
202
203
203
204
154
154
154
157
158
211
214
164
164
165
172
225
227
229
178
181
234
238
239
241
191
194
195
248
250
198
200
201
254
255
202
202
203
204
205
205
206
207
207
255
255
208
209
255
255
211
211
212
212
255
255
255
255
255
255
255
255
213
214
214
213
213
255
212
212
215
215
255
255
255
212
211
255
255
255
204
202
199
199
195
246
245
244
240
239
239
236
235
183
181
179
178
178
173
172
224
223
169
169
168
92
40
40
39
39
38
38
36
88
88
36
36
36
36
90
91
91
43
43
96
98
100
48
102
102
103
51
51
107
107
107
107
107
107
107
54
54
54
55
107
107
56
66
67
119
118
66
66
118
119
122
123
125
128
76
76
63
71
127
129
140
147
142
151
130
180
170
162
118
92
145
149
130
91
111
97
68
118
89
45
12
15
16
1
58
62
61
57
55
53
0
0
0
0
0
0
3
3
1
12
18
30
79
87
78
80
43
97
88
125
222
200
197
196
197
197
196
197
196
144
144
195
195
194
194
193
193
141
141
139
139
191
189
189
189
187
186
186
186
125
125
124
176
174
172
120
118
116
168
116
114
114
166
171
120
120
122
123
176
176
177
177
125
126
126
178
179
180
129
129
181
182
182
130
131
131
131
131
131
131
131
134
134
135
187
137
189
137
138
141
194
195
199
199
200
203
203
206
154
154
155
156
157
161
162
215
216
165
166
173
226
228
229
181
182
183
187
188
190
193
195
196
197
200
201
202
255
255
255
204
205
205
255
255
255
255
255
255
255
255
212
212
255
255
214
214
214
215
255
255
255
255
255
255
255
255
216
217
255
255
255
255
215
215
216
216
255
215
215
212
255
255
255
207
205
255
200
199
248
247
246
244
241
188
187
237
236
183
182
180
179
178
173
173
224
223
170
169
169
91
39
39
38
90
38
37
35
87
87
35
35
87
87
91
91
92
44
46
46
101
101
101
51
103
104
52
52
56
108
108
108
108
108
108
55
55
56
108
109
109
57
58
62
119
122
124
128
130
130
128
128
126
122
69
69
81
79
129
130
134
139
144
96
108
165
137
169
125
134
148
132
97
102
173
162
124
105
49
82
92
67
60
81
78
73
68
69
72
66
55
50
48
50
3
11
16
14
6
63
69
83
89
82
83
86
4
16
48
100
115
154
197
193
197
199
195
198
193
141
193
193
192
192
191
193
141
141
141
139
139
139
137
137
189
135
134
186
186
177
124
124
175
172
172
171
114
114
114
112
112
112
112
170
170
119
119
120
120
121
174
174
175
175
124
176
176
127
127
128
181
181
182
130
131
131
131
131
131
131
131
134
134
135
188
189
137
137
140
194
197
198
199
200
201
206
206
206
155
155
156
157
159
162
164
165
220
221
169
227
228
231
181
183
184
186
189
192
193
195
249
198
198
201
254
255
255
255
255
255
207
208
255
255
255
255
255
255
255
214
214
214
215
215
255
255
255
255
217
255
255
255
219
219
219
255
255
218
255
255
255
255
255
255
255
255
255
255
255
215
213
255
255
209
207
205
203
254
249
249
248
246
243
190
241
238
238
185
184
181
181
180
226
173
173
172
170
170
169
91
91
91
90
89
89
37
35
87
35
35
35
87
87
41
42
43
47
49
50
52
51
103
105
105
105
106
54
57
57
109
109
109
109
109
56
56
57
57
110
110
58
52
59
64
121
128
131
133
135
131
76
72
69
117
63
98
92
137
138
134
130
78
114
86
116
164
179
141
104
198
201
176
210
178
169
135
97
128
49
86
57
84
91
49
106
99
96
45
41
60
56
54
7
13
72
81
20
73
90
46
106
51
90
96
136
120
0
131
157
136
154
142
189
194
197
192
195
141
141
193
192
192
191
139
141
141
141
193
139
139
139
137
137
189
135
134
186
186
176
176
175
174
172
171
169
167
115
115
113
113
113
113
116
116
169
117
117
117
118
172
172
172
173
173
174
174
125
126
127
180
181
130
130
131
131
131
131
131
131
131
134
186
188
188
189
137
139
193
196
197
199
200
201
201
206
206
207
207
157
157
157
160
163
164
168
169
222
170
228
231
232
182
183
185
187
190
193
194
196
197
251
252
253
253
203
204
255
255
255
255
209
210
255
255
255
255
214
215
215
215
216
216
216
255
255
255
255
218
218
255
255
220
220
220
220
255
255
255
255
255
255
255
255
255
255
255
255
216
215
213
255
255
255
208
206
255
255
250
250
248
247
244
243
242
239
239
186
185
182
181
233
226
174
173
172
171
170
170
45
95
94
95
95
94
93
41
41
40
91
91
40
41
48
48
101
102
103
106
54
56
110
111
111
113
114
62
60
113
61
62
65
65
65
66
66
64
116
117
118
66
68
70
70
121
71
124
74
76
76
129
79
79
132
132
78
79
80
82
136
138
141
143
145
147
148
97
96
95
130
94
120
132
184
199
110
138
90
68
59
81
34
57
70
115
82
63
103
113
78
86
84
92
40
93
92
130
103
100
72
120
128
75
98
99
130
67
31
190
199
197
145
197
197
197
197
145
144
144
196
195
195
194
142
138
138
138
136
136
187
185
134
134
131
131
182
182
182
179
127
126
177
120
119
168
169
167
167
164
109
109
109
109
109
111
163
163
111
113
113
165
167
168
169
169
119
120
120
123
124
126
181
182
127
127
181
129
181
131
183
182
131
134
134
135
135
137
192
195
196
144
145
146
148
158
159
211
211
159
161
162
164
167
168
170
172
173
225
230
179
232
236
185
186
186
191
245
195
249
250
251
252
255
205
206
208
209
255
255
255
212
213
255
255
255
255
217
217
218
218
218
255
255
220
220
221
255
255
255
255
255
255
255
255
255
255
255
222
255
255
255
255
255
255
255
255
255
255
214
214
255
255
255
209
207
204
255
202
253
252
199
195
245
245
242
189
188
187
182
232
232
228
228
227
174
171
170
170
44
95
93
95
95
93
92
42
42
93
92
41
42
43
50
50
50
54
107
107
108
112
60
62
115
115
116
64
113
113
63
64
64
64
118
66
65
65
65
66
67
67
70
126
126
125
125
74
78
78
80
80
81
81
134
135
132
82
83
85
88
89
143
150
152
100
155
103
102
104
106
128
117
136
134
69
87
79
43
67
101
98
66
90
120
102
102
67
88
139
148
115
46
70
70
99
81
126
123
121
130
149
114
101
119
152
195
148
112
107
197
197
145
145
197
197
197
197
144
144
196
195
195
194
142
138
138
138
136
136
135
185
184
132
130
129
181
128
128
128
127
126
123
120
119
116
168
166
164
161
109
108
108
108
108
160
162
162
162
112
112
112
167
115
168
116
116
119
120
123
124
125
128
180
179
179
129
129
129
131
183
132
132
134
135
136
189
190
192
195
196
144
147
148
200
210
159
211
212
160
162
163
165
168
221
170
173
173
174
179
180
181
236
185
186
187
192
245
248
249
251
200
201
205
206
207
208
209
210
255
255
213
213
214
255
255
255
218
219
219
255
255
255
255
221
222
222
222
255
255
223
255
255
255
255
255
255
255
255
222
255
255
221
221
221
221
255
255
255
255
255
214
255
255
255
208
205
205
203
202
201
200
195
246
246
191
190
189
188
234
233
233
229
228
228
226
172
171
171
46
97
96
97
45
44
94
45
45
96
97
98
47
48
107
107
56
57
60
61
113
117
65
66
120
120
69
69
117
117
65
67
118
118
118
120
119
68
69
70
71
124
129
131
131
130
130
133
83
83
136
85
85
87
88
88
87
88
89
93
94
97
149
155
155
106
106
107
161
161
98
111
169
119
134
167
36
78
119
30
97
116
142
107
129
181
89
102
121
131
142
106
152
95
97
107
76
140
92
71
70
97
100
63
184
220
203
189
152
127
150
145
197
197
197
197
197
145
144
144
144
195
195
194
142
138
190
190
136
136
135
133
183
183
181
180
179
179
127
127
126
123
122
119
116
115
113
164
162
159
107
106
106
107
159
159
159
161
109
109
111
163
163
166
114
114
167
119
120
124
125
124
126
177
178
178
180
128
128
182
182
132
132
135
136
190
191
192
194
195
144
146
147
148
200
210
211
212
161
162
216
217
218
222
223
172
174
175
176
180
180
182
237
186
187
187
245
246
248
250
200
253
201
206
206
208
209
210
255
255
214
214
255
216
217
255
221
221
221
221
222
222
222
224
224
224
224
225
255
255
224
224
255
255
224
255
255
255
255
224
224
255
255
222
223
255
255
221
255
217
255
255
255
255
211
210
207
206
205
204
203
201
197
248
195
193
192
191
241
236
235
234
231
230
229
176
174
173
172
102
101
100
101
49
48
98
49
48
100
101
102
52
53
111
112
60
62
65
65
66
69
70
122
124
124
72
73
122
70
69
70
121
121
123
124
72
73
74
128
129
130
133
136
137
136
136
137
141
88
89
91
144
144
144
93
93
94
149
150
152
101
156
160
162
109
112
165
166
167
163
103
166
118
120
185
185
86
141
62
105
87
115
78
78
96
127
93
99
121
85
110
162
152
149
163
134
87
148
75
88
67
53
76
147
218
200
203
140
160
146
197
197
197
197
197
197
197
196
144
144
195
195
194
142
138
138
138
188
136
135
133
183
183
181
181
128
128
127
174
122
121
119
166
165
111
111
161
159
157
157
156
104
104
104
156
157
157
105
107
159
159
162
162
111
111
163
170
171
124
125
124
124
174
177
177
179
127
127
181
181
132
133
136
138
191
195
195
194
197
198
146
147
150
150
158
211
212
214
215
218
218
220
223
224
225
228
176
177
180
181
234
238
187
188
188
245
247
249
251
252
253
254
206
207
208
210
211
212
215
215
216
255
217
255
219
223
223
223
223
224
224
225
226
255
226
226
227
255
255
226
226
255
255
226
226
255
255
255
255
225
225
224
224
255
255
255
222
221
218
218
255
255
255
255
255
255
208
206
205
204
203
250
249
197
194
193
192
243
237
236
236
232
231
179
177
175
174
174
104
103
101
50
50
49
100
50
50
101
50
52
54
55
60
62
63
65
65
68
68
122
123
124
124
125
75
127
124
72
71
71
72
72
71
73
74
74
129
131
132
134
83
86
86
139
139
140
143
143
144
146
94
147
147
147
96
96
151
152
155
104
158
164
165
113
166
168
169
170
172
166
168
178
167
165
149
171
161
71
144
109
99
81
85
44
69
59
124
122
92
85
138
162
108
92
159
118
133
119
87
97
45
22
135
222
186
157
130
150
150
197
197
197
197
197
197
197
196
196
196
195
195
194
142
138
138
190
188
136
135
133
132
184
129
129
128
128
128
121
121
119
170
165
164
110
109
161
107
157
156
156
154
156
156
156
157
157
157
157
107
107
107
110
163
163
163
170
119
125
125
123
175
174
177
177
127
127
127
181
181
132
133
136
190
194
195
196
196
197
198
200
149
150
150
158
211
212
214
215
218
219
220
223
172
226
228
229
229
232
181
234
238
187
188
188
246
247
249
251
252
254
202
255
255
208
210
211
212
215
255
255
255
255
255
219
223
255
255
224
224
225
255
255
255
227
255
255
255
255
255
226
255
255
255
226
255
255
226
255
225
225
255
255
255
255
255
255
255
255
218
217
255
255
255
255
208
208
255
255
255
255
199
250
249
246
194
192
191
238
185
184
180
180
179
178
227
174
174
106
106
106
53
53
52
52
52
52
104
107
109
111
113
119
120
120
122
71
72
124
126
128
128
130
130
130
130
127
75
75
77
76
76
76
79
79
82
134
135
136
136
143
91
91
94
146
146
95
150
150
153
101
101
154
154
103
103
107
108
163
164
166
115
118
119
120
123
124
125
191
135
133
183
179
177
123
126
193
191
127
132
129
103
84
90
89
57
95
66
79
102
116
38
102
9
88
92
92
56
123
101
108
74
62
217
194
196
196
193
145
144
144
144
144
196
196
196
195
195
194
194
194
141
141
137
189
190
189
189
135
132
133
133
130
129
128
179
179
120
118
116
168
165
161
106
157
155
104
155
153
153
153
150
150
100
101
101
154
155
155
103
105
106
106
159
161
168
118
122
121
172
174
175
175
175
126
127
128
182
130
133
134
190
192
194
195
198
196
199
201
202
203
204
206
158
159
160
214
215
218
218
221
224
225
225
227
228
228
233
182
183
239
240
241
189
195
196
198
252
253
255
255
255
255
255
255
212
213
214
255
255
255
255
255
220
255
255
223
224
225
225
226
255
255
255
255
255
255
255
255
227
227
227
227
227
227
255
255
255
225
225
224
224
255
255
255
223
222
218
218
218
215
213
255
255
209
207
255
255
255
255
252
251
251
248
248
246
193
240
239
186
182
182
180
178
174
173
172
57
57
56
56
107
107
55
56
56
108
110
112
115
116
122
122
71
73
128
129
77
132
80
132
134
134
134
134
131
79
80
82
134
135
135
83
83
87
87
88
141
141
149
149
98
150
151
153
101
103
157
158
106
109
161
109
109
162
163
115
116
118
118
123
176
127
128
130
131
132
147
145
144
193
192
190
190
177
176
176
120
122
131
127
191
194
188
176
97
88
165
127
82
112
89
132
108
91
49
98
87
61
95
169
140
208
191
199
194
194
201
196
144
144
144
144
196
196
194
194
194
193
193
140
140
136
189
189
189
188
134
131
132
131
129
128
178
178
177
119
117
113
112
110
106
104
102
154
153
150
98
96
96
96
148
148
97
99
151
152
153
154
154
105
105
105
157
165
168
120
119
171
173
174
174
122
126
127
128
131
132
137
138
192
195
197
197
198
199
201
152
205
206
207
208
159
160
161
214
215
218
218
220
223
224
226
228
228
229
234
235
184
239
241
241
190
247
248
199
201
202
255
204
255
255
255
211
212
213
255
255
255
255
255
219
220
255
255
255
224
225
226
255
255
255
255
255
255
228
255
227
227
227
227
227
227
227
227
255
255
226
226
225
225
255
255
255
255
222
219
219
219
215
213
255
213
209
255
255
255
255
255
253
252
200
249
248
247
194
240
239
239
235
234
233
179
175
173
173
57
57
57
56
108
107
55
56
56
109
111
61
63
65
122
123
124
128
78
131
133
82
82
136
136
136
136
84
81
83
84
136
137
138
138
85
88
89
90
91
145
146
99
99
102
154
155
155
157
105
107
108
108
109
109
109
110
113
166
167
169
118
121
126
180
130
132
133
134
134
144
144
145
145
144
196
191
185
137
195
191
182
128
133
150
200
197
198
177
111
82
97
105
190
137
96
68
45
66
142
103
89
66
153
169
209
135
144
192
200
148
196
144
144
144
144
144
196
194
194
193
193
193
140
140
136
188
189
188
188
133
131
131
130
128
127
177
177
176
168
114
112
112
109
105
103
102
152
152
97
95
94
94
94
147
147
96
96
150
150
152
153
153
154
104
104
157
164
167
119
119
171
121
122
122
123
127
128
130
132
133
139
139
143
196
197
198
200
200
150
153
206
207
208
209
160
161
162
163
163
166
218
220
223
224
226
228
229
229
183
235
237
240
241
242
242
196
249
251
253
203
204
204
255
255
255
255
212
213
214
214
215
216
218
219
255
223
255
255
255
255
255
255
255
255
255
255
255
255
255
227
227
227
227
227
227
227
227
227
227
226
255
225
225
255
255
255
224
223
219
219
219
216
214
213
213
255
255
255
255
255
255
253
253
200
197
197
196
246
241
240
239
235
235
233
231
175
174
173
112
60
59
59
58
110
110
112
112
60
62
65
67
68
73
126
127
131
82
83
136
138
86
138
139
139
87
87
85
86
139
141
142
142
145
145
145
96
97
98
150
151
156
105
157
160
160
160
110
110
111
113
113
114
114
114
117
118
120
173
176
177
180
184
186
135
190
191
192
192
187
137
140
145
149
204
209
207
147
138
191
192
194
190
147
202
197
193
190
146
156
146
147
122
205
155
98
112
116
124
205
199
214
194
143
148
131
144
135
147
147
196
196
144
144
144
196
196
193
193
193
192
140
139
191
135
136
136
187
187
133
130
129
129
126
126
176
175
175
166
113
111
160
106
104
100
101
99
149
95
92
91
91
90
142
143
94
94
146
148
150
150
152
152
153
153
153
164
114
120
120
172
123
124
124
124
129
131
133
188
188
141
141
144
145
198
200
201
150
153
206
207
157
210
159
162
162
163
163
163
166
166
219
171
172
226
228
230
178
183
236
237
241
242
191
243
248
198
200
202
203
204
205
209
255
255
211
212
213
214
214
215
216
218
219
255
224
255
225
225
255
255
255
255
255
255
229
255
229
229
227
227
227
227
227
227
227
228
228
227
227
255
226
226
226
255
225
224
223
220
220
220
255
255
214
214
255
255
208
255
255
255
254
253
253
198
197
196
247
242
240
240
236
235
234
232
228
174
174
63
63
62
62
62
62
113
113
113
62
64
64
64
65
72
127
128
133
83
86
139
141
91
145
145
145
95
94
99
99
152
154
154
155
157
106
106
109
109
161
162
162
166
114
167
167
168
118
118
119
121
122
123
126
126
179
184
133
134
135
189
191
192
195
196
197
197
200
201
201
200
201
150
152
153
206
205
205
204
151
202
202
201
203
202
202
201
201
146
146
143
195
195
194
192
191
191
188
188
188
188
136
136
136
138
190
138
138
138
138
190
193
193
193
141
141
193
193
193
193
192
191
139
137
137
134
134
133
132
130
129
128
125
125
124
122
172
171
171
157
105
156
154
151
98
96
95
95
92
92
91
91
91
141
141
142
91
92
147
147
146
149
151
151
152
154
155
161
163
118
118
120
121
124
179
181
134
137
138
191
192
201
201
204
152
153
205
154
154
209
210
160
213
214
214
163
215
163
163
163
165
165
164
169
171
173
228
230
231
237
238
239
189
190
194
194
250
199
200
254
203
207
255
205
255
208
208
209
255
255
212
215
216
218
255
255
255
224
225
226
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
228
227
227
227
255
255
255
255
226
226
255
255
224
222
222
221
255
220
219
255
255
255
210
209
255
207
203
253
253
198
198
196
195
242
240
240
238
236
234
230
228
174
171
64
64
62
62
62
62
114
113
62
63
65
66
67
68
75
127
128
82
83
86
139
142
144
146
145
147
147
95
151
152
102
103
103
155
106
107
107
110
162
163
163
163
167
168
168
168
119
119
171
173
124
124
179
180
181
181
185
134
135
136
189
192
193
197
197
198
199
201
202
202
201
202
203
205
206
207
153
153
153
152
151
202
202
203
203
202
201
201
146
145
195
195
142
142
140
139
191
188
188
188
136
136
136
136
138
138
190
138
138
138
190
193
193
193
193
193
193
141
141
141
140
139
138
137
137
134
185
133
132
129
180
128
177
176
124
121
119
171
171
157
156
156
153
151
150
148
94
94
144
91
91
90
90
140
140
141
91
91
146
94
94
149
151
99
100
154
155
161
164
119
119
120
124
125
129
182
187
189
190
194
194
201
201
152
204
153
153
154
206
209
211
212
213
214
214
215
215
215
163
163
217
165
165
169
171
173
176
230
230
182
186
239
241
242
245
194
196
199
252
254
255
255
255
204
205
208
208
209
210
212
212
215
216
255
219
255
255
255
225
255
255
255
255
255
228
228
228
255
228
255
228
228
228
228
255
228
228
227
227
227
255
255
255
255
226
255
255
225
224
222
222
221
221
220
255
255
255
215
210
210
255
207
255
254
253
198
198
196
195
242
240
240
238
236
234
230
228
174
171
65
117
65
65
65
65
65
118
119
119
122
71
72
72
78
79
80
85
87
89
90
145
148
98
98
99
100
152
156
156
157
105
160
160
160
112
112
114
168
169
169
170
172
122
175
175
123
176
178
179
130
130
131
184
185
186
188
189
190
142
143
144
144
149
202
204
205
206
207
207
208
209
210
210
211
212
209
209
209
156
155
206
206
205
204
203
202
149
146
145
194
142
142
141
139
139
138
187
187
135
135
135
187
187
188
188
188
136
136
136
136
189
189
189
189
137
189
189
138
137
137
136
135
134
133
132
132
183
180
179
125
175
175
174
172
119
117
169
169
104
155
154
152
150
149
146
92
91
141
140
88
88
140
138
139
139
89
90
144
92
94
149
151
151
100
102
155
166
169
174
124
124
179
131
132
185
190
192
195
196
197
150
150
153
153
153
154
155
207
211
212
213
214
215
216
163
215
215
163
163
217
217
166
169
171
173
176
177
229
182
183
238
240
242
243
245
196
197
199
253
255
255
255
255
204
207
208
209
210
212
255
215
216
255
219
220
255
255
255
255
255
255
255
255
255
228
255
255
255
255
228
228
228
228
228
255
255
255
227
227
255
255
255
227
255
255
255
225
224
223
223
222
221
255
255
255
255
216
211
210
209
255
255
254
254
250
198
196
247
242
240
240
238
236
234
230
228
174
171
66
118
119
68
69
69
70
122
123
72
74
75
76
76
84
84
138
90
93
95
149
150
100
102
105
105
106
158
161
161
162
163
165
165
165
168
116
118
120
121
122
175
125
126
180
181
181
181
183
182
184
133
134
187
135
188
140
143
196
198
199
202
150
153
207
156
157
209
211
211
212
160
160
161
161
214
212
212
211
158
157
157
208
207
206
205
203
150
146
145
141
141
141
141
138
190
137
134
186
186
186
186
186
186
187
187
187
135
135
135
135
136
136
188
136
136
136
188
188
188
187
134
133
132
132
129
181
179
178
176
120
119
170
170
169
169
166
165
113
102
101
153
150
148
147
145
91
90
140
139
87
87
138
138
138
139
88
89
92
92
94
149
151
151
100
102
155
169
171
178
126
129
130
132
187
188
193
196
198
199
202
151
151
153
154
154
206
156
157
160
162
215
216
217
217
215
163
163
163
163
165
217
219
170
171
173
175
176
176
181
182
184
185
239
190
243
247
248
250
251
254
255
255
253
202
206
207
209
210
255
255
215
216
218
219
220
255
255
225
255
255
255
255
255
228
228
228
228
228
255
255
255
228
228
228
255
255
227
227
227
255
255
227
227
255
255
255
226
225
224
223
223
222
221
255
255
255
216
212
211
255
255
204
255
254
198
198
196
195
190
240
240
186
236
234
230
228
174
171
118
119
119
121
122
71
125
125
126
75
77
78
79
80
87
139
141
146
147
150
101
100
102
105
106
109
109
162
162
163
165
166
166
114
169
116
116
120
121
174
175
177
128
128
129
129
132
132
132
134
135
188
191
191
192
140
144
145
198
199
202
203
204
155
156
157
158
159
160
212
160
161
161
161
214
214
213
212
160
159
158
157
157
155
155
205
204
202
198
145
141
141
141
140
190
190
137
134
134
134
186
134
134
134
134
186
186
186
186
134
134
135
135
187
135
135
135
135
187
187
186
186
133
131
131
129
128
179
177
173
171
168
117
117
169
167
165
113
164
153
101
100
98
95
147
92
143
90
88
87
87
87
139
138
139
139
89
90
92
93
94
149
151
151
152
102
155
170
173
180
180
181
130
134
188
190
143
197
200
201
150
151
151
154
154
154
155
156
158
161
162
215
217
217
218
215
163
163
163
163
217
165
167
170
171
225
175
176
176
179
182
183
185
238
240
242
245
248
249
251
252
254
203
200
202
205
207
209
210
255
255
215
216
218
219
255
255
255
255
255
255
255
255
255
255
228
228
228
228
228
228
228
255
255
228
228
228
255
227
227
227
255
227
255
255
255
227
226
225
224
224
223
223
222
255
255
255
255
255
211
210
255
255
255
255
250
198
196
195
190
188
240
238
236
234
230
228
174
223
71
71
122
125
127
128
79
132
132
135
87
89
142
143
147
148
97
101
153
154
104
105
160
163
112
115
116
168
171
171
171
119
118
119
119
117
172
174
175
178
179
180
182
132
133
135
136
137
140
142
142
197
197
197
198
146
146
146
201
202
203
204
206
209
158
159
159
160
160
212
163
163
164
164
165
165
215
215
214
161
161
160
159
156
155
206
205
203
200
198
141
141
193
193
191
190
190
134
134
133
133
133
132
132
184
184
184
184
184
132
132
133
185
185
184
184
183
183
183
183
130
130
181
179
179
173
173
172
171
171
167
167
116
115
166
165
160
159
159
151
150
97
96
94
145
91
91
91
89
140
139
139
139
88
88
88
140
88
142
90
145
147
148
151
153
102
154
171
172
177
179
182
132
135
139
139
196
199
200
201
150
150
202
153
154
154
155
156
158
162
216
217
165
216
216
216
164
164
164
216
218
218
167
170
171
225
227
228
228
178
179
180
182
185
186
186
243
244
245
249
250
252
200
201
202
205
207
208
210
211
255
214
215
217
255
255
255
255
224
255
255
255
227
255
255
226
227
227
228
228
255
228
255
255
255
228
228
255
255
255
255
255
255
255
255
255
228
227
227
226
255
255
255
255
255
255
255
255
211
210
255
208
255
254
254
199
198
197
195
189
188
187
183
182
180
228
225
173
172
72
72
126
127
130
131
82
83
137
138
91
95
148
149
151
153
102
107
107
108
108
114
168
171
171
172
175
175
172
172
120
120
122
122
122
125
177
179
183
132
133
185
185
134
138
139
192
193
195
146
148
149
149
202
202
150
150
151
151
204
207
207
155
211
159
160
214
162
163
163
165
166
166
166
166
167
218
217
217
216
215
162
214
157
156
155
206
204
200
199
141
141
193
192
190
189
189
132
132
132
131
131
131
130
132
184
184
184
184
132
132
132
132
184
183
183
182
182
130
130
129
128
179
178
178
172
172
171
169
168
166
165
166
165
163
161
159
158
158
149
149
149
95
94
145
91
91
91
89
140
139
139
139
88
88
88
140
88
142
142
144
146
147
149
152
152
153
169
117
123
125
181
182
132
136
136
193
197
199
200
150
150
202
205
206
155
156
157
158
162
216
217
165
164
164
216
216
216
216
216
218
218
218
222
223
224
226
175
228
229
177
180
181
182
183
185
188
243
244
246
248
197
197
200
201
204
206
208
209
210
211
214
215
255
255
255
255
223
223
224
225
226
226
226
255
255
255
255
228
228
255
228
255
255
228
228
228
255
255
255
255
255
255
255
228
228
228
228
227
255
255
255
255
223
255
255
255
255
255
211
255
208
255
255
202
199
198
197
195
189
188
187
183
182
180
175
173
172
171
125
73
75
78
131
135
84
86
141
142
95
99
152
152
154
155
158
109
111
110
164
170
118
172
174
175
175
177
120
120
122
123
175
175
177
126
126
130
132
133
134
134
137
138
191
193
144
197
197
202
150
151
153
154
206
154
152
152
155
155
208
208
157
160
214
162
163
163
163
164
166
166
166
166
166
166
218
218
217
216
215
215
162
158
157
156
206
205
201
200
142
141
193
192
190
189
188
131
131
131
131
130
130
129
183
183
183
183
183
183
131
129
129
181
129
180
128
127
127
126
126
125
176
175
123
118
169
169
168
167
165
164
165
162
109
160
156
155
102
97
148
148
146
145
93
143
143
143
89
88
139
139
87
87
87
87
87
87
89
89
90
145
146
148
150
151
152
115
116
120
124
126
181
130
133
187
140
194
196
200
200
201
202
205
207
208
156
158
210
214
164
165
165
164
164
164
216
216
216
216
166
218
218
169
171
224
226
227
175
176
229
230
179
181
182
183
187
188
190
245
195
196
197
199
200
204
205
207
208
210
211
213
215
255
255
255
255
222
223
224
225
225
226
226
226
255
255
255
255
228
228
228
228
255
228
228
228
255
255
255
229
229
255
229
229
229
255
228
228
227
227
225
224
224
255
255
255
255
255
255
255
255
255
255
203
199
198
197
195
189
240
239
183
182
180
175
172
172
170
76
77
129
132
135
137
87
91
146
147
153
155
156
157
160
163
164
169
117
170
170
121
123
125
177
177
179
179
124
124
125
128
180
181
183
130
131
134
135
136
137
137
144
145
199
200
201
204
204
206
156
157
157
159
211
211
158
158
158
158
158
160
160
163
164
216
164
167
167
219
219
218
166
166
166
165
219
218
218
217
216
163
163
159
159
158
156
154
203
202
144
144
195
194
191
190
188
131
131
131
182
130
129
129
182
182
182
182
182
182
182
180
180
179
179
127
126
126
124
176
175
175
122
120
120
116
116
115
114
164
163
163
160
108
159
156
153
101
100
95
95
95
93
93
145
143
143
143
89
140
139
87
87
86
86
86
86
86
88
88
88
91
143
146
96
97
97
109
110
114
116
120
121
124
178
180
185
138
192
194
195
199
199
204
206
207
208
210
210
162
164
165
165
164
164
164
164
164
216
216
218
218
217
169
170
223
225
226
175
174
227
228
229
231
232
181
237
238
240
242
245
194
195
197
198
202
204
205
206
209
210
255
255
255
255
255
255
222
222
255
224
225
225
226
255
255
255
255
228
228
228
228
255
255
255
255
255
255
229
229
229
229
229
229
229
229
229
255
255
255
228
255
255
255
255
222
255
255
255
255
255
255
255
255
203
199
198
197
195
241
240
239
236
234
179
174
171
170
169
77
79
130
133
85
87
88
93
96
151
155
159
160
160
164
165
166
171
121
120
173
178
180
129
131
183
183
131
125
128
129
182
183
186
134
136
190
140
141
194
145
145
148
201
202
206
207
208
208
210
159
160
160
161
213
213
212
212
212
212
161
161
161
164
164
165
167
168
220
220
219
219
166
166
217
165
167
219
218
217
165
164
163
160
160
158
157
155
204
151
146
146
197
196
192
191
189
132
132
131
131
183
130
130
182
182
130
130
182
182
130
179
179
179
178
126
125
125
175
175
174
173
120
119
171
167
115
114
113
112
162
160
159
159
158
155
100
99
99
94
94
94
93
93
145
143
143
143
89
140
139
139
87
138
86
86
86
86
88
88
87
89
90
93
95
96
96
104
105
162
164
115
116
119
120
175
182
185
136
190
191
197
145
150
204
206
207
209
210
162
164
165
217
216
164
164
164
164
164
216
218
218
217
168
169
223
225
226
226
171
174
227
229
230
179
180
182
238
239
241
190
191
194
196
198
201
203
204
205
209
255
255
255
255
255
255
221
221
255
255
223
224
225
226
255
255
255
255
228
228
228
228
255
255
255
255
255
229
229
229
229
229
255
229
229
229
229
229
229
228
255
255
226
255
255
222
255
255
255
255
255
255
255
255
255
251
250
197
247
241
188
187
236
234
231
174
170
169
219
82
82
135
137
88
90
145
151
153
103
107
110
111
166
120
120
175
177
180
183
183
132
132
135
137
137
137
139
136
189
193
194
196
145
147
148
149
151
152
153
153
156
161
213
214
214
214
215
215
164
216
164
164
164
164
216
222
222
222
222
170
222
170
172
223
223
171
170
170
222
224
224
222
222
221
169
167
219
165
164
164
163
163
160
160
159
158
158
157
155
152
150
149
200
198
195
194
136
187
187
184
184
131
129
130
130
130
127
127
178
178
178
178
177
176
124
122
174
170
118
117
117
117
117
116
164
112
112
110
110
158
155
152
151
148
92
88
88
88
93
93
93
94
95
147
147
145
145
145
144
143
143
91
141
141
141
140
141
141
141
141
142
91
92
95
96
96
99
100
157
159
163
164
167
116
117
123
127
130
184
185
191
193
198
198
149
151
155
210
214
164
167
167
218
218
162
162
213
213
212
212
212
213
214
215
164
216
217
217
223
172
173
227
229
178
178
183
184
186
242
244
193
194
196
198
201
203
204
205
255
255
255
255
255
255
255
221
255
255
223
223
255
225
226
226
226
227
255
255
228
226
226
226
255
255
255
255
255
228
228
255
228
228
228
229
229
229
228
228
227
227
226
226
225
255
255
255
255
213
213
255
255
255
255
255
251
250
197
247
241
240
187
231
231
230
226
169
168
167
135
82
84
86
90
93
148
151
101
104
110
112
115
115
122
175
176
180
182
133
186
135
137
140
141
143
195
144
146
147
148
202
153
153
206
155
156
157
160
161
213
214
217
218
166
167
167
219
219
222
170
170
170
170
170
170
224
224
224
172
172
172
172
225
225
224
172
172
171
223
225
224
223
223
222
170
219
219
165
165
164
164
164
161
160
160
211
210
157
156
153
150
202
200
199
196
195
137
136
188
185
184
183
129
129
129
181
178
126
178
177
177
177
176
124
123
121
119
117
117
117
168
116
115
115
163
162
161
161
158
155
153
150
148
94
90
139
139
87
92
144
145
145
94
94
146
145
144
92
143
143
91
91
88
88
140
139
141
140
140
140
142
142
92
95
95
96
96
149
154
156
160
162
165
165
115
121
124
128
129
182
189
191
197
145
148
150
154
208
161
163
164
166
217
217
213
213
212
160
160
159
211
212
213
161
162
163
216
216
223
224
225
226
228
177
178
183
184
238
242
244
193
194
197
198
202
255
255
206
255
255
255
215
255
255
255
255
255
255
222
223
255
255
226
226
226
226
255
255
255
226
226
226
255
227
255
228
228
228
255
255
255
255
255
255
229
229
228
228
227
227
226
255
255
255
222
220
255
213
213
211
210
255
255
204
199
250
197
195
241
240
239
234
233
231
228
223
169
166
85
85
85
88
92
96
151
153
156
107
112
116
117
118
125
179
181
186
188
138
139
194
197
200
149
150
153
153
154
154
207
208
157
210
210
160
162
163
164
167
220
220
222
171
171
171
172
224
224
224
172
172
172
172
172
172
175
227
227
227
175
175
175
227
227
227
174
174
174
226
226
226
225
172
172
172
168
220
218
217
165
217
216
161
161
160
212
211
210
208
155
152
151
202
201
198
196
139
138
189
186
185
183
129
128
179
179
177
176
176
124
176
175
175
122
121
118
117
117
115
166
165
164
163
161
160
157
157
156
153
149
149
94
92
91
88
137
137
138
143
143
143
143
144
92
93
144
144
91
143
142
90
90
87
138
138
137
139
139
139
140
141
142
143
146
147
95
91
94
98
102
104
159
160
163
113
118
120
122
125
178
184
136
140
143
144
149
203
206
158
161
162
214
216
216
212
211
211
210
158
158
210
209
210
159
160
213
213
213
222
171
224
225
228
176
177
183
236
238
242
244
193
194
198
199
202
255
255
255
255
255
214
255
255
255
255
255
255
221
221
222
255
255
225
225
225
226
226
255
255
255
226
226
227
255
255
228
228
228
228
255
255
255
228
255
255
255
255
228
227
227
255
255
255
255
222
220
220
213
213
211
210
255
255
204
199
250
249
195
189
188
187
180
178
175
173
169
164
158
85
137
137
143
93
97
152
153
156
159
113
117
118
119
129
181
131
137
191
141
144
145
147
151
206
155
156
157
156
157
209
211
211
212
160
164
217
168
169
170
222
222
227
227
175
176
176
228
229
228
176
176
176
176
228
176
177
229
229
229
229
177
177
230
229
229
177
176
176
228
227
227
225
173
173
172
169
168
218
218
217
217
217
214
161
213
212
211
210
209
155
153
152
151
202
198
197
140
139
190
134
185
183
129
127
179
178
176
176
175
123
123
123
122
173
120
117
169
167
114
165
163
162
160
160
105
156
103
152
151
147
145
93
91
89
86
84
137
137
142
90
142
143
143
92
144
91
91
91
142
90
90
89
86
138
137
137
138
86
138
139
141
141
143
146
146
147
91
91
97
99
103
156
159
162
111
115
119
172
173
176
182
132
139
140
143
198
202
206
157
159
161
213
213
163
211
210
210
210
157
157
157
208
209
210
159
211
212
212
170
171
172
225
227
228
177
183
236
238
242
244
245
194
198
251
255
255
255
255
255
211
214
215
255
255
255
255
255
220
255
255
255
255
224
225
255
255
255
255
255
255
255
226
255
255
228
228
228
228
228
228
255
255
255
255
255
255
255
228
255
255
255
255
255
224
255
220
220
255
255
211
210
255
255
204
199
198
197
247
189
188
187
237
181
177
173
164
157
149
138
139
139
144
148
100
103
103
158
160
116
118
121
122
185
134
137
141
197
147
150
152
152
157
211
212
161
162
163
163
166
218
218
218
168
172
225
228
177
178
230
231
230
231
179
179
180
180
232
233
233
181
181
181
181
181
179
231
231
231
231
179
179
231
231
178
178
178
177
177
176
228
174
174
173
225
221
169
219
218
218
217
217
214
214
213
212
212
211
209
156
154
153
152
202
199
198
141
140
139
135
185
183
128
126
126
126
175
175
174
174
176
124
123
172
120
116
166
114
113
112
109
159
155
154
151
151
98
149
147
143
90
90
89
88
85
85
138
138
141
141
141
142
143
143
143
143
143
91
142
89
89
89
85
137
137
136
137
137
85
87
88
141
142
145
146
146
143
91
95
99
101
104
157
159
162
113
115
170
171
172
180
183
135
139
140
145
200
203
155
158
158
161
212
212
210
210
157
157
156
156
156
155
156
156
209
210
211
211
169
170
171
173
175
228
228
235
236
238
242
244
193
194
199
252
255
255
255
255
255
211
214
215
255
255
255
255
219
255
255
255
222
223
255
224
224
255
255
255
255
255
255
255
255
255
255
255
228
228
228
228
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
220
220
213
213
211
210
255
255
255
251
198
197
247
241
188
187
179
176
174
173
172
217
157
89
140
142
146
98
100
102
105
160
164
118
121
177
182
136
139
142
202
203
154
154
159
211
216
165
165
220
168
167
170
171
224
225
175
175
177
230
232
232
233
236
236
236
236
185
185
186
186
238
237
185
185
185
185
185
185
184
184
236
235
183
183
182
234
234
233
181
181
233
232
177
176
175
174
173
224
222
222
219
218
217
217
216
214
214
213
212
211
211
157
155
152
204
203
150
199
198
141
140
139
135
133
183
128
127
127
126
124
123
122
173
173
173
121
119
119
114
111
109
106
156
101
98
151
97
147
146
144
143
142
140
87
88
88
86
86
138
138
138
141
141
141
90
142
143
143
92
92
91
141
89
88
88
85
137
136
136
137
137
85
86
87
88
141
144
145
145
143
91
94
94
97
98
100
155
158
110
112
165
166
166
177
127
134
189
193
142
145
147
154
155
158
158
210
210
209
209
156
156
155
155
155
207
154
154
155
209
210
159
168
169
171
225
176
177
230
235
236
239
243
194
195
196
199
253
255
255
255
206
255
211
214
214
255
255
255
220
255
221
255
255
255
224
255
255
255
255
255
255
255
226
255
255
255
255
255
255
227
227
227
227
227
255
255
255
255
228
228
228
255
255
255
224
223
255
222
220
255
214
214
255
255
255
255
205
201
199
197
247
243
189
187
233
180
179
176
223
222
219
89
90
90
94
98
101
104
107
109
113
119
122
180
183
192
193
144
151
155
156
210
161
214
218
168
169
222
170
170
170
172
227
175
176
176
231
232
235
236
237
237
238
240
240
188
241
241
189
190
241
241
189
189
189
241
241
186
185
237
236
184
184
236
235
235
234
234
181
233
233
177
177
175
174
225
225
222
221
219
218
217
216
216
213
213
160
160
159
158
156
155
152
152
151
150
199
198
193
140
139
187
185
131
127
126
126
125
123
122
121
172
174
173
173
173
118
111
110
107
156
153
149
148
146
147
92
92
143
142
141
87
86
86
86
86
86
86
86
86
140
140
141
141
142
142
142
143
143
142
141
88
87
87
84
136
136
135
137
136
136
137
87
87
89
92
144
145
143
91
93
94
95
98
100
154
157
109
110
112
113
165
176
178
132
188
190
193
196
146
151
155
156
158
210
210
209
209
208
156
155
155
155
155
206
206
207
157
158
211
168
169
171
173
228
229
230
235
184
187
191
194
195
196
199
201
255
255
255
206
210
211
255
214
215
255
255
219
220
220
255
255
255
223
223
255
255
255
255
255
225
226
226
226
255
255
228
255
227
227
227
227
227
255
255
255
228
228
228
227
255
255
224
224
223
222
222
255
255
255
214
255
255
255
255
205
202
200
197
196
192
241
239
232
180
178
175
224
222
220
92
91
91
97
99
102
105
109
114
119
124
180
183
185
197
199
202
209
161
213
215
218
220
223
226
227
175
176
175
175
228
230
179
179
180
184
237
240
241
242
242
243
244
193
193
246
194
194
194
194
246
246
246
246
246
246
191
242
242
242
189
189
241
239
239
238
237
236
183
235
178
177
176
175
174
225
221
221
218
165
164
216
215
212
211
159
158
157
208
155
153
151
151
150
149
198
197
140
191
190
134
184
182
127
125
125
176
121
121
172
119
174
174
173
173
117
161
107
105
102
150
146
145
143
89
136
138
137
137
84
83
82
85
85
85
85
85
87
139
139
139
139
139
140
140
141
142
89
89
87
138
86
85
135
134
134
133
83
135
135
137
138
87
88
91
144
144
141
89
145
145
147
96
98
101
153
157
109
110
111
164
120
122
182
185
188
189
192
198
151
152
156
156
208
209
209
209
208
156
207
207
155
155
206
206
207
157
210
211
168
169
223
225
176
229
230
235
236
239
243
246
247
196
198
200
203
203
255
255
255
210
255
213
255
255
255
219
219
220
220
255
222
223
223
255
255
224
255
255
225
226
226
255
227
255
255
255
227
227
227
227
255
227
255
255
255
227
227
227
255
255
224
224
223
222
222
255
220
255
255
213
212
255
255
207
202
252
198
197
192
190
240
234
181
179
177
225
223
221
94
94
96
152
154
158
107
111
168
174
182
183
185
188
201
202
205
213
162
216
216
221
223
227
228
176
178
178
230
178
179
180
233
235
184
185
240
241
242
192
193
193
193
194
194
195
195
195
195
197
197
249
249
249
197
197
245
245
245
244
244
192
191
190
241
239
238
237
184
235
231
178
176
175
175
174
220
220
217
165
164
163
214
210
210
209
157
156
155
153
151
149
148
199
198
196
195
191
191
189
133
183
181
126
126
125
125
122
173
172
171
174
174
173
120
116
108
158
101
98
94
141
139
83
83
132
132
80
80
79
79
81
136
136
84
84
138
138
138
137
137
138
138
87
87
87
88
88
87
86
85
136
136
133
133
133
132
82
81
133
84
137
138
88
142
143
143
141
89
145
145
147
148
98
99
102
158
161
162
163
164
118
120
128
131
186
187
189
195
150
152
155
155
207
207
157
157
208
208
207
207
155
207
206
206
207
209
210
211
168
169
223
225
176
229
230
235
236
239
243
246
247
196
198
200
202
202
255
255
209
255
255
255
255
255
255
218
218
219
220
221
221
222
223
255
255
224
224
225
225
226
226
226
227
255
255
255
227
227
227
227
255
227
255
255
227
227
226
226
255
255
224
224
223
222
222
220
220
214
255
213
212
210
209
209
255
253
199
197
193
191
241
239
238
236
232
226
223
220
147
95
97
152
155
159
160
111
169
175
183
184
187
189
201
203
205
213
214
216
216
221
224
227
228
178
178
230
230
178
180
181
183
184
236
237
240
241
192
192
193
193
194
195
195
196
196
196
196
198
198
198
198
198
198
198
246
194
193
193
193
192
192
190
241
188
238
237
236
236
231
178
176
176
175
174
220
220
217
164
164
163
162
210
210
209
208
208
207
153
150
148
147
199
198
195
194
191
190
189
185
183
181
126
126
126
177
174
173
173
172
174
174
174
120
116
108
105
150
95
91
139
136
80
78
132
131
79
79
79
78
132
136
136
84
84
138
86
86
137
137
85
86
87
87
87
88
88
87
86
85
136
136
133
133
133
132
133
81
81
84
137
138
87
142
143
143
141
89
145
145
147
148
150
152
154
158
161
163
163
164
169
119
128
130
185
187
189
143
150
151
155
155
155
155
157
157
208
208
207
155
155
155
206
206
207
209
210
211
168
169
223
225
228
229
230
235
236
239
243
246
247
248
198
199
202
202
203
204
209
209
212
255
255
255
215
218
218
219
220
220
221
255
223
223
255
255
224
225
225
226
226
226
227
227
255
255
227
227
227
227
255
255
255
227
227
227
226
226
225
255
224
255
223
222
222
220
220
214
255
255
212
210
210
209
255
253
199
197
193
243
241
241
240
185
233
174
223
220
101
153
154
159
163
165
168
172
175
180
184
188
191
194
201
205
208
214
217
222
226
227
228
231
234
183
186
238
236
184
185
186
187
240
240
243
243
244
244
192
193
193
195
196
196
196
197
197
197
198
198
250
198
198
198
198
196
196
195
195
194
194
194
192
192
190
189
188
187
187
183
183
179
178
177
176
172
223
171
167
166
165
216
211
211
209
208
206
205
150
148
146
145
144
196
193
192
189
187
186
183
183
182
126
127
179
178
175
174
174
173
166
164
162
160
105
99
147
142
139
83
131
129
74
74
72
72
74
75
77
81
133
133
133
135
135
135
137
137
80
81
81
82
81
81
80
81
81
81
80
79
131
131
132
132
132
132
82
82
82
82
136
138
89
143
143
143
145
93
147
149
150
151
99
103
155
160
162
163
165
165
171
119
124
178
182
187
189
142
146
149
151
153
155
155
156
156
156
208
208
208
156
208
207
207
208
210
211
212
170
171
173
177
231
232
233
238
239
243
245
247
248
249
197
198
201
203
204
205
208
209
213
213
255
255
215
219
219
255
221
221
222
223
224
255
255
255
255
226
226
227
227
227
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
225
224
255
255
223
221
222
222
221
220
217
255
255
255
214
211
211
255
255
203
202
250
248
246
243
241
238
234
230
227
223
153
153
154
159
163
165
168
171
174
179
185
189
140
195
201
205
208
214
217
222
226
229
230
233
236
185
187
240
186
238
239
188
241
241
242
245
245
245
246
194
194
195
196
196
197
197
197
198
198
250
250
250
250
198
198
198
196
248
195
195
194
194
194
194
193
192
191
190
241
188
185
184
181
180
179
178
174
225
172
169
168
167
218
211
211
209
208
206
153
150
148
146
145
196
196
193
140
189
135
186
183
183
130
126
178
178
177
175
122
121
120
165
111
160
158
155
97
145
140
137
133
129
127
72
72
72
72
74
75
77
81
133
133
133
135
135
83
137
137
80
133
81
82
81
133
80
81
81
81
80
79
131
79
132
132
132
132
82
134
134
134
136
138
89
143
143
143
93
145
147
149
150
151
99
103
155
160
162
163
165
165
172
120
124
178
182
186
188
140
144
148
149
151
153
154
156
208
208
208
208
156
156
208
207
207
208
210
211
160
170
171
173
177
179
180
233
238
239
243
245
247
248
197
197
198
201
203
204
205
208
255
213
255
213
255
215
255
255
255
221
221
222
255
224
255
255
255
255
255
226
227
227
227
227
255
255
255
255
228
255
255
255
255
255
255
255
255
255
255
255
255
255
255
221
222
222
221
220
217
255
216
255
255
211
255
255
255
205
255
252
197
247
245
243
240
235
180
229
173
