110
110
110
110
110
110
110
109
109
109
108
107
107
106
106
105
104
102
101
101
100
102
101
99
99
99
100
100
100
101
103
103
103
102
102
105
105
111
114
117
123
130
132
134
133
132
132
131
133
133
132
132
132
130
130
130
133
133
134
134
134
135
135
136
136
138
140
142
145
146
149
150
150
150
151
153
157
157
157
158
158
159
159
161
161
161
162
162
163
163
164
164
164
164
165
167
170
173
173
173
172
172
171
171
173
172
170
167
165
162
159
157
157
156
155
154
153
152
153
153
152
151
150
148
147
153
153
152
150
149
147
146
146
145
144
144
146
144
143
142
141
141
141
140
140
140
140
140
141
142
142
143
143
143
145
148
150
151
154
156
158
158
159
162
164
165
166
166
166
166
166
166
166
166
169
169
170
170
171
171
171
170
171
172
173
174
175
175
179
179
180
180
181
181
181
178
174
172
172
170
168
166
165
162
161
161
159
156
153
153
152
151
149
148
147
147
148
147
146
144
143
142
141
142
142
141
141
140
140
139
139
138
137
137
136
135
136
136
135
134
134
133
132
130
130
130
131
131
132
132
132
132
133
133
132
130
128
123
123
123
124
124
125
125
124
125
126
127
129
131
131
133
133
133
133
133
133
134
134
134
134
134
134
134
134
138
138
138
138
138
138
138
136
136
136
136
136
136
136
110
110
110
110
110
110
110
110
110
109
109
108
108
108
108
107
106
104
102
101
101
102
101
99
99
99
100
100
100
101
103
103
103
102
102
103
103
109
111
113
119
125
129
132
132
132
131
131
132
133
132
132
132
130
130
130
132
132
132
133
133
134
134
135
135
136
139
141
144
145
148
149
149
148
150
153
157
158
158
158
159
159
159
161
162
162
162
163
163
163
164
164
164
164
165
167
170
173
172
172
172
171
171
171
172
171
169
167
164
162
160
158
157
157
156
155
154
154
155
155
154
153
153
152
152
154
154
154
153
153
152
151
150
148
147
147
148
147
145
146
146
146
146
145
145
144
145
145
146
148
149
149
150
150
152
155
157
158
161
163
164
165
165
167
168
169
170
168
168
168
168
168
168
168
170
170
171
171
171
172
172
172
172
173
174
174
175
175
179
179
179
180
180
180
181
179
175
174
173
172
169
167
166
163
162
161
159
156
153
152
151
150
149
147
147
146
145
144
143
142
141
140
140
141
141
141
140
140
140
139
138
138
137
136
135
135
135
135
134
134
133
132
131
130
130
130
130
131
131
132
131
131
132
132
131
129
127
123
123
123
124
124
125
125
123
124
125
126
127
129
129
129
130
131
132
133
134
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
137
137
137
137
137
137
137
111
111
111
111
111
111
111
110
110
110
110
111
111
111
111
110
109
106
104
103
102
102
101
99
99
99
100
100
100
101
103
103
103
102
102
102
101
105
107
108
113
120
123
129
131
131
131
130
131
132
131
131
131
129
129
129
131
132
132
132
133
133
133
134
135
136
138
141
143
145
146
147
148
148
150
153
158
158
159
159
159
160
160
162
162
163
163
163
164
164
164
164
164
164
165
167
170
172
172
171
171
171
170
170
170
169
168
166
164
162
160
158
158
158
158
157
157
157
154
154
154
155
155
155
155
159
159
159
159
158
158
158
156
154
152
152
152
150
149
148
148
148
147
147
146
146
147
148
149
151
153
154
154
156
158
161
163
164
166
169
169
169
169
170
170
170
170
171
171
171
171
171
171
171
171
172
172
173
173
173
173
173
174
174
174
175
175
175
178
178
179
179
179
180
180
182
177
176
175
174
171
169
168
164
163
162
159
155
153
150
149
148
147
146
145
144
142
142
141
140
140
139
139
141
140
140
140
139
139
138
138
137
136
135
135
134
134
133
133
132
131
130
130
129
129
129
130
130
130
131
130
130
130
130
129
128
125
123
123
123
124
124
125
125
123
123
124
125
125
126
127
127
127
129
130
131
134
134
133
133
133
133
133
133
133
135
135
135
135
135
135
135
137
137
137
137
137
137
137
112
112
112
112
112
112
112
110
110
111
111
112
112
112
113
112
111
107
105
104
103
102
101
99
99
99
100
100
100
101
103
103
103
102
102
102
101
104
106
107
112
117
120
128
130
131
131
129
130
131
130
130
130
128
128
128
132
132
132
133
133
134
134
135
135
136
139
141
144
145
146
148
148
149
151
154
159
159
159
159
160
160
160
163
163
163
163
164
164
164
164
164
164
164
165
167
170
171
171
171
171
170
170
169
169
168
167
165
164
162
160
158
158
158
158
158
158
158
156
156
157
157
158
159
159
163
162
162
161
161
160
160
158
157
155
154
154
152
151
150
149
149
149
148
148
148
149
149
150
154
155
156
157
159
161
164
166
167
170
172
172
172
171
171
171
171
171
172
172
172
172
172
172
172
172
172
173
173
174
174
174
174
174
175
175
175
175
175
177
178
178
179
179
179
179
183
178
177
176
175
173
171
169
165
163
162
159
155
152
149
149
147
146
145
144
144
142
141
141
140
140
139
139
140
140
140
139
139
139
138
137
137
136
135
134
134
133
133
132
131
130
130
129
128
129
129
129
130
130
130
129
129
129
129
129
127
125
123
123
123
124
124
125
125
124
124
124
125
125
126
126
127
128
128
129
130
132
133
132
132
132
132
132
132
132
135
135
135
135
135
135
135
136
136
136
136
136
136
136
112
112
112
112
112
112
112
111
111
111
112
113
113
114
115
114
112
108
106
104
104
102
101
99
99
99
100
100
100
101
103
103
103
102
102
103
101
104
105
105
110
116
117
126
129
130
130
129
129
131
130
130
130
128
128
128
133
133
134
134
134
135
135
136
136
138
140
142
145
146
147
148
149
150
152
156
159
159
159
160
160
161
161
163
163
163
164
164
165
165
164
164
164
164
165
167
170
171
171
171
170
170
169
169
168
167
166
165
163
162
160
159
159
159
159
159
159
159
162
163
163
164
166
167
168
168
167
166
165
164
161
161
162
160
158
157
156
154
153
154
154
154
154
153
153
152
154
155
156
159
161
162
163
166
168
171
173
174
177
179
178
178
177
176
175
175
175
174
174
174
174
174
174
174
173
173
174
174
175
175
175
175
175
175
175
175
175
175
177
177
178
178
179
179
179
184
180
178
178
176
174
172
170
166
164
162
159
155
152
149
148
147
145
144
143
143
141
141
141
141
140
140
140
140
140
139
139
138
138
137
137
136
135
135
134
133
132
132
131
130
130
129
128
128
128
128
129
129
130
130
128
128
129
128
128
126
124
123
123
123
124
124
125
125
125
125
125
126
126
126
126
128
129
129
129
129
129
129
130
130
130
130
130
130
130
132
132
132
132
132
132
132
134
134
134
134
134
134
134
115
115
115
113
112
111
111
112
112
113
113
114
114
114
115
114
113
110
108
107
106
103
103
102
101
100
99
99
101
101
102
102
103
103
103
101
101
102
103
105
107
108
112
122
126
129
130
130
131
131
131
131
131
130
130
130
135
135
135
136
136
136
136
139
140
142
143
145
146
147
150
151
153
155
157
159
161
162
162
164
165
166
167
166
166
166
166
166
166
166
165
166
167
168
169
170
171
172
172
172
171
171
171
170
169
168
166
164
163
162
162
161
161
162
164
165
167
167
170
170
170
170
170
170
170
168
168
167
167
167
166
166
164
163
162
160
157
156
155
156
156
155
155
157
158
159
159
161
163
165
167
169
171
177
177
178
179
180
181
181
182
181
181
180
180
180
179
177
176
175
174
173
173
172
176
176
175
175
175
174
174
175
175
175
175
175
175
175
176
176
177
177
178
178
178
179
179
179
177
175
174
172
172
167
165
163
161
158
155
152
148
145
144
144
144
143
141
140
140
139
138
137
137
139
139
139
138
138
138
137
136
136
134
133
132
131
132
132
131
130
129
129
128
127
127
127
127
127
127
127
128
128
129
128
127
126
123
124
124
124
124
124
124
124
125
125
125
126
126
127
127
127
127
127
128
128
129
129
128
128
128
128
128
128
128
128
128
128
129
129
130
130
131
131
131
131
131
131
131
116
115
115
113
113
112
112
113
113
113
114
114
115
115
115
115
114
110
109
108
107
104
103
102
101
100
100
99
101
101
102
102
103
103
103
101
101
101
103
104
106
107
108
118
123
126
129
129
131
132
131
132
132
131
131
131
136
136
136
137
137
138
138
141
142
143
145
146
147
148
151
152
154
156
158
159
162
162
163
164
165
167
167
167
167
167
167
167
167
167
166
167
167
169
170
171
172
172
172
172
172
171
171
170
169
168
166
165
163
163
163
165
166
166
168
169
171
171
171
171
171
171
171
171
171
169
169
169
168
168
167
167
165
164
163
162
159
158
157
157
156
156
157
160
162
163
163
165
168
170
171
174
176
180
180
180
182
183
183
183
183
183
182
181
181
181
181
178
178
176
176
175
174
174
177
177
176
176
175
175
175
175
175
175
175
175
175
175
176
177
177
177
177
178
178
178
179
178
177
175
174
173
173
168
165
164
162
159
156
152
147
145
144
144
143
142
140
139
139
138
137
136
136
139
139
139
138
138
138
136
136
135
134
133
131
131
131
131
130
130
129
128
127
126
126
126
126
126
126
126
127
127
128
128
127
126
123
124
124
124
124
124
124
124
125
125
125
125
126
126
127
127
127
127
127
128
128
129
128
128
128
128
128
128
128
128
128
128
128
129
129
130
130
130
130
130
130
130
130
116
116
116
115
115
115
115
114
115
115
116
116
116
116
118
117
116
113
111
110
109
104
104
103
102
101
100
100
101
101
102
102
103
103
103
103
102
102
103
104
105
106
106
115
120
124
127
129
132
132
132
133
134
133
133
134
138
138
139
140
141
142
142
146
146
147
149
150
150
151
154
155
157
158
160
161
163
164
165
166
167
168
169
170
170
170
170
170
170
170
168
169
170
171
172
173
175
173
173
173
172
172
172
171
171
170
168
167
166
166
167
169
169
170
171
171
172
173
172
172
172
172
172
172
172
171
171
171
170
170
169
169
168
167
167
166
163
163
162
157
157
157
159
163
165
167
169
171
173
175
177
179
181
183
183
183
183
184
184
184
186
186
185
185
184
184
184
182
182
180
180
179
178
178
178
178
178
177
177
177
176
176
176
176
176
176
176
176
177
177
177
177
177
177
177
176
177
177
177
175
174
173
174
169
167
165
163
160
158
152
147
144
143
142
141
141
141
140
140
139
138
137
137
138
138
138
137
137
137
135
134
133
132
131
130
129
130
129
129
128
127
126
126
125
125
125
125
125
125
125
124
125
125
126
126
125
123
123
123
123
123
123
123
123
124
124
124
125
125
126
126
126
126
126
127
127
128
128
127
127
127
127
127
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
117
117
117
117
117
117
117
116
116
116
117
117
118
118
120
119
118
115
113
112
111
105
105
103
102
102
101
101
101
101
102
102
103
103
103
105
105
104
104
105
106
107
104
111
115
118
122
125
128
132
133
134
135
135
136
136
140
141
142
143
144
145
146
150
150
151
152
152
153
153
157
158
159
160
161
162
165
165
166
167
168
170
170
172
172
172
172
172
172
172
171
171
172
173
174
175
177
174
174
173
173
173
172
172
172
171
170
169
168
169
170
172
172
172
172
173
173
173
172
172
172
172
172
172
172
171
171
171
171
170
170
169
170
170
169
169
167
167
166
164
164
164
164
168
170
171
174
176
179
181
182
184
187
187
187
187
187
187
187
187
189
188
188
187
187
187
186
186
185
184
183
182
182
181
180
180
179
179
178
178
178
177
177
177
177
177
177
177
178
178
177
177
176
176
176
175
176
176
176
175
174
173
174
168
166
165
163
160
157
152
147
144
142
141
140
139
138
137
137
136
135
134
134
136
135
135
135
134
134
133
133
132
131
130
128
128
128
128
127
127
126
125
124
123
123
123
123
123
123
123
122
123
124
124
124
124
122
122
122
122
122
122
122
122
123
123
124
124
124
125
125
125
125
126
126
126
127
127
128
128
128
128
128
128
128
126
126
127
127
128
128
128
129
129
129
129
129
129
129
117
117
117
117
117
117
117
116
116
116
117
118
118
118
120
120
118
115
114
113
112
105
105
103
103
102
101
101
101
101
102
102
103
103
103
106
106
105
105
106
107
108
103
109
113
116
120
122
125
133
133
134
136
135
136
137
140
141
142
144
145
146
147
151
151
152
153
153
154
154
158
159
160
161
162
162
165
165
166
167
169
170
171
172
172
172
172
172
172
172
171
171
172
173
175
176
177
174
174
174
173
173
172
172
172
171
170
169
169
169
171
173
173
173
174
174
174
174
171
171
171
171
171
171
171
171
171
171
170
170
169
169
171
171
170
170
168
168
168
167
167
167
168
170
172
173
177
179
181
183
184
187
189
190
190
190
189
189
189
189
189
189
189
188
188
187
187
186
186
185
184
183
182
182
180
180
179
179
178
178
178
177
177
177
177
177
177
177
178
178
177
177
176
176
176
174
176
176
176
175
174
173
174
168
166
164
162
159
157
152
147
144
142
141
140
139
136
135
134
134
133
132
132
135
135
134
134
134
133
133
133
132
131
129
128
127
128
128
127
126
126
125
124
123
123
123
123
123
123
123
121
122
123
124
124
124
122
122
122
122
122
122
122
122
123
123
123
124
124
125
125
125
125
125
126
126
127
127
129
129
129
129
129
129
129
126
126
126
127
128
128
128
130
130
130
130
130
130
130
119
118
117
116
117
118
119
117
117
118
118
119
119
119
118
117
118
114
112
112
111
108
106
103
103
103
104
103
101
101
102
102
103
103
103
103
103
103
103
103
103
103
106
107
109
112
117
121
124
128
133
135
136
136
137
139
142
144
145
145
146
148
149
151
152
153
154
155
156
156
159
160
161
163
164
165
166
167
167
169
170
171
172
174
174
174
175
175
175
176
176
176
176
176
176
176
176
177
177
177
176
176
175
175
173
173
173
173
173
173
173
175
175
175
175
175
175
175
173
173
173
172
172
171
171
172
172
172
171
171
171
171
172
172
172
173
174
174
174
174
174
175
177
180
181
182
183
184
185
190
192
193
194
194
194
194
194
194
194
194
194
194
193
191
191
190
190
187
187
186
185
184
184
184
182
182
181
180
179
179
178
178
178
177
177
177
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
175
171
170
168
165
161
158
152
146
142
139
138
137
135
135
133
132
131
131
131
132
133
133
133
133
133
133
133
132
132
130
129
128
127
128
127
126
125
124
123
122
121
121
121
121
121
121
121
123
123
123
122
122
122
121
121
121
121
122
122
123
123
122
122
123
124
124
126
126
125
125
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
129
129
129
129
129
129
129
119
119
118
118
118
119
119
119
119
119
120
120
120
121
120
119
119
115
112
112
111
109
107
104
104
104
105
104
102
102
102
102
102
102
102
104
104
104
104
104
104
104
107
107
108
110
113
115
116
125
130
133
135
135
138
139
145
147
147
146
147
148
150
153
154
155
156
157
158
159
162
163
164
165
166
167
167
168
169
170
171
172
173
176
176
176
176
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
176
176
176
176
176
176
176
177
176
176
176
176
175
175
173
173
173
172
172
171
171
170
170
171
171
171
172
172
173
174
175
177
180
181
182
183
184
185
187
190
191
192
191
191
192
195
196
198
198
199
199
199
199
199
199
199
198
198
197
195
195
194
194
191
191
189
188
187
186
185
184
184
183
182
181
181
180
180
179
179
178
178
178
178
177
176
176
176
176
175
175
176
176
176
176
176
176
176
177
173
172
171
168
165
162
153
148
144
141
139
136
134
133
131
130
129
129
129
130
131
131
131
131
131
131
132
131
130
129
128
127
126
127
127
126
125
124
122
122
119
119
119
119
119
119
119
121
120
120
120
119
119
119
120
120
121
121
121
122
122
122
122
123
124
124
126
126
126
126
126
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
119
119
120
120
120
119
119
119
120
120
121
121
121
121
121
120
120
115
113
112
111
109
107
104
104
104
105
104
102
102
102
102
102
102
102
104
104
104
104
104
104
104
107
107
108
110
112
113
114
122
128
131
133
134
137
139
145
147
147
147
147
149
151
154
155
156
157
158
159
160
163
163
165
166
167
168
168
169
170
171
172
173
174
176
176
176
177
177
178
178
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
177
178
177
177
176
176
175
175
173
173
173
172
172
171
171
170
170
171
171
172
173
173
175
176
178
179
183
185
185
186
186
188
189
192
193
194
195
195
196
198
199
199
200
201
201
201
201
201
201
201
198
198
197
196
195
194
194
193
193
191
189
188
187
186
186
185
184
183
182
182
182
180
180
180
179
179
179
178
177
177
176
176
175
175
175
176
176
176
176
176
176
176
177
174
173
172
170
166
163
153
149
145
142
139
136
133
132
130
129
128
128
128
128
131
131
131
131
131
131
131
130
129
128
127
126
125
127
126
125
124
123
122
121
117
117
117
117
117
117
117
120
120
119
119
119
118
118
120
120
120
121
121
122
122
122
122
123
124
124
126
126
126
126
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
119
120
121
122
121
120
119
121
121
121
122
122
123
123
122
121
121
115
113
112
110
110
108
105
105
105
106
105
103
103
102
102
101
101
101
105
105
105
105
105
105
105
105
107
109
111
112
112
113
116
123
127
130
131
135
137
142
144
146
147
149
151
154
156
157
158
159
160
161
162
163
164
165
166
167
168
170
170
171
172
173
175
175
176
176
176
176
177
177
177
176
176
176
176
176
176
176
177
177
177
178
178
179
179
178
178
178
178
178
178
178
179
179
178
177
176
175
175
173
173
173
172
172
171
171
171
171
172
173
174
175
175
181
182
183
184
187
188
189
191
191
193
194
197
198
199
200
200
200
201
201
201
201
203
203
203
203
203
203
203
202
202
201
200
199
198
198
197
196
193
192
190
189
188
188
187
186
185
184
184
184
182
182
181
181
180
180
180
178
177
176
176
175
174
174
176
176
176
176
176
176
176
176
174
173
172
170
167
164
154
150
147
143
140
135
132
130
128
127
126
126
126
126
129
129
129
129
129
129
129
129
128
127
126
124
124
124
124
123
122
120
119
118
115
115
115
115
115
115
115
120
119
119
119
118
118
118
119
119
120
120
120
121
121
122
122
123
124
124
126
126
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
123
123
123
123
123
123
123
122
122
123
125
125
126
126
123
122
122
117
114
113
112
107
107
106
106
105
106
106
103
103
102
102
101
101
101
101
103
106
107
107
106
106
106
107
108
110
112
114
115
118
120
122
125
127
129
131
139
142
145
147
150
153
156
156
157
158
159
160
161
161
164
165
166
166
167
168
170
171
172
174
174
175
174
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
177
179
182
180
180
181
181
181
182
182
181
181
180
179
177
175
175
175
174
172
171
170
171
172
171
171
173
175
177
180
181
185
185
186
187
189
190
191
194
194
196
198
202
203
204
204
204
204
204
204
204
204
206
206
206
206
206
206
206
206
206
205
203
202
202
201
199
198
196
195
194
193
193
191
190
188
187
186
185
185
185
185
183
181
180
179
179
179
178
177
177
176
175
175
176
176
176
176
176
176
176
176
174
174
174
173
170
168
158
153
149
145
141
136
132
129
126
124
124
125
125
124
128
129
129
129
129
128
126
126
125
125
125
125
125
124
122
120
118
116
115
115
113
113
113
114
114
115
115
117
117
117
118
118
119
119
118
118
118
119
119
120
120
122
123
123
124
124
125
126
126
126
127
128
128
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
123
123
123
123
123
123
123
122
122
123
124
125
126
126
123
122
122
117
114
113
112
107
107
107
106
105
106
106
103
103
102
102
102
101
101
101
103
106
107
107
106
106
106
107
108
110
113
114
116
118
119
122
125
126
129
130
138
141
144
146
148
152
154
156
157
158
159
160
161
161
163
165
166
166
166
168
170
171
173
174
175
175
175
176
176
176
176
176
176
176
175
175
175
175
175
175
175
175
175
175
176
177
179
182
181
181
181
182
182
182
183
181
181
180
179
178
176
175
175
174
172
171
171
172
172
171
172
174
176
178
181
182
187
187
188
189
192
192
193
194
195
197
199
203
204
205
207
207
207
207
207
207
207
208
208
208
208
208
208
208
207
206
206
204
203
203
202
200
199
197
196
195
194
194
192
191
189
188
187
186
186
185
185
183
182
181
180
179
179
178
178
177
176
175
175
176
176
176
176
176
176
176
176
174
174
174
173
170
168
158
154
149
145
141
136
133
129
125
124
124
124
124
124
127
128
129
129
128
127
126
126
125
125
125
124
124
123
122
120
118
116
115
115
113
113
113
114
114
115
115
117
117
117
118
118
118
119
118
118
118
119
119
120
120
122
122
123
124
124
126
126
126
126
127
128
129
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
124
124
124
124
124
124
124
123
123
123
124
125
125
125
123
122
122
117
114
113
112
109
108
108
107
106
108
107
104
104
103
103
102
102
102
102
102
104
105
106
106
106
108
108
109
111
114
115
117
117
118
120
123
124
126
127
135
138
140
142
144
147
150
154
155
157
158
160
161
161
163
165
165
165
166
168
171
172
174
175
176
176
176
178
177
177
177
177
176
176
175
175
175
175
175
175
175
175
175
175
175
176
178
181
183
184
184
184
185
185
185
183
182
181
180
179
177
176
175
174
173
172
172
174
174
175
176
177
179
181
184
185
190
190
191
192
195
196
196
198
199
200
202
206
207
208
212
212
212
212
212
212
212
211
211
211
211
211
211
211
209
209
209
208
207
207
207
204
203
201
200
199
198
198
196
195
193
191
190
189
188
188
187
185
184
183
182
181
180
179
178
177
177
176
176
176
176
176
176
176
176
176
176
174
174
174
173
170
168
159
154
150
146
141
137
133
129
125
123
123
124
124
123
127
128
128
128
128
127
126
126
125
125
124
123
123
122
121
119
117
115
115
115
113
113
113
113
113
113
113
115
116
116
116
117
117
117
118
118
118
119
119
120
120
121
122
122
123
125
126
127
127
127
128
128
129
131
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
125
125
125
125
125
125
125
124
124
124
124
124
124
124
123
122
122
117
114
113
112
110
110
110
109
108
109
109
105
104
104
103
103
103
103
102
102
102
103
104
106
106
109
110
111
113
116
117
119
118
118
120
122
123
125
126
133
136
138
139
141
144
146
150
152
154
156
157
159
160
162
164
164
164
165
167
173
174
175
177
178
178
177
179
179
179
178
177
177
176
176
176
176
176
176
176
176
176
176
176
177
178
180
183
184
185
185
185
186
186
187
184
184
183
182
181
179
178
176
175
174
174
174
176
177
179
180
181
183
185
188
189
191
191
192
193
196
197
197
202
203
204
206
210
211
212
213
213
213
213
213
213
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
209
208
206
205
204
203
202
201
200
197
195
193
192
191
190
189
187
186
185
184
184
181
180
179
178
177
177
176
176
176
176
176
176
176
176
176
174
174
174
173
170
168
160
155
151
147
142
137
134
128
124
122
122
123
123
123
126
127
128
128
127
126
126
126
125
124
123
122
121
120
119
117
116
115
115
115
113
113
113
113
112
112
112
114
114
114
115
115
115
116
118
118
118
119
119
120
120
120
121
122
123
125
127
128
127
128
128
129
130
131
132
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
125
125
125
125
125
125
125
124
124
124
124
124
124
124
123
122
122
117
114
113
112
111
111
110
109
109
110
110
105
105
104
104
103
103
103
102
102
101
102
104
105
107
110
110
112
114
116
118
119
118
119
120
122
123
125
125
133
136
137
138
140
143
145
148
150
152
154
156
158
158
162
164
164
164
165
167
174
175
176
177
178
178
178
180
180
179
178
177
177
176
177
177
177
177
177
177
177
177
177
177
177
179
181
183
184
185
185
185
186
186
186
185
184
184
182
181
179
179
176
175
175
174
175
177
178
180
181
182
184
186
190
191
193
194
194
196
198
199
199
203
204
205
207
211
213
214
215
215
215
215
215
215
215
214
214
214
214
214
214
214
213
213
213
213
214
214
214
210
210
208
207
206
205
204
203
202
198
196
194
193
192
191
190
188
187
186
185
185
181
180
179
178
178
177
177
176
176
176
176
176
176
176
176
174
174
174
173
170
168
160
155
151
147
142
138
134
127
124
122
122
123
123
122
126
127
127
127
127
126
126
126
125
124
122
121
120
119
118
117
115
115
115
115
113
113
113
112
112
111
111
113
113
114
114
114
115
115
118
118
118
119
119
120
120
120
120
122
123
125
128
128
128
128
129
129
130
132
132
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
126
126
126
125
124
124
124
125
125
125
124
124
124
124
124
123
121
116
113
111
110
109
109
109
109
109
109
109
107
107
105
105
104
103
103
102
102
103
103
104
104
104
109
113
115
115
117
118
120
122
122
123
125
125
126
127
133
134
136
138
139
141
141
146
148
151
154
157
159
160
160
162
163
165
166
168
170
172
174
176
178
179
179
177
177
177
176
176
175
175
177
177
176
176
177
179
181
179
180
180
180
180
180
181
185
185
185
186
186
187
187
186
186
185
183
181
178
177
176
176
176
176
177
181
182
184
184
185
186
188
195
197
198
198
199
200
203
203
204
207
207
208
210
213
214
215
217
217
217
217
217
217
217
217
217
217
216
216
215
215
216
216
216
215
214
214
214
216
216
214
212
211
210
209
207
206
203
202
200
199
199
195
193
190
189
189
190
190
185
183
182
180
179
177
177
177
177
176
176
175
175
175
176
174
174
174
173
170
168
160
155
152
148
144
139
137
130
127
125
125
125
125
124
125
125
126
126
127
127
127
127
126
125
123
122
121
121
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
112
113
113
114
115
117
117
118
119
119
121
121
120
120
122
123
125
128
128
129
129
129
130
130
131
131
131
131
131
131
131
131
131
129
129
129
129
129
129
129
132
132
132
131
130
130
130
126
126
126
125
125
125
124
126
126
125
124
124
123
123
122
121
119
115
113
111
110
109
109
109
109
109
109
109
108
108
106
105
105
104
104
103
103
104
104
104
105
105
109
113
115
115
117
118
120
122
122
124
126
126
128
128
133
134
136
137
139
140
140
145
147
149
152
155
157
158
160
162
163
165
166
168
171
172
174
176
178
178
178
177
177
176
176
176
176
175
177
177
176
176
177
179
181
181
182
182
182
183
183
184
185
186
186
186
187
187
187
187
186
185
184
182
179
179
178
177
177
178
179
183
184
186
186
187
189
191
197
198
200
200
201
202
204
205
206
208
209
210
212
215
216
217
220
220
220
220
220
220
220
219
219
219
218
218
217
217
217
217
216
216
215
215
215
217
217
215
214
213
212
211
211
211
208
206
205
203
203
199
198
193
191
190
189
189
186
185
183
181
180
179
178
177
177
177
176
176
176
175
176
174
174
174
173
170
168
160
155
152
148
144
139
137
130
127
125
125
125
125
124
125
125
126
126
127
127
127
126
125
124
123
122
121
121
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
112
113
113
114
115
116
117
117
118
119
120
121
120
120
122
123
125
128
128
129
129
129
130
130
131
131
130
130
130
130
130
130
130
129
129
129
129
129
129
129
132
131
131
131
130
130
130
127
127
126
126
125
125
125
126
126
125
124
123
123
122
120
119
118
114
113
111
111
110
110
110
110
110
110
110
109
108
107
106
105
105
104
104
104
104
105
105
105
106
109
113
115
115
117
118
120
123
123
125
127
127
129
129
134
135
136
137
139
140
140
144
146
149
152
154
156
157
160
162
163
165
166
168
171
172
174
176
177
178
178
176
176
176
176
176
176
176
177
177
176
176
177
179
181
182
183
183
184
185
185
186
186
186
186
187
187
187
188
187
186
186
184
183
181
180
179
179
179
179
181
184
185
187
188
189
191
194
198
200
201
202
202
204
206
207
207
210
211
212
213
217
218
218
221
221
221
221
221
221
221
220
220
220
219
219
219
218
218
217
217
216
216
216
216
218
217
216
215
214
213
213
212
211
209
207
206
204
204
202
201
196
193
191
190
189
188
186
184
183
181
180
179
178
177
177
177
176
176
176
176
174
174
174
173
170
168
160
155
152
148
144
139
137
130
127
125
125
125
125
124
125
125
126
126
127
127
126
126
125
124
123
121
121
121
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
112
113
113
114
115
116
116
117
118
119
120
120
120
120
122
123
125
128
128
129
129
129
130
130
131
131
129
129
129
129
129
129
129
129
129
129
129
129
129
129
131
131
131
130
130
129
129
128
127
127
126
126
126
126
125
125
124
122
121
120
119
116
116
115
113
112
112
111
111
111
111
111
111
111
111
110
110
109
108
107
106
106
105
105
106
106
107
107
107
109
113
115
115
117
118
120
123
124
126
128
130
131
132
137
138
138
139
140
141
141
146
148
150
153
156
158
159
160
162
163
165
166
168
171
172
174
175
176
176
176
175
175
176
176
176
176
177
177
177
176
176
177
179
181
183
184
184
186
187
188
189
187
187
187
187
188
188
189
187
187
186
186
185
183
183
182
182
182
183
184
187
189
190
191
194
197
199
202
202
204
205
206
207
209
210
210
213
214
215
217
220
221
222
223
223
223
223
223
223
223
222
221
221
220
220
220
219
219
219
219
218
218
217
217
219
219
218
218
217
217
216
213
213
210
208
207
205
205
205
204
201
199
196
193
191
190
188
187
185
183
182
182
179
178
178
177
177
177
177
176
174
174
174
173
170
168
160
155
152
148
144
139
137
130
127
125
125
125
125
124
125
125
126
126
127
127
126
125
124
123
122
121
120
121
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
112
113
113
114
115
115
116
116
117
118
119
120
120
120
122
123
125
128
128
129
129
129
130
130
131
131
130
130
130
130
130
130
130
129
129
129
129
129
129
129
130
130
130
130
129
129
128
128
128
128
127
126
126
126
124
123
122
119
118
117
117
114
114
114
113
112
112
112
111
111
111
111
111
111
111
111
111
109
109
108
107
107
106
106
107
107
108
108
108
109
113
115
115
117
118
120
123
124
127
129
131
133
134
139
140
141
141
142
142
143
148
151
153
156
159
161
162
160
162
163
165
166
168
171
172
174
175
175
175
175
175
175
175
176
176
177
177
177
177
176
176
177
179
181
183
183
184
186
187
188
190
187
187
187
188
188
189
189
188
188
187
186
186
185
184
184
184
184
184
186
189
190
191
193
196
200
202
204
204
206
207
207
209
211
212
212
215
216
217
218
222
223
223
223
223
223
223
223
223
223
221
221
221
220
220
219
219
220
220
220
219
218
218
218
220
220
219
219
219
219
218
217
217
214
213
211
210
209
205
205
204
202
199
196
195
191
189
188
186
185
184
183
179
179
178
178
177
177
177
176
174
174
174
173
170
168
160
155
152
148
144
139
137
130
127
125
125
125
125
124
125
125
126
126
127
127
125
125
124
123
121
120
119
121
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
112
113
113
114
115
115
115
116
117
117
119
119
120
120
122
123
125
128
128
129
129
129
130
130
131
131
131
131
131
131
131
131
131
129
129
129
129
129
129
129
130
130
130
129
128
128
128
130
130
129
126
125
124
124
124
124
122
119
118
117
116
114
114
113
112
113
114
114
112
112
112
112
112
112
112
111
111
110
110
109
109
109
108
108
108
108
108
108
108
109
112
114
116
118
119
120
122
125
127
128
129
132
135
138
140
141
143
144
145
146
150
151
153
155
157
158
159
159
162
164
164
166
169
170
171
172
174
175
175
174
175
175
175
176
176
177
177
178
178
177
177
177
178
180
182
183
185
187
188
189
188
188
188
188
189
189
190
190
189
189
188
188
186
185
185
184
184
184
185
187
191
192
194
196
200
202
202
205
206
209
209
210
211
214
215
215
217
218
218
220
222
223
223
225
225
225
225
225
225
225
224
223
223
221
220
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
216
214
212
211
210
209
208
205
203
201
199
199
195
190
188
187
186
183
181
181
180
179
177
176
175
175
177
176
175
173
171
168
167
157
155
152
145
142
140
136
128
127
126
126
126
126
127
126
126
126
126
126
126
122
122
122
121
121
120
120
119
119
118
117
117
116
115
113
113
113
112
112
111
111
112
112
112
113
113
114
114
116
116
117
118
118
120
120
120
120
121
122
124
126
126
129
129
129
130
130
130
130
132
131
131
131
130
130
130
131
131
131
131
131
131
131
131
130
130
130
129
129
128
130
129
128
126
125
124
123
123
123
122
118
117
116
115
114
113
112
111
112
113
114
112
112
112
112
112
112
112
112
112
111
111
110
110
110
109
109
109
109
109
109
109
110
113
114
116
118
119
119
121
124
127
128
130
133
135
139
140
142
143
145
146
147
150
151
153
155
157
158
159
161
163
164
164
165
167
170
171
172
174
175
175
174
175
175
175
175
176
176
176
177
177
176
176
176
177
179
182
183
185
187
188
189
188
188
188
188
189
189
190
190
189
189
188
187
187
185
185
185
185
185
186
188
192
194
195
198
201
203
204
206
207
210
210
211
212
215
215
216
218
219
220
221
223
224
224
225
225
225
225
225
225
225
225
224
224
222
222
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
220
220
219
217
215
214
212
212
210
210
206
204
202
201
200
197
192
190
189
187
184
182
182
180
179
178
177
176
175
177
176
175
173
170
168
166
157
155
153
145
142
139
135
128
127
126
125
125
125
125
123
123
123
123
123
123
121
121
121
121
120
120
120
119
119
118
117
117
116
115
113
113
113
112
112
111
111
112
112
112
112
113
113
114
115
116
116
117
118
119
120
120
120
121
122
124
126
126
128
128
128
129
129
130
130
130
130
130
129
129
128
128
129
129
129
129
129
129
129
130
129
129
129
128
128
128
129
128
128
125
124
123
123
122
121
120
117
115
114
113
113
112
111
111
111
112
113
113
113
113
113
113
113
113
113
113
113
112
112
112
111
110
110
110
110
110
110
110
112
114
115
117
118
118
119
121
125
128
130
131
135
137
140
141
142
144
146
147
147
150
151
153
155
157
158
159
162
164
164
164
164
166
170
171
172
174
175
175
174
174
174
174
175
175
175
176
176
175
175
174
175
176
178
181
182
184
186
187
188
187
188
188
188
189
189
190
190
188
188
187
187
187
186
186
188
188
188
189
190
195
196
197
200
203
205
206
208
210
211
212
213
214
216
217
218
219
219
220
221
224
224
225
225
225
225
225
225
225
225
225
225
224
224
224
223
223
222
222
222
222
222
222
222
221
221
221
221
221
221
221
220
220
218
217
216
215
215
213
212
209
207
205
203
202
201
196
194
192
190
187
184
182
181
180
179
177
177
176
176
175
174
172
169
167
165
155
154
153
145
142
138
133
128
127
125
124
123
123
124
121
121
121
121
121
121
120
120
120
120
120
120
120
119
119
118
117
117
116
115
113
113
113
112
112
111
111
111
111
111
112
112
112
113
115
115
116
116
117
119
119
120
120
121
122
124
126
126
127
127
128
129
130
131
132
131
131
130
130
129
129
129
130
130
130
130
130
130
130
131
131
131
130
129
129
129
129
128
127
125
124
123
122
121
120
119
116
114
113
113
113
112
111
110
111
112
113
114
114
114
114
114
114
114
114
114
113
113
113
112
112
111
111
111
111
111
111
111
113
115
116
117
118
118
119
122
126
129
131
133
136
139
140
141
143
144
146
147
148
150
151
153
155
157
158
159
161
163
164
164
165
167
170
171
172
174
175
175
174
173
174
174
174
175
175
175
175
174
174
173
174
175
177
180
181
183
185
186
186
186
188
188
188
189
189
190
190
187
187
187
187
187
187
187
189
189
189
190
191
196
197
198
201
205
207
207
209
211
212
213
213
215
217
218
218
218
219
220
221
223
224
224
225
225
225
225
225
225
225
224
224
224
224
224
224
224
223
223
223
223
223
223
223
222
222
222
222
222
222
222
220
220
219
218
217
216
216
214
213
210
208
206
204
204
203
198
195
193
191
188
185
183
181
180
179
178
177
176
175
175
174
172
169
167
165
155
154
153
146
141
137
132
128
127
125
123
123
123
123
120
120
120
120
120
120
119
119
119
119
120
120
120
119
119
118
117
117
116
115
113
113
113
112
112
111
111
110
111
111
111
112
112
112
114
115
115
116
117
118
119
120
120
121
122
124
126
126
127
128
129
130
131
133
133
133
132
132
132
131
131
130
132
132
132
132
132
132
132
133
133
133
132
131
131
131
128
128
127
124
123
122
122
120
119
118
115
114
112
112
112
111
110
110
110
111
112
114
114
114
114
114
114
114
115
115
114
114
113
113
113
112
112
112
112
112
112
112
114
116
117
118
119
118
119
123
128
131
133
135
139
142
141
142
143
145
146
148
148
150
151
153
155
157
158
159
159
162
164
164
166
169
170
171
172
174
175
175
174
173
173
173
174
174
175
175
174
174
173
173
173
174
176
178
179
181
183
184
184
184
188
188
188
189
189
190
190
187
187
187
187
187
187
187
190
190
190
191
193
197
198
200
202
206
208
209
211
212
213
213
214
215
218
219
219
217
218
218
220
222
223
223
225
225
225
225
225
225
225
223
223
223
223
223
224
224
224
224
224
224
224
224
224
222
222
222
222
222
222
222
221
221
219
219
218
218
217
215
215
211
209
207
206
205
206
200
197
195
192
189
186
183
182
181
179
178
177
177
175
174
173
171
168
166
165
154
154
153
146
141
137
130
128
127
125
123
122
122
122
120
120
120
120
120
120
118
118
118
119
119
120
120
119
119
118
117
117
116
115
113
113
113
112
112
111
111
110
110
110
111
111
112
112
114
114
115
116
116
118
118
120
120
121
122
124
126
126
128
129
130
131
133
135
135
136
136
135
135
134
134
134
135
135
135
135
135
135
135
137
137
136
136
135
135
135
127
126
125
123
121
120
120
118
118
117
116
115
114
114
112
112
112
112
112
112
112
114
114
115
115
116
116
116
116
116
115
115
115
114
114
113
113
113
113
113
113
113
114
115
117
118
119
120
120
123
127
131
135
139
142
143
144
145
147
148
150
151
152
154
155
156
157
158
159
160
160
161
162
163
164
165
168
170
172
172
172
173
175
174
175
176
176
176
176
175
174
173
172
171
170
171
172
175
176
177
178
180
182
184
184
184
185
185
186
187
188
189
188
187
186
186
188
188
190
191
193
194
197
200
201
203
204
207
209
211
213
213
215
215
216
216
217
217
217
219
219
220
221
222
223
223
224
224
224
225
226
226
226
225
225
225
225
225
225
225
224
224
224
224
224
224
224
224
224
223
223
223
222
222
221
221
220
220
220
219
219
216
216
213
211
210
209
208
206
200
198
196
194
191
189
187
181
179
178
178
176
175
174
173
172
169
166
164
162
155
151
148
143
138
131
129
126
124
122
122
121
120
119
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
118
117
116
116
115
115
115
114
113
112
112
111
110
110
110
110
110
110
110
112
113
113
115
116
118
118
117
118
119
121
123
126
127
130
130
132
133
135
138
138
139
139
140
141
142
143
143
142
142
142
142
142
142
142
143
143
142
141
140
139
139
124
123
123
121
120
119
119
118
118
117
116
115
114
114
114
114
114
114
114
114
114
115
115
116
116
116
117
117
118
117
117
116
116
116
116
115
115
115
115
115
115
115
115
117
118
119
120
121
122
125
130
134
138
143
146
147
147
148
149
151
153
154
154
157
158
159
160
161
161
162
160
161
162
163
165
165
167
169
171
171
171
172
174
175
176
177
178
178
177
176
174
173
172
171
170
171
172
174
174
175
177
178
179
181
183
183
184
185
186
186
187
189
189
189
189
189
190
190
193
194
195
197
199
203
203
205
206
209
211
213
214
214
216
216
216
217
217
218
218
219
219
220
221
222
223
223
224
224
224
225
226
226
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
225
224
224
223
223
223
222
222
221
221
220
220
220
218
217
214
213
211
210
209
207
201
199
198
196
193
190
187
181
179
178
177
175
173
173
172
170
167
164
161
159
150
146
142
138
133
127
126
123
121
119
119
119
118
117
118
118
118
118
118
118
117
117
117
117
117
117
117
118
117
117
116
116
115
115
114
114
113
113
112
111
110
109
109
109
109
109
109
109
110
111
112
113
114
116
117
118
119
120
122
125
129
130
133
134
135
136
138
141
141
143
143
144
145
146
147
147
148
148
148
148
149
149
149
149
149
149
148
147
147
147
123
122
122
121
120
119
119
118
118
117
116
115
114
114
114
114
114
114
114
114
114
115
115
116
116
117
117
117
118
118
118
117
117
117
116
115
115
115
115
115
115
115
116
118
119
120
121
122
123
126
131
135
140
144
147
149
148
149
151
153
154
155
156
159
160
160
161
162
162
163
161
162
163
164
165
166
167
169
171
171
171
172
174
176
177
178
179
179
178
177
175
174
173
172
171
172
173
174
175
175
176
178
179
180
183
183
184
184
185
186
187
189
189
190
191
191
192
192
195
195
197
199
201
204
205
206
208
210
212
213
214
214
216
216
217
217
218
218
218
219
219
220
221
222
223
223
224
224
224
225
226
226
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
225
224
224
224
223
223
222
222
221
221
221
220
220
219
218
215
214
212
211
210
208
202
200
199
197
193
191
187
181
178
177
176
174
172
172
171
169
166
162
159
157
150
144
140
136
131
127
125
121
120
118
119
119
118
117
118
118
118
118
118
118
117
117
117
117
117
117
117
117
116
116
116
116
115
115
114
114
113
112
111
111
110
109
109
109
109
109
109
109
110
110
111
112
114
116
116
118
119
121
123
126
130
131
134
135
136
138
139
142
143
145
145
145
146
148
148
149
150
150
150
151
152
152
152
150
150
150
150
149
149
149
122
122
122
121
121
121
121
118
118
117
116
115
114
114
116
116
116
116
116
116
116
116
116
117
117
117
118
118
120
120
119
119
118
118
118
117
117
117
117
117
117
117
118
119
120
121
123
123
124
126
131
136
141
145
149
151
151
152
154
155
157
158
159
163
163
163
164
164
164
164
163
164
165
167
168
169
168
170
172
172
172
173
175
178
178
179
180
180
179
178
177
176
175
174
174
174
175
176
176
176
177
178
179
179
182
182
183
184
185
185
186
189
190
192
194
194
194
194
197
198
200
201
204
207
208
209
210
212
213
214
215
215
217
217
217
218
218
219
219
219
219
220
221
222
223
223
224
224
224
225
226
226
226
227
227
227
227
227
227
227
226
226
226
226
226
226
226
226
226
225
225
224
224
224
223
223
222
222
221
221
221
220
219
217
215
213
212
212
209
204
202
200
198
195
192
188
181
178
176
175
173
171
169
167
165
162
158
154
152
146
139
135
130
126
122
122
120
119
118
119
119
119
118
118
118
118
118
118
118
116
116
116
116
116
116
116
115
115
115
115
115
115
115
113
113
112
112
111
110
109
108
108
108
108
108
108
108
110
111
112
113
114
116
117
118
119
122
124
127
132
133
135
136
137
138
140
143
143
146
146
147
148
149
150
150
150
151
151
152
154
155
155
154
154
154
154
155
155
155
125
125
125
123
122
121
120
119
119
118
117
116
115
115
116
116
116
116
116
116
116
116
116
117
117
118
118
118
118
118
119
119
119
120
120
120
120
120
120
120
120
120
118
119
120
122
123
124
124
125
131
136
141
145
149
151
152
154
156
158
161
162
163
165
165
165
165
165
165
165
164
165
166
166
167
168
171
172
173
174
176
177
178
179
180
181
182
182
182
181
178
177
176
175
175
175
176
178
178
177
177
177
178
180
182
182
183
184
184
185
186
191
191
192
193
195
197
197
202
202
204
205
207
209
210
213
213
214
215
215
217
217
217
217
217
218
219
219
219
219
219
219
220
221
221
221
224
224
225
226
227
228
228
228
228
228
227
226
226
226
226
226
226
226
226
226
226
226
226
225
225
224
224
224
224
224
223
223
222
222
222
221
220
218
216
215
214
213
209
205
203
201
198
194
190
187
180
178
176
175
173
172
171
166
163
161
157
152
148
137
132
130
127
125
122
122
117
117
116
116
116
117
117
117
117
117
117
117
117
117
117
117
116
116
115
115
116
116
116
115
115
114
114
114
113
112
112
111
110
109
107
107
107
108
108
109
109
108
109
110
112
114
117
118
120
121
122
125
127
131
132
136
137
138
139
141
144
144
145
145
146
148
150
151
151
153
153
154
155
156
157
157
157
157
157
158
159
159
159
125
125
124
123
122
121
120
119
119
118
117
116
115
115
116
116
116
116
116
116
116
116
116
117
117
118
118
118
117
118
118
119
119
119
119
120
120
120
120
120
120
120
118
120
121
122
123
124
124
126
132
136
141
146
150
152
153
154
157
159
162
163
164
166
166
166
166
166
166
166
165
166
167
168
168
169
172
172
173
175
176
177
178
180
181
182
183
183
183
182
178
178
176
175
175
175
177
178
178
177
177
177
178
180
182
182
183
183
184
185
186
190
191
192
193
195
197
198
202
203
204
205
207
210
210
213
213
214
215
216
217
217
217
217
217
218
219
219
219
219
219
219
220
221
221
221
224
224
225
226
227
228
228
228
228
228
227
226
226
226
226
226
226
226
226
226
226
226
226
225
225
225
224
224
224
224
223
223
223
222
222
221
220
218
216
215
214
213
209
205
203
201
198
194
191
187
180
177
176
175
173
171
169
163
161
158
154
150
146
134
130
127
125
122
120
120
117
117
116
115
116
116
117
117
117
117
117
117
117
117
117
116
116
116
115
115
116
116
115
115
115
114
114
113
113
112
111
110
110
109
107
107
107
108
108
109
109
108
109
110
112
114
118
118
120
121
123
125
127
132
132
137
137
138
140
142
144
145
146
146
147
148
151
151
152
153
153
154
155
156
157
157
157
157
158
158
159
159
159
124
124
123
121
121
121
122
120
120
119
117
117
116
116
117
117
117
117
117
117
117
117
117
118
118
118
119
119
117
117
118
118
119
119
119
121
121
121
121
121
121
121
120
122
123
124
125
126
127
130
135
139
144
148
151
153
156
158
160
162
165
166
167
169
169
169
169
169
169
169
169
170
171
171
172
173
174
175
175
176
177
178
179
181
182
183
184
185
185
185
181
180
179
178
177
177
178
178
178
177
177
177
178
180
181
181
182
183
184
184
185
189
190
192
194
196
200
200
203
204
205
207
208
211
212
214
214
215
215
216
218
218
217
217
217
218
219
219
219
219
219
219
220
221
221
221
223
223
224
226
226
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
226
226
225
225
225
225
225
224
224
223
223
223
223
222
219
217
215
214
213
210
206
204
202
199
195
191
187
180
176
174
172
170
168
165
159
156
153
149
144
140
129
125
122
120
118
116
116
116
116
114
114
114
115
116
115
115
115
115
115
115
116
116
116
115
115
115
114
115
115
115
114
114
114
113
112
111
111
110
110
109
109
107
107
107
108
108
109
109
109
110
112
114
116
119
120
121
122
124
126
129
133
134
138
139
140
142
143
146
147
147
148
149
150
152
153
154
153
153
154
155
156
157
157
158
158
158
159
159
160
160
124
122
121
119
120
122
123
121
120
120
118
117
117
116
118
118
118
118
118
118
118
118
118
118
119
119
119
120
118
118
119
119
120
120
120
122
122
122
122
122
122
122
123
124
125
126
128
128
129
132
137
140
145
149
152
153
158
160
162
164
167
168
169
171
171
171
171
171
171
171
172
173
173
174
175
175
177
177
177
178
178
179
179
180
181
183
184
186
186
186
185
184
182
180
179
179
179
178
178
177
177
177
178
180
180
181
181
182
183
184
185
188
189
191
194
197
202
203
205
206
207
208
210
213
213
214
215
215
216
217
218
219
217
217
217
218
219
219
219
219
219
219
220
221
221
221
222
223
223
225
226
226
227
226
226
227
227
227
228
228
228
228
228
228
228
228
228
228
227
227
226
226
226
226
226
225
225
224
224
224
224
225
224
220
217
215
213
213
211
207
205
203
200
195
192
188
179
175
172
169
166
164
161
155
152
148
144
138
135
125
121
119
118
116
114
114
114
114
113
112
113
113
114
114
114
114
114
114
114
115
115
115
115
114
114
114
114
114
114
114
113
113
113
110
110
110
109
109
109
109
107
107
107
108
108
109
109
111
112
113
115
117
121
121
123
124
126
128
130
134
135
139
139
141
142
144
146
147
148
148
149
150
153
154
154
153
153
154
155
156
157
157
159
159
159
159
160
160
161
123
122
120
119
120
122
124
121
121
120
118
118
117
117
118
118
118
118
118
118
118
118
118
119
119
119
120
120
119
119
120
120
121
121
121
122
122
122
122
122
122
122
124
125
126
127
128
129
130
132
137
140
144
148
151
153
158
160
162
165
167
169
170
171
171
171
171
171
171
171
172
173
174
175
175
176
178
178
178
179
179
179
179
179
180
182
184
185
186
186
186
185
183
181
180
179
179
178
178
177
177
177
178
180
180
180
181
182
183
183
184
187
189
191
194
198
203
205
206
206
207
209
211
213
214
215
215
216
216
217
219
219
217
217
217
218
219
219
219
219
219
219
220
221
221
221
222
222
223
225
225
226
226
226
226
226
227
228
228
228
228
228
228
228
228
228
228
228
228
227
227
226
226
226
226
226
225
225
224
224
224
225
224
220
218
215
213
212
211
207
205
203
200
196
192
188
179
175
171
168
165
163
157
151
148
144
139
134
130
122
118
117
115
114
112
112
114
113
112
112
112
113
113
113
113
113
113
113
113
115
115
115
114
114
114
113
114
114
114
113
113
113
112
109
109
109
109
109
109
109
107
107
107
108
108
109
109
112
112
114
116
118
121
122
124
124
126
129
131
135
136
138
139
140
142
143
146
147
147
148
149
150
152
153
154
153
153
154
155
156
157
157
159
159
159
160
160
161
161
121
121
121
121
121
121
121
120
120
120
119
118
118
118
117
117
117
117
117
117
117
119
119
120
120
120
120
121
123
123
123
123
123
123
123
123
123
124
124
124
125
125
127
127
127
128
130
132
133
133
138
140
142
145
150
153
159
162
165
168
169
170
171
170
171
172
172
173
174
174
176
177
178
178
179
180
181
181
181
182
182
183
183
182
182
182
183
183
184
184
184
184
183
183
181
181
180
178
178
179
180
180
181
182
182
182
183
184
185
185
186
185
187
190
192
194
202
206
206
208
210
210
210
212
214
218
218
219
220
220
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
223
224
225
226
226
225
225
225
226
227
227
227
229
229
229
229
229
229
229
228
228
227
227
226
226
226
225
225
225
225
225
225
225
225
225
222
220
217
214
213
210
206
204
203
200
196
193
182
175
173
169
165
160
158
153
148
144
141
137
133
129
121
119
117
115
114
114
114
113
113
112
112
111
111
111
111
111
112
112
113
113
113
113
113
113
113
113
113
113
113
113
112
112
111
111
109
109
109
109
109
109
109
108
108
107
107
108
109
112
114
114
116
117
119
121
122
123
124
126
129
131
136
137
139
139
141
142
144
147
147
148
148
149
150
151
152
152
154
154
155
156
157
158
158
159
159
159
160
161
161
161
121
121
121
121
121
121
121
120
120
120
119
119
119
118
118
118
118
118
118
118
118
120
120
121
121
122
122
122
124
124
124
124
124
124
124
125
125
126
126
127
127
127
128
128
128
130
132
133
134
135
139
141
143
146
150
153
158
161
165
168
170
171
171
171
171
172
173
174
174
175
177
177
178
179
180
180
181
182
182
182
183
183
183
182
182
182
182
183
183
183
184
184
183
182
182
181
180
179
179
179
179
180
180
180
181
181
182
182
183
184
185
184
186
188
190
193
201
204
205
207
209
210
210
212
214
218
218
219
220
220
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
224
225
225
226
225
225
225
226
226
226
227
229
229
229
229
229
229
229
228
228
227
227
226
226
226
225
225
225
225
225
225
225
225
225
222
220
217
214
213
211
206
204
202
199
194
191
179
170
168
164
159
154
152
145
140
137
133
130
126
123
120
118
115
114
113
113
113
112
112
111
111
111
110
110
110
111
111
111
112
112
113
113
113
113
113
113
113
113
112
112
112
111
111
111
109
109
109
109
109
109
109
109
108
108
108
109
111
113
115
115
116
118
120
122
123
125
126
127
130
132
136
137
139
139
141
142
144
147
147
148
148
149
150
151
152
152
154
154
155
156
157
158
158
159
159
159
160
161
161
161
122
122
122
122
122
122
122
121
121
120
120
119
119
119
119
119
119
119
119
119
119
120
120
121
122
123
123
123
125
125
125
125
125
125
125
127
127
128
128
129
129
129
129
129
130
131
133
135
136
136
140
142
143
146
150
153
158
161
165
168
170
171
172
171
172
172
173
174
175
175
177
178
178
179
180
181
182
182
182
183
183
183
184
182
182
182
182
182
182
182
183
183
183
182
182
181
181
180
180
179
179
179
179
179
180
180
180
181
182
183
184
182
184
187
189
192
200
203
204
206
208
209
209
212
214
218
218
219
220
220
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
224
224
225
225
224
224
225
225
226
226
226
228
228
228
228
228
228
228
228
228
227
227
226
226
226
225
225
225
225
225
225
225
225
225
222
220
217
214
213
211
206
204
201
198
193
189
178
169
166
161
156
151
149
142
137
133
131
127
123
120
118
116
114
113
112
112
112
111
111
111
110
110
110
109
110
110
110
111
111
111
112
112
112
112
112
112
112
112
112
112
111
111
111
110
109
109
109
109
109
109
109
109
109
108
109
110
112
115
115
116
117
119
120
123
124
126
127
128
130
133
136
137
139
139
141
142
144
147
147
148
148
149
150
151
152
152
154
154
155
156
157
158
158
159
159
159
160
161
161
161
123
123
123
123
123
123
123
122
121
121
120
120
120
120
120
120
120
120
120
120
120
120
121
123
124
125
126
126
128
128
128
128
128
128
128
131
131
132
132
133
133
133
132
132
132
133
135
137
138
139
142
143
145
147
151
154
157
160
164
168
171
172
173
172
172
173
174
175
175
176
178
178
179
180
181
181
183
183
183
183
184
184
184
182
182
182
182
181
181
181
182
182
182
182
182
182
182
181
181
180
179
178
177
176
177
177
178
179
180
180
181
180
182
185
187
189
197
201
202
204
207
208
209
212
214
218
218
219
220
220
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
221
221
223
224
224
225
223
224
224
225
225
225
225
227
227
227
227
227
227
227
228
228
227
227
226
226
226
225
225
225
225
225
225
225
225
225
222
220
217
214
213
210
205
201
198
193
188
184
175
166
162
156
150
145
142
137
133
130
127
124
120
118
115
113
112
111
110
111
111
110
109
109
109
108
108
108
108
108
109
109
109
110
111
111
111
111
111
111
111
111
111
111
111
110
110
110
109
109
109
109
109
109
109
109
109
109
110
112
114
117
117
118
119
120
122
125
125
129
129
131
132
134
137
138
139
139
141
142
144
147
147
148
148
149
150
151
152
152
154
154
155
156
157
158
158
159
159
159
160
161
161
161
123
123
123
123
123
123
123
122
122
122
121
120
120
120
121
121
121
121
121
121
121
121
121
123
125
126
127
128
128
128
128
128
128
128
128
132
132
133
133
134
134
134
133
133
133
135
136
138
139
140
144
144
145
148
151
154
156
160
164
168
171
173
174
172
173
174
174
175
176
176
178
179
180
180
181
182
183
183
183
184
184
185
185
182
182
182
181
181
180
180
182
182
182
182
182
182
182
182
181
180
179
177
176
174
176
176
177
177
178
179
180
179
181
183
186
188
196
199
201
203
206
208
208
212
215
218
218
219
220
220
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
221
222
223
224
224
223
223
223
224
225
225
225
227
227
227
227
227
227
227
228
228
227
227
226
226
226
225
225
225
225
225
225
225
225
225
222
220
217
214
213
209
203
199
195
190
185
181
169
159
155
149
142
136
133
131
127
124
122
119
116
113
113
111
110
109
109
110
110
109
109
108
108
107
107
107
107
107
108
108
109
109
111
111
111
111
111
111
111
111
111
111
110
110
109
109
109
109
109
109
109
109
109
110
110
110
111
113
115
119
118
119
120
121
123
126
126
130
131
132
133
135
137
138
139
139
141
142
144
147
147
148
148
149
150
151
152
152
154
154
155
156
157
158
158
159
159
159
160
161
161
161
121
121
121
122
123
123
123
122
122
122
122
122
122
122
122
122
122
122
122
122
122
121
122
126
128
128
128
128
129
129
130
130
131
131
131
132
132
134
134
135
136
136
135
136
137
137
138
139
139
142
145
147
149
151
153
154
155
159
163
167
170
172
173
173
174
175
176
176
177
177
180
180
181
181
182
182
182
183
184
185
185
185
184
181
181
181
181
181
181
181
183
183
183
182
182
181
181
183
182
181
180
179
177
176
175
175
175
175
176
178
180
179
181
183
185
187
194
198
202
204
206
208
208
212
214
217
217
218
219
219
221
221
220
220
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
222
224
224
225
226
225
225
225
226
227
227
227
226
226
226
226
226
226
226
226
226
225
225
225
225
224
225
224
221
220
218
214
212
209
200
195
190
185
180
176
164
155
151
145
139
132
129
127
124
121
118
116
115
115
113
112
111
111
110
109
109
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
108
109
110
112
114
116
118
119
120
121
123
125
128
128
131
131
133
134
136
138
139
138
139
140
142
144
147
147
148
148
149
150
153
154
154
156
156
156
157
158
158
158
160
160
160
161
162
162
162
121
122
122
123
123
123
123
122
122
122
122
122
122
122
122
122
122
122
122
122
122
122
123
127
128
129
128
128
127
128
128
129
129
129
129
131
131
132
133
134
135
135
136
137
137
138
139
140
140
145
146
148
149
150
151
152
155
159
163
167
169
171
172
174
175
176
176
177
178
178
180
180
181
181
182
182
182
183
184
185
185
185
184
181
181
181
181
181
181
181
183
182
182
182
181
181
181
183
182
182
181
179
178
177
175
175
174
174
175
176
179
178
180
183
184
186
194
197
201
203
206
207
208
212
214
216
217
217
218
219
220
221
220
220
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
220
221
221
223
223
224
224
224
224
225
225
226
226
226
226
226
226
226
226
226
226
225
225
224
224
223
223
223
222
220
217
216
214
210
207
203
194
188
183
178
173
169
160
149
145
140
134
128
126
123
121
118
116
115
114
114
112
112
111
110
109
109
108
108
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
108
109
111
113
115
117
119
121
121
123
124
126
128
129
131
132
133
135
136
139
140
140
140
142
143
145
147
148
148
149
150
151
153
154
155
156
156
156
157
158
158
158
160
160
160
161
162
162
162
122
122
123
123
124
124
124
123
123
123
123
123
123
123
123
123
123
123
123
123
123
124
125
128
129
129
128
128
128
128
129
129
130
130
130
132
133
134
135
136
136
137
137
138
139
140
141
141
142
147
148
149
150
151
151
152
156
159
162
166
168
169
170
174
174
175
176
177
177
178
180
180
181
181
182
182
182
183
184
185
185
185
184
181
181
181
181
181
181
181
182
182
181
181
181
180
180
181
181
181
180
179
179
178
176
175
174
174
174
175
177
178
179
182
184
186
193
196
201
203
205
206
207
211
213
216
216
217
217
218
220
220
220
220
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
220
220
220
221
221
221
221
223
223
223
224
224
224
225
225
225
225
225
225
225
225
225
225
223
222
221
221
220
221
219
215
214
211
207
204
199
189
184
178
173
167
163
152
140
136
131
126
122
120
118
117
115
114
113
113
113
112
111
110
109
109
108
108
107
107
107
107
107
107
107
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
109
110
112
114
117
119
122
124
124
125
126
127
129
129
132
133
134
135
137
140
140
143
143
144
145
146
148
148
149
150
150
152
154
155
155
156
156
156
157
158
158
158
160
160
160
161
162
162
162
123
123
123
124
124
124
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
126
128
129
129
128
128
128
128
128
129
129
129
130
132
132
134
135
135
136
136
138
139
140
141
141
142
142
146
148
149
150
152
153
153
156
159
162
165
167
168
169
173
174
174
175
176
176
177
180
180
181
181
182
182
182
183
184
185
185
185
184
181
181
181
181
181
181
181
181
181
181
181
180
180
179
180
180
179
179
179
178
177
177
176
175
174
175
175
177
177
179
181
183
185
193
196
200
202
205
206
207
211
213
215
216
216
217
218
219
220
220
220
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
220
220
220
220
220
220
220
222
222
222
223
223
224
224
224
224
224
224
224
224
224
225
224
222
221
220
219
219
219
217
213
211
208
204
201
197
187
181
175
169
164
160
148
136
132
127
123
119
117
117
116
114
113
113
113
114
111
111
110
109
108
108
107
106
106
106
106
106
106
106
107
107
107
107
107
107
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
109
110
112
115
118
120
123
125
125
126
127
128
129
129
132
133
134
136
137
140
141
144
144
145
146
147
148
148
149
150
151
152
154
155
156
156
156
156
157
158
158
158
160
160
160
161
162
162
162
123
123
123
124
125
125
125
124
124
124
124
124
124
124
124
124
124
124
124
124
124
126
127
129
129
129
128
128
128
128
129
129
130
130
130
133
133
135
135
136
137
137
139
140
141
141
142
143
143
144
147
149
151
153
155
156
156
159
162
164
166
167
168
171
172
173
174
174
175
175
180
180
181
181
182
182
182
183
184
185
185
185
184
181
181
181
181
181
181
181
181
181
181
180
180
179
179
178
178
178
177
177
177
176
178
178
177
176
176
176
178
177
179
181
183
185
192
195
200
202
204
206
206
210
212
215
215
216
217
217
219
219
220
220
220
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
219
219
219
219
219
219
219
221
221
221
222
223
223
223
224
224
224
224
224
224
224
224
224
222
220
219
218
217
213
211
207
205
202
197
194
191
181
174
169
162
156
152
144
131
126
122
118
115
114
115
115
114
113
113
114
115
111
110
109
109
108
107
107
106
106
106
106
106
106
106
107
107
107
107
107
107
109
109
109
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
108
108
108
109
111
113
116
119
121
125
126
127
127
128
128
130
130
133
134
135
136
138
141
141
145
146
146
147
147
149
149
150
150
151
152
155
156
156
156
156
156
157
158
158
158
160
160
160
161
162
162
162
123
123
123
123
123
123
123
122
122
122
122
122
122
122
125
125
125
125
125
125
125
127
127
128
128
129
129
129
127
127
129
131
132
132
133
133
133
135
136
136
137
137
139
140
141
142
142
143
143
144
146
147
149
150
152
152
157
160
162
164
166
169
171
173
174
176
176
177
176
176
178
179
179
180
181
182
182
182
182
183
183
183
184
183
183
183
183
183
183
183
184
184
183
182
181
181
180
179
179
178
177
176
176
175
174
174
175
175
176
177
178
175
176
179
182
185
189
190
196
199
201
203
204
208
211
212
213
213
214
215
216
216
217
217
217
218
218
219
219
219
219
219
219
219
219
219
219
219
219
218
217
217
217
218
218
218
219
220
220
220
220
220
220
221
222
222
222
222
222
223
223
224
224
224
224
222
219
218
218
215
214
210
208
202
200
196
191
187
186
175
169
162
155
149
144
143
130
125
122
120
119
119
117
116
115
115
114
113
113
112
111
110
110
109
108
108
107
106
105
105
105
106
106
106
106
107
107
107
108
108
108
108
109
109
109
110
109
109
109
109
109
109
109
108
107
107
106
107
108
110
108
112
116
118
120
122
125
125
126
127
128
130
133
133
134
135
136
137
139
142
142
143
144
145
146
148
151
151
152
152
153
154
155
156
156
157
157
158
158
159
159
159
160
160
161
161
162
162
162
123
123
123
123
123
123
123
122
122
122
122
122
122
122
125
125
125
125
125
125
125
127
127
128
128
129
129
129
127
127
129
130
131
132
133
133
134
135
136
137
137
138
140
141
141
142
143
144
144
144
146
147
149
150
151
152
156
159
161
163
165
168
170
172
174
175
176
176
176
176
177
178
179
180
180
181
181
181
182
182
182
183
183
183
183
183
183
183
183
183
184
183
183
182
181
180
179
178
178
177
177
176
175
174
173
173
174
175
176
176
177
174
175
177
179
182
187
188
194
197
200
201
203
207
209
212
212
213
214
215
216
216
216
216
217
217
218
218
218
218
218
218
218
218
218
218
218
218
218
217
217
217
217
218
218
218
219
220
220
220
220
220
220
221
222
222
222
222
222
222
223
223
223
223
223
221
218
217
216
214
212
207
205
199
196
193
188
184
183
172
165
159
152
145
141
139
128
123
121
120
119
118
117
116
115
115
114
113
113
112
111
110
110
109
108
108
107
106
105
105
105
106
106
106
106
106
107
107
107
108
108
108
108
109
109
109
109
109
109
109
109
109
109
108
108
107
107
107
108
111
109
112
116
119
120
122
125
125
126
127
129
130
133
134
134
135
136
138
139
142
143
143
144
145
147
148
151
152
152
153
153
154
156
156
157
157
158
158
158
159
159
159
160
161
161
161
162
162
162
124
124
124
124
124
124
124
123
123
123
123
123
123
123
126
126
126
126
126
126
126
127
127
128
128
129
129
129
127
127
127
128
130
132
133
134
134
136
137
137
138
138
141
142
143
144
145
145
146
145
146
147
149
150
150
151
156
158
160
161
163
165
168
172
173
175
175
175
175
175
176
176
177
178
179
179
180
180
180
180
181
181
181
182
182
182
182
182
182
182
183
183
182
181
180
180
179
177
176
176
175
174
173
172
171
172
172
173
174
175
176
173
173
173
175
177
183
185
189
192
195
197
199
204
207
209
209
210
212
213
215
216
215
215
215
215
216
216
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
219
220
220
220
220
220
220
221
222
222
222
222
222
222
222
222
222
222
221
219
215
214
212
210
208
204
201
196
193
189
184
181
175
164
158
151
144
138
134
132
124
121
120
119
118
117
117
116
115
115
114
113
113
112
111
110
110
109
108
108
107
106
105
105
105
106
106
105
105
106
106
106
107
107
107
107
108
108
108
109
109
109
109
109
109
109
109
109
108
108
107
108
109
111
111
114
118
120
121
122
125
126
127
128
129
131
134
134
135
136
137
138
140
143
143
144
145
146
147
149
152
152
153
153
154
155
156
157
157
158
158
159
159
160
160
160
161
161
162
162
163
163
163
125
125
125
125
125
125
125
124
124
124
124
124
124
124
127
127
127
127
127
127
127
127
127
128
128
129
129
129
128
126
125
126
129
132
134
135
135
136
137
138
139
139
143
144
144
145
146
147
147
146
147
148
148
149
150
150
155
158
159
160
161
163
165
171
172
174
175
175
174
174
174
175
176
177
177
178
178
178
179
179
179
180
180
181
181
181
181
181
181
181
182
182
181
181
180
179
178
175
175
174
174
173
172
171
170
170
171
172
173
173
174
173
173
172
172
174
181
183
185
188
191
194
196
202
204
205
205
207
208
210
213
213
213
213
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
217
217
218
218
218
219
220
220
220
220
220
220
221
222
222
222
222
222
221
221
220
220
220
219
217
212
211
209
206
204
198
196
191
188
184
179
176
170
159
153
146
139
133
129
127
122
121
121
120
119
118
117
116
115
115
114
113
113
112
111
110
110
109
108
108
107
106
105
105
105
106
106
104
105
105
105
106
106
106
106
107
107
107
108
108
109
109
109
109
109
109
109
108
107
107
106
107
108
110
113
115
119
121
121
122
125
127
127
129
130
132
134
135
136
136
138
139
141
143
144
145
145
147
148
150
152
153
154
154
155
155
157
158
158
159
159
159
160
160
161
161
162
162
162
163
163
164
164
125
125
125
125
125
125
125
124
124
124
124
124
124
124
127
127
127
127
127
127
127
127
127
128
128
129
129
129
128
126
125
126
129
132
134
135
135
137
137
138
139
139
143
144
145
145
146
147
147
146
147
148
148
149
149
150
155
157
159
159
160
163
165
171
172
174
175
175
174
174
174
175
176
176
177
178
178
178
178
179
179
180
180
181
181
181
181
181
181
181
182
182
181
180
180
179
178
175
175
174
173
173
172
171
170
170
171
172
172
173
174
174
173
172
172
174
181
183
184
187
190
193
195
201
204
204
204
205
207
209
212
213
213
213
213
214
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
217
217
218
218
218
219
220
220
220
220
220
220
221
222
222
222
222
222
221
221
220
220
220
218
216
211
210
208
205
203
196
194
188
185
181
176
173
169
158
152
145
138
132
128
126
122
121
121
121
120
118
117
116
115
115
114
113
113
112
111
110
110
109
108
108
107
106
105
105
105
106
106
104
104
105
105
106
106
106
106
106
107
107
108
108
109
109
109
109
109
109
109
107
107
106
106
106
107
109
113
116
119
121
121
122
125
127
128
129
130
132
135
135
136
137
138
139
141
144
144
145
146
147
148
150
153
153
154
154
155
156
157
158
158
159
159
159
160
161
161
161
162
162
162
163
164
164
164
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
130
129
129
129
128
128
128
122
122
125
127
128
130
130
133
133
134
136
138
140
142
142
144
145
147
148
150
150
147
148
148
148
149
149
149
155
155
157
159
161
164
165
170
173
174
174
174
175
176
176
176
177
177
177
178
178
178
178
179
179
179
180
180
180
180
180
180
180
180
181
181
180
179
178
178
177
174
173
173
172
171
171
170
168
169
169
170
171
172
173
172
172
171
172
173
177
178
181
184
186
188
189
194
196
199
200
203
205
206
207
207
209
209
210
211
213
214
215
214
214
214
215
215
216
216
215
215
215
216
217
217
217
218
218
218
219
219
220
220
220
220
220
220
220
220
220
222
221
220
219
218
218
218
217
214
209
208
206
203
200
196
193
185
181
177
173
169
164
154
147
141
134
128
123
125
122
122
122
122
120
119
119
118
117
115
114
113
113
113
112
111
111
110
109
109
108
108
107
107
106
106
106
106
106
106
106
106
106
105
105
105
106
106
107
107
108
108
108
108
108
108
108
110
106
105
106
106
106
112
114
115
117
119
121
122
122
123
124
125
127
129
133
133
133
135
138
139
140
143
145
146
146
147
149
151
153
154
156
156
156
156
157
158
158
159
159
160
160
162
162
163
162
162
162
162
163
164
164
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
129
129
128
127
126
126
126
122
122
125
127
128
130
130
132
132
133
135
137
139
140
142
144
145
147
148
150
150
148
148
149
149
149
150
150
155
155
156
158
160
162
164
168
171
172
173
173
174
175
175
176
176
176
177
177
177
177
178
178
178
179
179
179
179
179
179
179
179
179
180
179
179
178
177
176
175
173
173
172
171
170
169
168
166
166
167
167
168
169
170
169
169
170
171
172
174
175
177
179
182
184
185
189
191
194
196
198
200
202
204
204
206
207
208
209
211
212
213
213
213
214
214
215
215
215
215
215
215
216
217
217
217
217
217
218
218
219
219
219
219
219
219
219
219
219
219
220
219
218
217
216
216
216
215
212
207
205
202
199
197
191
188
179
176
172
167
164
160
148
141
135
128
122
119
124
121
121
121
121
120
118
119
118
117
115
114
113
113
113
112
111
111
110
109
109
108
108
107
107
106
106
106
106
106
106
106
106
106
105
105
105
106
106
107
107
108
108
108
108
108
108
108
108
104
103
105
105
105
111
114
116
118
120
122
123
123
124
124
126
128
130
133
134
134
136
139
140
141
145
147
146
147
148
150
151
154
155
157
157
157
157
158
158
159
159
160
160
161
163
163
164
163
163
163
163
164
164
165
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
129
129
127
126
125
125
124
122
122
125
127
128
130
130
132
132
133
135
137
139
140
142
144
145
147
148
150
150
148
149
149
149
150
150
150
155
155
156
157
160
162
163
167
170
172
172
172
174
175
175
175
176
176
176
177
177
177
177
178
178
178
179
179
179
179
179
179
179
179
179
178
178
177
176
175
174
173
172
172
170
169
168
166
164
164
165
166
167
167
168
167
168
169
170
171
173
173
175
177
180
182
183
187
189
191
193
195
198
200
202
202
205
206
207
208
210
211
212
213
213
213
214
214
215
215
215
215
215
216
217
217
217
217
217
217
218
218
219
219
219
219
219
219
219
219
219
218
218
217
216
215
215
214
214
211
205
203
201
197
195
190
187
178
175
170
166
163
159
146
139
133
127
122
119
124
121
121
121
121
119
118
119
118
117
115
114
113
113
113
112
111
111
110
109
109
108
108
107
107
106
106
106
106
106
106
106
106
106
105
105
105
106
106
107
107
108
108
108
108
108
108
108
107
104
103
105
105
105
112
115
116
118
121
122
123
123
124
125
126
128
130
134
134
135
137
140
141
142
146
148
148
148
149
151
153
155
156
158
158
158
159
159
160
160
161
161
162
162
164
165
165
164
164
164
165
165
166
166
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
129
128
126
125
123
122
122
122
122
125
127
128
130
130
133
133
134
136
138
140
142
142
144
145
147
148
150
150
149
149
150
150
150
151
151
155
155
155
157
158
160
161
164
168
170
171
172
173
175
174
175
175
175
176
176
176
176
177
177
177
178
178
178
178
178
178
178
178
178
177
177
176
176
175
174
173
173
172
171
169
167
166
164
161
162
162
163
164
165
166
164
165
167
169
170
170
170
173
175
178
179
180
185
187
186
188
191
194
196
199
199
203
204
205
206
208
209
209
212
212
213
213
214
214
214
215
215
215
216
217
217
217
216
216
217
217
218
218
218
218
218
218
218
218
218
218
216
216
215
214
213
213
212
212
209
203
200
197
194
191
185
181
173
169
165
161
158
150
138
132
127
124
121
119
123
120
120
120
120
119
117
119
118
117
115
114
113
113
113
112
111
111
110
109
109
108
108
107
107
106
106
106
106
106
106
106
106
106
105
105
105
106
106
107
107
108
108
108
108
108
108
108
107
104
103
106
107
107
114
116
117
119
121
123
124
124
125
125
127
129
131
134
135
137
139
141
142
143
147
149
151
151
153
154
156
159
159
161
161
161
162
163
163
163
164
164
165
166
167
168
168
167
167
167
168
169
169
169
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
126
125
124
123
122
121
121
119
120
125
127
128
129
129
132
133
135
137
138
139
140
143
144
145
147
148
149
149
150
150
151
151
152
152
152
156
157
158
158
159
160
160
163
165
167
169
171
173
174
173
173
174
174
175
175
177
177
177
177
177
177
177
179
179
178
177
177
176
175
174
174
174
173
173
172
172
169
169
168
166
165
164
163
161
161
161
162
162
163
163
164
164
166
167
168
170
170
174
176
178
179
179
182
184
184
185
186
189
191
196
197
200
201
202
203
207
208
208
210
210
211
212
213
214
214
215
215
216
216
217
217
217
217
217
216
213
214
215
216
212
216
214
219
223
221
223
214
214
212
211
210
209
209
208
206
200
197
193
188
185
177
174
167
163
158
153
149
145
133
126
122
120
119
118
120
120
119
119
118
118
118
118
117
116
116
115
114
114
112
112
111
111
110
110
110
109
108
106
105
105
106
106
107
107
107
107
107
107
106
106
106
107
107
108
108
109
109
109
108
108
107
107
107
106
105
105
106
109
114
117
119
120
121
121
122
125
126
127
128
130
132
135
135
136
139
143
145
146
149
151
156
156
157
159
161
164
165
165
165
165
166
167
167
167
168
168
168
168
169
170
170
171
171
171
171
171
171
171
125
125
125
125
125
125
125
125
125
125
125
125
125
125
128
128
128
128
128
128
128
125
125
123
122
122
121
121
119
120
125
127
129
129
129
132
133
135
137
138
139
140
143
144
146
147
148
149
149
150
151
151
151
152
152
152
156
157
158
159
159
160
160
163
165
167
169
171
172
173
173
173
174
174
175
175
177
177
177
177
177
177
177
179
179
178
177
176
176
175
174
174
173
173
173
172
172
168
168
167
166
165
163
162
161
161
161
162
162
162
163
163
164
165
166
167
169
169
173
175
177
178
178
181
183
183
184
186
188
191
195
196
199
200
201
203
206
207
208
209
210
210
211
213
213
214
215
215
215
216
216
217
217
219
217
215
217
218
217
216
216
219
215
217
219
216
219
214
214
212
211
210
209
208
205
203
198
195
191
186
182
175
172
165
161
156
151
147
142
131
125
122
121
119
118
120
119
119
119
118
118
118
118
117
116
115
115
114
114
112
112
111
111
110
110
110
109
108
106
106
105
106
106
107
107
107
107
107
107
106
106
106
107
107
108
108
109
109
108
108
108
107
107
106
106
105
105
106
109
114
117
119
121
121
121
122
125
126
127
128
130
132
135
136
138
141
145
147
149
151
153
157
157
159
160
162
165
165
167
167
168
168
169
169
169
170
170
170
170
171
172
172
172
172
172
172
172
172
172
126
126
126
126
126
126
126
125
125
125
125
125
125
125
127
127
127
126
126
126
126
124
123
122
122
121
121
121
119
121
126
128
129
130
130
132
133
136
138
140
141
142
144
146
147
148
149
150
151
152
152
152
153
153
153
154
157
158
158
159
160
161
161
163
165
166
168
170
171
172
173
173
174
174
175
175
176
176
176
176
176
176
176
178
177
177
176
175
174
174
172
172
172
172
171
171
170
167
166
165
164
163
162
160
159
160
160
160
161
161
161
162
162
162
162
164
167
168
170
172
174
175
176
179
181
182
183
185
187
189
192
193
196
197
198
199
202
204
204
207
207
208
208
210
211
211
213
213
213
214
214
214
215
216
215
216
215
214
214
214
207
215
218
224
219
213
216
214
213
210
209
207
206
206
201
199
193
190
186
181
178
171
168
160
157
151
145
141
135
126
123
121
121
120
119
119
119
118
118
118
117
117
117
116
116
115
114
113
113
112
112
111
111
110
110
110
110
109
107
106
106
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
106
106
106
105
105
104
105
107
110
115
118
119
121
122
122
122
126
126
127
129
131
134
137
138
142
145
149
151
152
155
157
161
161
162
164
165
167
168
170
170
171
171
172
172
172
172
172
173
173
174
174
174
175
175
175
175
175
175
175
127
127
127
127
127
127
127
125
125
125
125
125
125
125
127
126
126
124
124
123
123
122
122
121
121
121
121
121
120
122
127
129
130
131
131
132
132
136
139
141
143
144
146
147
149
150
151
152
152
153
154
154
154
155
155
155
158
158
159
160
161
161
162
164
165
166
167
168
169
170
173
173
174
174
175
175
175
175
175
175
175
175
175
176
176
175
174
173
173
172
171
171
170
170
170
169
169
166
166
165
164
162
161
160
158
158
158
159
159
159
160
160
159
158
158
159
164
166
169
171
173
174
175
178
180
181
182
183
184
186
189
190
192
193
194
195
198
200
200
204
204
204
205
207
207
208
210
210
211
211
212
212
212
210
214
219
214
214
220
226
236
242
247
246
227
214
215
211
210
207
205
203
202
201
198
196
190
188
184
179
175
167
164
157
152
146
142
137
130
124
122
121
121
121
120
118
118
118
117
117
117
116
117
116
115
114
113
113
112
112
112
111
111
110
110
110
111
109
108
107
107
107
108
107
107
107
107
107
107
108
108
107
107
107
107
106
106
106
105
105
105
104
104
104
104
104
105
107
110
116
118
120
122
123
123
123
127
129
130
132
135
137
142
143
144
147
151
153
154
157
159
164
164
165
166
167
168
168
169
169
170
170
171
171
171
172
173
173
173
174
174
174
177
177
177
177
177
177
177
127
127
127
127
127
127
127
125
125
125
125
125
125
125
126
126
126
124
123
122
122
121
121
121
121
121
121
121
121
122
127
129
130
131
131
131
132
137
139
142
143
144
147
148
149
150
152
152
153
154
154
155
155
155
156
156
158
159
159
160
161
162
162
164
164
166
167
168
169
169
173
173
174
174
175
175
175
175
175
175
175
175
175
175
175
174
174
173
172
171
170
170
170
169
169
169
168
167
166
165
164
163
162
160
157
157
158
158
158
159
159
159
158
157
156
158
163
165
169
171
173
174
175
178
180
180
181
182
184
185
188
188
190
191
192
194
197
198
199
202
203
203
204
206
206
207
209
209
210
211
211
211
211
214
214
214
223
229
235
238
247
249
249
242
222
209
213
210
209
205
203
201
200
199
195
193
188
185
181
176
172
165
162
152
148
144
137
133
129
124
122
123
123
121
119
118
118
117
117
117
116
116
116
115
115
114
113
112
112
112
112
111
111
110
110
110
111
110
108
107
107
108
108
107
107
107
107
107
107
108
108
108
107
107
106
106
105
105
105
104
104
104
103
104
104
103
104
107
111
117
119
120
122
123
123
123
127
130
132
134
136
139
144
145
147
150
153
156
157
160
161
164
165
165
166
167
168
168
170
170
171
171
172
172
172
174
174
175
175
176
176
176
177
177
177
177
177
177
177
127
127
127
126
125
125
125
125
125
125
124
123
123
123
126
125
124
121
120
119
119
120
120
121
121
122
122
122
121
122
127
129
130
131
131
130
133
137
139
141
143
146
145
150
151
151
151
152
153
155
156
157
157
156
155
155
158
159
160
160
161
162
162
163
164
165
167
168
169
170
171
172
173
173
174
175
176
176
176
176
176
176
176
174
174
174
173
173
172
172
170
170
170
169
169
168
168
165
165
164
163
162
161
159
160
159
158
156
156
155
156
158
158
156
155
155
158
158
166
168
171
173
173
175
176
179
179
180
181
183
185
185
188
188
190
192
196
198
199
200
201
201
202
203
204
204
196
211
215
201
210
214
209
225
199
238
250
246
233
253
251
235
248
206
210
209
209
209
206
202
201
200
197
195
191
189
182
178
173
168
164
161
157
146
140
135
131
128
126
124
122
120
119
119
119
118
118
117
117
116
116
116
115
115
114
114
113
113
113
112
112
111
111
110
110
110
110
109
108
108
107
106
106
108
108
108
108
108
108
106
106
106
105
104
104
104
104
104
104
104
104
104
104
101
102
102
102
104
109
120
121
122
124
124
124
127
133
133
135
137
140
143
148
149
153
153
155
156
158
161
161
163
163
164
165
167
169
169
171
171
172
173
174
175
175
174
174
175
176
177
178
178
178
178
178
179
180
180
180
127
126
126
125
125
125
125
125
124
124
123
123
123
123
124
124
123
121
120
119
119
120
120
121
121
122
122
122
121
122
127
129
130
131
131
131
134
138
139
141
143
145
146
152
153
153
153
154
155
155
157
158
158
157
156
155
159
159
160
161
162
162
163
164
164
165
167
168
168
169
171
171
172
173
174
174
176
176
176
176
176
176
176
174
173
173
173
172
172
172
170
170
170
169
169
168
168
166
166
165
164
162
161
160
159
158
156
155
154
154
155
156
156
155
154
154
156
156
161
164
168
171
173
176
178
177
177
178
179
180
182
183
186
187
188
190
194
195
196
198
198
199
200
202
202
203
211
198
196
211
204
205
214
234
250
231
250
232
254
251
225
250
227
205
215
198
204
204
202
197
196
194
191
189
186
183
176
173
168
162
159
156
152
141
136
133
128
126
127
123
121
121
120
120
120
118
118
117
117
116
116
116
115
114
114
113
113
113
113
111
111
111
110
110
110
110
109
109
108
107
106
106
105
106
106
106
106
106
106
105
105
105
104
104
104
103
105
105
105
105
105
105
105
102
102
102
103
104
108
118
120
122
124
125
125
127
133
136
137
139
142
145
149
150
153
153
155
156
158
161
161
163
163
164
165
167
169
169
171
171
172
173
174
175
175
175
176
176
177
179
179
179
178
179
179
179
180
180
180
126
126
126
125
125
124
124
124
124
124
123
123
122
122
124
123
123
121
120
119
119
120
120
121
121
122
122
122
121
122
127
129
130
131
131
132
134
138
139
141
143
145
147
153
154
154
154
155
156
156
157
158
158
157
156
156
159
160
160
161
162
163
163
164
165
166
166
167
168
168
170
171
172
173
173
174
175
175
175
175
175
175
175
173
173
173
172
172
172
171
170
170
170
169
169
168
168
167
166
165
164
162
161
159
158
157
155
154
153
153
154
155
155
154
154
154
155
155
159
162
166
170
172
176
178
175
176
177
178
179
181
182
185
185
187
188
192
193
193
196
196
197
198
200
201
202
202
201
205
203
200
213
233
253
230
233
241
235
244
197
239
254
220
208
213
196
200
203
200
195
194
192
189
187
183
181
174
170
166
160
156
151
147
138
134
130
126
126
126
124
122
120
120
120
120
118
118
117
117
116
116
116
114
114
113
113
113
112
112
111
111
110
110
110
109
109
109
108
108
107
106
105
105
105
105
105
105
105
105
104
104
104
104
104
104
104
106
106
106
106
106
106
106
103
103
104
104
105
108
116
120
122
124
126
127
129
134
138
139
141
143
146
150
151
153
153
155
156
158
161
161
163
163
164
165
167
169
169
171
171
172
173
174
175
175
176
176
177
177
179
180
180
179
179
179
180
180
181
181
125
125
125
124
124
124
123
123
123
123
122
122
122
121
122
121
121
120
120
119
119
120
120
121
121
122
122
122
121
122
127
129
130
131
131
134
136
139
140
141
143
145
148
153
154
154
154
155
156
156
158
159
159
158
157
156
160
160
161
162
163
163
164
165
165
166
166
167
167
167
170
170
171
172
173
173
174
174
174
174
174
174
174
172
172
172
172
171
171
171
170
170
170
169
169
168
168
167
166
165
163
161
159
157
155
154
153
152
151
151
151
153
154
154
155
155
154
153
156
160
164
167
169
174
176
174
175
176
177
178
180
181
182
182
183
184
187
188
188
192
192
193
195
198
199
200
204
203
200
214
233
242
239
224
231
240
234
234
141
93
203
226
198
202
200
203
194
199
197
191
189
187
183
181
178
175
168
165
160
155
151
143
140
131
129
126
125
123
124
122
121
120
121
121
121
118
118
117
117
116
116
116
113
113
113
112
112
112
111
110
110
110
109
109
109
108
108
108
107
106
105
105
104
105
105
105
105
105
105
104
105
105
105
105
106
106
107
107
107
107
107
107
107
106
107
107
107
107
109
115
120
123
127
130
131
133
137
140
141
142
144
147
150
151
153
153
155
156
158
161
161
163
163
164
165
167
169
169
171
171
172
173
174
175
175
175
176
176
177
179
179
179
180
180
180
180
181
181
182
125
125
125
124
123
123
123
123
123
123
122
121
121
121
121
120
120
120
120
119
119
120
120
121
121
122
122
122
121
122
127
129
130
131
131
135
137
140
140
141
143
145
147
152
153
153
153
154
155
157
159
159
159
159
158
157
160
161
162
162
163
164
164
165
166
166
166
166
167
167
169
170
171
171
172
173
174
174
174
174
174
174
174
172
172
172
171
171
170
170
170
170
170
169
169
168
168
166
165
163
161
159
157
155
154
153
152
150
149
149
150
153
154
155
156
156
154
153
157
160
164
166
168
171
173
175
175
176
177
178
180
181
180
180
181
182
184
185
186
189
190
191
193
196
198
198
200
192
202
236
227
229
244
207
222
211
194
121
109
114
108
231
216
199
196
190
188
192
190
184
182
179
176
173
170
168
161
157
152
147
143
139
136
128
126
127
124
122
123
121
120
121
121
121
121
118
118
117
117
116
116
116
113
113
112
112
111
111
111
110
110
109
109
108
108
108
108
107
106
106
105
104
104
106
106
106
106
106
106
105
106
106
107
107
108
108
108
108
108
108
108
108
108
108
109
111
110
110
111
115
122
125
129
133
134
136
139
140
141
143
144
146
149
150
153
153
155
156
158
161
161
163
163
164
165
167
169
169
171
171
172
173
174
175
175
174
174
175
176
177
178
178
180
180
180
181
182
182
182
127
127
127
126
126
125
125
125
124
123
122
121
120
120
119
119
119
120
121
121
121
121
121
121
121
121
121
121
122
123
126
128
130
131
132
134
136
140
141
142
142
142
148
151
153
154
154
154
154
157
158
159
159
160
161
161
160
160
161
161
162
162
162
162
162
163
163
164
164
164
168
168
169
169
170
170
173
173
173
173
173
173
173
172
172
172
171
171
170
170
169
169
168
167
167
166
165
164
163
162
160
158
156
154
152
152
151
151
151
151
150
152
153
154
156
156
154
154
155
158
161
163
165
170
173
170
171
172
174
176
180
180
182
182
182
182
183
183
183
192
177
185
192
186
195
193
188
202
238
232
232
238
221
221
231
178
135
97
110
119
102
199
218
205
183
193
188
193
190
183
180
177
173
170
170
167
160
156
150
144
140
138
136
130
127
126
125
124
121
121
120
120
119
119
119
118
117
116
116
115
114
114
114
113
112
112
111
110
110
111
110
109
109
108
107
107
106
105
104
104
104
105
105
105
105
105
105
105
105
106
106
106
107
107
108
108
109
109
109
109
109
109
109
108
109
110
110
110
111
116
122
126
131
135
137
138
141
144
144
145
147
148
150
150
150
153
155
157
157
161
164
164
164
165
166
166
168
168
169
170
171
173
175
176
176
175
175
176
177
178
179
179
180
180
180
181
182
182
182
126
126
125
125
124
124
124
123
123
123
121
121
120
120
119
119
119
120
121
121
121
121
121
121
121
121
121
121
121
122
125
127
129
131
131
134
136
140
142
143
143
143
147
150
152
153
154
154
154
157
158
159
159
160
161
161
161
161
161
162
162
162
162
163
163
163
164
164
164
164
168
168
169
169
170
170
172
172
172
172
172
172
172
171
171
171
170
170
170
169
168
168
167
167
166
165
164
163
162
161
159
158
156
155
152
152
151
151
150
150
149
150
151
152
153
153
153
152
153
155
158
160
162
167
169
168
169
170
172
174
178
179
181
181
181
182
183
183
183
179
188
186
180
190
187
183
216
233
241
217
207
203
202
208
169
241
93
104
119
102
92
177
210
199
180
186
181
183
180
175
174
171
168
166
163
160
152
148
143
138
134
135
133
128
125
124
123
123
121
121
120
120
119
119
119
118
117
116
116
115
114
114
114
113
112
112
111
110
110
111
110
109
109
108
107
107
106
105
104
104
104
105
105
105
105
105
105
105
105
106
106
106
107
107
108
108
109
109
109
109
109
109
109
108
109
110
110
110
111
116
119
124
130
135
138
140
144
146
146
147
148
149
151
152
151
153
155
157
157
161
163
164
164
165
166
166
168
168
170
170
169
169
172
174
176
175
175
176
177
178
179
179
180
180
180
181
182
182
182
123
123
123
122
122
122
121
122
121
121
121
120
120
120
119
119
119
120
121
121
121
121
121
121
121
121
121
121
119
120
124
126
128
129
130
133
134
140
142
143
144
144
145
149
151
153
154
154
154
157
158
159
159
160
161
161
161
162
162
162
163
163
163
163
164
164
164
165
165
165
168
168
169
169
170
170
171
171
171
171
171
171
171
170
169
169
169
168
168
168
167
166
166
165
164
163
162
161
160
159
158
157
156
155
152
152
151
150
149
148
147
148
148
148
149
149
150
151
150
153
155
157
158
162
164
165
166
167
169
171
175
175
178
178
179
180
182
182
183
183
185
180
185
175
184
225
238
247
232
204
196
189
194
170
211
128
111
95
107
114
90
151
205
192
180
181
177
177
175
171
170
169
166
164
159
156
147
143
140
136
133
131
129
124
122
121
121
121
121
121
120
120
119
119
119
118
117
116
116
115
114
114
114
113
112
112
111
110
110
111
110
109
109
108
107
107
106
105
104
104
104
105
105
105
105
105
105
105
105
106
106
106
107
107
108
108
109
109
109
109
109
109
109
108
109
110
110
110
111
116
117
122
129
134
138
141
146
147
147
148
149
151
153
153
152
154
156
157
157
160
162
164
164
165
166
166
168
168
171
170
168
167
170
173
175
175
175
176
177
178
179
179
180
180
180
181
182
182
182
122
122
122
121
121
120
120
121
121
121
120
120
120
120
119
119
119
120
121
121
121
121
121
121
121
121
121
121
119
119
123
125
127
128
129
132
133
139
141
143
143
144
144
148
151
153
154
154
154
157
158
159
159
160
161
161
162
162
162
163
163
163
164
164
164
164
165
165
165
166
168
168
169
169
170
170
170
170
170
170
170
170
170
169
169
168
168
168
167
167
166
166
165
164
163
163
162
160
159
159
158
157
156
155
152
152
151
150
149
148
147
148
147
147
147
147
149
150
150
152
154
156
157
161
163
163
164
166
168
170
173
174
176
176
177
178
180
181
181
187
182
180
186
180
202
244
243
238
222
195
193
190
184
180
185
77
101
93
121
113
92
141
203
187
179
178
175
176
174
169
168
167
164
162
157
154
145
141
138
135
132
129
128
124
122
121
121
121
121
121
120
120
119
119
119
118
117
116
116
115
114
114
114
113
112
112
111
110
110
111
110
109
109
108
107
107
106
105
104
104
104
105
105
105
105
105
105
105
105
106
106
106
107
107
108
108
109
109
109
109
109
109
109
108
109
110
110
110
111
116
118
122
129
134
138
141
146
147
147
148
149
151
153
153
153
154
156
157
157
160
161
164
164
165
166
166
168
168
171
170
169
168
170
172
173
175
175
176
177
178
179
179
180
180
180
181
182
182
182
121
121
120
120
119
119
119
120
120
120
120
120
120
120
119
119
119
120
121
121
121
121
121
121
121
121
121
121
118
119
122
124
126
127
128
129
131
137
140
141
142
143
143
147
150
152
154
154
154
157
158
159
159
160
161
161
162
162
163
163
164
164
164
164
164
165
165
166
166
166
168
168
169
169
170
170
169
169
169
169
169
169
169
168
168
168
167
167
166
166
165
165
164
163
163
162
161
159
158
158
157
157
156
155
152
152
151
150
148
147
145
146
146
145
144
144
147
148
150
152
154
155
156
160
162
162
162
164
166
168
171
172
173
173
174
175
178
179
180
180
181
187
181
217
249
244
245
218
205
174
179
179
152
202
101
91
90
119
98
130
94
127
198
177
174
172
171
173
170
165
164
161
158
156
153
149
139
136
134
131
129
129
127
123
122
121
121
121
121
121
120
120
119
119
119
118
117
116
116
115
114
114
114
113
112
112
111
110
110
111
110
109
109
108
107
107
106
105
104
104
104
105
105
105
105
105
105
105
105
106
106
106
107
107
108
108
109
109
109
109
109
109
109
108
109
110
110
110
111
116
119
124
130
135
138
140
144
146
147
147
149
150
152
152
153
155
157
157
157
159
161
164
164
165
166
166
168
168
170
170
171
171
171
171
171
175
175
176
177
178
179
179
180
180
180
181
182
182
182
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
119
120
121
121
121
122
121
121
120
120
119
119
119
119
120
122
124
127
128
132
133
136
138
140
141
142
144
145
146
148
151
153
155
156
159
159
159
159
160
162
163
163
163
164
164
164
164
165
166
166
166
167
167
167
169
169
170
170
171
171
170
170
170
169
169
168
168
167
167
166
166
166
166
165
164
164
163
162
162
161
160
161
161
160
159
157
156
155
153
153
152
150
148
147
145
143
143
142
142
143
145
146
148
149
151
153
156
160
161
157
159
162
164
165
169
172
173
173
174
174
176
176
177
183
180
182
185
252
242
239
225
201
195
187
179
147
185
146
74
83
96
119
115
122
97
118
195
174
173
171
165
170
168
164
162
159
154
151
148
145
139
136
132
128
124
127
126
123
122
122
123
123
121
121
120
120
120
119
119
119
118
118
117
116
115
115
114
113
113
112
111
110
110
111
110
109
109
108
107
107
106
106
105
105
105
104
104
106
106
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
109
110
111
111
111
112
117
121
123
126
130
134
138
142
148
148
148
149
150
151
151
154
154
155
156
158
160
160
162
163
164
165
166
168
168
169
170
170
171
173
173
174
174
175
176
177
179
180
181
181
182
182
183
185
185
186
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
119
120
121
121
121
121
121
120
120
120
119
119
119
119
120
122
124
126
127
131
132
136
138
140
141
142
143
144
145
147
150
152
153
156
159
159
159
159
161
162
162
162
163
163
164
164
164
166
166
167
167
167
168
168
170
170
170
171
171
171
170
170
170
169
169
168
168
167
167
167
166
166
165
165
164
164
163
162
162
161
160
161
161
160
159
157
156
155
152
152
151
149
147
146
144
143
142
141
141
141
144
144
147
148
149
152
154
158
159
155
157
160
161
162
167
169
171
172
172
173
175
176
176
176
187
177
205
248
238
233
213
194
193
181
158
150
192
115
66
84
103
121
119
123
98
117
191
171
170
169
164
167
166
161
159
156
152
149
145
143
138
136
131
126
123
127
126
123
122
122
123
123
121
121
121
120
120
120
119
120
119
118
117
116
116
115
115
114
113
112
111
111
110
111
110
109
109
108
107
107
106
106
106
105
105
105
104
106
106
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
109
110
111
111
111
112
117
121
122
125
129
133
136
141
147
147
148
149
150
152
152
154
154
155
156
158
160
160
162
162
163
164
165
167
168
169
169
170
171
172
173
173
174
174
175
176
179
180
180
181
181
182
183
184
185
185
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
121
121
120
120
120
120
121
121
121
121
120
121
122
124
125
126
129
130
134
137
139
141
142
143
143
144
146
148
150
151
155
158
159
159
160
162
163
163
163
163
164
164
164
164
168
168
168
169
169
169
169
171
171
171
171
171
171
170
170
170
169
169
168
168
168
168
167
166
166
165
164
163
163
162
162
162
162
161
161
161
160
159
157
156
155
151
151
149
148
146
145
143
141
140
139
138
138
139
140
143
144
145
148
150
154
155
155
157
159
161
161
165
167
168
168
169
171
173
174
175
179
180
192
245
233
240
211
194
197
187
181
149
173
160
85
66
81
110
124
126
119
103
116
186
170
167
167
164
162
160
156
154
151
147
143
141
139
135
132
129
124
121
127
126
123
122
122
123
123
122
122
121
121
121
120
120
120
119
119
118
117
116
116
115
114
114
113
112
111
111
111
110
109
109
108
107
107
107
107
106
106
106
105
105
106
106
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
109
110
111
111
111
112
117
121
122
124
127
130
133
136
144
144
146
147
149
152
153
154
154
155
156
158
160
160
161
162
162
164
165
167
167
169
170
170
171
173
173
173
174
175
176
177
179
180
181
181
182
182
183
185
185
185
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
120
121
121
121
121
121
122
122
123
123
123
123
123
123
123
125
126
127
128
129
134
137
139
141
143
145
144
145
146
148
149
151
154
158
159
159
160
162
164
164
165
165
165
166
166
166
169
169
170
170
170
171
171
173
173
172
172
171
171
170
170
170
169
169
168
168
169
169
168
167
165
164
163
162
162
162
162
162
162
162
161
161
160
159
157
156
155
152
151
150
148
147
145
143
139
138
137
136
135
136
136
139
140
142
144
147
151
152
153
155
157
158
158
161
163
165
166
167
168
172
173
174
173
192
242
251
234
221
201
196
196
186
218
148
178
120
70
79
90
108
117
130
120
102
111
181
170
164
161
159
159
157
153
151
148
144
141
141
137
128
126
125
124
122
127
126
123
122
122
123
123
123
122
122
122
121
121
121
121
120
119
118
118
117
117
116
115
114
113
113
112
112
111
110
109
109
108
107
107
108
107
107
107
106
106
106
106
106
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
109
110
111
111
111
112
117
121
121
123
125
128
130
132
139
140
142
145
147
151
153
154
154
155
156
158
160
160
162
163
164
165
166
168
168
171
171
172
173
174
175
175
176
177
177
179
181
182
182
183
183
184
185
186
187
187
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
120
121
121
121
121
122
123
123
124
124
124
124
124
123
124
125
127
128
127
128
133
137
139
141
143
145
145
145
146
148
150
151
153
158
159
159
160
163
165
165
165
166
166
166
167
167
169
169
170
170
171
171
171
173
173
172
172
171
171
170
170
170
169
169
168
168
170
169
168
167
165
164
163
162
162
162
162
162
162
162
161
161
160
159
157
156
155
152
151
150
149
147
145
144
138
138
136
135
134
135
136
139
140
141
144
146
150
151
151
153
155
156
156
159
160
164
165
166
168
171
173
173
166
203
255
247
239
209
203
190
208
190
199
148
188
106
62
83
96
108
113
130
123
100
109
179
169
162
158
156
159
157
153
151
148
143
140
141
137
126
125
124
124
123
127
126
123
122
122
123
123
123
123
122
122
121
121
121
121
120
119
119
118
117
117
116
115
114
114
113
112
112
111
110
109
109
108
107
107
108
108
107
107
106
106
106
106
106
106
106
106
106
106
106
106
107
107
108
108
110
110
110
110
110
110
110
109
110
111
111
111
112
117
120
121
123
125
127
129
131
138
139
141
144
146
151
152
154
154
155
156
158
160
160
163
163
164
165
166
168
169
172
172
173
173
175
176
176
177
177
178
179
182
183
183
184
184
185
185
187
188
188
118
118
118
118
118
118
118
119
119
119
119
119
119
119
120
120
120
122
122
123
123
123
123
124
124
125
125
125
123
123
124
124
125
125
125
126
129
134
136
138
141
143
143
146
148
150
151
151
151
153
158
159
160
161
164
166
168
169
169
170
171
171
171
172
172
172
172
172
172
172
174
174
174
174
174
174
173
173
172
172
171
171
171
169
168
166
166
166
166
164
164
164
163
163
163
163
162
161
160
159
158
157
156
155
154
152
149
147
146
144
139
137
136
135
134
134
135
135
136
137
138
140
142
146
147
148
149
151
154
156
160
161
165
163
164
170
167
175
166
189
244
250
242
222
205
194
203
199
183
168
159
183
80
65
82
97
124
128
123
118
97
112
173
169
159
165
157
155
154
150
147
145
143
142
135
135
131
129
127
126
125
125
125
124
123
122
121
121
121
121
121
121
121
121
121
121
120
120
119
118
117
117
116
115
115
114
113
112
112
109
109
108
108
108
107
107
106
106
106
106
106
106
106
107
107
107
107
107
107
106
106
107
107
107
108
108
110
110
110
110
110
110
110
112
112
111
111
112
114
116
119
119
121
123
125
127
129
133
135
139
143
146
149
150
154
154
155
156
157
159
160
164
164
166
167
169
171
172
174
174
175
176
177
178
178
180
180
181
182
183
184
184
185
185
186
186
187
187
187
118
118
118
118
118
118
118
119
119
119
120
120
120
121
120
120
121
123
124
125
125
124
124
125
125
125
126
126
124
124
125
125
125
126
126
127
129
134
135
137
140
142
142
146
148
150
151
152
152
154
158
160
160
162
164
166
172
172
172
172
171
171
171
173
173
173
173
173
173
173
174
174
174
174
174
174
174
174
173
173
173
172
172
169
168
166
166
166
166
164
165
165
164
163
163
162
161
160
160
159
157
156
154
153
153
150
148
146
145
143
138
137
136
135
134
134
135
135
135
136
137
139
140
143
144
146
146
148
150
152
156
156
161
161
163
158
171
162
166
230
250
233
223
215
214
208
214
198
172
165
181
185
71
63
79
96
133
134
122
117
98
117
172
166
157
160
153
153
152
148
145
143
141
140
135
135
132
130
128
127
126
127
126
125
124
123
123
122
121
121
121
121
121
121
121
122
121
120
119
119
118
118
117
116
115
114
114
113
113
110
109
109
109
108
108
108
107
107
107
107
107
107
107
108
108
108
108
108
108
107
107
107
108
108
108
109
110
110
110
110
110
110
110
112
112
111
111
112
114
116
117
118
119
121
123
125
128
130
132
134
138
141
146
147
151
152
155
157
160
165
166
166
167
168
170
171
174
175
175
175
176
176
178
179
179
181
181
182
182
184
185
185
187
187
187
187
188
188
189
118
118
118
118
118
118
118
119
119
119
120
121
121
122
121
121
122
124
125
125
126
124
124
125
125
126
126
126
124
124
125
125
126
126
126
127
129
133
134
136
139
141
141
145
148
150
152
152
152
153
158
159
160
161
164
166
172
172
172
172
172
172
171
173
173
173
173
173
173
173
174
174
174
174
174
174
174
174
173
173
173
172
172
169
168
166
166
166
166
164
165
165
164
163
163
162
161
160
159
158
156
155
153
151
152
150
147
145
144
142
137
137
136
135
134
134
135
135
135
136
137
138
140
142
143
144
145
147
148
150
154
154
159
158
163
155
170
157
181
243
252
231
222
209
216
215
216
188
168
175
178
171
74
65
78
97
136
135
123
118
98
121
171
164
156
156
152
152
151
147
144
142
140
139
135
134
132
130
129
128
127
128
127
126
125
124
124
123
121
121
121
121
121
121
121
122
121
121
120
119
118
118
117
116
116
115
114
113
113
110
110
109
109
109
108
108
107
107
107
107
107
107
107
108
108
108
108
108
108
107
107
108
108
108
109
109
110
110
110
110
110
110
110
112
112
111
111
112
114
116
116
117
119
121
123
125
127
129
130
133
135
139
145
146
151
152
154
157
161
166
167
167
168
169
170
172
175
175
175
175
176
177
178
179
179
181
181
182
183
184
185
185
187
188
188
188
189
189
189
118
118
118
118
118
118
118
119
119
120
121
122
123
123
126
125
125
125
124
124
124
125
125
126
126
126
127
127
125
125
126
126
126
127
127
127
129
133
133
135
137
139
140
145
148
150
152
153
153
152
156
157
158
159
162
164
170
171
171
172
173
173
173
174
174
174
174
174
174
174
174
174
174
174
174
174
173
173
172
172
171
171
171
169
168
166
166
166
166
164
166
166
165
164
162
161
160
160
159
157
155
153
151
149
151
148
146
144
143
141
136
137
136
135
134
134
135
135
137
137
138
139
140
142
142
144
144
146
147
149
151
152
155
150
163
154
162
155
232
254
239
207
209
213
225
226
205
169
157
170
167
141
57
73
83
99
141
139
125
120
99
128
173
163
154
153
151
150
149
145
142
140
138
137
135
134
132
131
130
129
129
129
129
127
126
126
125
125
123
123
123
123
123
123
123
123
122
121
120
120
119
119
118
117
116
115
115
114
114
111
110
110
110
109
109
109
108
108
108
108
108
108
108
109
109
109
109
109
109
108
108
108
109
109
109
110
110
110
110
110
110
110
110
112
112
111
111
112
114
116
115
116
117
119
121
123
125
129
129
131
133
136
143
145
150
152
154
157
160
165
167
167
168
169
171
172
175
176
176
176
177
177
179
180
180
182
182
183
183
185
186
186
189
189
189
190
190
191
191
118
118
118
118
118
118
118
120
120
121
122
123
124
124
125
125
125
125
125
125
125
125
125
126
126
127
127
127
125
125
126
126
127
127
127
128
129
132
134
136
137
138
140
143
146
149
152
154
155
155
154
154
155
157
160
161
164
166
168
170
172
174
175
174
174
173
173
173
173
173
172
172
172
172
172
172
173
173
172
171
171
170
169
167
167
167
167
167
167
168
166
164
163
162
162
162
158
156
154
152
151
151
150
146
143
143
142
141
139
138
136
134
134
135
136
136
138
138
139
139
139
140
140
141
141
140
141
142
144
146
149
150
149
159
147
152
155
178
254
229
177
161
197
216
215
234
205
165
163
155
164
104
57
76
76
118
141
131
132
122
106
137
164
154
154
154
149
150
149
145
143
141
139
138
135
134
132
131
130
129
129
130
130
130
130
129
129
129
126
125
124
124
123
122
122
124
123
122
122
121
120
120
119
118
117
115
114
113
112
112
112
111
111
110
110
110
109
109
108
108
107
107
107
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
112
113
114
115
115
115
117
119
121
125
127
129
131
132
135
143
147
148
150
153
155
157
162
164
166
167
168
170
172
176
176
176
176
177
178
179
180
180
181
181
182
183
184
185
185
188
188
189
189
190
190
190
118
118
118
118
118
118
118
120
120
121
123
123
124
124
125
125
125
125
125
125
125
125
125
126
126
127
127
127
125
125
126
126
127
127
127
129
129
132
134
135
137
137
140
143
146
149
151
153
155
155
154
155
156
157
159
160
164
165
167
170
172
173
174
173
173
173
173
173
173
173
173
173
173
173
173
173
173
173
172
171
170
170
169
167
167
167
167
167
168
168
166
164
162
162
162
161
158
156
154
152
151
151
150
146
143
142
141
140
139
137
136
134
134
135
136
137
138
138
139
139
140
140
140
141
141
141
141
142
144
146
149
149
149
154
155
152
140
213
247
184
173
185
153
210
235
235
211
165
160
152
156
102
58
77
79
119
143
132
130
119
105
139
165
154
153
153
149
150
149
145
143
141
140
139
136
135
133
132
131
130
129
130
130
130
129
129
129
129
126
125
125
124
123
122
122
124
123
122
122
121
120
120
119
118
117
115
114
113
113
112
112
111
111
111
110
110
109
109
108
108
108
107
107
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
112
113
114
114
114
115
116
118
121
125
127
129
132
134
136
143
146
147
150
153
155
156
162
164
165
166
168
170
172
175
176
176
176
177
177
179
180
180
181
182
182
183
185
185
186
188
188
189
189
190
190
190
117
117
118
118
118
119
119
121
121
122
123
124
125
125
125
125
125
125
125
125
125
125
125
126
126
127
127
127
125
125
126
126
127
127
127
129
129
132
133
134
135
136
139
142
144
147
149
151
152
155
155
156
156
157
157
158
162
163
165
167
168
170
170
172
172
172
173
173
173
173
173
173
173
173
173
173
172
171
171
170
169
168
168
168
168
168
167
167
167
167
165
163
161
160
160
160
156
155
153
151
150
149
148
143
140
139
139
138
137
136
135
135
136
136
137
138
139
140
140
140
140
141
141
142
142
141
141
142
144
145
147
148
154
140
164
145
184
254
203
160
162
163
193
184
184
255
229
169
144
141
127
93
66
80
86
122
149
138
129
114
107
146
166
154
155
150
148
150
149
146
145
143
142
141
138
138
136
135
133
133
132
132
131
130
129
129
128
128
127
126
125
124
124
123
123
124
123
122
122
121
120
120
119
118
117
116
115
115
114
113
112
112
112
111
111
111
110
110
110
109
109
109
109
111
111
111
111
111
111
111
111
111
111
111
111
111
110
110
110
110
110
110
110
110
110
111
112
112
113
114
113
113
114
115
117
120
124
126
129
134
137
139
142
143
145
148
151
153
154
160
162
163
164
166
168
170
173
174
175
175
176
177
178
179
179
182
182
183
184
185
186
186
187
188
188
188
189
189
189
116
116
117
118
119
120
120
121
122
122
124
125
125
126
125
125
125
125
125
125
125
125
125
126
126
127
127
127
125
125
126
126
127
127
127
129
129
131
132
133
133
134
137
139
141
143
145
147
147
150
153
154
156
156
157
157
160
161
162
163
165
165
166
168
169
169
170
171
171
171
172
172
172
172
172
172
170
170
169
168
167
167
166
167
167
166
166
165
164
164
163
161
159
159
159
158
155
155
153
150
148
147
146
141
138
138
138
137
137
136
136
137
137
138
139
140
141
141
141
141
141
141
142
142
143
141
141
142
143
144
145
146
153
141
154
143
254
204
162
150
159
196
157
175
217
231
236
180
138
130
113
100
77
87
105
137
155
141
130
120
107
154
169
155
155
148
149
151
150
148
147
145
144
144
141
141
139
138
137
136
135
135
134
132
131
130
129
129
128
127
126
125
124
124
123
124
123
122
122
121
120
120
119
118
118
117
117
117
116
113
113
113
112
112
112
112
112
112
111
111
111
110
110
112
112
112
112
112
112
112
112
112
112
112
112
112
110
110
110
110
110
110
110
110
110
111
112
112
113
114
114
114
114
115
118
120
124
127
129
133
135
136
140
142
143
145
148
150
152
157
160
161
162
163
165
167
171
171
174
175
175
176
178
178
179
181
181
182
182
184
184
185
185
185
185
185
186
186
187
116
116
117
118
119
120
120
122
122
123
124
125
126
126
125
125
125
125
125
125
125
125
125
126
126
127
127
127
125
125
126
126
127
127
127
129
129
131
131
132
133
133
135
137
139
141
143
144
145
147
151
153
155
156
157
157
159
160
161
162
163
164
164
166
167
168
168
169
170
170
171
171
171
171
171
171
169
169
168
168
167
166
165
166
166
165
164
163
163
162
162
161
159
158
158
158
154
155
152
150
148
147
145
140
138
138
138
138
137
137
137
138
138
139
139
140
142
142
141
141
141
142
142
143
143
141
141
142
143
143
145
145
149
148
151
149
230
170
161
149
168
209
184
180
202
235
236
185
138
127
112
107
81
96
118
147
155
139
127
119
107
157
171
156
156
148
150
151
150
148
147
146
145
145
143
142
140
139
138
137
136
136
136
134
132
131
130
130
128
127
126
125
125
124
124
124
123
122
122
121
120
120
119
118
118
118
117
117
117
114
113
113
113
112
112
112
113
112
112
112
111
111
111
113
113
113
113
113
113
112
112
112
112
112
112
112
110
110
110
110
110
110
110
110
110
111
112
112
113
114
114
114
115
116
118
121
125
127
129
131
133
134
139
142
142
144
147
150
151
156
159
160
161
162
164
166
170
171
174
174
175
176
177
178
178
180
180
181
181
183
184
184
183
183
183
184
185
185
185
116
116
117
118
119
120
120
123
123
123
124
125
125
125
125
125
125
125
125
125
125
123
125
127
128
127
126
125
126
126
127
127
128
128
128
127
127
129
131
132
133
133
137
138
139
140
141
142
142
147
150
152
154
157
158
159
157
157
157
157
157
157
157
162
162
162
163
163
164
164
164
165
165
166
167
167
164
163
163
163
162
162
162
165
164
164
163
162
161
160
157
158
158
158
158
157
155
153
151
149
146
144
142
141
139
139
139
139
139
139
139
138
138
139
140
140
142
142
143
144
144
145
145
144
143
151
147
144
146
152
145
152
140
162
135
240
183
156
161
208
222
137
105
188
201
230
247
189
113
130
103
125
92
118
154
170
150
140
131
130
118
163
167
160
152
152
145
151
150
148
147
146
145
145
145
144
142
140
138
137
137
133
132
132
130
128
127
128
129
129
128
126
125
123
123
124
123
122
122
121
120
120
118
118
117
117
116
116
116
114
114
114
114
114
114
114
113
113
113
113
113
113
113
114
114
113
113
112
112
113
113
113
112
112
111
111
111
111
111
110
110
109
109
110
110
111
112
112
113
114
113
114
116
118
120
122
125
126
129
132
133
135
139
142
144
145
146
148
150
153
154
159
161
164
165
166
169
172
172
173
174
175
177
178
178
179
179
180
180
181
181
181
181
181
181
182
183
183
183
116
117
117
119
120
120
121
123
123
124
124
124
125
125
125
125
125
125
125
125
125
124
124
126
127
127
126
126
126
126
127
127
128
128
128
127
128
130
131
132
133
134
137
138
138
139
140
140
141
142
144
146
148
150
151
152
153
154
155
156
157
158
159
159
159
159
159
159
159
158
161
161
161
162
162
162
160
159
159
159
158
158
158
159
159
159
158
157
156
156
156
156
157
157
157
156
154
151
149
147
144
143
141
141
140
140
140
139
139
139
139
138
138
139
140
140
142
142
143
144
144
145
145
144
143
143
151
150
143
143
145
150
151
148
242
254
132
193
227
151
50
43
42
76
207
216
238
207
137
126
112
161
145
161
177
174
153
142
131
131
120
166
170
161
153
154
149
153
152
150
149
148
147
147
147
146
143
142
140
139
138
135
134
133
132
130
129
129
130
130
129
127
125
124
124
125
124
123
122
121
121
120
118
118
118
117
117
117
116
114
114
114
114
114
114
114
113
113
113
113
113
113
113
114
114
114
113
113
113
113
113
113
113
112
112
112
111
111
111
111
110
110
110
110
110
111
112
112
113
114
114
115
116
118
120
122
124
126
128
131
133
134
138
140
142
143
145
147
149
152
153
155
157
160
161
162
166
168
172
172
173
174
176
177
178
179
179
180
180
181
181
181
180
180
181
181
182
182
182
117
117
118
119
120
121
121
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
126
126
126
126
126
126
127
127
128
128
128
128
128
130
131
133
133
134
137
137
138
138
139
139
139
141
143
144
145
147
148
148
151
153
154
156
158
159
160
160
160
159
159
159
158
158
162
162
161
161
161
161
159
159
159
158
158
158
157
158
157
157
157
156
155
155
155
155
156
156
156
154
152
149
148
146
144
142
142
142
141
140
140
140
140
139
139
138
138
139
140
140
142
142
143
144
144
145
145
144
143
141
150
149
145
149
152
151
128
217
247
180
183
250
178
103
68
28
44
101
193
198
236
204
133
126
111
169
174
180
184
171
155
143
132
134
120
167
172
162
154
155
152
154
154
152
151
149
149
148
148
148
145
143
142
141
140
136
136
135
133
132
131
131
131
131
129
128
126
125
124
125
124
123
122
122
121
121
119
118
118
118
117
117
117
115
115
115
115
115
115
115
114
114
114
114
114
114
114
115
114
114
114
113
113
114
114
113
113
113
112
112
112
112
111
111
111
110
110
110
110
111
112
112
113
114
115
115
116
118
120
122
123
126
128
131
132
133
137
139
141
142
143
145
148
152
153
155
157
159
160
161
165
167
171
171
172
173
175
176
177
178
179
179
179
180
180
180
179
180
180
180
181
181
181
117
118
118
120
121
121
122
125
125
124
124
124
123
123
123
123
123
123
123
123
123
124
124
123
124
125
126
126
126
126
127
127
128
128
128
128
129
131
132
133
134
135
138
139
139
139
139
139
139
141
142
142
143
143
144
144
145
146
148
149
151
152
153
156
156
157
157
157
158
158
160
160
159
158
157
156
156
156
156
155
155
155
154
155
155
155
154
154
154
154
152
153
153
154
153
152
150
147
146
145
144
143
143
144
142
142
142
141
140
140
139
138
138
139
140
140
142
142
143
144
144
145
145
144
143
146
147
144
146
151
142
144
220
255
185
141
255
184
80
49
70
69
100
109
190
215
222
193
127
132
107
167
191
189
177
161
163
148
135
143
112
164
173
167
159
159
156
157
157
155
154
153
152
151
152
151
148
147
145
144
143
140
139
138
137
135
134
134
132
133
131
129
128
127
126
126
125
124
123
122
122
121
120
119
119
118
118
118
118
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
115
114
114
114
115
114
114
114
113
113
113
113
112
112
112
111
111
111
110
110
111
112
112
113
114
116
116
117
118
120
121
122
125
127
130
131
131
134
136
137
138
140
143
146
150
151
154
156
159
160
161
165
167
167
167
168
169
172
173
173
176
176
176
176
177
177
178
178
178
178
179
179
180
180
118
118
119
120
121
122
122
125
125
125
124
123
123
123
123
123
123
123
123
123
123
125
124
122
123
124
125
127
126
126
127
127
128
128
128
129
129
131
133
134
135
135
140
140
140
140
140
139
139
138
138
138
138
139
139
139
143
143
144
146
147
148
148
149
150
152
154
155
156
157
157
156
155
153
152
150
152
152
151
151
151
150
150
149
149
149
150
150
150
150
151
151
152
152
152
151
149
147
147
145
145
145
145
147
144
143
142
142
141
140
139
138
138
139
140
140
142
142
143
144
144
145
145
144
143
148
146
147
153
151
159
191
254
169
240
250
173
96
56
82
92
105
71
115
225
238
201
216
159
127
120
179
183
186
172
160
174
151
135
146
103
159
175
173
163
163
159
159
159
157
156
154
154
153
153
153
150
148
147
146
145
141
141
140
138
137
136
136
133
133
132
130
129
128
127
126
125
124
124
123
122
122
120
120
119
119
118
118
118
116
116
116
116
116
116
116
115
115
115
115
115
115
115
116
116
115
115
114
114
115
115
115
114
114
113
113
113
113
113
112
112
111
111
110
110
111
112
112
113
114
116
117
117
118
120
121
122
125
127
129
130
130
133
135
135
136
139
141
144
149
151
150
153
155
156
157
161
163
164
164
165
166
169
170
170
173
173
173
174
175
175
175
177
177
177
178
179
179
179
118
118
119
122
123
124
124
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
123
124
124
124
125
125
124
124
125
126
127
128
128
128
129
131
132
133
134
135
138
138
139
139
140
140
140
139
139
139
139
139
139
139
139
140
141
142
143
143
144
145
145
146
146
147
147
147
147
147
147
147
147
147
148
148
148
148
148
148
148
147
147
147
147
147
147
147
148
148
148
149
149
149
150
149
149
148
147
146
146
145
144
144
143
142
142
141
140
140
140
141
141
142
144
144
144
144
144
144
145
145
145
147
143
151
150
149
179
250
201
255
253
221
54
75
73
98
120
115
114
165
242
252
203
229
162
135
122
176
184
185
167
158
178
162
132
149
109
26
42
169
183
173
166
164
163
161
159
157
156
156
156
155
153
152
151
150
150
143
142
141
142
141
139
138
137
136
134
132
130
129
128
126
125
125
124
123
123
122
121
120
120
119
118
117
117
118
118
117
117
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
114
114
113
113
113
113
113
112
112
111
111
111
111
111
111
111
113
115
115
116
117
118
120
121
123
124
125
126
128
130
133
134
136
138
140
141
141
145
146
148
148
149
151
153
155
156
160
160
161
162
165
166
166
168
168
169
169
171
171
172
173
173
173
173
173
173
173
117
118
119
121
122
123
124
124
124
124
124
124
124
124
123
123
123
123
123
123
123
123
123
123
124
124
124
125
123
123
125
126
126
127
127
129
129
131
133
134
135
135
138
138
139
139
140
140
140
140
140
140
140
140
140
140
140
140
141
142
142
143
143
143
143
143
144
144
144
144
143
143
143
143
143
143
147
147
147
147
147
147
147
146
146
146
146
146
146
146
148
148
148
148
149
149
150
149
148
148
147
146
145
144
144
144
143
142
142
141
140
141
141
142
142
143
144
145
144
144
145
145
146
147
147
149
146
150
158
143
213
240
239
228
208
250
77
91
85
93
103
104
85
193
249
253
197
231
170
137
120
175
184
180
166
159
181
165
136
155
94
4
28
202
161
158
178
166
165
162
161
159
158
157
158
158
156
154
153
152
152
145
143
143
143
142
140
139
137
137
135
133
131
130
129
127
126
125
124
124
123
123
122
121
120
119
118
118
117
118
118
117
117
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
115
115
114
114
113
113
113
113
113
112
112
111
111
111
111
111
111
112
113
116
117
118
118
119
120
121
122
124
125
126
128
130
133
134
135
137
139
140
140
143
145
145
146
147
148
150
153
153
158
158
159
160
163
164
164
166
166
166
167
169
169
170
171
171
171
171
172
172
172
117
117
118
120
122
122
123
124
124
124
124
124
124
124
122
122
122
122
122
122
122
122
122
123
123
123
124
124
121
122
123
124
125
125
126
128
129
131
132
133
134
135
138
138
139
139
140
140
140
141
141
141
141
141
141
141
140
140
140
140
140
139
139
137
137
137
137
137
137
137
137
137
138
138
139
139
142
142
143
143
144
144
144
145
145
145
145
145
145
145
147
147
147
148
148
148
149
148
148
147
146
145
145
144
143
143
142
142
142
142
141
142
142
143
144
144
146
146
145
146
147
148
150
152
153
156
153
152
157
141
252
227
208
205
227
174
158
62
56
74
80
99
85
250
252
225
186
232
179
131
117
179
194
173
163
155
189
176
141
165
74
19
26
108
193
181
168
170
170
167
165
164
163
162
159
159
157
155
154
153
153
149
147
146
146
145
142
141
140
140
138
136
134
132
131
130
128
127
126
124
124
123
122
121
121
120
119
118
118
118
118
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
115
115
114
114
113
113
113
113
113
112
112
111
111
111
111
111
111
113
115
118
120
120
120
120
120
120
120
124
125
126
128
130
133
134
134
136
137
138
138
140
142
144
145
146
148
149
152
153
154
155
156
157
159
160
160
161
161
162
163
164
165
165
167
167
168
168
169
170
170
116
116
117
120
121
122
122
122
122
122
122
122
122
122
121
121
121
121
121
121
121
121
121
122
122
123
123
123
120
120
122
123
123
124
124
127
127
129
130
132
132
133
138
138
139
139
140
140
140
141
141
141
141
141
141
141
143
142
141
140
139
138
138
136
135
135
134
134
133
133
134
135
136
137
137
138
140
140
141
141
142
143
144
145
145
145
145
145
145
145
146
146
147
147
147
148
148
147
147
146
146
145
144
143
142
142
142
142
142
142
142
141
142
142
143
144
145
146
146
147
148
150
153
156
157
149
155
160
148
177
240
210
210
241
191
162
80
61
80
89
95
94
115
254
254
229
189
240
192
137
118
179
190
174
163
148
199
186
144
165
118
6
16
130
210
183
184
174
174
171
169
168
167
166
162
162
160
159
157
157
156
153
151
149
148
147
144
143
142
142
140
138
136
134
133
132
130
129
127
125
124
123
123
122
121
120
120
119
119
118
118
117
117
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
115
115
115
114
114
113
113
113
113
113
112
112
111
111
111
111
111
112
114
116
119
119
120
120
121
121
122
122
124
125
126
128
130
133
134
135
136
138
138
137
139
141
143
143
145
146
148
150
151
153
153
154
155
158
158
159
159
159
160
161
162
163
163
165
166
166
167
169
170
170
116
116
117
120
121
122
122
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
122
122
123
123
123
120
120
122
122
123
124
124
126
126
129
130
131
132
132
138
138
139
139
140
140
140
140
140
140
140
140
140
140
143
142
141
140
139
138
138
136
135
135
134
134
133
133
133
134
134
136
136
137
139
140
140
141
142
143
144
146
146
146
146
146
146
146
146
146
146
147
147
148
148
147
147
146
145
145
144
143
142
142
142
142
142
142
142
141
141
142
143
144
145
145
146
147
149
151
153
157
158
152
161
169
149
190
219
195
221
235
194
155
58
47
78
83
101
102
139
250
249
209
178
234
188
138
121
178
186
175
163
144
201
189
144
164
137
12
34
3
171
184
174
175
175
172
170
169
168
167
164
164
162
161
160
159
158
154
152
150
149
147
145
144
142
142
140
138
136
135
134
133
131
129
127
125
124
124
123
122
121
121
120
119
119
118
118
117
117
116
116
116
116
116
116
116
116
116
116
117
117
117
117
117
117
115
115
115
114
114
113
113
113
113
113
112
112
111
111
111
111
111
112
114
116
120
119
119
120
121
121
122
123
124
125
126
128
130
133
134
135
137
138
138
137
139
140
141
142
143
145
146
149
150
153
153
154
155
157
158
159
159
159
159
160
162
162
163
165
166
166
167
169
170
170
117
117
118
119
120
121
121
122
122
122
122
122
122
122
120
120
120
120
120
120
120
121
121
123
124
124
125
125
124
124
126
127
127
128
128
129
129
129
130
132
134
135
136
136
137
137
138
138
138
140
140
140
140
140
140
140
140
140
139
139
138
138
138
137
137
136
136
135
135
135
135
134
134
134
135
136
139
139
140
141
142
142
143
143
143
144
144
144
145
145
145
145
145
146
146
147
147
149
149
148
147
145
144
143
143
143
143
143
143
143
143
142
142
142
142
144
146
147
147
147
150
152
153
157
159
165
157
161
169
234
196
214
232
166
165
150
68
67
81
63
90
109
206
255
253
160
142
210
198
121
112
164
196
177
160
144
192
196
168
147
167
24
43
6
97
198
199
180
178
175
175
174
172
170
169
168
165
164
162
161
160
159
157
154
153
152
150
148
146
142
139
137
136
136
135
130
128
127
126
124
123
124
123
123
122
122
121
120
120
118
118
117
117
117
116
116
117
117
117
117
117
117
117
117
117
116
116
115
115
115
115
115
114
114
113
113
113
113
113
112
112
111
111
112
112
114
115
117
119
120
121
121
121
122
122
123
123
126
126
127
128
130
132
132
134
134
135
136
138
140
140
142
142
144
146
148
151
152
153
153
154
155
156
157
157
159
159
160
161
162
163
163
166
166
167
167
169
170
170
116
116
117
119
119
120
120
121
121
121
121
121
121
121
120
120
120
120
120
120
120
122
122
123
124
125
126
126
125
126
127
127
128
128
128
129
129
129
130
132
134
135
136
136
137
137
138
138
138
140
140
140
140
140
140
140
140
140
139
139
138
138
138
137
137
136
136
135
135
135
135
134
134
134
135
136
137
138
138
139
140
141
141
144
144
144
145
145
145
146
145
145
145
146
146
147
147
148
148
147
146
145
143
142
142
142
142
142
142
142
142
142
142
142
143
144
148
149
150
150
153
155
156
159
161
159
173
156
217
254
170
201
200
91
183
76
74
80
89
141
158
209
237
244
253
139
132
206
210
114
114
157
191
177
159
146
193
204
179
146
196
63
11
31
3
176
191
181
181
179
178
176
175
174
172
171
169
167
166
164
164
161
159
156
156
155
153
151
148
144
141
139
138
137
137
132
130
129
128
126
125
126
125
124
123
122
121
120
120
119
118
118
118
117
117
117
117
117
117
117
117
117
117
117
117
116
116
115
115
115
115
115
114
114
113
113
113
113
113
113
113
113
113
113
114
115
116
117
119
120
121
121
121
122
122
123
123
126
126
127
128
130
132
132
133
134
134
136
137
139
139
141
142
143
145
147
151
151
152
153
153
154
157
157
158
159
159
160
161
162
163
163
165
165
166
167
168
169
169
116
116
117
118
119
120
120
121
121
121
121
121
121
121
120
120
120
120
120
120
120
122
122
124
125
125
126
126
126
127
127
127
128
128
128
129
129
129
130
132
134
135
136
136
137
137
138
138
138
140
140
140
140
140
140
140
140
140
139
139
138
138
138
137
137
136
136
135
135
135
135
134
134
134
135
136
137
137
138
139
139
140
141
144
144
145
145
145
146
146
145
145
145
146
146
147
147
148
147
147
145
144
143
142
142
142
142
142
142
142
142
142
142
142
143
145
148
150
152
152
155
156
157
161
163
159
177
160
233
255
168
227
151
97
143
56
63
82
117
151
154
198
221
247
254
153
124
198
213
112
112
148
189
173
157
147
191
208
185
149
176
93
3
32
17
185
202
175
179
183
179
176
175
176
174
174
171
169
168
167
166
163
161
158
158
157
155
153
150
146
143
140
138
138
137
133
131
130
129
127
126
127
126
125
124
123
121
120
120
119
119
118
118
118
117
117
117
117
117
117
117
117
117
117
117
116
116
115
115
115
115
115
114
114
113
113
113
113
113
113
113
113
113
114
115
116
117
118
119
120
121
121
121
122
122
123
123
126
126
127
128
130
132
132
133
133
134
135
136
138
139
141
141
143
145
147
150
151
152
152
153
154
157
158
158
159
159
160
161
162
163
163
165
165
166
166
168
169
169
115
115
116
118
118
119
119
120
120
120
120
120
120
120
120
120
120
120
120
120
120
123
123
124
125
126
127
127
128
128
128
128
128
128
128
129
129
129
130
132
134
135
136
136
137
137
138
138
138
140
140
140
140
140
140
140
140
140
139
139
138
138
138
137
137
136
136
135
135
135
135
134
134
134
135
136
137
138
138
139
140
141
141
145
145
145
146
146
146
147
145
145
145
146
146
147
147
147
147
146
145
143
142
141
141
141
141
141
141
141
141
142
142
142
144
146
150
151
154
154
157
159
160
164
166
182
159
197
255
244
218
216
95
99
50
67
114
138
136
145
157
184
243
255
221
185
126
178
202
129
124
137
182
164
153
149
182
208
197
160
144
156
26
23
21
71
190
193
188
181
183
183
180
177
178
177
174
173
171
170
169
166
164
161
160
159
157
155
153
148
145
142
140
139
138
135
133
132
131
129
128
129
127
126
125
123
121
120
120
120
119
119
119
118
118
118
117
117
117
117
117
117
117
117
117
116
116
115
115
115
115
115
114
114
113
113
113
113
113
114
114
115
115
116
116
117
118
118
119
120
121
121
121
122
122
123
123
126
126
127
128
130
132
132
132
132
133
134
136
138
138
140
141
142
144
146
150
150
151
151
153
154
157
159
159
159
159
160
161
162
163
163
164
164
165
166
167
168
168
113
114
115
118
118
117
117
115
116
118
120
120
119
118
119
119
120
121
122
123
123
123
124
125
126
127
128
128
127
127
128
128
129
129
129
131
131
133
133
134
135
135
137
137
137
137
137
137
137
138
138
138
138
138
138
138
140
140
140
140
140
140
140
140
139
139
138
137
136
136
135
135
135
135
135
135
136
136
137
138
140
141
142
145
145
145
146
146
147
147
145
145
145
146
146
147
147
147
147
146
145
143
142
141
140
140
140
140
140
140
140
140
141
143
145
148
152
153
158
155
156
160
162
163
165
180
171
229
255
215
222
127
121
78
58
43
196
143
170
131
128
245
250
240
200
192
148
174
193
149
144
148
176
171
150
150
180
204
202
171
151
186
36
45
28
38
7
114
196
182
192
179
193
173
179
179
177
175
174
173
173
169
167
164
164
163
161
159
156
153
150
146
143
141
140
138
134
134
134
133
131
131
131
128
126
124
123
122
122
120
120
119
119
118
118
118
118
118
117
117
116
116
116
118
118
117
117
116
116
115
115
115
114
114
113
113
113
113
113
114
114
115
115
117
117
118
119
119
120
121
122
122
123
124
124
125
126
127
127
128
129
129
131
131
131
133
134
135
135
137
139
141
141
143
144
146
149
149
152
152
153
154
157
158
158
160
160
161
162
163
164
164
164
164
165
166
167
168
168
113
114
115
117
118
117
117
114
115
117
120
120
120
119
119
119
120
122
122
123
123
124
124
126
127
127
128
128
127
127
128
128
129
129
129
131
131
133
133
134
135
135
137
137
137
137
137
137
137
138
138
138
138
138
138
138
140
140
140
140
140
140
140
140
139
138
137
137
136
136
135
135
135
135
135
135
136
136
137
138
140
141
142
145
145
145
146
146
146
147
145
145
145
146
146
147
147
147
147
146
145
143
142
141
140
140
140
140
140
140
140
140
141
143
146
149
153
154
158
156
158
160
161
164
167
169
182
237
255
219
228
150
100
82
11
71
163
151
213
141
190
252
255
207
136
207
158
165
192
150
150
142
170
168
150
150
180
202
204
178
153
182
59
42
24
30
7
74
192
179
177
183
169
182
179
179
177
176
175
174
173
169
167
164
164
163
161
159
157
153
150
147
144
141
140
138
134
134
134
133
131
131
131
129
126
124
123
122
122
120
120
119
119
119
118
118
118
118
117
117
117
116
116
118
118
117
117
116
116
115
115
115
114
114
114
113
113
113
114
114
114
115
115
117
117
118
119
120
120
121
122
122
123
124
124
125
126
127
127
128
129
129
131
131
131
133
135
135
135
138
139
141
141
143
144
146
149
149
152
152
153
154
157
158
158
160
160
161
162
163
164
164
164
164
165
166
167
168
168
112
113
114
117
117
116
116
113
114
115
119
121
122
122
120
120
121
122
123
124
124
125
126
127
127
128
128
128
128
128
129
129
129
130
130
131
131
133
133
134
135
135
136
136
136
136
136
136
136
137
137
137
137
137
137
137
138
138
138
138
138
138
138
138
138
137
137
136
136
136
135
135
135
135
135
135
136
136
137
138
140
141
142
144
144
145
145
145
146
146
145
145
145
146
146
147
147
147
147
146
145
143
142
141
141
141
141
141
141
141
141
142
143
145
148
151
155
156
157
160
162
161
160
169
173
166
226
255
247
217
230
209
245
255
202
213
93
141
85
185
238
255
252
107
18
135
180
149
190
148
155
121
156
166
152
151
175
193
201
193
166
174
138
37
29
20
25
0
163
180
195
176
203
177
182
181
179
178
177
176
175
172
170
166
165
164
162
160
158
154
151
148
145
143
141
140
136
136
135
134
132
132
132
129
127
125
123
123
123
121
120
120
120
119
119
119
119
118
118
118
117
117
117
118
118
117
117
116
116
116
116
115
115
115
114
114
114
114
114
115
115
115
116
118
118
119
119
120
121
122
122
122
123
124
124
125
126
127
127
128
129
129
131
131
132
133
135
136
136
138
140
141
141
143
144
146
149
149
152
152
153
154
157
158
158
160
160
161
162
163
164
164
164
164
165
166
167
168
168
111
112
114
116
116
116
115
115
115
115
118
120
122
123
120
121
121
123
124
124
125
127
127
128
128
128
128
128
129
129
129
130
130
130
131
131
131
133
133
134
135
135
135
135
135
135
135
135
135
136
136
136
136
136
136
136
137
137
137
137
137
137
137
137
137
136
136
136
136
136
135
135
135
135
135
135
136
136
137
138
140
141
142
143
144
144
144
145
145
145
145
145
145
146
146
147
147
147
147
146
145
143
142
141
142
142
142
142
142
142
142
144
146
148
150
153
157
158
159
162
164
161
164
170
166
192
245
247
230
226
244
251
224
228
142
82
104
161
229
253
255
245
152
100
69
128
185
171
168
145
143
107
138
163
148
143
176
186
192
199
174
161
176
14
34
22
40
16
32
191
180
183
176
188
184
183
181
180
179
178
178
174
172
168
167
165
162
160
159
156
153
150
146
144
143
141
137
137
137
136
134
134
133
130
127
125
124
124
124
121
121
121
120
120
120
120
119
119
119
118
118
118
118
118
118
117
117
116
116
117
116
116
116
115
115
115
115
115
115
115
116
116
116
118
119
119
120
121
122
123
122
122
123
124
124
125
126
127
127
128
129
129
131
131
132
134
136
137
137
139
141
141
141
143
144
146
149
149
152
152
153
154
157
158
158
160
160
161
162
163
164
164
164
164
165
166
167
168
168
111
112
113
116
116
115
115
117
116
116
117
119
121
122
121
121
122
123
124
125
125
128
128
128
128
128
128
128
129
129
130
130
130
131
131
131
131
133
133
134
135
135
135
135
135
135
135
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
135
135
135
135
135
135
136
136
137
138
140
141
142
143
143
144
144
144
145
145
145
145
145
146
146
147
147
147
147
146
145
143
142
141
142
142
142
142
142
142
142
145
146
149
151
154
158
159
161
163
163
161
166
169
160
215
250
244
237
240
250
252
245
249
210
181
169
103
200
255
202
255
236
21
14
164
188
188
147
149
141
106
125
156
143
136
178
187
192
203
185
166
183
5
38
30
43
26
6
211
181
200
171
196
185
184
182
181
180
179
179
175
173
168
167
165
163
160
160
156
153
150
147
145
143
142
138
138
138
137
134
135
133
130
128
126
124
124
124
122
121
121
121
120
120
120
120
119
119
119
118
118
118
118
118
117
117
116
116
117
117
116
116
116
115
115
115
115
115
116
116
116
117
119
119
120
120
121
122
123
122
122
123
124
124
125
126
127
127
128
129
129
131
131
133
134
136
137
137
139
141
141
141
143
144
146
149
149
152
152
153
154
157
158
158
160
160
161
162
163
164
164
164
164
165
166
167
168
168
112
112
113
114
115
116
116
114
115
116
119
120
121
122
122
122
123
124
125
126
126
128
128
128
128
128
128
128
127
127
128
128
129
129
129
129
129
131
132
132
133
134
134
134
134
134
134
134
134
135
135
135
135
135
135
135
136
136
136
136
136
136
136
134
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
139
139
140
141
143
143
144
145
145
146
147
146
146
146
146
146
146
146
146
145
144
144
143
142
141
141
141
142
142
142
142
143
145
148
151
153
153
156
158
165
154
170
169
165
174
183
251
241
248
254
237
255
233
170
194
190
228
36
216
244
254
253
237
242
29
3
25
60
185
127
188
147
116
125
153
130
140
124
192
188
197
200
192
171
3
49
29
22
13
23
83
218
185
188
174
181
181
182
183
181
180
179
177
175
171
169
168
165
163
161
156
154
152
150
147
145
143
139
139
139
138
136
136
135
130
128
127
127
125
124
124
123
122
122
121
120
120
120
120
119
119
118
118
118
117
117
117
117
117
117
118
118
118
117
117
116
116
116
116
115
115
115
116
117
120
120
120
121
121
122
122
122
122
122
123
123
124
124
126
126
127
128
128
130
130
133
133
135
136
138
141
141
142
142
144
145
147
150
150
152
152
153
154
155
156
156
158
158
159
160
161
162
162
164
164
164
165
166
166
166
112
112
113
114
115
116
116
115
116
116
119
120
120
121
122
122
123
124
125
126
126
128
128
128
128
128
128
128
127
127
128
128
129
129
129
129
129
130
131
132
132
132
134
134
134
134
134
134
134
135
135
135
135
135
135
135
136
136
136
136
136
136
136
134
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
139
139
140
141
142
143
143
144
145
146
146
146
146
146
146
146
145
145
144
144
143
143
142
141
140
141
141
142
142
143
143
144
148
151
153
155
155
157
159
161
173
170
153
166
178
233
251
220
88
0
60
3
87
88
17
15
165
221
133
130
239
207
202
197
97
104
116
137
184
169
200
170
137
132
136
101
44
18
30
48
174
218
195
199
44
22
26
23
24
20
4
99
219
169
191
181
181
182
183
181
180
179
178
175
171
170
168
165
163
162
156
154
153
151
147
145
144
140
140
139
138
136
136
134
129
127
127
126
124
123
124
124
123
122
121
121
120
120
120
120
119
119
119
118
118
118
118
118
118
118
118
118
118
118
117
117
117
117
116
115
115
115
117
118
120
120
120
121
121
122
122
122
123
123
123
124
124
124
126
127
127
128
129
130
131
133
133
135
136
138
141
141
142
142
144
145
147
150
150
152
152
153
154
155
156
156
158
158
159
160
161
162
162
164
164
164
165
166
166
166
112
112
113
114
115
116
116
116
116
117
118
119
120
120
122
122
123
124
125
126
126
127
127
128
128
128
129
129
127
127
128
128
129
129
129
129
129
130
130
131
131
132
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
135
135
135
135
135
135
134
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
139
139
140
141
142
142
143
144
145
145
146
146
146
146
145
145
145
144
143
143
142
142
141
141
140
141
141
142
142
143
144
145
149
152
155
156
155
157
159
162
154
163
160
177
163
116
118
26
10
24
58
24
31
48
39
102
129
19
202
247
255
238
242
184
45
50
38
46
119
170
160
193
150
98
110
132
95
7
9
35
149
188
197
213
98
12
43
26
17
38
24
19
193
183
181
182
182
182
183
181
180
179
178
176
171
170
168
166
164
162
157
155
153
151
148
145
144
140
140
140
139
137
137
134
129
127
126
126
124
123
125
124
123
122
122
121
121
121
120
120
120
119
119
119
119
119
119
119
119
119
119
119
118
118
118
117
117
117
116
116
115
116
117
118
120
120
120
121
121
122
122
123
123
123
124
124
124
125
127
127
128
128
129
131
131
133
133
135
136
138
141
141
142
142
144
145
147
150
150
152
152
153
154
155
156
156
158
158
159
160
161
162
162
164
164
164
165
166
166
166
112
112
113
114
115
116
116
117
117
117
118
119
119
119
122
122
123
124
125
126
126
126
126
128
128
129
130
130
127
127
128
128
129
129
129
129
129
129
129
130
130
130
134
134
134
134
134
134
134
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
139
139
140
141
141
142
142
143
144
145
145
146
146
145
145
144
143
143
140
140
140
140
140
140
140
141
141
142
143
144
145
146
150
153
156
157
155
157
158
164
159
158
169
189
73
70
50
25
66
81
54
20
23
29
3
159
251
157
21
7
3
93
139
56
71
101
64
58
59
160
190
161
117
97
72
46
9
4
9
13
41
75
206
197
195
54
12
40
33
40
22
15
24
222
190
184
184
184
183
181
179
179
179
177
172
171
169
167
164
163
157
155
154
152
149
146
145
141
141
140
139
137
137
136
131
128
128
127
126
124
125
125
124
123
122
122
121
121
121
121
120
120
120
120
120
120
120
120
120
120
120
119
119
119
118
118
118
118
117
117
116
117
118
119
120
120
120
121
121
122
122
124
124
124
124
125
125
126
127
128
128
129
130
131
132
133
133
135
136
138
141
141
142
142
144
145
147
150
150
152
152
153
154
155
156
156
158
158
159
160
161
162
162
164
164
164
165
166
166
166
112
112
113
114
115
116
116
117
117
118
118
118
119
119
122
122
123
124
125
126
126
126
126
127
129
129
130
130
127
127
128
128
129
129
129
129
129
129
129
129
129
129
134
134
134
134
134
134
134
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
139
139
140
141
141
141
142
143
143
144
145
146
146
145
144
143
143
141
139
139
139
139
139
139
139
141
141
142
143
145
146
148
150
153
155
156
155
156
157
161
151
176
174
126
25
29
62
69
28
12
22
31
56
4
81
255
177
81
91
58
39
67
74
53
64
64
41
52
39
10
160
186
100
94
67
96
58
19
28
18
14
53
13
136
202
151
17
32
28
41
18
25
12
31
200
187
187
185
183
181
179
178
179
177
173
171
170
167
165
163
158
156
154
152
149
147
145
141
141
141
140
138
138
137
132
130
129
129
127
126
126
125
124
124
123
122
122
122
122
121
121
120
120
120
121
121
121
121
121
121
120
120
120
119
119
118
118
118
118
117
117
117
118
119
120
120
120
121
121
122
122
124
124
124
125
125
126
126
128
128
129
130
130
132
132
133
133
135
136
138
141
141
142
142
144
145
147
150
150
152
152
153
154
155
156
156
158
158
159
160
161
162
162
164
164
164
165
166
166
166
110
110
111
112
113
114
114
118
118
118
119
120
120
120
120
121
122
125
125
124
124
126
126
128
128
129
130
130
128
128
128
128
128
128
128
129
129
129
129
129
129
129
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
134
133
133
132
132
132
133
134
135
135
136
137
137
136
136
136
136
136
136
138
138
138
139
139
140
140
142
142
143
144
145
145
146
146
145
144
143
141
140
139
138
138
138
139
139
139
140
139
140
141
142
142
144
149
150
157
155
152
158
160
160
166
158
165
165
79
20
35
116
75
42
38
32
33
11
95
221
227
156
67
46
15
102
93
34
40
44
54
48
49
44
35
140
185
131
71
53
86
54
32
21
3
26
17
5
75
182
160
52
6
34
19
10
23
18
13
169
203
181
185
178
192
167
189
177
176
173
171
169
168
167
162
156
154
154
153
152
150
146
144
143
141
139
138
139
136
131
129
128
128
126
125
126
125
124
124
123
122
122
123
123
122
122
121
121
121
120
120
121
121
122
122
122
122
121
120
120
119
118
119
119
119
119
119
119
119
121
121
121
122
122
123
123
124
124
125
125
125
125
126
128
128
129
130
130
132
132
134
134
135
136
138
140
140
143
143
144
145
147
149
149
151
151
152
153
156
157
157
158
158
159
160
161
162
162
165
165
165
165
165
165
165
109
110
110
112
113
113
114
118
118
118
119
119
119
120
119
120
122
124
124
124
124
126
126
128
128
129
130
130
128
128
128
128
128
128
128
129
129
129
129
129
129
129
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
132
132
132
132
133
133
134
135
136
136
137
136
136
136
136
136
136
138
138
138
138
139
139
139
141
142
142
143
144
144
145
144
144
143
142
141
140
138
136
136
137
137
137
138
138
139
140
141
141
142
143
149
152
153
155
157
155
153
159
159
170
131
85
61
23
55
25
63
31
24
17
36
227
247
235
214
107
47
47
106
20
72
51
78
30
33
48
85
62
57
61
147
108
108
45
39
30
20
26
23
14
13
29
61
72
94
60
33
16
24
13
28
30
9
28
88
187
194
183
187
166
174
177
176
173
171
169
168
167
163
156
154
153
153
151
150
146
144
143
141
139
138
139
137
132
130
129
128
127
125
126
126
125
124
123
123
122
123
123
122
122
121
121
121
121
121
121
122
122
122
123
122
122
121
120
119
119
119
119
119
119
119
119
119
121
121
121
122
122
123
123
124
124
124
125
125
126
126
128
128
129
130
130
132
132
134
134
135
136
138
140
140
142
143
144
145
146
148
149
150
151
152
153
155
156
157
158
158
159
160
161
162
162
165
165
165
165
165
165
165
109
109
110
111
112
113
113
117
117
117
118
118
119
119
119
120
121
123
123
123
123
126
126
128
128
129
130
130
128
128
128
128
128
128
128
129
129
129
129
129
129
129
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
132
132
132
131
131
131
132
133
133
134
135
136
136
136
136
136
136
136
136
137
137
137
138
138
138
139
141
141
141
141
142
142
142
141
141
141
140
139
139
138
135
135
135
136
136
137
137
138
139
140
141
141
142
148
155
149
153
157
155
161
156
124
99
32
87
72
23
27
54
19
51
18
0
237
247
249
238
107
31
43
15
27
57
71
54
6
46
49
34
54
97
43
75
170
147
91
42
40
28
31
25
21
34
50
28
12
45
4
19
44
30
26
22
23
17
34
28
18
6
201
184
184
190
164
177
176
173
171
169
168
167
164
157
154
153
152
150
149
146
144
143
141
139
138
139
138
132
130
130
129
128
126
127
126
126
125
124
123
123
123
123
122
122
121
121
121
121
122
122
122
123
123
123
123
122
122
121
120
119
119
119
119
119
119
119
119
121
121
121
122
122
123
123
123
123
124
125
125
126
127
128
128
129
130
130
132
132
134
134
135
136
138
140
140
142
142
143
144
145
147
148
150
150
151
152
155
155
156
158
158
159
160
161
162
162
165
165
165
165
165
165
165
108
109
109
111
112
112
113
116
117
117
118
118
118
118
118
119
121
123
123
123
122
126
126
128
128
129
130
130
128
128
128
128
128
128
128
129
129
129
129
129
129
129
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
132
131
131
131
130
132
132
133
134
135
135
136
136
136
136
136
136
136
136
137
137
137
138
138
138
141
141
141
141
141
141
141
140
140
140
139
139
138
138
135
135
135
136
136
137
137
137
139
140
140
140
142
148
154
149
154
157
155
154
128
48
34
45
51
25
32
28
20
8
26
9
141
249
246
225
163
52
40
22
52
21
33
32
57
17
19
47
24
28
40
65
21
119
139
123
45
30
15
52
45
25
25
19
23
37
36
27
21
28
17
31
20
14
19
33
22
25
14
213
189
177
184
169
177
176
173
171
169
168
167
164
157
155
153
152
150
148
146
144
143
141
139
138
139
138
133
131
130
129
128
126
127
127
126
125
124
124
123
123
123
122
122
121
121
121
122
122
122
123
123
123
124
123
123
122
121
120
120
119
119
119
119
119
119
119
121
121
121
122
122
123
123
122
123
123
124
126
127
128
128
128
129
130
130
132
132
134
134
135
136
138
140
140
141
142
143
144
145
147
148
149
150
151
152
154
155
156
158
158
159
160
161
162
162
165
165
165
165
165
165
165
108
108
109
110
111
112
112
116
116
116
117
118
118
118
118
119
120
123
123
122
122
126
126
128
128
129
130
130
128
128
128
128
128
128
128
129
129
129
129
129
129
129
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
131
132
133
133
134
135
135
136
136
136
136
136
136
136
136
136
137
137
138
138
140
140
140
140
140
140
140
139
138
138
138
138
138
137
136
136
136
137
137
137
138
137
138
139
140
140
142
147
150
151
158
157
154
120
53
43
13
11
60
51
20
30
0
35
205
249
236
210
220
243
153
13
21
61
17
56
35
36
36
34
53
41
38
23
57
24
32
47
102
157
119
54
32
14
16
32
20
19
24
26
25
4
15
26
28
6
27
34
17
7
38
26
52
0
63
178
175
181
177
176
173
171
169
168
167
165
158
155
153
151
149
147
146
144
143
141
139
138
139
138
133
131
131
130
128
127
128
127
126
126
125
124
124
123
123
122
122
121
121
121
122
122
123
123
124
124
124
124
123
122
122
121
120
119
119
119
119
119
119
119
121
121
121
122
122
123
123
121
122
123
124
126
127
129
128
128
129
130
130
132
132
134
134
135
136
138
140
140
141
141
142
143
145
147
147
149
149
150
151
154
155
155
158
158
159
160
161
162
162
165
165
165
165
165
165
165
107
107
108
109
110
111
111
113
114
115
117
118
117
117
118
118
119
122
123
124
124
126
126
128
128
129
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
130
131
131
132
133
134
134
135
135
136
136
136
137
137
137
137
138
138
138
139
140
140
139
139
139
138
138
137
137
137
137
137
137
137
135
135
136
137
138
140
142
143
144
145
146
146
147
149
155
137
158
160
167
68
20
6
57
82
15
36
14
37
251
250
251
236
237
209
251
120
95
42
36
40
30
38
36
26
43
27
23
33
13
38
49
26
42
21
59
55
46
81
44
7
43
32
10
24
35
45
45
33
26
31
27
25
20
18
20
27
34
19
13
43
16
42
157
202
173
173
169
176
166
160
173
161
158
154
151
149
148
148
145
143
142
140
138
136
138
137
134
132
130
129
129
129
127
126
126
125
124
123
123
120
120
120
120
120
120
120
122
122
123
123
124
124
123
123
122
122
121
120
119
120
120
120
119
119
118
118
119
120
120
121
122
123
124
124
124
125
126
128
129
130
129
129
130
130
130
131
131
133
133
134
135
137
139
139
139
139
140
141
143
145
145
149
149
150
151
154
154
155
156
157
159
159
159
160
162
161
162
163
164
163
162
161
106
107
107
109
110
110
111
113
114
115
118
118
117
117
118
119
120
122
123
124
125
126
126
128
128
129
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
130
130
131
132
133
133
134
135
135
135
136
136
136
137
137
137
137
138
138
138
139
139
139
138
138
138
137
136
136
136
137
137
137
137
135
135
136
137
138
141
142
144
145
145
145
147
149
150
147
166
150
138
100
180
70
0
2
55
20
50
17
237
249
240
251
240
233
207
216
190
150
94
80
34
25
54
46
24
44
50
41
47
26
63
51
84
6
58
47
13
58
97
40
28
16
22
28
33
23
14
43
48
41
37
34
39
37
28
20
19
19
25
11
5
23
11
20
188
189
166
174
171
169
171
165
162
157
154
151
149
148
147
145
143
142
140
138
136
137
136
134
132
130
129
129
129
127
127
126
125
124
124
123
121
121
121
121
121
121
121
122
122
123
123
124
124
123
123
122
122
121
120
120
120
120
120
119
119
119
119
121
121
121
122
123
124
125
125
126
127
128
129
130
131
129
130
130
130
131
131
131
133
133
134
135
136
138
138
138
139
140
141
142
144
145
148
149
149
151
153
154
154
155
157
158
158
158
160
161
161
162
163
164
163
162
161
106
106
107
108
109
110
110
111
113
115
118
118
118
118
119
120
120
123
124
125
125
126
126
128
128
129
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
129
130
130
131
132
133
133
134
134
135
135
135
136
136
136
136
137
137
137
138
138
137
137
137
136
136
136
134
135
135
136
136
137
137
135
136
137
138
140
141
144
146
145
145
146
147
148
148
136
81
60
7
66
0
0
89
28
37
23
3
238
240
236
251
227
249
243
180
183
36
63
65
39
54
57
54
56
28
27
41
17
25
25
18
27
40
43
19
45
60
59
163
176
24
58
30
27
26
36
39
29
17
15
24
41
45
28
14
12
16
19
9
20
30
19
21
26
14
82
189
153
179
176
148
170
161
156
153
150
148
147
147
144
142
141
139
137
135
137
134
134
133
132
131
129
129
128
127
127
126
125
124
124
124
123
123
122
122
121
121
122
122
123
123
124
124
123
123
123
122
122
122
122
122
122
122
122
122
122
122
124
124
125
125
126
127
128
128
129
129
130
131
131
132
130
130
131
131
131
132
132
133
133
134
134
135
136
137
138
138
139
140
141
143
144
146
147
148
149
151
152
153
153
155
157
157
157
158
160
160
161
162
163
162
161
160
105
105
106
108
108
109
109
111
112
114
118
119
119
119
120
120
121
124
125
126
126
126
126
128
128
129
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
128
129
130
131
131
132
132
133
134
134
134
135
135
135
135
136
136
136
137
137
136
136
136
135
135
135
134
133
133
134
135
136
136
137
138
138
140
141
143
145
145
147
146
145
143
143
143
142
193
80
52
25
18
29
12
0
47
12
167
252
238
233
251
218
214
225
205
148
183
88
64
36
3
21
53
83
31
32
12
39
50
20
26
25
36
15
49
10
45
63
53
31
74
21
31
7
33
32
40
42
19
8
13
30
40
50
49
41
37
29
20
40
6
34
11
5
45
15
14
24
175
158
165
185
155
161
156
152
150
148
146
146
143
141
140
138
136
135
136
132
134
134
133
131
130
129
129
128
127
126
126
125
125
126
125
124
123
122
122
122
122
122
123
123
124
124
123
123
123
123
123
123
123
125
125
125
126
126
127
127
126
127
127
128
129
130
131
130
130
130
130
131
131
131
131
131
131
132
132
133
133
133
133
134
134
134
135
135
137
137
138
139
141
143
143
145
146
146
148
150
151
151
152
154
155
156
155
157
158
158
158
159
160
159
158
158
105
105
106
107
108
109
109
110
112
114
118
119
119
119
120
120
121
124
125
126
126
126
126
128
128
129
130
130
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
131
131
130
130
130
128
129
130
130
131
132
132
133
133
134
134
135
135
135
135
135
136
136
137
137
136
136
136
135
135
134
134
132
133
134
134
135
136
137
138
139
141
142
144
145
146
147
145
143
142
139
139
137
68
120
105
102
23
69
44
32
3
155
255
231
209
229
220
250
233
225
160
130
86
71
48
35
13
30
31
37
19
42
22
44
53
26
48
50
21
31
33
31
32
62
48
80
139
29
44
37
16
20
38
54
38
18
16
28
45
49
30
23
25
24
19
10
22
4
10
34
14
29
21
7
117
196
177
148
172
162
156
152
149
147
145
145
143
141
140
138
136
135
136
131
134
134
133
132
130
129
129
128
127
127
126
125
125
126
125
125
124
123
122
122
122
122
123
123
124
124
123
123
123
123
123
123
123
126
126
126
127
127
128
128
127
127
128
129
130
130
131
130
130
130
130
130
131
131
131
131
131
132
132
133
133
133
133
134
134
134
134
135
137
137
138
139
141
143
143
145
145
146
147
150
151
151
152
153
155
155
155
156
158
157
158
159
159
159
158
157
105
105
106
107
108
109
109
112
112
114
117
118
119
120
119
119
120
123
124
125
125
126
126
128
128
129
130
130
132
132
131
131
130
130
130
131
131
131
131
131
131
131
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
130
131
131
131
132
132
132
134
134
135
135
136
136
136
136
135
135
135
134
134
133
133
133
133
133
133
133
134
135
136
137
136
136
139
141
143
144
144
144
144
148
132
168
140
135
127
119
39
0
37
82
0
10
8
11
94
224
255
238
254
206
221
243
225
207
203
162
40
26
20
36
35
19
30
37
38
31
10
5
23
11
27
36
31
20
56
82
57
0
38
83
31
20
173
86
25
19
19
17
21
26
12
22
33
34
51
48
29
20
22
22
38
26
22
1
3
4
3
21
28
59
133
171
167
169
166
155
147
147
146
143
145
143
140
139
137
134
133
134
131
132
131
131
130
130
130
131
130
129
127
126
125
125
125
125
124
124
123
123
123
123
123
122
122
123
123
124
124
125
125
126
127
128
129
129
128
128
128
127
127
126
127
127
128
129
130
131
131
131
131
131
131
131
131
132
132
132
133
133
134
134
133
133
133
134
134
135
135
136
136
137
137
138
140
140
141
143
145
146
147
150
151
151
151
152
153
154
155
155
157
157
156
156
155
155
155
105
105
106
107
108
109
109
111
112
113
116
118
119
119
119
119
120
123
124
125
125
126
126
128
128
129
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
132
133
133
134
134
135
135
136
136
135
135
135
134
134
134
133
132
132
132
132
132
132
132
133
135
137
138
138
138
142
145
147
148
149
148
149
147
148
125
138
148
102
23
125
80
33
19
119
33
46
194
254
241
249
253
236
237
214
183
199
249
206
104
66
13
22
19
27
34
17
14
16
29
65
33
23
22
47
47
9
40
52
20
23
68
44
56
79
35
55
88
109
24
22
19
20
30
7
25
29
75
41
24
35
31
31
39
19
30
20
37
23
6
19
13
5
26
42
72
111
131
161
152
154
154
146
141
148
142
140
138
136
134
132
133
131
132
131
131
130
130
130
130
129
128
128
127
126
126
125
125
125
125
125
125
125
123
122
122
122
122
123
127
127
128
128
129
129
130
128
128
128
127
127
127
126
125
126
126
126
127
127
128
129
129
129
129
130
130
130
130
131
131
131
132
132
132
132
132
133
133
133
134
134
135
135
136
137
138
139
139
139
141
143
144
144
146
148
148
148
149
149
151
152
152
155
154
154
154
153
153
153
105
105
106
107
108
109
109
111
111
112
116
117
118
119
119
119
120
123
124
125
125
126
126
128
128
129
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
130
130
130
130
130
130
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
132
133
133
133
134
134
135
135
136
136
135
135
134
134
134
133
133
132
132
132
132
132
132
132
133
135
137
138
139
140
144
141
145
149
151
151
148
144
142
153
144
126
64
0
157
134
38
26
14
13
160
249
250
253
232
224
237
225
254
215
180
183
218
78
20
26
30
17
17
21
10
15
18
17
56
42
48
41
32
28
18
59
77
46
31
18
87
81
0
26
32
58
64
139
35
15
33
8
2
38
112
93
49
22
36
34
26
24
9
33
45
82
76
30
4
17
12
31
30
68
137
185
165
151
150
153
148
142
144
142
139
138
136
133
132
133
131
132
131
131
130
130
130
130
129
128
128
127
126
126
125
125
125
125
125
125
125
124
124
123
123
124
124
128
129
129
129
129
130
130
128
128
127
127
127
126
126
125
125
125
125
126
126
126
127
127
128
128
129
129
130
130
130
130
130
131
131
132
132
132
132
133
133
134
134
135
135
136
136
137
139
139
139
141
142
143
143
145
147
146
147
147
148
150
150
151
153
153
153
153
152
152
151
105
105
106
107
108
109
109
110
111
112
115
116
118
118
119
119
120
123
124
125
125
126
126
128
128
129
130
130
130
130
131
131
132
132
132
131
131
131
131
131
131
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
134
134
134
134
135
135
136
136
134
134
134
133
133
133
132
131
131
131
131
131
131
131
132
134
137
139
140
142
147
146
148
149
149
149
148
147
113
35
102
30
29
11
0
6
132
111
6
111
234
233
225
222
242
255
244
222
197
207
198
202
68
11
22
24
18
19
28
24
31
34
10
14
19
23
9
80
42
54
8
28
89
18
47
8
21
55
80
38
15
37
162
125
141
96
27
43
30
0
8
15
23
22
23
31
34
32
55
38
11
8
25
34
17
32
21
17
16
19
46
79
143
158
145
140
144
142
142
141
139
137
135
133
131
132
131
132
131
131
130
130
130
129
128
128
128
128
127
127
125
125
126
126
127
127
127
129
128
127
127
128
129
130
130
130
129
129
129
129
127
127
127
126
126
126
125
124
124
123
123
123
123
123
125
125
126
127
128
129
129
128
128
129
129
129
130
130
131
131
132
132
132
133
133
134
134
135
136
137
138
138
140
141
143
143
142
144
146
146
146
147
147
149
149
150
151
151
151
151
150
149
149
106
106
107
108
109
110
110
113
113
113
115
116
118
119
121
122
123
125
126
126
127
126
126
128
128
129
130
130
128
128
129
129
130
130
130
131
131
131
131
131
130
130
130
131
132
132
133
133
133
131
131
130
130
129
129
129
132
132
131
131
130
130
130
131
131
132
132
133
133
133
133
133
133
133
133
133
132
132
132
132
132
132
132
130
130
132
132
132
131
130
132
134
137
140
144
146
148
148
160
165
151
143
152
81
53
13
14
126
86
46
43
29
0
103
242
245
251
232
234
227
223
236
200
227
234
210
129
60
36
6
114
3
30
26
1
16
12
3
10
65
62
47
0
44
13
83
41
0
33
4
67
90
13
8
41
60
34
40
23
21
71
142
183
6
25
3
23
37
14
60
26
49
33
56
32
10
28
32
18
26
50
40
29
10
9
14
23
32
101
151
166
146
136
144
150
145
141
138
136
134
134
134
132
131
130
130
129
128
128
128
128
127
127
126
126
126
126
127
127
127
127
127
128
129
130
130
130
131
131
133
132
132
131
130
129
128
129
129
128
127
127
126
125
125
125
124
123
123
122
121
123
123
124
125
127
128
130
130
130
129
129
129
129
129
132
132
132
132
132
132
132
131
132
133
134
136
138
138
139
140
141
142
145
146
147
144
144
145
146
148
148
149
149
149
149
148
147
147
147
106
106
107
108
109
110
110
113
113
113
114
116
118
119
121
121
122
124
126
126
127
126
126
128
128
129
130
130
128
128
129
129
130
130
130
131
131
131
131
130
130
130
131
132
132
132
133
133
133
131
131
130
130
130
129
129
132
132
131
131
131
130
130
131
131
132
132
133
133
133
133
133
133
133
133
133
132
132
132
132
132
132
132
129
130
131
132
132
131
130
132
134
137
141
144
146
148
162
156
146
148
159
155
105
81
0
0
0
84
87
51
0
117
224
250
243
245
251
223
231
217
223
199
184
189
217
137
112
41
20
22
21
3
21
26
48
20
10
18
19
0
36
38
23
8
0
0
68
88
32
65
49
33
26
33
47
38
51
36
28
114
83
107
132
3
21
9
21
24
53
20
61
60
73
27
18
9
15
17
15
11
18
23
24
11
8
20
36
17
106
126
134
152
150
124
144
140
138
136
134
134
134
132
131
130
130
129
128
128
128
128
127
127
126
126
126
127
127
127
127
128
128
128
130
130
131
131
131
132
133
133
132
131
130
129
129
129
129
128
128
127
126
125
125
125
124
123
123
122
121
122
123
124
125
126
128
129
130
130
130
130
130
129
129
131
131
131
131
131
131
131
131
131
132
133
135
137
137
139
139
140
141
144
145
145
143
144
144
145
147
147
148
148
148
147
147
146
146
146
106
106
107
108
109
110
110
112
112
112
114
115
117
118
119
120
121
124
125
126
127
126
126
128
128
129
130
130
129
129
130
130
130
131
131
130
130
131
131
131
131
132
133
133
134
134
134
134
134
132
131
131
131
130
130
130
133
132
132
132
131
131
131
131
131
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
130
130
130
131
131
131
131
136
137
140
143
145
146
147
151
154
158
156
148
143
42
0
135
143
2
14
0
14
219
251
251
239
240
217
214
202
241
247
244
223
141
110
176
50
1
8
19
43
21
25
28
10
14
15
24
26
14
51
7
12
18
0
30
35
0
14
2
22
40
28
17
65
82
26
23
28
71
111
139
227
126
195
34
29
25
5
47
40
47
16
0
13
12
35
32
16
14
25
17
19
35
36
32
28
28
5
77
121
137
144
145
137
143
139
137
135
134
134
134
132
131
130
130
129
128
128
128
128
127
127
126
126
126
127
128
128
129
130
130
130
132
132
132
133
133
133
134
134
133
133
132
132
131
130
130
129
128
127
127
126
125
125
124
123
123
122
121
122
122
123
124
125
126
127
129
129
130
130
130
131
131
130
130
130
130
130
130
130
129
130
130
131
132
134
134
136
136
137
138
139
140
140
141
141
141
142
143
143
143
142
142
142
142
141
141
140
106
106
107
108
109
110
110
111
111
111
113
115
117
118
117
118
120
123
125
127
127
126
126
128
128
129
130
130
130
130
130
131
131
131
132
131
131
132
133
134
134
135
136
136
135
135
135
134
134
133
132
132
131
131
131
131
133
133
133
132
132
132
132
131
131
132
132
133
133
133
133
133
133
133
133
133
134
134
134
134
134
134
134
132
132
131
132
132
134
135
139
141
143
145
146
147
147
142
126
143
164
131
88
182
126
112
166
59
22
38
200
251
252
252
237
227
238
225
237
227
222
207
161
96
65
30
17
16
12
28
27
22
32
35
19
15
24
36
22
11
19
16
43
44
65
53
25
44
62
46
6
0
50
43
43
25
35
0
14
139
247
96
184
247
157
113
11
18
38
29
2
18
30
12
16
24
18
37
57
43
13
30
16
19
36
41
31
21
31
48
121
158
153
141
135
141
138
136
135
134
134
134
132
131
130
130
129
128
128
128
128
127
127
126
126
126
128
129
130
131
132
133
133
132
132
133
133
134
134
133
133
133
133
133
133
133
131
130
130
129
128
127
127
125
125
124
123
123
122
121
122
122
122
123
123
124
124
127
127
128
128
129
130
131
131
131
131
131
131
131
131
129
129
130
130
131
132
132
134
134
135
135
136
136
137
138
138
138
138
138
138
138
138
138
138
137
137
136
136
106
106
107
108
109
110
110
111
111
111
113
114
116
117
117
118
119
123
125
127
127
126
126
128
128
129
130
130
130
130
131
131
131
132
132
132
132
134
135
135
136
136
137
136
136
136
135
135
135
133
132
132
132
131
131
131
134
133
133
133
132
132
132
131
131
132
132
133
133
133
133
133
133
133
133
133
134
134
134
134
134
134
134
133
133
132
132
133
135
137
141
142
144
145
146
147
146
161
144
146
137
137
167
0
102
129
55
121
76
0
236
237
254
242
224
236
233
218
237
230
226
203
126
6
29
47
12
64
57
39
52
17
28
35
19
15
29
43
27
9
37
20
17
34
29
41
3
0
31
36
21
16
23
15
29
32
32
60
137
255
244
196
230
131
165
86
23
15
18
13
25
54
56
8
21
29
10
29
59
58
32
9
18
35
31
27
32
40
25
19
22
56
122
159
150
140
137
136
134
134
134
134
132
131
130
130
129
128
128
128
128
127
127
126
126
126
128
129
130
131
133
134
134
132
132
132
133
133
133
132
132
132
133
133
133
133
131
131
130
129
128
128
127
125
125
124
123
123
122
121
121
122
122
122
122
123
123
126
126
126
127
128
130
130
131
131
131
131
131
131
131
130
130
130
130
131
131
131
134
134
134
135
135
136
136
137
137
137
137
136
136
136
137
137
137
136
135
135
135
108
108
108
109
110
110
110
111
111
112
113
114
115
115
115
116
118
122
124
126
127
129
129
130
130
130
131
131
131
131
131
131
131
131
131
132
133
137
138
138
138
137
136
136
135
135
134
134
134
135
135
134
134
133
133
133
135
135
134
134
133
133
133
133
133
133
133
133
133
133
132
132
133
133
134
134
133
133
133
134
134
134
134
135
135
136
137
138
140
140
143
150
147
143
148
142
152
154
153
133
177
68
5
77
17
0
9
125
48
53
241
247
252
255
207
218
252
219
131
48
4
3
30
90
42
10
51
33
63
67
62
52
47
29
37
53
20
36
16
30
0
0
34
13
28
73
55
37
78
11
18
19
9
45
15
93
159
241
239
255
221
200
238
110
78
8
32
31
32
38
52
40
30
13
32
24
17
4
10
23
19
18
15
26
33
40
51
63
54
18
1
26
23
24
72
128
141
139
136
134
133
131
133
132
131
131
130
129
129
128
127
127
127
127
128
129
131
131
132
132
133
133
133
132
133
134
134
134
133
133
133
133
133
133
133
133
132
132
133
133
132
130
129
127
127
126
125
123
122
121
123
123
123
122
122
121
121
121
122
123
124
126
128
129
132
132
132
132
132
133
133
132
132
132
132
133
133
133
132
132
132
133
134
135
135
135
135
135
135
135
135
135
132
132
132
132
133
133
133
108
108
108
109
110
110
110
111
111
112
113
114
115
115
115
116
117
121
123
124
125
129
129
130
130
131
131
131
131
131
131
131
132
132
132
133
134
137
138
138
138
137
136
136
136
135
135
135
134
135
135
135
134
134
134
133
135
135
135
134
134
134
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
135
135
135
136
136
137
137
138
139
140
141
142
143
145
149
147
148
154
153
148
156
156
149
143
145
46
35
20
19
74
30
8
225
255
227
153
246
213
80
22
18
26
37
20
11
18
29
58
63
35
23
36
45
55
39
63
61
40
34
53
74
14
17
27
24
9
25
30
22
18
42
50
35
11
29
34
103
186
249
238
249
232
246
223
253
210
164
10
28
21
53
33
30
26
1
21
58
64
42
31
22
16
15
16
8
12
21
21
21
26
33
18
33
48
25
44
99
119
124
137
136
135
136
136
135
134
133
132
131
130
130
129
129
128
127
127
128
129
130
132
132
132
133
133
133
133
132
133
134
135
134
134
134
134
134
134
134
134
134
134
134
135
135
134
132
131
128
128
127
126
125
123
122
124
124
123
123
123
122
122
121
121
122
123
124
126
126
128
128
129
130
131
133
134
133
133
133
134
134
135
135
135
135
135
134
134
134
134
135
135
135
135
134
134
134
132
132
132
132
132
132
132
108
108
108
109
110
110
110
111
111
112
113
114
115
115
115
116
117
120
122
123
124
128
128
130
130
131
132
132
131
131
132
132
132
132
133
134
135
138
138
138
137
137
137
136
136
136
135
135
135
136
135
135
135
134
134
134
136
135
135
135
134
134
134
133
133
133
133
133
133
133
133
133
134
134
134
135
135
136
136
137
138
138
139
140
140
141
142
143
145
145
148
152
151
149
149
148
147
155
149
113
136
75
0
0
77
98
23
22
46
244
202
255
255
94
17
17
32
17
12
44
32
21
62
33
21
25
21
77
95
81
77
80
66
108
65
9
58
37
60
34
23
13
12
14
18
26
26
36
15
34
23
36
124
194
252
255
223
215
254
247
246
244
215
71
15
31
40
29
20
31
33
17
48
89
40
30
10
5
10
16
18
1
8
20
21
25
33
42
26
21
14
16
24
51
91
102
134
140
138
136
136
135
134
133
132
131
131
130
130
129
128
128
128
128
129
130
132
132
133
133
133
134
134
132
134
135
135
135
134
135
135
135
135
135
135
135
135
136
136
136
135
134
132
130
129
128
127
126
125
123
125
124
124
124
123
123
123
122
122
122
123
124
125
125
126
127
128
129
130
133
133
132
133
133
134
134
136
136
136
136
136
135
134
133
133
135
135
135
134
134
134
133
132
132
132
132
131
131
131
108
108
108
109
110
110
110
111
111
112
113
114
115
115
114
115
116
118
120
121
121
127
128
129
131
132
132
133
131
131
132
133
134
134
134
136
137
139
139
138
137
137
138
137
137
136
136
136
136
137
136
136
135
135
135
135
136
136
136
135
135
135
135
133
133
133
133
133
133
133
134
134
134
135
135
135
137
138
139
140
141
142
143
144
145
146
147
148
149
150
150
154
160
156
150
157
162
128
103
122
107
94
27
33
87
21
35
7
37
255
250
29
25
24
23
28
32
9
34
13
13
26
7
21
71
106
70
74
57
36
34
53
34
85
85
156
50
15
24
28
24
22
24
18
18
21
25
0
29
55
64
29
184
255
255
226
255
238
227
243
245
242
250
187
30
45
9
9
24
18
17
12
21
19
21
43
25
22
28
29
27
14
16
12
18
29
37
44
31
27
26
30
23
17
23
34
96
118
128
132
134
134
135
134
133
132
131
131
130
130
129
128
128
129
130
131
133
133
133
134
134
134
135
133
134
136
136
136
135
136
136
136
136
136
136
136
136
137
137
137
136
135
133
132
131
131
129
128
127
126
126
126
126
125
125
125
124
124
124
124
124
124
123
123
124
125
126
127
128
130
130
129
129
130
131
132
134
134
135
135
135
134
134
134
134
135
135
134
134
132
132
132
130
130
130
129
128
127
127
108
108
108
109
110
110
110
111
111
112
113
114
115
115
114
115
115
117
118
119
120
126
127
129
131
132
133
134
131
131
133
134
134
135
136
137
138
139
139
138
137
137
138
138
137
137
136
136
136
137
137
136
136
135
135
135
137
137
136
136
135
135
135
133
133
133
133
133
133
133
134
134
135
135
136
136
139
139
140
141
143
144
145
147
148
148
150
151
152
153
158
152
155
156
155
160
126
43
90
13
0
48
32
0
26
13
4
54
47
119
0
31
14
36
14
11
12
11
19
26
9
12
71
81
62
37
33
26
33
41
25
41
29
33
42
31
149
127
43
28
23
26
34
13
14
23
5
27
4
32
50
29
151
255
246
254
239
243
239
252
249
250
250
227
181
14
41
22
38
44
36
13
9
5
9
6
27
38
19
13
32
29
27
13
18
24
25
21
10
34
33
28
20
20
31
15
39
69
106
135
146
144
135
134
133
133
132
131
131
131
130
129
129
130
131
131
133
133
134
134
135
135
135
134
135
136
136
136
135
137
137
137
137
137
137
137
136
137
137
137
136
135
133
133
133
132
131
129
128
127
127
127
127
126
126
125
125
127
126
126
125
124
123
123
125
125
126
126
126
126
126
125
125
126
128
129
131
132
132
132
132
133
134
135
135
135
135
134
133
132
131
130
129
128
127
127
125
124
124
106
106
107
110
111
112
112
113
113
113
114
115
115
115
116
116
116
117
118
118
118
124
125
127
129
130
132
132
134
134
135
136
136
137
137
142
141
141
140
139
139
139
140
140
139
139
138
138
138
138
138
137
137
137
136
136
136
136
135
135
134
134
134
133
133
133
133
133
133
133
134
135
136
136
136
138
142
142
143
144
146
147
148
156
155
152
151
150
149
152
165
148
172
151
156
151
58
141
25
48
20
0
8
54
13
2
50
30
53
97
18
15
24
28
22
18
20
15
10
32
15
44
97
35
28
29
25
25
28
29
32
38
44
39
44
39
72
130
154
70
62
32
6
35
9
21
27
4
39
14
38
42
137
251
255
237
255
247
231
254
254
223
245
237
204
14
31
25
19
16
48
24
10
30
40
0
53
46
6
16
34
40
24
29
25
22
27
33
17
21
24
13
12
23
23
24
61
89
111
127
131
130
137
136
127
123
125
125
123
131
132
131
131
130
130
129
132
133
133
133
133
133
134
138
138
138
138
138
138
139
139
139
138
138
137
137
138
138
137
136
136
135
134
133
133
132
131
129
128
126
126
126
126
125
125
124
124
126
126
126
126
126
126
125
124
124
124
125
125
125
125
123
124
124
125
126
128
128
131
131
131
131
131
131
131
132
132
132
132
132
132
132
129
129
128
127
126
125
125
106
107
108
110
111
112
113
113
113
113
114
115
115
115
116
117
117
118
118
118
118
123
124
126
128
130
131
131
131
132
134
136
137
138
139
142
142
141
141
140
140
140
140
140
139
139
138
138
138
139
139
138
138
137
137
137
135
135
135
134
134
134
134
133
133
133
133
133
133
133
133
135
136
136
137
138
143
143
144
145
146
148
148
157
156
152
152
151
150
153
161
160
155
157
149
155
135
2
160
139
37
34
0
0
37
8
17
39
53
45
37
14
23
28
21
15
26
28
23
52
78
68
31
40
24
31
51
64
57
47
36
28
32
23
26
32
36
38
23
110
158
62
11
15
31
38
7
35
30
18
62
69
237
252
229
247
248
250
254
252
254
250
246
253
127
28
57
38
22
14
39
24
13
21
7
28
1
2
34
66
48
10
7
31
27
19
17
18
22
30
26
12
13
30
39
38
26
24
32
54
81
98
122
134
130
125
123
126
128
131
131
130
130
130
130
130
133
133
134
134
135
135
135
138
138
138
138
138
138
139
139
139
138
138
137
137
138
138
137
136
136
135
134
133
133
132
131
130
129
128
127
127
126
126
126
125
125
127
127
127
127
127
127
127
125
125
125
125
125
125
125
123
124
124
125
125
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
128
127
126
125
125
107
108
108
111
112
113
113
113
113
113
114
115
115
115
117
117
118
118
119
119
119
121
122
125
126
128
129
130
128
129
132
134
136
137
138
140
140
141
141
141
141
141
140
140
139
139
138
138
138
139
138
138
137
137
137
137
135
134
134
134
133
133
133
132
132
133
133
134
134
134
134
136
138
138
139
141
144
145
146
147
148
149
150
157
156
154
154
152
152
155
160
164
161
146
156
160
58
24
4
87
186
134
90
91
56
53
33
44
38
15
33
4
12
18
14
10
27
37
97
102
54
16
17
63
161
173
106
38
18
30
35
32
42
49
57
55
28
29
32
22
44
126
121
16
39
8
14
58
25
10
4
47
131
236
236
246
255
251
251
252
235
252
197
255
86
26
33
32
25
37
41
30
29
27
28
50
16
25
33
27
0
22
16
19
12
8
13
14
2
54
58
49
35
26
25
20
21
19
16
21
31
39
88
119
129
130
127
130
135
133
132
130
130
130
131
132
133
134
135
136
137
137
138
139
139
139
139
139
139
139
139
139
138
138
137
137
138
138
137
136
136
135
134
133
133
132
132
131
130
129
128
128
128
128
127
127
126
128
129
129
129
130
131
131
128
128
128
127
127
126
125
125
125
125
125
126
126
126
126
126
126
126
126
126
126
129
129
129
129
129
129
129
129
129
128
127
126
125
125
107
108
109
111
112
113
114
113
113
113
114
115
115
115
118
118
118
119
119
119
120
121
121
124
126
127
128
129
128
128
131
132
134
135
135
139
139
140
140
140
140
141
140
140
139
139
138
138
138
138
137
137
137
136
136
136
134
134
134
133
133
133
132
131
132
133
133
134
135
135
135
138
139
140
141
143
145
146
146
148
149
150
151
158
157
155
152
153
153
156
151
159
155
145
161
133
21
0
0
77
146
152
91
0
0
34
63
63
33
10
46
13
19
20
16
12
24
33
78
92
23
34
34
176
205
168
129
86
60
45
33
40
36
34
32
34
33
34
38
48
11
90
133
22
20
16
20
38
32
88
113
99
157
233
218
241
246
253
254
248
254
219
255
187
77
30
25
23
23
27
12
5
27
37
5
49
26
17
5
15
25
25
19
28
24
20
17
11
34
42
41
45
43
29
20
37
29
23
18
22
29
37
34
92
123
137
138
138
140
135
133
131
131
131
133
134
134
135
136
137
138
139
139
140
140
140
140
140
140
139
139
139
138
138
137
137
138
138
137
136
136
135
134
133
133
132
132
131
131
130
129
129
129
128
128
128
127
129
129
130
130
131
132
133
130
130
129
129
128
127
127
126
126
126
126
126
126
126
127
127
127
127
127
127
127
129
129
129
129
129
129
129
129
129
128
127
126
125
125
108
108
109
112
113
114
114
113
113
113
114
115
115
115
118
118
118
119
120
120
120
120
120
123
125
126
127
128
128
128
129
129
130
130
131
137
137
138
138
139
139
140
140
140
139
139
138
138
138
136
136
135
135
135
134
134
134
134
133
133
132
132
132
131
132
132
134
134
135
135
137
140
142
142
144
146
146
146
147
148
150
151
152
157
157
155
153
152
153
155
156
162
153
154
134
181
0
11
91
155
71
38
0
4
0
24
65
58
35
22
25
29
26
24
21
16
17
24
109
26
26
23
65
152
113
104
119
102
52
23
35
26
32
31
26
28
30
35
48
32
32
20
97
57
33
21
22
33
195
218
229
216
223
222
241
232
255
255
244
254
254
249
230
221
53
36
53
53
31
30
26
30
40
20
39
48
25
59
46
25
16
16
10
24
31
35
34
24
16
21
11
17
21
19
23
21
21
24
25
27
27
24
16
57
89
108
112
115
118
137
134
132
132
133
135
137
134
135
136
138
139
140
141
140
140
140
140
140
140
139
139
139
138
138
137
137
138
138
137
136
136
135
134
133
133
132
132
132
132
131
130
130
130
129
129
128
128
130
130
131
132
133
134
135
133
133
132
131
130
129
128
128
128
128
128
128
128
127
129
129
129
129
129
129
129
128
128
128
128
128
128
128
129
129
128
127
126
125
125
107
107
108
111
112
113
113
115
115
115
116
117
117
117
119
119
119
120
121
121
121
121
121
123
123
124
125
125
127
127
128
129
130
131
131
130
130
131
132
133
134
134
136
136
136
136
136
136
136
135
134
134
134
133
133
133
133
133
132
132
131
131
131
131
132
133
134
135
136
136
141
142
143
145
147
148
148
149
150
151
152
153
154
157
156
156
155
155
155
155
161
144
151
173
104
111
101
88
10
0
0
30
134
36
6
114
37
49
24
13
19
14
17
21
24
21
27
42
92
51
18
32
84
115
112
65
59
56
32
29
24
51
33
31
29
32
36
35
34
48
48
15
85
72
38
40
46
13
140
227
221
236
206
222
223
255
255
247
253
254
216
223
255
6
50
41
27
24
36
20
19
24
70
63
40
33
36
21
18
24
24
28
20
36
31
26
24
23
10
25
29
39
35
25
25
21
22
28
24
14
13
18
9
13
24
33
54
82
99
139
134
131
137
135
130
135
136
137
138
139
140
140
140
143
143
143
143
142
141
140
140
140
139
139
138
138
137
137
136
136
135
134
133
133
133
133
132
132
132
131
129
129
129
130
130
130
131
132
132
132
133
133
134
134
133
133
133
132
131
129
129
127
127
127
127
127
127
127
128
128
129
129
130
130
131
129
129
129
129
129
129
129
130
129
129
128
126
126
125
107
107
108
111
112
113
113
115
115
115
116
117
117
117
119
119
119
120
121
121
121
121
121
123
123
124
125
125
126
127
128
129
130
130
131
128
128
129
130
131
131
132
134
134
134
134
134
134
134
135
134
134
133
133
133
133
133
132
132
132
132
131
131
131
132
134
135
136
137
138
142
143
144
146
147
149
150
151
151
152
152
153
153
156
157
156
155
154
155
155
145
170
160
154
106
100
117
97
37
11
0
73
39
50
37
48
38
42
39
28
15
36
27
21
22
19
39
60
110
51
20
24
93
106
96
49
39
38
28
26
15
33
35
33
30
31
36
37
38
35
44
28
91
87
41
26
45
9
173
243
221
221
223
227
202
243
253
248
248
254
254
240
205
128
36
36
27
14
11
77
51
23
46
27
55
37
34
24
15
15
19
18
28
41
39
26
17
21
11
25
26
28
26
25
32
29
23
38
37
20
13
20
35
15
29
51
77
95
99
138
143
138
137
135
133
134
137
138
138
139
140
140
141
143
143
144
143
142
141
140
140
140
139
139
138
138
138
137
137
136
135
134
134
133
133
133
133
132
132
131
130
130
130
131
131
131
132
132
132
132
133
133
134
134
134
133
133
132
131
130
130
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
128
127
126
125
125
107
107
108
111
112
113
113
115
115
115
116
117
117
117
119
119
119
120
121
121
121
121
121
123
123
124
125
125
126
126
127
128
129
130
130
130
130
131
131
131
131
132
132
132
132
132
132
132
132
134
133
133
133
132
132
132
132
132
132
132
132
132
132
133
134
136
137
139
140
141
145
146
147
148
149
150
153
153
153
153
153
154
154
159
158
156
156
155
156
158
159
141
159
181
101
43
79
132
105
73
148
50
0
89
56
59
91
43
32
11
3
7
23
27
17
17
38
31
88
44
27
33
102
94
79
83
64
36
25
26
28
28
28
29
32
35
35
35
35
43
27
33
81
70
32
37
67
39
235
237
217
203
229
231
197
212
249
246
245
247
231
246
252
195
35
24
46
49
38
32
28
22
30
31
37
23
35
43
35
31
37
34
38
19
31
27
18
27
20
12
16
15
19
25
32
21
24
18
19
25
22
13
24
24
27
24
29
42
49
74
96
112
125
139
144
138
140
140
140
141
141
141
141
144
144
145
144
143
142
140
140
140
139
139
138
138
138
138
137
137
136
135
134
134
134
134
133
133
133
132
132
132
132
132
132
132
132
132
132
132
133
133
134
134
134
134
134
134
133
133
133
131
131
130
130
129
128
128
128
128
128
128
128
128
128
130
130
130
130
130
130
130
129
129
129
128
126
126
125
107
107
108
111
112
113
113
115
115
115
116
117
117
117
119
119
119
120
121
121
121
121
121
123
123
124
125
125
125
125
127
128
128
129
129
131
131
131
131
131
131
131
131
131
131
131
131
131
131
133
133
132
132
132
131
131
131
131
132
132
133
133
133
134
136
138
140
142
143
144
148
149
149
150
151
151
152
152
153
154
155
156
157
162
161
159
158
157
159
161
170
154
84
24
24
59
2
31
0
44
100
127
68
24
68
189
26
83
38
33
10
38
33
28
23
24
38
47
72
72
27
44
78
105
84
114
107
58
30
23
37
15
29
32
35
38
37
39
41
60
41
64
68
55
38
59
52
32
204
255
223
227
229
201
232
185
252
241
254
230
251
247
246
60
31
43
45
26
39
26
47
51
22
15
28
30
24
32
33
34
44
30
30
43
39
36
31
18
15
5
16
15
15
21
20
21
36
28
23
29
38
44
29
6
11
22
29
27
18
17
52
99
128
142
144
137
142
142
142
142
142
142
142
144
145
145
145
144
143
140
140
140
139
139
138
138
139
139
138
137
136
136
135
135
135
134
134
134
133
133
133
133
132
132
131
131
130
132
132
132
133
133
134
134
135
135
135
135
135
135
135
133
133
132
131
130
129
129
131
130
130
130
129
128
128
129
129
129
129
129
129
129
131
131
130
130
128
127
127
107
107
108
111
112
113
113
115
115
115
116
117
117
117
119
119
119
120
121
121
121
121
121
123
123
124
125
125
125
125
127
127
128
129
129
130
130
130
130
129
129
129
131
131
131
131
131
131
131
133
133
132
132
131
131
131
131
131
132
132
133
133
133
134
136
138
140
142
144
145
149
149
150
150
151
152
151
152
153
154
156
157
158
163
162
160
159
158
160
162
172
146
122
59
0
63
103
44
0
46
118
94
32
11
132
130
19
38
18
34
20
29
17
20
36
38
29
46
95
95
19
28
46
103
86
99
48
31
40
23
108
26
34
35
36
37
38
43
47
34
35
76
70
53
28
35
51
57
255
243
230
215
226
187
243
177
253
240
254
226
236
254
242
84
67
30
35
39
38
26
40
50
31
29
22
35
30
32
28
22
27
53
39
29
15
27
47
45
34
13
19
13
18
34
41
16
31
33
25
20
33
49
33
16
15
11
11
15
14
34
93
145
151
142
142
144
142
142
142
142
142
142
142
144
145
145
145
144
143
140
140
140
139
139
138
138
139
139
138
137
137
136
135
135
135
135
134
134
133
133
133
132
132
132
131
130
130
132
132
132
133
133
134
134
135
135
135
135
135
135
135
134
133
132
132
131
129
129
131
131
131
130
129
129
128
128
128
128
128
128
128
128
132
132
131
130
129
128
128
108
108
109
111
111
112
112
114
114
115
116
117
118
118
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
127
127
128
129
129
130
130
131
131
131
132
132
131
131
131
131
131
131
131
131
131
131
131
131
131
131
130
131
131
131
132
132
132
135
138
141
144
147
149
151
151
151
151
152
152
152
152
153
154
156
157
159
160
163
164
168
168
168
167
164
141
157
135
105
32
80
5
36
0
4
0
0
0
22
120
88
29
67
51
36
26
24
20
24
21
12
29
28
45
115
68
36
37
92
99
91
44
40
47
28
47
22
26
41
40
33
41
41
45
40
74
76
69
49
35
55
6
79
253
232
230
208
238
142
153
255
242
255
245
254
174
194
255
31
27
26
33
37
26
48
32
24
29
26
24
21
38
35
24
26
38
26
48
61
45
41
38
27
2
11
15
19
27
26
11
6
32
45
38
27
23
20
29
14
17
15
8
11
22
18
33
37
61
105
121
129
136
135
135
142
142
140
144
144
145
145
144
142
141
141
141
141
140
140
140
139
139
139
138
137
137
136
135
135
135
135
134
134
133
133
133
133
133
132
132
131
131
132
132
131
131
132
134
135
135
136
137
138
138
137
137
137
137
137
136
136
135
135
132
131
131
131
130
130
130
129
129
129
129
129
129
129
128
128
128
127
127
126
126
109
109
110
111
112
113
113
114
114
115
116
117
118
118
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
127
127
128
129
129
129
129
130
130
131
131
131
130
130
130
130
130
130
130
131
131
131
131
131
131
131
130
131
131
132
133
133
134
137
140
143
146
149
151
153
152
152
153
154
154
155
157
157
158
159
161
162
163
164
166
169
170
168
168
165
158
137
118
56
48
21
7
79
105
74
74
17
23
47
237
251
125
48
38
38
19
29
19
23
34
34
35
48
37
71
110
51
25
106
71
31
32
34
37
37
36
42
52
43
35
35
33
30
33
86
75
73
78
50
51
32
64
192
229
214
232
208
219
124
200
224
247
225
255
240
249
240
255
107
42
13
42
32
40
24
30
29
34
53
27
41
31
26
36
41
37
40
31
23
23
18
17
23
38
16
12
13
20
21
8
13
27
31
20
16
22
27
35
37
28
20
19
19
19
19
33
27
34
61
86
122
149
148
143
143
139
136
138
144
144
144
144
143
141
142
142
141
141
141
140
140
139
139
138
137
137
136
135
135
135
135
134
134
133
133
133
133
133
132
132
131
131
133
132
132
131
132
134
135
137
138
139
140
141
141
140
141
141
141
141
140
139
139
138
138
137
136
135
135
134
132
132
132
132
131
131
131
131
131
131
130
129
129
129
109
109
110
112
112
113
113
114
114
115
116
117
118
118
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
127
127
128
129
129
129
129
130
130
130
131
131
130
130
130
130
130
130
130
131
131
131
131
131
131
131
130
131
132
133
134
134
135
139
141
144
147
150
153
154
153
153
154
155
156
157
159
160
160
161
163
164
164
164
166
169
170
169
167
165
161
92
113
46
108
39
117
109
161
154
137
97
66
74
240
251
158
65
78
14
20
30
19
19
29
31
26
41
33
15
85
69
33
79
59
46
50
43
38
40
26
33
39
27
28
39
35
50
72
91
69
80
53
44
59
22
67
220
249
202
233
227
205
113
228
255
251
240
186
226
255
86
142
136
45
35
27
18
39
32
39
32
25
39
33
52
40
28
33
36
31
16
19
34
38
26
22
34
33
8
6
11
23
30
23
3
31
39
31
27
33
38
22
39
34
28
26
19
12
16
30
26
30
42
57
95
133
139
137
140
140
139
142
143
144
144
144
143
142
142
142
142
141
141
141
140
139
139
138
137
137
136
135
135
135
135
134
134
133
133
133
133
133
132
132
131
131
133
132
132
132
133
136
137
138
139
140
142
143
143
142
143
143
143
143
142
142
141
141
140
140
139
137
136
136
134
134
134
133
132
132
132
131
131
131
131
130
130
129
110
110
111
112
113
114
114
114
114
115
116
117
118
118
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
127
127
128
129
129
128
128
129
129
130
130
130
129
129
129
129
129
129
129
131
131
131
131
131
131
131
130
131
132
134
135
136
136
141
143
146
149
152
155
156
154
155
156
157
159
159
163
164
164
165
166
166
167
166
168
170
171
170
168
166
107
78
73
42
78
74
123
62
0
0
47
154
95
62
247
247
194
99
77
9
23
44
39
27
24
27
17
29
50
22
35
71
92
21
48
35
36
36
36
39
40
39
39
46
47
35
63
84
76
62
66
47
44
37
38
95
248
209
222
216
211
220
142
123
244
238
255
241
207
255
223
247
240
43
70
30
18
30
39
19
12
19
29
36
33
31
36
33
29
28
32
18
30
19
17
7
13
40
35
19
16
11
7
5
3
10
50
58
41
19
8
4
19
20
27
30
25
18
15
14
14
16
30
28
21
54
139
152
148
146
141
136
134
142
143
144
144
144
143
143
143
142
142
142
141
141
139
139
138
137
137
136
135
135
135
135
134
134
133
133
133
133
133
132
132
131
131
131
131
132
134
136
142
143
144
145
147
149
150
151
151
152
152
152
152
151
150
150
149
149
148
147
144
143
143
143
142
142
141
139
139
138
137
136
136
136
135
135
134
111
111
112
113
114
115
115
115
115
116
117
118
119
119
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
126
126
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
131
131
132
134
136
138
139
143
147
150
152
153
155
157
156
157
159
161
162
163
167
167
167
168
168
168
169
166
171
171
169
174
168
158
97
100
59
109
28
0
18
7
0
0
0
29
0
1
216
243
255
150
60
47
0
30
22
48
24
6
31
31
43
22
33
32
56
46
34
44
76
36
29
33
19
23
32
18
10
65
101
55
68
70
51
43
43
33
133
228
225
233
241
206
181
207
244
255
235
255
219
255
255
237
249
96
20
11
65
41
37
27
26
32
34
32
29
28
31
25
30
18
28
40
31
30
20
32
41
39
21
26
19
30
29
8
8
25
25
18
21
16
11
18
34
49
23
30
36
33
29
27
20
21
23
21
17
18
23
29
90
131
143
139
140
144
139
141
141
142
142
143
143
143
143
143
143
142
140
139
138
138
138
137
137
136
136
136
136
136
135
135
134
134
133
133
132
131
131
132
133
134
135
137
141
144
150
151
155
156
156
157
158
159
160
161
160
160
160
159
159
159
157
157
156
154
152
151
150
152
151
150
149
147
146
146
143
143
142
141
139
138
138
111
111
112
113
114
115
115
115
115
116
117
118
119
119
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
126
126
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
131
131
132
134
136
138
140
145
149
152
154
155
157
159
158
159
161
162
164
165
169
169
169
169
170
170
171
173
183
172
176
167
160
168
158
26
0
82
5
29
100
98
70
18
0
74
108
116
186
246
255
225
68
71
0
1
20
27
52
30
23
31
33
29
37
39
19
67
39
44
69
34
38
38
43
71
102
112
96
58
67
68
44
50
39
45
19
122
231
231
230
200
224
242
199
228
248
244
249
242
222
229
161
122
76
6
53
35
22
20
13
10
16
28
28
26
25
25
39
29
33
29
34
34
18
20
27
18
18
26
16
19
30
42
39
19
13
21
18
16
21
37
51
47
25
4
31
17
21
28
30
22
7
15
13
12
14
18
21
23
27
66
114
138
139
138
138
140
141
141
141
142
142
143
143
143
143
143
141
140
138
138
138
138
137
137
137
136
136
136
136
135
135
134
135
135
134
134
135
136
138
141
143
145
148
151
156
158
161
162
162
163
164
165
165
166
166
165
165
165
164
164
164
163
162
161
159
158
158
155
155
154
153
151
150
149
149
149
148
146
144
143
143
111
111
112
113
114
115
115
115
115
116
117
118
119
119
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
126
126
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
130
131
132
134
136
139
140
147
151
154
155
157
159
160
160
161
162
164
166
167
170
170
171
171
171
172
172
161
174
166
177
169
172
183
81
76
73
102
17
113
121
131
147
70
0
114
171
53
231
250
255
255
167
49
35
19
1
17
10
10
12
44
37
47
37
35
19
71
53
49
47
60
103
77
112
104
100
128
105
72
55
31
43
31
66
24
52
190
206
248
214
206
229
175
187
237
255
244
236
218
237
249
119
68
90
95
23
12
9
17
17
24
32
38
33
28
24
22
34
28
33
30
30
27
15
26
18
46
47
34
26
54
37
37
29
12
10
21
24
19
23
26
28
27
23
19
30
15
21
28
35
32
21
15
15
16
21
24
22
20
17
43
79
109
129
142
144
140
140
140
141
141
141
142
143
143
143
143
142
140
139
139
138
138
138
137
137
137
137
136
136
136
135
135
135
134
134
135
136
138
141
145
146
148
151
154
159
160
163
164
164
165
166
167
167
168
167
167
167
166
166
166
166
165
165
164
162
161
161
158
158
157
156
154
153
152
151
151
150
148
145
144
144
111
111
112
113
114
115
115
115
115
116
117
118
119
119
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
126
126
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
129
130
132
134
137
140
141
150
154
157
158
160
162
164
163
164
166
167
169
170
173
173
174
174
175
175
175
167
168
174
174
179
187
149
101
78
47
13
28
89
91
63
0
0
0
8
0
20
234
255
254
250
252
196
53
20
71
56
40
30
19
7
25
50
43
48
62
26
24
31
60
42
65
70
36
49
35
43
54
56
41
42
44
3
117
231
252
215
216
211
235
217
226
247
254
255
235
218
253
245
166
39
131
255
160
52
23
36
22
26
18
9
20
28
27
30
29
25
19
21
25
24
20
20
25
20
15
30
33
29
19
36
19
30
27
19
13
15
18
25
20
20
23
26
26
25
47
37
33
25
25
28
25
12
15
19
23
21
14
8
32
43
42
58
99
130
131
138
138
139
139
139
140
140
140
141
142
142
141
140
140
139
139
139
138
138
138
138
137
137
137
136
136
136
136
136
137
139
141
144
149
152
153
155
157
160
164
165
167
167
168
168
169
170
171
170
170
170
169
169
168
168
167
167
167
166
165
165
165
165
164
163
162
160
159
159
155
154
153
151
147
146
145
111
111
112
113
114
115
115
115
115
116
117
118
119
119
120
120
120
121
122
122
122
123
123
124
124
125
125
125
125
125
126
126
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
129
130
132
134
137
140
142
152
156
159
160
162
164
165
165
166
167
169
171
172
175
175
176
176
176
177
177
179
163
186
165
182
189
92
139
92
28
49
34
48
91
0
29
121
103
82
21
62
231
255
247
255
146
94
36
40
56
61
34
49
5
12
39
6
25
29
28
32
50
45
81
51
52
52
51
78
68
98
101
95
51
66
142
253
255
244
221
221
242
226
203
233
242
255
247
233
221
254
228
146
241
200
136
14
13
43
24
16
38
25
10
19
25
24
26
32
29
20
16
11
13
27
30
30
37
26
27
28
35
40
18
12
27
31
24
21
17
19
27
15
30
31
28
27
30
33
31
21
22
21
26
29
26
22
21
19
18
18
16
16
19
14
16
29
60
100
125
137
137
138
138
139
139
138
138
139
140
140
140
139
140
140
140
139
139
138
138
138
138
138
137
137
136
136
142
142
144
146
150
153
159
160
161
162
164
167
171
171
172
173
173
174
175
176
177
175
175
175
175
174
174
173
171
171
171
171
170
170
170
168
168
167
166
164
163
162
161
160
159
157
152
151
150
112
112
113
114
115
116
116
116
116
117
118
119
120
120
121
121
121
122
123
123
123
124
124
125
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
130
130
130
129
129
129
129
129
129
129
130
130
129
129
128
128
128
127
129
130
132
135
140
144
151
155
158
160
161
163
165
167
169
170
172
173
174
175
175
176
176
177
178
179
182
180
180
160
165
176
98
67
31
0
47
79
84
0
0
120
134
127
132
90
81
244
241
252
248
174
60
11
12
82
32
26
65
10
33
25
8
79
28
35
37
22
26
59
109
135
106
113
66
63
33
58
37
108
252
254
245
217
230
240
219
225
197
247
241
247
228
249
232
234
244
236
190
230
137
38
13
29
34
33
19
21
27
32
17
27
24
28
39
34
21
25
22
25
31
32
42
64
24
35
32
40
29
12
18
47
27
23
21
20
13
5
6
26
23
17
23
27
20
21
20
25
27
24
20
18
20
12
11
16
18
18
15
38
27
10
28
52
64
74
136
152
151
140
144
148
138
140
141
142
139
137
136
135
135
135
135
135
135
135
133
134
134
132
131
132
136
143
145
148
153
156
159
162
168
171
172
174
176
178
178
173
173
173
173
173
173
173
174
174
173
173
172
172
172
174
174
173
173
172
172
172
169
169
168
168
167
167
167
164
163
161
159
154
153
152
112
112
113
114
115
116
116
116
117
117
119
120
120
121
121
122
122
123
123
123
123
124
124
125
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
130
130
130
129
129
129
129
129
129
129
130
129
129
128
128
128
128
127
129
130
132
136
141
145
153
157
160
161
163
165
166
169
170
171
173
175
176
176
176
177
178
179
179
180
188
172
189
172
165
140
114
117
0
52
85
75
47
95
8
0
0
0
0
0
87
239
249
252
237
255
197
73
0
27
47
29
38
43
0
60
35
32
60
50
24
15
69
123
151
171
151
211
163
166
205
231
243
224
221
254
233
246
232
217
218
222
254
241
255
253
227
237
238
254
229
218
242
160
58
22
37
29
35
30
25
33
30
17
15
18
26
25
21
17
17
20
20
15
24
28
26
30
21
31
44
25
16
22
25
18
22
27
31
33
26
18
17
23
17
12
19
21
11
17
27
27
21
18
26
37
29
23
19
17
17
21
24
14
1
23
44
32
30
55
116
126
128
141
143
137
137
135
135
134
135
134
135
136
136
136
136
136
136
136
136
137
138
138
138
140
146
150
152
155
159
162
164
168
173
173
174
176
177
179
180
178
178
178
178
178
178
178
180
180
180
179
179
178
178
179
179
179
178
177
177
177
174
174
174
174
173
172
172
170
169
167
164
158
156
154
112
112
113
114
115
116
116
117
117
118
120
120
121
121
122
122
123
123
124
124
124
124
124
125
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
130
130
130
129
129
129
129
129
129
129
129
128
128
128
127
127
127
127
129
131
133
138
143
147
155
159
162
164
165
167
169
171
172
174
175
177
178
179
179
179
180
181
182
182
174
179
181
144
116
72
85
85
0
0
0
3
0
47
65
78
50
4
0
6
2
187
241
71
37
32
21
36
45
10
40
35
33
30
60
12
23
20
12
46
0
108
254
220
213
219
245
249
241
244
222
235
254
220
222
219
251
237
232
239
253
250
243
241
240
233
248
238
235
144
216
253
199
21
17
32
39
23
27
24
30
42
36
17
21
19
33
29
17
15
22
17
29
24
27
30
30
32
37
20
18
17
31
37
20
22
27
22
20
21
17
10
21
22
17
15
26
30
20
6
15
21
21
18
16
18
23
14
12
13
13
11
9
26
24
9
11
24
19
4
54
64
79
112
120
115
130
131
132
135
138
139
137
137
137
137
137
137
137
137
136
138
141
143
144
148
155
158
159
162
165
168
170
171
173
174
172
173
173
175
175
183
183
183
183
183
183
183
182
182
182
181
181
180
180
180
180
179
179
178
178
178
176
176
175
175
174
174
174
176
175
173
170
164
162
161
112
112
113
114
115
116
116
117
118
118
120
121
121
122
123
123
123
124
124
124
125
124
124
125
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
130
130
130
129
129
129
129
129
129
129
128
128
128
127
127
127
126
127
129
131
134
138
144
148
156
160
163
165
166
168
170
172
173
175
177
178
179
180
180
181
181
182
183
184
185
162
200
152
36
83
102
75
43
0
0
0
33
88
114
78
51
11
5
45
62
252
252
135
68
62
67
41
32
26
36
10
46
84
50
15
31
6
0
18
58
183
232
253
244
254
226
229
245
228
215
210
225
228
233
254
221
233
223
221
242
238
255
253
254
255
206
229
244
183
249
255
210
29
53
41
25
23
23
22
30
38
34
23
21
18
26
24
17
15
18
13
20
19
20
19
21
28
17
20
28
22
27
28
19
19
29
24
23
28
30
25
25
28
21
17
25
28
19
26
15
17
21
23
24
26
28
22
19
18
15
13
11
19
15
6
3
10
19
23
15
19
34
67
90
103
120
116
113
117
124
132
137
136
136
136
136
136
136
136
137
140
143
145
148
152
163
164
163
166
169
172
174
174
175
175
173
174
174
175
175
185
185
185
185
185
185
185
184
184
184
183
183
182
182
180
180
179
179
178
178
178
176
176
176
176
175
174
174
177
176
174
172
167
165
164
112
112
113
114
115
116
116
118
118
119
120
121
122
122
123
123
123
124
125
125
125
124
124
125
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
130
130
130
129
129
129
129
129
129
129
128
128
127
127
126
126
126
127
129
131
134
139
145
149
158
162
164
166
167
170
171
174
175
176
178
179
181
181
181
182
183
184
184
185
174
192
170
94
17
145
64
98
111
17
51
100
120
60
27
0
0
39
97
16
63
251
252
233
73
133
55
9
44
21
35
35
19
43
23
66
39
51
46
50
98
228
205
225
221
232
235
235
241
224
223
223
217
227
243
246
238
218
241
254
239
255
238
216
255
231
234
247
218
140
196
159
21
210
25
36
29
30
25
25
30
24
23
30
23
22
19
21
24
22
17
34
22
17
23
17
15
27
20
39
23
30
27
16
18
14
30
20
15
18
17
9
13
29
23
18
26
33
27
26
22
24
23
20
19
21
37
43
37
21
10
14
22
27
27
23
18
24
29
22
7
12
27
35
49
64
71
79
95
113
129
136
134
134
134
134
134
134
135
135
141
146
150
153
157
162
172
175
176
179
180
182
184
183
183
183
182
182
183
181
181
185
185
185
185
185
185
185
188
188
188
188
187
186
186
183
182
182
182
181
181
180
180
179
179
179
178
178
177
176
175
174
173
171
170
169
112
112
113
115
115
116
116
118
118
119
120
121
122
122
124
124
124
125
126
126
126
126
126
126
126
126
126
126
127
127
128
128
129
129
129
128
128
128
129
129
129
129
128
128
128
128
128
128
128
129
129
128
128
127
127
127
126
128
130
133
139
147
152
160
164
168
169
170
171
172
176
177
178
179
180
181
184
184
185
186
187
187
188
186
185
156
151
86
94
121
31
20
148
117
74
63
54
20
13
13
0
2
30
168
249
90
11
40
30
39
13
78
40
25
34
38
26
0
19
42
58
9
47
150
231
250
243
241
244
254
248
254
245
254
254
221
238
254
225
199
239
250
254
254
218
231
253
205
255
255
228
237
255
238
230
125
65
18
8
46
36
20
16
20
25
27
20
23
22
18
17
16
18
19
18
35
31
16
11
25
45
28
28
27
32
28
21
23
30
31
31
28
33
31
41
31
22
21
20
17
16
17
15
24
29
25
18
15
19
21
26
25
25
18
8
3
17
11
7
7
11
18
23
7
11
20
33
41
53
93
104
122
126
118
113
115
117
115
117
120
124
124
115
105
125
151
163
169
178
164
167
180
186
181
180
189
188
178
178
177
184
198
191
183
179
189
181
176
189
187
192
189
190
187
186
189
185
182
185
185
184
184
183
183
183
180
180
180
179
179
178
178
178
178
177
176
173
172
172
112
113
113
115
116
116
117
118
118
119
120
121
122
122
124
124
124
125
126
126
126
126
126
126
126
126
126
126
127
127
128
128
129
129
129
127
127
128
129
129
130
130
129
128
128
128
128
128
128
129
129
128
128
127
127
127
126
128
130
133
139
147
152
160
165
168
170
171
172
173
177
177
179
180
181
182
184
185
185
186
187
188
188
187
207
157
168
87
113
48
46
110
104
42
0
0
33
84
58
18
8
0
22
173
233
97
54
34
64
71
5
30
32
27
25
29
26
19
14
27
21
32
22
174
250
242
243
236
233
240
240
244
233
239
239
229
217
231
227
209
248
246
145
232
235
255
234
210
249
150
208
252
230
86
215
54
140
17
51
16
30
20
18
21
23
26
24
23
22
17
17
17
16
17
42
34
31
28
23
30
46
41
34
22
28
29
27
32
48
32
22
13
14
10
18
19
19
25
27
25
23
23
17
19
21
20
17
17
21
31
28
21
22
23
21
22
17
23
29
31
25
17
10
22
15
16
24
35
51
75
65
59
67
82
94
95
98
107
110
100
88
92
110
159
154
162
173
165
159
185
190
180
181
192
191
179
186
193
204
197
192
196
181
205
184
180
196
198
178
190
173
189
183
189
194
188
187
184
186
186
185
185
184
184
183
181
181
180
180
179
179
179
178
178
177
176
174
173
173
113
113
114
116
116
117
117
118
118
119
120
121
122
122
124
124
124
125
126
126
126
127
127
127
127
127
127
127
127
127
128
128
129
129
129
127
128
129
130
131
132
132
132
129
128
127
128
129
129
129
129
128
128
127
127
127
126
128
130
133
139
147
152
160
166
170
172
173
175
176
179
180
181
182
183
184
185
185
186
187
188
188
189
194
191
194
138
101
115
0
11
120
89
30
17
72
68
113
105
79
0
0
13
161
238
174
113
63
48
15
43
76
34
26
43
45
53
41
14
28
52
102
38
238
255
251
254
240
233
230
254
252
247
254
241
246
218
226
231
239
222
245
231
130
236
195
226
255
214
70
122
106
47
81
74
59
7
38
40
20
24
23
24
22
17
18
24
20
20
21
22
24
26
25
22
29
33
21
23
28
23
26
27
15
10
9
15
29
17
20
25
25
26
11
11
26
19
19
17
12
9
8
25
15
18
26
29
23
14
25
33
37
41
34
20
10
25
21
19
18
17
17
16
13
9
9
10
20
28
33
44
56
75
97
96
78
42
78
113
127
126
122
118
47
61
97
134
152
160
175
184
187
162
132
150
190
121
96
78
79
90
90
174
219
157
180
173
173
199
177
184
191
180
180
184
178
181
178
186
186
187
188
186
185
184
182
182
182
182
181
181
180
178
178
177
177
175
175
174
114
114
115
116
117
118
118
118
118
119
120
121
122
122
124
124
124
125
126
126
126
128
128
128
128
128
128
128
127
127
128
128
129
129
129
129
129
131
133
134
135
135
135
130
128
127
128
129
130
129
129
128
128
127
127
127
126
128
130
133
139
147
152
161
167
171
173
175
177
178
181
182
183
184
185
186
186
186
187
187
188
189
190
197
191
159
132
116
92
94
49
76
60
92
97
107
0
0
24
0
50
0
30
0
160
153
41
48
24
1
20
23
34
56
62
35
22
40
42
22
31
12
201
231
224
242
249
230
244
234
236
212
246
203
216
232
222
218
252
232
230
244
246
254
222
239
241
153
126
24
44
37
24
23
25
43
36
20
16
36
17
23
20
26
21
16
25
20
21
22
24
25
26
25
45
21
24
25
33
32
14
2
21
48
42
21
8
7
23
9
11
15
23
15
17
12
12
18
23
25
26
29
22
27
23
20
21
21
18
28
18
9
14
19
21
22
17
10
3
0
8
23
35
17
23
17
19
46
50
0
7
2
9
32
42
43
25
45
54
37
22
33
56
120
122
135
155
172
166
79
41
77
87
56
36
51
64
77
86
101
100
79
84
105
199
207
139
98
134
125
191
133
160
159
153
172
174
182
184
185
187
188
186
184
182
184
184
183
183
182
182
182
178
178
177
177
176
176
176
114
114
115
116
117
118
118
118
118
119
120
121
122
122
124
124
124
125
126
126
126
128
128
128
128
128
128
128
127
127
128
128
129
129
129
129
130
132
134
135
136
136
135
130
128
127
128
129
130
129
129
128
128
127
127
127
126
128
130
133
139
147
152
161
167
171
174
175
177
179
181
182
183
185
186
187
186
186
187
188
188
189
190
188
199
188
145
110
84
40
65
52
111
80
70
144
0
68
49
49
94
74
29
0
26
67
53
129
55
0
57
10
36
42
38
40
22
35
22
32
37
57
220
255
255
227
246
237
252
230
254
252
234
223
247
181
206
220
242
223
252
220
235
238
192
251
161
142
46
26
27
13
44
40
30
32
21
24
23
18
21
28
22
27
19
10
19
20
21
22
23
23
23
21
32
15
28
4
0
16
34
40
40
23
18
11
13
24
47
25
23
22
25
12
11
10
10
15
17
15
12
12
18
33
24
13
13
19
24
21
12
4
9
13
13
12
15
18
16
14
18
30
40
22
28
16
11
38
35
5
20
22
24
39
33
22
30
35
32
32
50
75
82
100
124
128
97
73
83
86
61
37
44
75
77
50
87
89
75
44
40
73
113
134
103
69
66
100
94
21
61
38
105
126
117
132
150
184
184
185
187
188
186
183
181
184
184
184
183
182
182
182
178
178
177
177
177
177
176
114
114
115
116
117
118
118
119
119
120
121
122
123
123
124
124
124
125
126
126
126
126
126
127
127
128
128
128
126
126
127
127
128
128
128
128
128
130
131
132
132
133
130
130
129
129
128
128
128
128
128
128
128
128
128
128
125
127
131
135
139
146
154
161
166
170
173
176
179
181
183
184
185
186
186
187
188
189
189
190
191
192
192
210
188
205
158
111
107
100
56
46
0
42
0
2
41
52
91
63
46
0
0
5
18
0
25
68
3
2
16
16
0
22
19
22
43
52
64
14
18
190
244
255
251
234
212
255
235
246
182
238
233
202
240
250
224
255
219
230
249
238
243
209
136
134
119
85
46
32
36
33
26
28
31
30
28
30
28
20
27
24
23
22
18
21
25
21
22
17
17
21
25
29
19
14
26
12
13
23
21
17
30
31
26
19
11
10
22
18
21
27
17
9
18
20
26
19
15
21
27
22
27
36
42
26
14
16
23
23
14
10
19
24
19
14
7
4
4
4
8
10
16
0
0
0
4
6
4
18
9
7
5
5
16
31
28
34
47
47
28
9
6
0
18
35
39
52
67
36
28
42
59
56
43
41
8
41
76
84
66
59
41
26
0
31
60
59
47
50
38
65
39
69
55
64
172
156
118
78
72
104
115
139
171
185
153
132
128
165
175
151
184
188
189
189
174
174
186
114
114
115
116
117
118
118
119
119
120
121
122
123
123
124
124
124
125
126
126
126
126
126
127
127
128
128
128
127
127
128
128
128
129
129
128
128
129
129
130
130
130
130
130
129
129
128
128
128
128
128
128
128
128
128
128
127
129
133
137
140
146
153
162
167
171
174
176
179
181
184
185
185
186
187
188
190
191
191
192
193
194
194
192
195
218
184
187
200
166
161
113
116
90
93
5
56
15
0
0
30
25
28
66
33
38
21
70
72
67
37
53
25
9
22
38
15
21
76
43
54
224
252
215
240
255
255
244
255
213
255
228
231
219
233
183
192
231
251
230
237
219
221
177
104
43
30
15
14
32
20
22
36
25
26
28
30
30
27
24
26
26
27
27
25
23
22
35
28
32
38
33
20
9
18
17
21
15
19
28
27
16
38
14
15
31
31
22
26
22
22
21
17
16
22
25
33
26
20
21
23
27
23
35
35
26
21
25
27
23
20
20
25
22
11
7
26
31
31
29
22
16
19
4
0
0
25
53
54
0
2
17
27
27
24
17
6
5
0
0
0
71
96
34
52
66
56
31
17
48
23
7
16
30
24
25
53
76
62
62
79
74
17
21
30
13
13
31
49
37
15
16
61
24
22
7
37
53
45
33
38
59
56
72
97
106
164
204
211
185
176
193
183
196
201
195
172
164
167
114
114
115
116
117
118
118
119
119
120
121
122
123
123
124
124
124
125
126
126
126
126
126
127
127
128
128
128
127
127
128
128
129
129
129
128
129
129
129
130
130
130
130
130
129
129
128
128
128
128
128
128
128
128
128
128
128
130
135
138
141
146
153
162
166
170
173
176
179
181
184
185
186
187
187
188
192
192
192
193
194
195
195
212
193
194
205
173
202
149
138
57
122
22
85
44
83
33
29
80
63
34
59
8
0
46
28
44
57
39
28
51
20
49
62
31
62
20
49
51
85
229
246
255
254
249
225
251
249
236
230
178
249
214
240
246
223
240
235
216
251
228
219
111
17
7
16
25
36
25
16
23
35
27
25
23
27
29
28
28
27
26
25
34
33
23
14
43
33
21
21
18
20
23
16
21
22
19
21
23
19
20
25
14
28
39
35
23
31
19
19
19
19
19
16
14
22
16
18
17
17
24
18
15
15
13
17
20
16
28
26
24
24
18
12
15
24
14
8
11
13
16
22
9
8
8
20
28
18
21
12
12
19
23
23
16
0
5
14
33
68
69
32
1
3
24
55
48
16
19
22
13
30
52
45
30
28
35
46
61
61
31
4
26
27
46
59
42
15
20
22
34
18
29
8
47
15
45
40
73
83
67
92
89
64
74
85
70
57
61
57
70
63
96
123
142
189
184
169
114
114
115
116
117
118
118
119
119
120
121
122
123
123
124
124
124
125
126
126
126
126
126
127
127
128
128
128
128
128
129
129
129
130
130
131
130
130
130
130
130
130
130
130
129
129
128
128
128
128
128
128
128
128
128
128
130
133
138
140
142
146
152
160
165
169
171
174
177
179
185
186
186
187
188
189
194
194
194
195
196
197
197
206
187
205
206
200
188
99
36
11
33
60
24
76
19
0
88
74
91
17
8
69
19
34
69
81
36
44
31
15
47
41
0
1
38
71
89
204
236
251
205
240
247
255
255
209
213
245
243
227
217
159
227
179
220
242
231
250
216
228
236
26
37
24
24
23
20
21
30
34
35
27
23
24
34
33
31
33
29
34
38
36
36
31
25
11
22
45
36
19
12
16
15
24
16
16
21
18
15
13
21
15
22
24
17
10
34
25
25
17
18
19
9
21
23
24
38
36
29
39
37
33
25
20
28
29
17
28
20
21
27
22
15
17
8
12
19
27
23
12
7
9
24
37
41
31
17
11
14
30
44
46
45
37
0
5
41
84
80
39
27
97
61
22
9
19
27
14
3
14
13
15
33
48
64
2
0
0
0
0
19
10
17
22
24
23
30
48
31
57
34
26
60
19
23
19
34
39
34
28
25
24
32
13
25
59
74
37
34
21
13
21
27
37
46
39
39
115
115
115
116
117
117
117
120
120
120
121
122
122
122
123
123
123
124
125
125
125
125
125
127
127
128
129
129
128
128
129
129
130
130
130
131
131
132
132
133
133
133
132
132
131
131
130
130
130
129
130
131
131
132
133
133
133
135
138
142
145
147
149
157
161
165
167
171
174
177
182
185
188
189
190
191
195
195
195
196
196
197
197
194
197
189
196
176
176
97
74
0
41
109
16
74
0
0
0
1
0
14
38
2
0
26
54
31
16
44
0
31
38
18
73
46
34
102
143
192
237
220
247
255
248
224
255
244
234
255
210
240
176
230
194
241
237
255
242
242
244
227
214
127
40
29
27
27
25
24
27
29
31
29
23
23
26
30
35
32
31
32
46
30
37
41
22
33
21
30
29
15
15
27
21
18
15
15
16
14
14
21
12
51
31
17
29
39
13
16
11
18
14
13
31
28
19
16
13
11
13
18
24
17
20
8
26
0
20
15
16
20
18
13
14
19
6
9
19
21
23
19
4
9
13
22
34
31
20
17
19
27
29
29
31
28
7
44
41
2
0
0
0
11
31
36
58
52
32
26
2
0
11
12
0
0
0
14
24
27
17
5
27
43
30
26
18
14
8
16
41
58
45
35
38
44
31
24
43
23
20
22
17
21
11
22
9
24
44
54
55
37
20
37
37
43
37
13
22
115
115
116
116
117
117
117
120
120
120
121
122
122
122
123
123
123
124
125
125
125
125
125
127
127
128
129
129
128
128
129
129
130
130
130
131
131
132
132
133
133
133
132
132
131
131
131
130
130
129
130
131
132
132
133
133
133
135
138
142
145
147
149
157
160
164
166
170
174
177
182
185
188
189
190
191
195
195
195
196
196
197
197
197
197
196
206
192
157
94
70
0
18
69
49
78
24
24
63
58
37
12
51
86
32
0
28
30
0
15
31
21
16
29
50
33
39
133
244
244
252
223
245
228
245
243
241
229
237
230
237
228
204
219
158
237
231
221
244
240
255
241
215
106
17
16
27
25
23
25
26
28
30
26
24
26
23
27
34
34
24
27
40
29
33
43
33
32
19
26
31
23
18
20
17
17
14
15
15
18
20
11
12
44
21
14
34
49
21
18
13
22
16
12
26
11
16
22
25
25
30
36
25
24
37
23
32
14
26
18
17
20
18
12
12
17
14
22
29
23
20
17
7
14
11
11
13
9
6
12
8
6
0
0
0
4
0
0
0
0
0
0
12
52
79
35
0
0
3
0
0
2
7
7
14
21
47
21
41
47
30
9
4
11
17
5
0
8
27
22
19
33
30
31
36
42
37
32
26
20
31
36
28
40
38
37
19
22
29
19
16
2
19
11
4
4
12
24
38
116
116
116
117
117
118
118
120
120
120
121
122
122
122
123
123
123
124
125
125
125
125
125
127
127
128
129
129
129
129
130
130
130
131
131
132
132
133
133
133
134
134
133
132
132
132
131
131
131
130
131
132
133
134
134
135
134
137
139
142
145
147
148
154
158
161
164
167
171
174
180
184
187
188
189
191
195
195
195
196
196
197
197
201
196
187
181
196
130
131
61
62
31
14
11
0
70
25
87
47
8
0
130
15
59
19
23
64
62
46
22
28
51
40
80
16
233
235
219
194
253
244
253
241
255
255
243
229
238
194
195
165
255
245
223
204
231
222
237
187
187
190
125
8
30
42
25
22
20
25
27
26
25
25
25
29
22
24
29
31
26
20
27
29
24
32
42
29
22
15
26
34
29
18
14
12
15
11
11
20
31
30
20
17
19
28
30
18
18
14
18
28
27
22
26
27
15
10
8
10
17
25
40
0
21
11
11
19
14
7
7
12
15
14
17
23
18
34
36
26
18
17
17
26
23
15
10
5
0
4
3
6
5
1
10
25
11
5
7
7
0
1
24
38
52
25
0
0
0
18
0
39
42
34
45
38
62
54
63
42
7
0
6
19
3
10
16
25
36
54
70
48
48
40
25
13
9
8
15
7
6
12
21
18
5
37
26
26
25
21
26
26
6
1
6
12
10
20
27
117
117
117
118
118
118
119
120
120
120
121
122
122
122
123
123
123
124
125
125
125
125
125
127
127
128
129
129
130
130
130
131
131
131
132
133
133
133
134
134
134
135
134
133
133
132
132
132
132
132
133
134
135
135
136
136
136
138
140
143
145
147
148
153
157
160
163
166
170
173
178
183
186
187
189
192
195
195
195
196
196
197
197
206
212
207
191
191
158
123
37
82
49
53
19
24
83
80
26
0
14
0
14
25
28
0
0
0
24
42
29
78
37
28
57
134
217
232
255
199
232
243
238
244
197
236
199
195
209
166
252
244
205
201
236
222
225
232
207
107
235
204
36
17
27
30
24
23
25
27
27
28
29
29
23
23
23
26
27
20
35
26
21
30
22
18
22
24
24
15
16
22
28
30
20
14
17
16
10
16
28
19
23
20
18
19
18
16
22
18
24
27
24
18
14
4
13
21
24
24
26
30
59
22
39
27
24
11
5
20
18
24
26
22
20
21
26
29
20
15
10
7
9
47
29
11
10
14
16
18
13
19
26
26
29
39
2
11
9
6
21
28
23
21
12
29
48
80
103
8
19
16
23
13
0
0
15
33
44
36
31
38
23
39
37
36
28
20
24
47
61
48
54
55
47
45
36
20
6
12
13
9
19
22
22
21
23
25
29
26
23
23
26
39
30
30
32
16
33
117
117
117
118
118
119
119
120
120
120
121
122
122
122
123
123
123
124
125
125
125
125
125
127
127
128
129
129
130
130
131
131
131
132
132
133
133
134
134
134
135
135
134
133
133
133
132
132
132
133
134
134
135
136
137
137
137
138
141
143
145
147
148
153
157
160
163
166
170
173
178
182
185
187
189
192
195
195
195
196
196
197
197
214
207
199
194
178
182
140
72
72
30
14
27
0
50
5
21
2
0
0
9
0
51
30
0
0
28
39
49
72
1
18
127
240
245
238
255
228
232
245
255
252
232
249
243
250
255
218
220
215
252
216
156
217
255
244
216
177
238
174
34
24
21
33
23
25
29
27
26
29
33
26
21
24
21
22
23
20
24
24
24
30
23
16
19
20
17
16
17
17
21
24
21
12
19
20
16
17
27
18
22
21
20
15
16
24
23
23
30
28
24
19
13
7
9
13
12
10
11
15
14
8
21
9
22
5
18
20
18
24
26
20
15
15
18
22
12
13
16
23
34
36
19
0
0
4
12
36
22
12
9
5
11
25
14
29
20
18
28
1
0
4
5
29
31
24
8
12
0
8
38
24
0
0
71
48
42
22
26
46
23
37
17
21
30
53
79
59
41
19
31
33
26
27
33
17
30
38
36
27
28
25
21
24
26
27
31
26
17
15
11
9
3
9
22
20
30
116
116
116
117
118
118
118
120
120
120
121
122
122
122
122
122
123
124
125
126
126
127
127
129
129
130
131
131
131
131
132
132
133
133
133
133
133
134
134
135
135
135
135
135
135
135
135
135
135
136
136
137
137
138
138
138
140
142
144
144
146
148
150
155
157
159
161
164
168
171
176
181
184
187
189
191
197
198
198
198
198
198
199
213
207
209
199
185
186
144
58
68
0
0
83
0
48
28
68
52
123
8
86
21
5
0
47
50
26
20
30
32
39
79
208
216
255
213
246
208
217
247
252
255
254
213
250
234
176
251
221
253
179
218
243
230
240
235
173
202
92
23
23
18
23
21
22
22
26
26
34
36
27
35
35
24
22
28
18
26
16
29
25
15
16
17
29
6
14
17
16
20
18
15
11
8
13
13
11
14
20
19
18
20
13
8
20
38
23
11
21
10
14
22
9
14
30
6
14
16
9
16
5
13
17
15
13
15
19
15
13
16
28
34
27
24
27
28
22
25
29
26
23
21
13
14
18
25
28
21
29
30
19
7
7
10
8
20
40
57
0
0
11
26
0
4
24
17
9
0
6
7
19
33
35
37
52
35
11
1
9
10
12
19
0
0
9
0
1
18
30
52
27
28
31
16
33
27
20
25
32
9
7
25
28
12
41
28
25
19
33
16
21
27
29
24
24
24
21
116
116
116
117
118
118
118
120
120
120
121
122
122
122
122
123
123
125
126
126
127
127
128
129
130
131
131
132
131
132
132
133
133
133
133
133
134
134
135
135
135
135
135
135
135
135
135
135
135
136
137
137
138
138
138
138
141
143
144
145
147
149
151
154
156
157
159
162
165
168
176
181
184
187
189
192
196
197
197
197
198
198
199
210
205
205
198
189
192
162
81
114
34
46
98
56
58
31
62
66
26
62
40
0
41
9
27
31
119
12
17
40
35
78
78
183
241
243
241
231
243
231
245
227
255
247
247
255
235
239
120
133
244
200
176
248
237
236
252
161
93
25
20
36
14
18
24
27
30
35
38
37
32
25
34
26
24
36
19
12
25
24
20
26
18
13
21
22
14
16
16
8
3
4
6
7
16
18
18
19
22
11
15
31
28
18
17
22
18
31
36
31
19
16
22
19
10
8
12
18
22
20
29
20
21
25
24
17
10
12
5
10
29
35
22
8
18
17
18
19
13
7
11
15
11
9
12
16
18
10
10
9
4
3
8
15
33
42
0
0
0
3
5
49
47
21
32
58
6
36
0
14
28
15
0
0
0
38
41
45
48
47
32
22
31
7
16
20
35
25
23
33
46
74
72
36
21
12
15
18
30
40
55
62
74
53
44
23
37
39
32
23
15
17
13
8
7
10
9
116
116
116
117
118
118
118
120
120
120
121
122
122
122
123
123
124
125
126
127
127
128
128
129
130
131
132
132
132
132
133
133
133
134
134
134
134
135
135
135
136
136
136
136
136
136
136
136
136
137
137
138
138
138
139
139
141
144
145
146
147
150
152
154
155
157
158
160
164
167
176
181
184
187
189
191
195
196
196
197
198
198
199
208
203
202
198
191
195
174
78
99
51
54
119
53
69
43
22
0
34
26
40
62
69
23
19
78
16
23
0
22
24
35
4
153
218
254
236
187
223
240
244
246
255
249
240
218
251
191
104
179
239
246
185
238
255
197
205
59
37
22
33
32
20
26
18
23
24
32
33
29
28
33
26
23
39
27
11
28
28
19
19
31
19
11
15
31
15
12
13
5
2
9
13
11
12
13
16
17
18
16
22
32
25
17
17
24
24
15
16
20
12
9
24
13
7
12
7
12
19
15
26
16
14
18
21
19
13
7
1
4
21
25
13
2
20
15
18
20
11
8
16
18
12
11
16
20
22
4
5
8
11
10
7
5
0
2
0
0
15
22
15
23
22
39
64
61
29
6
17
12
17
23
25
25
20
23
25
26
31
30
6
4
13
16
25
4
25
67
51
35
32
35
29
18
33
23
77
65
80
73
63
59
50
23
35
24
6
15
20
13
21
17
8
0
1
10
15
116
116
116
117
118
118
118
120
120
120
121
122
122
122
123
124
124
126
127
127
128
128
129
130
131
132
132
133
133
133
133
134
134
134
135
135
135
135
136
136
136
137
137
137
137
137
137
137
137
138
138
138
139
139
139
140
143
145
147
148
149
151
153
154
156
157
157
159
163
166
174
179
182
184
187
189
194
194
195
196
197
198
199
200
199
201
200
196
198
191
125
88
73
103
31
55
58
56
30
0
0
36
72
58
35
55
0
30
38
6
10
0
0
22
47
23
255
255
246
247
232
228
255
252
243
255
255
198
148
71
39
53
32
57
35
44
22
30
37
35
20
28
29
17
28
11
19
24
20
33
30
24
32
16
33
33
23
30
19
19
29
16
17
25
20
15
9
34
21
9
10
10
14
21
21
19
14
19
28
32
31
28
33
23
12
10
21
32
14
20
38
43
26
9
5
12
23
19
11
10
11
12
16
16
11
13
24
30
29
16
15
8
8
7
6
7
6
0
0
4
1
0
2
21
22
23
23
19
11
12
9
11
17
15
8
9
0
13
17
35
6
16
37
31
4
0
10
13
0
19
16
25
36
28
7
0
3
9
3
0
4
19
13
33
41
48
49
5
0
7
0
0
0
13
30
36
41
37
9
0
0
13
41
23
17
47
39
42
29
13
4
24
40
40
40
38
16
6
3
116
116
116
117
118
118
118
120
120
120
121
122
122
122
124
124
125
126
127
128
128
129
129
131
131
132
133
133
133
133
134
134
135
135
135
135
135
136
136
137
137
137
137
137
137
137
137
137
137
138
138
139
139
140
140
140
144
146
148
148
150
152
154
155
157
157
158
160
163
166
172
176
180
182
185
187
192
193
194
195
197
198
199
194
196
199
203
201
197
197
186
91
86
97
89
95
49
12
26
64
4
0
19
55
20
29
0
138
94
87
2
8
89
37
31
41
20
41
210
255
255
255
229
255
237
56
60
61
24
26
13
35
43
48
36
26
12
24
31
13
34
31
15
23
22
25
20
24
15
30
26
21
35
35
31
18
31
39
22
24
25
16
18
12
21
24
10
21
25
16
12
14
15
12
14
16
16
22
26
21
13
14
14
15
20
24
23
17
34
37
39
7
2
40
65
20
20
0
12
18
10
13
20
16
15
23
28
18
4
20
14
6
4
2
2
7
25
27
25
33
36
25
16
12
11
14
19
22
23
13
13
26
38
30
12
9
5
20
7
28
22
26
7
12
22
22
4
0
0
0
0
0
13
20
16
17
7
4
25
8
0
0
13
0
0
0
18
12
33
30
1
19
0
0
1
13
12
20
20
26
5
5
4
0
0
11
18
38
27
61
37
32
29
29
31
36
29
28
32
116
116
116
117
118
118
118
119
119
120
121
122
123
123
124
124
125
126
127
128
128
129
129
131
131
132
133
133
134
134
135
135
136
136
136
136
136
137
137
138
138
138
140
139
138
138
139
139
140
139
139
140
140
141
141
141
143
144
146
148
150
151
152
154
156
157
159
160
162
162
170
174
177
179
182
186
190
192
194
195
195
196
198
195
197
199
202
203
204
202
186
134
94
70
75
59
12
51
58
83
55
17
53
44
0
0
0
23
53
89
0
39
39
34
42
10
35
11
65
238
255
253
248
116
204
66
76
52
27
27
19
39
21
33
38
28
16
22
27
16
39
30
13
22
14
21
17
21
21
24
22
19
21
20
24
25
33
30
32
41
25
24
23
19
17
16
17
24
24
17
9
6
8
14
16
8
32
28
24
22
14
26
5
24
27
43
34
18
25
59
22
3
53
0
0
18
42
8
12
31
11
24
11
12
16
20
14
14
20
16
15
9
17
15
8
10
23
36
45
35
14
12
33
2
7
11
12
20
23
5
17
13
3
7
15
13
0
5
2
0
5
40
33
28
47
22
0
14
12
0
0
0
3
4
8
5
10
25
47
33
33
38
1
8
1
9
26
36
26
14
30
31
20
32
22
28
52
48
3
18
25
22
42
37
20
43
31
42
25
28
5
5
38
49
45
46
60
30
8
116
117
117
118
118
118
118
119
119
120
121
122
123
123
124
124
125
126
127
128
128
129
129
131
131
132
133
133
134
134
135
135
136
136
136
136
137
137
138
138
138
138
140
139
138
138
139
139
140
139
140
140
141
141
141
141
143
144
146
148
150
151
152
154
156
157
159
160
162
162
170
173
176
178
181
185
189
191
193
194
194
195
198
196
198
200
202
206
207
205
202
190
108
129
76
9
51
23
82
0
0
8
76
0
31
35
18
16
52
20
47
24
7
9
0
0
33
71
42
3
45
81
48
38
8
21
42
44
20
10
28
18
27
24
18
15
22
21
16
27
26
17
23
21
12
30
23
25
21
20
18
15
18
15
18
18
23
20
19
26
23
21
19
16
18
23
27
15
16
18
18
17
16
16
8
16
33
16
6
11
15
11
29
23
18
10
10
54
52
2
38
42
39
6
23
18
38
9
43
48
3
0
12
10
15
8
9
16
15
15
30
43
35
12
7
18
29
20
6
5
9
7
2
0
6
14
8
0
0
3
3
6
13
12
0
0
0
0
0
6
4
0
1
23
0
0
7
0
0
19
2
14
24
15
0
0
36
0
14
13
8
6
34
24
13
16
23
32
31
35
51
59
48
65
63
66
26
11
0
13
26
29
30
36
40
11
8
21
16
28
24
29
21
20
10
8
32
23
12
117
117
118
118
119
119
119
119
119
120
121
122
123
123
124
124
125
126
127
128
128
129
129
131
131
132
133
133
134
134
135
135
136
136
136
137
137
138
138
139
139
139
140
139
138
138
139
139
140
140
141
141
141
142
142
142
143
144
146
148
150
151
152
154
156
157
159
160
162
162
169
172
175
176
179
182
186
188
191
192
193
194
197
199
200
202
204
205
207
207
203
201
154
40
95
77
83
56
92
74
20
0
0
108
83
34
65
90
48
0
47
7
0
0
52
42
24
24
9
58
35
30
24
20
33
41
25
29
39
39
41
34
28
22
18
16
19
20
21
10
26
27
19
22
21
25
19
22
18
19
19
18
22
22
23
21
24
19
14
17
14
17
20
22
21
22
22
17
17
9
12
20
22
21
27
23
21
26
27
20
14
11
6
33
22
24
24
28
46
0
40
32
12
6
16
36
24
50
45
21
43
29
30
8
0
0
7
20
27
0
0
0
3
22
22
0
0
0
0
0
1
7
21
21
37
39
21
10
17
11
21
20
20
34
40
25
0
21
26
24
5
0
22
16
13
0
0
0
7
44
66
15
0
27
29
3
8
12
12
12
25
11
6
1
5
26
49
47
22
18
39
27
16
24
26
43
22
19
0
0
0
7
25
18
12
17
27
29
31
19
16
11
34
41
50
45
16
20
26
118
118
118
119
119
119
120
119
119
120
121
122
123
123
124
124
125
126
127
128
128
129
129
131
131
132
133
133
134
134
135
135
136
136
136
138
138
138
139
139
139
140
140
139
138
138
139
139
140
141
141
141
142
142
142
143
143
144
146
148
150
151
152
154
156
157
159
160
162
162
169
172
174
176
178
181
185
187
190
191
192
194
197
200
201
203
204
206
206
206
205
197
195
61
91
73
113
29
63
106
31
1
2
60
31
0
60
30
0
12
14
0
0
0
0
0
45
17
32
1
32
51
37
26
40
37
17
15
34
47
29
29
27
23
19
20
18
19
21
13
30
33
23
30
30
25
18
21
18
21
21
19
23
22
23
21
28
24
19
22
15
19
24
26
24
21
20
32
32
14
11
15
18
14
27
26
25
39
39
22
9
11
17
39
6
9
16
18
34
15
39
22
13
4
7
10
41
49
37
48
61
32
15
27
9
8
12
28
60
14
0
0
0
5
26
21
12
0
0
10
15
4
0
18
29
20
0
0
13
12
13
16
26
26
12
5
0
18
24
37
9
0
55
70
36
0
0
0
0
46
50
12
0
4
11
17
13
0
0
0
0
17
42
19
13
7
7
14
20
12
6
11
2
4
0
17
22
27
69
60
54
58
48
30
20
42
43
25
18
6
16
12
9
5
13
16
0
0
0
118
118
118
119
120
120
120
119
119
120
121
122
123
123
124
124
125
126
127
128
128
129
129
131
131
132
133
133
134
134
135
135
136
136
136
138
138
139
139
140
140
140
140
139
138
138
139
139
140
141
141
142
142
143
143
143
143
144
146
148
150
151
152
154
156
157
159
160
162
162
168
171
173
175
177
180
183
186
188
190
192
193
196
202
203
204
205
205
205
204
198
201
196
174
102
147
91
72
0
40
74
23
5
16
0
79
68
131
86
0
11
53
44
57
36
24
6
34
20
4
6
44
18
58
38
25
35
20
17
38
23
26
32
21
15
19
21
14
11
33
18
15
29
32
24
22
21
25
23
24
20
15
17
30
29
24
26
18
10
11
25
26
28
24
22
21
22
7
16
12
10
15
21
19
19
33
24
27
21
10
9
12
52
14
0
0
0
23
9
25
37
22
31
5
16
24
0
0
9
2
8
0
0
18
9
42
33
9
36
11
11
17
20
55
61
14
13
6
18
56
69
30
0
0
0
1
32
57
39
0
0
0
0
0
6
6
0
17
5
4
0
13
61
0
0
0
5
2
6
0
1
7
26
32
24
36
31
30
24
0
0
24
12
27
16
1
0
0
0
5
6
9
21
27
4
22
16
10
6
10
17
34
65
51
28
54
56
28
26
19
36
24
41
22
19
25
16
26
28
119
119
119
120
121
121
121
122
122
122
123
124
124
124
124
124
125
126
127
128
128
130
130
132
132
133
134
134
134
134
135
135
136
136
136
138
138
140
140
141
142
142
140
140
140
140
140
140
140
141
142
142
143
144
145
145
144
145
147
149
150
151
152
153
154
157
159
161
163
164
168
171
172
173
174
176
182
183
186
189
191
193
194
199
199
200
201
202
203
203
202
204
188
206
192
165
118
40
42
4
50
61
68
84
9
46
56
71
84
0
56
51
26
31
9
24
4
0
9
33
20
40
36
47
31
7
3
48
39
16
22
1
14
22
49
36
19
32
41
22
23
22
20
28
27
22
30
29
27
17
22
25
21
21
22
21
22
24
21
16
18
22
20
16
26
31
29
20
19
15
23
17
16
30
39
32
2
31
36
27
34
4
16
19
24
20
10
11
18
10
11
10
9
21
34
44
23
0
6
7
9
31
40
8
14
14
11
23
39
45
34
0
0
0
0
0
16
45
33
32
30
0
5
54
16
1
0
0
0
14
38
44
34
25
18
14
34
19
22
31
27
21
20
37
44
53
25
0
6
3
0
14
12
0
0
2
0
0
0
0
21
38
28
29
26
32
18
7
18
26
41
42
30
17
9
1
10
25
16
19
12
7
13
7
7
24
27
23
29
0
12
22
17
10
11
15
22
15
0
119
119
119
120
121
121
121
122
122
122
123
124
124
124
124
124
125
126
127
128
128
130
130
132
132
133
134
134
134
135
135
136
136
136
136
138
138
140
140
141
142
142
140
140
140
140
140
140
140
140
141
142
143
144
144
145
144
145
146
148
149
151
151
152
154
156
159
161
163
164
168
170
171
172
173
176
181
183
186
188
191
193
193
197
199
199
200
201
202
202
204
207
186
198
206
200
109
52
82
59
48
80
80
9
32
55
76
98
103
14
74
21
24
0
1
39
7
10
41
9
37
33
26
11
53
28
71
49
8
45
17
20
45
18
51
61
16
24
28
16
22
25
24
26
27
27
33
34
30
20
25
27
23
19
21
21
22
24
23
19
16
21
20
18
25
27
24
21
17
16
25
21
20
31
19
8
4
17
28
35
34
9
15
8
7
5
12
25
21
28
12
7
14
16
9
45
0
0
4
13
6
18
21
16
23
12
3
25
57
52
28
0
0
2
16
12
0
11
18
33
18
0
19
43
19
14
19
3
0
0
20
28
28
32
33
31
32
10
0
0
0
0
0
8
33
59
37
4
23
15
0
13
23
17
16
19
13
15
10
6
18
34
35
38
66
56
21
0
0
0
0
9
21
33
36
27
19
20
29
15
12
18
50
55
44
73
54
30
37
5
14
24
49
35
23
13
24
32
30
119
119
119
120
121
121
121
122
122
122
123
124
124
124
124
124
125
126
127
128
128
130
130
132
132
133
134
134
135
135
136
136
137
137
137
139
139
140
140
140
141
141
139
139
139
139
139
139
139
140
141
141
142
143
144
144
143
144
145
146
147
148
148
152
153
156
158
160
162
163
167
169
171
172
173
175
180
182
185
188
190
192
193
194
194
196
196
199
201
202
202
207
203
201
196
194
193
102
93
56
46
24
38
92
86
74
99
92
44
0
42
25
11
28
69
55
54
47
8
75
17
11
35
40
47
30
5
0
25
28
0
4
3
0
42
57
0
0
33
12
16
21
19
12
17
25
25
35
30
22
27
23
22
19
22
23
21
23
25
23
17
19
20
19
18
16
13
20
29
21
20
32
30
16
15
29
17
19
16
11
18
21
21
28
21
11
6
3
20
8
22
25
20
28
48
25
0
22
52
67
47
8
19
32
3
0
0
2
20
11
14
14
3
5
10
0
0
0
0
14
13
8
31
24
21
4
6
15
2
17
27
21
12
8
3
0
2
16
29
33
33
27
20
38
25
0
0
12
32
21
0
0
1
3
11
17
38
4
0
0
0
4
6
16
24
17
3
0
6
12
10
11
18
17
10
5
12
10
21
8
8
9
12
22
10
15
27
9
3
8
6
0
6
5
11
18
46
59
60
119
119
119
120
121
121
121
122
122
122
123
124
124
124
124
124
125
126
127
128
128
130
130
132
132
133
134
134
136
136
137
137
137
138
138
140
140
140
140
140
140
140
138
138
138
138
138
138
138
139
140
141
142
142
143
143
143
143
144
145
145
146
146
151
153
155
157
160
161
162
168
171
172
173
174
176
180
181
184
187
189
191
192
190
191
192
195
197
199
201
202
200
204
204
207
208
211
135
63
118
125
49
97
0
6
0
0
31
95
82
92
23
30
55
64
6
13
34
7
25
41
3
15
2
20
30
33
13
57
37
0
58
75
23
56
106
36
0
0
12
13
21
33
33
26
24
19
40
35
29
34
24
21
21
25
25
18
20
23
23
21
19
19
22
25
28
31
21
18
41
29
16
17
16
20
22
18
9
25
47
51
9
1
22
18
14
17
14
15
26
25
20
15
4
0
28
12
6
23
20
17
38
9
3
0
7
11
22
46
18
37
31
0
0
2
13
20
35
39
3
0
11
3
0
14
13
13
28
17
0
16
22
21
13
4
2
25
38
29
2
0
0
0
0
0
12
13
0
10
0
0
0
4
20
26
4
0
0
1
0
0
0
0
15
9
11
11
3
0
13
22
20
16
13
10
4
18
35
35
44
33
6
0
13
42
12
30
11
9
31
30
19
47
30
15
11
27
29
19
119
119
119
120
121
121
121
122
122
122
123
124
124
124
124
124
125
126
127
128
128
130
130
132
132
133
134
134
136
136
137
137
138
138
138
140
140
140
140
140
140
140
138
138
138
138
138
138
138
139
140
141
141
142
143
143
142
143
144
144
145
145
146
151
152
155
157
159
161
162
169
171
172
173
175
177
180
181
184
187
189
191
192
190
190
192
195
196
199
202
203
208
212
200
202
209
212
182
74
34
142
62
106
19
33
17
26
42
76
70
8
0
13
21
29
0
29
44
5
29
39
17
0
44
55
11
17
32
69
0
4
40
41
0
48
85
0
5
17
0
0
12
32
34
21
15
18
43
38
35
37
26
22
22
26
26
18
19
22
23
13
16
22
29
24
19
16
7
22
31
17
22
24
5
12
8
40
12
21
39
18
19
4
12
7
10
27
34
17
9
14
17
16
18
25
11
21
30
17
14
21
19
3
11
28
41
21
11
38
0
14
20
1
6
28
36
42
52
56
5
0
31
29
0
7
10
10
17
0
0
13
26
25
14
0
0
0
15
19
7
2
0
0
0
5
8
12
14
0
12
0
2
10
10
0
0
6
13
10
12
26
38
9
2
19
8
0
0
1
24
21
36
40
46
43
22
0
0
12
22
15
13
33
23
27
23
33
10
8
1
0
0
0
7
20
23
18
20
16
119
119
120
120
121
121
121
123
123
124
124
125
125
125
125
125
126
126
127
127
127
130
130
132
132
133
134
134
134
134
136
136
137
138
138
138
139
141
141
140
139
138
137
137
137
137
137
137
137
136
138
139
140
141
142
143
143
142
142
143
144
145
146
150
153
156
157
160
163
165
169
172
175
178
179
180
184
185
186
188
189
191
192
197
190
185
189
200
208
209
212
210
202
196
196
209
238
201
194
196
158
152
49
70
47
22
49
59
45
27
92
14
55
56
44
38
31
0
23
10
39
57
8
34
46
0
30
22
45
7
29
25
12
30
36
39
42
75
40
21
9
23
12
36
28
51
51
23
28
26
21
31
28
27
16
25
29
37
37
14
33
25
25
22
18
24
10
35
15
22
30
20
5
28
25
27
23
29
20
13
25
24
21
35
32
36
23
17
15
20
15
7
6
18
22
15
34
48
38
29
14
28
49
5
22
17
7
26
1
23
31
23
2
8
23
22
0
0
0
0
0
0
7
27
31
22
26
22
9
5
25
31
19
2
0
0
0
8
14
26
50
46
24
4
7
3
0
8
12
11
4
0
0
3
0
2
17
30
0
0
0
0
21
17
11
22
30
28
20
0
0
0
0
15
11
3
6
13
13
22
16
6
28
33
31
28
22
21
21
9
8
12
47
25
0
5
10
31
51
120
120
120
121
121
122
122
124
124
124
125
125
126
126
126
126
126
127
127
128
128
130
130
132
132
133
134
134
134
134
136
136
137
138
138
137
138
140
140
140
139
139
138
138
138
138
138
138
138
137
138
139
140
141
142
142
143
142
142
142
143
144
145
148
152
155
157
160
164
167
170
172
175
177
179
181
183
183
184
186
187
189
190
186
193
201
202
198
198
202
200
228
243
216
169
154
222
226
217
228
187
78
170
83
75
48
0
6
21
11
35
32
22
37
31
36
33
25
24
19
29
55
73
26
42
25
35
37
44
1
26
7
1
25
21
15
11
12
30
22
60
48
34
5
29
17
30
35
41
20
26
31
20
23
9
1
41
22
10
35
48
28
16
20
21
13
12
22
36
29
41
44
17
16
34
30
23
53
28
8
44
50
21
7
8
19
16
23
21
24
20
23
31
23
19
0
12
14
36
41
12
0
0
24
10
0
30
34
34
14
0
0
0
0
1
0
0
0
40
26
0
20
27
29
25
19
20
7
0
34
22
20
30
23
1
0
0
0
8
15
28
27
14
15
27
26
18
7
0
0
0
7
5
13
15
6
7
0
1
18
21
1
27
25
46
32
15
6
10
9
0
16
36
34
3
0
4
0
18
25
21
10
6
5
7
6
0
4
11
0
0
10
16
17
0
0
12
22
14
120
120
121
121
122
122
122
124
124
125
125
126
126
126
126
126
127
127
128
128
128
130
130
132
132
133
134
134
134
134
136
136
137
138
138
137
138
140
141
141
140
140
139
139
139
139
139
139
139
139
140
140
141
142
142
142
143
142
142
142
144
145
146
148
152
155
158
161
165
167
171
173
175
177
180
182
182
183
185
187
189
191
192
197
198
197
193
190
193
206
233
192
155
165
205
236
210
214
220
210
255
249
229
71
110
29
82
10
43
41
56
24
37
48
11
23
55
4
34
29
3
32
33
10
16
0
70
31
23
21
25
52
22
10
28
31
13
29
33
38
36
21
28
15
55
34
27
33
27
16
30
37
31
21
21
12
30
13
1
20
49
50
13
37
15
21
9
12
25
24
20
40
29
9
46
32
12
14
7
14
38
14
3
20
8
6
19
48
37
11
8
31
52
23
4
0
23
18
54
47
4
0
2
52
17
29
35
2
39
3
0
0
0
0
2
0
18
43
53
19
0
33
28
30
3
1
0
0
0
57
34
20
19
3
0
0
0
7
21
9
0
0
0
11
16
9
0
0
0
4
3
28
22
24
28
14
7
5
0
0
0
0
0
0
10
16
28
40
51
25
6
13
12
2
0
3
7
0
7
14
13
6
2
5
14
3
10
10
0
0
0
1
13
21
0
0
0
0
0
121
121
121
122
122
123
123
125
125
125
126
126
127
127
127
127
127
128
128
129
129
130
130
132
132
133
134
134
134
134
136
136
137
138
138
138
139
142
143
143
143
142
142
142
142
142
142
142
142
142
143
143
143
144
144
144
145
144
144
144
145
147
147
152
155
157
159
161
164
167
172
173
174
177
180
183
187
187
187
187
187
187
188
185
208
227
218
192
175
184
222
219
213
207
204
203
204
229
246
238
192
196
206
142
109
78
72
99
87
0
52
24
28
49
85
76
60
46
100
27
37
90
47
46
0
46
45
42
33
28
50
30
16
0
27
28
22
21
23
23
0
26
19
13
1
0
3
12
16
45
31
13
16
36
28
41
31
26
21
0
39
52
26
47
19
13
21
45
23
35
43
41
28
40
35
14
31
23
17
16
7
27
50
21
0
3
25
41
23
8
0
23
47
0
0
0
0
0
9
14
50
76
26
2
0
0
0
10
43
18
0
11
27
19
8
14
2
12
0
0
0
0
0
0
0
0
0
0
10
7
11
27
26
0
0
0
27
31
25
3
0
0
13
53
39
12
0
5
10
1
6
10
0
0
0
0
0
0
0
0
0
0
8
25
4
15
22
16
6
0
0
0
3
13
23
24
4
0
6
8
15
32
41
26
20
20
19
21
17
10
10
11
4
4
0
1
5
24
40
120
120
121
122
123
124
124
125
125
126
127
128
129
129
126
126
127
128
129
130
130
130
130
131
132
133
133
133
133
133
135
136
137
138
138
141
141
143
144
145
146
147
146
146
146
146
146
146
146
146
146
146
146
146
146
146
147
146
146
147
148
150
151
155
155
156
159
161
163
165
176
185
184
180
173
176
184
183
181
184
194
206
210
148
139
195
247
223
191
197
210
202
197
202
219
225
178
158
223
255
255
213
210
232
173
70
51
42
66
43
22
79
52
25
77
51
41
12
0
22
21
59
4
43
0
64
68
39
39
69
40
82
22
7
20
30
0
11
0
19
0
52
44
0
49
29
0
31
23
7
16
17
37
13
22
30
38
21
0
16
14
2
29
35
32
13
26
47
11
26
36
28
3
20
52
9
18
21
29
37
14
11
2
29
0
32
25
8
2
52
34
17
24
1
12
20
15
0
0
0
0
23
19
1
22
17
28
24
0
7
0
14
25
3
19
15
5
3
25
39
24
0
0
22
12
8
1
0
0
17
0
0
0
0
0
0
17
36
16
0
0
21
27
4
0
0
0
6
22
25
25
24
44
50
10
0
0
3
11
16
28
48
19
0
0
0
5
18
18
0
0
0
0
3
20
36
48
18
6
9
12
23
42
32
19
1
0
0
0
12
36
60
52
13
17
38
4
10
13
120
120
121
123
123
124
124
124
125
125
127
128
128
129
126
126
127
129
129
130
130
130
130
131
132
133
133
134
133
133
136
137
138
139
140
142
142
144
145
147
147
148
147
147
147
147
147
147
147
148
148
148
148
148
148
148
148
148
148
149
151
152
154
156
156
157
158
161
163
164
175
167
160
175
194
189
183
183
197
217
214
186
157
200
231
216
177
184
207
203
186
192
214
228
208
175
189
237
255
234
236
226
219
191
80
136
123
67
101
80
67
59
66
101
76
70
50
85
13
0
27
18
0
40
13
51
47
32
31
57
19
27
0
46
48
21
16
10
17
30
0
24
10
0
49
35
7
25
12
19
17
19
27
31
36
27
56
40
12
6
5
16
55
36
24
8
29
28
37
15
18
34
10
8
28
22
6
19
13
34
37
28
5
39
14
28
14
7
32
39
14
2
22
4
9
27
43
11
0
0
0
37
12
28
61
44
22
0
0
26
13
26
18
0
10
0
0
0
32
38
6
0
0
33
10
0
14
27
12
34
11
6
21
23
16
4
7
12
16
12
10
20
26
0
0
0
15
39
56
0
0
0
16
14
0
0
0
13
13
6
10
26
0
0
9
16
22
15
4
9
22
21
14
13
13
11
28
15
0
0
0
1
7
0
0
12
16
21
0
0
0
0
0
0
4
29
14
12
0
121
121
122
123
124
125
125
124
124
125
126
127
128
128
127
127
128
129
130
131
131
131
131
133
134
135
136
136
135
136
139
142
144
145
146
146
147
149
150
151
152
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
155
156
158
159
161
161
161
160
160
160
161
162
163
163
170
177
173
173
187
170
139
139
188
236
237
205
190
197
201
197
197
211
217
180
180
187
200
207
211
237
198
228
208
146
255
235
235
145
52
139
117
145
44
4
60
0
46
16
77
34
32
57
56
70
32
34
12
8
14
30
36
48
15
32
18
38
44
55
37
26
38
41
5
13
18
0
35
39
2
19
32
18
7
3
40
26
0
8
0
58
18
25
13
36
35
33
23
32
17
24
10
39
20
27
37
16
36
22
6
26
9
9
84
36
0
0
13
0
0
18
55
45
0
0
0
0
0
0
0
32
17
3
1
11
34
33
28
22
4
17
31
7
14
0
0
0
1
23
15
4
5
1
0
4
6
4
0
10
2
0
0
18
0
0
7
23
41
59
42
0
0
0
14
8
5
8
0
15
3
0
2
0
0
0
14
23
12
5
22
30
21
3
0
0
5
5
3
25
30
29
15
8
30
38
53
43
41
44
41
18
9
0
11
28
38
38
31
33
12
12
8
0
56
56
38
8
19
33
26
18
31
24
121
122
122
124
125
125
126
125
126
126
128
128
129
129
127
128
128
130
131
131
132
133
134
136
138
139
140
141
143
143
146
148
150
151
152
152
152
155
156
157
158
158
158
158
158
158
158
158
158
157
157
157
157
157
157
157
161
162
164
164
165
164
164
165
164
164
164
165
166
167
165
191
204
156
114
147
245
206
177
181
192
191
186
179
205
207
192
180
171
176
222
185
184
224
239
213
218
202
157
227
243
97
161
43
79
87
96
218
124
77
91
96
106
69
5
72
12
7
0
20
14
12
25
7
67
35
25
0
52
54
73
28
36
35
42
4
27
23
31
17
40
34
0
27
21
0
13
25
32
16
45
38
0
23
2
0
26
0
13
8
22
21
14
51
50
14
1
15
21
6
11
30
6
0
8
41
22
15
0
28
19
0
49
32
8
3
16
44
35
2
24
4
0
19
50
36
5
0
3
22
4
0
0
20
1
0
23
25
0
21
0
0
22
19
7
32
27
8
26
43
33
25
29
29
0
0
0
2
24
22
10
0
0
0
0
1
32
33
9
0
0
0
0
31
0
14
45
21
12
28
34
2
0
0
13
16
7
29
17
5
11
13
1
17
0
0
0
7
30
29
18
0
0
0
0
0
4
4
6
0
0
0
0
0
0
23
35
45
21
20
9
4
11
14
19
14
0
0
19
122
122
123
124
125
126
126
126
126
127
129
129
130
130
128
128
129
130
131
132
132
135
135
138
140
141
143
143
147
147
150
151
152
153
154
154
155
157
158
159
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
164
165
166
166
165
164
164
166
166
165
166
167
169
170
159
128
117
149
211
226
166
182
191
187
184
189
189
209
198
169
146
165
210
225
191
213
228
223
209
206
227
175
225
249
93
172
198
81
165
79
241
228
68
97
109
74
104
117
16
30
0
64
24
0
61
70
51
30
56
41
20
11
16
17
43
34
47
21
43
20
30
22
19
50
35
23
5
16
8
0
9
14
36
11
43
19
4
14
0
8
21
20
15
0
31
23
7
42
36
3
2
22
19
15
16
46
29
7
9
43
10
13
0
16
27
0
46
20
22
14
7
16
27
20
23
0
0
34
56
39
0
0
17
25
2
0
11
18
4
0
12
1
0
23
12
0
1
5
16
62
4
1
35
45
15
0
0
39
24
0
1
18
24
42
24
14
4
0
0
0
26
36
26
9
8
11
0
31
0
0
18
12
11
26
38
27
14
11
9
0
27
14
0
0
5
24
18
33
0
8
24
32
23
25
48
62
54
23
0
0
0
1
10
17
14
13
0
0
0
0
0
30
56
20
0
0
9
9
17
31
23
10
3
125
125
125
126
127
127
127
127
127
128
129
130
131
131
131
131
132
133
134
135
135
137
139
145
147
149
150
150
152
152
154
155
156
156
157
159
159
160
160
161
161
161
162
162
163
163
164
164
164
172
165
165
163
160
165
172
170
173
177
176
171
170
173
172
178
181
175
156
132
115
215
207
178
175
163
157
169
176
177
183
198
194
162
165
235
213
176
198
187
172
234
222
206
214
225
201
189
255
121
130
82
72
32
118
168
255
182
102
194
71
132
177
224
87
109
91
78
68
117
67
49
85
54
62
65
37
23
44
49
10
57
72
35
40
32
55
22
5
11
52
8
27
23
43
56
1
17
26
1
0
0
18
29
69
18
0
9
80
28
41
65
0
0
1
0
0
23
41
6
16
30
20
13
26
36
13
0
13
29
20
2
8
29
1
48
51
19
14
0
28
16
0
0
24
51
28
34
28
44
12
0
1
27
0
0
24
55
27
0
26
58
38
9
6
11
47
0
0
1
10
0
0
7
49
0
0
0
17
34
5
31
36
53
31
0
15
22
7
0
0
0
0
1
0
0
22
19
0
0
0
15
0
2
14
13
42
24
0
0
0
6
11
9
0
0
9
4
0
0
17
0
2
9
13
0
0
20
6
4
20
11
9
28
14
32
35
61
64
34
0
0
0
0
4
11
8
11
7
0
125
126
126
127
127
127
127
128
128
129
130
131
132
132
131
132
133
135
137
138
138
141
143
148
151
152
153
153
154
154
155
156
157
157
158
159
159
159
160
160
160
161
162
162
162
163
163
163
164
165
163
168
172
171
169
168
170
169
178
176
167
174
190
148
118
140
193
218
191
151
174
174
166
170
170
166
203
198
165
136
167
221
230
168
197
176
175
184
201
232
205
221
211
186
158
182
128
235
255
189
152
203
204
149
249
125
159
176
117
144
229
188
149
169
156
146
62
92
0
17
53
12
30
2
26
45
75
34
38
0
46
85
69
30
101
62
6
13
44
16
28
48
47
48
26
30
20
29
21
1
0
3
10
22
2
33
0
22
5
10
34
12
5
0
0
20
12
8
0
17
39
0
0
9
65
2
11
6
8
29
18
9
0
48
32
0
0
0
7
48
3
0
0
11
1
30
0
34
11
12
18
7
60
0
8
31
43
29
0
19
17
0
12
64
48
5
0
0
0
4
9
20
27
0
0
29
0
0
5
14
6
25
0
0
17
18
14
0
0
5
28
36
32
22
0
0
7
38
28
32
37
0
0
6
0
0
42
53
19
0
0
0
13
27
16
13
2
0
0
12
0
0
0
5
26
23
16
21
0
23
38
41
22
23
85
50
9
0
5
13
0
0
30
23
11
1
8
19
27
126
126
126
127
127
128
128
128
129
129
131
132
132
133
132
132
134
137
139
140
141
144
146
151
153
154
155
155
155
155
156
157
157
158
158
158
158
159
159
160
160
160
161
162
162
162
163
163
163
168
168
169
169
168
166
165
173
174
167
174
182
167
138
148
192
204
185
163
161
169
172
189
191
164
183
214
143
125
151
216
228
176
156
188
171
186
187
219
230
193
212
194
189
173
174
253
183
255
239
170
245
225
120
237
144
137
159
180
115
161
223
216
134
201
168
145
83
77
9
18
62
55
62
0
32
38
81
35
38
13
63
66
73
56
40
38
77
53
35
43
76
47
19
43
0
14
42
36
36
9
0
3
24
7
0
46
0
0
0
0
9
30
0
14
0
9
12
20
18
0
4
15
19
22
48
12
14
12
8
34
28
5
0
28
10
0
0
0
37
46
7
0
0
8
10
29
0
17
2
6
27
29
52
21
21
26
27
5
0
0
0
0
44
70
46
11
0
0
2
3
7
18
26
0
33
63
29
0
0
23
6
25
17
0
0
1
32
13
2
15
29
31
23
22
0
0
16
6
6
17
58
12
0
0
0
0
24
48
47
31
12
9
15
11
11
43
47
5
0
12
21
37
22
10
5
0
9
22
3
0
0
0
45
32
0
12
26
24
16
33
24
2
0
0
14
30
17
12
15
127
127
127
128
128
128
129
130
130
131
133
133
134
134
133
134
135
141
143
145
146
149
150
155
156
157
158
158
157
157
157
157
157
157
157
157
158
158
159
159
159
159
160
161
161
162
162
162
162
163
168
165
164
167
172
173
186
170
138
128
154
186
201
168
170
179
188
189
181
171
186
209
187
136
127
168
224
197
173
179
193
188
175
171
197
238
211
199
218
193
196
146
149
255
115
196
200
150
223
239
185
165
223
118
213
180
243
147
166
225
146
189
154
214
159
212
173
153
93
30
93
78
35
35
41
77
68
56
71
148
107
106
83
48
37
51
0
69
96
22
42
40
18
33
21
39
37
5
17
0
0
4
41
32
26
55
0
19
44
0
11
9
0
37
0
5
0
35
61
19
17
0
51
0
0
21
3
24
22
36
20
30
23
32
54
2
0
0
0
42
0
11
42
24
5
15
23
17
32
0
12
50
6
1
13
35
20
0
15
8
14
66
95
72
39
4
33
23
0
0
12
24
31
26
51
25
33
12
4
13
0
0
0
0
10
59
0
0
0
6
13
18
19
21
22
7
7
34
42
0
35
79
28
0
15
0
32
20
35
33
19
5
0
15
78
29
0
7
23
32
11
12
15
11
6
10
0
0
0
12
18
35
29
19
52
18
0
0
5
8
0
17
5
5
15
20
0
12
62
127
127
127
128
129
129
129
131
131
132
133
134
135
135
133
134
137
143
146
148
149
150
152
156
157
158
158
158
157
157
156
156
156
156
156
157
157
158
158
159
159
159
160
160
161
161
162
162
162
169
161
163
173
178
167
152
158
189
191
175
163
166
173
175
173
171
171
176
183
189
110
164
209
203
207
211
169
193
186
158
166
199
207
228
190
207
207
183
208
192
156
251
140
152
252
228
204
208
201
115
190
254
244
255
253
211
216
176
222
199
249
103
219
160
181
177
201
109
174
223
185
139
96
111
137
57
104
126
38
235
178
197
119
112
62
12
29
25
51
79
22
54
72
23
52
67
61
42
54
25
64
43
19
37
0
4
7
2
22
0
0
38
25
39
3
0
25
61
0
26
3
36
18
14
0
0
0
3
6
32
0
28
53
17
23
10
40
10
9
33
13
30
41
9
17
0
0
35
13
0
10
22
20
44
11
0
0
28
30
0
0
39
45
0
0
0
46
71
52
28
14
18
35
5
52
21
9
0
6
45
18
56
55
31
44
44
0
7
27
26
25
27
11
0
0
15
37
19
14
21
79
6
0
7
0
0
20
2
37
37
18
21
0
0
15
0
3
19
1
0
2
17
11
8
23
31
22
59
14
7
0
0
10
38
62
3
0
8
31
0
0
7
0
4
12
8
16
18
11
128
128
129
130
131
132
133
133
135
138
140
141
145
148
142
144
147
149
151
153
155
157
157
156
155
156
156
156
155
155
155
155
155
155
155
155
155
157
158
158
159
160
169
161
170
170
166
163
157
155
172
185
165
131
126
144
186
158
167
175
170
185
175
180
167
178
207
184
126
97
207
191
168
193
190
163
196
152
155
189
181
195
236
190
209
205
192
199
154
102
255
142
164
255
213
143
239
223
144
172
229
237
122
229
233
197
220
178
242
123
207
133
216
143
220
164
182
191
214
201
191
195
205
181
160
148
149
131
182
211
220
206
218
161
152
125
44
64
39
55
50
36
1
51
41
14
18
23
85
11
45
26
60
10
56
25
47
14
0
0
18
33
4
49
29
8
14
51
0
28
0
0
38
48
18
0
3
3
22
0
0
19
10
26
0
19
23
26
26
0
0
34
13
17
0
0
43
42
0
35
52
0
0
48
43
8
0
9
37
40
4
0
0
0
5
9
39
21
35
32
13
37
17
37
0
0
9
31
31
34
3
30
65
100
45
3
3
29
18
6
33
25
13
0
25
1
39
50
0
87
62
38
0
0
21
20
1
8
26
40
9
0
59
38
3
9
32
39
42
2
4
42
20
0
0
30
22
23
0
12
28
29
0
0
14
37
44
33
13
22
18
8
15
0
0
0
2
23
52
131
131
130
131
131
132
131
129
130
131
131
133
136
139
143
143
146
150
151
154
156
157
155
156
155
155
156
156
155
155
155
155
155
155
155
154
155
156
157
157
158
158
159
164
173
159
145
156
174
170
124
169
189
164
153
172
174
165
185
186
166
171
175
180
133
97
136
203
206
164
214
192
150
181
204
186
190
199
176
195
229
200
181
208
200
201
140
141
190
240
146
235
227
188
185
215
172
136
190
233
212
118
231
232
195
223
164
245
132
133
146
193
180
187
201
116
149
198
202
202
201
199
197
199
201
199
212
198
214
214
211
199
212
208
187
200
133
83
127
116
58
0
57
23
40
44
83
46
36
46
94
70
7
28
18
62
4
8
80
0
0
35
35
35
31
73
64
18
10
0
13
0
37
26
3
1
22
0
0
17
25
0
15
8
0
16
37
9
7
25
0
1
24
44
47
45
17
14
0
45
34
0
35
41
17
11
41
44
8
14
21
16
0
5
36
29
0
12
6
7
15
9
22
0
0
12
18
16
22
43
12
61
53
11
0
1
5
25
21
27
58
0
1
0
8
3
43
16
0
11
0
14
0
0
0
11
3
22
14
22
27
20
46
51
0
0
0
0
8
0
11
10
11
28
21
0
5
2
0
3
30
43
44
20
0
0
0
0
0
10
17
36
26
38
42
29
0
0
10
132
132
133
131
132
132
129
126
125
125
123
125
127
130
142
145
148
151
154
156
158
158
156
156
155
155
155
155
156
156
156
156
156
156
156
155
155
155
156
156
156
156
147
158
175
166
144
133
133
188
163
167
168
164
167
176
184
179
159
176
197
149
76
210
202
149
160
188
199
219
175
200
199
159
172
198
185
193
235
195
187
210
180
180
91
175
178
217
200
118
228
186
149
220
242
177
156
193
247
142
169
219
225
200
204
169
239
143
146
204
152
210
174
171
172
148
145
224
197
200
202
202
200
202
204
197
205
202
203
207
210
201
202
205
211
200
185
194
185
196
185
199
213
127
98
110
97
46
28
68
67
85
62
77
27
53
45
11
67
13
3
47
33
0
58
12
37
42
14
49
0
19
0
6
30
22
30
12
5
48
2
25
30
0
0
2
5
0
0
6
11
12
54
70
0
7
24
83
49
35
2
11
14
15
9
30
44
34
21
22
44
40
42
21
1
48
16
0
1
25
24
36
12
0
0
0
22
46
42
0
0
24
43
43
9
11
4
34
30
22
52
3
33
30
25
41
19
5
13
2
28
21
24
22
8
0
39
62
28
0
0
3
38
30
4
1
12
11
13
0
9
12
18
7
1
18
16
8
0
18
33
36
41
10
0
0
0
0
15
28
14
0
0
20
30
7
33
27
0
132
132
132
133
132
132
131
127
127
126
126
126
129
131
143
146
149
152
154
157
159
157
157
156
156
155
154
154
156
156
156
156
156
156
156
155
155
155
155
155
155
155
151
163
136
123
145
166
165
158
172
181
178
170
170
177
164
180
168
136
120
144
201
168
173
186
190
186
178
170
199
181
164
171
173
171
208
249
170
188
218
178
188
100
175
179
219
188
99
252
191
170
216
231
203
171
207
223
197
134
216
191
247
210
194
206
210
100
196
199
185
178
184
180
141
162
184
209
199
199
200
202
203
200
198
202
203
203
203
208
210
204
217
209
198
193
196
191
193
220
211
212
190
199
175
162
205
174
111
118
93
61
53
132
86
19
41
21
25
50
0
45
48
14
60
3
36
53
13
38
0
31
0
5
44
44
39
0
0
43
14
0
20
0
0
24
4
0
8
1
0
2
48
17
5
34
5
69
29
16
10
13
9
27
10
19
41
25
0
29
28
41
27
10
35
45
17
0
0
17
9
35
7
0
0
12
27
35
38
5
9
0
0
6
0
0
24
5
27
50
26
61
13
30
51
26
29
27
1
3
1
3
23
24
14
0
29
20
63
74
40
3
0
11
11
5
19
25
33
0
0
5
13
0
0
7
19
38
39
41
26
23
33
13
10
9
35
43
2
0
7
5
14
0
0
10
13
16
41
125
125
128
131
134
135
136
134
135
137
137
138
141
144
142
144
147
151
153
156
158
157
157
156
156
155
155
155
158
158
158
158
158
158
158
156
156
156
156
156
156
156
111
177
173
153
152
162
163
165
168
170
167
167
175
186
120
154
181
186
171
154
188
175
195
189
167
183
205
192
171
186
188
174
186
209
174
222
186
194
210
131
122
177
217
178
113
209
228
196
198
236
229
173
157
182
240
174
165
198
217
239
203
206
193
206
121
195
160
198
208
164
141
199
129
186
222
196
203
202
202
201
200
203
205
202
195
206
206
205
200
213
213
204
210
209
201
207
191
205
218
193
213
180
203
187
190
180
181
177
188
175
185
139
122
106
77
65
70
19
27
73
31
98
9
35
8
31
55
5
29
27
38
0
42
21
31
5
24
52
11
22
38
57
3
44
1
39
58
0
0
2
24
2
6
53
20
52
0
0
39
0
0
32
16
16
0
7
55
58
25
0
12
34
35
29
22
0
0
0
27
17
2
9
0
3
46
92
83
25
8
38
34
31
5
1
14
21
17
23
34
33
3
32
61
50
0
0
17
0
7
5
36
40
35
20
2
72
78
64
56
64
0
0
0
15
45
43
24
0
3
2
1
23
30
3
18
30
45
14
0
12
33
0
5
66
24
5
11
23
28
16
0
0
3
23
16
7
12
118
120
122
129
134
138
140
137
143
148
152
154
156
159
140
147
150
151
153
156
157
166
164
160
159
157
153
149
157
164
166
161
166
167
158
153
163
147
130
136
160
181
163
152
156
164
161
152
149
164
175
159
139
121
140
187
179
159
171
190
166
160
202
180
187
190
182
176
177
176
170
180
182
211
207
166
165
207
188
82
178
205
174
225
109
223
175
211
178
181
229
149
185
157
212
215
137
205
202
208
239
184
214
201
198
127
181
162
186
153
173
144
161
175
169
145
217
211
201
200
200
201
201
203
203
201
201
203
204
206
205
206
206
208
207
204
203
202
202
189
189
189
188
190
190
190
191
191
191
191
190
190
190
168
202
196
130
110
90
83
76
54
91
0
26
40
52
42
20
37
7
27
37
32
6
26
6
23
15
28
0
4
19
0
16
41
22
46
51
11
29
8
17
31
27
15
54
16
0
22
65
64
5
4
0
8
8
31
80
24
15
0
0
21
5
10
35
20
16
0
9
27
26
0
0
13
0
23
7
0
0
0
20
41
18
0
0
0
61
50
52
0
0
87
4
2
8
18
26
15
10
13
0
0
24
47
7
0
0
0
0
16
20
3
0
0
25
41
29
19
0
0
0
1
0
0
29
10
0
0
0
25
2
4
15
22
6
0
4
2
0
0
6
15
21
14
25
26
11
117
118
122
129
132
136
139
140
144
148
146
143
147
154
137
140
144
148
149
153
154
157
152
153
157
158
152
146
159
142
153
154
150
151
153
168
154
133
147
162
159
146
156
160
161
159
158
164
173
175
128
115
151
185
185
174
177
183
179
168
179
188
172
181
193
192
167
164
179
177
164
205
223
168
180
217
208
158
72
212
190
162
187
125
201
203
207
174
144
213
182
155
167
189
203
221
183
218
183
230
217
176
214
220
162
115
190
156
185
155
164
139
207
149
196
116
207
197
201
200
200
201
201
203
203
201
202
203
204
206
205
204
205
205
205
204
202
202
201
183
183
183
184
186
189
189
190
191
192
193
193
192
192
197
194
177
194
184
138
99
76
64
59
9
13
25
19
38
28
41
14
19
31
46
37
46
10
43
23
0
22
37
0
0
20
6
13
39
57
0
51
77
35
13
1
11
63
43
11
28
58
81
40
0
0
0
40
66
47
8
8
7
3
0
0
19
10
41
52
10
0
53
35
0
0
13
0
0
6
7
15
0
0
0
0
11
16
0
0
45
2
63
63
0
68
25
0
16
7
0
17
39
15
13
30
55
43
0
2
17
9
0
35
26
6
0
14
54
36
0
13
10
25
20
1
23
27
43
21
15
17
21
18
20
16
21
0
0
30
27
9
19
18
21
22
15
16
21
15
121
122
125
129
131
132
132
132
127
125
134
134
129
121
138
135
136
142
141
142
145
168
169
169
164
157
153
150
150
138
159
157
143
136
135
160
152
165
164
152
152
162
167
153
162
162
157
144
126
147
188
170
163
174
178
172
167
174
181
159
166
188
180
175
169
172
183
182
178
182
207
193
202
177
185
200
143
215
185
191
170
207
124
229
184
222
150
195
216
191
169
155
208
212
229
156
205
180
227
212
188
206
165
146
140
185
140
174
167
181
160
129
184
160
175
132
202
202
201
200
200
201
201
203
203
203
203
204
205
205
201
201
201
201
200
199
200
199
199
183
183
183
184
186
188
189
188
189
189
190
189
189
189
193
189
185
197
193
186
183
187
160
135
49
80
58
0
74
59
63
30
32
46
21
42
47
7
33
0
0
32
4
0
19
0
0
13
25
51
13
36
0
0
57
32
34
31
0
0
45
44
5
36
40
45
8
49
28
0
25
48
49
17
1
15
21
12
31
33
53
28
30
0
57
25
24
0
23
8
26
20
52
56
18
6
16
15
27
40
29
0
48
0
64
18
0
0
0
16
1
8
7
33
32
46
52
16
10
31
27
14
18
16
30
25
43
0
0
10
0
13
16
2
0
0
23
24
44
10
17
31
52
39
8
0
0
2
2
0
19
25
29
56
21
4
11
19
23
26
129
129
130
130
130
128
124
122
126
117
82
71
39
2
48
37
30
32
28
28
35
31
44
88
109
127
136
140
150
116
147
172
164
142
126
167
164
152
164
175
160
133
174
132
143
155
175
184
172
173
171
161
168
189
191
172
147
163
199
188
171
177
178
176
186
190
182
180
186
189
224
177
196
144
111
221
190
154
199
194
95
196
219
203
154
181
216
200
156
165
185
225
166
192
164
225
189
209
205
173
204
165
204
164
178
169
141
185
143
193
142
163
152
170
138
179
202
211
201
200
200
201
201
203
203
203
204
205
204
202
200
199
197
197
196
196
196
195
195
194
194
195
194
194
192
192
189
187
187
183
182
181
181
171
176
184
180
184
197
204
200
180
195
168
173
127
142
65
23
62
33
14
41
19
48
85
49
48
40
0
0
80
1
52
36
6
8
21
31
20
8
4
0
0
22
0
36
34
0
0
16
22
8
0
26
28
24
63
23
39
29
37
25
0
0
24
55
35
24
2
38
61
36
1
17
0
32
42
57
3
0
15
22
34
32
19
0
36
0
22
25
20
44
32
0
23
13
0
37
11
10
40
23
29
34
11
0
0
6
2
0
6
15
4
30
0
0
0
6
57
8
8
0
0
19
50
0
0
28
4
0
0
0
0
17
13
7
3
12
12
2
3
40
47
38
11
22
27
11
143
137
128
124
130
135
133
128
102
84
69
73
73
62
16
32
26
44
55
50
51
53
38
79
95
91
97
117
155
161
139
123
162
165
176
162
153
139
149
155
143
124
143
168
160
159
165
169
172
184
169
180
189
185
154
128
195
180
164
180
189
178
171
171
177
188
177
156
191
203
220
89
152
232
166
176
205
204
111
177
243
185
205
177
197
222
145
191
163
165
205
213
168
175
224
173
206
222
174
191
185
198
161
150
200
113
195
139
190
182
166
179
149
173
151
198
200
201
198
197
198
199
199
201
201
203
203
203
202
202
201
201
202
201
201
200
198
197
197
191
191
190
189
186
185
185
182
183
183
184
185
185
185
184
184
184
185
186
186
186
186
185
185
185
185
184
184
201
210
90
48
80
80
19
48
9
14
58
60
12
24
21
68
49
46
0
20
84
2
0
76
9
58
35
0
0
40
3
0
31
33
5
13
24
0
18
43
34
67
53
33
45
16
10
68
9
11
12
51
63
80
68
72
0
12
24
24
34
29
19
35
31
42
56
16
2
0
27
26
32
9
12
33
51
102
49
3
55
37
56
26
26
20
20
8
0
5
0
8
18
26
48
58
72
13
19
52
35
4
30
0
13
0
0
0
0
22
22
0
2
8
22
67
45
9
0
9
10
20
30
11
34
29
20
1
0
6
4
11
141
136
128
124
132
136
135
136
114
94
59
58
58
54
25
24
27
32
38
41
32
44
47
47
39
56
110
165
130
129
96
154
173
154
145
149
163
172
147
127
134
154
166
161
160
168
172
175
181
159
167
168
162
142
174
210
157
160
185
170
147
158
175
185
199
165
155
226
205
204
61
176
193
163
193
195
204
103
173
232
168
202
163
192
201
178
169
157
157
181
204
195
150
223
170
179
218
196
186
194
179
190
167
182
157
139
188
136
199
150
159
179
157
163
165
198
199
199
198
197
198
198
199
201
201
203
203
202
202
202
201
201
201
201
200
199
197
197
196
191
191
190
189
186
185
185
182
182
183
184
184
184
185
184
184
184
185
185
186
186
185
185
184
184
183
183
183
184
192
157
128
127
97
33
42
62
35
13
33
1
70
34
12
11
27
23
37
28
13
6
32
38
64
32
0
2
45
43
0
14
23
23
30
13
0
0
26
43
46
7
54
33
14
38
28
36
6
0
34
57
63
32
30
0
0
13
37
25
5
18
41
36
54
24
21
32
16
0
23
36
23
14
52
0
6
27
28
48
25
12
41
61
56
84
64
0
0
1
22
15
0
0
5
46
22
29
53
30
5
27
4
0
7
28
31
6
14
50
12
21
27
35
35
15
0
0
17
20
2
0
0
9
20
14
0
0
13
20
31
136
131
127
128
134
140
138
130
115
104
64
55
62
68
73
52
51
58
61
69
67
70
54
35
44
56
59
56
105
71
164
128
146
154
146
126
118
155
170
164
159
162
155
167
166
166
162
160
166
194
124
154
199
175
174
173
180
175
165
164
176
184
180
150
158
216
194
212
143
85
191
164
176
193
167
213
152
250
184
191
194
150
183
180
172
180
161
185
182
223
167
192
208
164
213
166
176
181
198
187
164
178
153
188
118
185
153
170
189
129
182
168
164
135
201
198
197
196
197
196
197
198
199
200
200
201
201
201
201
200
200
199
198
198
197
197
196
196
195
190
190
189
188
185
185
184
182
182
182
182
182
182
182
182
183
183
184
184
184
184
183
182
182
180
180
179
179
196
179
177
172
162
154
144
73
29
72
54
17
51
0
37
23
0
8
69
19
35
6
0
17
48
50
23
9
17
78
47
0
5
42
15
33
0
4
0
5
40
16
6
25
70
43
2
40
51
24
15
24
0
1
0
10
54
32
2
0
21
47
8
37
19
42
18
50
39
19
37
52
0
37
47
36
37
26
40
4
25
29
26
39
74
56
65
29
0
28
3
21
25
18
16
7
8
29
44
45
20
16
0
17
23
38
43
54
59
0
0
9
16
29
52
51
26
15
12
0
0
27
30
26
27
29
37
23
5
10
9
12
127
126
125
133
140
143
142
129
114
108
80
63
59
58
57
56
32
34
31
25
42
26
21
39
33
24
39
65
66
82
149
107
100
150
150
169
155
166
173
165
159
162
163
164
162
172
175
162
149
118
183
173
183
183
194
175
202
197
187
202
179
135
125
206
189
187
94
145
226
179
193
195
181
187
111
147
194
206
187
158
191
193
221
178
151
143
176
205
217
146
213
181
183
199
170
250
193
209
182
154
167
155
161
129
190
164
146
194
138
156
187
157
148
152
201
200
196
197
195
196
196
197
198
199
200
200
200
199
199
199
198
198
194
194
194
194
194
194
194
190
189
188
187
185
184
183
183
183
183
182
182
182
182
181
181
181
182
182
183
183
182
181
181
178
177
176
176
171
179
172
169
171
169
163
158
175
91
81
68
55
35
14
0
0
24
8
49
7
4
39
0
4
74
40
9
0
22
28
0
0
12
26
31
5
24
35
22
6
28
17
21
49
20
0
54
63
44
34
14
0
0
0
11
23
35
32
0
9
42
22
45
0
0
0
51
46
40
15
61
58
47
7
7
0
0
25
5
14
52
0
0
2
23
81
68
17
5
0
15
26
16
21
37
15
26
43
39
8
1
0
22
0
5
0
0
19
16
5
28
31
16
0
13
17
17
3
24
17
7
15
0
0
24
20
3
0
4
0
0
123
123
125
135
141
144
142
145
130
124
84
62
54
55
56
58
49
17
14
16
23
41
30
24
33
42
47
53
76
95
114
128
185
131
173
141
155
156
158
168
166
155
166
167
174
171
148
134
140
193
178
179
169
179
179
191
187
162
171
193
141
122
197
194
160
103
205
224
156
177
188
179
226
137
133
232
197
191
150
175
195
195
137
147
161
190
208
210
159
148
200
181
179
196
205
190
198
184
190
133
183
119
211
153
190
151
166
175
145
150
182
162
141
175
193
204
196
197
195
195
196
197
198
200
200
199
199
199
198
198
197
197
193
193
193
193
193
194
194
189
189
188
187
184
183
183
185
184
184
183
183
182
182
180
180
181
181
182
182
182
182
181
181
178
177
176
175
175
178
168
171
174
174
173
178
147
168
158
86
74
32
0
38
0
0
47
26
30
32
43
49
5
92
19
0
0
33
5
0
0
8
19
0
36
66
82
70
0
0
44
4
14
4
0
15
13
40
56
66
9
0
0
38
8
11
38
31
3
4
27
33
10
0
8
17
25
33
79
40
18
13
25
8
13
0
8
11
10
5
22
1
0
6
51
82
84
0
0
0
10
31
24
21
33
33
35
23
0
4
1
15
0
5
17
24
21
0
0
0
0
0
0
0
11
32
17
19
5
0
28
21
0
0
0
7
24
21
10
20
119
124
130
139
141
143
141
144
130
124
123
96
61
40
61
50
63
11
7
10
18
27
25
23
27
28
21
15
36
152
167
126
152
147
159
166
161
168
167
170
170
165
170
159
148
148
168
181
176
172
183
177
181
193
190
177
176
159
121
158
197
184
196
182
206
195
199
202
190
191
203
153
118
226
215
165
152
176
167
206
167
162
189
189
178
212
189
160
155
206
178
194
191
196
221
148
153
198
132
191
107
216
181
204
172
138
190
153
186
160
167
146
162
187
201
196
195
193
195
193
194
196
197
198
198
197
197
196
196
195
194
193
193
192
191
190
190
191
192
186
186
186
186
186
186
186
184
184
184
184
184
184
184
183
183
183
182
181
181
181
182
181
181
178
177
176
176
167
167
172
173
176
177
177
179
175
166
160
157
155
153
144
17
83
28
0
46
42
42
3
18
74
6
11
42
17
46
67
49
0
0
42
37
2
17
64
73
0
2
0
46
38
46
13
5
6
45
56
36
13
4
0
0
24
72
0
0
38
26
54
94
10
0
5
36
6
0
0
0
57
12
18
43
19
15
12
15
25
1
36
21
43
56
31
25
60
6
15
10
21
23
9
30
36
18
23
20
3
0
23
26
38
31
19
12
14
20
38
23
0
0
0
0
0
9
16
29
49
69
35
18
26
21
7
8
11
18
27
11
125
129
136
142
141
139
139
135
136
136
125
112
91
73
73
78
38
37
35
0
6
7
16
24
21
21
23
25
89
85
105
157
150
163
156
150
154
164
163
165
171
174
144
161
184
168
163
176
173
183
181
186
181
172
174
186
144
185
180
182
200
175
188
184
169
171
187
210
160
224
108
229
181
174
229
141
180
209
147
176
208
173
167
198
206
192
144
160
213
176
195
184
191
230
158
201
200
118
198
117
195
228
117
176
137
166
158
205
142
174
141
154
167
187
199
194
194
192
193
193
194
196
196
198
199
197
197
196
196
195
193
193
191
191
189
188
188
188
189
185
185
185
185
185
185
185
184
184
184
184
184
184
184
183
183
183
182
182
182
181
181
181
180
177
176
175
175
167
168
171
172
174
176
175
177
174
168
165
162
160
160
153
167
136
137
121
83
92
76
0
44
11
17
0
18
54
0
83
94
27
13
0
52
9
11
59
43
52
0
42
57
37
44
25
14
18
37
37
29
26
21
8
28
26
19
6
6
20
26
75
24
15
0
31
39
29
79
0
10
0
12
20
11
10
0
58
11
17
36
23
18
38
51
6
12
57
38
28
20
21
19
2
15
30
42
43
36
7
0
16
35
31
2
19
23
0
48
23
19
37
36
0
0
11
0
0
0
20
27
0
0
0
41
28
11
0
0
0
13
127
131
138
141
137
136
134
135
139
139
126
117
96
75
46
68
93
22
5
0
0
0
12
22
18
17
23
29
77
75
108
177
150
163
160
169
169
167
169
162
150
143
131
183
169
177
171
164
183
183
178
178
176
173
175
181
189
199
178
179
181
190
187
166
200
188
195
163
211
176
243
199
181
224
136
181
194
141
151
234
163
145
179
214
185
175
131
224
173
168
194
183
207
199
172
192
137
190
165
132
208
173
127
177
124
159
168
200
136
192
158
161
170
190
200
195
195
191
192
193
193
195
196
198
198
197
196
196
195
194
193
192
190
189
188
186
186
186
186
184
184
184
184
185
185
185
185
185
185
185
185
185
185
184
184
183
183
182
182
182
181
181
180
177
176
175
175
168
168
171
171
171
172
171
172
171
166
163
162
161
162
170
167
172
146
129
163
135
105
24
26
63
0
0
21
54
12
35
76
72
17
0
49
0
40
71
6
0
66
8
61
53
26
11
33
46
0
0
29
60
43
4
16
53
41
0
9
37
29
66
27
0
3
53
34
33
43
64
0
15
0
0
31
52
18
24
18
0
17
49
28
17
46
82
6
0
11
43
62
48
6
0
24
0
34
41
52
29
0
0
3
8
32
10
1
43
15
20
30
8
32
50
0
10
22
0
0
0
3
45
21
0
8
5
24
39
11
5
0
130
136
143
142
135
127
125
131
141
149
148
137
114
95
95
92
76
45
26
0
0
12
20
20
19
25
32
38
24
47
100
144
144
151
153
141
154
145
149
152
163
186
169
160
167
189
177
164
184
187
173
158
165
187
192
181
157
193
196
192
205
179
184
189
177
191
191
179
103
203
152
205
175
134
189
171
127
217
200
177
199
177
185
200
142
172
222
172
182
183
184
197
208
162
196
202
181
176
133
214
194
109
180
147
124
162
226
159
178
198
148
174
178
192
197
192
192
190
190
190
190
192
194
195
196
194
193
193
192
191
190
189
187
186
184
183
181
181
181
181
181
182
182
184
184
185
186
186
186
186
186
186
186
185
184
184
183
183
183
183
182
182
181
179
177
177
176
173
172
168
167
165
164
164
164
163
161
162
162
163
164
163
156
149
159
177
140
153
163
169
124
119
60
121
117
54
26
51
49
54
108
89
19
8
5
92
83
38
0
79
4
35
0
0
22
53
41
0
0
20
31
9
31
48
0
3
56
36
36
77
24
0
16
35
71
3
24
21
35
19
27
0
8
23
38
34
13
48
2
28
25
43
3
0
5
0
29
17
7
7
22
23
0
12
76
16
33
51
8
38
0
5
11
16
20
29
44
39
49
7
4
34
33
28
15
0
7
12
7
0
6
17
4
0
0
12
17
37
23
133
142
151
149
138
126
123
124
140
157
148
123
114
119
102
107
78
54
37
18
71
41
38
26
32
39
45
48
41
44
204
171
163
171
164
158
156
144
172
176
162
160
172
174
166
173
183
179
171
186
177
181
180
172
171
176
183
190
182
192
191
164
170
189
200
171
103
193
209
166
184
146
179
208
203
155
187
180
182
164
199
204
194
135
217
183
194
188
172
190
185
191
167
199
202
157
185
129
216
187
125
176
182
132
142
234
207
144
193
189
172
180
183
191
195
190
190
187
186
187
187
190
191
193
193
191
191
190
189
189
187
187
185
184
182
180
178
178
178
179
180
181
181
183
184
184
186
186
186
186
186
186
186
185
185
185
184
183
183
183
184
184
183
180
179
178
178
176
176
170
165
162
159
158
159
160
161
161
164
165
165
163
152
156
158
168
153
173
164
150
160
138
154
131
134
117
120
127
140
87
48
50
62
32
57
0
88
90
32
26
79
81
0
55
0
0
93
77
0
2
44
15
0
54
57
36
0
0
0
24
17
0
40
21
10
131
42
55
8
21
0
22
37
33
22
63
29
24
30
13
15
5
17
24
11
35
7
14
11
5
9
23
10
15
81
41
46
58
31
24
0
0
12
18
33
51
8
10
37
16
0
0
2
21
41
2
0
0
0
3
14
31
0
30
9
0
0
0
17
137
138
139
142
143
144
144
144
143
144
149
149
145
140
81
98
79
47
57
86
31
55
24
32
30
36
47
46
18
108
175
163
152
150
163
132
140
175
157
157
172
172
174
175
176
176
177
178
178
179
176
178
179
179
181
185
169
196
169
159
188
181
195
197
198
100
191
197
182
165
135
210
178
163
138
170
178
190
171
166
192
210
179
144
217
172
188
172
186
197
209
194
179
186
199
102
126
187
206
161
125
205
156
108
168
218
172
159
199
160
182
174
186
192
187
185
190
187
190
190
190
190
190
190
190
191
190
189
189
188
186
186
183
182
181
181
179
178
178
178
179
180
182
186
186
187
187
185
185
186
186
186
186
186
186
186
185
184
184
184
184
184
183
182
181
180
180
177
176
173
171
169
168
167
164
164
162
161
159
158
158
159
159
157
157
156
155
155
154
151
149
147
147
147
147
157
146
142
144
144
124
97
70
16
77
72
11
61
94
29
0
47
17
11
56
2
36
92
11
0
26
27
50
10
40
44
41
32
4
8
28
7
0
65
0
54
14
44
27
0
1
8
2
33
68
40
76
21
0
44
20
30
0
8
11
40
34
0
0
10
0
38
50
0
24
97
45
11
29
43
36
9
12
15
4
13
60
4
0
32
31
0
2
5
4
24
20
17
0
13
6
1
15
0
13
6
9
24
0
139
139
140
142
143
144
145
143
145
147
148
148
149
151
112
87
86
72
66
79
65
64
77
10
24
42
39
37
44
59
106
130
124
107
110
160
177
146
163
174
169
174
173
174
175
176
177
177
178
176
174
178
180
180
182
185
187
183
162
162
166
173
198
98
173
214
168
178
222
136
161
172
187
136
214
167
152
190
170
215
183
206
134
208
174
183
180
187
179
185
175
176
196
197
77
231
176
205
180
111
207
162
198
118
215
221
159
179
215
120
175
179
187
191
187
185
189
186
186
186
186
186
186
186
186
186
186
185
185
184
183
182
181
181
180
180
178
178
177
179
179
180
182
185
185
186
187
185
185
186
185
185
186
186
186
186
185
184
184
184
184
184
183
182
181
180
180
178
177
173
171
169
168
167
166
165
163
162
161
160
160
159
158
157
156
155
155
154
153
150
148
147
147
147
147
145
150
144
140
144
146
142
145
127
119
105
84
31
49
58
63
19
12
82
20
62
21
49
0
0
26
30
60
48
38
0
0
6
13
19
11
0
16
15
94
54
0
0
22
27
4
23
37
80
59
27
0
0
0
42
40
48
59
0
40
60
25
21
28
33
28
0
14
38
73
28
0
0
9
27
35
30
32
47
39
7
12
8
26
0
0
22
0
0
27
0
0
0
12
2
0
33
59
23
34
43
45
0
9
142
142
142
144
144
145
145
143
146
149
148
149
153
157
149
137
108
56
50
43
59
80
29
28
40
44
55
65
50
45
73
78
73
103
147
163
142
166
170
168
172
170
173
174
174
175
176
177
177
174
174
178
180
179
180
183
191
166
190
165
167
213
113
198
176
158
209
153
171
189
193
130
187
163
179
190
156
223
209
167
214
124
204
171
176
187
173
190
176
199
174
190
184
99
235
114
198
180
127
183
166
192
156
208
227
185
158
208
195
115
165
185
188
188
186
185
184
183
181
181
181
181
181
181
181
180
180
179
179
179
178
178
178
178
178
178
177
177
177
179
179
180
181
183
183
184
186
184
184
185
184
185
185
186
186
186
185
184
184
184
184
184
183
182
181
180
180
178
178
174
172
170
169
168
167
167
165
163
162
161
161
158
158
156
155
155
154
154
152
150
148
147
148
148
148
143
142
141
141
142
142
141
144
151
144
147
160
156
156
136
115
108
120
66
65
102
47
38
0
0
0
31
50
31
83
55
0
0
16
27
57
17
45
8
24
40
67
32
1
17
60
35
0
50
8
47
63
22
12
23
52
99
24
0
21
32
64
0
74
0
45
121
26
51
43
99
17
0
36
5
26
12
20
24
17
18
42
20
13
6
13
7
34
23
0
33
30
0
0
23
6
45
0
0
5
5
31
28
62
143
143
143
144
145
145
145
144
146
148
150
151
153
155
139
127
48
10
63
55
74
29
14
40
39
52
68
63
70
55
71
79
82
102
127
139
125
176
168
165
172
167
172
173
174
175
176
176
177
175
175
179
180
178
178
181
156
166
174
191
184
129
117
150
195
209
144
129
203
164
78
184
203
187
161
208
203
188
158
215
126
167
206
192
166
199
175
180
189
162
186
189
144
159
218
118
187
170
112
204
163
203
125
194
227
170
178
223
163
141
165
187
187
186
185
184
181
180
179
179
179
179
179
179
179
177
177
177
177
177
177
177
177
177
177
177
177
177
177
179
179
180
181
183
182
183
185
184
184
185
184
184
184
186
186
186
185
184
184
184
184
184
183
182
181
180
180
179
178
175
173
171
169
168
167
167
165
163
162
161
161
158
157
156
155
154
154
153
151
149
148
148
148
148
149
141
141
143
147
149
149
149
151
151
154
154
152
171
161
135
151
124
123
160
48
116
33
50
73
5
17
0
24
25
44
55
36
1
0
30
36
15
58
74
0
10
63
42
27
10
12
19
14
53
31
0
66
65
38
26
15
81
90
18
12
19
9
0
1
42
0
18
0
71
48
35
12
0
26
0
3
31
7
9
27
20
9
33
12
14
15
6
35
20
0
0
19
52
12
15
15
24
6
16
2
29
0
0
25
144
145
145
145
145
146
146
146
145
146
154
155
151
147
99
128
72
62
29
34
61
47
61
44
60
66
57
58
69
67
73
70
74
80
78
81
139
163
167
171
165
167
172
173
174
174
175
176
176
176
176
180
180
177
175
177
188
132
211
171
102
206
170
179
190
146
190
157
185
119
209
168
180
179
182
149
177
167
202
136
174
190
168
172
193
170
188
175
188
167
184
150
147
210
94
226
185
103
209
148
175
176
86
210
204
133
200
221
91
189
179
190
186
183
183
182
177
177
178
178
178
178
178
178
178
175
175
175
175
176
176
176
176
176
176
176
176
176
176
179
180
180
181
182
181
182
185
183
183
184
184
184
184
186
186
186
185
184
184
184
184
184
183
182
181
180
180
179
178
175
173
171
170
169
166
166
164
163
161
161
160
157
157
155
155
154
153
153
151
149
148
148
148
149
149
146
145
144
145
145
149
155
158
150
155
160
159
158
161
155
141
157
143
145
145
133
140
125
79
31
46
63
67
45
66
35
2
62
84
0
19
1
14
21
40
36
19
17
29
28
33
32
28
78
58
0
0
22
70
1
1
28
31
16
17
49
17
34
68
22
10
94
59
42
0
32
51
38
0
54
0
12
42
49
25
20
47
31
0
0
6
5
14
52
56
7
0
0
0
34
0
20
47
23
8
10
23
46
31
145
145
146
146
147
147
147
145
146
148
153
155
157
158
168
114
76
71
70
61
48
68
65
51
50
50
62
79
78
75
69
71
69
71
56
50
169
158
176
161
170
167
174
175
175
176
176
177
177
182
190
168
164
194
169
167
194
163
122
175
169
173
193
112
182
206
161
152
135
196
181
159
187
180
167
195
194
153
155
178
185
180
173
178
175
170
180
158
147
192
153
145
202
118
187
171
123
178
179
159
201
101
154
228
161
165
218
161
137
200
182
184
183
182
181
179
176
175
176
175
174
173
174
175
176
175
175
175
175
175
175
175
174
174
174
175
176
176
176
179
179
180
180
180
180
180
183
182
182
184
184
184
184
186
186
185
185
184
184
184
184
184
183
181
181
180
180
176
176
173
171
170
169
168
166
166
164
162
161
160
160
159
159
157
155
154
153
153
152
151
151
150
149
148
148
151
150
149
149
150
149
150
148
146
146
146
145
145
145
148
145
144
144
145
146
149
146
141
139
127
96
82
92
103
94
109
94
30
9
123
26
0
18
33
0
0
25
18
46
53
4
0
12
0
14
46
44
14
13
20
0
12
2
22
29
27
53
0
25
12
6
66
50
54
0
0
87
37
28
8
28
40
0
13
74
52
4
30
13
17
0
0
41
46
21
21
4
0
0
15
27
48
6
13
19
6
36
47
15
145
146
146
147
147
147
147
146
147
148
153
155
157
158
171
139
98
72
69
65
63
71
46
42
73
86
77
65
80
82
75
66
60
71
37
48
203
152
181
166
179
173
171
172
173
175
176
177
178
164
175
184
167
149
188
175
194
110
174
177
198
151
187
198
184
153
165
116
195
189
179
182
172
174
169
161
187
128
186
187
164
187
169
162
190
165
210
140
187
178
93
199
153
124
194
184
114
202
149
190
157
109
159
219
151
174
225
134
170
186
184
183
183
181
180
178
176
175
175
174
173
173
173
174
175
174
174
174
174
174
174
174
174
174
174
175
176
176
176
179
179
179
180
181
180
180
183
181
181
183
183
183
184
186
185
185
184
184
184
184
184
183
183
181
180
180
179
175
175
172
170
169
168
167
166
165
163
162
161
160
159
159
158
157
155
154
154
153
153
152
151
150
149
149
148
154
151
150
150
150
149
149
146
144
142
142
141
141
139
146
144
141
143
143
145
149
153
147
140
143
142
127
118
131
118
93
123
144
103
40
89
45
25
33
57
3
17
0
0
35
38
0
0
26
0
0
10
23
36
17
0
24
0
1
46
49
28
27
28
46
4
3
35
21
35
30
3
19
22
65
31
37
37
8
9
79
63
0
9
17
10
0
19
18
29
13
62
34
0
15
13
31
18
15
11
3
16
30
28
146
146
147
147
148
148
148
149
149
151
154
156
158
158
173
157
121
111
102
68
43
57
61
93
84
71
64
57
77
78
75
60
48
58
32
151
196
132
167
177
160
169
172
174
175
177
178
179
180
188
182
163
153
162
166
187
171
187
163
175
191
146
132
152
183
117
180
196
176
174
176
153
171
189
181
180
138
193
181
178
179
167
182
189
168
198
131
197
185
200
199
173
127
201
171
186
224
158
175
159
113
123
182
162
164
210
209
108
204
159
180
180
180
179
178
177
175
175
174
173
172
171
170
171
171
171
171
172
172
173
174
174
174
174
174
175
176
176
176
178
178
179
180
181
181
181
182
180
181
183
182
183
183
185
185
184
184
183
183
183
183
183
182
180
180
179
179
174
174
171
169
168
166
166
165
164
162
161
160
159
159
158
158
156
156
155
154
154
153
152
152
151
150
149
149
154
150
150
149
149
149
148
147
145
144
143
143
143
143
148
144
140
139
138
139
142
151
153
150
146
137
134
140
132
138
137
125
133
134
122
129
97
107
61
37
15
22
29
12
1
5
0
0
21
59
64
28
0
0
0
10
23
49
8
0
27
8
7
20
0
40
50
12
33
37
0
54
79
21
7
12
6
35
28
69
0
66
87
49
23
0
53
13
38
28
28
38
38
22
0
0
16
27
33
1
5
32
0
23
147
147
147
148
148
149
149
151
151
153
156
157
158
159
158
158
162
91
67
75
83
65
58
76
64
62
77
79
80
67
57
55
49
29
71
108
105
44
98
86
77
79
107
120
132
144
156
164
169
169
181
165
162
171
136
148
129
170
220
130
141
196
174
104
147
199
177
156
169
181
160
214
165
153
191
146
190
177
169
178
181
177
179
189
183
156
201
169
171
119
175
116
208
179
205
109
166
158
171
133
102
174
167
145
177
223
153
153
186
174
179
178
178
177
177
176
175
174
173
172
170
169
168
168
168
169
169
170
171
172
173
173
174
174
174
175
176
176
176
177
177
178
179
182
182
182
183
182
182
184
184
184
184
184
184
184
183
183
182
182
182
182
181
180
179
178
178
175
174
171
170
168
167
166
164
164
162
160
159
158
158
157
157
156
156
156
155
155
154
153
152
151
151
150
150
150
148
147
148
148
149
150
151
153
153
153
153
154
154
155
148
143
139
135
134
135
141
139
143
150
146
140
140
153
134
140
158
145
133
128
152
131
132
130
131
89
69
23
22
51
39
13
10
52
18
30
47
28
30
0
11
0
22
58
32
0
15
38
4
0
32
0
46
41
43
53
27
0
5
35
11
0
52
17
32
51
0
3
48
2
24
41
0
0
30
24
31
23
19
7
13
51
93
0
1
51
0
8
5
147
147
147
148
149
149
149
151
152
153
156
157
158
159
173
155
159
106
84
86
78
94
79
85
70
65
72
66
83
64
51
53
49
16
84
107
139
97
180
161
180
181
178
176
174
172
171
169
169
173
128
148
197
144
125
191
181
190
148
106
220
162
175
114
211
168
188
156
192
171
196
155
145
202
174
127
147
195
168
175
187
169
185
168
160
177
175
204
158
140
126
177
167
186
130
125
146
174
172
109
135
159
187
161
195
232
133
165
165
175
183
178
177
177
176
176
174
174
172
171
170
168
167
167
168
168
169
170
170
171
173
173
174
174
174
175
176
176
176
176
177
178
179
182
182
183
184
182
183
184
184
185
185
184
184
184
183
182
182
182
182
182
181
180
179
178
178
175
174
172
170
168
167
167
164
164
162
160
159
158
158
157
157
156
156
156
155
155
154
153
152
152
151
150
150
149
146
147
147
148
149
150
153
156
156
157
157
157
158
156
151
143
139
133
132
134
144
149
142
140
140
139
140
140
151
146
136
152
161
172
140
152
149
128
137
139
74
67
36
29
50
31
11
32
17
8
18
39
49
0
90
0
0
33
51
39
22
11
23
13
0
8
49
58
34
30
48
23
6
22
32
12
0
44
28
3
45
10
5
0
15
12
0
0
9
26
4
9
2
17
45
10
0
55
54
14
15
3
17
147
147
148
149
150
151
151
153
153
154
156
156
157
157
163
161
161
158
149
139
130
119
119
74
66
58
56
72
62
72
64
42
13
120
176
157
190
80
189
159
175
178
177
170
176
181
174
157
140
174
189
152
102
198
163
181
186
107
187
188
154
163
139
184
162
174
183
173
179
165
164
180
183
153
155
193
174
176
175
169
168
171
169
172
158
179
183
143
149
213
167
170
186
146
117
189
173
158
137
107
175
182
208
161
202
213
119
194
170
167
169
177
177
177
177
175
172
171
169
168
167
166
165
166
167
167
168
170
172
173
173
173
175
176
176
176
177
177
177
178
179
180
182
185
186
187
189
189
189
188
188
188
188
186
186
185
184
183
182
182
183
183
182
181
180
179
179
174
174
172
170
169
168
168
166
166
163
161
160
159
158
157
157
157
156
156
156
155
155
154
153
152
151
151
150
151
149
148
148
148
149
149
147
147
147
147
147
147
147
148
147
146
145
145
144
144
141
141
141
141
141
141
141
142
142
143
144
145
145
146
146
147
147
149
151
153
148
74
84
117
66
26
45
81
60
23
25
26
22
63
29
21
30
0
21
67
31
0
7
21
35
76
0
0
90
18
21
0
0
32
0
10
6
19
12
33
25
0
0
34
4
0
19
28
13
7
16
0
24
51
44
28
25
22
26
0
0
0
9
147
147
148
150
151
152
153
154
155
155
156
157
157
157
159
159
158
156
155
154
152
133
123
95
99
94
79
73
75
47
53
10
107
177
160
145
196
101
200
164
172
186
165
161
168
176
178
172
166
176
115
191
150
148
168
176
151
199
158
150
139
163
180
169
177
171
175
190
166
139
189
190
115
177
173
164
170
170
171
171
169
171
172
175
189
184
163
137
207
130
165
195
156
102
181
164
189
140
156
107
178
178
194
195
221
158
158
188
169
179
175
176
176
176
176
175
171
170
168
167
166
165
165
166
166
168
169
171
172
174
174
174
176
176
177
177
179
179
179
181
182
183
184
188
189
189
193
193
192
190
189
188
188
187
187
186
184
184
183
183
183
183
182
181
180
179
179
175
174
172
171
170
169
169
168
167
164
163
161
160
159
157
157
156
156
155
155
155
155
154
153
152
152
151
151
152
150
148
147
148
148
148
146
146
146
146
146
146
146
146
146
145
145
144
144
144
142
142
142
142
142
142
142
141
142
143
143
144
145
146
146
146
147
149
151
153
159
151
157
130
97
128
138
78
78
48
14
17
46
26
63
38
7
25
3
2
35
29
30
45
35
7
5
11
0
0
78
56
67
0
0
3
0
36
21
12
0
12
17
27
45
0
24
81
10
50
1
15
0
23
9
25
80
25
34
17
35
73
4
147
147
148
151
152
153
154
155
156
156
156
157
157
157
156
157
159
157
156
153
152
155
136
96
95
94
86
82
79
54
25
55
168
156
168
168
195
95
194
164
159
151
168
175
185
193
193
184
176
160
165
149
155
173
173
144
198
158
166
128
152
193
165
179
182
163
174
190
161
140
169
157
149
205
149
165
169
168
169
170
171
169
170
169
184
178
118
202
169
144
148
183
118
162
188
155
136
147
135
157
164
191
193
172
214
136
175
179
170
178
174
176
176
176
176
174
171
170
169
168
167
165
165
166
166
168
169
171
173
174
174
174
176
176
177
178
180
180
181
183
183
184
186
189
190
191
194
194
193
191
190
189
189
187
187
186
185
184
183
183
183
183
182
181
180
179
179
175
175
173
172
170
170
169
169
168
165
164
162
161
160
157
157
157
156
156
156
155
156
155
154
153
152
152
152
153
150
148
147
147
147
148
146
146
146
146
146
146
146
145
145
145
145
144
144
144
142
142
142
142
142
142
142
142
142
143
144
145
145
146
146
147
147
149
151
153
145
155
150
147
153
145
136
88
99
80
25
9
41
37
67
3
30
28
0
2
51
2
52
46
33
45
0
0
7
28
0
54
41
19
4
25
30
0
7
13
17
0
38
7
9
20
0
37
44
45
60
17
10
0
31
0
0
18
38
24
14
9
22
147
147
148
152
153
155
155
157
157
157
157
157
157
157
154
156
159
157
158
158
160
154
157
158
136
116
102
90
80
69
98
161
164
156
158
157
183
147
199
170
181
160
104
39
18
24
50
78
95
145
162
143
150
176
107
191
144
130
110
173
168
179
180
179
155
170
167
151
167
159
124
158
182
158
153
169
172
168
168
169
168
164
163
197
185
128
191
151
142
160
182
115
138
200
149
182
135
160
130
188
147
195
146
196
187
123
197
160
179
166
167
175
175
175
175
174
170
169
170
170
168
167
167
168
168
169
170
172
173
175
175
175
176
177
178
179
182
183
183
185
186
187
189
192
193
194
194
194
194
194
193
193
193
188
188
187
185
185
184
184
183
183
182
181
180
179
179
176
176
174
172
171
170
170
170
169
167
165
163
162
162
159
159
158
158
158
157
157
158
157
157
156
155
154
154
153
150
149
147
147
147
147
145
145
145
145
145
145
145
144
144
144
144
144
144
144
143
143
143
143
143
143
143
143
144
145
146
146
147
148
148
148
149
151
153
155
156
158
167
162
155
173
176
182
136
89
30
21
47
41
11
46
28
54
44
0
34
52
19
12
26
0
30
0
0
0
6
47
12
26
0
0
33
42
23
0
16
1
0
3
0
31
16
20
0
45
0
52
21
0
0
20
39
0
0
0
17
36
21
146
146
148
151
152
154
154
157
157
157
157
157
157
157
152
154
154
158
160
161
161
163
165
157
155
159
160
155
120
120
143
160
166
172
186
169
123
41
14
17
40
51
58
46
48
70
93
93
78
75
130
159
115
121
181
114
118
146
183
174
155
163
174
176
174
157
123
192
169
163
161
171
166
162
166
168
156
174
169
161
166
158
155
177
125
185
186
137
176
181
149
120
207
146
172
174
202
112
181
145
188
184
151
240
100
152
183
164
170
186
182
173
174
174
174
173
169
168
167
167
168
168
168
168
169
171
172
174
174
173
175
177
176
176
177
179
182
183
184
185
187
189
191
194
195
195
195
195
195
194
193
193
193
191
191
190
187
186
185
185
183
183
182
181
180
179
179
176
176
174
174
173
172
172
171
171
169
167
166
165
164
163
163
161
160
160
159
159
161
160
159
158
158
157
157
155
153
152
150
149
147
147
146
145
145
145
145
144
144
143
142
142
142
142
143
144
145
145
145
145
145
145
145
143
143
144
145
147
149
148
150
152
153
154
155
157
155
157
161
165
170
174
176
178
170
170
163
126
82
76
53
12
78
42
19
43
22
36
13
53
18
28
0
9
1
0
2
1
0
57
0
0
0
23
42
53
9
24
21
0
12
28
48
48
0
0
0
27
25
32
21
45
6
57
37
0
5
40
21
146
146
148
151
152
154
154
157
157
157
157
157
157
157
152
154
154
159
161
161
161
152
157
155
156
158
155
149
164
150
167
153
132
110
89
47
30
49
63
74
74
62
49
61
75
84
81
73
66
85
126
102
100
162
130
133
143
174
174
161
161
168
167
161
139
141
170
164
182
145
167
163
162
161
162
165
166
170
162
164
170
156
159
137
163
177
180
135
184
167
104
146
195
159
188
140
144
116
177
160
197
185
174
189
123
177
186
168
173
176
167
173
173
174
174
173
170
169
167
168
168
168
169
169
169
171
172
174
174
174
175
177
176
177
178
180
183
184
185
186
188
190
192
195
195
195
195
195
195
194
194
193
193
191
191
190
187
186
185
185
183
183
182
181
180
179
179
176
176
175
174
173
172
172
172
171
169
168
166
165
165
163
163
162
161
160
160
159
161
160
159
158
158
157
157
156
154
152
151
149
148
147
146
146
145
145
145
145
144
143
142
141
141
142
143
144
145
145
145
145
145
145
145
146
145
146
147
149
151
151
153
155
156
156
157
159
152
154
159
163
168
174
176
177
171
163
168
188
181
48
96
32
1
80
54
32
74
11
39
11
26
25
69
0
0
0
0
12
15
47
17
0
1
18
43
64
11
27
43
36
10
0
14
91
33
0
6
29
24
54
35
27
31
46
30
0
0
2
0
146
146
148
151
152
154
154
156
156
156
156
156
156
156
154
155
155
158
159
159
159
156
157
162
157
146
131
119
87
77
68
33
15
15
12
29
22
23
27
31
32
31
45
57
60
52
46
54
68
67
61
96
87
115
116
88
154
158
162
157
164
173
167
155
147
188
161
172
122
176
151
149
161
167
163
158
167
150
180
175
134
172
194
158
161
184
132
170
156
187
130
197
162
176
153
144
123
181
150
164
190
143
153
178
122
185
154
159
187
171
178
172
173
173
173
173
170
170
169
169
169
170
171
172
172
172
174
175
176
175
177
178
179
180
181
182
186
187
187
189
190
192
194
196
196
196
196
196
195
195
194
194
194
191
191
190
187
186
185
185
183
183
182
181
180
179
179
177
177
175
174
174
173
173
172
172
170
169
168
168
167
165
165
164
163
162
162
161
162
161
160
159
158
158
157
158
156
154
153
151
150
149
148
148
147
146
146
145
145
142
142
141
141
142
142
143
145
145
146
146
146
146
147
149
149
149
150
152
154
155
157
159
160
161
162
164
157
158
161
165
169
174
178
179
180
181
178
173
171
185
121
102
116
56
56
30
74
59
60
35
19
14
43
17
7
50
28
0
6
24
0
0
0
10
27
10
30
0
0
55
82
3
20
3
13
49
13
36
0
32
52
0
26
3
2
27
0
0
0
146
146
148
151
152
154
154
155
155
155
155
155
155
155
155
157
157
158
158
157
156
149
148
149
138
111
80
62
36
48
40
63
46
8
2
17
20
13
27
39
46
53
49
50
36
35
44
44
33
25
51
60
74
75
70
181
148
171
175
155
162
170
145
172
160
173
150
143
166
163
161
163
152
149
161
164
165
172
148
147
178
173
151
162
170
150
158
173
182
141
196
154
157
162
104
193
141
174
153
174
158
154
183
110
162
189
165
168
181
166
166
171
172
173
173
173
171
171
170
170
171
172
173
175
176
176
177
179
179
179
181
182
182
183
184
186
189
190
191
190
191
193
195
196
195
195
197
196
196
195
195
195
195
191
191
190
187
186
185
185
183
183
182
181
180
179
179
178
177
176
175
174
174
173
172
172
171
171
170
170
170
168
168
166
165
165
164
164
165
164
163
162
161
161
160
160
158
157
155
153
152
152
151
150
149
148
147
146
145
144
143
142
142
143
144
144
145
146
146
147
148
148
148
150
150
150
151
153
155
158
160
162
163
163
164
166
172
173
173
174
175
176
176
181
181
181
179
172
167
188
190
193
167
182
149
115
11
45
54
52
58
69
18
44
33
17
13
52
53
1
28
74
89
16
0
17
0
7
5
0
0
58
35
20
12
16
14
0
32
26
11
13
0
0
23
45
28
50
0
146
146
148
151
152
154
154
155
155
155
155
155
155
155
157
157
158
158
157
156
155
159
150
140
130
110
89
77
46
51
50
65
53
21
7
9
16
15
31
35
26
21
51
30
23
26
31
31
26
39
83
49
72
87
10
176
155
175
163
158
161
153
140
174
135
173
121
162
168
150
159
159
154
152
157
160
161
172
145
148
183
163
139
157
170
146
165
163
173
114
151
142
172
155
155
195
156
172
165
172
131
160
187
116
164
168
168
170
176
173
174
171
171
172
173
173
172
171
170
171
172
173
174
176
177
178
179
181
181
181
182
184
183
184
185
187
190
191
192
191
191
193
194
195
195
194
197
197
196
196
195
195
195
191
191
190
187
186
185
185
183
183
182
181
180
179
179
178
178
176
175
175
174
174
173
172
172
172
171
171
171
169
168
167
166
165
165
165
166
165
164
164
163
162
162
161
159
157
156
154
153
152
152
151
149
148
147
146
145
145
144
143
143
144
145
145
145
146
146
147
148
149
149
152
152
153
154
156
157
161
163
165
166
166
167
169
181
179
179
178
179
177
176
174
176
179
178
179
180
169
175
186
183
178
194
156
65
10
100
60
56
77
53
38
28
60
36
16
46
73
32
13
70
13
0
29
9
0
25
32
8
0
7
11
17
0
29
14
23
27
11
0
50
35
0
0
42
34
52
143
145
147
151
152
152
152
154
154
155
156
157
158
158
159
159
161
161
160
159
156
153
150
136
123
126
120
96
64
100
64
27
76
59
41
22
16
30
21
20
38
47
28
30
40
42
28
23
34
24
44
69
44
32
36
132
178
164
164
153
127
137
187
141
159
149
162
151
160
155
160
157
158
161
162
160
173
123
159
155
180
122
171
171
141
166
163
165
91
176
152
193
123
143
153
170
175
152
186
145
163
161
189
159
177
161
162
168
165
165
165
172
172
172
172
172
172
172
170
172
174
175
175
178
180
181
181
182
183
184
185
185
188
188
189
189
190
190
190
190
191
192
193
193
192
192
193
193
193
193
193
193
193
191
191
190
189
188
187
187
184
184
183
182
181
180
180
179
179
177
177
176
175
175
175
175
173
172
171
171
170
170
170
169
169
168
168
168
168
167
166
165
165
164
164
161
159
158
156
154
153
153
151
150
149
148
148
147
147
149
148
147
146
145
144
144
145
145
147
148
149
150
150
154
155
157
159
161
163
165
165
167
169
171
173
174
176
176
176
177
178
179
179
181
181
181
181
181
181
181
179
180
181
182
182
182
176
158
92
92
77
52
43
23
21
0
24
43
9
67
27
13
70
43
0
27
15
34
58
1
0
22
0
32
9
3
9
13
0
13
1
7
6
31
27
4
0
8
16
144
145
147
151
152
152
152
153
153
154
156
156
157
157
158
157
158
159
160
159
157
158
149
144
134
132
134
129
99
90
96
108
72
52
65
46
37
18
38
13
24
35
30
28
37
42
31
24
30
33
44
35
22
18
84
95
149
149
149
119
175
147
139
145
143
142
155
156
156
151
160
166
163
155
150
153
162
138
183
163
145
184
131
158
157
155
148
116
161
180
172
158
129
172
164
123
174
157
174
137
151
183
141
144
164
160
165
170
166
164
167
172
172
172
172
172
172
172
171
173
175
176
176
179
181
183
183
184
184
185
186
187
189
189
190
190
191
191
191
190
191
192
193
193
192
192
193
193
193
193
193
193
193
191
191
190
189
188
187
187
184
184
183
182
181
180
180
180
179
178
177
176
176
175
175
174
173
173
172
171
171
172
172
171
170
170
170
170
170
169
168
167
166
166
166
163
161
160
158
157
156
155
153
152
151
151
150
149
149
152
151
150
150
149
149
148
148
148
150
151
152
153
153
154
156
158
160
162
163
167
168
169
171
173
175
176
180
180
181
182
182
183
184
183
183
183
183
183
183
183
184
184
186
187
188
188
184
191
182
176
175
158
34
64
49
11
27
0
23
28
17
24
43
27
40
12
20
19
44
27
60
47
0
7
39
19
4
8
12
31
29
34
0
41
24
19
17
0
0
144
146
148
151
151
151
151
152
153
153
155
156
156
157
157
157
158
159
160
158
156
161
152
147
140
131
136
144
93
105
91
61
73
116
82
78
0
28
0
13
26
32
26
28
34
35
25
21
30
35
41
23
24
30
112
81
131
166
130
145
165
138
153
137
159
147
167
146
160
157
162
161
156
151
153
164
135
166
163
148
125
142
155
146
156
149
128
128
176
166
176
137
119
162
157
120
162
166
163
141
165
180
156
162
157
160
167
170
167
163
169
172
172
172
172
172
172
172
171
173
175
176
177
180
182
184
184
184
185
186
187
188
190
190
190
191
191
192
192
190
191
192
193
193
192
192
193
193
193
193
193
193
193
191
191
190
189
188
187
187
184
184
183
182
181
180
180
180
180
178
177
177
176
176
175
175
174
173
173
172
172
173
173
172
172
172
171
171
171
170
170
169
168
167
167
165
163
162
160
159
157
157
155
154
153
153
152
151
151
152
152
151
151
150
150
150
148
149
150
152
153
154
154
156
157
159
161
163
165
169
170
171
173
175
177
178
181
181
182
183
183
184
185
186
186
186
186
186
186
186
189
189
190
192
193
194
191
184
180
191
173
189
73
59
46
75
57
41
0
84
27
0
6
9
20
53
0
4
48
60
49
17
0
0
25
76
19
45
31
33
35
33
0
4
40
30
10
12
0
146
147
148
151
151
150
150
151
151
152
153
154
155
155
155
155
156
156
158
158
157
160
157
148
147
138
133
143
125
127
128
96
94
91
41
81
69
0
2
15
28
10
21
27
23
18
12
15
30
34
29
20
31
47
69
58
140
98
165
144
152
148
121
154
144
154
157
161
154
155
155
155
157
160
158
152
154
155
169
143
151
157
157
139
153
141
139
192
164
144
143
149
167
170
130
144
147
170
139
147
179
133
176
171
154
165
169
166
169
166
170
172
172
172
172
172
172
172
173
175
177
178
178
181
183
184
184
185
186
186
188
188
189
189
190
190
191
191
191
190
191
192
193
193
192
192
193
193
193
193
193
193
193
191
191
190
189
188
187
187
184
184
183
182
181
180
180
181
180
179
178
177
177
176
177
177
176
176
176
176
176
176
176
176
175
175
174
174
174
174
173
172
171
171
170
169
167
166
164
163
161
161
159
158
157
157
156
155
155
153
153
153
153
153
153
153
152
153
154
155
156
157
158
161
163
165
167
169
170
173
174
175
177
179
181
182
182
182
183
184
184
185
186
191
191
191
191
191
191
191
194
196
196
198
200
200
201
202
200
196
192
180
200
185
97
58
42
51
64
15
10
30
36
28
57
33
40
22
20
0
48
48
33
35
0
0
28
43
48
39
33
18
36
43
53
0
0
37
0
146
147
149
150
150
150
150
150
150
151
152
153
154
154
153
153
155
155
155
157
157
154
162
150
158
154
142
142
141
152
150
91
103
82
77
54
76
72
43
19
29
47
35
16
11
19
21
20
23
25
28
36
34
54
9
94
120
155
163
153
146
113
157
152
149
169
153
157
145
158
155
156
158
159
158
155
165
135
135
163
111
180
129
130
152
110
196
157
154
143
124
150
166
167
121
183
151
164
141
162
173
156
146
173
159
170
168
162
170
169
169
172
172
172
172
172
172
172
174
176
178
179
179
182
184
183
183
184
185
186
187
187
188
188
189
189
190
190
190
190
191
192
193
193
192
192
193
193
193
193
193
193
193
191
191
190
189
188
187
187
184
184
183
182
181
180
180
181
181
179
179
178
177
177
179
179
179
179
179
179
179
178
178
177
177
177
176
176
176
175
175
174
173
172
172
171
170
168
166
165
164
163
161
160
160
159
158
157
157
159
159
159
159
159
160
160
159
160
161
163
164
165
165
166
168
170
172
174
175
175
176
177
179
181
183
185
186
187
187
188
189
190
190
193
193
193
193
193
193
193
192
194
195
196
199
200
203
201
212
192
204
206
208
193
188
226
165
134
133
48
111
46
26
27
59
96
28
56
24
20
0
12
20
22
11
12
10
10
46
11
20
7
38
47
25
16
26
0
2
147
148
149
152
152
151
151
150
150
150
151
152
152
152
154
153
153
155
155
155
157
156
156
154
153
152
152
152
137
161
124
151
83
61
61
94
80
89
61
47
59
69
35
11
3
7
13
19
21
20
22
27
55
49
29
59
162
131
158
152
114
150
152
154
155
147
154
164
159
150
163
140
166
156
155
116
146
138
150
136
139
148
126
147
117
181
165
141
144
169
157
153
184
147
140
170
162
137
132
179
153
157
158
162
166
165
166
166
168
167
169
171
171
171
172
172
173
173
176
176
177
178
180
182
182
184
184
185
186
186
188
188
189
189
189
190
191
191
191
190
190
190
190
190
190
190
192
192
192
192
192
192
192
190
190
190
189
188
188
188
183
183
183
182
181
181
181
181
181
180
180
179
179
179
179
179
179
179
179
179
179
178
178
178
178
178
178
178
178
177
176
176
175
174
174
172
171
170
169
169
168
168
165
163
161
160
160
160
160
162
162
163
163
164
164
164
164
165
165
166
167
168
168
173
174
175
177
178
179
179
179
180
181
182
184
184
188
188
189
189
190
191
191
196
196
196
197
198
199
200
193
192
194
195
196
197
200
201
202
202
203
203
202
202
214
198
191
199
195
83
25
79
50
22
67
53
105
75
37
4
3
12
28
26
0
16
0
7
21
13
34
40
58
0
17
35
14
14
11
146
147
149
151
151
151
151
150
150
150
151
151
151
151
152
151
151
153
152
153
153
153
154
154
154
153
153
153
139
163
138
136
100
75
65
80
78
99
113
84
28
0
2
15
11
8
13
30
45
34
46
42
50
44
39
82
122
136
122
109
138
145
142
154
154
145
147
160
159
149
155
144
154
154
121
166
87
147
153
140
135
129
127
44
197
167
145
139
161
150
154
157
157
127
140
159
156
141
154
166
129
173
142
158
168
167
168
168
169
168
170
171
171
171
172
172
173
173
175
176
177
178
179
181
182
183
183
184
185
186
187
187
188
188
189
189
190
190
190
190
190
190
190
190
190
190
191
191
191
191
191
191
191
190
189
189
188
188
188
188
183
183
183
182
182
182
181
181
181
181
180
180
180
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
178
177
176
176
175
175
173
172
172
171
170
169
169
170
167
166
165
165
166
166
168
168
169
169
170
170
170
173
173
174
175
176
176
176
178
179
180
181
182
183
185
186
187
188
189
190
191
195
195
195
196
197
198
198
200
201
201
202
203
204
205
196
196
195
196
196
196
198
198
198
200
200
201
201
201
214
222
217
201
198
183
153
92
102
88
11
189
109
182
56
33
32
39
41
20
0
0
2
14
11
35
9
0
5
0
41
4
23
18
53
146
147
148
150
150
150
150
150
150
150
150
150
150
150
150
148
148
148
149
149
149
149
149
151
151
151
151
151
161
142
160
139
157
100
118
73
61
0
0
0
0
10
19
33
33
26
22
24
30
28
24
19
32
38
36
65
126
93
102
138
129
126
148
154
156
164
157
150
150
151
162
156
82
81
84
94
138
151
112
111
108
90
91
144
141
119
115
107
51
107
163
162
130
127
157
162
148
129
169
166
148
178
127
160
170
170
170
170
170
169
170
171
171
171
172
172
173
173
175
175
176
177
178
180
181
181
182
182
183
184
185
186
187
187
187
187
188
188
189
189
189
189
189
189
189
189
190
190
190
190
190
190
190
189
189
188
188
187
187
187
184
184
184
183
183
182
182
182
182
181
181
181
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
180
181
180
179
178
177
177
176
176
175
174
173
172
172
172
171
169
168
168
169
169
170
175
176
176
177
177
177
177
178
178
179
180
181
181
182
185
185
186
187
187
188
189
190
191
192
193
194
195
198
199
199
200
201
202
202
202
202
203
204
205
205
206
203
203
202
202
201
201
200
201
201
201
202
202
202
202
222
212
206
209
206
194
200
210
142
99
70
118
204
206
154
136
85
49
23
11
27
16
6
16
17
11
25
18
14
30
12
29
0
11
56
145
146
148
150
150
150
149
150
150
150
149
149
149
149
148
149
149
147
148
147
147
147
147
148
148
148
148
150
148
167
141
139
155
132
119
64
7
37
23
6
15
18
43
13
12
20
28
27
25
18
27
20
21
25
31
61
88
70
100
126
123
138
144
150
159
157
152
163
165
148
145
48
50
113
187
136
171
46
68
91
71
91
94
104
111
146
121
140
87
70
57
103
123
157
165
145
145
154
167
145
153
166
144
163
171
170
170
170
170
169
169
171
171
171
172
172
173
173
174
175
176
177
178
180
181
181
181
182
182
183
185
185
186
186
186
187
187
188
188
188
188
188
188
188
188
188
189
189
189
189
189
189
189
188
188
188
187
187
187
186
185
184
184
183
183
183
183
183
182
182
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
180
180
179
178
177
177
177
176
175
174
174
173
173
173
171
170
170
171
171
172
178
178
178
179
179
179
179
179
180
181
181
182
183
183
187
188
188
189
189
190
191
191
192
193
195
196
197
200
200
201
202
202
203
204
203
204
204
205
206
207
208
209
209
208
207
206
206
203
204
204
204
204
203
203
205
209
214
211
202
204
206
194
218
131
177
75
150
200
196
194
201
164
101
36
23
14
13
6
0
0
26
21
37
25
19
44
0
18
0
15
145
146
147
150
150
149
149
150
150
150
149
148
148
148
146
147
147
146
146
146
144
145
145
145
147
147
147
147
155
160
156
168
169
60
12
49
34
46
58
60
45
23
27
30
27
20
16
17
21
27
16
12
21
29
20
32
54
57
30
90
130
87
137
176
182
122
98
142
130
51
179
67
61
24
37
69
34
39
35
35
23
68
97
22
48
130
175
139
165
140
166
153
121
154
155
142
122
160
155
143
196
145
161
172
171
170
170
169
169
168
168
171
171
171
172
172
173
173
174
174
175
176
178
180
180
180
180
181
182
182
184
184
185
185
185
186
187
187
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
187
186
186
186
185
185
185
184
183
183
183
183
183
182
182
181
181
181
181
181
181
181
181
181
181
182
182
182
182
182
182
182
182
181
180
180
179
178
178
178
177
177
176
175
174
174
177
176
175
175
176
177
178
179
179
179
180
180
181
181
183
184
184
185
186
187
187
190
190
190
191
191
191
196
196
197
198
199
200
201
205
205
205
206
207
208
208
208
209
209
210
211
212
212
220
220
219
219
216
215
211
210
208
208
207
207
206
206
211
201
200
209
208
199
210
212
208
208
214
183
183
211
213
216
210
205
103
68
96
23
6
13
26
40
47
32
41
18
26
15
11
0
10
146
146
147
148
149
150
150
150
150
149
149
148
148
148
147
147
146
146
145
145
145
146
146
147
147
148
148
148
154
156
148
131
70
33
60
31
55
69
2
41
36
0
37
29
18
5
23
17
17
23
21
23
22
24
29
37
36
40
47
51
60
68
67
68
174
133
38
13
76
130
18
41
43
42
23
34
25
8
23
19
40
35
89
28
14
79
10
121
127
165
151
106
123
148
150
141
135
172
145
144
180
145
160
170
169
169
169
170
172
173
174
171
171
171
172
172
173
173
173
174
174
175
176
177
178
179
179
180
181
182
183
184
184
184
184
185
185
186
186
185
186
187
188
188
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
186
186
186
186
186
186
186
183
183
182
182
182
181
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
181
181
180
180
179
179
179
180
180
179
179
179
178
178
179
179
179
179
179
179
179
181
181
182
183
184
184
185
186
187
188
189
190
191
192
193
193
194
194
194
195
196
197
198
200
201
203
204
208
209
209
210
211
212
212
213
214
214
214
215
215
216
217
216
216
216
215
215
214
212
212
212
212
211
211
211
210
210
210
210
209
208
208
209
209
209
208
208
207
207
193
195
195
198
206
201
190
175
217
168
48
18
39
38
43
31
38
33
0
17
20
145
145
146
148
148
149
149
150
149
149
148
148
148
148
147
146
146
145
145
145
145
145
145
146
146
146
147
147
146
155
156
149
106
64
59
53
43
25
62
25
31
41
36
11
14
29
7
17
21
28
25
24
24
27
33
39
35
38
37
37
47
50
42
124
63
1
48
66
89
51
16
58
44
24
9
43
54
18
18
16
36
22
90
33
56
10
32
72
109
151
125
94
124
134
133
121
160
156
123
175
178
135
177
170
170
170
170
171
173
173
173
171
171
172
172
173
173
173
174
174
174
175
176
177
177
179
179
180
180
181
182
183
184
184
184
184
185
185
186
184
185
186
188
188
187
186
186
186
186
186
186
186
186
187
187
187
187
187
187
187
186
186
186
186
186
186
186
183
183
183
182
182
182
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
181
181
181
180
180
180
180
181
180
180
180
179
179
179
180
180
180
180
180
180
180
182
182
183
184
185
185
186
187
188
189
191
192
193
193
196
196
196
197
197
197
197
198
199
201
202
204
205
210
210
210
211
212
213
213
215
215
215
215
216
216
217
218
218
217
217
216
216
216
214
214
213
213
212
212
211
211
211
211
210
210
209
209
210
210
209
209
209
208
208
201
205
205
203
205
208
210
201
182
199
193
46
47
68
19
25
26
39
11
0
22
143
144
144
146
147
147
148
149
149
148
148
147
147
147
146
146
145
145
144
144
144
144
144
144
144
144
144
143
148
151
147
153
143
97
47
120
73
69
52
83
81
44
35
23
28
37
1
11
21
22
24
30
31
30
31
33
30
31
26
28
44
53
44
26
27
19
36
12
18
24
22
23
3
15
23
57
61
73
34
53
24
50
52
63
31
149
89
78
89
71
95
92
124
122
112
83
146
174
136
204
150
125
186
170
178
175
175
174
176
175
175
174
174
174
175
175
176
176
176
176
176
176
177
177
177
179
180
180
180
180
181
181
183
183
183
184
184
185
185
184
184
186
187
187
186
186
185
185
185
185
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
184
184
183
183
183
182
182
182
182
182
182
182
182
182
183
183
183
183
183
183
183
181
181
181
181
181
181
181
181
181
181
181
182
182
182
182
182
182
182
182
182
182
185
186
186
187
188
189
189
191
192
193
195
196
197
197
197
198
198
198
199
199
201
201
202
204
206
207
208
213
213
214
214
215
216
217
218
218
218
219
219
219
220
221
221
220
220
220
219
219
218
218
217
216
215
214
213
214
213
213
213
212
212
212
211
211
211
211
210
210
209
203
204
209
213
214
212
211
211
209
214
196
213
217
165
172
205
188
130
53
28
33
142
142
143
145
145
146
146
148
148
148
147
147
146
146
145
145
145
144
144
143
143
145
145
144
143
143
143
142
140
139
153
147
152
155
139
58
123
53
38
80
60
76
50
43
43
52
39
39
33
13
15
22
26
27
26
28
18
23
26
24
24
22
15
16
35
15
1
2
29
1
25
14
7
18
0
28
47
77
73
58
95
91
79
31
52
27
93
46
117
59
56
64
67
103
107
61
29
126
159
168
129
176
179
177
184
184
182
181
178
177
177
178
178
178
179
179
180
180
179
179
179
179
179
179
179
182
181
181
181
181
181
181
182
182
183
183
184
184
184
183
184
185
186
186
186
185
183
183
183
183
183
183
183
185
185
185
185
185
185
185
186
186
186
186
186
186
186
185
185
184
184
183
183
183
182
182
182
182
182
182
182
182
182
182
182
182
182
182
181
181
182
182
183
183
183
182
182
183
183
183
184
184
182
182
182
182
182
182
182
188
188
189
190
191
191
192
195
196
197
198
199
200
201
201
202
202
202
203
203
203
204
205
207
208
210
211
215
216
216
217
218
219
219
220
221
221
221
222
222
223
224
223
223
223
222
222
221
222
221
220
219
218
216
215
216
216
215
215
214
214
214
213
213
212
212
212
211
211
222
215
212
214
212
211
213
222
208
211
213
208
214
204
210
216
210
204
163
116
88
142
142
143
144
145
146
146
148
148
148
147
146
146
146
145
145
145
144
143
143
143
145
145
144
143
143
143
142
147
132
147
142
147
148
129
142
114
71
80
58
59
69
69
55
47
49
59
50
34
17
12
15
16
16
15
16
14
16
21
22
22
27
28
7
11
16
26
0
6
6
16
8
12
26
0
22
29
59
91
43
118
82
108
0
112
4
129
46
39
51
40
61
60
102
97
51
36
52
171
178
117
171
174
174
186
185
183
183
179
179
178
179
179
179
180
180
181
181
180
180
180
180
180
180
179
182
182
182
182
182
181
181
182
182
182
183
184
184
184
183
184
185
186
186
185
185
183
183
183
183
183
183
183
185
185
185
185
185
185
185
186
186
186
186
186
186
186
185
185
184
184
183
183
183
182
182
182
182
182
182
182
181
181
181
181
181
181
181
181
181
182
182
183
183
183
182
182
183
183
184
184
185
182
182
182
182
182
182
182
188
189
190
191
191
192
192
196
196
198
199
200
201
201
204
204
204
205
205
205
204
205
206
207
209
211
212
216
216
217
218
219
219
220
221
221
222
222
222
223
223
224
224
224
223
223
223
222
223
222
221
220
218
216
216
216
216
216
215
215
214
214
213
213
213
212
212
211
211
200
200
207
214
212
213
217
215
216
213
212
210
204
208
215
209
208
208
211
180
129
143
143
143
144
145
145
145
146
146
146
146
146
146
146
144
144
144
144
144
144
144
143
143
142
142
141
141
141
137
139
143
146
149
148
147
141
130
93
80
79
88
98
60
72
63
46
54
47
48
53
27
30
28
27
19
0
1
12
9
17
32
23
24
1
31
29
37
17
10
6
23
16
11
11
7
6
18
30
25
24
38
41
44
9
27
35
25
33
56
58
66
59
83
65
72
66
21
42
38
123
105
187
161
175
184
183
185
185
185
182
180
185
185
185
185
185
185
185
185
185
185
184
184
183
183
184
184
184
183
182
181
180
181
181
181
182
183
183
183
182
182
183
183
184
184
184
184
184
184
184
184
184
184
185
185
185
186
187
187
187
187
187
187
187
187
187
187
185
185
184
184
183
183
183
182
182
182
182
182
182
182
183
182
182
181
181
180
180
182
182
182
182
182
182
182
184
185
185
185
186
186
186
187
185
184
184
185
186
186
189
190
191
192
193
194
195
200
201
202
203
204
205
206
206
206
206
206
206
206
207
208
209
210
211
212
213
216
217
218
219
220
221
222
224
224
225
225
226
226
226
226
226
226
226
226
226
226
226
225
224
223
222
220
219
219
218
218
217
216
215
215
216
216
215
215
215
214
214
203
204
204
204
205
207
207
209
209
210
210
208
207
207
205
205
203
204
204
203
203
144
144
144
144
144
144
144
145
145
145
145
145
145
145
143
143
143
143
143
143
143
143
143
142
142
141
141
141
137
138
141
143
144
144
143
143
140
131
120
109
96
87
83
92
70
70
83
69
44
0
75
64
47
22
9
26
13
19
19
20
17
5
15
0
48
50
35
29
43
24
12
6
10
9
14
18
0
16
21
15
15
14
6
30
15
27
26
36
56
46
50
40
54
25
39
54
20
15
19
0
135
164
165
190
183
184
185
185
186
187
186
189
189
189
189
189
189
189
189
189
189
188
188
187
187
186
186
186
185
184
183
182
183
183
183
183
183
183
183
181
181
181
181
182
182
182
183
183
184
184
184
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
184
184
183
183
183
182
182
182
182
182
182
182
182
182
180
180
180
180
180
180
180
182
182
183
183
183
183
184
186
186
186
187
187
187
188
188
186
186
186
187
188
189
192
192
194
195
196
197
197
203
203
205
206
207
208
208
209
209
209
209
209
209
210
211
211
213
214
215
216
218
219
220
221
222
223
224
226
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
227
226
225
224
224
223
223
222
221
220
219
219
218
218
217
217
216
215
215
207
207
207
208
206
206
206
206
206
207
206
205
204
204
199
199
199
200
202
203
204
144
144
144
144
144
144
144
145
145
145
145
145
145
145
143
143
143
143
143
143
143
143
143
142
142
141
141
141
138
138
140
140
140
142
142
136
137
139
135
123
109
100
92
90
84
98
81
51
40
40
62
59
73
53
16
8
5
15
19
23
26
18
31
3
66
65
43
41
62
45
23
12
12
8
4
5
13
18
12
0
0
4
13
4
24
6
9
29
41
45
45
31
45
12
16
32
0
18
32
0
90
161
171
193
184
185
186
187
187
188
188
189
189
189
189
189
189
189
191
191
190
190
189
189
189
188
187
187
186
185
184
184
183
183
183
183
183
183
183
181
181
181
181
181
181
181
183
183
183
184
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
184
184
183
183
182
182
182
182
182
182
182
182
182
182
180
180
180
180
180
180
180
182
182
183
183
184
184
185
186
187
187
188
188
188
188
188
187
187
188
189
190
191
193
194
195
196
198
198
199
204
205
206
207
209
209
210
211
211
211
211
211
211
212
212
213
214
215
217
217
219
220
221
222
223
224
225
228
228
228
228
229
229
230
230
230
230
230
230
230
230
230
230
229
228
228
227
226
225
225
224
224
223
221
221
220
220
219
218
218
216
216
214
213
213
212
208
208
208
206
206
205
205
205
204
204
197
199
199
200
202
203
204
145
145
145
144
143
143
143
144
144
144
144
144
144
144
142
142
142
142
142
142
142
143
143
142
142
141
141
141
140
140
140
137
137
139
138
139
139
142
145
147
151
153
122
109
119
89
49
60
61
52
64
77
83
71
69
85
49
53
38
29
30
16
17
10
59
55
53
56
66
45
38
17
9
16
7
10
35
24
24
29
25
18
14
11
0
0
6
24
77
102
27
5
54
47
31
49
49
29
69
35
0
122
159
163
188
189
189
188
188
188
190
190
190
190
190
190
190
190
192
192
192
191
191
190
190
190
189
189
188
187
186
186
185
185
185
184
183
183
183
183
182
182
182
181
180
180
182
182
183
184
185
186
186
187
187
187
186
185
185
185
185
185
185
185
185
185
185
183
183
182
182
182
181
181
182
182
182
182
182
182
182
180
180
181
182
182
182
183
182
183
183
184
185
186
186
188
188
189
189
189
190
190
190
189
189
190
191
193
194
196
197
198
199
200
201
202
207
208
209
210
211
212
213
214
214
214
214
214
214
214
215
216
217
218
219
220
222
222
223
224
225
226
227
230
230
230
230
231
231
232
232
232
232
232
232
232
232
232
232
232
232
231
231
231
229
229
228
228
227
226
225
225
225
224
223
221
219
219
225
223
223
221
216
216
214
210
210
208
207
206
205
205
203
203
203
202
202
202
202
144
144
144
143
142
142
142
142
142
142
142
142
142
142
144
144
144
144
144
144
144
142
142
142
142
142
142
142
141
141
140
140
139
139
139
138
138
138
138
138
138
138
137
132
114
113
126
108
65
58
69
72
65
56
69
71
79
36
59
46
40
37
23
12
53
1
64
44
51
50
65
8
27
36
34
34
68
39
20
61
29
30
17
57
19
0
0
64
81
86
28
52
71
69
60
61
35
0
37
10
17
0
102
127
177
195
178
193
181
198
194
190
190
190
191
191
192
192
192
192
192
191
191
190
190
187
187
187
186
186
185
185
185
185
184
183
182
181
181
181
181
181
181
181
181
181
182
182
182
183
184
184
184
185
185
184
184
184
184
184
184
184
184
185
186
186
186
185
185
184
184
183
183
183
184
184
184
184
184
184
184
183
183
183
183
183
183
183
183
183
184
184
185
185
185
188
189
190
190
191
192
192
189
190
191
193
194
195
195
199
200
201
203
204
205
205
207
208
210
212
213
214
215
217
217
217
217
217
216
219
219
220
220
221
222
223
225
225
226
226
227
228
229
231
231
231
232
232
232
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
232
232
232
231
231
230
230
230
229
228
227
225
222
222
221
220
219
218
215
213
213
213
213
212
211
208
207
207
206
206
206
205
204
204
204
144
144
143
143
142
142
142
142
142
142
142
142
142
142
144
144
144
144
144
144
144
142
142
142
142
142
142
142
141
141
140
140
140
139
139
138
138
138
138
138
138
138
136
147
137
128
118
82
34
85
72
81
79
68
70
61
55
71
70
29
62
37
17
35
41
27
46
15
63
42
40
30
33
48
71
28
80
92
52
65
67
58
19
64
24
31
18
40
119
65
55
70
62
61
84
81
93
9
63
51
69
57
18
55
129
166
205
181
193
180
188
190
190
191
191
191
192
192
192
192
192
191
191
190
190
188
188
187
187
187
186
186
185
185
184
184
182
181
181
181
181
181
181
181
181
181
182
182
182
183
183
184
184
185
185
185
185
184
184
184
184
184
184
185
186
186
186
185
185
184
184
183
183
183
184
184
184
184
184
184
184
183
183
183
183
183
183
183
183
184
184
184
185
185
185
188
189
190
191
191
192
192
190
191
192
194
195
196
196
200
201
202
203
204
205
205
208
209
211
212
214
215
216
218
218
218
218
217
217
219
220
220
221
222
223
223
225
226
226
227
228
229
229
231
231
232
232
233
233
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
233
233
233
232
232
231
231
231
230
229
227
226
223
222
221
221
220
218
215
214
213
213
213
212
211
208
207
207
206
206
206
205
205
204
204
143
143
143
142
142
141
141
140
140
140
140
140
140
140
142
142
142
143
143
143
143
142
142
142
142
142
142
142
142
142
141
141
140
140
140
140
140
140
140
140
140
140
150
141
141
140
141
144
136
102
89
99
88
69
77
84
99
85
92
81
84
84
81
47
45
64
24
35
37
39
54
42
82
61
36
47
86
68
74
94
68
48
48
94
66
17
51
0
95
86
99
93
74
79
100
97
115
27
76
119
23
172
48
60
38
93
151
208
182
196
193
191
191
191
192
192
193
193
192
192
192
191
191
190
190
190
189
189
189
188
188
188
186
186
185
184
183
182
182
181
181
181
181
181
181
181
180
181
181
182
182
182
182
184
184
185
185
185
186
186
185
185
185
185
185
185
185
185
185
184
184
183
183
183
184
184
184
184
184
184
184
184
184
184
184
184
184
184
185
185
185
186
186
186
187
189
190
191
192
193
193
194
193
194
196
197
198
199
199
202
203
204
205
206
207
208
211
212
213
215
217
218
218
220
221
221
221
221
222
223
223
224
225
225
226
227
228
228
229
230
231
231
232
233
234
234
234
235
235
235
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
236
235
235
234
234
233
232
231
229
228
225
224
223
222
221
219
216
215
214
214
213
213
211
209
208
208
207
207
206
206
205
205
205
142
142
142
141
141
141
140
139
139
139
139
139
139
139
139
139
140
141
142
142
143
142
142
142
142
142
142
142
143
142
142
141
141
141
141
141
141
141
141
141
141
141
155
152
156
152
148
145
142
135
137
153
148
115
84
51
54
94
82
66
84
72
100
59
71
74
65
95
23
53
21
42
35
27
81
61
0
46
81
47
71
70
59
106
125
56
105
0
0
66
48
130
99
68
131
119
111
43
106
122
46
77
76
26
51
29
68
125
203
187
189
192
192
192
192
193
193
194
192
192
192
191
191
190
190
190
190
190
189
189
188
188
187
186
186
185
183
183
182
181
181
181
181
181
181
181
179
179
179
180
180
181
181
182
182
183
184
185
185
186
186
186
185
185
185
184
184
185
185
184
184
183
183
183
184
184
184
184
184
184
184
185
185
185
185
185
185
185
186
187
187
187
188
188
188
191
192
193
194
194
195
195
195
196
197
199
200
201
201
204
205
206
207
209
209
210
214
215
217
218
220
221
222
223
224
225
225
226
227
227
227
228
229
229
230
231
231
232
232
233
234
235
235
236
236
236
237
237
237
238
239
239
239
239
239
239
239
239
239
239
239
239
239
239
238
238
238
237
237
236
236
235
234
233
232
230
227
227
224
224
223
221
218
217
216
215
214
213
212
210
209
208
208
207
207
207
206
206
206
142
142
142
141
141
140
140
138
138
138
138
138
138
138
138
138
139
141
142
142
142
142
142
142
142
142
142
142
143
143
142
142
141
141
141
142
142
142
142
142
142
142
150
144
144
144
149
154
153
150
143
151
154
144
130
102
55
110
57
65
54
45
52
47
33
72
76
76
90
84
70
49
53
33
61
54
18
40
56
3
13
39
75
118
48
83
43
16
25
22
3
79
67
52
105
98
77
21
47
49
46
30
29
28
35
34
52
77
174
190
185
192
192
192
193
193
194
194
192
192
192
191
191
190
190
190
189
189
189
188
188
188
187
187
186
185
184
183
183
181
181
181
181
181
181
181
178
178
179
179
180
180
180
181
181
181
183
184
185
185
186
186
186
185
184
184
184
185
185
184
184
183
183
183
184
184
184
184
184
184
184
185
185
185
185
185
185
185
187
187
188
188
188
189
189
192
193
193
194
195
196
196
195
197
198
199
200
201
201
205
206
207
208
209
210
211
215
216
218
219
221
222
223
225
225
226
227
228
228
228
229
229
230
231
232
232
232
233
233
234
235
236
236
237
237
237
237
238
238
239
240
240
240
240
240
240
240
240
240
240
240
240
240
240
238
238
238
238
237
236
236
236
235
234
232
231
228
227
225
224
223
222
218
217
217
215
215
214
213
210
209
209
208
208
207
207
206
206
206
141
141
141
140
139
139
139
137
137
137
137
137
137
137
139
139
139
140
140
140
140
142
142
143
143
143
144
144
143
143
143
143
143
143
143
142
142
143
143
144
144
144
145
145
147
147
147
148
148
151
153
153
154
155
156
157
139
128
114
98
102
92
57
118
56
48
49
47
54
57
49
60
55
93
69
58
0
22
68
54
100
23
22
23
19
20
25
30
31
29
28
27
25
25
27
29
29
23
29
44
48
59
56
63
14
24
7
54
100
144
183
191
194
195
193
192
194
193
191
191
191
190
190
189
189
187
187
187
187
187
187
187
187
187
187
186
185
185
185
183
183
182
181
180
179
179
179
179
179
179
179
179
179
178
178
179
182
183
184
185
184
184
185
185
186
186
186
183
183
183
183
183
183
183
184
184
184
184
184
184
184
184
184
185
185
186
186
186
186
187
188
190
191
192
192
194
194
195
195
196
196
196
197
198
199
201
202
203
203
207
209
210
212
213
214
215
217
219
220
222
223
224
225
226
227
228
230
231
232
232
232
233
233
234
235
236
236
236
236
237
237
237
238
240
240
240
241
241
242
242
242
242
242
242
242
242
242
243
243
243
242
242
241
241
241
241
241
240
240
239
239
237
236
235
234
232
229
229
227
226
225
224
221
219
219
216
216
215
214
211
210
210
209
209
208
207
206
205
205
141
140
140
139
139
139
139
137
137
137
137
137
137
137
136
137
137
138
138
139
139
141
141
142
142
143
143
143
144
144
144
144
144
144
144
143
143
144
144
144
145
145
142
143
143
144
145
147
147
150
150
152
153
153
156
156
157
159
154
143
143
133
106
78
72
97
85
74
59
102
52
68
90
65
64
51
8
55
109
98
29
0
28
21
28
37
39
38
35
37
40
40
39
39
41
43
43
37
35
43
46
53
50
53
55
0
43
26
75
107
206
191
191
191
190
190
190
191
191
190
190
190
189
189
189
187
187
187
187
187
187
187
187
187
187
186
185
185
185
183
182
182
181
179
179
178
177
177
177
177
177
177
177
177
177
178
180
181
182
183
183
183
183
184
184
185
185
182
182
183
183
183
183
183
184
184
184
184
184
184
184
184
184
185
185
186
186
186
186
188
189
190
191
192
193
194
195
195
196
196
196
196
198
199
200
201
203
203
204
208
209
211
213
214
215
216
218
219
221
223
224
225
226
229
229
231
232
233
234
233
233
234
235
236
236
237
237
237
238
238
238
239
239
241
241
241
242
242
242
243
243
243
243
243
243
243
243
244
244
243
243
243
242
242
241
241
241
241
240
240
239
238
237
236
235
233
230
230
228
227
226
225
221
220
220
217
216
216
214
212
211
211
210
209
209
208
206
206
205
140
140
140
139
139
138
138
136
136
136
136
136
136
136
135
136
136
138
138
139
139
141
141
142
142
143
143
143
145
145
145
145
145
145
145
144
144
144
145
145
145
146
143
144
145
146
146
148
148
149
151
152
153
154
154
154
156
160
158
150
153
147
130
112
78
117
97
80
84
52
41
46
80
43
64
49
23
80
59
27
8
22
34
27
32
37
37
34
35
36
40
38
37
39
40
43
42
35
31
40
44
51
40
37
73
22
0
47
47
145
201
194
191
190
191
191
190
191
190
190
190
189
189
188
188
187
187
187
187
187
187
187
187
187
187
186
185
185
185
182
182
181
181
179
178
178
176
176
176
176
176
176
176
176
177
177
179
180
181
181
182
182
182
183
183
183
184
181
182
182
182
183
183
183
184
184
184
184
184
184
184
184
184
185
185
186
186
186
187
188
189
190
192
192
193
195
195
196
196
196
197
197
198
200
201
202
203
204
205
209
210
212
213
215
216
217
219
220
222
223
225
226
227
230
231
232
233
234
235
234
235
235
236
237
238
238
238
239
239
239
240
240
240
242
242
242
242
243
243
244
244
244
244
244
244
244
244
245
244
244
244
243
243
243
242
242
241
241
241
240
240
239
238
237
235
234
231
230
229
228
227
225
222
221
220
218
217
216
215
213
212
211
210
210
209
208
207
206
206
139
139
139
138
138
138
137
135
135
135
135
135
135
135
136
136
137
139
141
141
142
142
142
143
143
144
144
144
146
146
146
146
146
146
146
145
145
146
146
147
147
147
151
151
152
152
152
153
153
153
153
154
154
154
154
154
152
154
153
155
159
162
160
145
144
136
94
114
115
120
76
60
75
78
94
81
90
74
27
18
40
26
32
45
42
36
28
31
35
32
31
30
28
30
32
34
35
38
28
30
31
38
37
67
64
66
0
10
53
116
146
202
193
189
193
195
191
194
189
189
189
189
188
188
187
187
187
187
187
187
187
187
187
187
187
186
185
185
185
182
181
181
180
178
178
177
174
174
174
174
174
174
174
175
175
176
176
177
177
178
179
179
180
180
181
181
181
180
180
181
182
182
183
183
184
184
184
184
184
184
184
184
184
185
185
186
186
186
187
189
190
191
192
193
194
196
196
196
197
197
197
198
200
201
203
204
205
206
206
211
212
213
215
217
218
218
221
222
223
225
227
228
228
231
232
233
234
235
236
237
237
238
238
239
240
241
241
241
241
242
242
242
243
243
243
244
244
244
245
245
247
247
247
247
247
247
247
246
246
246
245
245
244
244
243
242
242
242
241
241
241
240
240
239
237
235
233
232
230
230
229
227
224
223
222
219
219
218
217
214
214
213
211
210
210
209
207
207
206
139
139
139
138
137
137
137
135
135
135
135
135
135
135
138
139
140
142
144
145
145
144
144
145
145
145
146
146
147
147
147
147
147
147
147
146
146
147
147
148
148
148
158
158
158
158
159
157
157
157
156
156
154
154
154
154
152
151
153
159
162
161
161
183
144
159
143
145
150
108
146
148
119
149
112
97
56
72
55
0
33
16
52
47
56
58
51
46
49
49
26
25
25
27
29
32
33
39
37
49
52
53
41
65
68
109
98
0
81
118
166
202
190
185
190
193
188
191
189
189
189
188
188
187
187
187
187
187
187
187
187
187
187
187
187
186
185
185
185
181
181
180
179
178
177
177
175
175
175
175
175
175
175
174
174
175
175
175
175
176
178
178
178
179
179
180
180
178
179
180
181
182
183
183
184
184
184
184
184
184
184
184
184
185
185
186
186
186
188
189
190
192
193
194
194
196
196
197
197
198
198
198
201
202
203
205
206
207
207
212
213
214
216
217
219
219
222
223
224
226
227
229
229
231
231
233
234
235
236
238
238
239
240
241
241
242
242
242
243
243
243
244
244
244
244
244
245
245
246
246
248
248
248
248
248
248
248
247
247
247
246
246
245
245
243
243
243
242
242
241
241
241
241
239
238
236
234
233
231
231
229
228
225
224
223
220
220
219
218
215
214
214
211
211
210
209
208
207
207
142
140
139
140
140
139
138
138
138
137
136
136
137
138
139
139
140
141
142
143
143
145
145
146
146
146
147
147
148
149
149
150
151
151
151
150
150
148
147
148
149
149
151
153
153
152
152
153
155
155
155
156
156
156
157
157
154
155
156
157
159
159
160
160
162
163
164
163
162
161
167
124
139
139
127
132
85
115
19
4
4
35
45
44
57
50
17
51
37
47
12
20
18
27
26
27
26
46
18
15
40
40
57
78
114
127
166
106
22
181
187
191
191
191
191
191
191
191
190
190
190
189
189
188
188
188
188
188
187
187
186
186
187
187
186
186
185
185
185
184
184
183
182
179
179
178
179
179
179
178
177
177
177
175
175
175
175
175
175
175
175
175
175
176
177
177
177
178
178
180
181
183
184
185
182
182
182
182
182
182
182
182
183
184
184
185
185
186
189
190
191
191
192
193
193
199
200
200
200
200
200
201
203
204
205
207
208
209
209
212
213
214
216
217
218
218
221
223
224
226
227
228
229
232
233
234
236
237
238
239
239
240
241
241
242
243
243
243
243
244
244
244
245
246
246
246
247
247
247
248
248
248
248
248
248
248
248
248
248
248
247
247
246
246
246
246
245
244
244
242
242
241
241
240
239
237
235
235
232
231
230
229
226
224
224
223
222
221
220
217
215
215
213
213
212
211
208
207
207
141
140
138
140
140
138
137
139
139
138
137
138
139
140
141
141
141
143
144
144
145
147
147
147
148
148
149
149
149
149
149
150
150
150
150
150
149
148
148
149
150
150
153
155
155
154
154
155
157
157
157
157
158
158
159
159
156
157
158
160
161
162
162
167
168
168
169
169
168
168
158
172
153
160
146
69
74
65
28
56
42
42
65
69
47
28
80
45
64
63
68
35
17
41
40
17
51
39
36
34
45
68
42
50
133
180
179
191
155
150
186
191
191
191
191
191
191
191
190
190
190
189
189
188
188
188
188
188
187
187
186
186
185
185
185
184
184
183
183
185
184
183
182
180
179
178
178
178
178
177
177
176
176
174
174
174
174
174
174
174
174
174
175
175
176
176
176
177
178
180
181
182
183
183
182
182
182
182
182
182
182
182
182
184
185
186
186
187
189
190
191
191
192
193
193
199
200
200
201
201
201
202
204
205
206
207
209
209
210
213
214
215
216
217
218
219
222
223
225
226
228
229
230
233
234
235
236
237
238
240
240
241
241
242
243
244
244
244
245
245
245
246
246
247
247
248
248
248
249
249
249
249
249
249
249
249
249
249
249
248
248
248
247
247
247
247
246
245
244
243
243
242
241
241
239
238
236
236
233
232
231
230
226
225
225
224
223
222
221
217
216
216
214
213
213
211
209
208
208
141
140
139
140
140
139
137
140
140
139
140
141
142
143
144
144
145
146
147
148
148
150
150
151
151
151
152
152
151
151
151
151
150
150
150
151
150
149
150
151
152
153
156
158
158
157
157
158
160
160
160
161
161
161
162
162
160
161
162
164
165
166
166
169
169
170
170
171
171
171
167
176
172
168
171
144
47
84
65
25
36
56
80
80
50
102
60
69
88
44
49
62
55
48
48
56
25
50
55
34
34
67
26
13
148
196
189
180
197
173
192
191
191
191
191
191
191
191
190
190
190
189
189
188
188
188
188
188
187
187
186
186
184
184
184
183
182
182
182
184
183
182
181
179
178
177
177
176
176
175
175
175
175
173
173
173
173
173
173
173
173
173
173
174
174
174
175
177
178
181
182
181
181
180
181
181
181
181
181
181
181
182
182
185
186
187
188
189
189
190
191
191
192
193
193
199
200
201
202
203
203
204
205
207
208
209
210
211
212
214
214
216
217
218
219
219
223
224
225
227
229
230
230
234
234
236
237
238
239
241
242
242
243
244
245
245
247
247
247
247
248
248
248
250
250
250
250
251
251
252
250
250
250
250
250
250
250
250
250
250
250
249
249
248
249
248
248
247
246
245
244
244
243
242
241
240
238
237
235
234
233
231
228
227
226
226
225
224
222
219
218
217
216
215
214
213
211
210
209
143
142
141
142
142
141
139
142
141
141
142
143
145
146
146
147
147
149
150
150
151
152
153
153
154
154
154
155
154
154
153
153
152
152
152
153
153
152
153
155
156
157
158
161
161
160
160
161
163
162
163
163
164
164
164
165
164
165
166
167
168
169
170
172
172
171
172
173
174
175
181
171
180
180
177
185
170
114
110
76
62
38
62
65
65
80
57
72
75
43
50
73
68
56
50
62
30
54
63
43
55
41
34
28
113
197
187
196
188
206
192
191
191
191
191
191
191
191
190
190
190
189
189
188
188
188
188
188
187
187
186
186
184
184
184
184
183
183
182
181
181
180
179
176
175
175
175
175
175
174
174
173
173
171
171
171
171
171
171
171
171
171
172
172
173
173
173
176
177
181
182
181
179
177
180
180
180
180
180
180
180
182
182
185
187
188
190
190
189
190
191
191
192
193
193
199
200
201
203
204
205
205
207
208
209
210
212
212
213
214
215
216
218
219
220
220
223
225
226
228
229
230
231
234
235
236
238
239
240
243
243
244
244
245
246
247
249
249
249
249
250
250
251
252
252
252
252
253
253
254
252
252
252
252
252
252
252
252
252
251
251
251
250
250
250
250
249
248
247
246
246
245
244
244
242
241
239
239
236
235
234
233
229
228
228
227
226
225
224
220
219
219
217
216
216
214
212
211
211
144
143
141
142
142
141
140
142
142
141
142
144
146
147
147
147
148
150
150
151
151
153
153
154
154
155
155
155
155
155
154
154
153
153
152
154
153
153
154
156
157
159
159
162
162
161
161
162
163
163
164
164
164
165
165
165
165
165
167
168
169
170
170
174
173
173
173
175
176
177
184
177
179
188
175
171
196
160
144
99
114
73
60
82
85
43
66
52
62
55
71
61
56
77
72
54
66
40
53
39
60
23
30
32
105
203
177
205
178
198
196
191
191
191
191
191
191
191
190
190
190
189
189
188
188
188
188
188
187
187
186
186
185
185
184
184
183
183
183
180
180
179
178
175
174
174
175
175
175
174
173
173
173
171
171
171
171
171
171
171
171
171
171
172
173
173
173
176
177
182
182
180
178
177
180
180
180
180
180
180
180
181
182
185
187
189
190
191
189
190
191
191
192
193
193
199
200
201
203
204
205
206
207
208
209
211
212
213
213
214
215
216
218
219
220
220
224
225
226
228
229
231
231
234
235
236
238
239
240
243
243
244
245
245
246
247
249
249
250
250
250
251
251
252
252
253
253
253
254
254
252
252
252
252
252
252
252
252
252
252
251
251
250
250
250
250
249
248
248
246
246
245
245
244
243
241
239
239
236
236
234
233
230
229
228
227
227
225
224
221
220
219
217
217
216
215
212
211
211
144
144
144
143
143
142
142
142
142
142
145
147
149
151
150
151
151
153
153
154
154
156
156
156
156
156
156
156
156
156
156
156
155
155
155
156
156
158
158
159
160
160
163
163
163
164
164
164
165
167
167
168
168
168
169
169
169
169
171
172
173
174
174
174
175
176
177
178
179
180
185
185
185
186
186
186
183
185
196
190
174
173
168
135
116
118
116
81
65
84
90
55
67
39
47
4
29
31
32
47
63
44
55
40
91
205
188
194
194
189
189
190
190
190
190
190
190
190
189
189
188
188
188
187
187
187
187
188
188
188
186
185
186
186
185
184
183
182
182
180
178
176
176
175
173
172
171
171
172
172
172
172
172
167
167
167
168
168
169
169
169
169
169
170
170
171
171
174
176
179
178
177
177
178
178
178
179
180
181
181
181
182
183
185
187
189
190
191
189
190
192
193
194
195
195
199
200
201
203
204
205
205
208
209
210
210
211
212
212
215
216
217
219
220
221
221
225
226
227
229
230
232
232
237
238
239
239
240
241
242
242
243
244
246
247
248
248
248
249
250
251
251
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
251
251
250
250
250
250
249
249
248
246
246
246
245
243
242
242
240
238
236
236
235
234
231
230
230
229
229
227
226
223
222
221
219
219
217
215
211
210
209
145
145
144
144
143
143
143
144
144
144
146
148
151
152
152
152
153
155
156
157
157
158
158
158
158
158
158
158
158
158
159
159
159
160
160
159
159
161
161
162
163
163
166
166
167
167
168
168
168
170
170
171
171
172
172
172
171
172
173
175
176
177
177
178
179
180
181
183
183
184
187
187
189
189
192
192
197
184
182
183
177
179
187
177
189
188
182
168
139
128
147
107
112
140
115
106
79
56
66
113
49
75
60
149
127
204
191
198
192
190
190
190
190
190
190
190
190
190
188
188
188
187
187
186
186
186
187
187
188
187
185
184
185
184
184
183
181
181
180
179
177
175
174
174
172
170
170
170
170
169
169
169
169
165
165
165
166
166
166
167
167
168
168
169
169
169
169
171
174
177
176
176
176
177
177
177
179
180
181
182
183
184
185
187
188
190
190
191
190
192
193
194
195
196
197
200
201
202
203
204
205
205
207
208
209
211
212
212
213
216
217
218
219
221
221
222
225
226
228
230
231
232
233
237
238
239
239
240
241
242
242
243
244
246
247
248
249
249
250
250
251
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
252
252
251
251
251
251
250
249
248
247
247
247
245
243
243
243
240
239
237
236
236
234
232
231
231
230
229
228
227
223
222
222
220
219
218
216
212
210
210
145
145
145
144
144
143
143
144
144
145
147
149
151
153
152
153
154
156
158
159
159
160
160
160
160
160
160
160
160
160
161
161
162
162
162
161
162
163
164
165
165
166
168
168
169
169
170
170
170
170
170
171
171
172
172
172
172
173
174
175
176
177
178
181
181
183
184
185
186
186
188
189
190
191
194
194
193
189
192
199
196
187
184
185
200
198
195
194
169
155
123
136
143
174
119
78
101
75
95
116
75
113
93
190
162
208
188
197
190
193
188
190
190
190
190
190
190
190
188
188
187
187
187
186
186
186
186
187
187
187
184
184
184
183
183
182
180
180
179
178
176
174
174
173
171
169
170
169
169
168
168
167
167
163
164
164
165
165
165
165
167
167
167
168
168
168
169
170
173
176
176
176
176
177
177
178
180
181
183
183
184
186
186
188
189
190
191
191
191
193
194
195
196
197
198
201
202
203
204
204
205
205
207
208
209
211
212
213
213
217
217
219
220
221
222
222
226
227
228
230
232
233
233
237
238
239
239
240
241
242
242
243
244
246
247
248
249
249
250
251
252
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
251
251
250
250
249
247
247
247
246
244
243
243
241
239
237
237
236
235
232
232
231
230
230
229
227
224
223
222
220
220
218
216
212
211
210
146
146
145
145
144
144
144
146
146
146
148
151
153
154
153
154
155
159
160
161
162
162
162
162
162
162
162
162
162
163
164
165
166
166
167
167
167
168
169
170
170
171
171
172
172
173
173
173
173
173
174
174
174
175
175
175
177
178
179
180
181
182
183
185
186
187
188
189
190
190
190
192
193
195
197
198
201
200
192
185
187
190
192
183
192
195
190
184
181
190
198
188
190
165
196
144
139
162
162
168
193
186
202
189
195
203
187
199
185
192
185
190
190
190
190
190
190
190
187
187
187
186
186
185
185
185
186
186
186
186
184
183
182
182
181
181
179
178
178
176
175
173
172
172
170
168
169
168
168
166
165
164
164
161
161
162
163
163
163
163
165
165
166
166
167
167
167
170
172
177
177
177
178
179
179
179
182
184
186
187
187
188
188
189
190
191
191
192
193
194
195
196
198
198
199
203
203
204
204
204
205
205
206
208
209
211
212
214
214
217
218
219
221
222
223
223
226
228
229
231
232
233
234
237
238
239
239
240
241
242
242
243
244
246
247
248
250
250
251
251
252
253
254
255
255
255
255
255
255
255
253
253
253
253
253
253
253
254
254
253
253
253
252
252
252
252
251
250
249
248
248
248
246
244
244
244
241
240
238
238
237
236
233
232
232
231
230
229
228
225
223
223
221
220
219
217
213
211
211
145
145
145
145
145
145
144
146
146
147
149
151
151
152
154
155
156
159
161
162
163
164
164
164
164
164
164
163
168
168
169
169
169
170
170
171
171
172
172
172
173
173
173
173
174
174
175
175
175
176
176
177
178
179
179
180
182
183
184
185
187
187
188
189
190
191
191
192
193
193
194
195
196
198
199
200
199
199
198
197
196
196
195
195
194
194
193
193
192
192
191
191
191
190
190
189
189
187
187
187
187
187
187
187
189
189
189
189
189
189
189
191
191
191
191
191
191
191
191
191
190
189
189
187
187
185
185
184
183
183
182
181
180
180
179
179
177
176
176
171
171
170
169
166
165
165
164
164
163
163
162
162
162
160
160
161
162
163
164
164
163
164
166
166
166
168
169
169
171
176
176
177
178
179
182
182
185
187
188
189
190
193
193
194
194
195
195
195
195
196
197
199
200
201
201
204
204
204
204
204
204
204
203
206
208
210
212
214
215
217
218
219
221
222
224
224
227
228
229
231
232
234
234
238
238
239
239
240
240
242
242
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
250
250
248
248
247
247
246
245
243
241
241
240
239
238
237
234
232
232
231
231
229
228
225
223
223
221
219
217
215
213
211
209
146
146
145
145
145
145
145
146
147
148
150
151
152
153
155
155
156
160
161
162
163
165
165
165
164
164
164
164
168
169
169
170
170
170
171
172
172
173
173
174
174
174
174
175
175
175
176
176
176
178
179
179
180
181
182
182
183
184
185
186
187
188
189
191
191
192
193
193
194
194
195
196
197
199
200
201
199
199
199
198
197
196
196
195
195
194
193
193
192
191
191
191
190
190
190
189
189
187
187
187
187
187
187
187
189
189
189
189
189
189
189
191
191
191
191
191
191
191
191
191
190
189
188
187
187
185
184
184
183
182
181
181
180
179
179
178
176
176
176
171
170
170
168
166
165
165
163
163
163
162
162
161
161
159
159
160
162
162
163
163
163
164
166
166
166
168
169
169
172
177
177
177
179
180
182
183
185
187
188
190
190
193
193
194
194
195
195
195
195
196
198
199
200
201
201
204
204
204
204
204
204
204
204
206
208
210
212
214
214
216
218
219
221
222
223
224
226
228
229
231
232
233
234
237
238
239
239
240
241
242
242
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
251
250
248
248
247
247
246
245
243
241
241
240
240
238
237
234
233
232
231
231
229
228
225
223
223
221
219
217
215
213
211
209
147
147
147
148
148
148
148
149
150
150
153
154
155
155
156
157
158
161
163
164
165
166
167
167
167
168
168
168
171
171
172
172
173
173
173
175
175
177
177
178
178
179
179
179
180
180
180
181
181
182
183
183
184
185
186
186
186
187
188
190
191
192
192
195
196
196
197
198
199
199
200
201
202
202
203
204
201
201
201
200
199
198
198
197
196
195
194
193
192
191
190
190
190
189
189
189
188
186
186
186
186
186
186
186
187
187
187
187
187
187
187
189
189
189
189
189
189
189
190
189
189
188
187
186
185
183
183
182
181
180
178
178
178
177
177
176
174
174
174
170
169
168
167
165
164
163
161
160
160
159
159
159
159
157
158
158
160
161
161
161
163
164
166
166
166
168
169
171
174
179
179
179
180
182
183
183
186
188
189
190
191
194
194
195
195
195
196
196
196
198
199
200
201
202
203
204
204
204
204
204
204
204
205
206
208
210
212
213
213
216
217
218
220
222
223
223
226
227
228
230
232
233
233
236
237
238
239
240
241
242
242
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
251
250
249
249
248
247
247
245
244
242
242
241
240
239
238
234
233
233
231
231
229
228
225
223
223
221
219
217
215
213
211
209
148
148
149
150
151
151
152
152
153
154
156
157
158
158
160
160
162
165
166
168
168
169
169
170
171
171
172
172
174
174
175
176
176
176
176
177
177
179
180
181
182
183
182
183
183
184
184
184
184
183
184
185
186
187
187
188
190
191
192
194
195
196
196
199
199
200
201
201
202
202
204
204
204
205
205
206
204
204
203
202
201
201
200
199
198
197
195
194
192
191
189
189
189
189
188
188
187
185
185
185
185
185
185
185
186
186
186
186
186
186
186
188
188
188
188
188
188
188
188
188
187
186
185
184
184
182
182
180
179
177
175
174
175
175
174
174
172
171
171
168
167
167
165
163
162
162
160
159
159
158
158
158
157
157
157
158
159
160
161
161
163
164
166
166
166
168
169
172
174
179
179
180
181
182
183
184
187
188
190
191
192
195
195
195
196
196
196
197
198
199
201
202
203
204
204
204
204
204
204
204
204
204
206
207
208
210
211
212
212
215
216
218
219
221
222
223
225
226
228
229
231
232
233
234
235
237
238
240
241
242
242
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
253
253
252
251
250
249
249
248
247
246
245
243
242
242
241
240
238
235
234
233
231
231
229
228
225
223
223
221
219
217
215
213
211
209
148
149
149
151
152
153
153
153
154
155
157
158
159
160
162
162
164
167
168
169
170
169
170
171
172
173
173
174
175
176
176
177
177
177
178
177
177
180
181
182
183
183
183
183
184
184
185
185
185
186
187
188
189
189
190
190
192
193
194
195
196
197
198
199
200
201
201
202
203
203
204
205
205
205
206
206
205
204
204
203
202
201
201
199
199
197
196
194
192
191
189
189
189
188
188
188
187
185
185
185
185
185
185
185
185
185
185
185
185
185
185
187
187
187
187
187
187
187
187
187
186
186
185
183
183
182
181
180
178
176
174
173
174
174
174
173
171
171
170
167
167
166
165
162
162
161
160
159
159
158
158
158
158
157
158
158
160
161
161
162
163
164
166
166
166
168
169
171
174
179
179
179
180
182
184
184
187
189
190
191
192
195
195
196
196
196
197
197
199
200
201
202
204
204
205
204
204
204
204
204
204
204
206
207
208
210
211
212
212
215
216
217
219
220
222
222
225
226
227
229
230
232
232
233
235
236
238
240
241
242
242
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
254
253
252
251
250
250
249
249
248
247
245
243
243
242
241
240
239
236
234
234
231
231
229
228
225
223
223
221
219
217
215
213
211
209
153
153
152
153
155
156
157
158
158
159
163
164
165
166
166
167
168
170
170
170
170
171
172
173
174
175
176
176
180
180
180
180
179
179
179
177
178
180
181
182
183
184
183
185
186
187
188
189
190
192
192
193
193
193
194
194
194
194
195
196
197
198
198
201
201
202
202
203
203
203
206
206
207
207
208
208
206
206
205
204
204
203
202
200
199
198
197
195
194
192
189
189
189
189
189
188
188
185
185
184
184
184
183
183
183
183
183
183
183
183
183
186
186
186
185
185
184
184
184
184
183
183
182
180
180
176
176
175
174
174
172
172
173
173
172
171
168
167
167
165
164
163
163
161
160
160
160
160
160
159
158
158
158
159
159
159
159
159
159
159
162
162
163
166
167
168
168
172
173
176
178
180
182
183
185
185
188
189
190
191
192
194
194
195
196
196
197
197
199
201
203
204
204
203
203
205
205
205
205
205
205
205
206
207
208
210
211
212
212
214
215
216
218
219
220
220
223
224
225
227
228
230
230
234
235
236
238
239
241
241
241
242
243
245
246
247
249
249
250
251
251
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
250
250
249
248
246
244
244
241
240
239
238
235
233
233
232
231
230
228
224
223
222
218
217
215
213
210
210
210
154
154
154
155
156
157
158
159
160
161
164
166
167
168
168
169
170
173
173
172
172
176
176
178
178
179
180
180
180
180
180
180
180
180
180
181
181
183
185
186
187
187
185
186
188
189
190
191
191
194
194
195
195
196
196
196
196
197
197
198
199
199
199
202
202
203
203
203
204
204
206
207
207
207
207
208
207
206
206
205
204
203
203
201
200
199
198
196
194
193
189
189
189
188
188
187
187
183
183
183
182
182
182
181
183
183
183
183
183
183
183
185
185
185
184
184
183
183
183
183
182
181
180
179
179
175
175
174
174
173
171
171
172
171
171
169
167
166
166
163
163
163
162
161
160
160
160
160
160
159
158
158
158
159
159
159
159
159
159
159
161
161
162
164
166
166
167
172
172
176
178
180
181
182
184
184
187
189
191
192
192
194
194
195
196
197
198
198
199
201
203
204
204
203
203
205
205
205
205
205
205
205
205
207
208
209
210
211
212
214
214
216
217
218
219
219
222
223
224
226
228
229
229
233
234
235
237
239
240
240
241
242
243
244
245
246
248
249
249
250
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
251
250
249
248
247
245
244
242
241
240
238
235
234
233
232
231
230
228
224
223
222
218
217
215
212
210
209
209
155
155
155
156
157
159
160
161
162
163
166
168
169
169
170
171
172
175
175
174
174
178
178
179
179
180
180
180
180
180
180
181
181
181
181
182
182
184
186
187
188
188
187
188
189
191
192
193
193
196
196
197
197
198
198
198
198
198
199
199
200
200
200
203
203
203
204
204
204
205
207
207
207
207
207
207
207
207
206
205
204
204
203
202
201
200
198
197
195
194
190
189
189
188
188
187
186
182
182
182
182
181
181
180
182
182
182
182
182
182
182
184
184
184
184
183
183
182
182
181
181
180
179
178
178
175
174
174
173
172
171
170
171
170
169
168
166
165
164
163
162
162
161
160
160
160
160
160
160
159
158
158
158
158
158
158
158
158
158
158
159
160
161
163
164
165
166
170
171
175
177
179
180
181
183
183
186
188
190
192
192
193
194
195
197
198
198
199
199
201
203
204
204
203
203
205
205
205
205
205
205
205
205
206
208
209
210
211
211
213
214
215
216
217
218
219
221
222
224
225
227
228
229
232
233
235
236
238
239
240
241
241
243
244
245
246
248
248
249
250
251
251
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
253
253
251
250
250
248
247
245
245
242
241
240
239
235
234
234
232
231
230
228
224
223
222
218
217
215
212
209
209
208
158
157
157
158
159
161
162
164
165
166
169
171
172
173
174
175
176
179
179
178
178
180
180
180
180
180
180
180
182
182
183
184
184
185
185
184
185
187
188
189
190
190
192
193
195
196
197
198
198
200
200
201
201
202
202
202
202
202
202
202
202
203
203
204
205
205
205
206
206
206
208
207
207
207
207
206
208
207
207
206
205
204
204
203
203
202
200
198
197
196
192
192
191
190
189
188
186
182
182
182
181
181
180
180
181
181
181
181
181
181
181
183
183
182
182
182
181
181
179
179
178
178
177
175
175
173
173
172
171
170
169
169
168
168
167
166
163
163
162
161
161
161
160
160
160
160
160
160
160
159
158
158
158
157
157
157
157
157
157
157
157
158
158
161
162
163
163
167
168
171
173
175
176
177
179
179
183
186
188
190
191
191
191
194
196
197
198
199
199
201
203
204
204
203
203
205
205
205
205
205
205
205
204
206
207
208
209
210
211
211
212
213
214
216
216
217
219
220
222
224
225
226
227
230
231
233
235
236
237
239
240
241
242
243
244
245
247
248
248
249
250
251
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
254
254
254
252
251
250
249
248
246
245
243
242
241
239
236
235
234
232
231
230
228
224
223
222
219
217
214
211
208
207
207
159
159
158
159
161
162
163
166
167
168
171
173
174
174
176
177
178
181
181
180
180
185
185
184
184
184
184
184
183
184
185
186
187
188
188
190
191
193
194
195
196
196
196
197
198
200
201
202
202
202
203
203
203
204
204
204
204
204
204
204
204
204
204
205
205
206
206
207
207
207
208
208
207
207
206
206
208
208
207
206
206
205
204
204
204
202
201
199
198
197
194
194
193
192
190
189
187
183
183
182
182
182
181
181
181
181
181
181
181
181
181
182
182
182
181
181
180
180
178
178
177
176
175
174
174
172
172
171
170
170
168
168
167
167
166
165
162
161
161
160
160
160
160
160
160
160
160
160
160
159
158
158
158
157
157
157
157
157
157
157
156
156
157
160
161
162
162
164
165
168
170
172
173
174
175
176
181
183
186
188
189
189
189
192
194
196
197
198
199
201
203
204
204
203
203
205
205
205
205
205
205
205
204
205
206
208
209
210
210
210
211
212
214
215
216
216
218
220
221
223
224
225
226
229
231
232
234
235
236
239
239
240
241
243
244
245
247
247
248
249
249
250
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
254
254
252
252
251
250
248
246
246
243
243
241
240
237
236
235
232
231
230
228
224
223
222
219
217
214
211
207
206
205
160
160
159
160
161
163
164
168
169
169
171
172
173
174
179
179
180
182
183
184
184
184
184
185
185
185
185
185
185
186
188
189
191
192
192
193
194
195
196
197
197
198
203
203
204
204
204
205
205
206
206
206
206
206
206
206
208
208
208
208
208
208
208
210
209
209
209
208
208
208
208
208
207
207
206
206
206
206
206
205
205
204
204
203
203
202
201
201
200
199
196
196
195
194
192
191
190
186
185
185
184
184
183
182
183
183
183
182
182
181
181
181
181
180
179
179
177
177
175
175
174
174
174
174
173
169
169
169
168
168
168
167
166
165
163
161
159
159
159
160
160
160
161
162
162
162
160
160
160
159
158
158
158
158
158
158
157
156
156
156
156
156
157
158
159
160
160
163
164
167
169
171
172
173
173
174
178
180
183
185
186
187
189
192
192
193
195
197
199
201
203
204
204
203
203
203
203
202
202
201
201
201
202
203
204
205
205
206
206
208
209
210
212
213
214
214
217
218
220
222
224
225
226
229
231
232
234
235
236
241
241
242
243
243
244
245
247
247
248
249
249
250
251
252
252
252
253
253
254
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
243
243
241
240
237
235
235
232
231
230
228
224
223
222
216
216
215
212
207
206
207
161
160
160
161
163
164
165
168
169
170
172
174
175
175
179
180
181
183
185
186
186
187
187
188
189
189
189
190
193
194
195
197
198
198
199
200
200
201
202
203
203
204
205
206
206
207
207
207
207
210
210
210
210
210
210
210
210
210
210
210
210
210
210
211
211
210
210
210
209
209
209
208
208
208
207
207
206
206
206
206
205
205
205
204
203
203
202
201
200
200
197
196
196
194
193
192
191
187
186
186
185
184
183
182
182
182
182
181
181
181
180
180
180
179
179
178
176
176
174
174
174
173
173
172
172
168
167
167
167
166
165
165
164
163
161
159
158
158
158
159
159
160
160
161
161
161
160
159
159
158
158
158
158
157
157
157
156
156
155
155
155
156
156
158
159
159
160
160
161
164
166
168
170
171
171
172
176
179
181
182
183
185
187
191
191
192
194
196
198
200
202
203
203
202
202
202
202
201
201
201
200
200
201
202
202
203
204
205
205
208
209
210
211
212
213
214
217
218
220
222
224
225
226
230
231
233
234
236
237
241
241
242
243
243
244
245
246
247
247
248
249
250
250
252
252
252
252
253
253
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
243
243
241
240
237
235
235
232
231
230
228
224
223
222
219
218
216
214
209
207
206
161
161
161
163
165
167
168
169
170
171
174
176
177
178
182
182
184
187
189
190
191
192
193
194
195
196
197
197
199
199
200
201
202
202
202
204
204
205
206
207
208
208
210
211
211
211
212
212
212
212
212
212
212
212
212
212
213
213
213
213
213
213
213
213
213
213
212
212
212
212
210
210
210
209
209
209
207
207
207
206
206
206
205
204
204
203
203
202
201
200
199
198
197
196
195
194
192
189
188
187
186
185
183
182
181
180
180
180
179
179
179
179
178
178
177
176
175
174
174
174
173
172
171
170
169
166
165
165
164
163
161
161
160
159
158
157
156
156
157
158
158
158
158
159
159
160
159
159
158
158
157
157
157
156
155
155
154
154
154
154
155
155
156
157
158
159
159
157
158
162
164
166
167
168
169
170
173
175
177
178
179
182
184
188
189
190
193
195
196
199
200
201
201
201
201
201
200
200
199
199
199
199
198
199
200
201
202
202
202
207
208
209
210
212
212
213
217
218
220
222
224
225
226
231
232
233
235
237
238
241
241
242
243
243
244
245
246
246
247
247
248
249
250
251
251
251
252
252
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
243
243
241
240
237
235
235
232
231
230
228
224
223
222
217
215
212
211
207
202
198
161
161
161
164
166
168
169
169
170
171
175
177
178
179
184
184
186
190
191
193
194
195
195
197
198
199
200
201
201
202
202
203
203
204
204
206
207
208
209
210
210
210
213
213
213
214
214
214
215
214
214
214
214
214
214
214
214
214
214
214
214
214
214
215
214
214
214
213
213
213
211
211
210
210
210
209
208
207
207
207
206
206
206
205
204
204
203
202
201
201
199
199
198
197
196
194
193
190
189
188
186
185
183
182
180
180
179
179
179
178
178
178
178
177
176
175
174
174
174
173
172
171
170
168
168
165
164
163
162
161
159
159
159
158
156
155
155
156
156
157
157
157
158
158
159
159
158
158
158
157
157
157
156
155
155
154
154
153
153
153
154
155
155
157
158
158
159
157
157
161
163
165
166
167
168
169
172
174
175
176
177
180
182
187
188
189
192
194
196
198
200
200
200
200
200
200
199
199
199
198
198
198
197
198
199
200
200
201
201
207
208
209
210
211
212
213
217
218
220
222
224
225
226
231
232
234
235
237
238
241
241
242
243
243
244
245
245
246
246
247
248
249
249
250
251
251
251
252
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
243
243
241
240
237
235
235
232
231
230
228
224
223
222
222
218
214
211
202
195
189
162
162
162
165
167
169
171
169
170
172
176
178
180
181
186
187
189
193
195
197
198
198
198
201
202
203
204
205
207
207
208
208
208
208
208
212
213
214
215
216
216
217
215
216
216
216
217
217
217
218
218
218
218
218
218
218
216
216
216
216
216
216
216
216
216
215
215
215
214
214
212
212
211
211
210
210
208
208
208
207
207
206
206
205
205
204
203
203
202
201
200
200
199
198
196
195
194
191
190
189
187
185
183
181
179
179
179
178
178
177
177
177
177
176
175
175
173
173
173
173
172
171
169
167
166
163
163
162
161
159
157
156
157
156
155
154
154
155
155
156
156
156
157
158
158
158
158
158
158
157
156
156
156
154
154
154
153
152
152
152
154
154
155
156
157
158
158
157
157
161
163
165
166
167
167
168
170
172
173
174
175
178
181
185
187
188
191
194
195
197
199
199
200
199
199
199
199
198
198
197
197
197
196
197
197
198
199
200
200
206
207
208
210
211
212
212
217
218
220
222
224
225
226
232
233
234
236
237
239
241
241
242
243
243
244
245
245
245
246
247
247
248
249
250
250
250
251
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
243
243
241
240
237
235
235
232
231
230
228
224
223
222
216
213
211
211
210
203
197
164
163
163
165
167
169
170
171
172
174
177
180
184
187
188
189
192
198
199
200
200
203
203
205
206
206
207
207
209
210
211
212
213
213
213
215
215
217
217
218
219
219
219
219
220
220
221
221
221
220
220
220
220
220
220
220
219
219
219
218
218
218
217
217
217
216
216
216
216
215
213
212
212
211
210
209
209
209
208
207
206
206
205
205
205
204
203
202
202
201
199
198
198
197
196
195
194
191
190
189
187
185
183
181
180
180
179
179
178
177
176
174
174
174
174
174
171
170
169
168
166
165
164
165
165
161
160
159
158
157
155
154
155
155
155
155
155
155
155
156
156
156
157
157
158
158
159
159
158
156
156
155
155
154
154
153
153
152
152
152
153
153
154
155
156
157
157
158
158
160
160
161
162
162
165
166
168
169
170
171
171
176
178
184
187
189
190
191
193
196
197
199
199
199
199
198
198
197
197
196
196
196
196
195
195
196
198
199
200
205
206
208
210
212
213
214
217
218
221
223
226
227
228
232
234
235
235
235
237
241
241
242
242
243
244
245
246
246
247
247
248
249
250
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
255
254
254
254
253
253
250
250
249
248
248
246
246
244
244
243
241
238
236
236
234
232
230
228
226
224
222
218
217
216
214
209
208
207
164
163
163
165
167
169
170
171
173
175
178
181
185
188
190
191
194
199
201
202
202
205
205
207
207
208
209
209
210
210
212
213
213
214
214
216
217
218
219
220
220
221
221
221
221
222
222
222
223
222
222
222
222
222
222
222
221
220
220
219
219
219
219
218
218
217
217
216
216
216
213
213
212
211
210
210
209
208
208
207
206
205
205
204
204
203
203
202
201
200
199
198
198
197
196
195
194
191
190
189
187
185
183
180
179
179
178
178
177
176
175
174
174
174
174
173
170
169
167
166
165
163
162
162
163
159
159
158
157
156
154
153
155
155
155
155
155
155
155
155
155
156
156
157
157
157
158
158
157
156
155
154
154
153
153
153
152
152
151
151
152
153
153
155
156
156
157
158
158
160
160
161
162
162
164
165
167
168
169
170
170
175
177
183
186
188
189
190
192
195
197
198
199
199
199
198
198
197
197
196
196
196
196
195
195
196
198
199
200
205
206
208
210
212
213
214
217
218
221
223
226
227
228
232
234
235
235
235
237
240
241
241
242
243
244
244
245
246
246
247
248
249
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
254
254
254
253
253
253
250
250
249
248
248
246
246
244
244
243
241
238
237
236
235
233
230
229
227
224
222
217
217
215
213
210
208
208
165
164
164
166
168
170
171
173
176
179
183
185
188
190
193
195
198
203
205
205
206
209
209
210
211
212
212
213
213
213
214
215
216
216
217
219
220
221
222
223
223
224
223
224
224
225
225
225
225
225
225
225
225
225
225
225
224
223
223
223
222
222
222
220
220
219
218
217
216
216
214
213
213
212
211
210
208
208
207
206
205
205
204
203
202
202
201
200
199
199
197
197
197
196
195
194
193
190
189
188
186
184
182
180
178
178
177
176
176
175
174
174
174
174
174
172
168
167
167
166
164
162
161
160
160
155
155
154
154
153
152
151
154
154
154
154
154
154
154
154
154
154
154
155
155
156
157
156
156
154
153
153
152
152
151
151
150
150
150
150
152
152
153
154
155
156
156
158
158
160
160
161
162
162
163
163
165
167
168
169
169
173
175
181
184
186
187
188
192
195
196
198
198
198
198
198
198
197
197
196
196
196
196
195
195
196
198
199
200
205
206
208
210
212
213
214
217
218
221
223
226
227
228
231
233
234
234
234
236
240
240
241
241
242
243
244
245
245
246
246
247
248
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
254
254
253
253
253
252
252
250
250
249
248
248
246
246
244
244
243
242
240
239
238
235
233
231
230
227
225
223
219
218
216
215
211
209
209
167
167
167
169
170
172
173
175
178
182
187
188
190
191
195
196
199
205
206
207
207
210
210
212
213
213
214
214
215
215
216
217
218
218
219
220
221
222
223
223
224
224
224
225
225
226
226
226
226
228
228
228
228
228
228
228
226
226
226
225
225
225
224
223
222
220
219
218
217
216
215
214
213
212
212
211
207
207
206
206
205
204
203
201
201
200
200
199
198
197
195
195
194
193
192
192
191
189
189
187
185
183
181
179
179
178
178
177
176
175
174
174
174
174
173
171
167
166
163
162
160
157
156
154
154
151
151
151
151
150
150
150
153
153
153
153
153
153
153
152
152
153
153
154
154
154
155
155
154
153
152
151
151
150
150
150
149
149
148
148
151
151
152
154
154
155
155
158
158
160
160
161
162
162
163
164
166
167
168
169
170
171
173
179
182
184
185
185
191
194
196
197
197
197
197
198
198
197
197
196
196
196
196
195
195
196
198
199
200
205
206
208
210
212
213
214
217
218
221
223
226
227
228
231
233
233
233
234
236
239
239
240
241
242
242
243
244
244
245
246
247
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
244
244
243
242
241
240
240
236
234
232
230
228
226
224
224
223
221
218
212
209
208
168
168
168
169
171
173
174
175
179
183
188
189
190
192
195
197
199
205
206
207
207
210
211
212
213
214
214
214
215
215
217
218
218
219
219
220
221
222
223
223
224
224
224
225
225
226
226
226
226
228
228
228
228
228
228
228
227
227
226
226
226
225
225
223
222
221
219
218
217
217
215
214
213
213
212
211
207
207
206
205
205
204
203
201
201
200
199
199
198
197
194
194
193
193
192
191
190
189
188
187
185
183
181
179
179
179
178
177
176
176
175
174
174
174
173
171
167
165
160
159
157
155
153
151
151
151
150
150
150
150
149
149
153
153
153
153
153
153
153
152
152
152
153
154
154
154
155
155
154
153
152
151
151
150
150
150
149
148
148
148
151
151
152
153
154
155
155
158
158
160
160
161
162
162
164
164
166
167
169
169
170
170
172
179
181
183
185
185
191
194
195
197
197
197
197
198
198
197
197
196
196
196
196
195
195
196
198
199
200
205
206
208
210
212
213
214
217
218
221
223
226
227
228
231
232
233
233
234
235
239
239
240
241
241
242
243
244
244
245
246
246
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
244
243
243
242
241
241
240
236
234
232
230
228
226
224
226
225
222
219
212
209
208
170
170
170
173
175
177
178
180
182
185
187
189
192
194
197
199
202
206
208
211
213
212
212
213
214
215
216
216
216
216
217
218
219
220
220
223
223
224
224
224
225
225
226
227
227
227
228
228
228
229
229
229
229
229
229
229
229
229
228
228
227
227
227
225
225
223
222
221
220
220
217
217
215
214
213
212
209
208
208
206
205
204
203
202
202
200
199
197
196
194
192
192
191
190
190
189
188
187
185
184
183
183
182
179
180
180
179
178
177
177
176
171
169
167
166
165
161
159
156
154
152
150
148
147
147
146
146
147
148
150
152
152
152
152
152
152
152
152
152
151
152
152
153
152
152
151
152
152
152
151
150
150
150
149
149
149
149
149
149
149
149
150
152
155
155
155
155
156
156
158
158
159
160
160
162
162
165
167
168
170
170
172
172
175
177
180
183
185
188
190
191
193
195
196
196
197
197
197
197
197
197
197
197
196
196
197
199
200
201
206
207
209
211
213
214
215
218
219
221
223
225
226
227
230
231
232
234
235
236
238
239
241
241
241
241
243
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
245
245
244
243
242
241
241
239
237
234
233
231
229
227
226
224
221
219
215
212
209
170
170
170
173
175
177
178
179
181
184
188
190
193
195
197
199
202
206
208
211
213
214
214
215
216
217
217
218
218
218
219
220
221
221
222
225
225
225
226
226
226
227
227
227
228
228
228
229
229
229
229
229
229
229
229
229
229
229
228
228
227
227
227
227
226
225
224
223
222
221
219
218
217
216
215
214
211
210
209
208
207
206
205
202
202
200
199
197
196
194
192
192
191
190
190
189
188
187
185
184
183
183
182
179
179
179
178
178
177
176
175
170
168
165
164
163
159
157
154
152
150
148
146
145
145
146
146
147
148
150
152
152
152
152
152
152
152
152
152
151
152
152
153
152
152
151
152
152
152
151
150
150
150
149
149
149
149
149
149
149
149
150
152
155
155
155
155
156
156
158
158
159
160
160
162
162
165
167
168
170
170
173
173
175
177
180
182
184
186
188
190
191
193
194
195
197
197
197
197
197
197
197
197
196
196
197
199
200
201
206
207
209
211
213
214
215
218
219
221
223
225
226
227
230
231
232
234
235
236
238
239
241
241
241
241
243
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
245
245
244
243
242
241
241
241
239
236
235
233
230
228
228
226
223
220
217
214
211
118
118
118
118
118
118
118
117
117
117
116
115
115
114
113
112
111
109
108
108
107
109
109
107
107
107
108
108
107
108
110
110
110
109
109
111
111
117
120
123
129
136
138
140
139
138
139
140
142
142
143
143
143
144
144
144
145
145
146
146
145
146
146
147
147
149
151
153
156
157
160
161
161
161
161
163
167
167
167
168
168
169
169
170
170
170
171
171
172
172
173
173
173
173
174
176
179
181
181
181
181
181
180
180
182
181
179
176
174
171
168
168
168
167
166
165
164
163
165
165
164
163
162
160
159
165
165
164
162
161
160
159
159
158
158
158
160
158
157
156
155
155
155
154
154
155
155
155
156
157
157
159
159
158
160
163
165
165
168
170
172
171
172
175
176
177
178
178
178
178
178
178
178
178
181
181
182
182
183
183
183
181
182
183
184
185
186
186
190
190
190
190
191
191
191
189
185
183
183
181
179
177
177
174
173
173
172
169
166
166
165
164
162
161
161
161
162
161
160
158
157
156
155
153
153
152
152
151
151
150
150
149
148
148
147
146
145
145
144
143
143
142
141
139
139
139
140
140
141
141
141
141
142
142
141
139
138
133
133
133
134
134
135
135
134
135
136
137
139
141
141
143
143
143
143
143
143
144
143
143
143
143
143
143
143
147
147
147
147
147
147
147
146
146
146
146
146
146
146
118
118
118
118
118
118
118
118
118
117
117
116
116
116
115
114
113
111
109
108
108
109
109
107
107
107
108
108
107
108
110
110
110
109
109
109
109
115
117
119
125
131
136
139
139
139
138
140
141
142
143
143
143
144
144
144
144
144
144
145
144
145
145
146
146
147
150
152
155
156
159
160
160
159
160
163
167
168
168
168
169
169
169
170
171
171
171
172
172
172
173
173
173
173
174
176
179
181
180
180
181
180
180
180
181
180
178
176
173
171
169
169
168
168
167
166
165
165
166
167
166
165
165
164
164
166
166
166
165
165
165
164
163
161
160
161
162
161
159
160
160
160
160
159
159
158
160
160
161
163
164
164
165
165
167
170
171
172
175
177
177
178
178
179
180
181
182
180
180
180
180
180
180
180
182
182
183
183
183
184
184
183
183
184
185
185
186
186
190
190
189
190
190
190
191
189
186
185
184
183
180
178
178
175
174
173
171
169
166
165
164
163
162
160
161
160
159
158
157
156
155
154
154
152
152
152
151
151
151
150
149
149
148
147
146
146
144
144
143
143
142
141
140
139
139
139
139
140
140
141
140
140
141
141
140
138
137
133
133
133
134
134
135
135
133
134
135
136
137
139
139
139
140
141
142
143
144
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
147
147
147
147
147
147
147
119
119
119
119
119
119
119
118
118
118
118
119
119
119
118
117
116
113
111
110
109
109
108
107
107
107
108
108
107
108
110
110
110
109
109
108
107
111
113
114
119
126
130
136
138
138
138
140
141
142
142
142
142
143
143
143
143
144
144
144
144
144
144
145
146
147
149
152
154
156
157
158
158
158
160
163
168
168
169
169
169
170
170
171
171
172
172
172
173
173
173
173
173
173
174
176
179
180
180
179
180
180
179
179
179
178
177
175
173
171
169
169
169
169
169
168
168
168
165
165
165
166
167
167
167
171
171
171
171
170
170
170
169
167
165
165
166
164
163
162
162
162
161
161
160
160
161
162
163
166
168
169
169
170
172
175
177
177
179
182
182
182
181
182
182
182
182
182
182
182
182
182
182
182
182
183
183
184
184
184
184
184
185
185
185
186
186
186
189
188
189
189
189
190
190
192
187
187
186
185
182
180
179
176
175
174
171
167
165
163
162
161
160
159
159
158
156
156
155
154
154
153
153
152
151
151
151
150
150
149
149
148
147
146
146
145
143
142
142
141
140
139
139
138
138
138
139
139
139
140
139
139
139
139
138
137
135
133
133
133
134
134
135
135
133
133
134
135
135
136
137
137
137
139
140
141
144
144
143
143
143
143
143
143
143
145
145
145
145
145
145
145
148
148
148
148
148
148
148
120
120
120
120
120
120
120
118
118
119
119
120
120
120
120
119
118
114
112
111
110
109
108
106
107
107
108
108
107
108
110
110
110
109
109
108
107
110
112
113
118
123
127
135
137
138
138
139
140
141
141
141
141
142
142
142
144
144
144
145
144
145
145
146
146
147
150
152
155
156
156
158
158
159
161
164
169
169
169
169
170
169
169
172
172
172
172
173
173
173
173
173
173
173
174
176
179
179
179
179
180
179
179
178
178
177
176
174
173
171
169
168
168
168
169
169
169
169
167
167
168
168
169
170
170
174
173
173
173
173
172
172
170
170
168
167
167
165
164
163
162
162
162
162
162
162
163
163
164
168
169
170
171
173
175
177
179
180
183
185
184
184
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
184
185
185
185
185
185
186
186
186
186
186
187
188
188
189
189
189
189
193
188
187
187
186
184
182
180
177
175
174
171
167
164
162
162
160
159
158
158
158
156
155
155
154
154
153
153
151
151
151
150
150
150
149
148
148
147
146
145
145
142
142
141
140
139
139
138
137
138
138
138
139
139
139
138
138
138
138
138
136
135
133
133
133
134
134
135
135
134
134
134
135
135
136
136
137
138
138
139
140
142
143
142
142
142
142
142
142
142
145
145
145
145
145
145
145
147
147
147
147
147
147
147
120
120
120
120
120
120
120
119
119
119
120
121
121
122
121
120
118
115
113
111
111
109
108
106
106
106
107
107
107
108
110
110
110
109
109
109
107
110
111
111
116
122
125
134
137
137
137
139
139
141
141
141
141
142
142
142
145
145
146
146
145
146
146
147
147
149
151
153
156
157
157
158
159
160
162
166
169
169
169
169
169
170
170
172
172
172
173
173
174
174
173
173
173
173
174
176
179
179
179
179
179
179
178
178
177
176
175
174
172
171
169
169
169
169
169
169
169
170
173
174
174
175
177
178
179
179
178
177
176
175
172
173
174
172
170
169
169
167
166
167
167
167
167
166
166
165
167
168
169
172
174
175
176
178
180
183
185
186
189
191
190
190
188
187
186
186
186
185
185
185
185
185
185
185
184
184
185
185
186
186
186
186
186
186
186
186
185
185
187
187
188
188
189
189
189
194
190
188
188
187
185
183
181
178
176
174
171
167
164
162
161
160
158
157
157
157
155
155
155
155
154
154
154
151
151
150
150
149
149
148
148
147
146
146
145
144
141
141
140
139
139
138
137
137
137
137
138
138
139
139
137
137
138
137
137
135
134
133
133
133
134
134
135
135
135
135
135
136
136
136
136
138
139
139
139
139
139
139
140
140
140
140
140
140
140
142
142
142
142
142
142
142
145
145
145
145
145
145
145
123
123
123
121
120
119
119
120
120
121
121
122
122
122
121
120
119
116
115
114
113
110
110
109
108
107
106
106
108
108
109
109
110
110
110
107
107
108
109
111
113
114
120
130
134
137
138
140
141
141
142
142
142
144
144
144
147
147
147
148
147
147
147
150
151
153
154
156
157
158
160
161
163
165
167
169
171
171
171
173
174
175
176
175
175
175
175
175
175
175
174
175
176
177
178
179
180
180
180
180
180
180
180
179
178
177
175
173
172
171
171
171
171
172
174
175
177
177
180
180
180
180
181
181
181
178
178
177
177
177
177
177
175
174
174
172
169
168
167
169
169
168
168
170
171
172
172
174
175
177
179
181
183
188
188
189
190
191
192
192
193
192
192
191
191
191
190
187
186
185
184
183
183
182
186
186
185
185
185
184
184
186
186
186
185
185
185
185
186
186
187
187
188
188
188
189
189
189
187
185
185
183
183
178
177
175
173
170
167
165
161
158
157
157
158
157
155
154
154
153
152
151
151
150
150
150
149
149
149
148
147
147
145
144
143
142
141
141
140
139
138
138
137
136
136
136
136
136
136
136
137
137
138
137
136
135
133
134
134
134
134
134
134
134
135
135
135
136
136
137
137
137
137
137
138
138
139
139
139
139
139
139
139
139
139
139
139
139
140
140
141
141
143
143
143
143
143
143
143
124
123
123
121
121
120
120
121
121
121
122
122
123
123
121
121
120
116
115
115
114
111
110
109
108
107
107
106
108
108
109
109
110
110
110
107
107
107
109
110
112
113
116
126
131
134
137
139
141
142
142
143
143
145
145
145
148
148
148
149
148
149
149
152
153
154
156
157
158
159
161
162
164
166
168
169
171
171
172
173
174
176
176
176
176
176
176
176
176
176
175
176
176
178
179
180
181
180
180
180
181
180
180
179
178
177
175
174
172
172
172
174
175
175
178
179
181
181
181
181
181
181
181
181
181
179
179
179
178
178
178
178
176
175
174
174
171
170
169
170
169
169
170
173
174
175
175
177
180
182
183
186
188
191
191
191
193
194
194
194
194
194
193
192
191
191
191
188
188
186
186
185
184
184
187
187
186
186
185
185
185
186
186
185
185
185
185
185
186
187
187
187
187
188
188
188
189
188
187
185
184
184
184
179
176
176
174
171
168
165
160
158
157
157
157
156
154
153
153
152
151
150
150
150
150
150
149
149
149
147
147
146
145
144
142
142
140
140
139
139
138
137
136
135
135
135
135
135
135
135
136
136
137
137
136
135
133
134
134
134
134
134
134
134
135
135
135
135
136
136
137
137
137
137
137
138
138
139
139
139
139
139
139
139
139
139
139
139
139
140
140
141
142
142
142
142
142
142
142
124
124
124
123
123
123
123
122
123
123
124
124
124
124
124
123
122
119
117
116
115
111
111
110
109
108
107
107
108
108
109
109
110
110
110
109
108
108
109
110
111
112
115
124
129
132
135
140
142
142
143
144
145
147
146
147
150
150
151
152
152
153
153
157
157
158
160
161
161
162
164
165
167
168
170
170
172
173
174
175
176
177
178
179
179
179
179
179
179
179
177
178
179
180
181
182
184
181
181
181
181
181
181
180
180
179
177
176
175
175
176
178
178
179
180
180
181
183
182
182
182
182
182
182
182
180
180
180
180
180
179
179
178
178
178
177
174
174
173
170
170
169
171
175
177
179
181
183
185
186
188
190
192
193
193
193
193
194
194
194
196
196
195
195
194
194
194
192
192
190
190
189
188
188
188
188
188
187
187
187
186
186
186
186
186
186
186
186
187
187
187
186
186
186
186
186
187
187
187
185
184
184
185
180
178
176
175
172
170
165
160
157
156
155
155
155
155
154
154
153
152
151
151
149
149
149
148
148
148
146
145
144
143
142
141
140
139
138
138
137
136
135
135
134
134
134
134
134
134
134
133
134
134
135
135
134
133
133
133
133
133
133
133
133
134
134
134
135
135
136
136
136
136
136
137
137
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
141
141
141
141
141
141
141
125
125
125
125
125
125
125
124
124
124
125
125
126
126
126
125
124
121
119
118
117
111
112
110
109
109
108
108
108
108
109
109
110
110
110
111
111
110
110
111
112
113
113
120
124
127
130
136
139
142
144
145
146
149
149
149
152
153
154
155
155
156
157
161
161
162
163
163
164
164
167
168
169
170
170
171
174
174
175
176
177
179
179
181
181
181
181
181
181
181
180
180
181
182
183
184
186
182
182
181
182
182
181
181
181
180
179
178
177
178
179
181
181
181
181
182
182
182
181
182
182
182
182
182
182
180
180
180
180
179
180
179
180
180
180
180
178
178
177
176
176
176
176
180
182
183
185
187
190
192
193
195
198
196
196
196
196
196
196
197
199
198
198
197
197
197
196
196
195
194
193
192
192
191
190
190
189
189
188
188
188
187
187
187
187
187
187
187
188
188
186
186
185
185
185
184
186
186
186
185
184
183
185
179
177
176
174
172
169
165
160
157
155
154
154
153
152
151
151
150
149
148
148
147
146
146
146
145
145
144
144
143
142
141
139
139
137
137
136
136
135
134
133
132
132
132
132
132
132
132
131
132
133
133
133
133
132
132
132
132
132
132
132
132
133
133
134
134
134
135
135
135
135
136
136
136
137
137
139
139
139
139
139
139
139
137
137
138
138
139
139
139
141
141
141
141
141
141
141
125
125
125
125
125
125
125
124
124
124
125
126
126
126
126
126
124
121
120
119
118
111
112
110
110
109
108
108
108
108
109
109
110
110
110
112
112
111
111
112
113
114
112
118
122
125
128
133
136
143
144
145
147
149
149
150
152
153
154
156
156
157
158
162
162
163
164
164
165
165
168
169
170
171
171
171
174
174
175
176
178
179
180
181
181
181
181
181
181
181
180
180
181
182
184
185
186
182
182
182
182
182
181
181
181
180
179
178
178
178
180
182
182
182
183
183
183
183
180
181
181
181
181
181
181
180
180
180
179
179
179
179
181
181
181
181
179
179
179
179
179
179
180
182
184
185
188
190
192
194
195
198
200
199
199
199
198
198
198
198
199
199
199
198
198
197
197
196
196
195
194
193
192
192
190
190
189
189
188
188
188
187
187
187
187
187
187
187
188
188
186
186
185
185
185
183
186
186
186
185
184
183
185
179
177
175
173
171
169
165
160
157
155
154
154
153
150
149
148
148
147
146
146
146
146
145
145
145
144
144
144
143
142
140
139
138
137
137
136
135
135
134
133
132
132
132
132
132
132
132
130
131
132
133
133
133
132
132
132
132
132
132
132
132
133
133
133
134
134
135
135
135
135
135
136
136
137
137
141
141
141
141
141
141
141
138
138
138
139
140
140
140
142
142
142
142
142
142
142
129
128
127
126
127
128
129
126
126
127
127
128
128
128
130
129
127
124
122
120
119
116
114
110
110
110
108
107
110
110
111
111
112
112
112
112
111
111
111
111
111
111
113
114
116
119
124
129
132
136
143
145
146
147
148
150
153
155
156
156
157
159
160
161
162
163
164
165
165
165
168
169
170
172
173
174
175
176
176
178
179
179
180
180
180
180
181
181
181
182
182
182
182
182
182
182
182
184
184
184
183
183
182
182
180
180
180
180
180
180
180
182
182
182
182
182
182
182
180
180
180
179
179
178
178
181
181
181
180
180
180
180
181
181
181
182
183
183
183
182
182
183
185
188
189
190
191
192
193
198
199
200
201
201
201
201
202
202
202
202
202
202
201
199
199
198
198
197
197
196
195
194
195
195
193
193
192
191
190
190
189
189
189
188
188
188
187
187
187
187
187
187
187
187
187
186
186
186
186
185
185
185
184
181
180
179
176
172
169
165
159
156
153
152
151
149
149
147
146
145
145
144
145
144
144
144
144
144
144
144
142
142
140
139
138
137
137
136
135
134
133
132
131
130
130
130
130
130
130
130
130
130
130
129
129
129
129
129
129
129
130
130
131
131
132
132
133
134
134
137
137
136
136
137
137
137
138
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
129
129
128
128
128
129
129
128
128
128
129
129
129
130
132
131
128
125
122
120
119
117
115
111
111
111
109
108
111
111
111
111
111
111
111
113
112
112
112
112
112
112
114
114
115
117
120
123
124
133
140
143
145
146
149
150
156
158
158
157
158
159
161
163
164
165
166
167
167
168
171
172
173
174
175
176
176
177
178
179
180
180
181
182
182
182
182
183
183
183
183
183
183
183
183
183
183
184
184
184
184
184
184
184
183
183
183
183
183
183
183
184
183
183
183
183
182
182
180
180
180
179
179
178
178
179
179
180
180
180
181
181
182
183
184
186
189
190
191
191
192
193
195
198
199
200
199
199
199
202
203
205
205
206
206
206
206
206
207
207
206
206
205
203
203
202
202
201
201
199
198
197
196
195
195
195
194
193
192
192
191
191
190
190
189
189
189
189
188
187
187
187
187
186
186
186
186
186
185
185
185
185
186
183
182
182
179
176
173
166
161
157
155
153
150
148
147
145
144
143
143
142
143
142
142
142
142
142
142
143
141
140
139
138
137
136
136
136
135
134
133
131
131
128
128
128
128
128
128
128
128
127
127
127
126
126
127
128
128
129
129
129
130
130
132
132
133
134
134
137
137
137
137
137
138
138
139
139
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
129
129
130
130
130
129
129
128
129
129
130
130
130
130
133
132
129
125
123
120
119
117
115
111
111
111
109
108
111
111
111
111
111
111
111
113
112
112
112
112
112
112
114
114
115
117
119
121
122
130
138
141
143
145
148
150
156
158
158
158
158
160
162
164
165
166
167
168
168
169
172
172
174
175
176
177
177
178
179
180
181
181
182
182
182
182
183
183
184
184
183
183
183
183
183
183
183
184
184
184
184
184
184
184
184
184
184
184
184
184
184
185
184
184
183
183
182
182
180
180
180
179
179
178
178
179
179
180
180
181
182
182
184
185
187
188
192
194
194
194
194
196
197
200
201
202
203
202
203
205
206
206
207
208
208
208
208
208
208
209
206
206
205
204
203
202
202
203
203
201
199
198
197
196
196
196
195
194
193
193
193
191
191
191
190
190
190
189
188
188
187
187
186
186
186
186
186
186
185
185
185
185
186
184
183
182
181
177
174
166
162
158
155
153
150
147
146
144
143
142
142
141
141
142
142
142
142
142
142
142
140
139
138
137
136
135
136
135
134
133
132
131
130
126
126
126
126
126
126
126
127
127
126
126
126
125
126
128
128
128
129
129
130
130
132
132
133
134
134
137
137
137
137
138
138
138
139
139
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
140
129
130
131
132
131
130
129
130
130
130
131
131
132
132
134
133
130
125
123
120
118
118
116
112
112
112
110
109
112
112
111
111
110
110
110
114
113
113
113
113
113
113
113
114
116
118
119
121
121
124
133
137
140
143
147
149
153
155
157
158
160
162
165
166
167
168
169
170
170
171
172
173
174
175
176
177
179
179
180
181
182
183
183
182
182
182
182
183
183
183
182
182
182
182
182
182
182
184
184
184
185
185
186
186
185
185
185
185
185
185
185
186
186
185
184
183
182
182
180
180
180
179
179
178
178
180
180
181
182
183
184
184
190
191
192
193
196
197
198
199
199
201
202
204
205
206
207
207
207
207
207
207
207
209
209
209
210
210
210
210
209
209
208
208
207
206
206
206
206
203
202
200
199
198
198
197
196
195
194
195
195
193
193
192
192
191
191
191
189
188
187
187
186
185
185
186
186
185
185
185
185
185
185
184
183
182
181
178
175
166
162
160
156
153
149
146
144
142
141
140
140
140
140
140
140
140
140
140
140
140
139
138
137
136
134
134
133
133
132
131
129
128
127
124
124
124
124
124
124
124
127
126
126
126
125
125
126
127
127
128
128
128
129
129
132
132
133
134
134
137
137
138
138
138
139
139
140
140
141
141
141
141
141
141
141
141
141
141
141
141
141
141
140
140
140
140
140
140
140
133
133
133
133
133
133
133
131
131
132
134
134
135
135
135
134
131
127
124
121
120
115
115
113
113
112
110
110
112
112
111
111
110
110
110
110
111
114
115
115
114
114
114
115
116
117
119
123
124
126
131
132
135
139
141
143
150
153
156
158
161
164
167
166
167
168
169
170
170
170
173
174
175
175
176
177
179
180
181
183
183
183
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
183
183
183
183
184
186
189
187
187
188
188
188
189
189
188
188
187
186
184
182
182
182
181
179
178
177
178
179
180
180
182
184
186
189
190
194
194
195
196
198
199
200
201
201
203
205
209
210
211
210
210
210
210
210
210
210
212
212
212
212
212
212
212
213
213
212
210
209
209
208
208
207
205
204
203
202
203
201
200
198
197
196
195
195
196
196
194
192
191
190
190
190
189
188
188
187
186
186
186
185
185
185
185
185
185
185
183
184
184
183
181
179
170
165
161
158
154
149
146
143
140
138
138
139
139
138
139
140
140
140
140
139
137
136
135
135
135
135
135
133
131
129
127
125
124
124
122
122
122
123
123
124
124
124
124
124
125
125
126
127
126
126
126
127
127
128
128
132
133
133
134
134
136
137
137
137
138
139
139
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
133
133
133
133
133
133
133
131
131
132
133
134
135
135
135
134
131
127
124
121
120
115
115
114
113
112
110
110
112
112
111
111
111
110
110
110
111
114
115
115
114
114
114
115
116
118
120
123
125
126
130
133
135
138
141
142
149
152
155
157
159
163
165
166
167
168
169
170
170
170
172
174
175
175
175
177
179
180
182
183
184
183
183
182
182
182
182
182
182
182
181
181
181
181
181
181
181
182
182
182
183
184
186
189
188
188
188
189
189
189
190
188
188
187
186
185
183
182
182
181
179
178
178
179
179
180
181
183
185
187
190
191
196
196
197
198
201
201
202
201
202
204
206
210
210
211
213
213
213
213
213
213
213
214
214
214
214
214
214
214
213
212
213
211
210
210
209
209
208
206
205
204
203
203
201
201
199
198
197
196
196
196
196
194
193
192
191
190
190
189
189
188
187
186
186
186
185
185
185
185
185
185
185
183
184
184
183
180
179
169
166
161
157
154
149
147
143
139
138
138
138
138
138
138
139
140
140
139
138
137
136
135
135
135
134
134
132
131
129
127
125
124
124
122
122
122
123
123
124
124
124
124
124
125
125
125
127
126
126
126
127
127
128
128
132
132
133
134
134
137
137
137
137
138
139
140
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
134
134
134
134
134
134
134
132
132
132
133
134
134
134
135
134
131
127
124
121
120
117
116
115
114
113
112
111
113
113
112
112
111
111
111
111
110
112
113
114
114
114
116
116
117
119
122
124
126
126
129
131
134
136
138
139
146
149
151
153
155
158
161
164
165
167
168
170
170
170
172
174
174
174
175
177
180
181
183
184
185
184
184
184
183
183
183
183
182
182
181
181
181
181
181
181
181
182
182
182
182
183
185
188
190
191
191
191
192
192
192
190
189
188
187
186
184
183
182
181
180
179
179
181
181
184
185
186
188
190
193
194
199
199
200
201
204
205
205
204
205
206
208
212
213
214
218
218
218
218
217
217
217
216
216
216
217
217
217
217
215
215
215
214
213
213
213
213
212
210
209
208
207
207
205
204
202
200
200
199
198
198
197
195
194
193
192
191
190
189
188
187
187
186
186
185
185
185
185
185
184
184
185
183
183
184
183
180
178
170
165
162
158
154
150
146
143
139
137
137
138
138
137
138
139
139
139
139
138
137
136
135
135
134
133
133
131
130
128
126
124
124
124
122
122
122
122
122
122
122
122
123
123
123
124
124
125
126
126
126
127
127
128
128
131
132
132
133
135
137
138
138
138
139
139
140
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
135
135
135
135
135
135
135
133
133
133
133
133
133
133
135
134
131
127
124
121
120
118
118
117
116
115
113
113
114
113
113
112
112
112
112
111
110
110
111
112
114
114
117
118
119
121
124
126
128
127
129
131
133
135
137
138
144
147
149
150
152
155
157
160
162
164
166
167
168
169
171
173
173
173
174
176
182
183
184
186
187
186
185
185
185
185
184
183
183
182
182
182
182
182
182
182
182
183
183
183
184
185
187
190
191
192
192
192
193
193
194
191
191
190
189
188
186
185
183
182
181
181
181
183
184
187
188
189
191
193
196
197
199
199
200
201
204
205
205
208
209
210
212
216
217
218
219
218
218
218
218
218
218
217
217
217
217
217
217
218
218
218
218
218
218
218
218
217
216
214
213
213
212
211
210
209
206
204
202
201
200
200
199
197
196
195
194
194
191
190
189
188
187
187
186
185
185
185
185
184
184
184
184
183
183
184
183
180
178
170
166
162
159
154
150
147
142
138
136
136
137
137
137
137
138
139
139
138
137
137
136
135
134
133
132
131
129
128
126
125
124
124
124
122
122
122
122
121
121
121
121
121
121
122
122
122
124
126
126
126
127
127
128
128
130
131
132
133
135
138
139
138
139
139
140
141
142
143
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
135
135
135
135
135
135
135
133
133
133
133
133
133
133
135
134
131
127
124
121
120
119
119
117
116
116
114
114
114
114
113
113
112
112
112
111
110
109
110
112
113
115
118
118
120
122
124
127
128
127
130
131
133
135
137
137
144
147
148
149
151
154
156
158
160
162
164
166
167
167
171
173
173
173
174
176
183
184
185
186
187
186
186
186
186
185
184
183
183
182
183
183
183
183
183
183
183
184
184
184
184
186
188
190
191
192
192
192
193
193
193
192
191
191
189
188
186
186
183
182
182
181
182
184
185
188
189
190
192
194
198
199
201
202
202
204
206
207
207
209
210
211
213
217
219
220
221
220
220
220
220
220
220
219
219
219
219
219
219
220
219
219
219
219
220
220
220
218
218
216
215
214
214
213
212
211
207
205
203
202
201
201
200
198
197
196
195
195
191
190
189
188
188
187
187
185
185
185
185
184
184
184
184
183
183
184
183
180
178
170
166
162
159
154
151
147
141
138
136
136
137
137
136
137
138
138
138
138
137
137
136
135
134
132
131
130
128
127
126
124
124
124
124
122
122
122
121
121
120
120
120
120
121
121
121
122
123
126
126
126
127
127
128
128
130
130
132
133
135
139
139
139
139
140
140
141
143
143
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
135
135
135
134
133
133
133
134
134
134
133
133
133
133
132
131
129
124
121
119
118
118
118
118
118
118
118
118
116
116
114
114
113
112
112
111
111
112
112
113
113
113
118
121
123
123
125
127
129
131
133
134
136
138
138
139
143
144
146
148
149
151
151
156
158
161
164
166
168
169
168
170
171
172
173
175
177
179
181
182
184
185
185
183
183
183
182
182
181
181
183
183
182
182
183
185
187
185
186
186
186
186
186
187
191
191
191
192
192
193
193
192
192
191
189
187
184
183
182
182
182
182
183
187
188
191
190
191
192
194
201
203
204
204
205
206
209
208
209
212
212
213
215
218
219
220
222
222
222
222
222
222
222
222
222
222
221
221
220
220
221
221
221
220
219
219
219
221
221
220
218
217
216
215
213
212
209
208
206
205
206
203
201
198
197
197
198
198
193
191
191
189
188
186
186
185
185
184
184
184
184
184
185
183
183
183
182
179
177
172
167
163
160
156
152
147
141
136
134
134
134
134
133
134
134
135
135
136
136
136
136
135
134
132
131
130
128
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
119
120
120
121
122
124
124
126
127
127
129
129
130
130
133
134
136
139
139
140
140
140
141
141
142
143
142
142
142
142
142
142
143
141
141
141
141
141
141
141
143
143
143
142
141
141
141
135
135
135
134
134
134
133
135
135
134
133
133
132
132
130
129
127
123
121
119
119
118
118
118
118
118
118
118
117
117
115
114
114
113
113
112
112
113
113
113
114
114
118
121
123
123
125
127
129
131
133
135
137
139
140
140
143
144
146
147
149
150
150
155
157
159
162
164
166
167
168
170
171
173
173
175
178
179
181
183
184
184
184
183
183
182
182
182
182
181
183
183
182
182
183
185
187
187
188
188
188
189
189
190
191
192
192
192
193
193
193
193
192
191
190
188
185
185
184
183
183
184
185
189
190
192
192
193
195
197
203
204
206
206
207
208
209
210
211
213
214
215
217
220
221
222
225
225
225
225
225
225
225
224
224
224
223
223
222
222
222
222
221
221
220
220
220
222
222
221
220
219
218
217
217
217
214
212
211
209
209
207
206
201
199
198
197
197
194
193
191
190
189
188
187
185
185
185
184
185
185
184
185
183
183
183
182
179
177
172
167
163
160
156
152
147
141
136
134
134
134
134
133
134
134
135
135
136
136
136
135
134
133
132
131
130
128
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
119
120
120
121
122
123
124
125
126
127
128
129
130
130
132
134
136
139
139
140
140
140
141
141
142
142
141
141
141
141
141
141
142
141
141
141
141
141
141
141
143
142
142
142
141
141
141
136
136
135
135
134
134
134
135
135
134
133
132
132
131
128
127
126
122
121
119
120
119
119
119
119
119
119
119
118
117
116
115
114
114
113
113
113
113
114
114
114
115
118
121
123
123
125
127
129
132
134
136
138
140
141
141
144
145
146
147
149
150
150
154
156
159
162
163
165
166
168
170
171
173
174
175
178
179
181
183
184
184
184
182
182
182
182
182
182
182
183
183
182
182
183
185
187
188
189
189
190
191
191
192
192
192
192
193
193
193
194
193
192
192
190
189
187
186
185
185
185
185
187
190
191
193
194
195
197
200
204
206
207
208
208
210
211
212
212
215
216
217
218
222
223
223
226
226
226
226
226
226
226
225
225
225
224
224
224
223
223
222
222
221
221
221
221
223
222
221
221
220
219
219
218
217
215
213
212
210
210
210
209
204
201
199
198
197
196
194
192
191
190
189
188
186
185
185
185
185
185
185
185
183
183
183
182
179
177
172
167
163
160
156
152
147
141
136
134
134
134
134
133
134
134
135
135
136
136
135
135
134
133
132
130
130
128
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
119
120
120
121
122
123
123
125
126
127
128
128
130
130
132
133
136
139
139
140
140
140
141
141
142
142
140
140
140
140
140
140
141
141
141
141
141
141
141
141
142
142
142
141
141
140
140
138
137
137
136
136
136
136
135
135
134
132
131
130
129
124
124
123
121
120
120
120
120
120
120
120
120
120
120
119
119
118
117
116
115
115
114
114
115
115
116
116
116
118
121
123
123
125
127
129
132
135
137
139
143
143
144
147
148
148
149
150
151
151
156
158
160
163
165
167
168
168
170
171
173
174
176
178
179
181
182
183
183
183
181
181
182
182
182
182
183
183
183
182
182
183
185
187
189
190
190
192
193
194
195
193
193
193
193
194
194
195
193
193
192
192
191
189
189
188
188
188
189
190
193
195
196
197
200
203
205
208
208
210
211
211
212
214
215
215
218
219
220
222
225
226
227
228
228
228
228
228
228
228
227
226
226
225
225
225
224
224
224
224
223
223
222
222
224
224
223
223
222
223
222
219
219
216
214
213
211
211
212
211
209
207
204
201
199
198
196
195
193
191
190
190
187
186
186
185
186
186
186
185
183
183
183
182
179
177
172
167
163
160
156
152
147
141
136
134
134
134
134
133
134
134
135
135
136
136
135
134
133
132
131
130
129
128
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
119
120
120
121
122
122
123
124
125
126
127
128
130
130
132
133
135
139
139
140
140
140
141
141
142
142
141
141
141
141
141
141
142
141
141
141
141
141
141
141
141
141
141
141
140
140
139
138
138
138
137
136
136
136
134
133
132
129
128
127
127
122
122
123
122
121
121
121
120
120
120
120
120
120
120
120
120
118
118
117
116
116
115
115
116
116
117
117
117
118
121
123
123
125
127
129
132
135
138
140
144
145
146
149
150
151
151
152
152
153
158
161
163
166
168
170
171
168
170
171
173
174
176
179
179
181
182
182
182
182
182
182
182
183
183
184
184
184
184
183
183
184
186
188
189
189
190
192
193
194
196
193
193
193
194
194
195
195
194
194
193
192
192
191
190
190
190
190
190
192
195
196
197
199
202
206
208
210
210
211
212
212
214
216
217
217
220
221
222
223
227
228
228
228
228
228
228
228
228
228
226
226
226
225
225
224
224
225
225
225
224
223
223
223
225
225
224
224
224
224
223
223
223
220
219
217
216
215
212
212
211
209
206
204
203
199
197
196
194
193
192
191
187
187
186
186
186
186
186
185
183
183
183
182
179
177
172
167
163
160
156
152
147
141
136
134
134
134
134
133
134
134
135
135
136
136
134
134
133
132
130
129
128
128
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
119
120
120
121
122
122
122
124
125
125
127
127
130
130
132
133
135
138
138
140
140
140
141
141
142
142
142
142
142
142
142
142
143
141
141
141
141
141
141
141
141
141
141
140
139
139
139
140
140
139
136
135
134
134
134
134
132
129
128
127
126
123
123
122
121
122
123
123
121
121
121
121
121
120
120
120
120
119
119
118
118
118
117
117
117
117
117
117
117
118
120
122
124
126
128
129
131
136
138
139
142
144
147
148
150
151
153
154
155
156
160
161
163
165
166
167
168
167
170
172
172
174
177
178
179
179
181
182
182
181
182
182
182
183
183
184
184
185
185
184
184
184
185
187
188
189
191
193
194
195
194
194
194
194
195
195
196
196
195
195
194
194
192
191
191
190
190
190
191
193
197
198
200
202
206
208
208
211
211
214
214
215
216
219
220
220
222
223
223
225
227
228
228
230
230
230
230
230
230
230
229
228
228
226
225
224
224
225
225
225
225
225
225
225
225
225
225
225
225
225
225
224
225
222
220
218
217
216
216
215
212
210
208
206
207
203
198
196
195
194
191
189
189
188
187
185
185
184
184
186
185
184
182
180
177
176
169
167
163
157
154
153
146
139
136
135
135
135
135
136
135
135
135
135
135
135
131
131
131
130
130
129
129
126
126
125
124
124
123
122
120
120
120
119
119
118
118
119
119
119
120
120
121
121
123
123
125
126
126
128
128
130
130
131
132
134
136
136
139
140
140
141
141
141
141
143
142
142
142
141
141
142
143
143
143
143
143
143
143
142
141
141
141
140
140
139
140
139
138
136
135
134
133
133
133
132
128
127
126
125
123
122
121
120
121
122
123
121
120
120
120
120
120
120
121
121
120
120
119
119
119
118
118
118
118
118
118
118
119
121
122
124
126
128
128
130
135
138
139
143
145
147
149
150
152
153
155
156
157
160
161
163
165
166
167
168
169
171
172
172
173
175
178
179
180
182
183
182
181
182
182
182
182
183
183
183
184
184
183
183
183
184
186
188
189
191
193
194
195
194
194
194
194
195
195
196
196
195
195
194
193
193
191
191
191
191
191
192
194
198
200
201
204
207
209
210
211
212
215
215
216
217
220
220
221
223
224
225
226
228
229
229
230
230
230
230
230
230
230
230
229
229
227
227
226
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
224
223
221
220
218
218
217
217
213
211
209
208
207
204
200
198
197
195
192
190
190
188
187
186
186
185
184
186
185
184
182
179
177
175
169
167
164
157
154
152
145
139
136
135
134
134
134
134
132
132
132
132
132
132
130
130
130
130
129
129
129
126
126
125
124
124
123
122
120
120
120
119
119
118
118
119
119
119
119
120
120
121
122
123
124
125
126
127
128
130
130
131
132
134
136
136
138
138
138
140
140
141
141
141
141
141
140
140
139
140
141
141
141
141
141
141
141
141
140
140
140
139
139
139
139
138
138
135
134
133
133
132
131
130
127
125
124
123
122
121
120
120
120
121
122
122
121
121
121
121
121
121
122
122
122
121
121
121
120
119
119
119
119
119
119
119
121
122
123
125
126
127
128
130
136
139
141
144
147
149
150
151
152
154
156
157
157
160
161
163
165
166
167
168
171
173
172
172
172
174
178
179
180
182
183
183
182
181
181
181
182
182
182
183
183
182
182
181
182
183
185
187
188
190
192
193
194
193
194
194
194
195
195
196
196
194
194
193
193
193
192
192
194
194
194
195
196
201
202
203
206
209
210
211
213
215
216
217
218
219
221
222
223
224
224
225
226
229
229
230
230
230
230
230
230
230
230
230
230
229
229
229
228
228
227
227
227
227
227
227
227
226
226
226
226
226
226
226
225
225
223
222
222
221
221
219
218
216
214
212
210
209
208
204
202
200
198
195
192
190
189
188
187
186
186
185
185
184
183
181
178
176
174
167
166
164
157
154
151
143
139
136
134
133
132
132
133
130
130
130
130
130
130
129
129
129
129
129
129
129
126
126
125
124
124
123
122
120
120
120
119
119
118
118
118
118
118
119
119
119
120
122
122
124
124
125
127
127
130
130
131
132
134
136
136
137
137
138
139
140
142
143
142
142
141
141
140
140
141
142
142
142
142
142
142
142
142
142
142
141
140
140
140
139
138
137
135
134
133
132
131
130
129
126
124
123
123
122
121
120
119
120
121
122
123
122
122
122
122
122
122
123
123
122
122
122
121
121
120
120
120
120
120
120
120
122
123
124
125
126
127
128
131
137
140
142
146
148
151
150
151
153
154
156
157
158
160
161
163
165
166
167
168
170
172
173
172
173
175
178
179
180
182
183
183
182
180
181
181
181
182
182
182
182
181
181
180
181
182
184
186
187
189
191
192
192
192
194
194
194
195
195
196
196
193
193
193
193
193
193
193
195
195
195
196
197
202
203
204
207
210
212
212
214
216
217
218
218
220
222
222
222
223
224
225
226
228
229
229
230
230
230
230
230
230
230
229
229
229
229
229
229
229
228
228
228
228
228
228
228
226
226
227
227
227
227
227
225
225
224
223
222
222
222
220
219
216
215
213
211
211
210
205
203
201
199
196
193
191
189
188
187
187
186
185
184
184
183
181
178
176
174
167
166
164
158
153
150
142
139
136
134
132
132
132
132
129
129
129
129
129
129
128
128
128
128
129
129
129
126
126
125
124
124
123
122
120
120
120
119
119
118
118
117
118
118
118
119
119
119
121
122
123
124
125
126
127
129
129
131
132
134
136
136
137
138
139
140
141
144
144
144
143
143
143
142
142
142
144
144
144
144
144
144
144
144
144
144
143
142
142
142
138
138
137
134
133
132
132
130
129
128
125
124
122
122
121
120
119
119
119
120
121
122
122
122
122
122
122
122
124
124
123
123
122
122
122
121
121
121
121
121
121
121
123
124
125
126
127
127
128
132
139
142
144
148
151
154
151
152
153
155
156
158
158
160
161
163
165
166
167
168
168
171
173
173
174
177
178
179
180
182
183
183
182
180
180
180
181
181
182
182
181
181
180
180
180
181
183
184
185
187
189
190
190
190
194
194
194
195
195
196
196
193
193
193
193
193
193
193
196
196
196
197
199
203
204
205
207
211
213
214
216
217
218
218
219
220
222
223
223
222
223
223
225
227
228
228
230
230
230
230
230
230
230
228
228
228
228
228
229
229
229
229
229
229
229
229
229
226
226
227
227
227
227
227
226
226
224
224
223
223
222
221
221
217
215
214
213
212
213
207
204
203
200
197
194
191
190
189
187
187
186
186
184
183
182
180
177
175
174
166
166
164
158
153
150
140
139
136
134
132
131
131
131
129
129
129
129
129
129
127
127
127
128
128
129
129
126
126
125
124
124
123
122
120
120
120
119
119
118
118
117
117
117
118
118
119
119
121
121
123
124
124
126
126
129
129
130
132
134
136
136
138
139
140
141
143
145
145
147
147
146
146
145
145
146
147
147
147
147
147
147
147
148
148
147
147
146
146
146
138
137
136
134
132
131
131
129
129
128
127
126
125
125
121
121
121
121
121
121
121
123
123
124
124
125
125
125
125
125
124
124
124
123
123
122
122
122
122
122
122
122
125
125
127
128
129
130
130
132
136
140
144
148
150
151
155
156
157
158
160
161
162
164
165
166
167
168
169
170
169
170
171
172
173
174
176
178
180
180
180
181
183
182
183
184
184
184
184
183
182
181
180
179
178
179
180
182
183
184
185
187
189
191
191
190
191
191
192
193
194
196
195
194
193
193
194
194
196
197
199
200
203
206
207
208
209
212
214
216
218
218
220
220
221
221
222
222
222
224
224
225
226
227
228
228
229
229
229
230
231
231
231
230
230
230
230
230
230
230
229
229
229
229
229
229
229
229
229
228
228
228
227
227
226
226
225
225
225
224
224
221
221
219
217
216
215
214
212
207
205
203
202
199
197
195
189
187
186
186
184
183
183
182
181
178
175
173
171
167
163
159
155
150
144
139
137
133
131
131
130
129
128
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
125
124
123
123
122
122
122
121
120
119
119
118
117
117
117
117
117
117
117
119
120
120
122
123
125
125
126
127
128
130
132
135
136
139
139
141
142
144
147
147
150
150
151
152
153
154
154
153
153
153
153
153
153
153
154
154
153
152
151
150
150
135
134
134
132
131
130
130
129
129
128
127
126
125
125
123
123
123
123
123
123
123
124
124
125
125
125
126
126
127
126
126
125
125
125
125
124
124
124
124
124
124
124
126
127
128
129
130
131
132
134
139
143
147
152
154
155
157
158
159
161
163
164
164
167
168
169
170
170
170
171
169
170
171
172
174
174
175
177
179
179
179
180
182
183
184
185
186
186
185
184
182
181
180
179
178
179
180
181
181
182
184
185
186
188
190
189
190
191
192
192
193
196
196
196
196
196
196
196
199
200
201
203
205
209
209
210
211
214
216
218
219
219
221
221
221
222
222
223
223
224
224
225
226
227
228
228
229
229
229
230
231
231
231
231
231
231
231
231
231
231
230
230
230
230
230
230
230
230
230
229
229
228
228
228
227
227
226
226
225
225
225
223
222
219
219
217
216
215
213
208
206
205
204
201
198
195
189
187
186
185
183
182
182
181
179
176
174
171
169
162
159
153
150
145
140
136
134
130
128
128
128
127
126
127
127
127
127
127
127
126
125
125
125
125
125
125
125
124
124
123
123
122
122
121
121
120
120
119
118
117
116
116
116
116
116
116
116
117
118
119
120
121
123
124
127
128
129
131
134
138
139
142
143
144
145
147
150
150
153
153
154
155
156
157
157
158
158
158
158
159
159
159
159
159
159
158
157
157
157
134
133
133
132
131
130
130
129
129
128
127
126
125
125
123
123
123
123
123
123
123
124
124
125
125
126
126
126
127
127
127
126
126
126
125
124
124
124
124
124
124
124
127
128
129
130
131
132
133
135
140
144
149
153
155
157
158
159
161
163
164
165
166
169
170
170
170
171
171
172
170
171
172
173
174
175
175
177
179
179
179
180
182
184
185
186
187
187
186
185
183
182
181
180
179
180
181
181
182
182
183
185
186
187
190
189
190
190
191
192
193
196
196
197
198
198
198
198
201
201
203
205
207
210
211
211
213
215
217
218
219
219
221
221
222
222
223
223
223
224
224
225
226
227
228
228
229
229
229
230
231
231
231
231
231
231
231
231
231
231
230
230
230
230
230
230
230
230
230
229
229
229
228
228
227
227
226
226
226
225
225
224
223
220
219
218
217
216
214
209
207
206
204
201
199
195
189
186
185
184
183
181
181
180
179
176
172
169
167
163
157
152
148
143
140
136
132
129
127
128
128
127
126
127
127
127
127
127
127
126
125
125
125
125
125
125
124
123
123
123
123
122
122
121
121
120
119
118
118
117
116
116
116
116
116
116
116
117
117
118
119
121
123
123
127
128
130
132
135
139
140
143
144
145
147
148
151
152
154
154
154
155
157
157
158
159
159
159
160
161
161
161
160
160
160
160
159
159
159
133
133
133
132
132
132
132
129
129
128
127
126
125
125
125
125
125
125
125
125
125
125
125
126
126
126
127
127
129
129
128
128
127
127
127
126
126
126
126
126
126
126
129
129
130
131
133
133
134
135
140
145
150
154
157
159
161
162
164
165
167
168
169
173
172
172
173
173
173
173
172
173
174
176
177
178
176
178
180
180
180
181
183
186
186
187
188
188
187
186
185
184
183
182
182
182
183
183
183
183
184
185
186
186
189
188
189
190
191
191
192
196
196
198
200
200
200
200
203
204
206
207
210
212
213
214
215
217
218
219
220
220
222
222
222
223
223
224
224
224
224
225
226
227
228
228
229
229
229
230
231
231
231
232
232
232
232
232
232
232
231
231
231
231
231
231
231
231
231
230
230
229
229
229
228
228
227
227
226
226
226
225
224
222
220
218
218
218
215
210
209
207
205
202
199
196
189
186
184
184
182
180
178
177
175
172
168
164
163
159
152
147
142
139
135
133
131
128
127
128
128
128
127
127
127
127
127
127
127
125
124
124
124
124
124
124
122
122
122
122
122
122
122
120
120
119
119
118
117
116
115
115
115
115
115
115
115
117
118
119
120
121
123
124
127
128
131
133
136
141
142
144
145
146
147
149
152
152
155
155
156
157
158
159
159
159
160
160
161
163
164
164
163
163
163
163
164
164
164
136
136
136
134
133
132
131
130
130
129
128
127
126
126
125
125
125
125
125
125
125
125
125
126
126
127
127
127
127
127
128
128
128
129
129
129
129
129
129
129
129
129
129
129
130
132
133
134
134
134
140
145
150
154
157
159
162
164
166
168
171
172
173
174
174
174
174
174
174
174
173
174
175
175
176
177
179
180
181
182
184
185
186
187
188
189
190
190
190
189
186
185
184
183
183
183
184
185
185
184
184
184
185
187
189
188
189
190
190
191
192
197
197
198
199
201
203
203
208
208
210
210
212
214
215
218
218
219
220
220
222
222
222
222
222
223
224
224
224
224
224
224
225
226
226
226
229
229
230
231
232
233
233
233
233
233
232
231
231
231
231
231
231
231
231
231
231
231
231
230
230
229
229
229
229
229
228
228
227
227
227
226
225
223
221
220
219
219
215
211
209
208
205
201
197
195
188
186
185
184
182
181
181
176
174
172
168
163
159
151
146
142
140
138
135
133
128
126
125
125
125
125
125
126
126
126
126
126
126
126
125
125
124
124
123
123
123
123
123
122
122
121
121
121
120
119
119
118
117
116
114
114
114
115
115
116
116
115
116
117
119
121
124
125
129
130
131
134
136
140
141
145
146
147
148
150
153
153
153
153
154
156
158
159
159
161
161
162
163
164
165
165
165
165
165
166
167
167
167
136
136
135
134
133
132
131
130
130
129
128
127
126
126
125
125
125
125
125
125
125
125
125
126
126
127
127
127
126
127
127
128
128
128
128
129
129
129
129
129
129
129
129
130
131
132
133
134
134
135
141
145
150
155
158
160
163
164
167
169
172
173
173
175
175
175
175
175
175
175
174
175
176
177
177
178
180
180
181
183
184
185
186
188
189
190
191
191
191
190
186
186
184
183
183
183
185
185
185
184
184
184
185
187
189
188
189
189
190
191
192
196
197
198
199
201
203
204
208
209
209
210
212
215
215
218
218
219
220
221
222
222
222
222
222
223
224
224
224
224
224
224
225
226
226
226
229
229
230
231
232
233
233
233
233
233
232
231
231
231
231
231
231
231
231
231
231
231
231
230
230
230
229
229
229
229
228
228
228
227
227
226
225
223
221
220
219
219
215
211
209
208
205
201
198
195
188
185
185
184
182
181
179
174
172
169
165
162
158
148
144
140
138
135
134
131
128
126
125
124
125
124
125
126
126
126
126
126
126
126
125
124
124
124
123
123
123
123
122
122
122
121
121
120
120
119
118
117
117
116
114
114
114
115
115
116
116
115
116
117
119
121
125
125
129
130
132
134
136
141
141
146
146
147
149
151
153
154
154
154
155
156
159
159
160
161
161
162
163
164
165
165
165
165
166
166
167
167
167
135
135
134
132
132
132
133
131
131
130
128
128
127
127
126
126
126
126
126
126
126
126
126
127
127
127
128
128
126
126
127
127
128
128
128
130
130
130
130
130
130
130
131
132
133
134
135
136
137
139
144
148
153
157
159
161
166
168
170
172
174
175
176
178
178
178
178
178
178
178
178
179
180
180
181
182
182
183
183
184
185
186
187
189
190
191
192
193
193
193
189
188
187
186
185
185
186
185
185
184
184
184
185
187
188
187
188
189
190
190
191
195
196
198
200
202
206
206
208
209
210
212
213
216
217
219
219
220
220
221
223
223
222
222
222
223
224
224
224
224
224
224
225
226
226
226
228
228
229
231
231
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
231
231
230
230
230
230
230
229
229
228
228
228
227
226
224
222
220
219
218
216
212
210
208
205
202
198
195
188
185
183
181
180
178
175
170
168
165
161
156
152
143
140
135
133
132
130
127
127
125
123
123
122
123
124
124
124
124
124
124
124
125
124
124
123
123
123
122
122
122
122
121
121
121
120
119
118
118
117
117
116
116
114
114
114
115
115
116
116
116
117
119
121
123
126
127
130
131
133
135
138
142
143
147
148
149
151
152
155
156
155
156
157
158
160
161
162
161
161
162
163
164
165
165
166
166
166
167
167
168
168
135
133
132
130
131
133
134
132
131
131
129
128
128
127
127
127
127
127
127
127
127
127
127
127
128
128
128
129
127
127
128
128
129
129
129
131
131
131
131
131
131
131
134
134
135
136
138
138
139
141
146
149
154
158
160
161
168
170
171
173
176
177
178
180
180
180
180
180
180
180
181
182
182
183
184
184
185
185
185
186
186
187
187
188
189
191
192
194
194
194
193
192
190
188
187
187
187
185
185
184
184
184
185
187
187
187
187
188
189
190
191
194
195
197
200
203
208
208
210
211
212
213
215
218
218
219
220
220
221
222
223
224
222
222
222
223
224
224
224
224
224
224
225
226
226
226
227
228
228
230
231
231
232
231
231
232
232
232
233
233
233
233
233
233
233
233
233
233
232
232
231
231
231
231
231
230
230
229
229
229
229
229
228
225
222
220
218
218
216
213
211
209
206
201
198
196
187
184
181
178
176
174
172
167
164
160
157
151
148
140
136
132
132
130
128
125
125
123
122
121
121
121
122
123
123
123
123
123
123
124
123
123
123
122
122
122
121
121
121
121
120
120
120
117
117
117
116
116
116
116
114
114
114
115
115
116
116
118
119
120
122
124
128
128
131
132
134
136
138
142
143
147
147
149
150
152
154
155
156
156
157
158
161
162
162
161
161
162
163
164
165
165
167
167
167
167
168
168
169
134
133
131
130
131
133
135
132
132
131
129
129
128
128
127
127
127
127
127
127
127
127
127
128
128
128
129
129
128
128
129
129
130
130
130
131
131
131
131
131
131
131
135
135
136
137
138
139
140
141
146
149
153
157
159
161
168
170
171
174
176
178
179
180
180
180
180
180
180
180
181
182
183
184
184
185
186
186
186
187
187
187
187
187
188
190
192
193
194
194
194
193
191
189
188
187
187
185
185
184
184
184
185
187
187
186
187
188
189
189
190
193
195
197
200
204
208
210
211
211
212
214
216
218
219
220
220
221
221
222
224
224
222
222
222
223
224
224
224
224
224
224
225
226
226
226
227
227
228
230
230
231
231
231
231
231
232
233
233
233
233
233
233
233
233
233
233
233
233
232
232
231
231
231
231
231
230
230
229
229
229
229
228
225
223
220
218
217
216
213
211
209
206
202
198
196
187
184
180
177
175
173
168
163
160
156
152
147
143
137
133
131
129
128
126
123
125
122
121
121
120
121
121
122
122
122
122
122
122
124
123
123
122
122
122
121
121
121
121
120
120
120
119
116
116
116
116
116
116
116
114
114
114
115
115
116
116
119
119
121
123
125
128
129
132
132
134
137
139
143
144
146
147
148
150
151
154
155
156
157
158
159
161
162
163
162
162
163
164
165
166
166
167
167
167
168
168
169
169
132
132
132
132
132
132
132
131
131
131
130
129
129
129
128
128
128
128
128
128
128
130
130
131
131
131
131
132
132
132
132
132
132
132
132
132
132
133
133
132
133
133
138
138
137
138
140
142
143
143
147
149
151
154
159
162
169
172
175
177
178
178
179
178
179
180
180
181
182
182
181
182
183
183
184
185
186
186
186
187
187
188
188
189
189
189
190
190
191
191
191
191
190
190
188
188
187
182
182
183
184
184
185
186
186
186
187
188
189
189
190
191
193
196
198
200
208
211
211
213
215
215
214
216
218
220
220
221
222
222
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
224
225
226
227
228
228
230
230
230
231
232
232
232
234
234
234
234
234
234
234
233
233
232
232
231
231
231
230
230
230
230
230
230
230
231
231
227
225
222
219
218
215
212
210
209
207
203
200
194
187
183
180
177
172
169
165
158
154
151
148
144
140
130
128
126
124
123
123
123
122
122
121
121
120
120
120
118
118
119
119
120
120
120
120
120
119
119
119
119
120
120
120
119
119
118
118
116
116
116
116
116
116
116
117
117
116
116
117
118
121
123
122
124
125
127
129
130
131
132
134
137
139
144
145
147
147
149
150
152
155
155
156
156
157
158
159
160
160
162
162
163
163
164
165
165
167
167
167
168
169
169
169
132
132
132
132
132
132
132
131
131
131
130
130
130
129
129
129
129
129
129
129
129
131
131
132
132
133
133
133
133
133
133
133
133
133
133
134
134
135
135
135
135
135
139
139
138
140
142
143
144
144
148
150
152
155
159
162
168
171
175
177
179
179
179
179
179
180
181
182
182
183
182
182
183
184
185
185
186
187
187
187
188
188
188
189
189
189
189
190
190
190
191
191
190
189
189
188
187
183
183
183
183
184
184
184
185
185
186
186
187
188
189
190
192
194
196
199
207
209
210
212
214
215
215
216
218
220
220
221
222
222
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
224
226
227
227
228
230
230
230
231
231
231
232
234
234
234
234
234
234
234
233
233
232
232
231
231
231
230
230
230
230
230
230
230
231
231
227
225
222
219
218
216
212
210
208
206
201
199
191
182
178
175
171
167
164
157
150
147
144
141
137
134
129
127
124
123
122
122
122
121
121
120
120
120
119
119
117
118
118
118
119
119
120
120
120
119
119
119
119
120
119
119
119
118
118
118
116
116
116
116
116
116
116
118
117
117
117
118
120
122
124
123
124
126
128
130
131
133
134
135
138
140
144
145
147
147
149
150
152
155
155
156
156
157
158
159
160
160
162
162
163
163
164
165
165
167
167
167
168
169
169
169
133
133
133
133
133
133
133
132
132
131
131
130
130
130
130
130
130
130
130
130
130
131
131
132
133
134
134
134
134
134
134
134
134
134
134
136
136
137
137
137
137
137
140
139
140
141
143
145
146
145
149
151
152
155
159
161
168
171
175
177
179
179
180
179
180
180
181
182
183
183
182
183
183
184
185
186
187
187
187
188
188
188
189
189
189
189
189
189
189
189
190
190
190
189
189
188
188
184
184
183
183
183
183
183
184
184
184
185
186
187
188
188
190
193
195
198
206
209
209
211
213
214
214
216
218
220
220
221
222
222
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
226
226
227
227
229
229
230
230
231
231
231
233
233
233
233
233
233
233
233
233
232
232
231
231
231
230
230
230
230
230
230
230
231
231
227
225
222
219
218
216
212
210
208
205
201
197
190
182
177
172
168
164
161
154
147
144
142
138
134
131
127
125
123
122
121
121
121
120
120
120
119
119
119
118
117
117
117
118
118
118
119
119
119
119
118
118
118
119
119
119
118
118
118
117
116
116
116
116
116
116
116
118
118
117
118
119
121
124
124
124
125
127
128
131
132
134
135
136
138
141
144
145
147
147
149
150
152
155
155
156
156
157
158
159
160
160
162
162
163
163
164
165
165
166
166
166
167
168
168
168
134
134
134
134
134
134
134
133
132
132
131
131
131
131
131
131
131
131
131
131
131
131
132
134
135
136
137
137
137
137
137
137
137
137
137
140
140
141
141
141
141
141
142
142
142
143
145
147
147
148
151
152
154
155
159
162
168
170
174
177
180
181
181
180
180
181
182
183
183
185
183
183
184
185
186
186
188
188
188
188
189
189
189
189
189
189
189
188
188
188
189
189
189
189
189
189
189
185
185
184
183
182
181
180
181
181
182
183
184
184
185
187
189
192
193
195
203
207
207
209
212
213
214
217
219
220
220
221
222
222
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
223
223
225
226
226
227
228
229
229
230
230
230
230
232
232
232
232
232
232
232
233
233
232
232
231
231
231
230
230
230
230
230
230
230
231
230
227
225
222
219
218
215
211
208
205
201
196
192
188
179
173
168
163
158
154
150
144
141
138
135
131
129
124
122
121
120
119
120
120
119
118
118
118
117
117
117
116
116
116
116
116
117
118
118
118
118
118
118
118
118
118
118
118
117
117
117
116
116
116
116
116
116
116
118
118
118
119
121
123
126
126
126
127
128
130
133
133
137
137
139
140
142
145
146
147
147
149
150
152
155
155
156
156
157
158
159
160
160
162
162
163
163
164
165
165
166
166
166
167
168
168
168
134
134
134
134
134
134
134
133
133
133
132
131
131
131
132
132
132
132
132
132
132
132
132
134
136
137
138
139
139
139
139
139
139
139
139
143
142
143
143
144
144
144
143
143
143
145
146
147
148
149
153
152
153
156
159
162
167
170
174
178
180
182
183
180
181
182
182
184
185
185
183
184
185
185
186
187
188
188
188
189
189
190
190
190
190
190
189
189
188
188
190
190
190
190
190
190
190
187
186
185
184
182
181
179
181
181
182
182
183
184
185
186
188
190
193
194
202
205
207
208
211
213
213
217
220
220
220
221
222
222
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
223
224
225
226
226
228
228
228
229
230
230
230
232
232
232
232
232
232
232
233
233
232
232
231
231
231
230
230
230
230
230
230
230
230
230
227
225
222
219
218
215
209
206
203
198
194
190
183
173
167
162
155
150
146
144
138
135
133
130
127
124
123
121
120
119
119
120
120
119
119
118
118
117
117
117
115
115
116
116
116
116
118
118
118
118
118
118
118
118
118
118
117
117
116
116
116
116
116
116
116
116
116
119
119
119
120
122
124
128
127
127
128
129
131
134
134
138
139
140
141
143
145
146
147
147
149
150
152
155
155
156
156
157
158
159
160
160
162
162
163
163
164
165
165
166
166
166
167
168
168
168
132
132
132
133
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
133
133
132
133
137
139
139
139
139
140
140
141
141
142
142
142
143
142
144
144
145
146
146
145
146
147
147
148
148
148
151
154
155
157
159
161
162
166
170
173
177
179
181
182
181
182
183
185
185
186
186
185
185
186
186
187
187
187
188
189
190
190
190
189
189
189
189
189
189
189
189
191
191
191
190
190
189
189
188
187
186
185
184
182
181
180
180
180
180
181
183
185
186
188
190
192
194
200
204
208
210
211
213
213
217
219
219
219
220
221
221
223
223
222
222
222
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
226
226
227
229
229
230
231
230
230
230
231
232
232
232
231
231
231
231
231
231
231
231
231
230
230
230
230
229
230
229
226
225
223
219
217
215
207
203
198
193
189
185
178
170
164
158
153
146
142
141
135
132
129
127
126
126
123
122
121
121
120
119
119
118
118
118
118
118
118
118
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
117
118
119
121
123
125
127
128
128
129
131
133
136
136
139
139
141
142
144
146
147
146
147
148
150
152
155
155
156
156
157
158
161
162
162
164
164
164
164
165
165
165
167
167
167
168
169
169
169
132
133
133
134
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
138
139
140
139
139
141
142
142
143
143
142
142
144
144
145
146
147
148
148
146
147
147
148
148
149
149
154
154
156
157
158
159
160
166
170
173
177
179
180
181
183
184
185
185
186
187
187
185
185
186
186
187
187
187
188
189
190
190
190
189
189
189
189
189
189
189
189
191
190
190
190
189
189
189
188
187
187
186
184
183
182
180
180
179
179
180
181
184
185
187
190
191
193
200
203
207
209
212
212
213
217
219
218
219
219
220
221
222
223
222
222
222
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
226
226
228
228
229
229
229
229
230
230
231
231
231
231
231
231
231
231
231
231
230
230
229
229
228
228
228
227
225
222
221
219
215
213
209
201
196
191
187
182
179
175
165
159
154
149
143
140
137
133
130
128
127
126
126
122
122
121
120
119
119
118
118
118
118
118
118
118
118
117
117
117
117
117
117
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
117
118
120
122
124
126
128
130
129
131
132
134
136
137
139
140
141
143
144
147
148
148
148
150
151
153
155
156
156
157
158
159
161
162
163
164
164
164
164
165
165
165
167
167
167
168
169
169
169
133
133
134
134
135
135
135
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
136
139
140
140
139
139
142
142
143
143
144
143
143
145
146
147
148
149
149
150
147
148
149
149
150
150
151
156
156
157
158
159
159
160
167
170
173
176
178
178
179
183
183
184
185
186
186
187
185
185
186
186
187
187
187
188
189
190
190
190
189
189
189
189
189
189
189
189
190
190
189
189
189
188
188
186
186
186
185
184
184
183
181
180
179
179
179
180
182
186
187
190
191
193
200
202
207
209
211
212
212
216
218
218
218
219
219
220
222
222
222
222
222
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
225
225
226
226
226
226
228
228
228
229
229
229
230
230
230
230
230
230
230
230
230
230
228
227
226
226
225
226
224
220
219
216
212
210
205
197
192
187
182
177
173
168
156
150
146
141
138
134
133
129
127
126
125
125
125
122
121
120
119
119
118
118
117
117
117
117
117
117
117
116
116
116
116
116
116
117
117
116
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
118
119
121
123
126
128
131
133
132
133
134
135
137
137
140
141
142
143
145
148
148
151
151
152
153
154
156
156
157
158
158
160
162
163
163
164
164
164
164
165
165
165
167
167
167
168
169
169
169
134
134
134
135
135
135
136
135
135
135
135
135
135
135
135
135
135
135
135
135
135
136
137
139
140
140
139
139
143
143
143
144
144
144
145
147
147
149
150
149
150
150
148
149
149
150
150
151
151
155
156
157
158
160
161
161
167
170
173
175
177
177
178
182
183
183
184
185
185
186
185
185
186
186
187
187
187
188
189
190
190
190
189
189
189
189
189
189
189
189
189
189
189
189
188
188
187
185
185
184
184
184
183
182
182
181
180
179
180
180
182
185
187
189
190
192
200
202
206
208
211
212
212
216
218
217
218
218
219
220
221
222
222
222
222
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
225
225
225
225
225
225
227
227
227
228
228
229
229
229
229
229
229
229
229
229
230
229
227
226
225
224
224
224
222
218
216
213
209
207
203
195
189
184
179
174
170
164
153
146
142
138
135
132
132
128
126
125
125
125
126
121
121
120
119
118
118
117
116
116
116
116
116
116
116
115
115
115
115
115
115
117
117
117
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
118
119
121
124
127
129
132
134
133
134
135
136
137
137
140
141
142
144
145
148
149
152
152
153
154
155
156
156
157
158
159
160
162
163
164
164
164
164
164
165
165
165
167
167
167
168
169
169
169
134
134
134
135
136
136
136
135
135
135
135
135
135
135
135
135
135
135
135
135
135
137
138
140
140
140
139
139
143
143
144
144
145
145
145
148
148
150
150
150
151
151
149
150
150
150
151
152
152
152
155
157
159
161
163
164
167
170
173
174
176
176
177
180
181
182
183
183
184
184
185
185
186
186
187
187
187
188
189
190
190
190
189
189
189
189
189
189
189
189
189
189
189
188
188
187
187
183
183
183
182
182
182
181
183
183
182
181
181
181
183
185
187
189
191
192
199
201
206
208
210
212
212
215
217
217
217
218
219
219
221
221
222
222
222
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
226
226
226
227
228
228
228
229
229
229
229
229
229
229
229
229
227
225
224
223
222
218
216
212
210
207
202
200
197
189
183
178
172
166
162
161
148
141
137
134
131
129
130
127
126
125
125
126
127
121
120
119
119
118
117
117
116
116
116
116
116
116
116
115
115
115
115
115
115
117
117
117
116
116
116
116
116
116
116
116
116
116
116
115
115
115
115
115
115
115
118
120
122
125
128
130
134
135
135
135
136
136
138
138
141
142
143
144
146
149
149
153
154
154
155
155
157
157
158
158
159
160
163
164
164
164
164
164
164
165
165
165
167
167
167
168
169
169
169
137
137
137
137
137
137
137
136
136
136
136
136
136
136
135
135
135
135
135
135
135
137
137
138
138
139
139
139
140
140
142
144
145
145
146
146
146
147
148
148
149
149
151
152
153
154
154
155
155
156
158
158
160
161
163
163
165
168
170
172
174
176
178
180
181
182
182
183
182
182
184
185
185
186
187
188
188
188
188
189
189
189
190
188
188
188
188
188
188
188
189
189
188
187
186
186
185
184
184
183
182
181
181
180
179
179
180
180
181
182
183
183
184
187
190
193
196
197
203
205
207
209
210
214
217
217
218
218
219
220
221
221
222
222
222
223
222
223
223
224
224
224
224
224
224
224
224
224
224
223
222
222
222
223
223
223
224
225
225
225
225
225
225
226
227
227
227
226
226
228
228
229
229
229
229
227
224
223
223
220
219
218
216
210
208
204
200
196
196
186
181
175
168
163
158
153
140
135
132
130
129
129
127
126
125
125
124
123
123
121
120
119
119
118
117
117
116
115
114
114
114
115
115
114
114
115
115
115
116
116
116
116
117
117
117
118
117
117
117
117
116
116
116
115
114
114
113
114
115
117
116
120
124
126
128
130
133
133
134
135
135
137
140
140
142
143
144
145
147
150
150
151
152
153
154
156
159
159
160
160
161
162
163
164
164
165
165
166
166
167
167
167
167
167
168
168
169
169
169
137
137
137
137
137
137
137
136
136
136
136
136
136
136
136
136
136
136
136
136
136
138
138
139
139
140
140
140
140
140
142
143
144
145
146
146
147
147
148
149
149
150
152
153
153
154
155
156
156
156
158
158
160
161
162
163
164
167
169
171
173
175
177
179
181
181
182
182
182
182
183
184
185
186
186
187
187
187
188
188
188
189
189
188
188
188
188
188
188
188
189
188
188
187
186
185
184
183
183
182
182
181
180
179
178
178
179
180
181
181
182
182
183
185
187
190
194
195
201
203
206
207
209
213
215
218
218
218
219
220
221
221
221
221
222
222
223
222
222
223
223
223
223
223
223
223
223
223
223
222
222
222
222
223
223
223
224
225
225
225
225
225
225
226
227
227
227
226
226
227
228
228
228
228
228
226
223
222
221
220
218
215
213
207
204
201
197
193
193
183
177
172
165
159
155
149
138
133
131
130
129
128
127
126
125
125
124
123
123
121
120
119
119
118
117
117
116
115
114
114
114
115
115
114
114
114
115
115
115
116
116
116
116
117
117
117
117
117
117
117
117
116
116
115
115
114
114
114
115
118
117
120
124
127
128
130
133
133
134
135
136
137
140
141
142
143
144
146
147
150
151
151
152
153
155
156
159
160
160
161
161
162
164
164
165
165
166
166
166
167
167
167
167
168
168
168
169
169
169
138
138
138
138
138
138
138
137
137
137
137
137
137
137
137
137
137
137
137
137
137
138
138
139
139
140
140
140
140
140
140
141
143
145
146
147
147
149
150
149
150
150
153
154
155
156
157
157
158
157
158
158
160
161
161
162
164
166
168
169
171
173
175
179
180
182
181
181
181
181
182
182
183
184
185
185
186
186
186
186
187
187
187
187
187
187
187
187
187
187
188
188
187
186
185
185
184
182
181
181
180
179
178
177
176
177
177
178
179
180
181
181
181
181
183
185
191
192
196
199
202
203
205
210
213
215
215
216
218
218
220
221
220
220
220
220
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
224
225
225
225
225
225
225
226
227
227
227
227
227
227
227
227
227
227
226
224
220
220
218
216
214
212
209
204
201
198
193
191
185
176
170
164
158
152
148
142
134
131
130
129
128
127
127
126
125
125
124
123
123
121
120
119
119
118
117
117
116
115
114
114
114
115
115
113
113
114
114
114
115
115
115
115
116
116
116
117
117
117
117
117
117
117
116
116
115
115
114
115
116
118
119
122
126
128
129
130
133
134
135
136
136
138
141
141
143
144
145
146
148
151
151
152
153
154
155
157
160
160
160
160
161
162
163
164
164
165
165
166
166
167
167
167
168
168
169
169
170
170
170
139
139
139
139
139
139
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
140
142
140
139
139
142
145
147
148
148
149
150
151
152
152
155
156
156
157
158
159
159
158
159
159
159
160
161
161
163
166
167
168
169
171
173
178
179
181
182
182
180
180
180
181
182
183
183
184
184
184
185
185
185
186
186
187
187
187
187
187
187
187
188
188
187
187
186
185
184
181
181
180
180
179
178
177
176
176
177
178
179
179
180
182
182
181
181
182
189
191
193
195
198
201
203
208
210
211
211
213
214
216
218
218
218
218
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
221
222
222
222
223
223
223
224
225
225
225
225
225
225
226
227
227
227
227
227
226
226
225
225
225
224
222
218
217
215
212
210
207
205
200
197
193
189
186
181
171
166
160
153
148
144
138
133
132
132
131
130
129
128
127
126
126
125
124
124
121
120
119
119
118
117
117
116
115
114
114
114
115
115
112
113
113
113
114
114
114
114
115
115
115
116
116
117
117
117
117
117
117
117
115
114
114
113
114
115
117
121
123
127
129
129
130
133
135
135
137
137
139
141
142
144
144
146
147
149
151
152
153
153
155
156
158
160
161
161
161
162
162
164
165
165
166
166
166
167
167
168
168
169
169
169
170
170
171
171
139
139
139
139
139
139
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
140
142
140
139
140
142
145
147
148
148
150
150
151
152
152
155
156
157
157
158
159
159
158
159
159
159
160
160
161
164
166
167
167
168
171
173
178
179
181
182
182
181
181
180
181
182
182
183
184
184
184
184
185
185
186
186
187
187
187
187
187
187
187
188
188
187
186
186
185
184
181
181
180
179
179
178
177
176
176
177
178
178
179
180
183
182
181
181
183
189
191
192
195
197
200
202
208
211
210
210
211
213
215
218
218
218
218
218
219
220
220
220
220
220
220
220
220
220
220
220
220
220
221
222
222
222
223
223
223
224
225
225
225
225
225
225
226
227
227
227
227
227
226
226
225
225
225
223
222
217
216
214
211
209
205
203
197
194
191
186
183
180
171
165
159
153
147
143
137
133
132
132
132
131
129
128
127
126
126
125
124
124
121
120
119
119
118
117
117
116
115
114
114
114
115
115
112
112
113
113
114
114
114
114
114
115
115
116
116
117
117
117
117
117
117
117
115
114
113
113
113
114
116
121
124
127
129
129
130
133
135
136
137
137
139
142
142
144
145
146
147
149
152
152
153
154
155
156
158
161
161
161
161
162
163
164
165
165
166
166
166
167
168
168
168
169
169
169
170
171
171
171
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
141
140
140
140
139
139
139
136
136
139
141
142
144
143
146
146
147
149
151
153
155
154
156
157
159
160
162
162
159
160
159
159
160
160
160
164
164
166
167
169
172
173
177
180
181
181
181
182
183
183
183
184
184
184
185
185
185
185
186
186
186
187
186
186
186
186
186
186
186
187
187
186
185
184
184
183
181
180
180
179
178
178
177
175
176
176
177
178
179
180
181
181
180
181
182
186
186
189
192
194
196
197
201
203
205
206
209
211
212
213
213
215
214
215
216
218
219
220
219
219
219
220
220
221
221
220
220
220
221
222
222
222
223
223
223
224
224
225
225
225
225
225
225
225
225
225
227
226
225
224
223
223
224
223
220
215
214
212
209
206
206
203
195
191
187
184
180
176
167
161
156
149
144
139
136
133
133
133
133
131
130
130
129
128
126
125
124
124
122
121
120
120
119
118
118
117
117
116
116
115
115
115
115
115
115
115
115
115
114
114
114
115
115
116
116
116
116
116
116
116
116
116
118
114
113
113
113
113
119
122
123
125
127
129
130
130
131
132
133
134
136
140
140
141
143
146
147
148
151
153
154
154
155
157
159
161
162
163
163
163
163
164
165
165
166
166
167
167
169
169
170
169
169
169
169
170
171
171
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
139
138
137
137
137
136
136
139
141
142
144
144
146
145
146
148
150
152
153
154
156
157
159
160
162
162
160
160
160
160
160
161
161
164
164
165
167
168
170
172
176
178
179
180
180
181
182
182
183
183
183
184
184
184
184
185
185
185
186
186
185
185
185
185
185
185
185
186
185
185
184
183
182
181
180
180
179
178
177
176
175
173
173
174
174
175
176
177
179
179
180
181
181
183
184
186
187
190
192
193
197
199
200
202
204
206
208
210
210
212
213
214
214
216
217
218
218
218
219
219
220
220
220
220
220
220
221
222
222
222
222
222
223
223
224
224
224
224
224
224
224
224
224
224
225
224
223
222
222
222
222
221
218
213
211
208
205
203
201
198
189
186
183
178
176
172
162
155
150
144
138
135
135
132
132
132
132
131
129
130
129
128
126
125
124
124
122
121
120
120
119
118
118
117
117
116
116
115
115
115
115
115
115
115
115
115
114
114
114
115
115
116
116
117
117
116
116
116
116
116
116
112
111
113
113
113
118
122
124
126
128
130
131
131
132
132
134
135
137
140
141
142
144
147
148
149
153
155
154
155
156
158
159
162
163
164
164
164
164
165
165
166
166
167
167
168
170
170
171
169
169
169
169
170
170
171
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
138
137
136
136
135
136
136
139
141
142
144
144
146
146
146
148
150
152
153
154
156
157
159
160
162
162
160
161
160
160
161
161
161
164
164
165
166
169
170
171
175
178
179
179
179
181
182
182
182
183
183
183
184
184
184
184
185
185
185
186
186
186
186
186
186
186
186
186
185
185
184
183
182
181
180
179
179
177
176
175
173
171
171
172
173
174
174
175
177
178
179
180
181
182
182
184
186
188
190
191
195
197
197
199
201
204
206
208
208
211
212
213
214
215
216
217
218
218
218
219
219
220
220
220
220
220
221
222
222
222
222
222
222
223
223
224
224
224
224
224
224
224
224
224
223
223
222
222
221
221
220
220
217
211
209
207
203
201
200
197
188
186
181
177
175
171
160
154
148
143
138
136
135
132
132
132
132
130
129
130
129
128
126
125
124
124
122
121
120
120
119
118
118
117
117
116
116
115
115
115
115
115
115
115
115
115
114
114
114
115
115
116
116
117
117
117
116
116
116
116
115
112
111
113
113
113
120
123
124
126
129
130
131
131
132
133
134
135
137
141
141
143
145
148
149
150
154
156
156
156
157
159
161
163
164
165
165
165
166
166
167
167
168
168
169
169
171
172
172
170
170
170
171
171
172
172
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
141
140
138
137
135
134
134
136
136
139
141
142
144
144
147
147
147
149
151
153
155
154
156
157
159
160
162
162
161
161
161
161
161
162
162
164
164
164
166
167
168
169
172
176
177
178
179
180
182
181
182
182
182
183
183
183
183
184
184
184
185
185
185
185
185
185
185
185
185
184
184
183
183
182
181
180
181
180
179
177
175
174
172
169
170
170
171
172
173
174
174
175
177
179
180
179
179
182
184
187
187
188
193
195
192
194
197
200
202
205
205
209
210
211
212
213
214
214
217
217
218
218
219
219
219
220
220
220
221
222
222
222
221
221
222
222
223
223
223
223
223
223
223
223
223
223
221
221
221
220
219
219
218
218
215
209
206
203
200
197
196
192
184
180
176
173
170
163
152
147
143
140
138
136
134
131
131
131
131
130
128
130
129
128
126
125
124
124
122
121
120
120
119
118
118
117
117
116
116
115
115
115
115
115
115
115
115
115
114
114
114
115
115
116
116
117
117
117
117
117
116
116
115
112
111
114
115
115
122
124
125
127
129
131
132
132
133
133
135
136
138
141
142
145
147
149
150
151
155
157
159
159
161
162
164
167
167
168
168
168
169
170
170
170
171
171
172
173
174
175
175
173
173
173
174
175
175
175
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
138
137
136
135
134
133
133
134
135
139
141
142
143
143
146
147
149
151
152
153
154
156
157
158
159
160
161
161
162
162
163
163
164
164
164
165
166
167
167
168
169
169
172
173
175
177
179
181
182
180
180
181
181
182
182
184
184
184
184
184
184
184
186
186
185
184
184
183
182
182
182
182
181
181
180
180
176
176
175
173
172
171
171
169
169
169
170
170
171
171
172
172
174
175
176
178
178
182
184
185
186
185
187
189
192
192
193
196
198
203
204
207
207
208
209
213
214
214
215
215
216
217
219
220
220
221
221
222
222
223
223
223
223
222
221
220
221
222
222
218
223
219
222
224
222
224
222
222
220
219
217
216
216
215
214
208
206
202
197
194
192
189
183
180
175
169
166
163
149
142
138
135
134
133
132
132
131
131
130
130
130
130
128
127
127
126
125
125
121
121
120
120
119
119
119
118
117
115
114
114
115
115
116
116
116
116
116
116
115
115
115
116
116
117
117
117
117
117
116
116
115
115
115
114
113
113
113
116
121
126
127
128
129
129
130
133
134
135
136
138
140
142
142
143
146
150
152
153
156
158
162
162
163
165
167
170
171
171
171
171
172
173
173
173
174
174
173
173
174
175
175
176
176
176
176
176
176
176
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
137
137
135
134
134
133
133
134
135
139
141
143
143
143
146
147
149
151
152
153
154
156
157
159
159
160
161
161
162
163
163
163
164
164
164
165
166
167
168
168
169
169
172
173
175
177
179
180
181
180
180
181
181
182
182
184
184
184
184
184
184
184
186
186
185
184
183
183
182
182
182
181
181
181
180
180
175
175
174
173
172
170
170
169
169
169
170
170
170
171
171
172
173
174
175
177
177
181
183
184
185
184
186
188
191
192
193
195
198
202
203
206
207
207
209
212
213
214
214
215
215
216
219
219
220
221
221
221
222
222
223
223
225
222
220
224
225
224
223
223
224
220
220
220
217
220
222
222
220
219
217
216
215
213
211
207
204
200
195
192
190
187
181
178
174
168
164
160
147
141
138
136
134
133
132
131
131
131
130
130
130
130
128
127
126
126
125
125
121
121
120
120
119
119
119
118
117
115
115
114
115
115
116
116
116
116
116
116
115
115
115
116
116
117
117
117
117
116
116
116
115
115
114
114
113
113
114
116
121
125
127
129
129
129
130
133
134
135
136
138
140
142
143
145
148
152
154
156
158
160
163
163
165
166
168
171
171
173
173
174
174
175
175
175
176
176
175
175
176
177
177
177
177
177
177
177
177
177
140
140
140
140
140
140
140
139
139
139
139
139
139
139
139
139
139
138
138
138
138
136
135
134
134
133
133
133
134
136
140
142
143
144
144
146
147
150
152
154
155
156
157
159
160
160
161
162
163
164
164
164
165
165
165
166
166
167
167
168
169
170
170
172
173
174
176
178
179
180
180
180
181
181
182
182
183
183
183
183
183
183
183
185
184
184
183
182
181
181
180
180
180
180
179
179
178
174
173
172
172
171
170
168
167
168
168
168
169
169
169
170
170
170
170
172
175
176
178
180
181
182
183
185
186
190
191
193
195
197
199
200
203
204
205
206
208
210
210
213
213
214
214
216
217
217
219
219
219
220
220
220
221
219
220
221
220
219
219
219
212
218
221
227
222
214
217
222
221
218
217
215
214
214
209
207
202
199
196
191
188
186
184
176
172
167
162
159
150
142
138
136
136
135
134
131
131
130
130
130
129
129
129
127
127
126
125
124
124
121
121
120
120
119
119
119
119
118
116
115
115
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
116
115
115
114
114
114
113
113
112
113
115
118
122
126
127
129
130
130
130
134
134
135
137
139
141
144
145
149
152
156
158
159
162
163
167
167
168
170
171
173
174
176
176
177
177
178
178
178
178
177
178
178
179
179
179
180
180
180
180
180
180
180
141
141
141
141
141
141
141
139
139
139
139
139
139
139
139
138
138
136
136
135
135
134
134
133
133
133
133
133
135
137
141
143
144
145
145
146
146
150
153
155
157
158
159
160
162
162
163
164
164
165
166
166
166
167
167
167
167
167
168
169
170
170
171
173
173
174
175
176
177
178
180
180
181
181
182
182
182
182
182
182
182
182
182
183
183
182
181
180
181
180
179
179
178
178
178
177
177
174
174
173
172
170
169
168
166
166
167
168
168
168
169
168
167
166
167
168
173
175
177
179
181
181
182
184
186
189
190
191
192
194
197
198
199
200
201
202
205
207
207
210
210
210
211
213
213
214
216
216
217
217
218
218
218
213
217
220
215
215
222
228
238
244
248
249
230
217
218
220
218
215
213
211
210
209
206
205
200
198
194
190
186
183
180
173
168
163
157
152
146
139
137
136
136
133
132
130
130
130
129
129
129
128
129
127
126
125
124
124
123
121
121
120
120
119
119
119
120
118
117
116
116
116
117
116
116
116
116
116
116
117
117
116
116
116
116
115
115
115
114
114
114
112
112
112
112
112
113
115
118
124
126
128
130
131
131
131
135
137
138
139
142
144
149
150
151
154
158
160
161
163
165
170
170
171
172
173
174
174
175
175
176
176
177
177
177
177
178
178
178
179
179
179
181
181
181
181
181
181
181
141
141
141
141
141
141
141
139
139
139
139
139
139
139
138
138
138
136
135
134
134
133
133
133
133
133
133
133
136
137
141
143
144
145
145
145
146
151
153
156
157
158
160
161
162
162
164
164
165
166
166
167
167
167
168
168
167
168
168
169
170
171
171
173
172
174
175
176
177
177
180
180
181
181
182
182
182
182
182
182
182
182
182
182
182
181
181
181
180
179
178
178
178
177
177
177
176
175
174
173
172
171
170
168
165
166
167
167
167
168
168
167
166
166
165
167
172
174
178
179
181
182
182
184
186
188
189
190
192
193
196
196
198
199
199
201
204
205
206
208
209
209
210
212
212
213
215
215
216
217
217
217
217
215
215
215
223
229
235
238
247
249
251
245
225
215
219
219
218
213
211
209
208
207
204
202
198
195
192
187
183
180
177
168
165
159
152
149
145
139
137
136
136
134
132
130
130
129
129
129
128
128
128
126
126
125
124
123
123
121
121
120
120
119
119
119
120
119
117
116
116
117
117
116
116
116
116
116
116
117
117
117
116
116
115
115
114
114
114
113
113
113
111
112
112
111
112
115
119
125
127
128
130
131
131
131
135
138
139
141
143
146
151
152
154
157
160
163
163
166
167
170
171
171
172
173
174
174
176
176
177
177
178
178
177
179
179
180
180
181
181
180
181
181
181
181
181
181
181
141
141
141
140
139
139
139
139
139
139
138
137
137
137
138
137
136
133
132
131
131
132
132
133
133
134
134
134
136
137
141
143
144
145
145
144
147
151
153
155
157
160
158
163
164
163
163
164
165
167
168
169
169
168
167
167
167
168
169
169
170
171
171
172
172
173
175
176
177
178
179
180
181
181
182
183
184
184
184
184
184
184
184
182
182
182
181
181
180
180
178
178
178
177
177
177
177
173
173
172
171
171
170
168
169
168
167
165
165
164
165
167
167
165
164
164
167
167
175
177
179
181
181
182
183
188
188
189
190
191
193
193
196
196
198
200
204
206
207
207
208
208
209
210
210
210
202
217
221
207
216
220
215
225
199
235
246
240
227
247
245
232
246
208
216
215
217
218
215
211
210
209
206
204
200
199
193
189
185
180
176
177
173
160
155
150
147
143
141
137
135
133
132
132
132
130
130
129
129
128
128
128
127
126
125
125
124
124
124
121
121
120
120
119
119
119
119
118
117
117
116
115
115
117
117
117
117
117
117
115
115
115
114
113
113
113
113
113
113
113
113
113
113
109
110
110
110
112
117
128
129
130
132
132
132
135
140
140
142
144
147
150
155
156
159
159
161
162
164
167
167
169
169
170
171
173
174
174
177
177
178
179
179
180
180
179
179
180
180
181
182
182
182
182
182
183
184
184
184
142
141
141
140
140
140
140
140
139
139
138
138
138
138
136
136
135
133
132
131
131
132
132
133
133
134
134
134
136
137
141
143
144
145
145
145
148
152
153
155
157
159
159
165
166
165
165
166
167
167
169
170
170
169
168
167
168
168
169
170
171
171
172
173
172
173
175
176
176
177
179
179
180
181
182
182
184
184
184
184
184
184
184
182
181
181
181
180
180
180
178
178
178
178
178
177
177
175
175
174
173
171
170
169
168
167
165
165
164
164
165
165
165
164
164
164
166
166
170
173
177
179
181
183
185
186
186
187
188
189
191
192
194
195
196
198
202
203
204
206
206
207
208
209
209
210
217
204
202
217
210
211
219
231
247
227
242
223
245
243
217
243
224
207
221
206
214
213
211
206
205
203
200
199
196
193
188
185
181
175
172
170
166
156
152
147
143
141
140
136
134
133
132
131
131
130
130
129
129
128
128
128
127
125
125
124
124
124
124
120
120
120
119
119
119
119
118
118
117
116
115
115
114
115
115
115
115
115
115
114
114
114
113
113
113
112
114
114
114
114
114
114
114
111
111
110
111
112
116
126
128
130
132
133
133
134
140
143
144
146
149
152
156
157
159
159
161
162
164
167
167
169
169
169
170
172
174
174
176
176
177
178
179
180
180
180
180
180
181
183
183
183
182
183
183
183
184
184
184
141
141
141
140
140
139
139
139
139
139
138
138
137
137
136
135
135
133
132
131
131
132
132
133
133
134
134
134
136
137
141
143
144
145
145
146
148
152
153
155
157
159
160
166
167
166
166
167
168
168
169
170
170
169
168
168
168
169
169
170
171
172
172
173
173
174
174
175
176
176
178
179
180
181
181
182
183
183
183
183
183
183
183
181
181
181
180
180
180
179
178
178
179
178
178
177
177
176
175
174
173
171
170
168
167
167
165
164
163
163
164
164
164
164
164
164
165
165
169
171
175
179
180
183
185
184
185
186
187
188
190
191
194
194
195
196
200
201
201
204
204
205
206
207
208
209
208
207
211
209
206
218
238
250
225
226
231
223
231
184
228
246
215
210
219
206
210
212
209
204
203
201
198
197
193
192
186
183
179
173
170
165
162
152
148
145
141
139
139
136
134
132
132
132
132
130
130
129
129
128
128
128
126
125
124
124
124
123
123
120
120
119
119
119
118
118
118
117
117
116
115
114
114
115
115
115
115
115
115
114
114
114
114
114
114
114
115
115
115
115
115
115
115
112
112
113
112
113
116
124
128
130
132
134
134
136
141
145
146
148
150
153
157
158
159
159
161
162
164
167
167
169
168
169
170
172
174
174
176
176
177
178
179
180
180
180
180
181
181
183
184
184
183
183
183
184
184
185
185
140
140
140
139
139
139
138
138
138
138
137
137
137
136
135
134
134
133
133
132
132
133
133
134
134
135
135
135
136
137
141
143
144
145
145
148
150
153
154
155
157
159
161
166
167
166
166
167
168
168
170
171
171
170
169
168
169
169
170
171
172
172
173
174
173
174
174
175
175
175
178
178
179
180
181
181
182
182
182
182
182
182
182
180
180
180
180
179
179
179
179
179
179
178
178
177
177
176
175
174
172
170
168
167
165
164
163
162
161
161
161
163
164
164
165
165
164
163
166
170
173
176
177
182
184
184
184
185
186
187
189
190
191
191
192
193
196
196
196
200
200
201
203
206
206
207
211
209
206
220
238
247
244
219
224
231
222
218
126
78
191
215
191
204
206
213
206
208
206
200
198
197
193
191
189
186
180
178
174
169
165
156
154
145
144
141
138
136
138
134
133
132
131
131
131
130
130
129
129
128
128
128
125
124
124
123
123
123
122
119
119
119
118
118
118
117
117
117
116
115
114
114
113
115
115
115
115
115
115
114
115
115
115
115
116
116
116
116
116
116
116
116
116
115
116
116
116
115
117
123
128
131
134
137
138
140
144
147
148
149
151
154
156
157
159
159
161
162
164
167
167
168
168
169
170
172
174
174
176
176
177
178
179
180
179
179
180
180
181
183
183
183
184
184
184
184
185
185
186
140
140
140
139
138
138
138
138
138
138
137
136
136
136
134
133
133
133
133
132
132
133
133
134
134
135
135
135
136
137
141
143
144
145
145
149
151
154
154
155
157
159
160
165
166
165
165
166
167
169
171
171
171
171
170
169
169
170
171
171
172
173
173
174
174
174
174
174
175
175
177
178
179
179
180
181
182
182
182
182
182
182
182
180
180
180
179
179
178
178
179
179
179
178
178
177
177
175
174
172
170
168
167
165
164
163
162
160
159
159
160
163
164
165
166
166
164
163
167
170
173
175
176
179
181
185
185
186
187
187
189
190
189
189
190
191
193
194
195
198
198
199
201
204
205
205
207
198
208
242
232
234
249
202
215
202
181
106
92
98
93
220
210
202
204
200
200
201
199
193
192
189
186
183
181
179
174
170
166
161
157
153
150
143
141
140
137
136
137
133
132
131
131
131
131
130
130
129
129
128
128
128
125
124
123
123
122
122
122
119
119
118
118
117
117
117
117
116
115
115
114
113
113
116
116
116
116
116
116
115
116
116
117
117
118
118
117
117
117
117
117
117
117
117
118
120
119
119
119
123
129
132
136
140
141
143
146
147
148
150
151
153
155
156
159
159
161
162
164
167
166
168
168
169
170
172
174
174
176
176
177
178
179
180
179
178
178
179
180
181
182
182
184
184
184
185
186
186
186
140
140
140
139
139
138
138
138
137
136
136
135
134
134
133
133
133
134
135
135
135
135
134
134
134
134
134
134
137
138
141
143
144
145
146
148
150
153
154
155
155
155
161
164
166
167
167
166
166
169
170
170
170
171
172
172
171
171
172
172
173
173
173
173
173
174
174
175
175
175
176
176
177
177
178
178
181
181
181
181
181
181
181
180
180
180
179
179
178
178
178
178
177
176
176
175
174
172
171
170
168
166
164
162
160
160
159
159
159
160
159
160
161
162
164
164
162
162
163
166
169
171
172
177
180
181
182
183
184
186
190
190
192
191
191
191
192
192
192
203
188
196
205
198
207
202
194
205
237
223
221
225
208
203
213
160
118
81
95
108
94
194
218
213
196
207
202
203
200
193
191
188
185
182
183
181
175
171
165
160
156
149
147
141
138
137
136
135
132
133
132
132
131
131
131
130
129
128
128
127
126
126
126
124
123
123
122
121
121
121
120
119
119
118
117
117
115
114
113
113
113
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
118
118
118
116
117
118
118
118
119
124
130
134
138
142
144
145
148
150
150
151
153
154
156
156
156
159
161
163
163
167
170
170
170
171
172
172
174
174
175
176
177
179
180
181
181
180
180
181
182
182
183
183
184
184
184
185
186
186
186
139
139
138
138
137
137
137
136
136
136
135
135
134
134
133
133
133
134
135
135
135
135
134
134
134
134
134
134
136
137
140
142
143
145
145
148
150
153
155
156
156
156
160
163
165
166
167
166
166
169
170
170
170
171
172
172
172
172
172
173
173
173
173
174
174
174
175
175
175
175
176
176
177
177
178
178
180
180
180
180
180
180
180
179
179
179
178
178
178
178
177
177
176
176
175
174
173
171
170
169
167
166
164
163
160
160
159
159
159
159
158
159
160
160
161
161
161
160
161
163
166
168
170
175
176
179
180
181
183
184
188
189
191
190
190
191
192
192
192
190
199
197
193
202
196
191
222
236
240
208
196
191
187
190
151
223
76
88
103
91
84
172
210
207
193
200
195
193
190
186
185
182
180
179
176
174
167
163
158
154
150
146
144
139
136
135
134
134
133
133
132
132
131
131
131
130
129
128
128
127
126
126
126
124
123
123
122
121
121
121
120
119
119
118
117
117
115
114
113
113
113
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
118
118
118
116
117
118
118
118
119
124
127
132
138
142
145
147
151
153
152
153
154
155
157
158
157
159
161
163
163
167
169
170
170
171
172
172
174
174
176
176
175
175
177
179
181
180
180
181
182
182
183
183
184
184
184
185
186
186
186
136
136
136
135
135
135
134
135
134
135
135
134
134
134
133
133
133
134
135
135
135
135
134
134
134
134
134
134
134
135
139
141
143
143
144
147
148
153
155
156
157
157
158
162
164
166
167
167
166
169
170
171
170
171
172
172
172
173
173
173
174
174
174
174
175
175
175
176
176
176
176
176
177
177
178
178
179
179
179
179
179
179
179
178
177
177
177
176
177
177
176
175
175
174
173
172
171
169
168
167
166
165
164
163
160
160
159
159
158
157
156
157
157
157
158
158
158
159
158
161
163
165
166
170
172
176
177
178
180
182
185
185
188
188
188
189
191
191
192
194
196
191
195
184
192
231
243
248
231
195
186
177
179
152
193
110
93
79
91
103
82
146
205
201
193
196
192
188
186
182
181
181
178
177
172
170
162
158
156
152
149
142
140
135
133
132
132
133
133
133
132
132
131
131
131
130
129
128
128
127
126
126
126
124
123
123
122
121
121
121
120
119
119
118
117
117
115
114
113
113
113
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
118
118
118
116
117
118
118
118
119
124
125
130
137
142
145
148
153
154
153
154
155
157
159
159
158
160
162
163
163
166
168
170
170
171
172
172
174
174
177
176
174
173
175
178
180
180
180
181
182
182
183
183
184
184
184
185
186
186
186
135
135
135
134
134
133
133
134
135
135
134
134
134
134
133
133
133
134
135
135
135
135
134
134
134
134
134
134
134
134
138
140
142
142
143
146
147
152
154
156
156
157
157
161
164
166
167
167
166
169
170
171
170
171
172
172
173
173
173
174
174
174
175
175
175
175
176
176
176
177
176
176
177
177
178
178
178
178
178
178
178
178
178
177
177
176
176
177
176
176
175
175
174
173
172
172
171
168
167
167
166
165
164
163
160
160
160
159
158
157
156
157
156
156
156
156
158
159
158
160
162
164
165
169
171
174
175
177
179
181
183
184
186
186
187
187
189
190
190
197
191
190
196
188
210
249
245
238
221
186
181
176
170
162
167
59
83
77
105
102
84
136
203
196
193
193
190
187
185
180
180
179
177
175
171
168
160
156
154
151
148
140
139
135
133
132
133
133
133
133
132
132
131
131
131
130
129
128
128
127
126
126
126
124
123
123
122
121
121
121
120
119
119
118
117
117
115
114
113
113
113
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
118
118
118
116
117
118
118
118
119
124
126
130
137
142
146
148
153
154
154
154
155
157
159
159
159
160
162
163
163
166
167
170
170
171
172
172
174
174
177
176
175
174
175
177
178
180
180
181
182
182
183
183
184
184
184
185
186
186
186
134
134
133
133
132
132
133
134
134
134
134
134
134
134
133
133
133
134
135
135
135
135
134
134
134
134
134
134
133
134
137
139
141
142
142
143
145
151
154
154
155
156
157
160
163
165
167
167
167
169
170
171
171
172
172
172
173
173
174
174
175
175
175
175
175
176
176
177
177
177
176
176
177
177
178
178
177
177
177
177
177
177
177
177
177
177
176
176
175
175
174
174
173
172
172
172
171
167
166
166
165
165
164
163
161
161
160
159
157
156
154
155
155
154
153
153
156
157
159
161
163
164
164
168
170
174
174
176
177
179
182
183
183
183
184
185
188
189
190
190
190
196
189
223
254
248
246
216
200
164
168
166
137
185
84
74
72
103
82
118
86
122
198
187
188
188
187
185
182
177
177
174
171
170
167
164
154
152
150
147
145
140
138
135
134
133
133
133
133
133
132
132
131
131
131
130
129
128
128
127
126
126
126
124
123
123
122
121
121
121
120
119
119
118
117
117
115
114
113
113
113
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
118
118
118
116
117
118
118
118
119
124
127
132
138
143
146
148
151
153
154
154
155
156
158
158
159
161
163
163
163
165
167
170
170
171
172
172
174
174
176
176
177
177
176
176
176
180
180
181
182
182
183
183
184
184
184
185
186
186
186
133
133
133
133
134
134
134
133
133
133
133
133
133
133
133
133
133
134
135
135
135
136
134
134
133
133
132
132
135
135
135
137
139
142
143
146
147
150
152
154
155
156
158
159
160
161
164
166
168
169
171
171
171
171
172
174
174
174
174
175
175
175
175
176
177
177
177
178
178
178
177
177
178
178
179
179
178
178
178
177
177
176
176
176
176
175
175
175
175
174
173
173
173
172
172
171
170
169
169
168
167
165
164
164
162
162
161
159
157
156
154
153
153
152
152
153
154
155
157
158
160
162
165
169
170
169
171
174
176
177
180
183
184
184
184
184
186
186
187
190
187
188
193
255
246
239
224
198
188
176
166
133
171
129
57
66
78
103
99
110
88
113
195
184
188
188
182
183
181
177
175
173
168
165
163
160
155
152
148
144
141
139
138
135
134
134
135
135
133
133
132
133
133
132
132
131
130
130
129
128
127
127
126
124
124
123
122
121
121
121
120
119
119
118
117
117
115
115
114
114
114
113
113
115
115
115
115
115
115
115
115
115
116
116
117
117
119
119
119
119
119
119
119
117
118
119
119
119
120
125
129
131
134
138
142
146
149
155
155
155
156
156
157
157
160
160
161
162
164
166
166
168
169
170
171
172
174
174
175
176
176
177
178
178
179
179
180
181
182
183
184
185
185
186
186
187
189
189
190
133
133
133
134
134
134
134
133
133
133
133
133
133
133
133
133
133
134
135
135
135
135
134
133
133
133
132
132
135
135
135
137
139
141
142
146
146
150
152
154
155
156
157
158
159
160
163
165
166
169
171
171
171
171
173
174
173
173
174
174
175
175
175
177
177
178
178
178
179
179
178
178
178
179
179
179
178
178
178
177
177
176
176
176
176
176
175
175
174
174
173
174
173
172
172
171
170
169
169
168
167
165
165
164
161
161
160
158
156
155
153
153
152
151
151
151
154
154
156
157
158
161
163
167
168
167
169
172
173
174
178
180
182
183
183
183
185
186
186
183
194
183
209
252
239
233
211
191
186
170
145
136
176
98
49
67
85
105
103
111
89
112
191
181
185
186
182
180
179
175
173
170
166
164
160
158
154
152
147
143
140
139
138
135
134
134
135
135
133
133
134
133
133
133
132
132
131
130
129
128
128
127
127
125
124
123
122
122
121
121
120
119
119
118
117
117
115
115
115
114
114
114
113
115
115
115
115
115
115
115
115
115
116
116
117
117
119
119
119
119
119
119
119
117
118
119
119
119
120
125
129
130
133
137
141
144
148
154
154
155
156
157
158
158
160
160
161
162
164
166
166
168
168
169
170
171
173
174
175
175
176
177
177
178
178
179
179
180
181
183
184
184
185
185
186
187
188
189
189
133
133
133
133
133
133
133
133
133
133
133
134
134
134
133
133
133
134
135
135
135
134
133
133
133
134
134
134
137
136
137
138
139
140
141
144
145
148
151
153
155
156
157
157
158
160
161
163
164
168
170
171
171
172
174
175
174
174
174
175
175
175
175
179
179
179
180
180
180
180
179
179
179
179
179
179
178
178
178
177
177
176
176
177
177
176
175
175
174
173
173
173
172
172
172
172
171
169
169
169
168
166
165
164
160
160
158
157
155
154
153
151
150
149
148
148
149
150
153
154
155
157
159
163
164
168
169
171
173
173
177
179
179
179
180
182
184
184
185
185
185
198
249
234
240
208
190
190
179
170
135
157
145
68
49
64
92
108
109
107
94
111
186
181
183
185
182
176
174
170
169
166
162
158
157
155
151
149
146
141
138
139
138
135
134
134
135
135
134
135
134
134
134
133
133
132
131
131
130
129
128
128
127
125
125
124
123
122
122
121
120
119
119
118
117
117
116
116
115
115
115
114
114
115
115
115
115
115
115
115
115
115
116
116
117
117
119
119
119
119
119
119
119
117
118
119
119
119
120
125
130
131
132
135
138
141
144
151
151
153
154
156
158
159
160
160
161
162
164
166
166
167
168
168
170
171
173
173
175
176
176
177
178
178
178
179
180
181
182
183
184
185
185
186
186
187
189
189
189
132
132
132
132
132
132
132
133
133
133
134
134
134
134
133
133
133
134
135
135
135
135
134
135
135
136
136
136
139
139
139
139
140
141
142
143
144
148
151
153
155
157
159
158
159
160
162
162
164
167
171
171
171
172
174
176
175
176
176
176
177
177
177
180
180
181
181
181
182
182
181
181
180
180
179
179
178
178
178
177
177
176
176
178
178
177
176
174
173
172
172
172
172
172
172
172
172
170
170
169
168
166
165
164
161
160
159
157
156
155
153
150
148
147
146
145
146
146
149
150
152
154
157
160
161
166
168
170
171
170
173
175
177
177
178
179
183
184
185
179
197
246
255
235
220
198
191
189
175
204
134
162
105
53
62
73
90
100
113
108
93
106
181
181
180
180
178
173
172
168
166
163
159
157
157
153
145
143
142
141
139
139
138
135
134
134
135
135
136
135
135
135
134
134
134
133
132
131
130
130
129
129
128
126
125
124
124
123
123
121
120
119
119
118
117
117
117
116
116
116
115
115
115
115
115
115
115
115
115
115
115
115
116
116
117
117
119
119
119
119
119
119
119
117
118
119
119
119
120
125
130
130
132
133
136
138
140
146
147
149
152
154
158
160
160
160
161
162
164
166
166
168
169
170
171
172
174
174
177
177
178
179
179
180
180
181
182
182
184
185
186
186
187
187
188
189
190
191
191
132
132
132
132
132
132
132
133
133
133
134
134
134
134
133
133
133
134
135
135
135
135
135
136
136
137
137
137
140
140
139
140
140
142
143
142
143
147
151
153
155
157
159
159
159
160
162
163
164
166
171
171
171
172
175
177
176
176
177
177
177
178
178
180
180
181
181
182
182
182
181
181
180
180
179
179
178
178
178
177
177
176
176
179
178
177
176
174
173
172
172
172
172
172
172
172
172
170
170
169
168
166
165
164
161
160
159
158
157
155
154
149
149
146
145
144
145
146
149
150
151
154
156
160
160
164
166
168
169
168
171
172
176
176
177
179
182
184
184
172
209
255
251
240
207
200
185
201
179
185
134
173
89
45
66
79
90
96
113
111
91
104
179
180
178
177
175
174
172
168
166
163
158
156
157
153
143
142
141
141
140
139
138
135
134
134
135
135
136
136
135
135
134
134
134
133
132
131
131
130
129
129
128
126
125
125
124
123
123
121
120
119
119
118
117
117
117
117
116
116
115
115
115
115
115
115
115
115
115
115
115
115
116
116
117
117
119
119
119
119
119
119
119
117
118
119
119
119
120
125
129
130
132
133
135
137
139
146
146
148
151
153
158
159
160
160
161
162
164
166
166
169
169
170
171
172
174
175
178
178
179
179
180
181
181
182
182
183
184
186
187
187
188
188
189
189
191
192
192
132
132
132
132
132
132
132
133
133
133
133
133
133
133
134
134
134
136
136
137
136
136
136
137
137
138
138
138
138
138
139
139
140
140
139
140
143
148
150
152
155
157
157
159
161
163
164
164
164
165
170
171
172
173
176
177
176
177
177
178
179
179
179
180
179
179
179
179
179
179
181
182
182
182
182
182
181
181
180
180
179
179
180
178
177
175
175
175
175
173
174
174
173
173
173
173
172
170
169
168
167
166
165
164
163
161
158
156
155
154
149
148
147
146
145
145
146
146
147
148
149
151
153
157
158
162
162
163
165
166
169
170
175
173
174
180
176
183
174
195
249
255
248
226
208
194
202
194
174
154
141
164
61
46
63
77
106
112
109
108
92
112
176
178
170
176
167
168
167
164
161
159
157
157
150
150
147
145
143
142
141
139
139
138
137
136
135
135
135
135
135
135
135
135
135
133
132
132
131
130
129
129
128
127
127
126
125
124
124
120
120
119
119
119
118
118
117
117
117
117
117
117
117
116
116
116
116
116
116
115
115
116
116
116
117
117
119
119
119
119
119
119
119
121
121
120
119
120
122
124
128
128
130
132
134
136
137
141
143
147
150
153
156
157
160
160
161
162
163
165
166
170
170
172
172
174
176
177
180
180
181
182
182
183
183
185
185
186
187
187
188
188
189
189
190
190
191
191
191
132
132
132
132
132
132
132
133
133
133
134
134
134
135
134
134
135
137
138
138
138
137
137
138
138
138
139
139
139
139
140
140
140
141
140
141
143
148
149
151
154
156
156
159
161
163
164
165
165
166
170
172
172
174
176
177
180
180
180
180
179
179
178
180
180
180
180
180
180
180
181
182
182
182
182
182
182
182
181
181
181
180
181
178
177
175
175
175
175
173
175
175
174
173
173
172
171
169
169
168
166
165
163
162
162
159
158
156
155
153
148
148
147
146
145
145
146
146
146
147
148
150
151
154
155
160
159
160
161
162
166
166
172
172
174
169
180
170
174
235
255
237
227
218
214
209
211
193
163
152
164
167
51
44
60
77
115
118
111
109
94
117
175
175
168
171
166
167
166
162
159
157
155
155
150
150
148
146
144
143
142
141
140
139
138
137
137
136
135
135
135
135
135
135
135
134
133
132
131
131
130
130
129
128
127
126
126
125
125
121
120
120
120
119
119
119
118
118
118
118
118
118
118
117
117
117
117
117
117
116
116
116
117
117
117
118
119
119
119
119
119
119
119
121
121
120
119
120
122
124
126
127
128
130
132
134
136
138
140
142
145
148
153
154
157
158
161
163
166
171
172
172
173
174
176
177
179
180
181
181
182
182
183
184
184
186
186
187
187
188
189
189
191
191
191
191
192
192
193
132
132
132
132
132
132
132
133
133
133
134
135
135
136
135
135
136
138
138
138
139
137
137
138
138
139
139
139
139
139
140
140
141
141
140
141
143
147
148
150
153
155
155
158
161
163
165
165
165
165
170
171
172
173
176
177
180
180
180
179
179
179
178
180
180
180
180
180
180
180
181
182
182
182
182
182
182
182
181
181
181
180
181
178
177
175
175
175
175
173
175
175
174
173
173
172
171
169
168
167
165
164
162
160
161
160
157
155
154
152
147
148
147
146
145
145
146
146
146
147
148
149
151
153
154
157
158
159
159
160
164
165
170
170
175
166
179
166
189
247
255
235
226
212
216
214
214
183
159
160
161
153
55
46
60
79
120
121
112
110
94
121
177
175
167
169
165
166
165
161
158
156
154
154
150
149
147
146
145
144
143
142
141
140
139
138
138
137
135
135
135
135
135
135
135
134
133
133
132
131
130
130
129
128
128
127
126
125
125
121
121
120
120
120
119
119
118
118
118
118
118
118
118
117
117
117
117
117
117
116
116
117
117
117
118
118
119
119
119
119
119
119
119
121
121
120
119
120
122
124
125
126
128
130
132
134
135
137
138
141
143
146
152
153
158
159
160
163
167
172
173
173
174
175
176
178
180
180
181
181
182
183
183
184
184
186
186
187
188
188
189
189
191
192
192
192
193
193
193
132
132
132
132
132
132
132
133
133
134
135
136
137
137
140
139
138
138
137
137
137
138
138
139
139
139
140
139
140
140
141
141
141
142
141
141
143
147
147
149
151
153
154
158
161
163
165
166
166
164
168
169
170
171
174
175
177
178
178
179
180
180
180
181
181
181
180
180
180
180
181
182
182
182
182
182
181
181
180
180
179
179
180
178
177
175
175
175
175
173
176
176
175
174
172
171
170
169
168
166
164
162
161
159
161
158
156
154
153
151
146
148
147
146
145
145
146
146
148
148
149
150
151
153
153
157
157
158
158
160
162
164
167
163
175
166
172
163
240
255
240
210
212
213
225
225
203
163
147
156
150
123
39
56
66
82
126
125
114
114
97
130
179
174
168
167
166
164
163
159
156
154
153
152
150
149
147
146
145
145
145
142
142
140
139
139
138
138
136
136
136
136
136
136
136
135
134
133
132
132
131
131
130
129
128
127
127
126
126
122
121
121
121
120
120
120
119
119
119
119
119
119
119
118
118
118
118
118
118
117
117
117
118
118
118
119
119
119
119
119
119
119
119
121
121
120
119
120
122
124
124
125
126
128
130
132
134
137
137
139
141
144
150
152
157
159
161
164
167
171
173
173
174
175
177
178
181
182
182
182
183
183
184
185
185
187
187
188
188
189
190
190
193
193
193
194
194
195
195
132
132
132
132
132
132
132
134
134
135
136
137
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
139
140
140
141
141
142
142
141
142
143
146
148
150
151
152
154
156
159
162
165
167
168
167
166
166
167
169
172
172
171
173
175
177
179
181
182
181
181
180
180
180
179
179
179
180
180
180
180
180
181
181
180
179
179
178
178
176
176
176
176
176
176
177
176
174
173
172
172
172
168
166
164
162
161
161
160
156
153
153
152
152
150
149
147
145
145
146
147
147
149
149
150
150
150
151
151
152
152
153
154
154
156
158
161
163
162
172
160
164
164
185
255
230
178
161
197
216
214
231
200
157
154
139
147
86
37
59
60
102
127
120
123
116
105
142
172
168
168
169
164
164
163
159
158
156
154
153
150
149
147
146
145
144
144
143
143
143
143
142
142
142
139
138
137
137
136
135
135
136
135
134
134
133
132
132
131
130
129
127
126
125
124
123
123
122
122
121
121
121
120
120
119
119
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
121
122
125
125
125
126
128
130
134
136
137
139
140
143
151
155
155
157
160
162
164
169
170
172
173
174
176
178
182
182
182
182
183
184
184
185
185
186
186
187
188
188
189
189
192
192
193
193
194
194
194
132
132
132
132
132
132
132
134
134
135
137
137
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
139
140
140
141
141
142
142
141
143
143
146
148
149
151
151
154
156
159
162
164
166
168
167
166
167
168
169
171
171
172
173
175
178
179
180
181
180
180
180
180
180
180
180
180
181
181
181
181
181
181
181
180
179
178
178
178
176
176
176
176
176
177
177
176
174
172
172
172
171
168
166
164
162
161
161
160
156
153
153
152
151
150
148
147
145
145
146
147
148
149
149
150
150
151
151
151
152
152
154
154
154
156
158
161
162
162
167
168
163
148
219
252
183
172
185
153
209
234
233
207
157
149
136
138
82
38
62
64
103
130
121
121
114
105
144
173
168
169
169
164
165
164
160
158
156
155
154
151
150
148
147
146
145
144
143
143
143
142
142
142
142
139
138
138
137
136
135
135
136
135
134
134
133
132
132
131
130
129
127
126
125
125
123
123
122
122
122
121
121
120
120
119
119
119
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
120
120
121
122
124
124
125
126
127
130
134
136
137
140
142
144
151
154
154
157
160
162
163
169
171
171
172
174
176
178
181
182
182
182
183
183
184
185
185
186
187
187
188
189
189
190
192
192
193
193
194
194
194
131
131
132
132
132
133
133
135
135
136
137
138
139
139
138
138
138
138
138
138
138
137
137
138
138
139
139
139
140
140
141
141
142
142
141
143
143
146
147
148
149
150
153
155
157
160
162
164
165
167
167
168
168
169
169
169
170
171
173
175
176
178
178
180
180
179
180
180
180
180
180
181
181
181
181
181
180
179
179
178
177
176
177
177
177
177
176
176
176
176
175
173
171
170
170
170
166
165
163
161
160
159
159
154
151
150
150
149
148
147
146
146
147
147
148
149
150
151
151
151
151
152
152
153
153
154
154
155
156
157
160
161
168
153
176
155
190
255
206
160
161
162
192
183
181
251
223
161
133
124
109
73
44
65
73
109
138
129
123
111
108
151
176
170
171
168
166
165
164
161
160
158
157
156
153
153
151
150
148
148
147
145
144
143
142
142
141
141
140
139
138
137
137
136
136
136
135
134
134
133
132
132
131
130
129
128
127
127
126
124
123
123
123
122
122
122
121
121
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
119
119
119
119
119
119
119
119
120
120
120
121
122
123
123
124
125
127
129
133
135
138
142
145
147
150
151
152
155
158
160
161
167
169
170
171
172
174
176
179
180
181
181
182
183
183
184
184
187
187
188
189
189
190
190
191
192
192
192
193
193
193
130
130
131
132
133
134
134
135
136
136
138
139
139
140
138
138
138
138
138
138
137
137
137
138
138
139
139
139
140
140
141
141
142
142
141
143
143
145
146
147
147
148
151
152
154
156
158
160
160
162
165
166
168
168
169
168
169
170
171
172
174
174
175
176
177
177
178
179
179
179
179
180
180
180
180
180
178
178
177
176
175
175
175
176
176
175
175
174
173
173
173
171
169
169
169
168
165
165
164
161
159
158
157
152
149
149
149
148
148
147
148
148
148
149
150
151
152
152
152
152
152
152
153
153
154
154
154
155
156
157
158
160
166
154
165
152
255
206
162
149
159
196
157
173
215
226
230
170
125
112
92
78
55
75
93
124
145
132
124
118
110
161
179
171
174
167
167
166
165
163
162
160
159
159
156
156
154
153
152
151
150
148
147
145
144
143
142
142
141
140
139
138
137
137
136
136
135
134
134
133
132
132
131
130
130
129
129
129
128
124
124
124
123
123
123
123
123
123
122
122
122
121
121
121
121
121
121
121
121
121
121
121
121
121
121
121
119
119
119
119
119
119
119
119
119
120
120
120
121
122
124
124
124
125
128
130
133
136
138
142
143
144
148
150
150
152
155
157
159
164
167
168
169
170
171
173
177
177
180
181
181
182
183
183
184
186
186
187
187
188
188
189
189
189
189
189
190
190
191
130
130
131
132
133
134
134
136
136
137
138
139
140
140
138
138
138
138
138
138
137
137
137
138
138
139
139
139
140
140
141
141
142
142
141
143
143
145
145
146
147
147
149
150
152
154
156
157
158
159
163
165
167
168
169
168
168
169
170
171
172
173
173
175
175
176
176
177
178
178
178
179
179
179
179
179
177
177
176
176
175
174
174
175
175
174
173
172
172
171
172
171
169
168
168
168
164
166
163
161
159
158
156
151
149
149
149
149
149
149
149
149
149
150
150
151
153
153
152
152
152
153
153
154
154
154
154
155
156
156
158
159
162
160
162
158
233
171
161
148
167
209
184
178
200
230
230
175
124
109
91
84
59
84
106
135
145
130
121
118
110
164
181
172
175
167
168
166
165
163
162
161
160
160
158
157
155
154
152
151
150
149
149
147
145
144
143
143
141
140
139
138
138
137
137
136
135
134
134
133
132
132
131
130
130
130
129
129
129
125
124
124
124
123
123
123
124
123
123
123
122
122
122
122
122
122
122
122
122
121
121
121
121
121
121
121
119
119
119
119
119
119
119
119
119
120
120
120
121
122
124
124
125
126
128
131
134
136
138
140
141
142
147
150
149
151
154
157
158
163
166
167
168
169
171
172
176
177
180
180
181
182
182
183
183
185
185
186
186
187
188
188
187
187
187
188
189
189
189
131
131
132
132
133
134
134
137
137
137
138
139
139
139
138
138
138
138
138
138
138
135
137
139
140
139
138
137
140
140
141
141
142
142
142
141
141
142
144
145
146
146
149
149
150
151
152
153
153
158
160
162
164
167
168
169
171
170
170
170
170
170
170
175
175
175
176
176
176
176
176
178
178
179
180
180
177
176
176
176
175
175
176
173
172
172
171
170
169
169
166
167
167
167
168
167
165
163
161
159
156
154
152
152
150
150
150
150
150
150
150
149
149
150
151
151
153
153
154
155
155
156
156
155
154
154
152
150
156
165
159
164
150
170
139
241
178
150
152
185
201
122
95
186
196
219
231
168
88
107
83
110
77
107
144
160
142
132
124
126
116
166
174
175
170
173
167
167
166
164
163
162
161
161
161
160
158
156
154
153
153
152
151
149
147
145
144
143
144
142
141
139
138
136
136
136
135
134
134
133
132
132
130
130
129
129
128
128
128
126
126
126
126
126
126
126
125
125
125
125
125
125
125
124
124
123
123
122
122
123
123
123
122
122
121
121
121
121
121
120
119
118
118
119
119
120
121
121
122
123
123
124
126
128
130
132
134
135
138
141
142
144
148
151
152
153
154
156
157
160
161
166
168
171
172
173
176
179
178
179
180
181
182
183
183
184
184
185
184
185
185
185
186
186
186
187
188
188
188
131
132
132
133
134
134
135
137
137
138
138
138
139
139
138
138
138
138
138
138
138
136
136
138
139
139
138
138
140
140
141
141
142
142
142
141
142
143
144
145
146
147
148
149
149
150
151
151
152
153
154
156
158
160
161
162
167
168
169
170
170
171
172
172
172
172
172
172
172
171
174
174
174
175
175
175
173
172
172
173
172
172
172
167
167
167
166
165
164
165
165
165
166
166
166
166
164
161
159
157
154
153
151
151
151
151
151
150
150
150
150
149
149
150
151
151
153
153
154
155
155
156
156
155
154
148
157
157
153
156
158
162
161
154
246
254
126
184
218
126
28
27
32
72
201
206
224
187
114
105
96
147
134
151
167
164
145
134
124
126
118
169
176
174
171
174
169
169
168
166
165
164
163
163
163
162
159
158
156
155
154
154
153
150
149
147
146
144
145
143
142
140
138
137
137
137
136
135
134
133
133
132
130
130
130
129
129
129
128
126
126
126
126
126
126
126
125
125
125
125
125
125
125
124
124
124
123
123
123
123
123
123
123
122
122
122
121
121
121
121
119
119
119
119
119
120
121
121
122
123
124
125
126
128
130
132
133
135
137
140
142
143
147
149
150
151
153
155
157
159
160
162
164
167
168
169
173
175
178
178
179
180
182
182
183
184
184
185
185
186
185
185
185
185
186
186
187
187
187
132
132
133
133
134
135
135
138
138
138
138
138
138
138
137
137
137
137
137
137
137
136
136
137
138
138
138
138
140
140
141
141
142
142
142
142
142
143
144
146
146
147
148
148
149
149
150
150
150
152
153
154
155
157
158
158
163
165
166
168
170
171
172
172
171
170
170
170
169
169
173
173
172
172
172
173
171
171
171
170
170
170
169
166
165
165
165
164
164
164
164
164
165
165
165
164
162
159
158
156
154
152
152
152
152
151
151
151
151
150
150
149
149
150
151
151
153
153
154
155
155
156
156
155
154
147
156
159
155
161
165
162
137
222
250
180
177
241
169
77
44
10
33
97
187
188
222
185
113
107
96
158
165
171
174
161
147
135
125
129
118
170
178
175
172
175
172
170
170
168
167
165
165
164
164
164
161
159
158
157
156
155
155
151
150
149
148
146
146
144
142
141
139
138
137
137
136
135
134
134
133
133
131
130
130
130
129
129
129
127
127
127
127
127
127
127
126
126
126
126
126
126
126
125
124
124
124
123
123
124
124
123
123
123
122
122
122
122
121
121
120
119
119
119
119
120
121
121
122
123
125
125
126
128
130
132
132
135
137
140
141
142
146
148
149
150
151
153
156
160
160
162
164
166
167
168
172
174
177
177
178
179
181
182
183
183
184
184
184
185
185
185
185
186
186
186
187
187
187
131
132
132
134
135
135
136
139
139
138
137
137
136
136
136
136
136
136
136
136
136
136
136
135
136
137
138
138
140
140
141
141
142
142
142
142
143
144
145
146
147
148
149
150
150
150
150
150
150
152
152
152
153
153
154
154
158
159
161
162
163
164
165
168
168
169
169
169
170
170
172
172
171
170
169
168
168
168
168
168
168
168
167
164
164
164
163
163
163
163
161
162
162
163
162
161
160
157
156
155
154
153
153
154
152
152
153
152
151
151
150
149
149
150
151
151
153
153
154
155
155
156
156
155
154
155
157
154
158
165
154
154
228
255
185
137
249
173
69
20
43
49
87
104
185
208
211
178
108
116
96
161
187
181
169
153
156
140
129
137
109
164
178
179
173
176
173
172
172
170
169
168
167
166
167
166
164
163
161
160
159
159
158
154
153
151
151
149
147
146
144
142
141
140
139
138
137
136
135
134
134
133
132
131
131
130
130
130
130
128
128
128
128
128
128
128
127
127
127
127
127
127
127
125
125
125
124
124
124
125
124
124
124
123
123
123
123
122
122
122
120
120
120
119
119
120
121
121
122
123
126
126
127
128
130
131
131
134
136
139
140
140
143
145
145
146
148
151
154
158
159
162
164
166
167
168
172
174
173
173
174
175
178
179
179
182
182
182
182
182
182
183
184
184
184
185
185
186
186
132
132
133
134
135
136
136
139
139
138
137
136
136
136
136
136
136
136
136
136
136
137
136
134
135
136
137
139
140
140
141
141
142
142
142
143
143
144
146
147
148
148
151
151
151
151
151
150
150
149
149
149
149
150
150
150
154
154
155
156
157
158
158
159
160
162
164
165
166
167
167
166
165
163
162
160
162
162
161
161
162
161
161
158
158
158
159
159
159
159
160
160
161
161
161
160
158
157
157
155
155
155
155
157
154
153
152
152
152
151
150
149
149
150
151
151
153
153
154
155
155
156
156
155
154
159
158
159
166
164
169
199
255
171
238
243
162
83
44
53
66
86
57
111
221
231
190
203
145
115
113
177
183
180
166
154
167
144
128
140
99
158
176
182
175
177
173
174
174
172
171
169
169
168
168
168
165
163
162
161
161
160
160
156
154
153
152
151
148
145
145
143
142
141
140
138
137
136
136
135
134
134
132
132
131
131
130
130
130
128
128
128
128
128
128
128
127
127
127
127
127
127
127
126
126
125
125
124
124
125
125
125
124
124
123
123
123
123
123
122
121
120
120
119
119
120
121
121
122
123
126
127
127
128
130
131
131
134
136
138
139
139
142
144
144
145
148
150
152
157
159
158
161
163
164
165
169
171
171
171
172
173
176
177
177
180
179
179
180
181
181
181
183
183
183
184
185
185
185
132
132
133
136
137
138
138
137
137
137
137
137
137
137
136
136
136
136
136
136
136
135
135
136
136
136
137
137
138
138
139
140
141
142
142
142
143
144
145
146
147
148
148
148
149
149
151
151
151
150
150
150
150
150
150
150
150
151
152
153
154
154
155
156
155
156
156
157
157
157
157
157
157
157
157
158
159
159
159
159
159
159
159
157
157
157
157
157
157
157
157
157
157
158
158
158
159
158
158
157
157
156
156
155
154
154
153
152
152
151
150
151
151
152
152
153
155
155
155
155
155
155
156
156
156
160
156
164
165
163
190
255
204
254
248
213
41
60
59
71
97
98
102
163
239
247
194
216
147
123
115
174
184
182
164
155
172
154
124
142
104
24
42
175
191
184
177
178
177
175
173
171
170
171
171
170
168
167
166
165
165
161
160
157
158
157
155
153
152
148
146
144
142
141
141
138
137
137
136
135
135
134
133
132
132
131
130
129
129
130
130
129
129
128
128
128
128
128
128
128
128
128
128
125
125
125
125
125
125
125
125
125
124
124
123
123
123
123
123
122
121
120
120
120
120
120
120
120
122
124
125
126
127
128
130
131
132
133
134
135
137
139
142
143
145
147
149
150
150
154
155
156
156
157
159
161
163
164
168
168
169
170
172
173
173
175
175
176
176
178
178
179
180
180
180
180
180
180
180
131
132
133
135
136
137
137
137
137
137
137
137
137
137
136
136
136
136
136
136
136
135
135
135
136
136
136
137
137
137
139
140
140
141
141
143
143
144
146
147
148
148
148
148
149
149
150
151
151
151
151
151
151
151
151
151
150
150
151
152
152
152
152
152
152
152
153
153
153
153
152
152
152
152
152
152
156
156
157
157
157
157
157
156
156
156
156
156
156
156
158
157
157
157
158
158
159
158
157
157
156
156
155
154
154
154
153
152
152
151
150
152
152
153
153
154
155
156
155
155
156
156
157
158
158
162
159
165
172
156
223
244
241
226
202
239
65
77
70
67
81
88
76
193
249
248
188
217
155
125
113
173
184
179
165
156
175
159
128
147
88
1
26
207
169
166
189
179
179
176
175
173
172
171
173
173
171
169
168
167
167
163
161
159
159
158
156
153
152
149
147
145
143
142
141
139
138
137
136
136
135
135
134
133
132
131
130
130
129
130
130
129
129
128
128
128
128
128
128
128
128
128
128
125
125
125
125
125
125
125
125
125
124
124
123
123
123
123
123
122
121
120
120
120
120
120
120
121
122
125
127
128
128
129
130
131
131
133
134
135
137
139
142
143
144
146
148
149
149
152
154
154
155
155
156
158
161
161
166
166
167
168
171
172
172
173
173
173
174
176
176
177
178
178
178
178
179
179
179
131
131
132
134
135
135
136
137
137
137
137
137
137
137
135
135
135
135
135
135
135
134
134
135
135
135
136
136
135
136
137
138
139
139
140
142
143
144
145
146
147
148
148
148
149
149
150
150
151
152
152
152
152
152
152
152
150
150
150
150
150
149
149
147
147
146
146
146
146
146
146
146
147
147
149
149
152
152
153
153
154
154
154
155
155
155
155
155
155
155
157
157
156
157
157
157
158
157
157
156
155
154
154
154
153
153
152
152
152
152
151
153
153
154
155
155
157
157
156
157
158
159
161
163
164
171
167
166
172
154
255
230
207
201
220
163
144
47
42
54
63
86
81
251
253
221
176
218
161
117
105
172
189
175
165
154
186
169
134
158
67
13
23
110
198
188
175
183
183
180
178
178
177
176
173
173
172
170
169
168
168
167
165
162
162
161
158
155
154
152
150
148
146
144
143
142
140
139
138
136
136
135
134
133
133
132
131
130
130
130
130
129
129
128
128
128
128
128
128
128
128
128
128
126
126
126
126
126
126
125
125
125
124
124
123
123
123
123
123
122
121
120
120
120
120
120
120
122
124
127
130
130
130
130
130
130
129
133
134
135
137
139
142
143
144
146
146
147
147
149
151
153
154
155
157
158
161
161
162
163
164
165
167
168
168
169
169
170
171
171
172
172
174
174
175
175
176
177
177
130
130
131
133
134
135
135
135
135
135
135
135
135
135
134
134
134
134
134
134
134
133
133
134
134
135
135
135
134
134
136
137
137
138
138
141
141
142
143
145
145
146
148
148
149
149
150
150
151
152
152
152
152
152
152
152
154
153
152
150
149
148
148
146
145
145
144
144
143
143
144
145
146
147
147
148
150
150
151
151
153
154
155
156
156
156
156
155
155
155
156
156
156
156
156
157
157
156
156
155
155
154
153
153
152
152
152
152
152
152
152
152
153
153
154
155
156
157
157
158
159
161
164
167
168
165
170
175
162
189
246
214
208
237
182
151
67
47
65
72
82
87
112
255
255
225
179
226
172
119
105
168
182
177
165
147
195
179
137
158
111
0
12
132
213
188
189
187
187
184
182
181
181
180
176
176
175
174
172
172
171
171
169
165
164
163
160
157
156
154
152
150
148
146
145
144
142
141
139
137
136
135
135
134
133
132
132
131
131
130
130
129
129
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
125
125
125
124
124
123
123
123
123
123
122
121
120
120
120
120
120
121
123
125
128
129
130
130
131
131
132
131
133
134
135
137
139
142
143
145
146
148
148
147
148
150
152
152
154
155
157
159
160
162
162
163
164
166
166
167
167
167
168
169
170
171
171
172
173
173
174
176
177
177
130
130
131
133
134
135
135
134
134
134
134
134
134
134
134
134
134
134
134
134
134
133
133
134
134
135
135
135
134
134
136
136
137
138
138
140
140
142
143
144
145
145
148
148
149
149
150
150
151
151
151
151
151
151
152
152
154
153
152
150
149
148
148
146
145
145
144
144
143
143
143
144
144
146
146
147
149
150
150
151
153
154
155
157
157
157
157
156
156
156
156
156
155
156
156
157
157
156
156
155
154
154
153
153
152
152
152
152
152
152
152
152
152
153
154
155
156
156
157
158
160
162
164
168
169
167
176
184
163
202
225
199
219
231
185
144
43
31
63
68
88
95
138
255
251
205
168
218
168
120
105
167
178
178
165
146
197
182
137
156
130
5
30
5
173
189
179
187
188
185
183
182
181
181
178
178
177
176
175
174
173
172
170
166
165
163
161
158
156
154
152
150
148
147
146
145
143
141
139
137
136
136
135
134
133
133
132
131
131
130
130
129
129
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
125
125
125
124
124
123
123
123
123
123
122
121
120
120
120
120
120
121
123
125
129
129
129
130
131
131
132
132
133
134
135
137
139
142
143
145
147
148
148
147
148
149
150
151
152
154
155
158
159
162
162
163
164
166
166
167
167
167
167
168
170
170
171
172
173
173
174
176
177
177
129
129
130
131
131
132
132
133
133
133
133
133
133
133
133
133
133
133
133
132
132
133
133
135
136
136
137
137
135
135
137
138
138
139
139
140
140
140
141
143
145
146
147
147
148
148
149
149
149
151
151
151
151
151
151
151
150
150
149
149
148
148
148
147
147
147
147
146
146
146
145
144
144
144
145
146
149
149
150
151
152
152
153
153
153
154
154
154
155
155
155
155
154
155
155
156
156
158
158
157
157
155
154
153
153
153
153
153
153
153
153
153
153
153
153
155
158
159
159
161
164
166
167
173
175
181
172
174
178
240
195
213
229
161
159
142
58
57
71
62
89
110
207
255
254
160
140
207
193
110
97
148
180
180
162
143
190
192
164
142
162
20
39
5
96
200
201
192
190
186
186
185
183
181
180
179
177
177
175
175
174
172
170
167
166
166
164
162
160
157
154
152
151
151
150
147
145
143
142
140
139
137
136
135
134
134
133
132
132
130
130
129
129
129
128
128
129
129
129
129
129
129
129
127
127
126
126
125
125
125
125
125
124
124
123
123
122
122
122
121
121
120
120
121
121
123
123
125
127
128
129
129
129
130
130
131
131
134
134
135
136
138
140
140
141
141
142
143
145
147
147
149
149
151
153
155
158
159
160
160
161
162
163
164
164
166
166
167
168
168
169
169
172
172
173
173
175
176
176
128
128
129
131
130
131
131
132
132
132
132
132
132
132
133
133
133
132
132
132
132
134
134
135
136
137
138
138
136
137
138
138
139
139
139
140
140
140
141
143
145
146
147
147
148
148
149
149
149
151
151
151
151
151
151
151
150
150
149
149
148
148
148
147
147
146
147
146
146
146
145
144
144
144
145
146
147
148
148
149
150
151
151
154
154
154
155
155
155
156
155
155
154
155
155
156
156
158
158
157
156
155
153
152
152
152
152
152
152
153
153
153
153
153
154
155
160
161
162
164
167
169
170
174
176
172
185
164
222
255
167
196
195
85
175
68
65
69
78
140
157
210
238
245
254
139
130
202
204
103
99
141
175
177
159
145
191
202
175
141
191
58
8
29
2
175
190
192
192
190
189
187
185
185
183
182
181
179
179
177
177
174
172
169
169
169
167
165
162
159
156
154
153
152
152
149
147
145
144
142
141
139
138
136
135
134
133
132
132
131
130
130
130
129
129
129
129
129
129
129
129
129
129
127
127
126
126
125
125
125
125
125
124
124
123
123
122
122
122
122
122
122
122
122
123
124
124
125
127
128
129
129
129
130
130
131
131
134
134
135
136
138
140
140
140
141
141
143
144
146
146
148
149
150
152
154
158
158
159
160
160
161
164
164
165
166
166
167
168
168
169
169
171
171
172
173
174
175
175
128
128
129
130
130
131
131
132
132
132
132
132
132
132
133
133
133
132
132
132
132
134
134
136
137
137
138
138
137
138
138
138
139
139
139
140
140
140
141
143
145
146
147
147
148
148
149
149
149
151
151
151
151
151
151
151
150
150
149
149
148
148
148
147
147
146
146
146
146
146
145
144
144
144
145
146
147
147
148
149
149
150
151
154
154
155
155
155
156
156
155
155
154
155
155
156
156
158
157
157
155
154
153
152
152
152
152
152
153
153
153
153
153
153
154
156
160
162
164
166
169
170
171
176
178
169
186
166
236
255
163
222
144
88
135
46
54
71
106
150
153
199
222
248
255
153
121
194
207
101
97
132
173
173
157
146
189
206
182
146
173
90
0
30
16
184
201
186
190
194
190
186
185
187
185
185
183
181
181
180
179
176
174
171
171
171
169
167
164
161
158
155
153
153
152
150
148
146
145
143
142
140
139
137
136
135
133
132
132
131
131
130
130
130
129
129
129
129
129
129
129
129
129
127
127
126
126
125
125
125
125
125
124
124
123
123
122
122
122
122
122
122
122
123
124
125
125
126
127
128
129
129
129
130
130
131
131
134
134
135
136
138
140
140
140
140
141
142
143
145
146
148
148
150
152
154
157
158
159
159
160
161
164
165
165
166
166
167
168
168
169
169
171
171
172
172
174
175
175
127
127
128
130
129
130
130
131
131
131
131
131
131
131
132
132
132
132
132
132
132
135
135
136
136
137
138
138
139
139
139
139
139
139
139
140
140
140
141
143
145
146
147
147
148
148
149
149
149
151
151
151
151
151
151
151
149
149
148
149
148
148
148
147
147
146
146
145
145
145
145
144
144
144
145
146
147
148
148
149
150
151
151
155
155
155
156
156
156
157
155
155
154
155
155
156
156
157
157
156
155
153
152
151
151
151
152
152
152
152
152
153
153
153
155
157
162
163
165
168
171
172
173
179
181
188
163
200
255
241
211
209
86
90
42
58
105
127
125
144
156
185
244
255
221
184
123
174
196
118
109
121
166
163
151
147
180
206
197
159
143
155
23
21
17
68
187
203
198
191
193
193
190
188
189
188
186
185
183
182
181
179
177
174
173
172
171
169
167
162
159
157
155
154
153
152
150
148
147
145
144
142
140
138
137
135
133
132
132
132
131
131
131
130
130
130
129
129
129
129
129
129
129
127
127
126
126
125
125
125
125
125
124
124
123
123
122
122
122
123
123
124
124
125
125
126
126
126
127
128
129
129
129
130
130
131
131
134
134
135
136
138
140
140
139
139
140
141
143
145
145
147
148
149
151
153
157
157
158
158
160
161
164
166
166
166
166
167
168
168
169
169
170
170
171
172
173
174
174
125
126
127
130
129
128
128
126
127
129
131
131
130
129
131
131
132
133
134
135
135
135
136
136
137
138
139
139
138
138
139
139
140
140
140
142
142
144
144
145
146
146
148
148
148
148
148
148
148
149
149
149
149
149
149
149
149
149
149
149
149
150
150
150
149
149
148
147
146
146
145
145
145
145
145
145
146
146
147
148
150
151
152
155
155
155
156
156
157
157
155
155
154
155
155
156
156
157
157
156
155
153
152
151
151
151
151
151
151
151
151
151
152
154
156
159
164
164
169
169
169
173
175
177
179
181
172
228
255
211
215
120
115
73
51
36
189
136
163
131
127
246
250
240
200
190
144
169
186
138
129
132
160
165
146
145
178
204
203
172
152
187
35
41
21
32
0
123
205
192
202
189
203
184
190
190
188
186
185
184
185
182
180
177
177
176
174
173
170
167
164
160
158
156
155
155
151
150
150
149
147
144
144
140
138
136
135
134
134
132
132
131
131
130
130
130
130
130
129
129
128
128
128
128
128
127
127
126
126
125
125
125
124
124
123
123
122
122
122
123
123
124
124
126
126
127
127
127
128
129
130
130
131
132
132
133
134
135
135
136
137
137
139
139
138
140
141
142
142
144
146
148
148
150
151
153
156
156
159
159
160
161
164
165
165
167
167
168
169
169
170
170
170
170
171
172
173
174
174
125
126
127
129
129
128
128
125
126
128
131
131
131
130
131
131
132
134
134
135
135
136
135
137
138
138
139
139
138
138
139
139
140
140
140
142
142
144
144
145
146
146
148
148
148
148
148
148
148
149
149
149
149
149
149
149
149
149
149
149
149
149
150
150
149
148
147
147
146
146
145
145
145
145
145
145
146
146
147
148
150
151
152
155
155
155
156
156
156
157
155
155
154
155
155
156
156
157
157
156
155
153
152
152
151
151
151
151
151
151
151
151
152
154
157
160
165
165
169
169
171
173
173
178
181
170
182
236
255
215
223
145
94
77
7
67
159
146
208
141
189
253
255
207
136
205
154
160
185
139
135
126
155
162
144
145
178
202
205
181
155
183
58
37
17
21
0
83
201
188
187
193
179
193
190
190
188
187
186
185
184
181
180
177
177
176
174
172
171
167
164
161
158
156
155
155
151
150
150
149
147
144
144
141
138
136
135
134
134
132
132
131
131
131
130
130
130
130
129
129
129
128
128
128
128
127
127
126
126
125
125
125
124
124
124
123
122
122
123
123
123
124
124
126
126
127
127
128
128
129
130
130
131
132
132
133
134
135
135
136
137
137
139
139
138
140
142
142
142
145
146
148
148
150
151
153
156
156
159
159
160
161
164
165
165
167
167
168
169
169
170
170
170
170
171
172
173
174
174
124
125
126
129
128
127
127
124
125
126
130
132
133
133
132
132
133
134
135
136
135
136
137
138
138
139
139
139
139
139
140
140
140
141
141
142
142
144
144
145
146
146
147
147
147
147
147
147
147
148
148
148
148
148
148
148
147
147
147
147
147
147
147
148
148
147
147
146
146
146
145
145
145
145
145
145
146
146
147
148
150
151
152
154
154
155
155
155
156
156
155
155
154
155
155
156
156
157
157
156
155
153
153
152
152
152
152
152
152
152
152
154
154
156
159
162
167
167
168
173
175
173
172
182
186
168
227
255
246
215
227
207
244
255
204
215
95
143
86
185
238
255
252
106
17
133
175
143
183
137
140
105
141
159
145
145
176
195
204
198
171
176
138
32
20
9
14
5
171
189
204
186
213
188
193
192
190
189
188
186
185
184
182
179
178
177
175
173
171
168
165
162
159
157
155
157
153
152
151
150
148
145
145
141
139
137
135
135
135
133
132
132
132
131
131
131
131
130
130
130
129
129
129
128
128
127
127
126
126
126
126
125
125
125
124
124
123
123
123
124
124
124
125
127
127
128
127
128
129
130
130
130
131
132
132
133
134
135
135
136
137
137
139
139
139
140
142
143
143
145
147
148
148
150
151
153
156
156
159
159
160
161
164
165
165
167
167
168
169
169
170
170
170
170
171
172
173
174
174
123
124
126
128
127
127
126
126
126
126
129
131
133
134
132
133
133
135
136
135
136
138
138
139
139
139
139
139
140
140
140
141
141
141
142
142
142
144
144
145
146
146
146
146
146
146
146
146
146
147
147
147
147
147
147
147
146
146
146
146
146
146
146
146
146
146
146
146
146
146
145
145
145
145
145
145
146
146
147
148
150
151
152
153
154
154
154
155
155
155
155
155
154
155
155
156
156
157
157
156
156
154
153
152
153
153
153
153
153
153
153
156
158
159
161
164
169
169
170
175
176
173
176
183
179
197
249
250
232
227
244
252
229
234
148
89
110
167
235
253
255
246
152
99
68
125
180
165
160
134
128
91
123
153
141
137
177
190
197
206
180
165
178
9
24
11
26
24
40
200
189
193
186
199
195
194
192
190
189
188
188
186
184
180
180
178
175
173
172
170
167
164
160
158
157
158
154
153
153
152
150
147
146
142
139
137
136
136
136
133
133
133
132
132
132
132
131
131
131
130
130
130
130
128
128
127
127
126
126
127
126
126
126
125
125
125
124
124
124
124
125
125
125
127
128
128
128
129
130
131
130
130
131
132
132
133
134
135
135
136
137
137
139
139
139
141
143
144
144
146
148
148
148
150
151
153
156
156
159
159
160
161
164
165
165
167
167
168
169
169
170
170
170
170
171
172
173
174
174
123
124
125
128
127
126
126
128
127
127
128
130
132
133
133
133
134
135
135
136
136
139
139
139
139
139
139
139
140
140
141
141
141
142
142
142
142
144
144
145
146
146
146
146
146
146
146
146
146
147
147
147
147
147
147
147
145
145
145
145
145
145
145
145
145
146
146
146
146
146
145
145
145
145
145
145
146
146
147
148
150
151
152
153
153
154
154
154
155
155
155
155
154
155
155
156
156
157
157
156
156
154
153
152
153
153
153
153
153
153
153
157
158
160
162
165
170
170
172
176
175
173
178
182
173
219
254
247
239
243
253
255
250
255
218
190
177
111
208
255
202
255
236
20
13
161
183
182
139
137
126
90
110
146
133
130
179
191
197
210
191
170
185
0
28
16
29
34
14
220
190
210
181
207
196
195
193
191
190
189
189
187
185
180
179
178
176
173
173
170
167
164
161
159
157
159
155
154
154
153
150
148
146
142
140
138
136
136
136
134
133
133
133
132
132
132
132
131
131
131
130
130
130
128
128
127
127
126
126
127
127
126
126
126
125
125
124
124
124
125
125
125
126
128
128
129
128
129
130
131
130
130
131
132
132
133
134
135
135
136
137
137
139
139
140
141
143
144
144
146
148
148
148
150
151
153
156
156
159
159
160
161
164
165
165
167
167
168
169
169
170
170
170
170
171
172
173
174
174
123
123
124
125
126
127
127
125
126
127
129
130
131
132
134
134
135
136
137
138
137
139
139
139
139
139
139
139
140
140
141
141
142
142
142
142
142
144
145
145
146
147
145
145
145
145
145
145
145
146
146
146
146
146
146
146
146
146
146
146
146
146
146
144
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
149
149
150
151
152
152
153
155
155
156
157
156
156
156
156
156
156
156
157
156
155
155
154
153
152
152
152
153
153
153
153
154
154
157
161
165
167
171
172
179
168
182
181
175
180
189
255
243
248
254
235
252
230
167
192
193
232
47
230
255
255
255
237
242
26
0
18
50
174
117
176
136
104
113
136
116
130
121
193
193
204
210
199
176
0
44
20
13
3
15
80
221
193
199
188
197
197
197
195
193
190
189
188
186
182
181
180
177
175
174
169
168
166
164
161
159
159
155
154
154
153
151
149
148
142
140
139
139
137
136
135
134
133
133
132
130
130
130
130
129
129
128
128
128
127
127
127
127
127
127
128
128
128
127
127
126
126
125
125
124
124
124
125
126
128
128
128
129
129
130
130
132
132
132
133
133
134
134
136
136
137
138
138
140
140
141
141
143
144
146
148
148
149
149
151
152
154
157
157
161
161
162
163
163
164
164
166
166
167
168
169
170
170
171
171
171
172
173
173
173
123
123
124
125
126
127
127
126
127
127
129
130
130
131
134
134
135
136
137
138
137
139
139
139
139
139
139
139
140
140
141
141
142
142
142
142
142
143
144
145
145
145
145
145
145
145
145
145
145
146
146
146
146
146
146
146
146
146
146
146
146
146
146
144
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
149
149
150
151
151
152
153
154
155
156
156
156
156
156
156
156
155
156
155
155
154
154
153
152
151
152
152
153
153
154
154
155
157
160
163
167
169
172
174
176
187
182
165
175
182
237
254
220
88
0
57
0
81
85
16
15
168
231
144
141
241
208
202
197
94
99
109
127
173
159
190
159
126
121
122
87
34
15
31
53
181
224
201
204
41
17
17
14
14
12
1
101
227
179
205
197
197
197
195
193
190
189
189
186
182
182
180
177
175
175
169
168
167
165
161
159
160
156
155
154
153
151
149
147
141
139
139
138
136
135
135
135
134
133
132
131
130
130
130
130
129
129
129
128
128
128
128
128
128
128
128
128
128
128
127
127
127
126
125
124
124
124
126
127
128
128
128
129
129
130
130
132
133
133
133
134
134
134
136
137
137
138
139
140
141
141
141
143
144
146
148
148
149
149
151
152
154
157
157
161
161
162
163
163
164
164
166
166
167
168
169
170
170
171
171
171
172
173
173
173
123
123
124
125
126
127
127
127
127
128
128
129
130
130
134
134
135
136
137
138
137
138
138
139
139
139
140
140
140
140
141
141
142
142
142
142
142
143
143
144
144
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
144
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
149
149
150
151
152
152
153
154
155
155
156
156
156
156
155
155
156
155
154
154
153
153
152
152
151
152
152
153
153
154
155
156
157
160
165
168
170
173
175
177
168
175
171
185
166
119
119
25
9
21
55
19
26
43
36
101
130
27
212
255
255
238
242
182
40
45
31
36
110
160
150
181
139
87
96
118
85
4
10
37
154
194
202
215
95
7
36
17
8
30
21
21
198
191
192
196
196
197
195
193
190
189
189
187
182
182
180
178
176
175
170
169
167
165
162
159
160
156
155
155
154
152
150
147
141
139
138
138
136
135
136
135
134
133
133
131
131
131
130
130
130
129
129
129
129
129
129
129
129
129
129
129
128
128
128
127
127
126
125
125
124
125
126
127
128
128
128
129
129
130
130
133
133
133
134
134
134
135
137
137
138
138
139
141
141
141
141
143
144
146
148
148
149
149
151
152
154
157
157
161
161
162
163
163
164
164
166
166
167
168
169
170
170
171
171
171
172
173
173
173
123
123
124
125
126
127
127
128
128
128
128
129
129
129
134
134
135
136
137
138
137
137
137
139
139
140
141
141
140
140
141
141
142
142
142
142
142
142
142
143
143
143
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
149
149
150
151
151
152
152
153
154
155
155
156
156
155
156
155
154
154
151
151
151
151
151
151
151
152
152
153
154
155
156
157
158
161
166
169
170
174
175
180
174
170
179
194
73
69
48
23
64
77
50
14
17
23
0
157
249
158
22
11
3
91
137
54
66
94
57
48
50
150
180
151
108
88
58
33
0
0
8
14
43
77
208
197
191
49
4
30
24
32
19
15
27
227
198
195
195
196
195
193
191
189
190
188
183
183
181
179
176
176
170
169
168
166
163
160
161
157
156
155
154
152
150
149
143
140
140
139
138
136
136
136
135
134
133
132
131
131
131
131
130
130
130
130
130
130
130
130
130
130
130
129
129
129
128
128
128
127
126
126
125
126
127
128
128
128
128
129
129
130
130
134
134
134
134
135
135
136
137
138
138
139
140
141
142
141
141
143
144
146
148
148
149
149
151
152
154
157
157
161
161
162
163
163
164
164
166
166
167
168
169
170
170
171
171
171
172
173
173
173
123
123
124
125
126
127
127
128
128
129
128
128
129
129
134
134
135
136
137
138
137
137
137
138
140
140
141
141
140
140
141
141
142
142
142
142
142
142
142
142
142
142
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
149
149
150
151
151
151
152
153
153
154
155
156
157
156
155
154
154
152
151
151
151
151
151
151
151
153
153
154
155
157
158
160
157
161
165
168
170
173
173
176
165
187
183
130
22
26
59
66
25
9
19
27
52
0
77
251
173
77
87
56
34
62
69
48
59
57
34
42
30
1
150
177
91
85
54
83
47
11
23
14
12
51
11
134
198
146
9
24
22
35
15
22
12
32
203
192
193
194
194
193
191
190
190
188
184
183
182
179
177
176
171
170
168
166
163
161
161
158
156
156
155
154
151
150
144
142
141
141
140
139
137
136
135
135
134
132
132
132
132
131
131
130
130
130
131
131
131
131
131
131
130
130
130
129
129
128
128
127
127
126
126
126
127
128
128
128
128
129
129
130
130
134
134
134
135
135
136
136
138
138
139
140
140
142
142
141
141
143
144
146
148
148
149
149
151
152
154
157
157
161
161
162
163
163
164
164
166
166
167
168
169
170
170
171
171
171
172
173
173
173
121
121
122
123
124
125
125
129
129
129
129
130
130
130
132
133
134
137
137
136
135
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
143
142
142
142
143
144
145
145
146
147
147
146
146
146
146
146
146
148
148
148
149
149
150
150
152
152
153
154
155
155
156
157
156
155
154
152
151
150
150
150
150
151
151
151
152
151
152
153
154
154
156
161
157
165
165
164
173
176
176
181
171
175
173
82
17
31
113
72
39
35
29
30
8
91
217
223
152
63
40
9
97
88
29
35
37
47
41
39
35
26
132
175
122
62
40
73
43
24
16
0
22
13
1
71
176
155
44
0
28
13
5
20
15
13
170
206
186
194
188
204
179
201
188
187
184
183
181
180
179
175
169
168
168
167
166
164
163
161
158
156
154
154
152
149
143
141
140
141
139
138
137
136
135
135
134
132
132
133
133
132
132
131
131
131
130
130
131
131
132
132
132
132
131
130
130
129
128
128
128
128
128
128
128
128
129
129
129
130
130
131
131
134
134
135
135
135
135
136
138
138
139
140
140
142
142
142
142
143
144
146
147
147
150
150
151
152
154
156
156
160
160
161
162
164
165
165
166
166
167
168
169
170
170
172
172
172
172
172
172
172
120
121
121
123
124
124
125
129
129
129
129
129
129
130
131
132
134
136
136
136
135
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
143
143
142
142
142
142
143
143
144
145
146
146
147
146
146
146
146
146
146
148
148
148
148
149
149
149
151
152
152
153
154
154
156
155
155
154
153
152
151
149
148
148
149
149
149
150
150
151
152
153
153
154
155
161
160
161
165
169
169
168
173
172
181
139
91
63
20
52
25
63
31
26
18
37
228
248
236
213
103
41
38
97
13
65
44
71
23
26
41
78
56
48
52
138
99
99
34
28
19
10
16
14
5
7
23
55
66
88
55
28
12
18
8
23
25
4
24
86
188
200
192
198
180
189
188
187
184
183
181
180
179
176
169
168
167
167
165
164
163
161
158
156
155
154
152
151
144
143
142
141
140
138
137
137
136
135
134
133
132
133
133
132
132
131
131
131
131
131
131
132
132
132
133
132
132
131
130
129
129
128
128
128
128
128
128
128
129
129
129
130
130
131
131
134
134
134
135
135
136
136
138
138
139
140
140
142
142
142
142
143
144
146
147
147
149
150
151
152
153
155
156
159
160
161
162
163
164
165
166
166
167
168
169
170
170
172
172
172
172
172
172
172
120
120
121
122
123
124
124
128
128
128
128
128
129
129
131
132
133
135
135
135
134
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
142
142
142
141
141
141
142
143
143
144
145
146
146
146
146
146
146
146
146
147
147
147
148
148
148
149
151
151
151
151
153
153
153
152
152
152
151
150
150
149
147
147
147
148
148
149
149
150
151
152
153
153
154
160
164
158
163
168
168
173
167
134
108
38
93
74
21
25
56
21
54
24
3
244
254
255
243
109
31
37
5
17
47
61
44
0
36
39
27
47
90
36
68
163
140
84
31
29
17
19
13
10
23
39
19
3
39
0
13
39
26
22
16
14
8
26
20
14
4
205
193
195
204
179
188
187
184
183
181
180
179
177
170
168
167
166
164
163
163
161
159
157
155
154
153
152
144
143
143
142
141
139
138
137
137
136
135
133
133
133
133
132
132
131
131
131
131
132
132
132
133
133
133
133
132
132
131
130
129
128
128
128
128
128
128
128
129
129
129
130
130
131
131
133
133
134
135
135
136
137
138
138
139
140
140
142
142
142
142
143
144
146
147
147
149
149
150
151
152
154
155
159
159
160
161
163
163
164
166
166
167
168
169
170
170
172
172
172
172
172
172
172
119
120
120
122
123
123
124
127
128
128
128
128
128
128
130
131
133
135
135
135
133
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
140
142
142
143
144
145
145
146
146
146
146
146
146
146
146
147
147
147
148
148
148
151
151
151
152
152
152
152
151
151
151
150
150
149
149
147
147
147
148
148
149
149
149
151
152
152
152
154
160
164
158
164
168
167
165
138
57
42
51
56
27
31
27
24
11
32
17
149
255
255
234
169
56
40
15
42
11
23
22
47
7
9
37
17
21
33
58
14
112
132
116
34
19
4
40
33
13
12
8
12
28
30
21
15
24
13
27
14
5
9
23
12
18
10
217
198
188
198
185
188
187
184
183
181
180
179
177
170
169
167
166
164
162
163
161
159
157
155
154
153
152
146
144
143
142
141
139
138
138
137
136
135
134
133
133
133
132
132
131
131
131
132
132
132
133
133
133
134
133
133
132
131
130
130
128
128
128
128
128
128
128
129
129
129
130
130
131
131
132
133
133
134
136
137
138
138
138
139
140
140
142
142
142
142
143
144
146
147
147
148
149
150
151
152
154
155
158
159
160
161
162
163
164
166
166
167
168
169
170
170
172
172
172
172
172
172
172
119
119
120
121
122
123
123
127
127
127
127
128
128
128
130
131
132
135
135
134
133
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
141
142
143
143
144
145
145
146
146
146
146
146
146
146
146
146
147
147
148
148
150
150
151
151
151
151
151
150
149
149
149
149
149
149
148
148
148
149
149
149
150
149
150
151
152
152
154
159
161
161
168
168
166
130
61
51
20
16
65
54
20
30
3
41
213
255
246
223
233
254
162
19
22
56
10
46
23
25
26
24
43
31
31
16
50
17
27
42
96
151
110
43
21
2
4
19
7
6
13
15
16
0
9
22
24
2
21
25
6
0
28
18
48
3
72
189
189
197
188
187
184
183
181
180
179
178
171
169
167
165
163
161
163
161
159
157
155
154
153
152
146
144
144
143
141
140
139
138
137
137
136
134
134
133
133
132
132
131
131
131
132
132
133
133
134
134
134
134
133
132
132
131
130
128
128
128
128
128
128
128
129
129
129
130
130
131
131
131
132
133
134
136
137
139
138
138
139
140
140
142
142
142
142
143
144
146
147
147
148
148
149
150
152
154
154
158
158
159
160
162
163
163
166
166
167
168
169
170
170
172
172
172
172
172
172
172
119
119
120
120
121
122
122
124
125
126
128
129
128
128
130
130
131
134
134
135
135
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
140
141
141
142
143
144
144
145
145
146
146
146
147
147
147
147
148
148
148
149
150
150
149
150
150
149
149
148
148
149
149
149
149
149
150
149
146
146
146
148
152
153
151
148
149
152
156
163
169
152
172
176
184
87
41
25
76
98
26
41
9
28
255
255
255
241
242
211
251
120
94
38
32
34
24
32
45
32
47
28
18
26
6
28
42
19
40
21
61
59
34
69
32
0
32
22
0
14
25
34
33
21
14
19
20
18
15
13
15
22
30
18
12
42
15
41
156
203
188
189
183
190
181
175
189
177
172
168
165
163
162
162
162
160
157
155
154
152
151
151
146
145
143
142
142
142
140
139
139
138
137
136
136
133
132
132
132
132
132
132
134
134
135
135
136
136
135
135
133
133
132
131
130
131
131
131
130
130
128
128
129
130
130
131
132
133
134
133
133
134
135
137
138
139
138
138
139
139
139
140
140
142
142
143
144
146
148
148
148
148
149
150
152
154
154
157
157
158
159
162
162
163
164
165
166
166
166
167
169
168
169
170
171
170
169
168
118
119
119
120
121
121
122
124
125
126
129
129
128
128
130
131
132
134
135
135
136
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
140
140
141
142
143
143
144
145
145
145
146
146
146
147
147
147
147
148
148
148
149
149
149
149
149
149
148
147
147
148
149
149
149
149
150
149
148
148
148
149
150
151
149
149
151
155
159
167
168
185
168
157
119
197
87
10
17
67
30
55
13
231
255
247
255
245
238
209
216
190
149
90
76
28
19
48
52
30
48
51
38
42
18
55
43
79
5
59
48
17
46
85
28
17
5
11
19
23
13
4
32
37
30
26
29
34
32
23
15
14
17
24
10
4
22
10
19
187
201
179
187
185
183
186
180
176
171
168
165
163
162
161
162
160
157
156
154
152
150
150
146
145
143
142
142
142
140
140
139
138
137
137
136
134
133
133
133
133
133
133
134
134
135
135
136
136
135
135
133
133
132
131
131
131
131
131
130
130
129
129
131
131
131
132
133
134
135
134
135
136
137
138
139
140
138
139
139
139
140
140
140
142
142
143
144
145
147
147
147
148
149
150
151
153
154
156
157
157
159
161
162
162
163
165
165
165
165
167
168
168
169
170
171
170
169
168
118
118
119
120
120
121
121
122
124
126
129
129
129
129
131
132
132
135
136
137
136
137
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
139
140
140
141
142
143
143
144
144
145
145
145
146
146
146
146
147
147
147
148
149
148
148
148
147
147
147
145
146
146
148
148
149
149
148
150
151
153
153
153
149
149
150
152
156
162
167
172
170
114
90
33
86
6
7
98
37
44
31
9
243
244
243
255
234
254
248
182
183
36
62
61
35
48
51
48
61
33
29
42
14
19
19
12
21
37
42
20
49
64
44
148
164
12
47
19
16
17
26
32
24
12
9
18
38
42
25
12
10
14
17
7
19
29
18
20
25
13
92
199
164
190
188
161
183
175
170
168
165
163
162
162
161
159
157
155
153
151
151
148
146
146
145
144
142
142
141
140
140
139
138
137
137
137
135
135
134
134
133
133
134
134
135
135
136
136
134
134
134
133
133
133
133
133
133
133
132
132
132
132
134
134
135
135
136
137
138
137
138
138
139
140
140
141
139
139
140
140
140
141
141
142
142
143
143
144
145
146
147
147
148
149
150
152
153
154
155
156
157
159
160
161
161
163
165
165
164
165
167
167
168
169
170
169
168
167
117
117
118
120
120
121
120
122
123
125
129
130
130
130
132
132
133
136
137
138
138
138
137
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
138
139
140
141
141
142
142
144
145
145
145
146
146
146
146
147
147
147
148
148
147
147
147
146
146
146
145
144
144
145
146
147
147
148
150
151
154
156
158
156
153
154
157
161
165
166
166
163
241
126
91
58
41
39
17
1
48
13
170
255
249
245
255
225
221
230
210
150
183
88
63
32
0
15
47
77
33
34
12
39
49
18
24
23
34
15
49
13
48
66
43
19
62
9
21
0
22
23
33
37
17
8
13
30
39
49
48
40
36
28
20
38
4
33
10
4
44
14
19
29
182
166
173
194
168
174
170
167
165
163
161
161
160
158
156
154
152
151
150
146
147
147
146
144
143
142
142
141
140
139
139
138
138
139
137
136
135
134
134
134
134
134
135
135
136
136
134
134
134
134
134
134
134
135
135
135
136
136
137
137
136
137
137
138
138
139
140
139
139
139
139
140
140
140
140
140
140
141
141
142
142
142
142
143
143
143
144
144
146
146
147
148
150
152
152
154
155
155
156
158
159
159
160
162
163
164
163
165
166
166
166
167
168
167
166
166
117
117
118
119
120
121
121
121
123
125
129
130
130
130
132
132
133
136
137
138
138
138
138
139
139
140
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
140
140
140
138
139
140
140
141
142
142
144
144
145
145
146
146
146
146
146
147
147
148
148
147
147
147
146
146
145
145
143
144
145
145
146
147
148
149
152
154
156
157
156
154
158
161
167
168
167
163
154
119
167
147
137
49
78
45
31
0
155
255
237
222
241
227
255
240
230
165
132
86
71
47
31
9
24
25
31
19
42
22
43
52
24
48
49
20
30
35
33
36
66
39
71
128
18
34
26
5
11
31
49
36
20
18
32
45
49
31
24
24
23
19
10
20
3
9
33
13
28
24
10
121
201
185
157
182
172
170
167
164
162
162
162
160
158
156
154
152
151
150
145
147
147
146
145
143
142
142
141
140
140
139
138
138
139
137
137
136
135
134
134
134
134
135
135
136
135
134
134
134
134
134
134
134
136
136
136
137
137
138
138
137
137
138
138
139
139
140
139
139
139
139
139
140
140
140
140
140
141
141
142
142
142
142
143
143
143
143
144
146
146
147
148
150
152
152
154
154
155
156
158
159
159
160
161
163
163
163
164
166
165
166
167
167
167
166
165
117
117
118
119
120
121
121
124
124
125
128
129
130
131
131
131
132
135
136
137
137
138
138
140
139
140
141
141
143
143
142
142
141
141
141
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
141
141
141
141
141
141
140
140
140
140
140
140
140
140
141
141
141
142
142
142
145
145
146
146
147
147
147
147
146
146
146
145
145
144
144
144
144
144
144
144
145
146
147
148
147
147
150
152
153
154
154
154
154
162
151
195
173
167
157
145
53
43
85
126
27
37
17
14
94
221
255
237
255
217
234
250
232
214
208
167
42
26
20
35
31
15
24
31
32
27
8
3
22
11
29
38
34
23
59
85
60
2
42
82
28
17
167
77
16
8
10
11
16
26
14
26
39
38
55
51
32
23
23
23
38
26
20
0
0
0
0
18
25
60
135
176
173
176
176
169
162
162
163
160
162
160
158
155
153
150
150
148
145
145
144
144
143
143
144
144
143
142
140
139
138
138
138
137
136
136
135
135
135
135
135
133
133
134
134
135
135
136
136
137
138
139
139
139
138
138
138
137
137
136
136
136
137
138
139
140
140
140
140
140
140
140
140
141
141
141
142
142
143
143
142
142
142
143
143
144
144
145
145
146
146
147
149
149
150
152
154
155
156
159
159
159
159
160
161
162
163
163
165
165
164
164
163
163
163
117
117
118
119
120
121
121
123
124
125
128
129
130
130
132
132
133
135
136
137
137
138
138
140
140
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
141
142
142
142
143
143
145
145
146
146
147
147
146
146
146
145
145
145
144
144
144
144
144
144
143
143
144
146
148
149
149
149
153
155
156
157
157
158
159
166
170
152
168
178
131
50
148
120
72
54
149
60
60
202
255
242
247
253
236
242
219
190
206
255
211
109
68
13
22
18
23
30
11
8
10
23
59
28
21
25
51
53
15
47
59
25
28
74
47
64
85
39
54
83
103
15
13
10
14
29
7
27
33
82
48
31
40
36
34
40
20
30
18
33
19
2
15
6
0
23
40
74
114
138
169
166
169
171
163
159
166
160
158
154
152
151
149
147
145
145
144
144
144
144
144
143
142
141
141
140
139
139
138
137
137
137
137
137
137
134
133
133
133
133
134
138
138
139
139
139
139
140
138
138
138
137
137
137
136
134
135
135
135
136
136
137
138
138
138
138
139
139
139
139
140
140
140
141
141
141
141
141
142
142
142
143
143
144
144
145
146
147
148
148
148
150
152
153
153
155
157
156
156
157
157
159
160
160
163
162
162
162
161
161
161
118
118
118
119
120
121
121
123
123
124
128
129
129
130
132
132
133
135
136
137
137
138
138
140
140
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
142
142
142
143
143
143
145
145
146
146
147
147
146
146
145
145
145
144
144
144
144
144
144
144
144
143
144
146
148
149
150
151
155
151
155
158
161
161
161
162
163
176
168
152
91
15
187
168
70
56
43
39
175
255
255
255
231
223
237
226
255
222
187
190
223
83
22
26
30
16
13
17
4
9
12
8
50
37
46
43
36
34
25
68
84
53
36
23
92
94
2
33
32
56
58
130
25
6
24
6
1
38
115
102
58
29
43
39
29
27
10
33
43
78
72
26
0
7
2
26
28
67
140
191
173
165
165
170
165
160
165
160
157
154
152
150
149
147
146
145
144
145
144
144
144
143
142
141
141
140
139
139
138
137
137
137
137
137
137
135
135
134
134
135
135
139
140
140
139
139
140
140
138
138
137
137
137
136
135
134
134
134
134
135
135
135
136
136
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
142
142
143
143
144
144
145
145
146
148
148
148
150
151
152
152
154
156
155
155
155
156
158
158
159
161
161
161
161
160
160
159
118
118
119
119
120
121
121
122
123
124
127
128
130
130
132
132
133
136
137
137
137
138
138
140
140
141
142
142
141
141
142
142
143
143
143
142
142
142
142
142
142
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
142
142
142
142
142
142
142
142
142
143
143
143
144
144
145
145
146
146
147
147
145
145
145
144
144
144
143
143
143
143
143
143
143
142
143
145
148
150
151
152
157
157
159
159
161
161
163
164
129
49
113
47
51
43
29
28
155
136
30
135
254
248
236
227
245
253
241
217
193
214
205
209
73
16
24
24
18
18
24
20
25
28
4
3
10
17
6
82
48
61
17
36
97
24
54
13
26
73
97
51
19
36
157
116
131
86
17
38
28
0
8
25
33
31
30
36
39
35
56
37
9
4
21
28
11
19
10
8
11
17
46
83
150
172
160
157
162
163
163
159
157
153
151
150
148
146
146
145
145
145
144
144
144
142
141
141
141
141
140
140
138
137
138
138
139
139
139
140
139
138
138
139
140
141
141
140
139
139
139
139
137
137
137
136
136
135
134
133
133
132
132
132
132
132
134
134
135
136
137
138
138
137
137
138
138
138
139
139
140
140
141
141
141
142
142
143
143
144
145
146
147
147
149
150
152
152
151
153
155
155
155
155
155
157
157
158
159
159
159
159
158
157
157
118
118
119
120
121
122
122
125
125
125
127
128
130
131
134
135
136
138
138
138
139
138
138
139
139
140
141
141
142
142
143
143
144
144
144
145
145
145
145
145
144
144
144
145
146
146
147
147
147
145
145
144
144
143
143
143
144
144
143
143
142
142
142
143
143
144
144
145
145
145
146
146
146
146
146
146
145
145
145
145
145
145
145
144
144
146
146
145
144
143
145
146
149
152
156
158
160
149
159
165
158
160
176
109
89
56
60
162
102
41
19
38
3
109
248
251
255
237
239
232
225
238
202
229
234
209
128
60
34
2
110
0
26
22
0
15
15
7
14
67
64
50
0
53
21
94
52
10
41
10
72
92
15
25
57
75
42
45
24
20
68
137
178
3
21
2
22
46
25
70
38
60
44
67
41
19
31
33
17
24
48
43
32
9
6
9
17
26
97
155
174
160
153
166
172
158
154
151
149
147
147
147
145
144
144
144
143
142
142
141
141
140
140
138
138
138
138
138
138
138
138
138
139
142
143
143
143
144
143
145
144
144
143
142
141
140
139
139
138
137
137
136
135
135
135
134
133
133
132
131
131
131
132
133
135
136
138
138
138
137
137
137
137
137
139
139
139
139
139
139
139
138
139
140
141
143
145
145
146
147
148
149
152
153
154
151
151
152
153
155
155
156
156
156
156
155
154
154
154
118
118
119
120
121
122
122
125
125
125
126
128
130
131
134
134
135
137
138
138
139
138
138
139
139
140
141
141
142
142
143
143
144
144
144
145
145
145
145
144
144
144
145
146
146
146
147
147
147
145
145
144
144
144
143
143
144
144
143
143
143
142
142
143
143
144
144
145
145
145
146
146
146
146
146
146
145
145
145
145
145
145
145
143
144
145
146
145
144
143
145
146
149
153
156
158
160
165
158
149
156
176
179
137
119
27
16
25
101
87
31
3
123
230
255
249
250
255
228
233
219
225
201
184
189
216
136
110
39
16
16
15
0
17
24
47
23
14
22
23
0
39
44
32
19
8
1
79
99
38
70
54
38
42
49
59
46
56
37
27
111
78
102
129
0
20
8
30
33
63
30
72
71
84
36
25
12
16
16
13
9
22
26
23
8
3
14
30
13
110
134
145
169
171
146
157
153
151
149
147
147
147
145
144
144
144
143
142
142
141
141
140
140
138
138
138
139
138
138
138
139
139
139
143
143
144
144
144
144
145
145
144
143
142
141
141
139
139
138
138
137
136
135
135
135
134
133
133
132
131
130
131
132
133
134
136
137
138
138
138
138
138
137
137
138
138
138
138
138
138
138
138
138
139
140
142
144
144
146
146
147
148
151
152
152
150
151
151
152
154
154
155
155
155
154
154
153
153
153
118
118
119
120
121
122
122
124
124
124
126
127
129
130
132
133
134
137
138
138
139
138
138
139
139
140
141
141
143
143
144
144
144
145
145
144
144
145
145
145
145
146
147
147
148
148
148
148
148
146
145
145
145
144
144
144
145
144
144
144
143
143
143
143
143
144
144
145
145
145
146
146
146
146
146
146
146
146
146
146
146
146
146
144
144
144
144
144
144
144
148
149
152
155
157
158
159
160
164
172
173
173
171
80
38
185
191
43
42
13
8
225
255
255
245
245
222
216
204
243
249
244
223
141
110
175
48
0
4
15
37
15
19
24
8
13
18
27
30
20
57
15
21
31
12
45
50
7
29
15
33
48
36
33
78
94
34
27
30
70
108
136
223
123
191
30
25
30
10
53
45
55
23
2
20
17
35
31
14
9
18
21
23
34
34
27
23
22
2
80
128
147
158
162
154
156
152
150
148
147
147
147
145
145
144
144
143
142
142
141
141
140
140
138
138
138
139
139
139
140
141
141
141
145
145
145
145
145
145
146
146
145
145
144
144
143
140
140
139
138
137
137
136
135
135
134
133
133
132
131
130
130
131
132
133
134
135
137
137
138
138
138
139
139
137
137
137
137
137
137
137
136
137
137
138
139
141
141
143
143
144
145
146
147
147
148
148
148
149
150
150
150
149
149
149
149
148
148
147
118
118
119
120
121
122
122
123
123
123
125
127
129
130
130
131
133
136
138
140
139
138
138
140
139
140
141
141
144
144
144
145
145
145
146
145
145
146
147
148
148
149
150
150
149
149
149
148
148
147
146
146
145
145
145
145
145
145
145
144
144
144
144
143
143
144
144
145
145
145
146
146
146
146
146
146
147
147
147
147
147
147
147
145
145
144
145
145
147
148
151
153
155
157
157
158
158
152
141
163
188
156
117
225
172
157
207
96
55
61
204
255
255
255
242
229
240
227
237
227
222
206
160
95
64
28
12
11
6
22
18
14
23
29
15
13
25
36
25
21
29
28
56
61
83
71
46
65
83
65
23
10
66
57
54
37
41
3
17
141
247
94
181
244
153
109
7
17
37
29
3
19
33
15
19
24
15
32
50
36
3
35
21
21
36
39
29
20
28
50
126
164
162
151
145
154
151
149
148
148
148
148
146
145
144
144
142
141
141
141
141
140
140
138
138
138
140
140
141
142
143
144
144
145
144
145
145
146
146
145
145
145
145
145
145
144
141
140
140
139
138
137
137
135
135
134
133
133
132
131
130
130
130
131
131
132
132
135
135
136
136
137
138
139
138
138
138
138
138
138
138
136
136
137
137
138
139
139
141
141
142
142
143
143
144
145
145
145
145
145
145
145
145
145
145
144
144
143
143
118
118
119
120
121
122
122
123
123
123
125
126
128
129
130
131
132
136
138
140
139
138
138
140
140
140
141
141
144
144
145
145
145
146
146
146
146
148
149
149
150
150
151
150
150
150
149
149
149
147
146
146
146
145
145
145
146
145
145
145
144
144
144
143
143
144
144
145
145
145
146
146
146
146
146
146
147
147
147
147
147
147
147
146
146
145
145
146
148
149
153
154
156
156
157
158
157
169
158
166
160
159
192
38
144
168
90
153
106
18
243
239
255
244
226
238
233
218
237
229
225
202
125
2
25
42
7
58
51
30
42
7
19
26
13
10
28
43
27
19
47
32
30
51
47
62
24
10
52
55
40
36
41
25
39
43
39
66
140
255
244
196
227
128
160
81
17
9
14
11
24
53
56
8
21
28
7
24
52
48
22
14
23
37
31
27
30
38
24
20
24
61
128
166
157
153
150
149
147
148
148
148
146
145
144
143
142
141
141
141
141
140
140
138
138
138
140
140
141
142
144
145
145
144
144
144
145
145
145
144
144
144
145
144
144
144
141
141
140
139
138
138
137
135
135
134
133
133
132
131
129
130
130
130
130
131
131
134
134
134
135
136
138
138
138
138
138
138
138
138
138
137
137
137
137
138
138
138
142
142
142
143
143
144
144
145
145
145
145
144
144
144
145
145
145
144
143
143
143
120
120
120
121
122
122
122
123
123
124
125
126
127
127
129
130
131
135
137
139
140
141
141
142
142
142
143
142
145
145
145
145
145
145
145
146
147
151
152
152
152
151
150
150
149
149
148
148
148
149
149
148
148
147
147
147
147
147
146
146
145
145
145
145
145
145
145
145
145
145
144
144
145
145
146
146
145
145
145
146
146
146
146
148
148
149
149
150
152
152
155
161
158
154
159
153
163
155
162
147
193
83
22
105
45
20
25
138
61
66
242
247
252
255
207
218
251
218
127
44
0
0
24
84
36
4
45
24
54
57
50
40
35
19
28
47
18
35
15
37
6
8
43
28
45
91
76
58
99
34
38
40
30
50
20
99
165
245
243
255
223
200
238
107
73
3
27
21
23
32
47
37
27
12
30
23
11
0
3
13
9
23
20
28
35
41
52
63
54
18
2
27
22
24
72
139
153
151
149
147
146
145
147
146
144
144
143
142
142
141
140
140
140
139
140
141
143
142
143
143
144
144
144
144
145
146
146
146
145
145
145
144
144
144
144
144
142
142
143
143
142
140
139
137
137
136
135
133
132
131
131
131
131
130
130
129
129
129
130
131
132
134
136
137
139
139
139
139
139
140
140
139
139
139
139
140
140
140
140
140
140
141
142
143
143
143
143
143
143
143
143
143
140
140
140
140
141
141
141
120
120
120
121
122
122
122
123
123
124
125
126
127
127
129
130
131
134
136
137
138
142
141
142
142
143
143
143
145
145
145
145
146
146
146
147
148
151
152
152
152
151
150
150
150
149
149
149
148
149
149
149
148
148
148
147
147
147
147
146
146
146
145
145
145
145
145
145
145
145
145
145
145
146
146
146
146
147
147
147
148
148
149
149
150
151
152
153
154
155
156
160
158
159
164
163
158
160
163
161
157
160
63
55
36
25
72
26
5
224
255
226
152
245
212
76
18
14
20
31
14
2
9
20
49
54
24
13
24
33
41
25
49
49
30
25
48
69
11
16
26
24
13
33
41
34
33
59
68
54
30
48
53
104
187
251
241
252
235
250
227
255
210
160
6
21
14
43
23
24
21
0
18
57
62
41
28
19
11
10
9
10
14
25
25
25
30
37
19
32
45
21
40
93
113
133
147
146
146
148
148
148
147
147
145
144
143
143
142
142
141
140
140
140
141
142
144
143
143
144
144
144
144
144
145
146
147
146
146
145
145
145
145
145
145
145
144
144
145
145
144
142
141
138
138
137
136
135
133
132
132
132
131
131
131
130
130
129
129
130
131
132
134
134
135
135
136
137
138
140
141
140
140
140
141
141
142
142
143
143
143
142
142
142
142
143
143
143
143
142
142
142
140
140
140
140
140
140
140
120
120
120
121
122
122
122
123
123
124
125
126
127
127
129
130
131
134
135
136
137
141
141
142
142
143
144
144
145
145
146
146
146
146
147
148
149
152
152
152
151
151
151
150
150
150
149
149
149
150
149
149
149
148
148
148
148
147
147
147
146
146
146
145
145
145
145
145
145
145
145
145
146
146
146
147
147
148
148
149
150
150
151
152
152
153
154
155
157
156
159
163
162
159
159
158
157
161
157
126
152
95
17
15
89
102
20
15
37
240
203
252
254
90
13
13
26
11
6
35
23
12
53
23
11
15
11
65
83
67
61
64
52
94
53
0
51
32
55
28
18
10
10
17
25
34
37
49
29
50
40
52
140
191
252
255
224
218
255
250
249
246
215
67
11
24
33
19
10
25
28
14
47
89
40
30
9
4
8
14
13
2
9
24
26
30
38
46
30
21
10
11
17
42
82
110
142
149
148
147
148
148
147
146
145
144
144
143
143
142
141
141
141
140
141
142
144
143
144
144
144
145
145
144
146
147
147
147
146
146
146
146
146
146
146
146
145
146
146
146
145
144
142
140
139
138
137
136
135
133
133
132
132
132
131
131
131
130
130
130
131
132
133
133
133
134
135
136
137
140
140
139
140
140
141
141
143
143
144
144
144
143
142
141
141
143
143
143
142
142
142
141
140
140
140
140
139
139
139
120
120
120
121
122
122
122
123
123
124
125
126
127
127
128
129
130
132
133
134
134
140
141
141
143
144
144
145
145
145
146
147
148
148
148
150
151
153
153
152
151
151
152
151
151
150
150
150
150
151
150
150
149
149
149
149
148
148
148
147
147
147
147
145
145
145
145
145
145
145
146
146
146
147
147
147
149
150
151
152
153
154
155
156
157
158
159
159
160
161
161
165
170
166
160
167
172
149
121
142
132
126
62
57
102
27
32
0
25
250
255
25
21
18
17
22
26
0
25
4
3
16
0
11
59
94
58
62
43
20
19
38
18
71
71
144
41
8
17
14
9
9
14
14
17
22
28
2
36
64
74
40
195
254
254
222
255
240
230
246
248
245
252
183
24
37
1
0
15
12
15
11
21
22
24
46
28
23
29
28
26
14
16
17
23
34
45
49
35
27
22
22
13
6
9
39
102
125
136
142
145
146
148
147
146
145
144
144
143
143
142
141
141
141
142
143
145
144
144
145
145
145
146
145
146
148
148
148
146
147
147
147
147
147
147
147
146
147
147
147
146
145
143
142
141
141
139
138
137
136
134
134
134
133
133
133
132
132
132
132
132
132
131
131
131
132
133
134
135
137
137
136
136
137
138
139
141
141
143
143
143
142
142
142
142
143
143
142
142
140
140
140
138
138
138
137
136
135
135
120
120
120
121
122
122
122
123
123
124
125
126
127
127
128
129
129
131
132
132
133
139
140
141
143
144
145
146
145
145
147
148
148
149
150
151
152
153
153
152
151
151
152
152
151
151
150
150
150
151
151
150
150
149
149
149
149
149
148
148
147
147
147
145
145
145
145
145
145
145
146
146
147
147
148
148
151
151
152
153
155
156
157
159
160
160
162
162
163
164
169
162
165
166
165
170
136
74
118
39
25
88
77
22
44
22
5
47
36
112
5
25
8
30
8
5
3
2
10
16
0
2
59
69
50
25
21
12
19
25
7
23
14
17
28
19
140
120
36
8
5
10
18
5
7
20
4
29
7
37
56
36
159
251
237
248
238
243
241
255
254
253
251
223
175
6
33
13
29
39
34
12
9
8
13
11
32
41
23
14
33
29
27
17
22
31
32
29
15
34
29
20
9
6
17
19
44
75
114
144
156
155
147
147
146
146
145
144
144
144
143
142
142
142
143
143
145
144
145
145
146
146
146
146
147
148
148
147
146
148
148
148
148
148
148
148
146
147
147
147
146
145
143
143
143
142
141
139
138
137
135
135
135
134
134
133
133
135
134
134
133
132
131
131
132
132
133
133
133
133
133
132
132
133
135
136
138
139
140
140
140
141
142
143
143
143
143
142
141
140
139
138
137
136
135
135
133
132
132
118
118
119
122
123
124
124
125
125
125
126
127
127
127
129
129
129
130
130
130
130
136
137
139
141
142
144
144
146
146
147
148
148
149
149
154
153
152
151
150
150
150
151
151
150
150
149
149
149
149
149
148
148
148
147
147
148
148
147
147
146
146
146
146
146
146
146
146
146
146
147
148
148
148
148
150
154
154
155
156
158
159
160
157
156
158
160
166
170
169
171
152
180
166
174
170
66
178
63
88
60
27
43
70
18
0
40
17
41
88
14
14
23
26
17
12
10
4
0
18
1
30
86
25
18
22
18
18
21
20
22
28
32
27
32
24
57
115
139
59
51
21
0
27
1
15
23
1
38
16
41
45
140
247
252
234
254
247
233
255
255
227
247
234
200
7
24
25
17
14
43
22
7
29
40
2
67
65
29
43
61
53
34
29
22
16
24
34
22
31
33
18
12
17
15
13
53
82
109
126
134
137
147
150
144
142
145
147
145
145
146
145
145
143
143
142
144
145
145
145
145
145
146
150
150
150
150
150
150
150
150
150
149
149
148
148
147
147
146
145
145
144
143
142
142
141
140
138
137
135
135
135
135
134
134
133
133
135
135
135
135
135
135
134
133
133
133
134
134
134
134
133
134
134
135
136
138
138
139
139
139
139
139
139
139
140
140
140
140
140
140
140
134
134
133
132
131
130
130
118
119
120
122
123
124
125
125
125
125
126
127
127
127
129
130
130
131
130
130
130
135
136
138
140
142
143
143
143
144
146
148
149
150
151
154
154
153
153
151
151
151
152
152
151
151
150
150
150
151
151
150
150
149
149
149
147
147
147
146
146
146
146
146
146
146
146
146
146
146
145
147
148
148
149
150
155
155
156
157
158
159
159
157
156
158
161
167
170
170
167
165
165
173
169
175
149
39
199
179
78
72
29
2
42
4
5
26
41
35
32
13
22
26
16
9
14
17
9
38
64
57
20
30
14
24
44
56
49
37
26
18
20
11
14
18
22
24
8
99
147
51
1
7
23
32
1
32
30
19
65
73
241
248
225
244
246
250
255
254
255
254
248
250
123
22
50
36
20
12
37
22
11
20
10
32
16
21
57
91
75
23
17
31
24
13
14
17
26
40
35
17
13
24
30
27
18
17
29
52
82
103
130
146
146
141
142
145
147
146
145
144
144
144
143
143
146
145
146
146
147
147
147
150
150
150
150
150
150
150
150
150
149
149
148
148
147
147
146
145
145
144
143
142
142
141
140
139
138
137
136
136
135
135
135
134
134
136
136
136
136
136
136
136
134
134
134
134
134
134
134
132
134
134
135
135
137
137
136
136
136
136
136
136
136
136
136
136
136
136
136
136
134
134
133
132
131
130
130
119
120
120
123
124
125
125
125
125
125
126
127
127
127
130
130
131
131
132
132
131
133
134
137
138
140
141
142
141
142
145
147
148
149
150
152
152
153
153
153
153
153
152
152
151
151
150
150
150
151
150
150
149
149
149
149
147
146
146
146
145
145
145
145
145
146
146
147
147
147
146
148
150
150
151
153
156
157
157
158
159
160
161
158
159
160
164
167
172
171
169
171
171
162
179
184
80
60
41
127
228
172
124
104
60
45
20
27
22
3
25
1
10
13
8
1
15
26
83
88
40
5
7
54
152
164
97
29
9
20
25
22
30
38
46
41
14
15
18
11
34
116
110
6
32
1
9
56
24
12
6
51
136
233
233
243
254
251
253
254
238
255
199
254
82
20
26
30
23
35
39
28
28
28
31
55
29
42
52
48
22
35
25
17
6
2
8
13
6
63
67
53
34
20
15
10
12
11
11
16
29
38
90
126
139
141
142
146
151
148
147
144
144
144
145
145
146
147
147
148
149
149
150
151
151
151
151
151
151
150
150
150
149
149
148
148
147
147
146
145
145
144
143
142
142
141
141
140
139
138
137
137
137
137
136
136
135
137
138
138
138
139
140
140
137
137
137
136
136
135
134
134
134
135
135
136
136
136
134
134
134
134
134
134
134
137
137
137
137
137
137
137
134
134
133
132
131
130
130
119
120
121
123
124
125
126
125
125
125
126
127
127
127
131
131
131
132
132
132
133
133
133
136
138
139
140
141
141
141
144
145
147
148
147
151
151
152
152
152
152
153
152
152
151
151
150
150
150
150
149
149
149
148
148
148
147
147
147
146
146
146
145
143
144
145
145
146
147
147
147
150
151
152
153
155
156
157
157
159
160
161
162
159
160
161
164
168
172
172
160
168
167
163
183
160
48
26
6
116
186
191
123
10
0
27
48
46
17
0
38
11
14
15
10
3
13
22
64
78
12
22
24
167
196
158
119
77
51
34
23
30
24
23
21
20
20
21
25
37
0
80
123
13
11
10
15
34
31
90
116
102
162
231
215
239
245
253
255
251
255
223
255
184
73
24
19
19
19
25
10
3
26
38
8
54
39
32
22
34
46
36
28
27
18
13
12
10
38
51
47
49
42
23
10
29
20
14
12
16
25
34
34
97
130
147
149
150
152
149
147
145
145
145
147
148
147
148
148
149
150
151
151
152
152
152
152
152
152
150
150
150
149
149
148
148
147
147
146
145
145
144
143
142
142
141
141
140
140
139
138
138
138
137
137
137
136
138
138
139
139
140
141
142
139
139
138
138
137
136
136
135
135
135
136
136
136
136
135
135
135
135
135
135
135
137
137
137
137
137
137
137
134
134
133
132
131
130
130
120
120
121
124
125
126
126
125
125
125
126
127
127
127
131
131
131
132
133
133
133
133
133
135
137
138
139
140
141
141
142
142
143
143
144
150
150
150
150
151
151
152
152
152
151
151
150
150
150
148
148
147
147
147
146
146
147
147
146
146
145
145
145
143
144
144
146
146
147
147
149
152
154
153
155
157
157
157
158
159
161
162
163
159
161
163
166
169
170
173
168
173
167
173
159
213
20
48
130
195
112
76
21
18
1
17
50
42
19
7
15
24
21
18
12
6
6
10
95
15
14
13
56
146
107
93
108
92
42
11
24
16
20
20
15
15
17
22
35
22
22
9
86
47
24
12
16
30
192
219
232
220
227
221
239
231
255
255
246
255
255
253
232
218
50
30
47
48
26
28
24
29
41
24
44
56
36
70
60
39
31
27
18
21
24
28
27
22
17
30
17
19
17
10
11
13
12
14
17
19
19
18
11
57
91
111
119
123
126
150
147
145
146
147
149
151
147
148
149
150
151
152
153
152
152
152
152
152
152
150
150
150
149
149
148
148
147
147
146
145
145
144
143
142
142
141
141
141
141
140
139
139
139
138
138
137
137
139
139
140
141
142
143
144
141
141
141
140
139
138
137
137
137
137
137
137
138
137
137
137
137
137
137
137
137
136
136
136
136
136
136
136
134
134
133
132
131
130
130
119
119
120
123
124
125
125
127
127
127
128
129
129
129
132
132
132
133
134
134
134
134
134
136
135
136
137
137
141
141
142
143
143
144
144
143
143
144
145
146
147
147
149
149
149
149
149
149
149
148
147
147
147
146
146
146
146
146
145
145
144
144
144
143
144
145
146
147
148
148
152
153
154
156
158
159
159
160
160
161
162
163
164
160
163
166
169
172
171
171
175
158
165
191
130
145
151
127
52
15
10
71
170
53
11
109
24
32
9
1
10
8
8
12
14
11
16
28
78
40
8
23
78
110
107
54
48
45
21
17
13
40
21
20
18
19
23
22
21
35
35
2
74
62
28
32
38
8
137
228
223
239
209
222
222
255
255
248
255
255
219
227
255
4
47
36
22
18
30
18
17
24
71
67
45
41
44
31
28
34
34
38
29
34
25
17
18
18
11
31
33
39
31
14
13
13
16
21
16
6
4
9
1
9
21
31
53
82
100
150
145
143
149
148
143
148
149
150
151
151
152
152
152
155
155
155
155
154
153
151
151
151
150
150
149
149
146
146
145
145
144
143
142
142
142
142
141
141
141
140
138
138
138
139
139
139
140
141
141
141
142
142
143
143
141
141
141
140
139
138
138
136
136
136
136
136
136
136
136
136
137
137
138
138
139
137
137
137
137
137
137
137
135
134
134
133
131
131
130
119
119
120
123
124
125
125
127
127
127
128
129
129
129
132
132
132
133
134
134
134
134
134
136
136
136
137
137
140
141
142
143
144
144
144
141
141
142
143
144
144
145
147
147
147
147
147
147
147
148
147
147
146
146
146
146
146
145
145
145
145
144
144
143
144
146
147
148
149
150
153
154
155
157
158
160
160
161
161
162
162
163
163
162
164
167
170
170
170
171
159
184
175
173
133
136
173
138
79
55
29
115
76
67
44
43
27
27
24
17
9
27
18
12
12
7
25
46
99
40
10
15
87
101
94
38
28
27
18
14
4
22
23
21
19
17
23
24
25
22
31
15
77
75
31
18
37
4
169
242
223
224
226
227
202
243
253
249
250
255
255
244
207
126
33
31
22
8
5
75
51
24
50
33
60
45
42
32
23
23
24
28
34
36
33
17
8
17
11
31
30
28
20
14
20
24
17
31
29
12
5
12
27
9
24
47
73
92
97
148
153
149
148
147
145
147
150
151
151
151
152
152
153
155
155
156
155
154
153
151
151
151
150
150
149
149
147
146
146
145
144
143
143
142
142
142
142
141
141
140
139
139
139
140
140
140
141
141
141
141
142
142
143
143
142
141
141
140
139
139
139
137
137
137
137
137
137
137
135
135
135
135
136
136
136
136
136
136
136
136
136
136
134
134
133
132
131
130
130
119
119
120
123
124
125
125
127
127
127
128
129
129
129
133
133
133
133
134
134
134
134
134
136
136
137
138
138
140
140
141
142
143
144
144
144
144
144
144
144
144
145
145
145
145
145
145
145
145
147
146
146
146
145
145
145
146
146
145
145
145
145
145
145
146
148
149
150
151
152
156
157
158
159
159
160
163
163
163
163
163
164
164
165
167
170
171
171
170
172
175
157
175
199
126
82
142
175
148
120
196
95
35
110
65
59
83
31
22
4
0
0
13
17
5
6
24
17
77
32
17
24
97
91
78
72
53
26
15
14
17
17
16
17
20
21
21
21
22
28
12
20
67
58
20
27
59
31
231
236
216
203
232
232
198
213
250
247
247
250
234
250
254
193
33
19
41
39
28
27
28
23
34
37
46
32
41
49
39
32
39
43
44
15
22
16
9
23
20
16
18
15
13
14
17
15
18
12
13
19
16
7
15
15
18
15
20
34
41
81
103
120
134
149
155
150
153
153
153
154
153
153
153
156
156
157
156
155
154
151
151
151
150
150
149
149
147
147
146
146
145
144
143
143
143
143
142
142
142
141
141
141
141
141
141
141
141
141
141
141
142
142
143
143
142
142
142
142
141
141
141
140
140
139
139
138
137
137
135
135
135
135
135
135
135
137
137
137
137
137
137
137
134
134
134
133
131
131
130
119
119
120
123
124
125
125
127
127
127
128
129
129
129
133
133
133
134
134
134
134
134
134
136
136
137
138
138
139
139
141
142
142
143
143
145
145
145
144
144
144
144
145
145
145
145
145
145
145
147
147
146
146
146
145
145
145
145
146
145
146
146
146
146
148
150
151
153
154
155
158
159
159
160
161
161
162
162
163
164
165
166
166
169
171
173
173
172
172
174
185
169
99
42
49
99
69
77
10
91
148
175
111
46
79
191
22
75
30
27
10
28
23
16
12
10
24
33
61
62
18
38
73
104
83
104
97
48
20
12
26
4
17
20
23
24
23
25
27
45
26
49
54
43
26
48
42
24
199
255
222
226
229
203
233
186
253
242
255
233
254
251
248
58
29
39
40
16
29
21
47
52
28
24
37
39
30
36
35
34
44
39
36
39
30
26
22
12
15
9
18
13
9
8
5
14
30
22
18
24
33
37
22
0
2
11
18
15
6
21
57
106
136
151
154
148
155
155
155
155
155
154
154
156
157
157
157
156
155
151
151
151
150
150
149
149
148
148
147
146
145
145
144
144
144
143
143
143
142
142
142
142
141
141
140
140
139
141
141
141
142
142
143
143
143
143
143
143
143
143
143
142
142
141
140
139
138
138
138
137
137
137
136
135
135
136
136
136
136
136
136
136
136
136
135
135
133
132
132
119
119
120
123
124
125
125
127
127
127
128
129
129
129
133
133
133
134
134
134
134
134
134
136
136
137
138
138
139
139
141
141
142
143
143
144
144
144
144
142
142
142
145
145
145
145
145
145
145
147
147
146
146
145
145
145
145
145
146
145
146
146
146
146
148
150
151
153
155
156
159
159
160
160
161
162
161
162
163
164
166
166
167
170
172
174
174
173
173
175
187
161
137
76
22
103
171
89
27
95
169
142
75
36
145
133
15
30
12
31
20
19
7
8
25
24
15
32
84
85
10
22
41
102
85
89
38
21
30
12
97
15
22
23
24
22
24
29
33
19
20
61
56
41
16
24
41
49
254
241
229
214
226
189
244
178
254
241
255
229
239
255
244
82
65
26
30
28
28
21
40
51
37
38
31
44
36
36
30
22
27
63
46
25
6
17
38
39
32
17
21
11
12
21
26
9
25
27
20
15
26
42
26
8
5
0
0
3
2
38
98
151
158
151
152
155
155
155
155
155
155
154
154
156
157
157
157
156
155
151
151
151
150
150
149
149
148
148
147
146
146
145
144
144
144
144
143
143
142
142
142
141
141
141
140
139
139
141
141
141
142
142
143
143
143
143
143
143
143
143
143
142
142
141
141
140
138
138
138
138
138
137
136
136
135
135
135
135
135
135
135
135
137
137
136
135
134
133
133
121
121
122
124
124
125
125
127
127
128
129
130
131
131
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
141
141
142
143
143
144
144
145
145
145
146
146
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
144
144
144
145
145
145
147
150
153
156
159
161
163
164
164
163
164
164
164
164
165
166
168
169
171
172
167
175
181
179
174
173
179
177
193
165
134
63
115
43
83
10
42
24
5
5
29
123
91
29
65
48
30
16
16
12
14
11
1
18
18
35
106
62
31
35
93
100
76
29
25
32
13
32
7
11
26
25
18
26
26
30
21
55
58
55
39
29
51
5
78
253
233
232
211
238
141
151
255
238
254
245
255
179
199
255
28
18
13
19
38
27
48
32
24
29
25
23
21
38
35
25
27
39
31
53
63
47
43
38
27
2
9
13
17
25
21
6
0
23
36
29
21
17
14
23
10
13
11
4
7
18
13
29
35
61
106
126
137
147
147
150
157
158
156
160
156
157
157
156
154
153
152
152
152
151
151
151
150
148
148
147
146
146
145
144
144
144
144
143
143
141
141
141
141
141
140
140
139
139
140
140
139
139
140
142
143
144
145
146
147
147
146
146
146
146
146
145
145
144
144
141
140
140
140
139
139
139
138
138
138
138
138
138
138
137
137
137
136
136
135
135
122
122
123
124
125
126
126
127
127
128
129
130
131
131
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
141
141
142
143
143
143
143
144
144
145
145
145
144
144
144
144
144
144
144
145
145
145
145
145
145
145
143
144
144
145
146
146
147
149
152
155
158
161
163
165
164
164
165
166
166
167
169
169
170
171
172
173
174
171
176
178
177
174
174
181
190
168
147
86
82
59
44
125
148
112
106
43
42
56
243
254
127
49
37
36
14
22
12
13
23
23
23
36
25
59
100
42
19
104
69
15
16
18
21
21
20
26
36
27
19
19
17
14
17
68
57
57
64
41
45
28
63
191
229
216
235
209
220
122
198
220
243
223
255
242
252
245
255
104
34
3
29
33
41
24
30
29
33
52
26
40
31
26
36
42
38
45
36
25
25
20
17
23
38
14
10
11
18
16
3
11
25
29
18
14
20
25
31
33
24
16
15
15
14
13
28
25
33
61
90
129
160
159
157
158
156
153
155
156
156
156
156
155
153
153
153
152
152
152
151
151
148
148
147
146
146
145
144
144
144
144
143
143
141
141
141
141
141
140
140
139
139
141
141
141
140
141
143
144
145
146
147
148
149
149
148
149
149
149
149
148
147
147
147
147
146
145
144
144
143
141
141
141
141
140
140
140
140
140
140
139
138
138
138
122
122
123
125
125
126
126
127
127
128
129
130
131
131
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
141
141
142
143
143
143
143
144
144
144
145
145
144
144
144
144
144
144
144
145
145
145
145
145
145
145
143
144
145
146
147
147
148
151
153
156
159
162
165
165
165
165
166
167
168
169
171
172
171
172
174
175
175
173
175
177
176
174
176
181
190
122
143
77
145
79
153
152
204
192
171
125
89
84
246
254
161
66
79
13
20
23
12
9
18
20
12
27
19
3
73
59
24
73
55
30
34
27
22
24
10
17
23
11
12
23
19
34
56
73
53
66
41
35
55
21
66
220
250
204
236
228
206
111
225
255
247
238
185
228
255
89
145
133
40
25
16
19
40
32
39
32
24
38
32
51
40
28
33
37
32
21
24
36
40
28
22
34
33
6
4
9
21
25
18
7
32
40
32
27
33
38
20
35
30
24
20
14
7
10
25
23
28
41
60
101
143
150
151
155
157
156
159
155
156
156
156
155
154
153
153
153
152
152
152
151
148
148
147
146
146
145
144
144
144
144
143
143
141
141
142
142
142
141
141
140
140
142
141
141
141
142
145
146
146
147
148
150
151
151
150
151
151
151
151
150
150
149
149
148
148
147
145
144
144
142
142
142
141
140
140
140
140
140
140
140
139
139
138
123
123
124
125
126
127
127
127
127
128
129
130
131
131
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
141
141
142
143
143
142
142
143
143
144
144
144
143
143
143
143
143
143
143
145
145
145
145
145
145
145
144
144
145
147
148
149
148
153
155
157
160
163
166
167
166
167
168
169
171
171
174
175
175
176
177
177
178
178
177
175
174
174
179
184
133
105
105
80
121
119
160
106
30
35
86
191
127
79
255
251
196
100
80
14
32
39
34
20
15
16
3
13
34
7
19
57
81
11
38
21
22
22
22
25
26
25
25
32
33
21
49
70
62
47
51
34
33
31
34
94
249
211
225
219
212
221
144
122
242
235
255
237
207
255
225
250
240
42
65
24
11
30
39
19
12
18
28
35
32
30
36
33
29
28
32
23
35
21
19
9
13
40
35
17
14
9
5
0
0
20
59
67
47
25
12
6
19
19
23
24
19
13
7
7
8
12
27
26
22
58
148
162
161
160
158
153
151
154
155
156
156
156
155
154
154
153
153
153
152
152
148
148
147
146
146
145
144
144
144
144
143
143
141
141
142
142
142
141
141
140
140
140
140
141
143
145
151
152
152
153
155
157
158
159
159
160
160
160
160
159
158
158
157
157
156
155
152
151
151
151
150
150
149
147
147
146
146
145
145
145
144
144
143
124
124
125
126
127
128
128
128
128
129
130
131
132
132
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
140
140
141
141
141
141
141
142
142
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
145
145
145
147
149
151
151
155
158
161
163
164
165
167
167
168
170
172
173
174
178
178
178
179
179
178
179
181
182
176
172
182
181
177
123
131
98
156
78
41
60
53
29
26
14
77
23
26
229
248
253
148
62
54
11
28
21
45
19
0
19
17
27
7
18
16
40
32
20
30
62
22
15
19
5
9
18
4
0
51
87
41
54
59
40
33
34
29
132
229
227
235
244
209
182
206
244
255
233
255
216
253
255
234
246
94
19
9
62
37
32
27
26
32
33
31
28
27
30
24
29
18
28
40
31
35
25
34
43
41
21
26
19
28
27
6
6
20
20
30
31
26
20
24
38
51
23
29
32
27
23
19
12
14
16
16
13
14
23
31
97
139
155
152
156
160
156
153
153
154
154
155
155
154
154
154
154
153
151
150
147
147
147
146
146
145
145
145
145
145
144
144
142
142
142
142
141
140
140
141
142
143
144
146
149
152
158
159
162
163
163
164
165
166
167
168
167
167
167
166
166
166
164
164
163
161
159
158
157
159
158
157
156
154
153
153
151
151
150
149
147
146
146
124
124
125
126
127
128
128
128
128
129
130
131
132
132
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
140
140
141
141
141
141
141
142
142
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
145
145
145
147
149
150
152
156
160
163
164
165
167
169
169
170
172
173
175
176
179
179
179
179
180
180
181
189
194
178
183
176
175
185
184
61
28
135
58
81
148
147
123
76
38
135
164
146
201
250
254
220
68
78
20
7
24
29
52
27
14
21
21
15
21
23
3
51
25
32
57
22
26
26
31
59
90
100
84
46
55
56
32
40
29
39
14
122
232
234
234
203
227
242
199
227
247
244
249
243
219
226
156
117
70
0
49
32
21
18
11
10
16
28
27
25
24
24
38
28
32
29
34
34
18
25
32
20
20
28
16
19
30
40
37
17
11
16
13
21
27
43
55
51
27
4
31
13
17
22
24
17
2
9
6
7
9
13
19
24
32
72
124
150
154
153
154
152
153
153
153
154
154
154
154
154
154
154
152
151
147
147
147
147
146
146
146
145
145
145
145
144
143
142
144
144
143
143
144
145
146
149
151
153
156
159
163
165
167
168
168
169
170
171
171
172
172
171
171
171
170
170
171
170
169
168
166
165
165
162
162
161
160
158
157
156
157
157
156
154
152
151
151
124
124
125
126
127
128
128
128
128
129
130
131
132
132
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
140
140
141
141
141
141
141
142
142
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
144
145
145
147
149
151
152
158
162
164
165
167
169
170
171
172
173
175
177
178
180
180
181
181
181
182
182
176
185
173
185
181
186
197
107
113
122
158
71
165
171
183
204
132
57
182
233
88
249
252
254
252
164
55
55
28
9
23
14
10
6
35
25
35
23
21
3
56
38
37
35
48
91
65
100
92
88
116
93
60
43
19
31
25
60
19
48
191
209
251
218
209
232
174
185
235
255
246
236
219
234
247
114
63
84
89
19
8
7
15
16
24
32
37
32
27
23
21
33
27
32
29
30
27
15
31
23
48
49
36
26
54
37
35
27
10
8
16
19
23
24
27
29
27
23
19
28
11
17
24
29
27
16
9
9
11
16
19
20
20
21
48
88
120
143
157
159
152
152
152
153
153
153
153
154
154
154
154
153
151
148
148
147
147
147
146
146
146
146
145
145
145
143
143
144
143
143
144
145
147
149
153
154
155
158
161
166
167
169
170
170
171
172
173
173
174
173
173
173
172
172
172
172
171
171
170
168
167
167
164
164
163
162
160
159
158
159
159
158
156
153
152
152
124
124
125
126
127
128
128
128
128
129
130
131
132
132
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
140
140
141
141
141
141
141
142
142
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
143
144
146
147
150
152
153
161
165
167
168
170
171
173
174
175
177
177
179
180
183
183
184
184
185
185
185
178
179
184
183
191
199
159
124
118
99
69
82
138
146
123
51
26
42
87
30
59
253
255
245
239
246
200
73
36
87
68
50
36
18
2
16
39
31
36
47
11
9
21
50
32
55
60
26
39
25
33
44
46
31
32
34
0
113
230
251
218
219
215
239
221
229
246
251
255
229
221
255
246
164
35
125
255
153
43
15
31
19
25
19
9
20
27
26
29
28
23
17
20
24
23
20
20
25
25
20
32
35
31
19
36
19
28
25
17
11
10
13
18
15
15
18
21
22
21
43
33
29
21
21
24
21
7
9
14
18
15
11
7
34
47
50
68
112
144
145
150
150
151
151
151
152
151
151
152
153
153
152
151
149
148
148
148
147
147
147
147
146
146
146
145
144
144
145
145
146
147
149
152
156
159
160
162
164
166
170
171
173
173
174
174
175
176
177
176
176
176
175
175
174
174
173
173
173
172
171
171
171
171
170
169
168
166
165
165
162
161
160
158
154
153
152
124
124
125
126
127
128
128
128
128
129
130
131
132
132
133
133
133
134
135
135
135
136
136
137
137
138
138
138
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
145
145
145
145
145
145
145
143
144
146
147
150
152
154
163
166
169
170
171
173
174
175
176
177
179
181
182
185
185
186
186
186
187
186
188
172
196
175
193
199
98
162
132
82
104
85
97
147
55
97
197
186
166
97
105
251
255
234
251
137
96
53
58
73
77
46
57
5
9
32
0
14
16
15
19
37
35
71
41
42
42
41
68
58
88
91
85
41
56
132
249
254
243
222
224
246
232
207
237
245
253
244
227
215
255
230
149
240
197
131
8
5
34
15
10
37
24
10
19
25
23
25
31
28
18
14
10
12
26
29
30
37
31
32
30
37
42
18
12
27
29
22
19
15
14
22
4
19
22
19
18
21
27
25
17
18
17
22
25
22
17
16
15
13
12
13
14
21
17
23
38
72
113
138
149
149
150
150
151
151
149
149
150
151
151
151
150
149
149
149
148
148
147
147
147
147
147
146
146
144
144
150
150
152
154
158
161
166
167
168
168
170
173
177
177
178
179
179
180
181
182
183
181
181
181
181
180
180
179
177
177
177
177
176
176
176
174
174
173
172
170
169
168
168
167
166
164
159
158
157
124
124
125
126
127
129
129
129
129
130
131
132
133
133
134
134
134
135
136
136
136
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
145
145
144
144
143
143
143
143
145
145
147
150
154
158
164
168
170
172
173
175
176
177
179
180
182
183
184
185
185
185
185
186
187
188
194
189
193
187
198
203
112
90
66
20
89
127
143
70
59
179
188
175
173
124
104
255
254
255
252
173
55
1
33
101
48
38
73
20
46
39
25
93
38
38
27
8
28
61
111
137
108
115
68
65
35
60
39
110
254
255
253
225
234
244
223
227
199
249
243
247
227
248
229
230
248
240
192
228
133
31
5
20
25
27
17
19
26
31
20
30
24
28
38
33
18
23
17
19
25
23
33
55
18
29
26
36
25
11
17
47
29
25
26
25
18
10
4
24
21
15
21
25
18
19
19
24
26
23
19
17
14
6
6
11
13
12
12
35
26
9
27
51
63
73
135
151
154
143
150
155
149
151
154
154
153
150
149
149
149
149
149
149
149
149
148
149
149
149
148
149
153
154
156
159
162
164
167
167
173
173
174
174
176
179
179
182
182
182
182
182
182
182
183
183
182
182
181
181
181
178
178
177
177
176
176
177
174
174
173
173
172
172
173
170
169
167
165
160
159
159
124
124
125
126
127
129
129
129
130
130
132
133
133
134
134
135
135
136
136
136
136
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
145
144
144
143
143
143
143
143
145
146
147
151
155
159
166
170
172
173
175
176
177
179
180
181
183
185
186
186
185
186
187
188
188
189
191
183
209
198
192
162
135
144
30
90
129
129
111
164
61
11
36
7
21
14
104
251
255
255
241
255
194
67
16
42
58
37
45
51
9
76
53
48
73
57
20
8
71
125
153
173
153
213
165
168
207
233
245
226
223
255
240
253
236
221
222
224
255
243
255
253
227
237
235
251
233
222
244
158
54
15
29
20
26
24
20
31
30
17
15
18
26
24
20
16
15
18
15
9
18
22
20
21
15
25
40
21
15
21
24
18
24
29
36
38
31
23
15
21
15
10
17
19
9
15
26
26
20
17
25
36
23
17
14
12
12
15
21
11
0
22
43
31
29
54
117
128
134
148
150
145
148
147
147
146
147
148
148
147
147
147
147
147
147
147
149
150
151
150
150
152
158
163
165
167
171
173
175
175
180
180
181
181
182
184
185
185
185
185
185
184
184
184
186
186
186
185
185
184
184
183
183
183
182
181
181
182
179
179
179
179
178
177
177
176
175
173
170
164
162
160
124
124
125
126
127
129
129
130
130
131
133
133
134
134
135
135
136
136
137
137
137
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
144
143
143
143
142
142
142
143
145
147
148
153
157
161
168
171
174
176
176
178
180
181
182
184
185
187
188
188
188
188
189
190
191
191
176
193
204
169
138
96
118
117
29
32
9
65
44
115
104
115
83
31
2
22
10
192
246
74
39
33
23
37
53
17
45
36
34
35
68
27
41
41
32
61
4
112
255
222
215
221
247
251
243
246
224
237
255
222
224
221
255
243
235
242
255
252
245
243
242
233
248
238
233
142
220
255
201
17
10
24
31
14
18
15
25
40
34
17
21
19
32
28
16
12
20
15
24
19
22
24
24
26
33
16
16
15
29
37
20
22
29
24
22
25
21
14
19
20
15
13
24
28
18
4
14
20
20
17
15
17
17
8
7
8
8
5
6
23
23
8
10
23
18
3
61
72
87
122
131
127
143
142
144
147
150
151
149
145
145
145
145
144
144
144
144
146
149
150
151
155
162
170
172
175
177
180
181
181
183
183
184
185
185
187
187
187
187
187
187
187
187
187
186
186
186
185
185
184
184
184
184
183
183
182
182
182
181
181
180
180
179
179
179
182
181
179
176
170
168
167
124
124
125
126
127
129
129
130
131
131
133
134
134
135
136
136
136
137
137
137
138
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
143
143
143
142
142
142
141
143
145
147
149
153
158
162
169
172
175
177
177
179
181
182
183
185
187
188
189
189
189
190
190
191
192
193
191
176
222
174
60
113
140
107
75
41
42
54
96
158
145
106
75
32
20
56
66
255
254
137
72
66
73
46
38
30
38
8
43
86
57
29
51
28
19
38
71
192
235
255
247
255
229
232
248
231
218
213
228
231
236
255
227
239
226
224
245
240
255
255
255
255
207
230
242
181
251
255
212
25
46
33
15
12
14
13
25
36
32
21
20
17
25
23
14
12
16
11
18
14
15
14
16
23
15
18
26
22
27
28
19
20
30
25
24
32
34
29
23
26
19
15
23
26
17
24
14
16
20
22
23
25
22
16
14
13
10
7
8
16
14
5
2
9
18
22
24
29
45
79
101
115
132
129
127
128
136
144
149
144
144
144
144
144
143
143
144
146
149
151
154
157
165
173
174
177
179
182
183
184
184
184
185
185
185
187
187
187
187
187
187
187
187
187
186
186
186
185
185
184
184
184
184
183
183
182
182
182
180
181
181
181
180
179
179
183
182
180
178
173
171
170
124
124
125
126
127
129
129
131
131
132
133
134
135
135
136
136
136
137
138
138
138
137
137
138
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
144
144
144
144
144
144
144
143
143
142
142
141
141
141
144
145
147
150
154
160
163
171
174
176
177
178
181
182
184
185
186
188
188
190
190
190
191
192
193
193
194
189
205
182
115
50
189
113
136
152
67
110
161
183
133
52
6
19
54
110
23
65
251
255
237
79
142
67
25
45
20
32
29
13
43
30
81
60
76
73
75
116
244
208
228
224
235
238
238
244
227
226
226
220
230
246
249
243
223
244
255
242
255
240
218
255
232
235
248
217
139
198
160
19
203
18
26
19
19
14
16
24
19
21
28
20
19
17
19
22
20
15
32
20
15
21
15
13
25
21
40
24
31
28
17
19
15
31
21
16
19
18
10
11
27
21
16
24
31
25
24
21
23
22
19
18
20
31
37
32
16
5
8
19
24
26
22
17
23
28
21
21
27
41
50
65
79
87
94
108
127
143
149
147
144
144
144
144
144
143
142
148
150
154
156
160
165
173
177
178
181
184
185
187
186
186
186
186
186
187
189
189
186
186
186
186
187
187
187
190
190
190
190
189
188
188
187
186
186
186
185
185
184
184
183
183
184
183
183
182
181
180
179
178
176
176
175
124
124
125
127
127
129
129
131
131
132
133
134
135
135
137
137
137
138
139
139
139
139
139
139
139
139
139
139
140
140
141
141
142
142
142
141
141
141
142
142
142
142
143
143
143
143
143
143
143
144
144
143
143
142
142
142
143
145
146
149
154
162
166
173
176
179
180
181
181
182
186
186
187
188
189
190
193
193
194
195
196
196
197
204
198
169
175
126
144
172
85
73
200
169
135
128
119
54
45
43
7
21
44
175
254
97
19
52
48
61
39
81
41
24
31
35
28
3
33
62
84
34
69
166
246
253
246
244
247
255
251
255
248
255
255
224
241
255
228
204
244
253
255
255
220
233
255
207
255
255
229
235
254
236
228
121
58
8
0
34
23
7
5
14
19
23
16
18
17
13
12
14
16
17
16
33
28
13
10
24
44
31
31
30
35
31
24
26
33
32
32
29
34
32
42
29
20
19
18
15
14
15
13
23
28
24
17
14
18
15
20
20
20
13
2
0
14
10
6
6
10
17
22
24
28
38
50
59
70
110
122
138
143
134
129
131
134
132
131
134
138
137
127
115
135
159
171
175
184
170
168
181
187
182
180
189
187
177
177
176
183
197
191
183
181
191
183
178
192
190
195
192
193
190
190
193
189
186
188
188
188
188
187
187
187
184
184
184
183
183
182
183
182
182
181
181
178
177
177
124
125
125
127
128
129
130
131
131
132
133
134
135
135
137
137
137
138
139
139
139
139
139
139
139
139
139
139
140
140
141
141
142
142
142
140
140
141
142
142
143
143
144
143
143
143
143
143
143
144
144
143
143
142
142
142
143
145
146
149
154
162
166
173
177
179
181
181
182
183
186
186
188
189
190
191
193
194
194
195
196
196
196
201
219
171
195
126
161
99
107
167
153
91
47
48
92
127
99
55
41
24
44
186
244
107
65
49
85
97
37
37
37
30
24
27
29
27
29
48
44
55
43
188
255
245
246
239
236
243
243
247
236
242
242
232
220
234
230
215
254
249
148
235
237
255
236
212
249
151
209
250
228
84
213
50
130
7
39
4
17
7
7
12
17
22
20
18
17
12
12
12
14
15
40
31
30
27
22
29
45
46
39
27
33
32
30
35
51
32
22
13
14
10
18
17
17
23
25
23
21
21
15
18
20
19
16
16
20
25
22
16
17
18
15
19
14
22
28
30
24
16
9
39
32
34
42
53
69
92
83
78
85
100
112
114
116
125
128
117
105
109
125
172
165
173
182
174
168
192
195
185
185
196
195
182
187
194
205
198
191
195
181
205
188
184
200
202
182
194
177
194
188
194
199
193
192
190
189
189
188
188
188
188
187
185
185
184
184
183
183
183
182
182
181
180
179
178
178
125
125
126
128
128
130
130
131
131
132
133
134
135
135
137
137
137
138
139
139
139
140
140
140
140
140
140
140
140
140
141
141
142
142
142
140
141
142
143
144
145
145
147
144
143
142
143
144
144
144
144
143
143
142
142
142
144
145
147
149
154
162
166
173
178
181
183
183
185
186
188
189
190
191
192
193
194
194
195
195
196
196
197
203
204
214
169
139
157
42
76
180
137
77
68
131
124
179
170
140
31
36
51
186
255
193
133
87
77
49
84
92
47
36
50
50
60
54
31
47
71
120
51
241
255
254
255
243
236
233
255
255
250
255
244
249
221
229
234
245
228
249
235
134
238
197
228
255
214
70
122
103
44
77
70
55
0
26
28
5
9
10
11
13
11
12
18
14
14
15
17
19
21
23
20
26
32
21
23
28
23
33
34
22
17
13
19
33
20
20
25
25
24
9
9
24
17
17
15
10
7
6
23
14
17
25
28
22
13
19
27
32
36
29
14
7
22
20
18
17
16
16
15
31
27
27
28
38
47
54
65
77
97
119
118
100
68
101
137
151
148
145
139
66
79
112
149
166
174
188
206
209
184
152
170
207
134
108
90
90
98
99
182
227
165
188
181
181
207
186
193
200
189
189
194
188
191
188
189
189
190
191
189
189
188
186
186
186
186
185
185
184
182
182
181
181
179
179
178
126
126
127
128
129
131
131
131
131
132
133
134
135
135
137
137
137
138
139
139
139
141
141
141
141
141
141
141
140
140
141
141
142
142
142
142
142
144
146
147
148
148
150
145
143
142
143
144
145
144
144
143
143
142
142
142
144
146
147
149
155
162
166
173
179
182
184
185
187
188
190
191
192
193
194
195
195
195
195
195
196
197
198
201
201
178
159
150
138
150
107
134
115
142
138
147
18
53
106
73
121
49
82
32
189
179
66
77
58
40
67
44
54
73
74
46
34
55
58
41
47
24
208
225
215
245
252
233
247
237
239
215
249
206
219
235
225
221
255
239
237
248
250
255
224
241
243
155
126
24
43
34
21
19
21
36
26
8
1
21
1
7
7
17
12
10
19
11
12
16
18
20
21
23
42
20
24
25
33
32
14
11
30
57
49
28
12
11
26
9
11
15
21
13
15
10
10
16
21
23
24
27
20
26
22
19
20
20
17
22
12
4
9
14
15
19
14
9
2
0
7
22
34
34
40
36
37
64
70
20
29
25
32
58
68
69
53
74
81
64
48
57
80
141
142
153
174
189
183
94
82
118
127
96
74
84
94
103
111
123
121
99
102
122
209
217
149
108
144
136
202
144
172
171
165
184
187
195
187
188
190
191
189
187
186
188
188
187
187
186
186
186
182
182
181
181
180
180
180
126
126
127
128
129
131
131
131
131
132
133
134
135
135
137
137
137
138
139
139
139
141
141
141
141
141
141
141
140
140
141
141
142
142
142
142
143
145
147
148
149
149
150
145
143
142
143
144
145
144
144
143
143
142
142
142
144
146
147
149
155
162
166
173
179
182
185
185
187
189
190
191
192
194
195
196
195
194
195
196
196
197
198
192
209
207
171
144
131
96
120
109
169
132
108
177
34
157
135
131
168
139
85
13
57
95
80
161
89
33
104
33
58
60
52
51
34
50
39
51
53
69
225
250
251
230
249
240
255
233
255
255
237
226
250
184
209
223
245
231
255
224
239
242
194
253
163
144
46
25
26
10
40
36
25
25
11
12
8
3
5
12
9
16
10
4
13
11
12
16
17
18
18
19
29
14
28
4
0
19
37
49
49
32
25
18
17
28
50
25
23
22
23
10
9
8
8
13
15
13
10
10
16
32
23
12
12
18
23
15
6
0
4
8
7
9
12
17
15
13
17
29
39
40
45
33
30
56
54
26
43
45
50
65
60
49
60
62
60
60
77
100
108
122
144
147
117
91
99
102
109
84
89
118
118
89
120
120
103
70
65
96
133
155
115
81
78
112
106
34
74
51
118
140
131
146
164
198
187
188
190
191
189
186
185
188
188
188
187
186
186
186
182
182
181
181
181
181
180
127
127
128
129
130
131
131
132
132
133
134
135
136
136
137
137
137
138
139
139
139
139
139
140
140
141
141
141
141
141
142
142
143
143
143
143
143
145
146
147
147
148
145
145
144
144
143
143
143
143
143
143
142
142
142
142
142
143
147
151
154
160
168
173
178
181
184
186
189
191
192
193
194
195
195
196
196
197
197
198
199
200
200
220
198
215
170
133
138
141
105
96
18
100
59
63
97
145
179
142
111
26
23
29
46
13
59
103
37
36
54
34
17
44
43
51
74
83
94
39
37
203
251
251
245
233
211
255
234
246
183
239
234
203
241
251
225
255
220
240
255
246
249
209
134
128
112
76
37
22
27
24
16
17
20
21
19
21
19
14
20
17
18
17
13
16
22
20
21
14
12
14
18
22
12
7
24
12
14
27
25
22
35
36
31
23
15
14
23
19
22
26
16
8
17
11
17
10
6
15
21
16
23
32
38
24
12
14
21
17
8
4
13
18
13
8
0
0
0
0
1
3
9
5
1
6
13
15
14
28
21
19
18
17
28
43
35
48
68
76
64
53
54
38
60
75
78
93
111
82
65
83
104
104
93
91
52
79
109
115
97
92
81
68
41
73
102
100
89
88
73
99
69
98
80
86
191
173
148
105
98
126
130
151
181
194
160
139
135
174
184
160
185
189
190
190
175
175
187
127
127
128
129
130
131
131
132
132
133
134
135
136
136
137
137
137
138
139
139
139
139
139
140
140
141
141
141
142
142
143
143
143
144
144
143
143
144
144
145
145
145
145
145
144
144
143
143
143
143
143
142
142
142
142
142
144
145
149
152
155
160
167
174
179
182
185
186
189
191
193
194
194
195
196
197
198
199
199
200
201
202
202
192
197
222
195
203
220
192
193
149
157
138
149
67
122
74
11
65
112
108
105
121
77
71
45
91
96
101
90
78
50
36
51
70
48
52
105
65
73
235
255
211
234
255
255
243
255
213
255
229
232
220
234
184
193
232
252
240
245
225
224
175
100
36
21
6
5
22
11
13
26
16
17
19
24
24
20
17
21
21
22
24
22
20
19
34
27
29
33
26
13
2
11
10
19
15
20
29
28
21
43
18
19
35
35
23
27
21
21
20
16
15
21
16
24
17
14
15
17
21
19
31
33
24
19
23
25
19
16
16
21
18
6
2
21
26
26
24
17
11
14
6
0
0
29
60
61
8
12
26
39
38
35
27
29
31
16
8
41
125
153
88
103
112
102
78
65
99
81
66
79
97
92
94
116
133
114
113
130
126
76
84
80
63
61
77
96
81
55
55
98
57
53
36
62
78
77
63
66
84
76
88
112
119
175
216
223
198
189
206
190
203
208
202
180
172
175
127
127
128
129
130
131
131
132
132
133
134
135
136
136
137
137
137
138
139
139
139
139
139
140
140
141
141
141
142
142
143
143
144
144
144
143
144
144
144
145
145
145
145
145
144
144
143
143
143
143
142
142
142
142
142
142
144
146
151
153
156
160
167
174
178
181
184
186
189
191
193
194
195
196
196
197
200
200
200
201
202
203
203
210
192
200
213
186
218
166
162
88
159
66
138
106
157
81
86
153
151
129
149
74
14
78
49
62
77
74
86
79
51
80
93
65
95
50
75
74
102
241
252
255
248
248
224
250
249
236
231
179
250
216
242
247
224
241
236
224
255
234
222
109
13
0
7
16
26
15
7
14
25
18
16
17
21
22
23
23
22
21
22
31
30
22
13
43
32
18
16
13
13
16
9
14
20
17
21
24
20
25
30
18
32
43
36
24
32
18
18
18
18
17
14
5
13
10
12
11
11
20
14
13
13
11
15
18
14
24
22
20
20
14
7
10
19
9
3
6
8
11
17
9
8
11
23
33
22
28
20
21
28
31
34
26
20
37
52
81
121
129
95
58
54
74
102
96
65
71
85
80
101
127
122
108
100
101
107
121
121
92
72
95
81
100
111
94
66
66
66
77
58
66
42
81
45
75
72
105
114
96
116
109
83
91
100
85
72
76
72
88
74
107
134
153
201
196
181
127
127
128
129
130
131
131
132
132
133
134
135
136
136
137
137
137
138
139
139
139
139
139
140
140
141
141
141
143
143
144
144
144
145
145
146
145
145
145
145
145
145
145
145
144
144
143
143
143
142
142
142
142
142
142
142
146
149
154
155
157
160
166
172
177
180
182
185
187
189
194
195
195
196
197
198
202
202
202
203
204
205
205
203
190
213
217
210
195
105
54
38
72
107
81
143
104
58
155
151
175
101
86
124
61
66
94
105
65
83
92
52
84
77
19
37
69
100
112
224
249
255
208
236
243
255
255
208
213
245
244
228
219
161
229
181
221
243
232
255
220
230
236
22
30
15
15
13
10
12
21
28
28
20
18
19
29
28
28
30
26
33
37
34
34
31
25
14
22
44
33
14
5
9
8
17
11
14
19
18
15
17
25
19
23
25
18
11
33
24
23
15
16
17
7
15
17
18
32
32
25
35
35
31
23
20
28
29
17
24
16
17
23
18
10
12
3
7
14
22
18
7
2
7
22
36
40
31
20
15
20
37
51
54
53
48
29
40
83
133
138
101
89
154
112
69
53
62
71
61
69
82
84
91
113
129
137
70
59
53
47
51
90
82
81
83
84
81
87
101
80
105
80
72
103
62
65
61
73
78
70
63
59
56
63
41
52
86
100
63
60
47
33
41
47
57
66
60
60
128
128
128
129
130
130
130
133
133
133
134
135
135
135
136
136
136
137
138
138
138
138
138
140
140
141
142
142
143
143
144
144
145
145
145
146
146
147
147
148
148
148
147
147
146
146
145
144
144
143
144
145
145
146
147
147
149
151
153
157
159
161
163
170
173
177
178
182
185
188
191
194
197
198
199
200
203
203
203
204
204
205
205
199
206
205
213
191
186
106
99
21
90
168
83
148
77
96
96
82
28
55
61
18
18
61
97
77
64
92
49
72
77
55
110
80
60
123
160
204
245
224
249
255
245
223
255
244
234
255
211
242
178
232
196
243
239
255
243
245
245
228
212
120
31
20
16
15
15
15
18
23
25
26
20
20
23
29
34
30
29
32
46
32
39
43
24
38
24
31
28
12
10
20
14
11
9
10
11
12
12
22
13
52
32
18
28
38
12
14
9
16
9
8
26
22
15
12
9
7
11
16
22
17
20
8
26
1
22
13
14
18
16
11
12
17
4
7
17
19
20
16
1
5
8
20
31
30
20
20
25
34
37
37
42
39
32
73
77
46
33
32
32
61
75
75
94
87
68
65
54
51
70
75
52
51
50
70
74
75
65
55
83
101
97
93
84
76
69
72
93
110
94
84
86
92
80
73
88
68
65
67
61
65
53
62
50
62
82
91
91
73
50
67
67
74
68
44
54
128
128
129
129
130
130
130
133
133
133
134
135
135
135
136
136
136
137
138
138
138
138
138
140
140
141
142
142
143
143
144
144
145
145
145
146
146
147
147
148
148
148
147
147
146
146
145
144
144
143
144
145
146
146
147
147
149
150
153
157
159
161
163
170
172
176
177
181
185
188
191
194
197
198
199
200
203
203
203
204
204
205
205
205
210
214
225
209
171
108
100
30
74
134
119
155
109
143
167
137
85
31
49
88
51
29
82
90
30
69
78
62
55
66
85
63
61
150
255
255
255
227
247
228
242
242
241
229
237
231
238
230
206
221
160
239
233
223
245
242
255
240
212
97
8
5
15
13
12
16
20
22
24
23
21
25
22
25
32
34
24
27
42
31
35
45
37
37
24
27
30
20
13
13
10
7
8
9
10
13
18
12
13
45
22
13
33
48
19
16
11
17
11
7
21
7
12
18
21
23
28
34
23
24
37
25
34
16
28
16
15
18
16
10
10
15
12
20
27
21
17
14
4
8
6
6
10
7
6
15
13
12
8
5
11
16
3
18
21
20
32
48
65
98
119
70
26
23
35
34
33
49
58
63
72
80
101
69
84
89
72
51
53
64
86
72
61
70
88
75
71
82
79
80
87
92
88
85
73
67
78
83
75
88
86
83
66
67
72
61
58
41
53
45
38
38
46
59
73
129
129
129
130
130
131
131
133
133
133
134
135
135
135
136
136
136
137
138
138
138
138
138
140
140
141
142
142
144
144
145
145
145
146
146
147
147
148
148
148
149
149
148
147
146
146
145
145
145
144
145
146
147
148
148
149
149
152
154
157
159
161
161
167
170
173
176
178
182
185
189
193
196
197
198
200
203
203
203
204
204
205
205
203
203
201
200
219
156
157
101
114
93
82
82
67
137
133
181
113
44
3
118
20
88
75
93
139
131
104
66
63
85
72
108
40
246
243
224
197
255
245
254
242
255
255
243
229
238
195
197
167
255
247
225
206
233
224
239
187
185
187
119
0
19
30
13
10
7
16
21
21
20
23
23
29
22
24
31
33
28
22
31
32
27
38
48
36
29
18
27
31
24
11
4
2
6
5
5
14
26
31
21
16
18
27
28
16
16
9
13
23
22
15
19
23
11
8
6
8
15
25
40
2
23
13
13
21
16
7
7
12
15
14
17
23
17
33
35
25
17
16
16
22
18
12
8
4
0
10
10
16
17
15
26
41
28
25
36
43
40
49
74
83
93
61
33
35
34
57
43
84
92
87
102
96
114
102
106
82
47
34
53
68
69
75
80
85
93
104
118
95
95
88
74
64
63
64
65
57
58
64
75
74
61
91
81
78
76
69
74
72
47
42
47
53
51
61
68
130
130
130
131
131
131
132
133
133
133
134
135
135
135
136
136
136
137
138
138
138
138
138
140
140
141
142
142
145
145
145
146
146
146
147
148
148
148
149
149
149
150
148
147
147
146
146
146
146
146
147
148
149
148
149
149
151
153
155
157
159
161
161
166
169
172
175
178
182
184
187
192
195
196
198
201
203
203
203
204
204
205
205
192
206
209
207
218
193
162
78
131
104
115
82
82
126
132
75
16
52
18
46
74
90
67
36
69
90
99
77
108
65
54
77
150
221
234
255
197
230
242
239
246
202
236
199
195
209
167
254
246
207
203
238
224
227
234
209
103
231
199
29
6
13
15
9
10
12
17
21
23
24
29
23
23
25
28
29
24
39
29
27
36
28
24
28
33
31
18
17
21
23
23
10
4
8
7
4
10
22
18
22
19
17
17
16
14
17
13
19
20
17
11
7
2
11
19
22
24
26
30
59
24
41
29
28
15
9
20
18
24
26
22
20
21
25
28
19
14
9
6
8
45
27
10
9
15
21
25
24
33
41
43
48
60
21
36
41
47
70
82
81
75
62
77
95
128
152
59
74
73
84
79
60
73
80
94
102
89
84
92
86
103
100
97
85
74
75
92
104
89
98
100
94
95
92
75
56
62
64
63
76
81
81
81
80
81
83
77
72
72
72
85
76
76
78
61
78
130
130
130
131
131
132
132
133
133
133
134
135
135
135
136
136
136
137
138
138
138
138
138
140
140
141
142
142
145
145
146
146
146
147
147
148
148
149
149
149
150
150
148
147
147
147
146
146
146
147
148
148
148
149
150
150
152
153
156
157
159
161
161
166
169
172
175
178
182
185
187
191
194
196
198
201
203
203
203
204
204
205
205
194
193
198
207
205
219
184
114
117
80
70
83
48
86
29
48
37
27
29
62
50
129
112
46
60
91
96
102
100
28
41
146
252
248
238
252
224
227
244
255
255
237
249
243
250
255
219
222
217
254
218
158
219
255
246
218
173
234
168
27
11
7
18
8
12
16
17
20
24
28
26
23
26
23
24
27
24
27
30
30
36
29
23
26
29
26
21
18
16
16
17
11
2
10
11
7
11
21
17
21
20
18
13
14
22
18
18
23
21
17
12
6
5
7
11
10
10
11
15
16
10
23
13
26
9
22
20
18
24
26
20
15
15
17
21
11
12
15
22
33
34
18
0
0
7
17
45
33
27
25
24
32
46
37
56
54
62
80
59
29
62
60
82
83
77
62
71
48
75
108
99
64
78
146
118
107
83
86
110
92
108
77
80
87
105
128
102
82
59
72
77
71
75
86
73
79
87
87
80
87
84
81
85
85
84
87
76
65
63
57
55
49
55
68
65
75
129
129
129
130
131
131
131
133
133
133
134
135
135
135
136
136
137
137
138
139
139
140
140
142
142
143
144
144
145
145
146
146
147
147
147
147
147
148
148
149
149
149
150
150
149
149
149
149
149
150
149
150
150
151
151
151
154
156
158
158
160
162
163
168
170
172
173
176
180
183
184
189
191
194
195
197
202
203
202
202
203
203
204
200
197
208
211
211
218
174
91
111
54
42
133
32
84
113
146
120
188
77
167
121
102
67
109
94
59
52
72
53
56
92
213
215
253
211
248
214
224
254
255
255
252
216
253
237
179
254
225
255
183
222
247
236
245
240
178
193
83
14
14
8
13
11
12
11
15
15
22
24
15
29
29
21
20
26
17
28
19
35
32
23
24
28
40
10
16
20
19
20
18
14
10
6
8
8
5
8
14
17
16
18
11
5
17
35
20
9
19
8
12
20
7
5
21
1
9
12
8
17
7
17
22
23
20
22
28
9
7
8
21
25
18
14
17
17
11
15
19
16
12
13
5
4
8
16
22
20
32
36
27
22
24
29
31
47
70
91
29
29
63
82
56
59
75
64
51
31
74
76
93
111
115
117
123
99
67
52
59
60
65
73
42
39
57
48
52
70
82
106
81
82
88
73
90
84
82
87
94
71
72
87
89
71
97
80
72
58
68
51
57
63
66
64
68
69
66
129
129
129
130
131
131
131
133
133
133
134
135
135
135
136
137
137
138
139
139
140
140
141
142
143
144
144
145
145
146
146
147
147
147
147
147
148
148
149
149
149
149
150
150
149
149
149
149
149
150
150
150
151
151
151
151
155
157
158
159
161
163
164
167
169
170
171
174
177
180
184
189
191
194
195
198
201
202
202
202
203
203
204
200
199
207
210
212
220
190
112
156
85
102
153
108
109
114
138
131
87
124
111
50
127
80
79
66
144
39
56
62
53
90
83
184
235
240
242
234
249
237
248
225
255
246
246
255
234
238
122
135
246
202
178
250
240
239
255
152
84
16
11
26
4
8
14
16
19
24
27
25
20
19
28
20
21
34
19
14
27
27
26
33
26
21
29
22
14
16
15
7
2
1
4
2
10
12
12
13
16
6
10
26
23
16
15
19
15
30
35
30
18
15
23
13
6
4
8
17
21
21
29
22
25
29
27
22
15
12
3
9
28
33
20
6
14
13
13
17
10
4
8
7
1
0
3
7
9
5
8
11
9
11
19
28
62
75
29
32
41
53
59
110
109
82
92
114
57
82
75
90
108
100
70
53
79
112
110
109
109
108
98
90
95
71
80
84
100
88
86
96
110
136
135
99
84
75
78
81
93
102
120
127
136
114
101
76
86
83
74
63
56
58
57
53
56
61
62
129
129
129
130
131
131
131
133
133
133
134
135
135
135
137
137
138
138
139
140
140
141
141
142
143
144
145
145
146
146
147
147
147
148
148
148
148
149
149
149
150
150
151
151
150
150
150
150
150
151
150
151
151
151
152
152
155
158
159
160
161
164
165
167
168
170
170
172
176
179
184
189
191
194
195
197
200
201
201
202
203
203
204
201
199
207
210
211
218
198
110
139
99
110
179
116
133
124
97
62
92
85
107
146
147
87
64
107
39
47
31
46
44
48
11
153
212
251
234
189
226
243
246
243
255
248
239
217
250
190
103
178
238
245
184
236
255
198
206
50
28
13
24
22
10
16
8
12
13
21
22
18
16
28
21
17
36
25
9
27
30
22
22
36
26
18
22
30
14
11
10
2
0
4
8
6
6
7
7
8
9
10
16
27
20
12
15
22
23
16
17
23
15
12
27
11
5
10
5
11
19
15
26
18
15
19
22
20
13
10
4
7
22
26
15
4
22
16
19
21
12
8
16
8
2
2
5
9
13
0
2
7
12
15
14
14
4
36
16
41
61
73
72
87
87
105
128
122
87
59
94
93
101
113
118
120
108
105
101
99
102
101
82
82
89
91
100
79
99
139
122
107
102
103
97
85
100
91
140
128
143
138
128
124
115
85
96
81
61
64
65
59
68
64
57
50
55
66
74
129
129
129
130
131
131
131
133
133
133
134
135
135
135
137
138
138
139
140
140
141
141
142
143
144
145
145
146
147
147
147
148
148
148
149
149
149
149
150
150
150
151
152
152
151
151
151
151
151
152
151
151
152
152
152
153
157
159
161
162
163
165
166
167
169
170
169
171
175
178
182
187
190
191
194
195
199
199
200
201
202
203
204
201
203
209
211
208
211
210
157
122
114
155
99
134
149
140
105
37
14
91
135
134
107
113
19
54
57
29
49
23
7
39
56
24
254
255
242
245
232
228
255
245
236
255
255
194
144
67
35
49
28
50
28
37
15
23
30
26
11
19
19
7
18
1
9
13
9
22
19
13
21
9
26
26
17
27
16
17
27
16
16
27
23
18
12
29
16
4
4
4
8
15
12
10
5
10
18
22
21
19
24
17
7
8
21
33
18
25
45
52
36
19
15
14
26
22
14
11
12
14
16
14
9
11
19
25
24
19
18
13
13
12
12
16
15
5
4
9
6
3
7
11
12
14
14
10
2
5
3
7
14
13
5
9
24
46
52
73
46
60
85
86
61
56
72
72
59
76
94
106
123
121
106
98
100
102
92
80
88
104
104
125
137
143
144
98
86
93
74
69
73
89
104
109
110
107
75
65
57
80
107
90
84
114
104
105
92
72
63
84
103
103
104
104
85
78
75
129
129
129
130
131
131
131
133
133
133
134
135
135
135
138
138
139
139
140
141
141
142
142
144
144
145
146
146
147
147
148
148
149
149
149
149
149
150
150
151
151
151
152
152
151
151
151
151
151
152
151
152
152
153
153
153
158
160
162
162
164
166
167
168
170
170
170
172
175
178
181
184
188
189
192
193
197
198
199
200
202
203
204
201
205
210
210
205
203
211
213
121
121
146
159
182
152
99
104
130
64
51
86
137
98
95
47
171
122
119
48
44
122
61
45
47
15
34
203
251
255
255
225
254
228
50
54
55
18
20
4
26
34
38
26
16
2
12
19
3
24
21
5
13
12
15
10
14
4
19
15
10
24
25
21
11
24
32
17
18
19
13
15
10
19
22
8
12
16
7
3
5
6
3
5
7
7
12
16
11
3
7
8
10
18
24
24
21
42
48
52
22
19
57
82
30
30
8
21
26
15
17
21
16
13
18
23
11
0
17
13
5
5
5
7
12
32
32
29
36
39
27
16
6
6
9
14
19
20
10
11
24
35
28
10
6
30
45
31
53
47
51
35
44
57
62
47
33
42
30
48
66
90
105
109
113
103
98
115
94
67
85
104
93
98
100
117
108
126
116
83
98
73
60
71
81
76
84
92
98
77
76
76
62
65
84
90
110
99
133
109
104
104
104
108
115
112
112
116
129
129
129
130
131
131
131
132
132
133
134
135
136
136
138
138
139
139
140
141
141
142
142
144
144
145
146
146
148
148
149
149
150
150
150
150
150
151
151
152
152
152
155
154
152
152
153
153
154
153
152
153
153
154
154
154
157
158
160
162
164
165
165
167
169
170
171
172
174
174
179
182
185
186
189
192
195
197
199
200
200
201
203
203
206
209
208
205
206
213
210
160
124
116
141
144
113
136
136
151
115
79
123
132
68
58
49
62
88
127
15
80
76
63
59
17
31
4
58
234
255
250
244
106
192
61
69
45
20
20
10
30
10
22
27
18
4
10
15
6
29
20
3
12
4
11
7
11
11
13
11
8
10
10
14
15
23
23
25
34
18
19
17
13
11
13
14
14
14
7
0
0
0
5
7
0
23
19
15
13
5
21
0
22
27
44
38
24
34
73
37
20
70
9
11
32
56
21
23
40
21
32
17
13
16
18
12
9
15
9
10
6
16
18
12
14
30
40
49
37
13
11
32
0
5
9
12
20
23
7
19
16
6
9
17
14
19
27
23
3
22
56
49
50
71
51
30
49
49
21
51
63
74
83
93
97
104
116
134
116
116
120
89
96
98
107
121
130
116
96
110
107
93
102
89
94
115
110
79
94
100
97
116
112
94
117
106
117
102
105
82
84
119
130
128
130
148
121
99
129
130
130
131
131
131
131
132
132
133
134
135
136
136
138
138
139
139
140
141
141
142
142
144
144
145
146
146
148
148
149
149
150
150
150
150
151
151
152
152
152
152
155
154
152
152
153
153
154
153
153
153
154
154
154
154
157
158
160
162
164
165
165
167
169
170
171
172
174
174
179
182
184
186
188
192
195
196
198
199
199
200
203
205
207
206
205
203
206
210
219
211
136
166
130
79
136
107
156
63
55
70
148
92
123
115
83
68
99
70
113
78
56
49
12
12
32
67
38
0
41
77
43
28
0
17
39
41
17
4
20
11
17
14
7
4
10
9
4
17
16
7
13
11
2
20
13
15
11
10
8
5
8
4
7
7
12
9
8
15
14
12
10
7
9
14
18
5
6
9
9
8
7
7
2
10
27
11
1
6
10
10
28
26
21
15
19
65
64
18
56
60
58
24
43
38
56
28
60
66
18
10
23
18
20
13
12
19
18
9
27
43
37
18
16
30
40
31
14
12
14
10
5
5
13
23
20
12
10
20
21
24
31
28
16
16
20
21
24
26
19
9
12
34
15
20
33
31
37
61
53
70
87
87
77
77
125
73
95
93
86
84
115
104
104
105
112
119
115
114
126
133
119
133
130
131
90
75
84
97
109
112
109
115
119
89
89
102
99
116
112
118
107
106
98
98
126
119
109
130
130
131
131
132
132
132
132
132
133
134
135
136
136
138
138
139
139
140
141
141
142
142
144
144
145
146
146
148
148
149
149
150
150
150
151
151
152
152
153
153
153
155
154
152
152
153
153
154
154
154
154
154
155
155
155
157
158
160
162
164
165
165
167
169
170
171
172
174
174
178
181
183
184
186
189
192
194
196
197
198
200
203
208
205
203
201
203
204
207
215
218
180
71
133
123
139
129
158
129
69
41
36
194
169
111
129
144
99
42
122
74
47
49
89
65
28
23
7
56
34
27
21
13
23
43
27
28
39
37
38
31
23
15
8
7
8
9
9
0
16
17
9
12
11
15
9
12
8
9
9
8
12
11
12
10
12
7
2
5
2
5
8
10
9
10
10
8
8
3
6
14
17
16
22
21
18
25
26
19
13
17
13
41
31
35
36
43
61
16
59
50
30
23
35
61
49
74
69
42
64
49
50
23
12
10
19
32
39
3
6
12
21
45
49
23
23
11
12
21
23
28
39
35
53
59
45
36
47
47
57
57
57
69
75
60
54
75
76
67
40
28
47
45
46
34
27
44
68
113
120
73
67
103
114
95
103
104
97
94
105
91
87
82
93
114
134
131
106
98
119
106
94
103
103
121
100
98
90
81
81
98
111
101
95
100
111
116
118
111
110
105
122
131
140
136
111
117
125
131
131
131
132
132
132
133
132
132
133
134
135
136
136
138
138
139
139
140
141
141
142
142
144
144
145
146
146
148
148
149
149
150
150
150
152
152
152
153
153
153
154
155
154
152
152
153
153
154
155
154
154
155
155
155
156
157
158
160
162
164
165
165
167
169
170
171
172
174
174
178
181
182
184
185
188
191
193
195
196
198
200
203
208
205
200
200
202
205
205
213
214
219
89
121
107
154
96
124
154
72
45
56
138
111
68
120
81
31
71
92
67
44
21
40
25
51
17
31
0
30
49
33
18
32
40
21
17
36
47
27
26
24
18
12
11
7
8
10
2
19
22
12
20
20
15
8
11
8
11
11
9
13
10
11
9
16
12
7
10
0
4
9
11
10
7
6
26
26
8
5
10
13
12
24
25
24
39
39
22
9
18
25
51
19
23
30
33
51
32
55
41
31
22
25
38
66
75
63
72
85
56
36
46
28
26
28
44
76
31
12
17
17
38
63
59
53
18
21
45
48
32
25
35
50
43
22
23
50
56
57
61
71
71
56
49
71
88
89
94
60
43
96
112
82
47
45
61
66
133
109
76
67
85
101
115
112
83
85
69
78
99
126
102
102
95
95
101
107
96
90
96
87
88
79
103
110
115
167
158
150
150
135
115
103
125
129
112
107
100
113
109
97
95
103
107
88
91
94
131
131
131
132
133
133
133
132
132
133
134
135
136
136
138
138
139
139
140
141
141
142
142
144
144
145
146
146
148
148
149
149
150
150
150
152
152
153
153
154
154
154
155
154
152
152
153
153
154
155
154
155
155
156
156
156
157
158
160
162
164
165
165
167
169
170
171
172
174
174
177
180
181
183
184
187
189
192
194
196
198
199
202
210
203
198
199
202
204
204
204
216
222
200
124
168
117
134
51
81
106
57
48
83
52
142
121
179
136
49
93
130
114
116
80
54
15
38
20
4
5
43
15
51
29
31
41
26
21
42
23
25
29
19
10
13
12
5
2
22
7
4
18
22
14
12
11
15
13
14
10
5
7
18
17
12
14
6
0
0
10
12
12
8
6
5
6
1
10
7
5
13
19
18
18
33
27
30
23
12
13
23
64
27
3
8
12
40
26
42
54
38
47
20
31
52
14
24
38
28
34
16
12
41
32
64
55
31
57
40
44
54
62
101
112
67
68
58
69
104
114
73
22
16
12
30
67
96
82
42
49
42
33
45
59
59
82
107
89
82
63
74
120
54
34
57
89
96
110
89
66
78
107
122
123
140
137
132
123
83
87
110
101
116
107
92
75
72
80
96
97
102
115
121
101
120
115
109
110
111
116
131
156
137
113
139
142
117
118
114
134
123
128
109
109
116
111
122
127
131
131
131
132
133
133
133
134
134
134
135
136
136
136
137
137
138
139
140
141
141
143
143
145
145
146
147
147
149
149
149
149
150
150
150
152
152
154
154
155
155
155
154
154
154
154
154
154
154
155
156
155
156
157
158
158
156
157
159
161
161
162
163
164
164
167
169
171
173
174
177
180
180
181
182
184
190
190
193
196
198
200
201
204
203
203
201
202
203
206
211
218
203
222
208
179
127
91
97
65
119
135
145
160
80
114
123
137
155
68
140
123
96
101
75
84
47
14
31
47
30
52
50
71
59
50
46
90
81
54
53
27
35
35
55
34
4
13
20
7
8
7
5
13
12
7
18
17
15
6
11
14
10
12
13
12
13
15
12
7
9
13
11
7
17
22
20
11
10
9
17
12
14
29
38
32
6
35
42
33
40
3
15
17
21
14
5
6
13
7
10
10
12
24
38
38
51
41
52
40
23
30
37
33
47
41
21
10
11
66
51
18
11
35
44
29
37
71
70
83
84
41
51
89
23
0
5
9
33
43
48
51
57
70
77
75
103
86
87
93
85
77
72
90
100
113
91
60
82
86
95
111
110
97
98
102
81
74
81
93
111
123
108
108
84
94
86
81
96
108
121
118
104
91
84
82
104
120
104
107
101
94
97
92
92
110
113
111
119
88
106
116
110
104
102
104
107
98
81
131
131
131
132
133
133
133
134
134
134
135
136
136
136
137
137
138
139
140
141
141
143
143
145
145
146
147
147
149
150
149
150
150
150
150
152
152
154
154
155
155
155
154
154
154
154
154
154
154
154
154
155
156
157
157
158
156
157
158
160
160
162
162
163
164
166
169
171
173
174
177
179
179
180
181
184
189
190
193
195
198
200
200
204
203
202
202
202
204
205
212
218
201
212
218
212
118
107
141
123
120
157
160
87
105
125
142
165
172
84
149
96
100
56
70
104
52
45
66
27
51
46
42
38
84
73
114
93
50
85
51
50
70
35
60
65
6
11
13
5
11
14
13
13
15
15
21
22
18
8
13
15
12
10
12
12
13
15
14
10
7
12
11
9
16
18
15
12
8
10
19
16
18
30
18
8
8
21
34
41
40
13
19
8
6
4
10
23
19
27
13
7
17
20
13
39
26
22
49
47
23
21
23
43
58
45
20
21
39
64
54
29
14
24
36
34
27
44
44
55
50
31
75
85
35
19
36
44
43
25
25
29
42
66
79
80
83
61
45
36
30
35
49
75
101
130
112
82
101
95
84
107
117
112
114
118
112
114
107
101
108
122
117
120
135
127
98
76
79
79
85
91
101
112
117
114
117
122
120
106
101
105
136
140
129
158
141
120
129
99
109
119
142
128
113
103
110
116
112
131
131
131
132
133
133
133
134
134
134
135
136
136
136
137
137
138
139
140
141
141
143
143
145
145
146
147
147
150
150
150
150
151
151
151
153
153
154
154
154
154
154
153
153
153
153
153
153
153
154
154
154
155
156
157
157
155
156
157
158
158
159
159
163
163
166
168
170
172
173
176
178
179
180
181
183
188
189
192
195
197
199
200
207
206
205
203
202
202
204
207
215
210
210
204
202
199
160
153
122
118
102
118
174
166
151
171
161
110
57
104
112
98
114
151
132
111
91
42
102
38
32
58
74
82
77
52
39
71
73
33
40
36
27
64
75
2
1
38
10
14
18
16
7
10
15
16
24
18
7
12
8
6
8
11
12
10
12
14
12
6
8
9
8
7
5
2
14
23
15
15
27
28
15
14
29
20
23
20
15
22
30
28
33
25
12
6
3
20
8
23
29
23
33
53
22
15
54
87
95
64
17
29
63
42
25
16
18
25
12
40
49
27
9
3
0
25
22
7
7
16
38
81
83
51
20
31
61
59
36
22
5
4
18
21
15
15
32
52
67
79
85
90
124
114
83
72
98
115
100
77
84
87
92
101
110
132
97
93
87
90
96
95
105
114
111
101
102
113
120
113
108
111
108
103
103
118
120
115
100
100
99
101
111
99
104
118
102
98
104
105
93
97
96
99
106
129
142
143
131
131
131
132
133
133
133
134
134
134
135
136
136
136
137
137
138
139
140
141
141
143
143
145
145
146
147
147
151
151
151
151
151
152
152
154
154
154
154
154
153
153
152
152
152
152
152
152
151
152
153
154
155
155
156
156
155
155
156
157
156
157
157
162
163
165
167
170
171
172
177
180
180
181
182
184
188
188
191
194
196
198
199
208
206
206
205
203
202
202
204
202
207
207
211
210
213
181
110
167
179
108
162
75
87
76
75
110
171
154
159
118
125
149
157
94
82
93
54
63
75
36
48
42
62
81
85
65
107
86
41
103
117
60
90
139
63
19
7
20
21
29
39
35
26
21
13
33
25
16
19
7
4
10
14
14
7
9
12
12
10
8
8
11
14
17
20
16
13
36
24
14
14
15
19
22
21
12
28
49
53
14
5
23
18
13
13
10
9
22
20
18
14
3
0
23
20
17
37
34
26
47
19
30
30
41
43
49
71
25
40
36
8
10
33
34
21
36
49
23
14
28
14
33
46
32
40
73
72
11
4
0
4
11
9
6
32
50
46
28
23
23
27
54
63
88
89
73
85
59
69
72
82
99
106
87
62
89
91
87
82
75
83
105
109
113
118
114
108
125
129
121
113
106
104
102
125
145
129
138
126
99
81
103
132
105
122
105
104
133
132
122
137
120
105
98
112
114
104
131
131
131
132
133
133
133
134
134
134
135
136
136
136
137
137
138
139
140
141
141
143
143
145
145
146
147
147
151
151
151
151
152
152
152
154
154
154
154
154
153
153
152
152
152
152
152
151
151
152
153
154
154
155
156
156
154
155
156
156
156
156
157
162
162
165
167
169
171
172
178
180
180
181
183
185
188
188
191
194
196
198
199
208
207
206
205
203
202
202
201
207
212
200
202
211
215
216
108
71
183
106
159
89
111
102
112
129
159
150
82
83
111
118
126
73
103
108
57
72
78
52
35
88
101
64
70
85
121
44
52
87
84
37
88
121
28
37
50
12
13
24
41
40
25
15
16
37
30
22
24
10
7
11
15
15
7
8
11
12
2
5
11
18
13
8
5
2
17
29
15
20
21
4
11
8
40
12
24
42
21
18
3
10
3
4
18
25
8
0
8
12
11
15
22
6
20
31
20
17
24
23
12
30
54
70
50
42
66
9
13
20
21
50
80
72
31
48
73
41
27
47
28
18
31
23
34
61
42
5
3
5
11
15
8
3
8
36
42
32
31
31
32
47
59
66
76
79
63
86
67
75
84
85
75
58
89
98
97
99
114
127
99
92
117
108
104
106
113
132
126
135
133
136
133
115
93
106
107
117
108
106
123
113
117
115
127
105
105
102
97
98
92
100
111
114
105
105
101
131
131
132
132
133
133
133
135
135
136
136
137
137
137
139
139
140
140
141
141
141
144
144
146
146
147
148
148
149
149
150
150
151
152
152
152
153
155
155
154
152
151
151
151
151
150
150
150
150
149
151
152
153
154
155
156
155
154
154
155
155
156
157
161
163
166
167
170
173
175
178
181
183
186
187
188
192
192
193
195
196
198
199
214
205
196
198
205
210
207
208
204
197
191
194
208
239
210
202
202
166
165
70
122
117
106
142
158
142
118
175
107
149
151
141
132
113
72
87
65
87
101
53
83
98
52
84
77
99
60
77
72
57
73
79
81
84
114
78
41
27
41
29
47
36
56
54
22
26
18
11
21
16
21
10
19
23
31
31
8
27
19
19
16
12
18
4
32
12
19
29
19
4
27
24
26
22
29
20
13
25
17
11
24
21
23
10
4
4
10
9
3
4
15
21
17
26
34
24
18
12
32
57
12
30
31
28
58
38
53
58
52
43
60
77
67
6
13
14
13
23
24
25
64
43
24
41
60
62
25
22
18
17
14
8
12
47
57
56
59
73
61
32
11
20
25
35
53
67
79
75
65
63
78
71
79
96
112
70
60
73
76
101
97
92
105
117
122
117
95
85
64
81
95
91
85
100
109
103
112
106
96
115
120
120
119
114
115
118
112
113
117
143
121
90
97
99
117
137
132
132
132
133
133
134
134
136
136
136
137
137
138
138
140
140
140
141
141
142
142
144
144
146
146
147
148
148
149
149
150
150
151
152
152
151
152
154
154
154
152
152
151
151
151
151
151
151
151
150
151
152
153
153
154
154
155
154
154
154
154
155
156
159
162
165
167
170
174
177
179
181
183
185
187
189
191
190
191
193
194
196
197
195
202
208
206
200
197
199
194
222
237
210
167
152
223
220
210
216
174
69
172
122
135
128
91
100
112
94
105
111
102
121
119
127
117
103
93
81
83
106
121
78
94
84
92
92
98
51
72
52
44
66
59
53
51
52
70
43
81
67
54
21
41
28
37
40
44
19
24
27
17
20
6
0
38
19
7
32
45
25
13
17
18
10
9
21
35
28
40
43
16
15
33
29
22
52
27
7
43
43
15
1
2
13
13
21
21
30
29
36
46
40
37
15
14
4
22
33
18
11
14
29
11
7
51
74
84
45
58
45
24
23
30
29
47
49
65
34
6
57
85
63
32
19
35
47
44
61
27
18
37
46
32
19
47
59
60
56
54
42
21
14
31
42
44
46
47
54
59
81
80
88
93
84
85
78
76
91
92
70
92
90
106
96
84
81
89
90
79
91
109
104
75
64
93
92
103
110
106
94
90
88
90
91
90
96
107
101
105
115
116
115
89
83
101
109
98
132
132
133
133
134
134
134
136
136
137
137
138
138
138
140
140
141
141
142
142
142
144
144
146
146
147
148
148
149
149
150
150
151
152
152
151
152
154
155
155
153
153
152
152
152
152
152
152
152
152
153
153
153
154
154
154
155
154
154
154
155
156
157
159
162
165
168
171
175
177
180
182
183
185
188
190
190
190
192
194
196
198
199
203
204
201
196
190
191
201
226
184
149
159
202
234
210
207
210
196
240
235
225
105
167
103
166
99
125
113
110
96
111
126
94
109
140
83
105
91
60
85
84
61
69
56
127
86
75
71
69
92
60
48
64
67
50
65
69
61
56
42
47
31
69
46
38
40
32
18
32
37
31
21
21
12
30
13
1
20
49
50
13
37
15
21
9
12
25
23
19
39
28
8
45
31
11
13
6
11
35
15
5
22
10
10
23
56
47
28
29
57
80
54
36
43
35
15
48
48
17
14
29
60
21
38
60
48
97
32
26
23
28
36
33
24
83
96
81
32
17
72
88
67
17
5
19
32
46
88
41
20
27
26
17
20
42
62
70
50
24
11
12
23
33
33
31
38
47
69
79
105
99
103
107
93
85
81
64
45
48
63
52
52
63
73
89
109
125
102
80
85
81
73
71
82
99
90
90
97
96
88
83
86
97
88
97
102
93
90
99
106
113
120
98
86
81
83
70
133
133
133
134
134
135
135
137
137
137
138
138
139
139
141
141
141
142
142
143
143
144
144
146
146
147
148
148
149
149
150
150
151
152
152
152
153
156
157
157
156
155
155
155
155
155
155
155
155
155
155
155
155
156
156
156
157
156
156
156
156
158
158
163
165
167
169
171
174
177
181
182
182
185
188
191
195
194
194
194
194
194
195
186
209
226
216
188
172
179
215
211
207
203
200
201
206
226
238
225
176
181
200
173
162
146
147
171
147
31
73
83
91
118
161
156
142
126
172
92
96
144
99
98
39
104
102
97
85
77
89
66
50
31
58
59
52
53
55
43
18
46
38
30
17
9
15
23
27
52
39
19
22
40
32
45
35
30
25
4
43
56
30
51
23
17
25
45
23
35
43
40
27
39
34
13
28
20
15
14
5
40
66
37
3
22
47
67
52
50
46
72
99
56
35
72
28
8
16
31
82
119
69
18
3
4
27
68
118
40
18
37
68
75
68
68
34
45
24
11
30
35
30
22
13
13
26
51
78
43
22
27
34
15
7
20
65
69
63
42
26
36
55
100
87
65
54
64
73
67
87
92
79
79
79
76
60
66
66
45
23
25
55
70
49
63
76
77
73
72
72
69
74
86
99
107
101
96
84
86
93
109
117
102
98
100
104
108
109
109
112
114
106
105
89
97
92
107
118
134
134
135
136
137
138
138
139
139
140
141
142
143
143
142
142
143
144
145
145
145
145
145
146
147
148
148
148
151
151
152
153
154
155
154
157
157
159
159
160
161
162
161
161
161
161
161
161
161
161
161
160
160
160
160
160
162
161
161
162
163
165
166
170
170
171
174
176
177
179
184
193
192
186
179
182
187
186
184
184
193
205
209
151
142
195
247
223
191
197
208
200
192
197
214
220
171
145
207
233
241
186
193
253
218
135
128
121
137
104
65
148
122
96
153
128
122
96
79
109
110
147
93
134
90
110
118
94
101
134
99
132
62
38
48
57
33
60
33
54
34
83
72
11
63
39
6
37
29
15
27
27
49
8
19
29
44
33
9
34
33
21
45
44
37
15
26
68
32
42
48
37
8
21
51
9
18
22
30
40
17
23
14
45
17
53
50
37
32
85
66
46
53
28
39
71
40
7
21
67
82
64
29
95
116
57
39
84
109
69
27
52
97
101
108
79
62
57
57
48
45
64
91
96
93
90
82
48
49
69
35
27
50
62
66
79
106
110
66
11
4
23
41
68
71
78
91
102
99
71
63
68
101
119
91
66
73
71
73
73
90
119
112
92
88
91
100
108
100
68
64
51
55
72
93
113
132
103
126
121
108
103
104
97
98
95
88
88
77
102
112
130
152
112
116
136
101
106
109
134
134
135
137
137
138
138
138
139
139
141
142
142
143
142
142
143
145
144
145
145
145
145
146
147
148
148
149
151
150
153
154
155
155
156
158
158
159
160
162
162
163
162
162
162
162
162
162
162
163
162
162
162
162
162
162
163
163
163
164
166
167
169
171
171
171
172
175
177
178
183
175
166
181
200
195
186
186
200
217
213
185
156
203
234
216
177
184
207
201
184
190
209
223
203
170
182
228
246
214
210
202
200
206
116
191
191
138
171
143
118
132
140
175
154
149
134
170
98
69
112
103
60
124
96
101
100
92
96
124
78
77
18
77
74
46
54
55
68
65
32
54
36
14
62
45
15
31
18
26
25
29
37
31
38
30
66
54
28
24
23
34
71
44
27
9
27
45
54
27
28
41
15
9
29
23
9
22
17
41
44
41
20
57
32
49
39
34
62
72
46
34
51
32
37
80
69
43
48
76
87
78
24
122
155
83
35
53
69
85
52
78
102
97
93
43
37
58
80
65
37
49
89
104
88
76
93
97
72
85
58
55
73
84
93
96
89
83
69
46
31
36
50
43
50
80
112
126
129
43
27
42
74
86
74
74
70
80
74
64
71
94
88
71
70
80
87
85
75
89
106
110
105
106
107
108
125
112
93
95
88
81
73
68
72
104
119
129
102
88
69
58
87
78
103
127
111
108
93
135
135
136
137
138
139
139
138
138
139
140
141
142
142
143
143
144
144
145
146
146
146
146
148
149
150
151
151
151
152
155
158
160
161
162
161
162
164
165
165
166
167
167
167
167
167
167
167
167
167
167
167
167
166
166
166
167
168
169
171
172
174
173
173
172
172
172
173
174
175
171
176
183
179
179
191
173
142
139
188
236
236
203
190
197
201
197
197
209
215
178
175
182
195
202
204
230
198
225
202
135
248
220
230
149
68
169
159
198
107
77
140
70
130
102
166
128
126
148
143
153
110
108
78
72
82
101
109
125
89
94
68
78
72
77
57
51
68
74
34
42
43
15
51
52
10
26
38
24
13
8
47
33
10
28
20
81
43
50
37
58
53
49
26
31
13
17
16
45
24
31
40
19
39
26
12
38
22
26
102
54
17
14
34
14
19
39
79
72
25
29
29
35
26
30
45
64
52
69
97
99
79
50
123
118
50
36
93
133
65
36
65
104
113
95
46
55
87
90
73
65
71
81
70
85
79
56
55
73
31
34
46
63
89
118
113
41
39
58
77
75
74
77
52
73
56
42
56
45
39
48
68
86
88
88
107
105
87
60
34
38
63
78
80
65
77
82
82
88
132
148
167
158
153
150
140
104
93
92
108
120
127
119
112
115
96
99
95
73
140
137
118
103
114
127
120
113
125
118
135
136
136
138
139
139
140
139
140
140
142
142
143
143
142
143
143
145
146
146
147
148
149
150
152
153
154
155
158
158
161
163
165
166
167
166
166
169
170
170
171
171
171
171
171
171
171
171
171
170
170
170
169
169
169
169
173
174
176
176
177
176
175
176
175
175
175
176
177
178
171
197
210
160
118
150
245
206
177
179
190
189
184
179
205
207
191
178
169
174
217
180
178
217
232
206
211
198
154
228
246
98
159
28
61
69
88
225
152
126
169
167
178
145
87
158
108
102
91
109
98
87
92
61
119
110
100
71
126
127
132
77
75
66
67
27
49
49
58
41
62
56
14
42
32
3
21
31
37
19
47
40
0
53
32
23
59
34
46
39
51
46
34
61
56
16
3
21
27
12
17
36
13
9
16
52
38
32
14
49
40
26
82
58
32
23
36
65
58
34
61
45
35
68
100
94
49
26
63
109
90
32
22
116
101
48
52
91
102
91
67
75
122
120
87
91
96
95
117
124
112
113
127
107
78
54
51
67
79
66
47
30
17
16
40
53
54
69
67
71
89
90
93
98
41
46
73
55
58
94
90
61
45
65
93
96
75
89
65
47
50
53
48
67
101
95
99
115
131
113
96
60
47
31
35
59
74
74
84
83
74
72
82
80
80
95
100
107
85
99
97
96
100
103
110
104
67
85
110
136
136
137
138
139
140
140
140
140
141
143
143
144
144
143
143
144
145
146
147
147
150
149
152
154
155
157
157
162
162
165
166
166
167
168
168
169
170
171
172
173
173
173
173
173
173
173
173
172
172
172
172
172
172
172
172
175
176
177
177
176
175
175
177
177
176
177
177
179
180
165
134
121
153
215
229
166
182
190
185
182
187
187
209
197
168
145
163
208
221
186
207
222
216
202
199
219
161
214
246
98
182
205
72
145
55
222
221
82
133
177
129
162
179
87
109
78
157
117
91
144
146
118
86
109
108
87
78
83
80
96
81
86
56
74
48
59
52
51
72
57
42
25
32
22
11
18
21
42
14
45
19
4
44
31
41
56
57
52
23
64
53
33
62
52
18
15
37
34
27
28
58
41
19
21
58
26
29
17
33
44
37
82
50
47
35
27
37
50
54
62
33
35
86
109
99
36
31
73
107
87
41
41
112
106
60
47
68
77
105
82
63
80
92
104
145
86
85
113
119
98
89
102
125
108
78
76
86
84
89
66
52
41
28
31
42
40
65
80
90
111
125
108
105
50
35
50
47
58
93
93
86
80
84
85
76
90
68
38
21
36
55
52
69
109
114
123
124
106
91
109
121
114
88
66
70
86
92
81
92
101
110
101
80
67
53
49
82
110
98
75
85
96
96
105
118
112
100
92
139
139
139
140
141
141
141
141
141
142
143
144
145
145
146
146
147
148
149
150
149
151
153
159
160
162
163
163
166
166
168
169
170
170
170
172
172
173
172
173
173
173
174
174
175
175
176
176
176
184
176
176
174
171
176
183
178
181
185
184
179
178
181
179
185
188
182
163
139
122
219
211
182
178
164
158
168
175
176
182
194
190
158
164
234
212
175
194
183
168
228
216
200
206
217
193
181
239
91
117
86
88
56
128
166
246
162
84
183
74
157
190
243
112
146
140
148
147
198
151
130
163
126
124
126
79
65
85
87
47
93
109
75
84
77
103
71
57
63
74
30
48
44
66
77
20
35
42
15
3
0
20
29
92
44
25
45
118
69
84
108
33
26
46
44
24
69
78
43
51
64
50
42
51
57
30
5
24
37
27
9
52
70
35
78
77
45
41
29
67
61
35
27
81
109
94
99
78
96
81
80
62
66
80
81
99
105
102
108
127
140
103
69
76
101
155
89
54
75
89
93
113
134
150
85
81
66
96
106
67
90
91
105
80
45
61
41
36
36
49
72
91
101
89
80
95
85
42
33
65
66
46
63
81
81
111
81
26
19
22
26
30
32
22
30
53
52
38
55
85
69
79
86
91
77
65
91
76
67
91
94
105
133
110
111
98
112
109
83
67
84
94
77
90
97
94
97
96
87
139
140
140
141
141
141
141
142
142
143
144
145
146
146
146
147
148
150
152
152
152
155
156
161
164
165
165
165
168
168
169
170
170
170
171
172
172
171
172
172
172
173
174
174
174
175
175
175
175
176
174
179
183
182
180
179
176
175
184
182
173
180
196
153
123
145
198
223
196
156
177
175
167
171
171
165
202
197
161
132
163
217
224
164
193
172
171
180
197
226
199
213
203
178
150
171
117
192
221
168
147
212
222
166
255
125
149
160
98
125
212
170
134
164
161
164
103
145
51
82
120
78
95
62
87
67
95
51
52
13
68
114
106
77
155
122
69
76
108
42
56
77
78
81
59
63
50
55
44
15
6
11
14
47
30
65
29
67
52
59
87
67
63
51
58
89
83
63
48
68
89
40
39
46
99
31
29
18
17
35
24
50
25
85
69
31
34
34
49
96
55
31
45
69
58
103
72
91
55
71
93
71
108
79
118
120
109
110
109
118
127
92
95
133
119
87
84
78
105
129
133
123
113
100
90
123
90
78
88
92
83
100
61
46
76
71
58
40
34
57
88
107
115
126
103
88
108
129
107
93
80
42
47
70
63
68
103
103
59
24
23
32
54
70
94
93
81
70
77
88
71
41
39
53
64
52
32
35
48
99
119
127
109
106
158
115
67
41
65
93
89
93
117
110
98
88
95
106
113
140
140
140
141
141
142
142
142
143
143
145
146
146
147
147
147
149
152
153
154
155
158
159
164
165
166
167
167
169
169
170
171
170
171
171
171
171
171
171
172
172
172
173
174
174
174
175
175
174
179
179
180
180
179
177
176
179
180
173
180
188
173
144
153
197
209
190
168
166
174
172
189
191
165
182
213
142
121
147
212
224
171
151
184
167
182
183
213
224
187
204
186
181
162
163
242
172
232
214
153
237
225
126
248
154
139
156
169
97
136
194
192
114
188
164
150
111
115
55
67
115
109
116
18
83
57
99
46
46
22
77
92
109
103
94
98
140
114
95
73
108
80
53
82
26
52
78
69
64
28
8
11
31
40
22
84
40
42
34
36
64
87
55
81
61
82
86
77
75
35
57
65
67
67
87
46
40
32
24
47
39
41
25
67
51
23
37
25
88
101
63
46
51
61
63
107
84
79
45
59
98
96
103
115
134
120
101
91
82
82
100
117
136
137
109
82
57
87
122
143
140
116
92
104
131
154
114
80
84
106
88
107
97
69
62
56
91
69
58
71
89
98
102
127
100
110
124
103
89
82
99
58
32
53
68
46
91
106
98
78
58
59
77
76
98
128
128
81
40
68
71
83
66
53
49
43
55
69
83
72
68
76
122
104
57
79
90
91
86
116
112
94
76
85
104
120
104
99
102
141
141
141
142
142
142
143
144
144
145
147
147
148
148
148
149
150
156
157
159
160
162
163
167
168
169
170
170
171
171
171
171
171
170
170
170
171
170
171
171
171
171
172
173
173
174
174
174
174
174
179
176
175
178
183
184
192
176
144
134
160
192
207
174
175
184
193
194
186
176
186
209
187
135
126
167
220
193
169
174
188
183
170
167
193
234
205
193
212
187
188
138
138
247
104
185
189
164
230
235
171
141
196
99
204
179
244
144
157
207
113
170
137
200
151
209
180
166
110
51
115
101
60
59
64
107
92
74
82
154
117
124
114
89
85
103
45
113
136
61
80
82
62
83
72
89
86
51
56
24
16
20
56
88
83
115
47
83
108
58
71
68
48
97
58
70
61
82
108
70
68
40
103
42
32
72
48
66
62
74
56
59
53
70
100
54
53
57
60
106
61
68
95
72
53
100
123
85
69
39
78
120
61
95
128
138
104
93
129
117
139
174
166
123
101
89
120
106
103
126
142
123
96
121
138
103
109
90
87
99
76
50
75
76
79
115
63
70
78
83
91
99
105
121
126
110
107
127
125
55
76
127
89
57
97
85
121
102
112
110
100
94
100
131
143
92
57
60
71
74
54
60
71
77
85
100
93
86
91
104
100
104
82
73
113
89
53
54
98
96
84
98
98
98
108
111
70
99
148
141
141
141
142
143
143
143
145
145
146
147
148
149
149
148
149
152
158
160
162
163
163
165
168
169
170
169
169
171
171
170
170
170
169
169
170
170
170
170
171
171
171
172
172
173
173
174
174
174
181
172
174
184
189
178
163
164
195
197
181
169
172
179
181
179
176
176
181
188
194
110
164
208
202
206
210
165
189
181
153
161
194
202
224
184
201
201
177
202
184
148
240
129
141
241
217
191
251
231
124
173
218
195
227
227
202
217
178
221
190
222
94
210
152
176
173
201
109
176
227
187
142
99
114
140
96
139
151
54
245
188
214
146
147
104
55
63
52
75
120
67
99
123
78
111
125
115
93
98
56
88
63
37
112
70
80
83
77
93
62
57
95
79
91
56
44
82
97
30
70
51
87
72
70
44
53
50
61
62
88
40
53
79
58
70
67
103
80
82
102
77
87
92
54
60
75
83
105
49
37
76
93
77
138
129
87
86
125
144
119
102
116
80
26
59
106
144
138
121
123
129
127
127
93
129
91
79
59
83
128
106
146
141
112
112
99
75
103
122
121
121
123
107
76
73
105
123
101
95
99
119
55
51
85
88
99
122
99
131
133
121
135
131
121
99
78
91
110
92
85
94
104
91
80
88
86
66
99
123
106
79
58
52
83
120
78
83
109
136
82
69
84
82
99
107
101
106
106
97
141
141
142
143
144
145
145
142
143
144
143
144
145
149
150
152
155
159
160
164
166
169
169
171
172
173
173
173
170
170
170
170
170
170
170
170
170
171
172
172
173
174
179
170
179
179
175
172
166
163
180
193
173
139
134
151
191
163
172
180
175
190
180
185
172
183
212
189
131
102
210
194
171
196
190
163
196
151
154
188
180
191
232
186
205
201
188
192
147
95
247
133
155
249
202
133
229
215
136
164
218
226
111
216
220
184
204
162
226
107
191
112
198
126
205
153
180
191
216
205
197
201
211
187
166
157
156
137
186
215
223
211
224
173
165
145
72
95
72
125
121
107
72
124
111
84
85
87
144
62
93
72
104
46
94
70
107
81
70
72
92
104
71
106
82
57
61
125
63
76
39
32
78
96
72
30
65
60
70
41
35
93
61
46
51
99
94
55
42
98
81
87
30
73
98
40
97
106
68
120
148
70
92
159
150
111
89
106
132
128
91
71
73
75
93
99
134
121
139
137
121
146
125
114
91
88
101
112
107
132
105
120
134
152
94
61
81
111
107
101
133
130
117
90
111
81
114
124
70
159
109
87
40
55
90
101
108
123
149
162
129
98
153
126
73
78
102
110
112
71
72
108
84
50
54
85
72
74
93
106
120
114
63
64
77
101
111
104
90
114
116
110
106
82
61
63
84
104
132
140
140
142
143
144
145
146
144
145
146
146
148
149
152
151
154
156
159
162
164
168
168
169
170
171
171
172
172
170
170
170
170
170
170
170
169
170
170
171
171
172
172
169
173
182
168
154
165
183
178
132
177
197
172
160
179
179
170
190
191
171
176
180
185
138
102
141
208
211
169
217
195
153
184
204
186
190
198
175
194
228
196
177
204
196
197
136
135
183
233
137
226
218
177
174
205
162
128
182
225
201
107
220
219
182
210
148
229
116
117
130
172
162
170
186
105
147
198
204
206
207
205
203
205
207
209
220
205
219
218
214
201
216
215
199
216
156
110
155
159
101
40
102
74
92
97
136
99
87
93
141
115
50
87
75
119
60
66
143
66
35
106
105
98
87
125
113
93
80
39
60
22
82
77
59
63
84
42
28
60
62
42
58
27
42
91
103
36
19
131
99
46
38
94
156
93
75
79
68
130
130
89
142
148
122
112
138
139
101
106
113
107
84
92
126
119
94
109
107
110
121
114
129
82
95
115
114
100
101
143
118
156
130
74
45
74
87
109
110
121
154
92
98
76
89
80
119
94
64
92
66
87
71
61
74
97
104
128
123
131
130
116
127
127
56
47
55
58
71
68
81
79
83
100
94
62
75
73
68
99
123
129
118
91
66
64
44
47
77
104
116
139
120
132
134
119
75
78
96
140
140
141
143
144
145
147
145
146
148
150
151
155
158
155
157
160
162
164
167
169
168
169
169
169
169
169
169
169
169
169
169
169
169
169
168
168
168
168
168
168
168
156
167
184
175
153
142
141
196
171
175
176
171
174
183
189
184
164
181
202
154
81
215
207
154
165
193
204
224
178
203
202
162
172
198
185
191
233
193
185
206
176
176
87
171
174
211
193
111
219
178
141
209
231
167
146
185
239
134
158
208
214
187
191
156
223
127
130
188
136
189
156
155
157
137
143
224
199
204
208
207
205
207
209
209
217
211
211
210
211
200
203
207
217
210
201
212
205
199
188
206
223
146
120
137
128
80
63
107
107
125
102
134
86
114
110
79
136
83
73
115
100
54
122
75
100
121
89
111
56
75
43
66
93
87
93
70
57
94
45
79
71
15
34
74
70
13
1
97
101
51
65
114
89
69
92
157
131
123
95
110
115
116
107
126
139
126
112
123
141
137
136
113
93
141
111
73
98
124
124
137
113
81
98
107
119
128
119
82
77
125
130
118
86
103
94
124
123
115
145
93
117
104
98
114
97
89
104
104
140
132
129
120
101
79
128
151
118
71
55
81
103
92
48
46
59
63
70
66
82
90
100
94
92
111
112
107
85
115
127
126
121
86
61
61
49
64
99
125
115
102
74
118
128
104
128
122
94
140
140
142
143
144
146
146
145
146
147
150
153
155
159
156
159
161
165
166
169
170
170
170
168
168
169
168
168
169
169
169
169
169
169
169
168
168
167
167
167
167
167
160
172
145
132
154
175
173
166
180
189
185
177
177
184
169
185
173
141
125
149
206
173
178
191
195
191
183
175
202
184
167
174
173
171
208
247
168
186
216
174
184
96
171
175
215
182
93
245
183
162
208
220
192
161
197
215
189
126
205
180
236
197
181
193
194
84
180
183
169
157
166
164
126
152
182
209
201
203
205
207
208
205
203
215
215
213
211
211
208
202
215
209
199
199
208
204
206
213
203
207
189
206
186
178
226
198
139
151
125
96
87
180
138
74
104
89
94
121
46
116
119
83
129
74
106
133
90
106
46
94
52
70
111
111
102
53
41
91
60
48
63
20
29
98
73
13
25
86
84
42
61
61
101
103
79
147
112
105
103
110
107
125
106
114
133
115
74
132
130
140
123
104
129
138
111
74
97
113
107
134
105
90
103
118
122
114
111
102
115
91
44
84
81
74
119
100
122
143
115
147
94
100
119
98
108
115
97
115
128
127
137
129
110
89
110
101
143
152
115
76
55
73
56
53
68
77
90
62
64
85
99
91
85
106
122
144
137
138
120
115
117
93
87
87
114
124
89
79
109
109
115
92
87
112
114
117
143
143
143
143
143
144
145
144
143
143
145
147
150
153
156
160
162
164
167
168
171
172
171
170
169
169
168
168
168
168
168
168
168
168
168
168
166
166
166
166
165
165
165
120
186
182
162
161
170
171
173
176
177
174
174
182
193
125
159
186
191
176
159
193
180
200
194
172
188
210
197
174
189
191
177
186
209
174
220
184
192
208
127
118
173
213
174
109
203
222
190
190
228
221
162
146
172
230
166
157
190
206
228
192
193
180
193
105
179
144
182
192
144
123
183
115
176
220
196
205
206
207
206
205
208
210
215
208
216
214
209
200
210
210
201
208
210
206
213
197
199
213
188
209
182
206
195
199
191
194
194
205
194
204
176
159
141
116
106
120
77
93
147
112
184
97
123
94
110
134
83
107
102
112
61
114
91
97
67
82
106
66
75
91
105
64
128
85
94
90
71
65
48
49
55
102
136
105
137
68
80
128
90
78
124
108
108
92
97
145
167
133
92
112
132
131
124
116
94
71
87
121
112
97
90
90
98
131
160
147
114
107
136
120
109
88
101
114
118
112
114
121
113
75
95
124
118
70
70
123
117
143
136
155
146
128
103
73
143
152
138
134
140
75
70
62
80
112
111
96
65
84
86
89
115
124
101
118
132
140
110
81
105
121
85
88
151
109
92
102
121
130
120
95
98
110
130
124
115
123
145
145
145
144
144
144
143
137
141
146
150
152
155
158
161
165
167
167
169
172
172
181
177
174
173
171
167
163
167
174
176
171
176
177
168
163
173
156
139
145
169
190
172
161
165
173
169
160
157
172
182
166
146
128
147
194
184
164
176
195
171
165
207
185
192
195
187
181
182
181
172
182
184
213
207
166
165
205
186
80
176
200
169
221
105
219
171
205
172
176
222
142
178
147
202
204
126
197
194
200
228
173
203
188
185
114
165
146
170
137
157
124
144
159
155
135
216
211
203
204
205
206
206
208
207
212
211
211
212
210
207
206
206
206
205
205
206
205
205
204
204
202
202
200
198
199
197
197
195
195
194
194
194
184
217
212
149
132
117
118
121
109
157
83
122
141
158
116
95
117
91
111
121
113
84
98
72
86
78
91
60
59
85
65
91
135
122
125
101
85
107
63
53
91
122
110
147
107
67
108
149
148
89
90
84
100
102
127
176
137
126
92
100
121
104
106
131
116
112
91
105
123
121
61
53
96
70
86
64
70
89
79
98
113
92
89
96
100
158
144
139
77
52
150
68
72
89
112
135
141
133
131
91
88
107
123
77
63
67
70
85
111
117
101
76
76
117
133
118
106
80
80
72
85
78
79
115
96
91
77
93
117
94
97
107
113
98
89
99
102
95
101
114
122
128
124
137
140
125
146
146
146
144
144
144
143
142
143
147
147
145
148
155
155
158
162
166
166
167
168
171
166
166
171
172
166
160
167
150
161
162
158
159
161
176
162
141
155
169
166
153
165
169
170
167
166
172
181
183
135
122
158
192
192
181
182
188
184
173
184
193
177
186
198
197
172
169
184
182
166
207
225
170
180
217
208
156
70
210
188
157
182
121
197
199
203
169
139
208
175
148
160
179
193
210
172
210
175
222
206
165
203
207
149
102
174
140
169
139
148
119
190
133
182
106
206
197
203
204
205
206
206
207
207
209
210
211
212
210
207
206
207
206
206
206
204
205
204
205
206
204
203
200
199
198
196
196
195
194
194
193
193
200
199
184
207
201
160
128
112
108
114
87
101
119
118
107
98
121
100
107
119
130
116
118
76
109
89
63
92
88
66
72
99
103
119
123
112
40
125
130
76
73
93
109
158
135
99
112
140
163
122
68
86
91
136
163
147
119
119
114
106
99
95
116
106
138
148
108
97
152
133
58
74
95
67
38
65
95
111
84
61
62
70
94
116
80
94
139
92
144
139
46
135
97
76
110
114
123
132
149
115
104
112
129
117
68
87
110
108
99
141
132
109
97
114
152
132
88
99
94
108
102
83
104
109
125
114
106
109
114
113
115
111
115
90
89
127
127
111
121
125
128
130
123
128
135
129
146
145
146
145
145
145
144
145
141
142
159
164
160
154
154
151
150
156
154
155
158
179
181
180
176
170
163
160
158
146
167
165
151
144
143
168
160
172
171
159
159
169
176
162
170
170
165
152
134
154
195
177
170
181
185
179
172
179
186
164
171
193
185
180
174
177
188
187
183
187
209
195
204
179
184
199
142
213
183
189
168
202
119
224
180
218
146
190
211
186
163
149
201
202
219
145
194
172
219
204
177
195
154
133
127
172
124
158
151
165
144
110
167
145
161
123
201
202
203
204
205
206
205
207
207
207
207
208
209
210
209
209
209
209
208
207
205
203
203
205
205
204
201
198
196
195
193
192
192
193
194
194
194
199
194
189
199
198
194
197
211
189
173
95
130
107
34
132
120
142
118
124
138
108
121
122
74
103
67
70
111
42
53
97
47
88
116
111
103
61
92
26
20
109
110
139
129
76
74
127
122
81
112
123
135
104
150
134
103
134
156
154
120
101
114
118
110
130
134
154
129
134
72
112
99
107
78
95
81
129
129
152
138
86
71
92
108
122
135
124
92
138
72
138
92
72
66
87
117
113
114
109
128
121
129
132
99
100
127
129
122
127
125
137
126
142
91
85
103
83
99
101
86
62
60
109
111
131
101
109
126
148
138
110
92
93
104
104
101
120
127
132
159
126
108
119
130
136
140
144
144
144
144
145
146
146
150
161
160
141
136
109
74
58
47
40
41
38
38
45
41
53
97
119
135
144
149
158
124
155
180
172
150
134
175
172
159
171
182
167
140
183
140
151
163
183
192
180
180
178
168
175
196
197
178
152
168
204
193
176
182
183
181
191
195
187
185
191
194
226
179
198
146
110
220
189
152
197
192
93
191
214
198
149
177
212
195
151
161
179
219
160
183
154
214
178
201
197
165
193
154
193
151
165
156
125
169
127
177
126
144
135
155
124
170
201
211
203
204
205
206
205
207
207
204
206
207
208
210
210
210
210
210
208
208
204
202
202
202
202
200
198
194
192
193
190
190
191
193
194
195
194
193
196
201
185
186
197
203
201
184
202
180
187
143
159
114
76
140
119
106
133
107
129
157
116
119
115
78
71
99
52
122
101
85
102
100
76
48
47
35
25
38
85
106
133
126
72
71
92
95
81
74
116
125
130
175
137
146
135
141
125
86
99
121
156
136
127
107
144
167
143
60
95
82
124
128
145
121
119
128
113
105
99
92
84
126
86
118
121
115
136
115
70
104
94
88
129
111
118
144
123
124
124
101
88
89
111
110
100
113
115
102
118
80
71
67
90
139
92
94
80
88
113
148
88
87
121
97
83
99
101
99
123
119
112
108
117
117
107
108
141
147
139
116
130
138
122
140
142
147
149
147
144
143
150
150
158
163
152
132
108
51
61
44
39
42
37
43
52
43
90
102
93
94
110
163
169
149
134
173
176
186
171
161
147
157
164
153
134
152
177
169
168
174
177
180
192
177
187
196
192
161
135
204
187
171
186
195
182
175
175
179
190
179
158
190
202
228
97
157
236
170
178
203
200
107
171
236
178
198
180
197
220
141
185
155
154
193
202
160
169
220
171
209
214
166
183
173
186
149
136
186
100
179
124
175
167
152
162
133
159
139
190
198
203
201
202
203
204
205
207
207
208
208
208
207
207
206
206
207
206
206
205
203
202
202
199
199
198
197
194
193
193
190
191
191
192
193
193
193
192
192
192
193
194
194
195
195
194
194
194
194
193
193
199
211
108
78
123
134
85
122
90
103
146
148
102
112
80
129
110
109
60
83
150
68
40
143
76
125
102
46
90
145
99
52
120
119
95
106
121
86
112
132
119
148
158
133
140
108
102
166
112
123
120
152
151
153
128
124
38
88
116
131
151
148
124
130
115
122
136
97
87
101
131
129
134
108
108
130
145
192
136
88
135
114
128
115
115
109
108
95
70
94
78
106
121
129
147
142
149
109
115
148
128
99
133
97
125
111
105
98
87
102
100
100
107
103
103
139
123
99
91
127
138
148
143
114
131
124
116
98
92
109
108
119
140
142
147
149
147
145
142
159
160
167
153
137
121
103
62
56
47
27
27
28
24
41
52
58
46
59
109
160
138
137
106
165
184
165
155
158
171
180
155
136
144
164
175
170
169
177
181
183
189
167
175
175
169
149
181
217
166
167
192
176
153
162
179
189
201
167
157
228
204
203
69
181
198
167
197
197
202
101
169
226
162
195
156
195
201
176
165
151
149
170
192
184
142
217
166
177
221
188
178
186
167
178
155
168
143
126
172
121
184
135
145
162
141
149
153
190
197
201
201
202
203
203
205
207
207
208
208
207
207
207
206
206
206
206
205
204
202
202
201
199
199
198
197
194
193
193
190
190
191
192
192
192
193
192
192
192
193
193
195
195
194
194
193
193
192
192
192
182
195
176
157
167
149
97
114
139
118
97
118
85
154
96
74
75
93
89
106
98
83
75
100
103
130
97
54
100
137
128
73
94
105
111
124
119
88
97
128
141
143
111
153
128
106
130
124
139
116
91
134
146
137
96
86
36
53
106
144
140
122
121
134
118
132
104
102
117
119
94
124
136
122
110
149
64
98
117
113
129
103
87
130
151
145
171
149
83
56
95
121
117
88
70
89
126
116
123
145
122
98
126
107
102
117
135
132
100
92
124
116
121
119
116
109
95
89
99
134
144
126
109
103
106
115
108
89
83
114
124
139
142
143
147
149
148
145
145
148
156
171
155
140
136
133
121
95
80
61
56
59
56
63
53
42
53
62
62
58
112
79
174
139
157
165
156
135
126
163
178
173
168
172
164
176
175
175
171
168
174
202
132
161
206
182
181
180
189
182
172
170
182
188
184
154
160
218
196
214
142
84
196
169
181
197
169
215
150
248
180
185
188
143
176
180
172
178
157
179
174
212
156
181
200
158
209
164
176
173
190
179
152
166
141
174
104
172
137
155
174
114
168
152
150
123
191
192
196
198
200
201
202
203
205
206
206
206
206
206
206
205
205
204
203
203
202
202
201
201
200
198
198
197
196
193
193
192
190
190
190
190
190
190
190
190
191
191
192
193
193
193
192
191
191
189
189
188
188
199
184
195
197
195
196
193
128
90
139
122
85
118
61
113
98
73
90
153
103
119
87
44
85
111
108
77
62
96
153
121
56
81
123
104
130
107
120
108
121
155
130
114
128
166
136
94
134
149
130
121
125
95
87
75
85
129
116
98
96
131
154
100
119
96
117
97
134
132
112
129
145
81
131
142
131
132
122
134
97
114
115
111
128
160
137
143
105
63
116
99
118
124
116
109
96
95
114
129
128
103
99
89
111
121
137
140
146
140
49
54
83
89
104
127
132
114
109
111
98
108
135
132
124
125
118
128
115
98
109
110
115
144
145
147
148
147
146
145
144
147
162
164
151
144
141
121
112
77
50
35
22
34
18
17
43
40
34
49
76
73
89
158
117
111
161
160
178
164
174
181
174
168
172
172
173
171
181
183
170
157
126
190
180
190
190
201
182
211
204
194
208
185
139
129
210
191
189
96
147
225
178
198
199
185
191
113
149
192
204
183
154
187
187
215
176
149
139
172
199
211
138
205
173
177
193
166
246
191
201
174
146
155
143
149
115
176
151
130
179
123
141
173
146
137
142
194
196
198
200
200
201
201
202
204
205
206
205
205
204
204
204
203
203
199
199
199
199
199
199
199
198
197
196
195
193
192
191
191
191
191
190
190
190
190
189
189
189
191
191
192
192
191
190
190
187
186
185
185
182
190
187
186
191
193
191
191
212
134
126
115
104
85
90
75
86
116
102
145
102
96
118
50
66
128
88
53
99
130
132
85
86
106
120
124
93
108
115
99
80
100
128
126
148
115
89
143
155
145
135
117
76
84
89
106
110
130
132
102
114
141
100
116
51
50
77
141
145
120
95
144
141
134
98
102
74
83
126
105
113
148
83
54
83
97
149
135
88
91
84
111
123
113
115
130
109
106
123
117
84
78
72
110
89
97
86
79
94
73
58
65
73
71
68
106
114
115
96
114
103
91
105
75
59
109
104
89
85
98
90
91
146
146
147
148
148
147
147
159
160
172
164
147
143
144
125
122
101
43
26
18
19
35
24
26
40
51
60
66
82
102
123
138
196
142
183
151
164
164
166
177
175
164
175
176
183
179
156
142
148
201
185
186
176
186
186
198
196
169
178
199
147
126
201
198
162
105
207
226
155
176
192
183
230
139
135
232
197
189
148
171
191
191
131
143
157
186
204
204
153
142
194
175
173
190
201
186
194
176
182
125
171
107
199
139
176
138
150
160
130
135
168
151
132
168
187
200
198
200
200
200
201
202
204
204
204
204
204
204
203
203
202
202
198
198
198
198
198
199
199
197
197
196
195
192
191
191
193
192
192
191
191
190
190
188
189
190
190
191
191
191
191
190
190
187
186
186
185
189
192
181
184
187
189
190
197
171
200
194
125
118
76
57
105
65
84
138
121
127
128
128
125
72
152
73
50
104
146
114
68
97
104
112
87
117
142
152
137
60
46
152
109
113
98
58
104
102
137
156
169
113
83
91
142
101
109
142
137
105
98
100
100
74
45
87
108
129
108
155
119
100
98
114
102
114
98
113
115
113
105
121
83
57
78
119
148
152
76
59
75
107
128
121
115
129
113
116
102
76
83
85
102
90
98
106
108
96
41
17
3
22
46
67
97
111
129
108
102
81
65
113
112
87
63
79
93
111
115
108
119
147
148
149
148
147
149
150
159
153
158
187
174
150
136
137
123
128
55
38
27
26
28
22
22
30
35
34
31
41
158
176
136
163
158
170
176
170
176
175
179
179
174
179
168
156
156
176
189
184
179
190
184
188
200
197
184
185
166
128
164
203
188
200
186
208
197
201
204
189
190
205
155
120
228
215
165
152
174
165
204
166
161
185
183
172
206
183
156
151
202
174
190
187
192
215
142
147
190
124
183
95
204
169
190
158
125
174
138
171
145
153
139
155
182
197
196
199
198
200
201
202
201
203
202
202
202
202
201
201
200
199
198
198
197
196
195
195
196
197
194
194
194
194
194
194
194
192
192
192
192
192
192
192
192
192
192
191
190
190
190
191
190
190
188
187
186
186
186
185
181
179
178
176
176
180
180
182
184
187
189
190
168
46
128
84
59
123
125
131
91
103
154
83
85
112
92
118
140
123
41
46
126
123
94
107
153
158
80
85
88
145
133
139
103
93
90
131
146
131
115
110
101
110
121
173
87
59
137
116
121
155
72
45
85
130
112
38
43
66
135
97
108
139
124
124
121
123
133
105
137
99
120
130
100
93
128
82
98
103
119
125
112
128
134
107
110
104
88
80
115
122
138
132
116
104
97
87
102
39
19
13
44
96
98
107
103
106
118
137
114
104
118
102
88
93
97
109
122
110
152
150
150
146
148
153
157
155
156
158
167
173
170
164
149
154
112
100
88
32
34
24
22
23
23
24
30
33
93
90
113
167
161
174
167
160
163
172
171
173
180
183
152
169
192
176
171
184
180
190
188
193
188
178
180
192
153
192
187
188
206
179
192
188
171
173
189
212
159
223
107
228
180
173
229
141
180
209
147
176
208
172
166
190
198
186
138
156
209
174
193
182
187
226
152
195
192
110
190
109
183
216
105
162
123
153
142
190
127
159
127
151
164
186
199
197
199
200
201
201
202
201
202
202
202
202
202
201
201
200
198
198
196
196
194
193
193
193
194
193
193
193
193
193
193
193
192
192
192
192
192
192
192
192
192
192
191
191
191
190
190
191
190
187
186
185
185
186
185
180
176
174
173
172
174
175
179
182
185
188
190
160
178
158
168
163
133
151
139
37
115
81
87
60
87
112
44
139
153
89
81
57
134
100
101
146
125
129
58
129
146
129
136
118
104
104
118
117
111
116
115
109
133
117
116
107
109
119
119
147
89
79
51
112
133
134
152
60
87
66
101
114
110
118
100
167
119
122
137
120
99
119
130
82
87
127
111
110
112
123
126
111
116
129
134
134
127
95
66
113
137
140
112
128
125
88
128
97
59
82
93
64
86
105
76
49
74
98
104
72
64
72
123
110
96
85
79
94
114
152
150
148
145
148
153
160
159
160
155
156
166
166
158
120
142
168
92
68
43
32
24
26
21
17
19
26
35
81
79
116
186
160
174
171
179
178
175
177
170
159
152
139
191
177
185
179
172
190
190
185
185
182
179
181
187
198
206
185
185
187
194
191
170
202
190
197
165
210
175
242
198
180
223
136
181
194
141
151
234
163
145
179
203
177
167
125
220
171
166
194
181
205
195
166
184
126
182
157
124
196
161
115
163
110
146
152
185
121
177
144
158
169
189
200
198
200
199
200
201
201
200
202
201
201
202
201
201
200
199
198
197
195
194
193
191
191
191
191
192
192
192
192
193
193
193
193
193
193
193
193
193
193
193
193
192
192
191
191
191
191
191
190
187
186
185
185
185
184
179
177
175
173
172
174
174
176
179
181
184
185
180
178
192
172
161
201
178
152
78
81
118
44
53
78
127
81
102
140
139
86
65
127
75
115
138
67
30
117
86
145
140
118
104
124
131
68
74
106
142
130
98
111
137
132
99
112
139
125
143
96
61
76
133
127
136
118
142
67
100
83
85
133
162
128
133
124
95
115
142
115
102
129
162
82
45
87
126
154
150
116
110
128
90
125
130
141
118
69
93
108
116
143
120
105
140
98
99
88
70
98
124
79
99
112
86
78
71
85
128
104
78
93
90
110
130
107
105
99
150
149
146
145
148
156
160
163
161
155
159
167
168
164
163
164
152
129
107
55
42
52
44
21
15
19
29
36
27
51
107
153
154
162
164
151
164
153
157
160
171
195
177
168
175
197
185
171
191
194
180
164
171
193
198
187
166
200
203
198
211
183
188
193
179
193
193
181
102
202
150
203
173
132
187
171
127
217
200
177
199
177
188
189
131
164
216
168
180
183
184
197
206
158
190
194
170
168
125
206
182
97
168
133
110
149
210
144
163
183
134
173
179
193
200
196
200
198
198
198
198
197
198
198
199
200
199
199
198
197
196
195
193
192
190
189
187
187
187
189
189
190
190
192
192
193
194
194
194
194
194
194
194
194
193
193
192
192
192
193
192
192
191
189
187
187
186
184
183
181
180
179
178
178
178
178
174
173
173
174
173
180
173
164
173
192
155
171
180
192
150
149
93
155
153
133
98
116
112
117
173
160
94
82
72
151
130
74
2
142
76
116
88
79
116
142
113
65
45
87
103
84
110
120
67
96
158
141
140
164
103
76
91
117
163
101
107
104
121
110
123
91
113
132
148
140
115
143
94
111
123
137
92
82
82
71
111
106
103
110
129
131
104
121
157
97
114
131
90
131
85
112
119
124
124
128
128
119
147
101
91
113
108
106
100
86
106
114
107
89
89
97
91
75
91
105
117
139
129
152
151
152
152
155
160
165
160
160
161
149
144
159
181
166
174
154
145
125
98
139
88
67
27
26
32
38
41
44
48
211
180
173
182
175
168
166
152
180
184
170
169
180
182
174
181
191
186
178
193
184
187
186
178
177
182
192
197
189
198
197
168
174
193
202
173
105
195
208
165
182
144
177
206
201
153
187
180
182
164
202
207
197
123
206
175
188
184
170
190
188
191
165
195
196
149
173
121
208
179
113
164
170
118
128
221
191
129
178
174
158
181
184
194
200
196
198
197
196
195
195
195
195
196
196
197
197
196
195
195
193
193
191
190
188
186
184
184
184
187
188
189
189
191
192
192
194
194
194
194
194
194
194
194
194
194
193
192
193
193
194
194
193
190
189
188
188
183
184
184
184
184
184
184
184
182
175
172
170
168
167
177
167
164
164
171
155
176
168
162
175
160
180
161
167
160
157
161
176
129
99
114
138
124
148
66
164
155
94
82
145
161
78
152
64
83
164
140
50
63
107
81
63
118
134
125
91
79
106
117
101
79
119
104
101
227
127
144
100
116
94
127
146
145
130
167
129
118
117
93
122
105
108
107
89
111
94
108
111
107
115
131
124
129
155
115
120
132
108
112
89
98
117
124
135
146
91
89
157
128
92
72
70
91
122
96
100
103
106
97
97
108
86
122
102
75
101
98
126
152
153
154
157
158
159
158
158
157
157
161
161
157
151
139
161
149
132
145
172
109
119
74
50
37
34
39
34
22
112
181
170
160
159
172
142
150
184
166
165
180
180
182
183
184
183
184
185
185
186
183
185
186
186
188
192
182
209
180
170
197
187
199
200
198
98
189
193
178
161
137
212
180
165
140
172
180
192
173
168
194
212
181
145
218
173
189
172
185
196
205
190
175
181
193
96
120
182
201
155
117
197
145
96
156
206
162
152
192
155
178
178
190
196
191
189
194
191
194
195
195
195
195
195
195
195
194
193
193
192
190
191
188
187
186
187
185
184
184
183
184
185
187
191
193
194
193
194
194
195
196
196
196
194
195
195
194
193
193
193
193
193
192
191
190
190
190
188
187
184
182
181
180
179
177
177
175
175
173
172
172
173
173
171
171
171
170
170
169
167
165
163
163
163
163
158
153
151
160
164
150
131
110
70
138
137
79
131
166
120
95
150
125
124
169
112
135
184
97
63
105
104
125
97
107
95
86
78
62
92
124
113
103
177
66
154
111
142
129
92
106
112
102
121
149
120
157
102
61
138
116
126
84
100
99
128
123
82
82
105
87
138
151
71
107
179
127
92
108
122
114
90
93
98
90
102
153
99
74
113
112
80
93
100
101
123
122
118
93
109
99
93
115
95
110
103
101
116
89
154
154
155
157
158
159
159
157
159
160
160
160
161
162
162
142
148
151
148
158
137
124
123
26
27
37
28
25
44
60
108
133
128
114
117
168
185
155
172
182
177
182
181
182
183
183
184
184
185
183
181
185
187
187
189
192
200
196
173
173
175
179
202
101
173
212
166
174
218
132
163
174
189
138
216
169
154
192
172
217
185
208
136
209
175
184
181
187
178
184
171
172
192
192
71
225
170
200
175
105
201
154
187
106
203
209
149
172
210
115
171
183
191
195
191
189
193
190
190
191
191
191
191
191
191
190
190
189
189
188
188
187
186
186
185
186
184
184
183
184
184
185
187
190
192
193
193
194
194
195
195
195
196
195
195
195
194
193
193
193
193
193
192
191
191
190
190
189
188
184
182
181
180
179
179
178
176
176
175
174
174
173
172
171
170
170
170
169
168
166
164
163
163
163
163
161
168
162
161
168
173
173
179
168
162
151
132
80
98
125
134
95
92
165
105
149
104
133
55
74
120
127
158
134
117
68
55
60
72
108
112
104
116
103
171
125
67
65
110
119
98
118
128
163
140
105
69
21
75
136
137
144
155
80
132
150
116
113
121
126
123
64
112
135
161
116
78
66
96
112
121
116
120
138
132
101
109
107
114
85
82
110
88
91
120
93
93
88
108
95
57
124
142
105
116
126
127
81
93
157
157
157
159
159
160
159
157
160
162
160
161
165
168
183
177
157
119
116
109
119
128
65
35
38
34
40
47
41
36
68
73
72
103
149
168
149
175
178
179
183
180
181
182
182
183
184
184
184
181
181
185
187
186
187
190
202
177
201
174
176
219
117
201
176
158
207
151
169
187
195
132
189
165
181
192
158
225
211
169
216
126
206
172
177
188
174
190
175
198
170
186
180
94
229
108
192
178
122
178
160
184
145
196
215
175
148
201
190
111
164
189
192
192
190
189
188
187
186
186
186
186
186
186
186
184
184
183
183
184
183
183
183
183
184
184
183
183
183
184
184
185
186
188
190
191
192
193
193
194
194
195
195
195
195
195
194
193
193
193
193
193
192
192
191
190
190
189
189
185
184
182
181
180
180
180
179
177
176
175
175
172
172
170
170
170
169
169
167
166
164
163
164
164
164
171
169
166
166
167
165
163
166
169
161
164
175
171
171
173
154
150
166
113
114
152
104
103
73
81
67
134
158
125
166
130
46
51
78
99
135
102
134
90
94
97
134
101
76
96
141
117
65
124
79
119
135
97
91
110
152
199
121
95
116
125
156
87
167
88
136
211
115
136
137
193
110
85
129
97
120
107
115
122
115
118
143
122
118
108
113
103
121
108
35
115
113
82
65
113
97
135
55
37
73
74
106
106
144
158
158
158
159
160
160
159
158
160
161
162
163
165
166
164
158
88
64
122
113
126
70
43
44
33
41
53
46
56
42
62
72
76
99
127
141
130
185
179
176
183
179
180
181
182
183
184
184
184
182
182
186
187
185
185
188
167
177
183
200
190
135
121
153
198
209
144
127
201
162
80
186
205
189
163
210
205
190
160
217
128
169
208
193
167
200
176
180
188
161
182
185
140
154
212
112
181
168
110
199
157
195
117
183
217
160
171
216
158
137
164
191
191
190
189
188
185
185
184
184
184
184
184
184
184
182
182
182
182
182
182
182
182
182
183
183
183
183
183
184
184
185
186
188
189
190
191
193
193
194
194
194
194
195
195
195
194
193
193
193
193
193
193
192
191
190
190
190
189
186
185
183
181
181
180
180
179
177
176
175
175
172
171
170
170
169
169
168
166
165
164
164
164
164
165
169
167
169
171
171
169
164
164
160
161
158
156
174
164
160
178
154
157
194
84
153
78
102
136
79
104
94
123
116
125
127
102
65
52
97
110
98
144
160
70
71
128
111
98
85
91
99
93
124
99
48
131
131
108
102
114
180
188
115
109
114
103
90
94
133
74
105
72
153
140
129
105
91
119
90
97
126
105
107
125
119
110
134
123
123
119
106
120
101
52
28
97
132
95
102
104
114
73
83
70
98
51
81
110
159
160
160
160
160
161
160
160
159
159
166
167
163
158
108
142
95
101
72
76
99
75
80
43
54
54
43
42
49
49
58
58
66
74
74
80
143
171
178
182
177
179
180
181
182
182
183
184
184
184
183
187
187
184
182
184
197
141
217
177
108
212
174
182
193
149
193
157
185
119
211
170
182
181
184
151
179
169
204
138
176
192
170
173
194
171
189
175
187
166
180
146
143
205
88
220
179
101
207
146
170
170
78
199
194
126
193
215
87
188
178
194
190
187
187
186
182
182
183
183
183
183
184
184
184
180
180
180
180
181
182
182
182
182
182
182
182
182
182
184
185
185
186
187
188
189
191
192
192
193
194
194
194
195
195
195
194
193
193
193
194
194
193
192
191
190
190
190
189
187
185
183
182
182
179
179
178
177
175
175
174
171
171
170
170
169
168
168
167
165
164
164
164
166
166
166
163
162
161
159
161
165
167
155
160
162
159
158
161
165
152
170
159
163
163
153
163
156
119
83
109
134
145
112
133
99
61
117
141
68
107
93
106
108
126
121
95
96
110
113
118
117
108
142
113
29
21
67
117
50
96
122
124
111
113
145
114
131
162
113
97
177
136
117
71
114
134
122
62
142
69
103
133
140
116
111
136
120
117
109
117
108
99
130
129
77
60
54
76
119
88
109
134
110
98
99
116
142
128
160
160
161
161
162
162
161
159
160
161
165
167
169
169
168
117
88
99
103
96
78
92
81
52
46
44
54
71
59
59
55
58
59
64
54
50
172
166
187
172
182
180
182
183
183
184
184
185
185
190
198
175
171
201
176
174
200
169
128
179
173
177
197
116
186
210
164
155
138
199
183
161
189
182
169
197
196
155
157
180
187
182
175
179
176
171
181
158
146
191
149
141
198
113
181
165
117
178
179
157
196
96
148
220
154
158
212
157
133
199
183
188
188
187
186
184
181
180
181
181
180
179
180
181
182
181
181
181
181
181
181
181
180
180
180
181
182
181
181
184
184
185
185
185
187
187
189
191
191
193
194
194
194
195
195
194
194
193
194
194
194
194
193
191
191
190
190
187
188
185
183
182
182
181
179
180
178
176
175
175
175
174
174
172
170
169
168
169
168
167
167
167
166
165
165
162
161
160
161
162
164
164
164
164
164
164
165
165
165
156
156
157
158
158
158
157
154
154
160
156
138
133
148
156
141
152
136
75
59
187
97
78
105
130
92
109
115
109
141
149
102
82
98
61
68
89
82
48
45
52
43
95
88
111
121
123
152
95
124
108
97
151
126
128
55
63
158
110
104
89
111
124
76
95
156
132
82
107
129
128
108
85
125
124
95
94
78
63
71
97
113
135
118
125
131
118
148
158
123
160
161
161
162
162
162
161
160
161
161
165
167
169
169
168
140
108
98
101
97
93
95
64
47
75
85
76
64
65
67
64
57
51
65
34
48
206
159
191
177
190
186
179
180
181
183
184
185
186
172
183
192
174
156
195
182
198
114
178
181
202
155
191
202
188
157
169
120
199
193
181
184
174
176
171
163
189
130
188
189
166
189
171
163
191
166
211
140
186
177
89
195
149
119
188
178
108
202
149
188
155
104
153
211
144
167
219
130
169
185
185
188
188
186
185
183
181
180
181
180
179
179
179
180
181
180
180
180
180
180
180
180
180
180
180
181
181
181
181
184
184
184
185
186
187
187
189
190
190
192
193
193
194
195
194
194
193
194
194
194
194
193
193
191
190
190
189
187
187
184
182
181
181
180
179
179
177
176
176
175
174
174
173
172
170
169
169
169
169
168
167
167
166
166
165
163
162
161
162
164
165
167
166
167
168
168
168
168
169
159
159
160
160
159
157
155
156
151
151
164
171
166
161
179
155
125
155
182
147
91
145
111
103
126
163
115
108
79
88
134
138
95
83
95
45
31
51
60
70
51
59
99
63
84
134
143
129
129
129
144
99
92
113
96
98
96
70
88
94
145
112
120
120
88
88
156
138
45
118
123
112
89
103
96
105
87
137
112
64
100
99
119
134
131
127
118
130
143
140
161
161
162
162
163
163
162
163
163
164
166
168
170
169
172
161
133
139
136
104
79
88
87
109
98
85
78
74
71
72
69
56
45
58
33
154
200
139
175
188
171
180
181
183
183
185
186
187
188
196
190
171
161
170
174
195
174
191
167
179
195
150
136
156
187
121
184
200
182
180
178
155
173
191
183
182
140
195
183
180
181
169
184
190
169
199
132
197
184
199
195
169
123
196
165
180
218
160
175
159
111
118
178
156
158
204
205
104
203
160
183
185
185
184
183
182
180
181
180
179
178
177
176
177
177
178
178
179
179
179
180
180
180
180
180
181
181
181
181
183
183
184
185
186
188
188
188
189
190
192
192
193
193
194
194
193
194
193
193
193
193
193
192
190
190
189
189
186
186
183
181
181
179
179
178
178
176
176
175
174
174
173
173
171
171
170
170
170
169
168
169
168
167
166
166
165
163
163
163
163
165
167
167
167
168
168
168
168
168
167
167
166
166
163
160
157
153
151
151
152
149
151
162
155
161
160
149
156
161
158
169
142
157
118
104
92
97
107
95
90
99
87
92
101
131
131
91
53
43
59
66
83
114
80
77
115
110
113
127
70
142
145
99
115
98
20
122
150
96
90
97
93
122
113
152
78
141
162
138
112
88
140
98
123
114
115
125
125
109
77
86
101
127
133
102
106
134
99
123
162
162
162
163
163
164
163
165
165
166
168
169
170
170
162
167
179
125
108
117
124
102
91
104
90
91
106
109
79
67
57
55
50
30
75
112
110
51
105
94
85
87
116
129
141
152
164
172
177
177
189
173
170
179
144
156
132
173
223
133
145
200
178
108
151
205
183
162
175
187
162
216
167
155
193
148
192
179
171
180
183
179
181
190
184
157
202
169
170
118
171
112
204
174
199
103
160
160
173
133
100
172
163
139
171
217
149
152
185
175
182
183
183
182
182
181
181
180
179
178
176
175
174
174
174
176
176
177
178
179
179
179
180
180
180
181
181
181
181
182
182
183
184
187
189
189
189
191
191
193
194
194
194
194
194
194
193
193
192
192
192
192
191
190
190
189
189
187
186
183
182
181
180
179
178
178
176
175
174
173
173
172
172
171
171
172
171
171
170
170
169
168
168
167
167
163
161
160
160
160
161
160
161
161
161
161
161
161
161
156
159
161
164
165
164
163
157
150
152
159
157
153
156
156
144
154
173
159
144
138
165
149
157
162
169
133
120
77
85
123
120
102
103
144
108
119
136
118
124
97
57
43
76
122
105
84
117
148
114
105
139
98
138
131
110
122
98
61
87
126
105
81
146
110
123
138
79
83
124
77
102
120
43
49
122
118
125
117
112
94
99
135
163
57
73
126
53
90
89
162
162
162
163
164
164
163
165
166
166
168
169
170
170
177
165
177
141
125
129
120
134
114
115
99
96
102
98
84
65
53
55
51
19
88
111
144
104
187
169
188
189
187
185
183
180
179
177
177
181
136
156
205
152
133
199
184
193
151
109
223
166
179
118
217
174
194
162
198
177
198
157
147
204
176
129
149
197
170
177
189
171
187
169
161
178
176
204
157
139
122
173
163
181
124
119
140
176
174
109
133
157
183
155
189
226
129
164
164
176
186
183
182
182
181
181
180
180
178
177
176
174
173
173
174
175
176
177
177
178
179
179
180
180
180
181
181
181
181
181
182
183
184
187
189
190
190
191
192
193
194
195
195
194
194
194
193
192
192
192
192
192
191
190
190
189
189
187
186
184
182
181
180
180
178
178
176
175
174
173
173
172
172
171
171
172
171
171
170
170
169
169
168
167
167
163
160
159
159
158
158
159
160
159
159
159
159
159
158
151
154
158
163
166
166
165
163
163
154
151
153
155
156
143
156
156
148
163
170
169
137
159
169
159
175
178
117
115
93
98
128
118
102
127
111
102
114
137
151
95
132
26
47
96
124
124
124
121
135
124
105
110
142
149
102
101
121
102
89
116
128
110
79
141
121
94
129
92
77
32
90
89
85
30
102
122
101
106
96
107
131
94
53
118
117
81
88
80
97
162
162
163
164
164
165
165
166
166
167
168
168
169
169
167
168
170
174
171
164
157
150
151
108
103
94
93
109
92
103
94
70
39
144
197
173
204
91
199
169
185
188
189
182
188
193
185
165
148
182
194
157
107
201
166
184
190
111
191
192
158
167
143
188
166
178
187
177
183
169
163
180
184
154
159
197
181
184
183
180
178
181
181
171
157
178
182
142
148
212
165
168
184
144
115
187
171
154
131
101
168
175
198
151
192
206
113
190
169
167
172
181
181
181
182
180
178
177
175
174
174
173
172
173
174
174
175
177
178
179
179
179
181
182
182
182
183
183
183
184
185
186
188
191
192
193
195
195
195
194
194
194
194
195
195
194
193
192
192
192
193
193
192
192
191
190
190
186
186
185
183
182
181
181
180
180
177
175
174
173
172
172
172
172
171
172
172
171
171
170
169
168
167
167
166
165
163
162
162
162
163
163
161
161
161
161
161
161
161
162
161
160
159
159
158
158
154
154
154
154
154
154
154
155
155
156
157
158
158
158
158
159
159
161
162
164
185
114
130
169
125
94
119
168
149
113
115
115
108
148
99
92
103
71
101
151
121
82
99
110
123
161
61
65
179
104
103
73
72
107
74
83
79
90
86
112
113
85
90
125
83
56
76
91
87
94
116
92
121
120
99
74
108
105
110
86
81
88
102
162
162
163
165
165
166
167
167
168
168
168
169
169
169
169
169
170
172
173
174
174
157
147
122
128
122
109
102
101
72
77
34
130
197
178
160
208
113
211
177
185
199
176
172
176
184
186
180
172
182
118
194
153
151
171
179
155
203
162
154
143
167
184
173
181
175
179
194
170
143
189
191
116
181
177
168
177
178
179
179
179
181
182
174
188
183
162
136
206
129
163
193
154
100
179
162
187
136
152
102
173
171
184
185
211
151
153
184
168
180
178
180
180
181
181
180
177
176
174
173
173
172
172
173
173
175
176
177
178
180
180
180
182
182
183
183
185
184
184
187
188
189
190
194
195
195
199
199
198
196
195
194
194
196
196
195
193
193
193
193
193
193
192
192
191
190
190
187
186
185
184
183
182
182
181
181
178
177
175
174
173
172
172
171
171
170
170
171
171
170
169
168
168
167
167
166
164
162
161
162
162
162
160
160
160
160
160
160
160
160
160
159
159
158
158
158
155
155
155
155
155
155
155
154
155
156
156
157
158
158
158
158
159
160
162
164
177
170
181
160
133
172
190
145
152
129
100
106
139
121
132
107
80
100
81
83
120
114
113
126
114
82
76
81
57
68
147
123
131
52
44
69
69
110
100
99
99
120
98
100
108
50
69
132
75
130
95
117
79
111
88
99
151
99
109
96
122
164
98
162
162
163
166
166
167
168
168
169
169
168
169
169
169
169
169
171
173
171
170
169
173
155
118
118
116
110
106
102
78
47
78
188
173
184
183
207
106
207
177
172
165
175
182
192
200
200
189
181
165
168
152
158
174
174
145
203
163
171
133
157
198
170
184
187
168
179
195
166
145
170
158
153
209
153
170
176
176
177
178
179
179
180
168
183
177
117
201
168
143
146
181
116
160
186
153
134
143
131
152
159
184
186
162
207
129
170
175
169
179
177
181
181
181
181
179
177
176
175
174
173
172
172
173
173
174
175
177
179
180
180
180
182
182
183
184
185
185
186
189
189
190
192
195
196
197
200
200
199
197
196
195
195
196
196
195
194
193
193
193
193
193
192
192
191
190
190
187
187
185
185
183
183
182
182
182
179
178
176
175
174
172
172
172
171
171
171
170
172
171
170
169
168
168
168
167
164
162
161
161
161
162
160
160
160
160
160
160
160
159
159
159
159
158
158
158
155
155
155
155
155
155
155
155
155
156
157
158
157
158
158
159
158
160
162
164
156
167
164
166
177
173
173
141
161
150
104
95
131
135
136
74
102
102
72
81
134
85
132
125
108
119
61
64
81
99
60
116
100
76
64
87
95
64
85
103
127
102
112
75
68
67
4
85
104
120
149
118
114
92
122
77
50
86
109
99
98
100
115
162
162
163
167
167
169
169
170
170
170
169
169
169
169
173
174
175
171
169
168
170
164
169
171
151
131
117
106
103
93
121
181
184
172
173
169
194
156
210
181
192
172
107
42
21
27
52
80
97
148
162
144
149
175
107
191
149
135
115
178
173
184
185
184
160
175
172
156
172
164
128
162
186
162
160
176
179
175
174
177
175
171
170
196
184
127
190
150
141
159
181
114
136
198
147
180
133
159
126
184
142
190
139
189
180
118
193
159
180
169
172
180
180
180
180
179
176
175
176
176
174
173
174
175
175
175
176
178
179
181
181
181
182
183
183
184
187
188
188
191
192
193
195
198
199
200
200
200
200
200
199
199
199
197
197
196
194
194
194
194
193
193
192
192
191
190
190
188
188
186
184
184
183
183
183
182
181
179
177
176
176
174
174
173
173
173
172
172
173
172
172
172
171
170
170
167
164
163
161
161
161
161
159
159
159
159
159
159
159
158
158
158
158
158
158
158
156
156
156
156
156
156
156
156
157
158
158
158
159
160
159
159
160
162
164
166
164
166
175
170
162
181
188
207
169
132
86
86
121
124
82
118
102
129
123
78
117
135
101
91
102
71
97
63
78
76
77
110
71
80
28
32
91
106
96
81
121
112
62
72
58
81
58
66
45
111
73
141
115
88
38
114
103
29
33
54
95
119
108
161
161
163
166
166
168
168
170
170
170
169
169
169
169
174
173
172
169
169
168
169
171
174
169
168
173
173
170
149
149
168
185
187
189
199
178
131
46
19
24
47
59
57
45
48
67
91
91
77
72
128
155
111
117
178
111
124
152
189
180
161
169
180
182
180
163
129
198
175
169
167
178
173
169
173
175
163
181
175
167
172
163
160
176
124
184
185
136
175
180
148
119
206
145
171
172
200
111
180
144
185
179
146
235
95
147
180
163
171
190
188
179
180
180
180
179
175
174
173
173
174
174
174
174
175
177
178
180
180
179
181
183
181
181
182
184
187
188
189
190
192
194
196
199
200
200
200
200
200
199
198
198
198
200
200
199
196
195
195
195
193
193
192
192
191
190
190
188
188
186
186
185
185
185
184
184
183
181
180
179
178
177
177
175
174
174
174
174
176
175
174
173
173
172
172
168
166
165
163
162
160
161
160
159
159
159
159
158
158
157
156
156
156
156
157
158
158
158
158
158
158
158
158
155
155
156
157
159
161
159
161
163
164
164
165
167
175
175
175
175
176
175
175
181
180
185
187
161
123
125
121
82
149
116
97
123
107
121
98
135
99
107
64
83
98
86
87
79
54
119
56
40
53
80
102
121
92
111
106
73
89
97
107
104
23
58
68
101
102
113
102
126
75
126
107
53
79
117
98
161
161
163
166
166
168
168
170
170
170
169
169
169
169
174
173
171
168
168
168
169
161
167
169
171
173
171
165
198
183
197
179
154
129
103
58
36
52
66
77
79
67
45
57
71
81
78
69
62
82
121
98
96
156
125
128
149
180
180
167
167
174
173
167
145
147
176
170
188
151
175
171
171
170
169
172
173
177
169
168
174
159
162
137
163
176
179
134
183
166
103
145
194
158
187
139
142
117
176
159
194
182
169
184
118
174
185
169
177
182
174
179
179
180
180
179
176
175
173
174
174
174
175
175
175
177
178
180
180
180
181
182
181
182
183
185
188
189
190
191
193
195
197
200
200
200
200
200
200
199
199
198
198
200
200
199
196
195
195
195
193
193
192
192
191
190
190
188
188
187
186
185
184
185
185
184
182
182
180
179
179
177
177
176
175
174
174
173
176
175
174
173
173
172
172
169
167
165
164
162
161
160
160
160
159
159
159
159
158
157
156
155
155
156
157
158
158
158
158
158
158
158
158
158
157
158
159
161
162
162
164
166
166
166
167
169
177
177
176
177
176
175
175
175
172
169
181
207
207
80
158
95
65
147
126
107
155
93
124
96
109
106
149
67
102
89
85
97
94
116
81
44
58
74
98
125
81
101
132
122
92
66
83
157
97
38
72
98
95
129
111
103
104
119
102
62
60
76
61
161
161
163
166
166
168
168
169
169
169
168
168
168
168
173
171
170
167
166
167
168
168
173
183
182
171
156
144
129
117
102
64
42
35
27
38
28
24
29
33
35
34
38
51
54
46
38
46
61
60
54
89
80
107
108
80
160
164
168
163
170
179
173
161
153
194
167
178
128
182
162
161
170
176
172
167
174
155
185
179
138
173
194
158
161
184
132
170
155
186
129
196
161
175
152
143
122
182
151
164
190
140
150
173
119
182
154
160
191
177
186
178
179
179
179
179
176
176
175
175
175
176
177
178
178
178
180
181
182
181
182
183
184
185
186
187
190
191
191
194
195
197
199
201
201
201
201
201
200
200
199
199
199
200
200
199
196
195
195
195
193
193
192
192
191
190
190
189
189
187
186
186
185
185
185
185
183
182
182
182
181
179
179
178
177
176
176
175
176
175
174
174
173
173
172
170
168
166
166
164
163
162
161
162
161
160
160
159
159
156
156
155
155
156
156
157
158
158
159
159
159
159
160
161
161
161
161
163
165
166
167
169
170
171
172
174
180
179
180
178
179
178
178
177
178
180
180
177
178
196
156
140
158
102
106
87
142
132
137
113
99
94
124
98
107
147
122
85
93
106
49
57
53
73
84
65
89
38
52
134
162
86
103
86
93
126
87
107
69
103
124
64
101
78
77
101
48
34
71
161
161
163
166
166
168
168
168
168
168
167
167
167
167
171
169
168
165
165
167
169
168
171
181
172
146
115
97
81
92
77
97
74
30
19
28
27
15
27
41
49
55
42
40
26
26
35
34
23
16
41
50
64
66
58
169
155
178
182
162
169
177
152
179
167
180
157
150
173
170
173
175
164
161
170
173
172
177
153
148
179
174
151
162
170
150
158
173
182
140
195
153
156
161
103
192
140
178
154
175
158
154
180
107
159
189
166
172
187
174
176
177
178
179
179
179
177
177
176
176
177
178
179
181
182
182
183
185
185
184
186
187
187
188
189
190
193
194
195
195
196
198
200
201
200
200
202
201
201
200
200
200
200
200
200
199
196
195
195
195
193
193
192
192
191
190
190
189
188
188
187
186
186
185
185
185
184
184
183
183
184
181
181
179
179
179
178
178
179
178
177
176
175
175
174
172
170
169
167
166
165
165
164
164
163
162
161
160
159
158
157
156
156
157
158
158
158
159
159
160
161
161
161
161
161
161
162
164
166
168
170
172
173
173
174
175
180
179
179
180
180
181
181
186
186
188
186
179
175
196
193
199
176
198
173
147
59
99
114
117
127
140
91
117
112
95
93
134
140
96
123
166
174
94
65
83
50
70
53
49
53
130
125
113
104
107
101
59
116
110
96
99
59
45
94
119
105
129
76
161
161
163
166
166
168
168
168
168
168
167
167
167
167
169
169
167
164
164
166
168
180
177
176
169
149
128
116
90
96
89
99
81
43
23
21
24
17
32
38
29
24
41
20
13
17
20
21
16
29
72
39
59
75
0
164
162
182
170
165
168
160
147
181
142
180
128
169
175
157
173
171
166
164
167
170
168
177
150
149
184
164
138
157
170
146
165
163
173
114
150
141
171
154
154
194
155
176
166
173
131
160
184
113
161
168
169
174
182
181
184
177
177
178
179
179
178
177
176
177
178
179
180
182
183
184
185
187
186
186
187
189
188
189
189
191
194
195
196
196
196
198
199
200
200
199
202
202
201
201
200
200
200
200
200
199
196
195
195
195
193
193
192
192
191
190
190
189
189
188
187
187
186
186
186
185
185
185
184
184
184
182
181
180
179
179
179
179
180
179
178
178
177
176
176
173
171
169
168
166
166
165
165
165
163
162
161
160
160
159
158
157
157
158
159
159
158
159
159
160
161
162
162
163
163
164
165
167
168
171
173
175
176
176
176
178
179
179
179
180
181
181
182
182
187
190
189
190
193
182
167
179
180
181
205
177
102
55
153
118
120
143
124
109
96
130
107
93
129
169
130
110
163
98
66
101
77
44
61
74
61
38
96
107
115
72
123
104
112
119
106
68
116
104
39
58
119
114
136
158
160
162
166
166
166
166
168
168
168
169
170
171
171
170
169
167
163
162
164
166
169
173
170
161
167
164
139
148
183
134
88
128
99
72
43
30
31
18
14
30
39
34
36
43
43
26
17
25
13
29
55
31
20
25
122
180
169
168
157
131
143
193
147
167
157
170
160
171
166
168
165
165
168
168
164
177
124
160
156
181
121
171
173
143
168
165
166
92
177
153
194
123
143
153
170
175
149
183
142
160
161
189
163
181
167
168
176
173
176
176
180
180
180
180
180
179
179
177
179
181
182
182
185
187
186
186
187
188
189
190
190
193
193
194
194
195
195
195
198
199
200
201
201
200
200
201
201
201
201
201
201
201
200
200
199
198
197
197
197
194
194
193
193
192
191
191
191
191
189
189
188
187
187
187
187
185
184
183
183
182
183
183
182
182
181
181
181
181
180
179
178
178
177
177
174
173
172
170
168
168
168
167
166
166
165
165
165
165
163
162
161
160
159
157
157
158
158
160
161
162
163
163
166
167
169
171
172
174
175
175
177
178
180
182
183
184
184
184
185
186
187
187
189
188
188
188
188
188
188
190
191
192
193
195
196
198
185
127
132
126
107
108
90
102
77
107
127
94
151
110
95
151
123
67
107
95
114
111
58
46
91
76
121
102
98
108
114
79
121
111
117
80
107
103
80
77
87
95
159
160
162
166
166
166
166
167
167
167
169
169
170
170
171
169
167
163
162
164
166
172
171
174
167
167
170
168
175
165
163
169
128
100
108
80
64
30
45
16
23
34
36
34
40
43
29
18
21
22
32
23
11
8
76
87
151
154
154
124
180
154
146
152
151
151
164
165
168
163
168
174
171
162
157
157
166
139
184
164
146
184
131
160
159
157
150
117
162
181
173
159
130
172
164
123
174
154
171
134
148
183
141
148
168
166
171
178
174
175
178
180
180
180
180
180
179
179
178
180
182
183
183
186
188
188
188
189
189
190
191
192
194
194
195
195
196
196
196
198
199
200
201
201
200
200
201
201
201
201
201
201
201
200
200
199
198
197
197
197
194
194
193
193
192
191
191
192
191
190
189
188
188
187
187
186
185
185
184
183
183
185
185
184
183
183
183
183
183
182
181
180
179
179
179
176
175
174
172
171
171
170
168
168
167
168
167
166
166
165
164
163
163
162
162
161
161
161
163
164
164
165
165
166
168
170
171
173
174
177
178
178
180
182
184
184
188
188
189
190
190
191
192
190
190
190
190
190
190
190
189
189
190
191
192
194
197
208
205
206
211
199
86
117
125
87
104
64
104
113
104
115
134
118
126
97
100
98
105
89
125
117
45
88
123
105
93
98
105
130
131
137
77
118
101
98
95
71
80
159
161
163
166
165
165
165
166
167
166
168
169
169
170
170
169
167
163
162
163
165
173
170
174
170
164
168
176
163
173
157
125
132
172
131
121
23
51
17
24
32
37
32
34
37
36
23
15
21
24
29
11
13
20
104
73
133
171
135
150
170
145
160
144
168
156
176
155
172
169
171
169
164
158
160
169
139
167
164
149
127
142
155
148
158
151
129
129
177
167
177
138
120
162
157
120
162
163
160
138
162
180
156
166
161
166
173
178
175
174
180
180
180
180
180
180
179
179
178
180
182
183
184
187
189
189
189
189
190
191
192
193
195
195
195
196
196
197
197
198
199
200
201
201
200
200
201
201
201
201
201
201
201
200
200
199
198
197
197
197
194
194
193
193
192
191
191
192
192
190
189
189
188
188
187
187
186
185
185
184
184
186
186
185
185
185
184
184
184
183
183
182
181
180
180
178
176
176
174
173
171
172
170
170
169
169
168
168
168
165
165
164
164
163
163
163
161
161
162
164
165
166
166
168
169
170
172
174
176
179
179
180
182
184
185
186
189
189
190
191
191
192
192
193
193
193
193
193
193
193
188
189
190
191
192
194
197
195
195
211
199
220
114
101
116
146
127
115
73
169
118
88
101
104
112
141
56
78
114
127
117
88
75
38
102
155
99
129
117
126
132
130
77
83
119
109
89
91
76
161
162
163
166
166
164
164
165
165
166
166
167
168
168
169
168
167
164
163
164
164
171
170
168
168
159
156
164
175
178
188
159
160
160
109
147
129
19
39
45
52
31
27
30
26
19
10
11
21
25
18
10
22
39
64
53
142
103
170
149
157
155
128
162
153
163
166
170
166
167
164
164
165
168
165
157
159
157
171
145
153
157
158
140
154
142
140
193
165
145
144
150
168
171
131
145
147
167
136
144
176
133
176
175
158
171
175
174
177
177
181
180
180
180
180
180
179
179
180
182
184
185
185
188
190
190
190
191
192
192
194
194
195
195
196
196
197
197
197
199
200
201
202
202
201
201
202
202
202
202
202
202
202
200
200
199
198
197
197
197
194
194
193
193
192
191
191
193
192
191
190
189
189
188
189
189
188
188
188
188
188
188
188
188
187
187
186
186
186
186
185
184
183
183
182
182
180
179
177
177
175
175
173
173
172
172
172
171
171
165
165
165
165
165
165
165
164
165
166
166
167
168
169
172
174
176
177
179
180
182
183
184
185
187
189
190
190
190
190
191
191
192
193
198
198
198
198
198
198
197
191
192
193
193
194
195
197
200
201
200
202
193
218
204
142
105
91
105
125
94
99
124
132
123
147
114
106
85
100
81
126
126
104
105
36
66
98
115
126
126
125
110
117
124
134
66
76
116
75
161
162
164
165
165
165
164
164
164
165
166
166
167
167
170
169
168
166
164
164
165
163
171
162
170
167
155
154
171
185
198
151
171
156
153
131
151
132
93
62
63
80
40
20
14
19
19
16
17
15
18
27
26
50
6
91
121
159
168
158
152
121
165
160
159
179
163
167
157
170
164
165
166
167
165
160
169
137
137
165
113
180
129
131
153
111
197
158
155
144
125
151
167
168
122
184
152
161
138
159
170
156
146
177
163
176
174
170
178
180
180
180
180
180
180
180
179
179
181
183
185
186
186
189
191
189
189
190
191
192
193
193
194
194
195
195
196
196
196
199
200
201
202
202
201
201
202
202
202
202
202
202
202
200
200
199
198
197
197
197
194
194
193
193
192
191
191
192
192
190
190
189
188
188
190
190
190
190
190
190
190
190
190
189
189
189
188
188
188
187
187
186
185
184
184
183
182
181
179
178
177
176
175
174
174
173
173
172
172
170
170
170
170
170
171
171
170
171
172
173
174
175
175
176
178
179
181
183
184
183
184
185
187
189
191
192
193
194
194
195
196
197
197
200
199
199
199
199
199
199
198
198
199
200
199
199
201
199
210
193
204
207
213
198
196
237
184
162
173
110
181
122
101
101
126
156
75
98
116
110
73
94
94
92
78
79
79
83
125
99
112
101
120
129
107
95
104
71
78
162
163
164
167
167
166
166
164
164
164
165
165
165
165
170
169
169
166
165
165
165
164
165
164
164
163
162
162
159
186
166
203
145
131
136
171
155
151
113
91
97
103
40
15
6
7
11
15
15
13
12
21
49
46
27
58
163
135
162
157
120
158
160
162
165
157
164
174
171
162
171
148
174
163
162
120
150
139
151
137
140
148
126
148
118
182
166
142
145
170
158
154
185
148
141
171
163
134
129
176
150
157
158
166
170
171
172
174
176
178
180
179
179
179
180
180
180
180
183
183
184
185
187
189
189
190
190
191
192
192
194
194
195
195
195
196
197
197
197
199
199
199
199
199
199
199
201
201
201
201
201
201
201
199
199
199
198
197
198
198
193
193
193
193
192
192
192
192
192
191
191
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
189
188
188
187
186
186
184
183
182
181
182
181
181
178
177
175
174
174
174
174
173
173
174
174
175
175
174
174
175
175
176
177
178
178
182
183
184
186
187
187
187
187
188
189
189
191
191
195
195
196
196
197
198
198
202
202
202
203
204
205
206
205
204
203
203
202
202
201
202
203
203
204
203
204
204
205
195
196
215
224
134
84
140
111
79
120
98
141
109
127
93
91
93
101
98
48
86
71
84
101
103
127
135
139
74
98
116
92
91
88
162
163
165
166
166
166
166
165
164
164
165
165
165
165
169
168
168
167
166
165
165
165
164
164
164
164
164
164
149
176
166
175
148
132
126
143
140
152
159
125
63
23
7
17
14
8
11
26
40
27
40
37
48
43
41
84
122
139
125
113
143
152
150
162
164
155
156
169
171
160
162
151
160
160
126
169
90
147
153
140
135
127
126
44
198
168
146
140
162
151
155
158
158
128
141
160
157
138
151
163
126
173
142
162
172
173
174
176
177
179
181
179
179
179
180
180
180
180
182
183
184
185
186
188
189
189
189
190
191
192
193
193
194
194
195
195
196
196
196
199
199
199
199
199
199
199
200
200
200
200
200
200
200
199
198
198
197
197
198
198
193
193
193
193
193
193
192
192
192
192
191
191
191
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
189
188
187
187
186
186
185
184
184
183
182
181
181
182
180
179
178
178
179
179
178
178
179
179
180
180
179
182
182
183
184
185
185
185
186
187
188
189
190
191
192
193
194
195
196
197
198
202
202
201
202
203
204
204
206
207
206
207
208
209
210
212
212
211
210
210
209
208
206
206
205
204
205
205
205
190
203
206
202
210
211
186
125
132
113
33
210
127
199
126
103
101
108
109
91
53
39
82
97
97
127
103
85
85
75
121
84
103
96
131
162
163
164
165
165
165
165
165
164
164
164
164
164
164
164
165
166
166
167
166
165
165
164
163
164
164
164
165
162
147
174
162
186
135
158
115
104
23
26
25
22
35
21
35
33
26
20
22
25
23
18
16
32
39
39
69
125
95
104
141
133
133
156
162
166
173
166
159
161
162
167
161
86
85
87
95
139
149
110
109
106
87
88
144
141
119
115
107
52
108
164
163
131
128
158
164
150
126
166
163
145
178
127
164
174
176
176
178
178
180
181
179
179
179
180
180
180
180
182
182
183
184
185
187
188
188
189
189
190
191
192
193
194
194
194
194
195
195
196
198
198
198
198
198
198
198
199
199
199
199
199
199
199
198
198
197
197
196
197
197
194
194
194
194
194
193
193
193
193
192
192
192
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
192
191
190
189
188
188
187
187
186
185
184
183
184
184
183
181
180
180
181
181
182
184
185
185
186
186
186
186
186
186
187
188
189
189
190
192
192
193
194
194
195
196
197
198
199
199
200
201
204
205
205
206
207
208
208
207
207
208
209
210
210
211
211
211
212
212
210
210
209
210
210
210
209
209
209
209
207
200
200
209
213
208
213
223
153
108
77
126
213
215
186
171
122
90
77
70
95
90
86
99
101
95
109
102
95
111
93
110
73
94
139
161
162
164
166
165
165
164
165
165
164
163
163
163
163
162
163
164
165
166
166
165
164
163
163
163
164
164
164
148
168
152
155
176
158
148
96
39
66
50
30
36
39
45
15
12
20
26
25
20
13
24
17
21
27
34
67
86
71
102
129
127
145
151
158
168
166
161
171
176
158
149
52
54
116
190
137
171
43
65
88
69
87
90
104
111
146
121
140
88
71
58
104
124
158
167
147
147
151
164
142
150
166
144
167
175
176
176
178
178
180
180
179
179
179
180
180
180
180
181
182
183
184
185
187
188
188
188
189
189
190
192
192
193
193
193
194
194
195
195
197
197
197
197
197
197
197
198
198
198
198
198
198
198
197
197
197
196
196
197
196
195
194
194
194
194
194
194
194
193
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
191
191
190
189
188
188
188
187
186
185
185
184
184
184
183
182
182
183
183
184
187
187
187
188
188
187
187
187
188
189
189
190
191
191
194
195
195
196
196
197
197
197
198
199
201
202
203
206
206
207
208
208
208
209
208
209
209
210
211
212
213
210
210
211
210
210
210
210
211
211
212
212
211
211
211
203
211
210
205
209
215
202
227
139
184
83
156
207
204
208
215
184
126
80
77
78
86
83
72
81
106
97
112
107
101
126
71
102
77
102
161
162
163
166
165
164
164
165
165
164
163
162
162
162
160
162
162
164
166
165
165
165
164
163
163
164
165
166
152
159
160
177
181
74
28
68
54
65
76
77
61
39
30
32
27
20
14
15
16
21
13
11
22
31
25
38
51
58
32
93
134
93
144
184
191
131
106
150
140
61
182
70
64
26
39
69
33
36
32
32
20
63
92
22
48
130
175
139
165
141
167
154
122
155
157
144
124
157
152
140
193
145
161
176
175
176
176
177
177
179
179
179
179
179
180
180
180
180
181
181
182
183
185
187
187
187
187
188
189
189
191
191
192
192
192
193
194
194
194
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
196
195
196
196
195
195
195
195
194
194
194
194
194
193
193
192
192
192
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
192
191
191
190
189
189
189
188
188
187
186
185
185
188
187
186
186
187
188
189
187
187
187
188
188
189
189
191
192
192
193
194
194
194
196
196
196
197
197
197
202
202
203
204
205
206
207
211
211
211
212
212
213
213
213
214
214
215
216
217
217
212
212
213
213
212
213
214
213
213
214
214
214
214
214
220
209
207
215
214
202
213
216
213
216
222
191
189
217
201
208
208
213
135
113
153
91
80
91
103
112
116
97
124
101
109
98
96
87
99
160
160
161
162
163
164
164
164
164
163
162
161
161
161
162
162
161
161
160
160
159
160
160
161
161
162
162
162
163
164
159
147
87
54
83
59
85
104
39
79
75
40
66
55
37
21
33
23
16
21
18
20
20
22
29
37
33
39
47
52
62
70
69
69
175
133
35
8
69
123
3
29
32
36
19
32
25
8
23
17
36
29
80
36
22
86
15
124
127
163
148
103
120
145
150
141
136
165
140
141
180
150
167
182
180
179
179
179
179
180
181
178
178
178
179
179
180
180
180
181
181
182
183
184
185
186
186
187
188
189
190
191
191
191
191
192
192
193
193
194
195
196
197
197
196
196
196
196
196
196
196
196
196
197
197
197
197
197
197
197
196
196
196
196
196
196
196
195
195
194
194
194
193
193
194
194
194
194
194
194
194
194
194
194
194
194
194
194
193
193
192
192
191
191
191
191
191
190
190
190
189
188
189
189
189
189
189
189
189
189
189
190
190
191
191
192
193
194
195
196
197
198
199
200
199
200
200
200
201
202
203
203
205
206
208
209
210
211
211
212
213
214
214
215
216
216
216
217
217
218
219
218
218
218
217
217
216
214
214
214
214
213
213
213
213
213
213
213
212
211
211
212
212
212
211
211
210
210
205
207
207
207
216
212
204
191
239
197
83
64
90
91
113
103
112
109
78
97
100
159
159
160
162
162
163
163
164
163
163
161
161
161
161
162
161
161
160
160
160
159
159
159
160
160
160
161
161
155
166
167
163
122
82
81
78
72
60
100
67
76
87
72
43
40
48
20
25
25
28
19
18
18
22
28
36
32
35
35
37
47
52
44
125
62
0
45
61
84
46
5
49
38
22
9
45
58
22
22
18
38
22
88
50
70
23
44
82
117
157
128
98
128
138
139
127
167
149
116
170
178
137
184
180
181
180
180
180
180
181
181
178
178
179
179
180
180
180
181
181
181
182
183
184
184
186
186
187
187
188
189
190
191
191
191
191
192
192
193
193
194
195
197
197
196
195
195
195
195
195
195
195
195
197
197
197
197
197
197
197
196
196
196
196
196
196
196
195
195
195
194
194
194
193
194
194
194
194
194
194
194
194
194
194
194
194
194
194
193
193
193
192
192
192
192
192
191
191
191
190
190
189
190
190
190
190
190
190
190
190
190
190
191
192
192
193
194
195
196
198
199
200
200
202
202
202
203
203
203
203
203
204
206
207
209
210
212
212
212
213
214
215
215
217
217
217
217
218
218
219
220
220
219
219
218
218
218
216
216
215
215
214
214
213
214
214
214
213
213
212
212
213
213
212
212
212
211
211
210
212
212
207
208
213
216
210
196
220
220
83
90
112
71
78
84
100
79
66
93
157
158
158
160
161
161
162
163
163
162
161
160
160
160
161
161
160
160
159
159
158
158
158
158
158
158
158
157
163
166
158
163
153
108
60
137
96
107
99
134
138
104
90
71
73
75
32
34
38
31
24
24
23
20
20
20
24
25
20
23
42
51
42
25
25
17
36
12
17
23
18
21
3
19
29
66
73
88
49
68
39
62
64
92
59
177
113
101
107
87
108
105
137
135
125
96
161
163
126
197
146
123
188
176
185
184
183
182
182
182
183
181
181
181
182
182
183
183
183
183
183
183
184
184
184
186
187
187
187
187
188
188
190
190
190
191
191
192
192
194
194
196
197
197
196
196
195
195
195
195
195
195
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
195
195
195
194
194
194
194
194
194
194
194
194
195
195
195
195
195
195
195
193
193
193
193
193
193
193
192
192
192
192
193
192
192
192
192
192
192
192
192
192
192
193
193
194
195
196
196
198
199
199
201
202
203
203
203
204
204
204
205
204
206
206
207
209
211
212
213
215
215
216
216
217
218
219
220
220
220
221
221
221
222
223
223
222
222
222
221
221
220
220
219
218
217
216
215
217
216
216
216
215
215
215
214
214
214
214
213
213
212
202
203
206
209
208
206
205
207
209
217
203
229
235
185
183
220
205
153
88
70
80
156
156
157
159
159
160
160
162
162
162
160
160
159
159
160
160
160
159
159
158
157
159
159
158
157
157
157
156
159
157
164
153
157
159
146
68
141
91
87
137
125
146
129
117
112
116
94
86
72
45
31
30
29
24
22
21
16
20
23
20
18
16
10
14
34
15
5
9
35
9
23
13
8
22
3
36
59
91
89
74
114
110
98
53
75
48
111
60
130
68
61
69
72
107
111
65
36
114
150
160
124
174
180
181
189
188
187
186
186
186
186
185
185
185
186
186
187
187
186
186
186
186
186
186
186
189
188
188
188
188
188
188
189
189
190
190
191
191
191
193
194
195
196
196
196
195
193
193
193
193
193
193
193
195
195
195
195
195
195
195
196
196
196
196
196
196
196
197
197
196
196
195
195
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
193
193
194
194
195
195
195
193
193
193
193
193
194
194
192
192
192
192
192
192
192
195
195
196
197
198
198
198
201
202
203
204
205
206
207
206
207
207
207
208
208
208
209
210
212
213
215
215
217
218
218
219
220
221
221
222
223
223
223
224
224
225
226
225
225
225
224
224
223
224
223
222
221
220
218
217
218
218
217
217
216
216
216
215
215
214
214
214
213
213
223
216
212
211
205
202
205
214
200
205
208
207
216
206
199
206
204
203
175
132
112
156
156
157
158
159
160
160
162
162
162
160
159
159
159
160
160
160
159
158
158
157
159
159
158
157
157
157
156
169
151
159
149
149
149
133
150
129
107
129
115
124
138
155
138
126
124
127
110
88
62
41
34
30
23
19
18
18
18
22
21
20
24
25
6
11
20
34
8
18
20
13
5
11
27
0
27
39
70
105
57
134
98
126
5
123
16
137
52
43
51
38
57
56
98
94
48
33
43
163
171
113
168
174
178
189
189
188
188
187
187
187
186
186
186
187
187
188
188
187
187
187
187
187
187
186
189
189
189
189
189
188
188
189
189
189
190
191
191
191
193
194
195
196
196
195
195
193
193
193
193
193
193
193
195
195
195
195
195
195
195
196
196
196
196
196
196
196
197
197
196
196
195
195
195
194
194
194
194
194
194
194
193
193
193
193
193
193
193
193
193
194
194
195
195
195
192
192
193
193
194
194
195
192
192
192
192
191
191
191
195
196
197
198
197
198
198
202
202
204
204
205
206
206
209
209
209
210
210
210
209
210
211
211
213
215
216
218
218
219
220
221
221
222
223
223
224
224
224
225
225
226
226
226
225
225
225
224
225
224
223
222
220
218
218
218
218
218
217
217
216
216
215
215
215
214
214
213
213
206
206
210
216
209
208
210
209
210
207
205
205
201
205
203
196
199
203
216
190
143
157
157
157
158
159
159
159
160
160
160
159
159
159
159
159
159
159
159
159
159
158
157
157
156
156
155
155
155
159
158
155
154
153
151
151
148
143
123
118
125
141
154
149
161
152
131
138
129
123
122
81
77
67
60
46
25
21
28
23
27
37
26
26
5
39
41
53
39
33
32
21
14
9
9
7
6
20
34
32
33
48
54
57
4
21
29
16
22
44
43
50
42
68
49
59
54
9
42
38
125
108
190
165
179
188
187
189
190
190
190
188
191
191
191
191
191
191
191
191
191
191
190
190
189
189
191
191
191
190
189
188
187
188
188
188
189
190
190
190
192
192
193
193
194
194
194
194
194
194
194
194
194
194
195
195
195
196
197
197
197
197
197
197
197
197
197
197
197
197
196
196
195
195
195
194
194
194
194
194
194
194
195
194
194
193
193
192
192
194
194
194
194
194
194
194
194
195
195
195
196
196
196
197
195
193
193
194
195
195
195
196
197
198
199
200
201
205
206
207
208
209
210
211
211
211
211
211
211
211
211
212
213
214
215
216
217
218
219
220
221
222
223
224
226
226
227
227
228
228
228
228
228
228
228
228
228
228
228
227
226
225
224
222
221
221
220
220
219
218
217
217
218
218
217
217
217
216
216
218
217
217
216
212
211
210
210
209
208
207
205
204
203
204
204
204
205
206
207
206
158
158
158
158
158
158
158
159
159
159
158
158
158
158
158
158
158
158
158
158
157
157
157
156
156
155
155
155
156
155
155
153
152
152
151
152
151
151
145
136
126
119
151
164
145
147
164
152
126
75
145
130
107
75
59
73
56
56
51
44
37
20
26
6
65
72
63
61
79
64
25
18
22
18
21
25
2
23
30
24
27
27
22
26
11
21
20
30
48
38
44
36
51
24
40
59
26
29
32
4
147
177
176
198
189
189
189
190
191
192
194
195
195
195
195
195
195
195
195
195
195
194
194
193
193
193
193
193
192
191
190
189
190
190
190
190
190
190
190
191
191
191
191
192
192
192
193
193
194
194
194
195
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
195
195
195
194
194
194
194
194
194
194
194
194
192
192
192
192
192
192
192
194
194
195
195
195
195
196
196
196
196
197
197
197
198
198
195
195
195
196
197
198
198
198
200
200
201
202
202
208
208
210
211
212
213
213
214
213
213
213
213
213
214
215
215
217
218
219
219
220
221
222
223
224
225
226
228
229
229
229
230
230
230
230
230
230
230
230
230
230
230
230
229
228
227
226
226
225
225
224
223
222
221
221
220
220
219
219
218
217
217
218
218
218
217
214
214
212
211
211
209
208
207
206
206
208
208
208
207
207
206
206
158
158
158
158
158
158
158
159
159
159
158
158
158
158
158
158
158
158
158
158
157
157
157
156
156
155
155
155
154
155
153
154
153
152
152
148
150
153
149
140
127
118
142
148
147
165
153
128
119
119
136
129
139
113
73
63
57
63
61
57
51
38
48
21
86
92
76
79
105
89
46
35
33
25
19
18
26
31
25
13
13
23
32
10
30
12
13
33
45
51
52
40
58
27
34
52
24
37
52
15
108
179
186
204
192
192
190
191
192
193
197
195
195
195
195
195
195
195
197
197
196
196
195
195
195
195
194
194
193
192
191
191
190
190
190
190
190
190
190
191
191
191
191
191
191
191
193
193
193
194
195
195
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
195
195
194
194
194
194
194
194
194
194
194
194
192
192
192
192
192
192
192
194
194
195
195
196
196
197
196
197
197
198
198
198
198
197
196
196
197
198
199
200
198
199
200
201
203
203
204
209
210
211
212
214
213
214
215
215
215
215
215
215
216
216
217
218
218
220
220
220
221
222
223
224
225
226
229
229
229
229
230
230
231
231
231
231
231
231
231
231
231
231
230
229
229
228
227
227
227
226
226
225
223
223
222
222
221
220
220
218
218
218
217
216
215
214
214
214
211
211
210
210
208
207
207
208
207
207
207
206
206
205
159
159
159
158
157
157
157
158
158
158
157
157
157
157
157
157
157
157
157
157
156
157
157
156
156
155
155
155
153
154
155
155
156
155
154
153
151
149
149
148
150
152
141
137
156
135
104
123
132
125
139
149
150
136
132
146
118
116
92
74
66
46
42
34
88
88
92
101
116
98
84
60
48
51
40
38
60
49
49
56
52
46
45
39
28
26
36
54
107
134
65
47
100
96
83
104
107
59
98
64
24
146
180
178
199
196
194
192
192
194
196
196
196
196
196
196
196
196
198
198
198
197
197
196
196
197
196
196
195
194
193
193
192
192
192
191
190
190
190
193
192
192
192
191
190
190
192
192
193
194
195
196
196
197
197
197
196
195
195
195
195
195
195
195
195
195
195
195
195
194
194
194
193
193
194
194
194
194
194
194
194
192
192
193
194
194
194
195
194
195
195
196
197
198
198
198
198
199
199
199
200
199
199
198
198
199
200
202
203
201
202
203
204
205
206
207
212
213
213
214
215
216
217
218
218
218
218
218
218
218
218
219
220
221
222
223
223
223
224
225
226
227
228
231
231
231
231
232
232
233
233
233
233
233
233
233
233
233
233
233
233
232
232
232
231
231
230
230
229
228
227
227
227
226
225
223
221
221
213
213
213
213
213
213
214
212
212
212
212
211
211
211
206
206
206
205
204
204
204
158
158
158
157
156
156
156
156
156
156
156
156
156
156
158
158
158
157
157
157
157
155
155
155
155
155
155
155
154
154
153
153
152
152
152
151
151
151
151
151
151
151
150
147
134
137
155
143
108
109
133
144
144
139
156
160
173
122
134
108
91
77
56
43
91
46
117
104
119
123
136
74
88
94
88
91
131
104
84
122
83
77
58
92
58
26
35
125
149
161
109
135
156
156
151
154
133
91
130
89
79
31
129
137
183
203
187
202
191
208
202
198
198
198
199
199
200
200
200
200
200
199
199
198
198
196
196
196
195
195
194
194
195
195
194
193
192
191
191
191
191
191
191
191
191
191
193
193
193
194
195
195
195
195
195
194
194
194
194
194
194
194
194
195
196
196
196
195
195
194
194
193
193
193
194
194
194
194
194
194
194
196
196
196
195
195
195
195
195
195
196
196
197
197
197
197
198
199
199
200
201
201
198
199
200
202
202
203
203
204
205
205
207
208
209
209
211
212
214
216
217
218
219
219
219
219
219
219
218
221
221
222
222
223
224
225
226
226
227
227
228
229
230
232
232
232
233
233
233
234
235
235
235
235
235
235
235
235
235
235
235
235
235
235
233
233
233
232
232
231
231
231
230
230
229
227
224
224
222
221
220
219
216
214
214
214
214
213
212
209
208
208
208
208
208
207
206
206
206
158
158
157
157
156
156
156
156
156
156
156
156
156
156
158
158
158
157
157
157
157
155
155
155
155
155
155
155
154
154
153
153
153
152
152
151
151
151
151
151
151
151
146
161
154
149
144
114
72
132
132
147
152
144
150
143
145
154
141
89
110
76
51
68
81
72
99
76
132
113
108
94
92
103
125
84
143
159
118
129
126
110
64
98
61
74
69
100
185
137
135
152
144
147
172
172
187
105
150
124
125
95
41
62
135
171
214
190
203
190
195
198
198
199
199
199
200
200
200
200
200
199
199
198
198
197
197
196
196
196
195
195
195
195
194
194
192
191
191
191
191
191
191
191
191
191
193
193
193
194
194
195
195
195
195
195
195
194
194
194
194
194
194
195
196
196
196
195
195
194
194
193
193
193
194
194
194
194
194
194
194
196
196
195
195
195
195
195
195
196
196
196
197
197
197
197
198
199
200
200
201
201
199
200
201
203
203
204
204
205
206
206
207
208
209
209
212
213
215
216
218
219
220
220
220
220
220
219
219
221
222
222
223
224
225
225
226
227
227
228
229
230
230
232
232
233
233
234
234
234
235
235
235
235
235
235
235
235
235
235
235
235
235
235
234
234
234
233
233
232
232
232
231
231
229
228
225
224
222
222
221
219
216
215
214
214
214
213
212
209
208
208
208
208
208
207
207
206
206
157
157
157
156
156
155
155
154
154
154
154
154
154
154
156
156
156
156
156
156
156
155
155
155
155
155
155
155
155
155
154
154
153
153
153
153
153
153
153
153
153
153
153
147
150
151
157
162
161
131
129
141
136
117
129
136
165
145
147
131
129
122
119
88
90
114
80
97
104
110
111
96
131
110
87
102
154
140
150
168
137
113
108
128
101
57
97
42
153
147
166
159
144
149
174
173
193
97
140
171
61
194
59
61
40
97
159
218
193
205
200
199
199
199
200
200
201
201
200
200
200
199
199
198
198
199
198
198
198
197
197
197
196
196
195
194
193
192
192
191
191
191
191
191
191
192
191
192
192
193
193
193
193
194
194
195
195
195
196
196
195
195
195
195
195
195
195
195
195
194
194
193
193
193
194
194
194
194
194
194
194
197
197
196
196
196
196
196
197
197
197
198
198
197
198
198
199
200
201
202
202
203
202
203
204
205
206
207
207
206
207
208
209
210
211
212
215
216
217
219
220
221
221
222
223
223
223
223
224
225
225
226
227
227
228
229
229
229
230
231
232
232
233
234
235
235
235
236
236
236
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
236
236
235
235
234
233
232
230
230
227
226
224
223
222
220
217
216
215
215
214
214
212
210
209
209
209
209
208
208
207
207
207
156
156
156
155
155
155
154
153
153
153
153
153
153
153
153
153
154
154
155
155
156
155
155
155
155
155
155
155
156
155
155
154
154
154
154
154
154
154
154
154
154
154
153
153
158
156
154
155
153
149
154
170
167
134
105
72
92
132
120
104
121
111
142
106
122
128
124
156
86
118
78
97
87
77
135
119
40
123
159
123
143
136
119
128
148
83
136
22
20
106
88
171
141
110
175
164
158
80
136
144
58
79
71
20
48
31
75
137
215
197
198
201
201
201
201
202
202
203
201
201
201
200
200
199
199
199
199
199
198
198
197
197
197
196
196
195
193
193
192
191
191
191
191
192
192
192
190
190
190
191
191
192
192
192
192
193
194
195
195
196
196
196
195
195
195
194
194
195
195
194
194
193
193
193
194
194
194
194
194
194
194
197
197
197
197
197
197
197
198
199
198
198
199
199
199
200
201
202
203
203
204
204
204
204
205
207
208
209
209
208
209
210
211
213
213
214
218
219
220
221
223
224
225
224
225
226
226
227
228
228
228
229
230
230
231
232
232
233
233
234
235
236
236
237
237
237
238
238
238
239
240
240
240
240
240
240
240
240
240
240
240
240
240
240
238
238
239
238
238
237
237
236
235
234
233
231
229
229
225
225
224
222
219
218
217
216
215
214
213
211
210
209
210
209
209
209
208
208
208
156
156
156
155
155
154
154
152
152
152
152
152
152
152
152
152
153
154
155
155
155
155
155
155
155
155
155
155
156
156
155
155
154
154
154
155
155
155
155
155
155
155
152
146
148
149
156
163
161
160
154
161
165
154
141
112
80
137
86
96
89
84
92
95
83
127
134
136
150
144
132
110
109
89
118
114
89
115
131
74
78
95
125
131
62
100
62
37
48
48
28
102
93
78
132
126
107
41
64
58
46
22
17
19
31
37
60
90
188
202
195
201
201
201
202
202
203
203
201
201
201
200
200
199
199
199
198
198
198
197
197
197
197
197
196
195
194
193
193
191
191
191
191
192
192
192
189
189
190
190
191
191
191
192
192
192
194
195
196
196
197
197
197
196
195
195
195
195
195
194
194
193
193
193
194
194
194
194
194
194
194
197
197
197
197
197
197
197
199
198
199
199
199
200
200
201
202
202
203
204
205
205
204
205
206
207
208
209
209
209
210
211
212
213
214
215
219
219
221
222
224
225
226
226
226
227
228
229
229
229
230
230
231
232
233
233
233
234
234
235
236
237
237
238
238
238
238
239
239
240
241
241
241
241
241
241
241
241
241
241
241
241
241
241
238
238
238
238
238
237
237
237
236
235
233
232
229
228
226
225
224
223
219
218
218
216
216
215
214
211
210
210
210
210
209
209
208
208
208
155
155
155
154
153
153
153
151
151
151
151
151
151
151
153
153
153
153
153
153
153
155
155
156
156
156
157
157
156
156
156
156
156
156
156
155
155
156
156
157
157
157
156
157
158
158
159
160
160
160
161
160
159
159
159
158
149
141
132
121
130
124
93
162
104
97
100
98
105
108
128
137
126
161
135
124
36
87
126
104
141
51
42
19
16
15
20
26
27
25
22
20
18
18
21
24
25
21
24
34
35
41
40
56
15
33
23
72
117
159
195
200
203
204
202
201
203
202
200
200
200
199
199
198
198
196
196
196
196
196
196
196
197
197
197
196
195
195
195
194
194
193
192
191
190
190
190
190
190
190
191
191
191
189
189
190
193
194
195
196
195
195
196
196
197
197
197
193
193
193
193
193
193
193
194
194
194
194
194
194
194
196
196
197
197
198
198
198
197
198
199
201
202
203
203
203
203
204
204
205
205
204
205
206
207
209
210
211
211
211
213
214
216
217
218
219
220
222
223
225
226
227
228
227
228
229
231
232
233
233
233
234
234
235
236
237
237
237
237
238
238
238
239
241
241
241
242
242
243
243
243
243
243
243
243
243
243
244
244
244
243
243
242
242
241
241
241
240
240
240
240
238
237
236
235
233
230
230
228
227
226
225
222
220
220
217
217
216
215
212
211
211
211
211
210
209
208
207
207
155
154
154
153
153
153
153
151
151
151
151
151
151
151
150
151
151
151
151
152
152
154
154
155
155
156
156
156
156
156
156
156
156
156
156
155
155
156
156
156
157
157
158
160
160
160
161
161
161
162
161
161
162
161
161
161
165
169
166
158
162
157
134
113
110
137
126
119
103
148
137
148
164
134
129
114
66
108
152
131
47
0
23
9
16
24
26
23
18
18
19
17
16
17
21
23
23
28
24
30
30
39
39
57
68
19
68
52
99
125
217
200
200
200
199
199
199
200
200
199
199
199
198
198
198
196
196
196
196
196
196
196
197
197
197
196
195
195
195
194
193
193
192
190
190
189
188
188
189
189
189
189
189
188
188
189
191
192
193
194
194
194
194
195
195
196
196
192
192
193
193
193
193
193
194
194
194
194
194
194
194
196
196
197
197
198
197
197
197
199
200
201
202
203
204
203
204
204
205
204
204
204
206
207
208
209
211
211
212
212
213
215
217
218
218
219
221
222
224
226
227
228
229
230
230
232
233
234
235
234
234
235
236
237
237
238
238
238
239
239
239
240
240
242
242
242
243
243
243
244
244
244
244
244
244
244
244
245
245
244
244
244
243
243
241
241
241
241
240
240
239
239
238
237
236
234
231
231
229
228
227
226
222
221
221
218
217
217
215
213
212
212
212
211
211
210
208
208
207
154
154
154
153
153
152
152
150
150
150
150
150
150
150
149
150
150
151
151
152
152
154
154
155
155
156
156
156
157
157
157
157
157
157
157
156
156
156
157
157
157
158
160
161
160
161
161
161
161
162
162
163
162
162
162
162
164
170
169
164
167
166
152
140
111
152
135
122
127
97
119
120
149
107
123
106
76
129
98
54
21
23
22
20
25
27
25
21
17
16
19
17
17
19
21
24
26
26
22
28
32
40
36
46
93
50
19
76
73
166
214
203
200
199
200
200
199
200
199
199
199
198
198
197
197
196
196
196
196
196
196
196
197
197
197
196
195
195
195
193
193
192
192
190
189
189
187
188
188
188
188
188
188
187
188
188
190
191
192
192
193
193
193
194
194
194
195
191
192
192
192
193
193
193
194
194
194
194
194
194
194
196
196
197
197
197
197
197
198
199
200
201
203
203
204
204
204
204
204
204
205
205
206
208
209
210
211
212
213
213
214
216
217
218
219
220
222
223
225
226
228
229
230
231
232
233
234
235
236
235
236
236
237
238
239
239
238
239
239
239
240
240
240
242
242
242
242
243
243
244
244
244
244
244
244
244
244
245
244
244
244
243
243
243
242
242
241
241
241
240
240
239
239
238
236
235
232
231
230
229
228
226
223
222
221
219
218
217
216
214
213
212
212
212
211
210
209
208
208
153
153
153
152
152
152
151
149
149
149
149
149
149
149
150
150
151
152
154
154
155
155
155
156
156
157
157
157
158
158
158
158
158
158
158
157
157
158
158
159
159
159
162
161
162
161
161
161
161
161
161
162
163
163
164
164
166
165
163
163
167
170
170
161
168
164
128
154
158
165
127
109
120
121
138
125
138
121
67
48
59
33
27
53
50
41
30
29
31
26
21
21
22
24
28
32
34
38
27
29
29
39
44
90
96
105
28
46
85
140
159
211
202
198
202
204
200
203
198
198
198
198
197
197
196
196
196
196
196
196
196
196
197
197
197
196
195
195
195
193
192
192
191
189
189
188
186
186
186
186
186
186
186
186
186
187
187
188
188
189
190
190
191
191
192
192
192
190
190
191
192
192
193
193
194
194
194
194
194
194
194
196
196
197
196
197
197
197
198
200
201
202
203
204
205
204
204
204
205
205
205
206
208
209
211
212
212
213
213
215
216
216
218
220
221
221
224
225
226
228
230
231
231
232
233
234
235
236
237
238
238
239
239
240
241
242
241
241
241
242
242
242
243
243
243
244
244
244
245
245
247
247
247
247
247
247
247
246
246
246
245
245
244
244
243
242
242
242
241
241
241
240
240
240
238
236
234
233
231
231
230
228
225
224
223
220
220
219
218
215
215
214
213
212
212
211
209
209
208
153
153
153
152
151
151
151
149
149
149
149
149
149
149
152
153
154
155
157
158
158
157
157
158
158
158
159
159
159
159
159
159
159
159
159
158
158
159
159
160
160
160
162
162
161
160
160
160
160
159
161
162
163
164
164
165
167
164
163
166
165
162
165
193
162
184
175
184
194
153
177
177
147
178
142
134
100
117
99
21
59
30
58
67
76
76
64
55
55
52
29
29
29
33
37
41
43
43
40
53
58
61
56
96
107
153
143
30
114
144
181
211
199
194
199
202
197
200
198
198
198
197
197
196
196
196
196
196
196
196
196
196
197
197
197
196
195
195
195
192
192
191
190
189
188
189
187
187
187
187
187
187
187
185
185
186
186
186
186
187
189
189
189
190
190
191
191
188
189
190
191
192
193
193
194
194
194
194
194
194
194
196
196
196
196
197
197
197
199
200
201
203
204
205
205
204
204
205
205
206
206
206
209
210
211
212
213
214
214
216
216
217
219
220
222
222
225
226
227
229
230
232
231
232
232
234
235
236
237
239
239
240
241
242
242
243
242
242
243
243
243
244
244
244
244
244
245
245
246
246
248
248
248
248
248
248
248
247
247
247
246
246
245
245
243
243
243
242
242
241
241
241
241
239
239
237
235
234
232
232
230
229
226
225
224
221
221
220
219
216
215
215
213
213
212
211
210
209
209
156
154
153
154
154
153
152
152
152
151
150
150
151
152
153
153
154
155
156
157
157
159
159
160
160
159
160
160
160
161
161
162
163
163
163
161
161
159
158
159
160
160
162
164
164
163
163
164
166
165
165
166
166
166
167
167
166
167
168
168
170
170
171
170
172
173
174
173
172
171
181
139
156
159
150
158
116
146
51
37
39
69
80
79
92
85
52
84
70
80
42
50
48
55
54
55
54
82
52
46
70
63
77
92
126
139
178
119
32
191
197
200
200
200
200
200
200
200
199
199
199
198
198
197
197
198
198
198
197
197
196
196
197
197
197
197
196
196
196
192
192
191
190
187
188
187
188
188
188
188
187
187
187
188
188
187
187
187
187
187
187
187
187
188
189
189
188
189
189
191
192
194
195
196
193
193
192
192
192
192
192
194
195
196
196
197
197
197
200
201
202
202
203
204
204
204
205
205
205
205
204
205
207
208
209
211
212
213
213
215
216
217
219
220
221
221
224
226
226
228
229
230
231
232
233
234
236
237
238
239
239
240
241
241
242
243
243
243
243
244
244
244
245
246
246
246
247
247
247
248
248
248
248
248
248
248
248
248
248
248
247
247
246
246
246
246
245
244
244
242
242
241
242
241
240
238
236
236
233
232
231
230
227
225
225
224
223
222
221
219
217
217
215
215
214
213
210
209
209
155
154
152
154
154
152
151
153
153
152
151
152
153
154
155
155
155
157
158
158
159
161
161
160
161
161
162
162
161
161
161
162
162
162
161
161
160
159
159
160
161
161
164
166
166
165
165
166
167
167
167
167
168
168
169
169
168
168
169
171
172
173
173
177
178
178
179
179
178
177
173
187
169
178
167
93
102
93
58
85
71
72
94
110
88
68
120
85
104
103
107
74
54
78
77
54
88
77
74
68
74
93
64
67
148
192
191
201
165
160
194
200
200
200
200
200
200
200
199
199
199
198
198
197
197
198
198
198
197
197
196
196
195
195
196
195
195
194
194
193
192
191
190
189
188
187
187
187
188
187
187
186
186
187
187
187
186
186
186
186
186
186
187
187
188
188
188
188
189
191
192
193
194
194
193
193
192
192
192
192
192
194
194
196
197
198
197
198
200
201
202
202
203
204
204
204
205
205
206
206
205
206
208
209
210
211
213
213
214
216
217
218
219
220
221
222
225
226
227
228
230
231
232
233
234
235
236
237
238
240
240
241
241
242
243
244
244
244
245
245
245
246
246
247
247
248
248
248
249
249
249
249
249
249
249
249
249
249
249
248
248
248
247
247
247
247
246
245
244
243
243
242
242
242
240
239
237
237
234
233
232
231
227
226
226
225
224
223
222
219
218
218
216
215
215
213
211
210
210
154
153
152
153
153
152
150
153
153
152
153
154
155
156
158
158
159
160
161
162
162
163
163
164
164
164
165
165
163
163
163
162
161
161
161
162
161
160
161
162
163
164
166
168
168
167
167
168
170
170
170
171
171
170
171
171
171
172
173
175
176
176
176
179
179
179
179
180
180
180
180
190
188
184
190
163
70
106
89
48
58
75
99
124
94
146
104
115
134
90
96
110
103
98
98
106
75
92
96
71
68
94
50
30
163
208
201
190
208
182
200
200
200
200
200
200
200
200
199
199
199
198
198
197
197
198
198
198
197
197
196
196
194
194
195
194
193
193
193
192
191
190
189
188
187
186
186
185
186
185
185
185
185
186
186
186
186
185
185
185
185
185
185
186
186
186
187
188
189
192
193
192
192
191
192
192
191
191
191
191
191
194
194
197
198
198
199
200
200
201
202
202
203
204
204
204
205
206
207
208
207
208
209
211
212
213
214
215
216
217
217
219
220
221
222
222
226
227
227
229
231
232
232
234
234
236
237
238
239
241
242
242
243
244
245
245
247
247
247
247
248
248
248
250
250
250
250
251
251
252
250
250
250
250
250
250
250
250
250
250
250
249
249
248
249
248
248
247
246
245
244
244
244
243
242
241
239
238
236
235
234
232
229
228
227
227
226
225
223
221
220
219
218
217
216
215
213
212
211
156
155
154
155
155
154
152
155
154
154
155
156
158
159
160
161
161
163
163
163
164
165
166
166
167
167
167
168
165
165
164
164
163
163
163
164
164
162
163
165
166
167
168
171
171
170
170
171
172
171
172
172
173
173
173
174
175
176
176
177
178
179
180
181
181
180
181
182
183
184
190
181
190
192
190
200
186
131
126
91
76
52
76
103
103
120
96
113
118
86
96
120
116
104
100
112
81
97
104
79
89
69
59
46
128
210
200
207
197
215
198
200
200
200
200
200
200
200
199
199
199
198
198
197
197
198
198
198
197
197
196
196
194
194
195
195
194
194
193
189
189
188
188
185
184
184
184
185
185
184
184
183
183
184
184
184
184
184
184
183
183
183
184
184
185
185
185
187
188
192
193
192
190
188
191
191
190
190
190
190
190
194
193
196
198
199
201
201
200
201
202
202
203
203
203
204
205
206
208
209
209
209
211
212
213
214
216
216
217
217
218
219
221
222
223
223
226
228
228
230
231
232
233
234
235
236
238
239
240
243
243
244
244
245
246
247
249
249
249
249
250
250
251
252
252
252
252
253
253
254
252
252
252
252
252
252
252
252
252
251
251
251
250
250
250
250
249
248
247
246
246
245
245
245
243
242
240
240
237
236
235
234
230
229
229
228
227
226
225
222
221
221
219
218
218
216
214
213
213
157
156
154
155
155
154
153
155
155
154
155
157
159
160
161
160
161
163
163
164
164
166
166
167
167
168
167
167
166
166
165
165
164
164
163
165
163
163
164
166
167
169
169
172
172
170
170
171
172
172
173
173
173
174
174
174
175
175
177
178
179
180
179
183
182
182
181
183
184
185
190
184
186
197
187
182
210
173
158
111
127
85
71
113
116
75
98
86
98
93
109
101
98
120
118
99
113
80
92
74
92
50
53
48
118
216
187
214
187
207
202
200
200
200
200
200
200
200
199
199
199
198
198
197
197
198
198
198
197
197
196
196
195
195
195
195
194
194
194
188
188
188
187
184
183
183
185
185
185
184
183
183
184
184
184
184
184
184
184
184
183
183
183
184
185
185
185
187
188
193
193
191
189
188
191
191
190
190
190
190
190
192
193
196
198
200
201
202
200
201
202
201
202
203
203
204
205
206
208
209
209
210
211
212
213
215
216
217
217
217
218
219
221
222
223
223
227
228
228
230
231
233
233
234
235
236
238
239
240
243
243
244
245
245
246
247
249
249
250
250
250
251
251
252
252
253
253
253
254
254
252
252
252
252
252
252
252
252
252
252
251
251
250
250
250
250
249
248
248
246
246
245
246
245
244
242
240
240
237
237
235
234
231
230
229
228
228
226
225
223
222
221
219
219
218
217
214
213
213
156
156
156
155
155
154
154
154
154
154
157
159
161
163
163
164
164
166
166
167
167
169
168
168
168
168
168
168
167
167
167
166
165
165
165
166
166
168
168
169
170
170
172
172
172
173
173
173
174
175
175
176
176
176
177
177
179
179
180
181
182
183
183
182
183
184
185
186
187
188
187
188
188
190
190
191
190
193
204
200
185
186
181
150
131
135
133
99
83
104
113
80
93
65
75
32
58
65
63
76
87
64
72
52
102
215
197
204
204
198
198
199
199
199
199
199
199
199
198
198
197
197
197
196
196
197
197
198
198
198
196
195
196
196
196
195
194
193
193
189
187
185
185
184
182
182
181
181
182
182
183
183
183
180
180
180
181
181
182
182
182
182
181
182
182
183
183
185
187
190
189
188
188
189
189
189
189
190
191
191
191
193
194
196
198
200
201
202
200
200
202
203
204
205
205
204
205
206
208
209
209
209
212
213
214
214
215
216
216
218
219
220
222
223
224
224
228
229
229
231
232
234
234
237
238
239
239
240
241
242
242
243
244
246
247
248
248
248
249
250
251
251
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
251
251
250
250
250
250
249
249
248
246
246
246
246
244
243
243
241
239
237
237
236
235
232
231
231
230
230
228
227
225
224
223
221
221
219
217
213
212
211
157
157
156
156
155
155
155
156
156
156
158
160
163
164
165
165
166
168
168
169
169
170
170
170
170
170
170
170
168
168
169
169
169
170
170
169
169
170
170
171
172
172
174
174
175
175
176
176
176
178
178
179
179
179
179
179
180
181
182
184
185
185
185
186
187
187
188
190
190
191
190
190
191
191
192
192
198
188
188
191
188
190
200
184
196
197
191
177
147
138
159
118
125
152
127
118
92
78
86
130
64
87
70
155
135
210
198
208
202
199
200
199
199
199
199
199
199
199
197
197
197
196
196
195
195
196
197
197
198
197
195
194
195
194
195
194
192
192
191
188
186
184
183
183
182
180
180
180
180
180
180
180
180
178
178
178
179
179
179
180
180
181
181
181
181
181
181
182
185
188
187
187
187
188
188
188
189
190
191
192
193
195
196
198
199
201
201
202
200
202
203
204
205
206
207
205
206
207
208
209
209
209
211
212
213
215
216
216
217
219
220
221
222
224
224
225
228
229
230
232
233
234
235
237
238
239
239
240
241
242
242
243
244
246
247
248
249
249
250
250
251
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
252
252
251
251
251
251
250
249
248
247
247
247
246
244
244
244
241
240
238
237
237
235
233
232
232
231
230
229
228
225
224
224
222
221
220
218
214
212
212
157
157
157
156
156
155
155
156
156
157
159
161
163
165
165
166
167
168
170
171
171
172
172
172
172
172
172
172
170
170
171
171
172
172
172
171
171
172
173
174
174
175
176
176
177
177
178
178
178
178
177
178
178
179
179
179
181
182
183
184
184
185
186
189
188
190
191
192
193
193
193
193
194
193
194
194
193
190
196
205
204
198
197
192
207
205
202
200
178
164
131
144
152
183
128
87
109
90
109
128
85
119
98
194
166
213
195
204
200
204
198
199
199
199
199
199
199
199
197
197
196
196
196
195
195
196
196
197
197
197
194
194
194
193
194
193
191
191
190
187
185
183
183
182
181
179
180
179
179
179
179
178
178
176
177
177
178
178
178
178
180
180
180
181
180
180
181
181
184
187
187
187
187
188
188
189
190
191
193
193
194
197
197
199
200
201
202
201
201
203
204
205
206
207
208
206
207
208
209
209
209
209
211
212
213
215
216
217
217
220
220
222
223
224
225
225
229
230
230
232
234
235
235
237
238
239
239
240
241
242
242
243
244
246
247
248
249
249
250
251
252
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
251
251
250
250
249
247
247
247
247
245
244
244
242
240
238
238
237
236
233
233
232
231
231
230
228
226
225
224
222
222
220
218
214
213
212
158
158
157
157
156
156
156
158
158
158
160
163
165
166
165
166
167
171
172
173
174
174
174
174
173
173
173
173
172
173
174
175
176
176
176
176
176
177
178
179
179
180
179
180
180
181
181
181
180
180
181
181
181
182
182
182
186
187
187
188
189
190
191
192
193
194
195
196
197
197
201
200
198
198
196
195
198
199
194
189
193
200
204
194
203
206
201
194
191
199
206
196
195
170
201
149
144
169
168
171
196
187
200
188
195
207
193
207
195
203
197
199
199
199
199
199
199
199
196
196
196
195
195
194
194
195
196
196
196
196
194
193
192
192
192
192
190
189
189
185
184
182
181
182
180
178
179
178
179
177
176
175
175
175
175
176
176
176
176
176
178
178
179
179
180
180
180
181
183
188
188
188
189
190
190
190
192
194
196
197
197
199
199
200
201
202
201
202
203
204
205
206
208
208
209
208
208
209
209
209
209
209
210
212
213
215
216
218
218
220
221
222
224
225
226
226
229
231
231
233
234
235
236
237
238
239
239
240
241
242
242
243
244
246
247
248
250
250
251
251
252
253
254
255
255
255
255
255
255
255
253
253
253
253
253
253
253
254
254
253
253
253
252
252
252
252
251
250
249
248
248
248
247
245
245
245
242
241
239
239
238
237
234
233
233
232
231
230
229
227
225
225
223
222
221
219
215
213
213
158
158
158
158
158
158
157
159
159
160
162
165
165
166
167
167
168
171
173
174
175
175
175
175
175
175
174
173
176
176
177
177
177
178
178
179
179
179
179
179
180
180
181
181
182
182
183
183
183
184
184
185
186
186
186
187
189
190
191
192
194
193
194
195
196
197
197
197
198
198
200
201
202
204
205
206
205
205
204
203
202
202
201
200
199
199
198
198
198
198
197
197
197
196
197
196
196
197
197
197
197
197
197
197
199
199
199
199
199
199
199
198
198
198
198
198
198
198
198
198
197
196
196
194
194
195
195
194
193
193
192
191
191
191
190
190
188
187
187
184
184
183
182
179
178
178
177
177
177
177
176
176
176
174
174
175
176
177
177
177
176
177
179
179
179
181
182
181
183
187
187
188
189
190
193
192
195
197
198
199
200
202
202
202
202
203
203
203
203
204
205
207
208
209
209
209
209
209
209
209
208
208
207
210
212
214
216
218
219
220
221
222
224
225
227
227
229
230
231
233
234
236
236
239
239
240
240
241
241
243
243
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
250
250
248
248
247
247
246
245
243
241
241
241
240
239
238
235
233
233
232
232
230
229
227
225
225
223
221
219
217
215
213
211
159
159
158
158
158
158
158
159
160
161
163
164
165
166
167
167
168
172
173
174
175
176
176
176
175
174
174
174
176
177
177
178
178
178
179
180
180
180
180
181
181
181
182
183
183
183
184
184
184
186
187
187
187
188
189
189
190
191
192
193
194
194
195
197
197
198
199
198
199
199
201
202
203
205
206
207
205
205
205
204
203
202
202
200
200
199
198
198
198
197
197
197
196
196
197
196
196
197
197
197
197
197
197
197
199
199
199
199
199
199
199
198
198
198
198
198
198
198
198
198
197
196
195
194
194
195
194
194
193
192
191
191
191
190
190
189
187
187
187
184
183
183
181
179
178
178
176
176
177
176
176
175
175
173
173
174
176
176
176
176
176
177
179
179
179
181
182
181
184
188
188
188
190
191
192
193
195
197
198
199
199
202
202
202
202
203
203
203
203
204
206
207
208
209
209
209
209
209
209
209
208
208
208
210
212
214
216
218
218
219
221
222
224
225
226
227
229
230
231
233
234
235
236
238
239
240
240
241
242
243
243
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
251
250
248
248
247
247
246
245
243
241
241
241
241
239
238
235
234
233
232
232
230
229
227
225
225
223
221
219
217
215
213
211
160
160
160
161
161
161
161
162
163
163
166
167
168
168
168
169
170
173
175
175
176
177
178
177
177
178
178
178
179
179
180
180
181
181
181
182
182
184
184
185
185
186
187
187
188
188
188
189
189
190
190
190
191
192
193
193
193
194
195
196
197
198
198
201
202
201
202
203
204
204
205
206
207
207
208
209
206
206
206
205
204
203
203
202
201
200
199
198
198
197
196
196
196
195
196
196
195
196
196
196
196
196
196
196
197
197
197
197
197
197
197
196
196
196
196
196
196
196
197
196
196
195
194
193
192
193
193
192
191
190
188
189
189
188
188
187
185
185
185
183
182
181
180
178
177
176
174
173
174
173
173
173
173
171
172
172
174
175
174
174
176
177
179
179
179
181
182
182
185
190
190
190
190
192
193
193
195
197
198
199
200
203
203
203
203
203
204
204
204
206
207
208
209
210
211
209
209
209
209
209
208
208
209
210
212
214
216
217
217
219
220
221
223
225
226
226
229
230
230
232
234
235
235
237
238
239
240
241
242
243
243
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
251
250
249
249
248
247
247
245
244
242
242
242
241
240
239
235
234
234
232
232
230
229
227
225
225
223
221
219
217
215
213
211
161
161
162
163
164
164
165
165
166
167
169
170
171
171
172
172
174
176
177
179
179
180
179
180
181
181
182
182
182
182
183
184
183
183
183
184
184
186
187
188
189
190
190
191
191
192
192
192
191
190
191
192
193
194
194
195
197
197
198
200
201
202
202
205
204
205
206
206
207
207
209
209
209
210
210
211
209
209
208
207
206
206
205
204
203
202
200
199
198
197
195
195
195
195
195
195
194
195
195
195
195
195
195
195
196
196
196
196
196
196
196
195
195
195
195
195
195
195
195
195
194
193
192
191
191
192
192
190
189
187
186
185
186
186
185
185
183
182
182
181
180
180
178
176
175
175
173
172
173
172
172
172
171
171
171
172
173
174
174
174
176
177
179
179
179
181
182
183
185
189
189
190
191
192
192
193
196
197
199
200
200
204
204
203
204
204
204
205
206
207
209
210
211
212
212
209
209
209
209
209
208
208
210
211
212
214
215
216
216
218
219
221
222
224
225
226
228
229
231
232
233
234
235
235
236
238
239
241
242
243
243
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
253
253
252
251
250
249
249
248
247
246
245
243
242
243
242
241
239
236
235
234
232
232
230
229
227
225
225
223
221
219
217
215
213
211
161
162
162
164
165
166
165
165
166
167
169
170
171
172
173
173
175
178
179
180
180
179
180
181
182
182
182
183
183
184
183
184
184
184
185
184
184
187
188
189
190
189
191
191
192
192
192
192
192
193
194
195
196
196
197
197
198
199
200
201
202
203
204
204
205
206
206
207
208
208
209
210
210
210
211
211
210
209
209
208
207
206
206
204
204
202
201
199
198
197
195
195
195
194
195
195
194
195
195
195
195
195
195
195
195
195
195
195
195
195
195
194
194
194
194
194
194
194
194
194
193
193
192
190
190
192
191
190
188
187
185
184
185
185
185
184
182
182
181
180
180
179
178
175
175
174
173
172
173
172
172
172
172
171
172
172
174
175
174
175
176
177
179
179
179
181
182
181
184
189
189
189
190
191
193
193
196
198
198
199
200
204
204
204
204
204
205
205
207
208
209
210
212
212
213
209
209
209
209
209
208
208
210
211
212
214
215
216
216
219
219
220
222
223
225
225
228
229
230
232
233
235
234
234
236
237
239
241
242
243
243
243
244
246
247
248
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
254
253
252
251
250
250
249
249
248
247
245
243
243
243
242
241
240
237
235
235
232
232
230
229
227
225
225
223
221
219
217
215
213
211
166
166
165
165
167
168
169
170
170
171
175
175
176
177
177
178
179
180
180
180
180
181
181
182
183
184
185
185
187
187
187
187
186
186
186
184
184
186
187
188
189
190
190
192
193
194
195
196
197
199
199
199
199
199
200
200
200
200
201
202
203
204
203
206
206
207
207
208
208
208
211
211
212
212
213
213
211
211
210
209
209
208
207
205
204
203
202
200
200
198
195
195
195
195
196
195
195
195
195
194
194
194
193
193
193
193
193
193
193
193
193
193
193
193
192
192
191
191
191
191
190
190
189
187
187
187
187
186
185
185
183
183
184
184
183
182
180
179
179
178
177
176
176
174
173
173
173
173
174
173
172
172
172
173
173
173
173
173
172
172
175
175
176
179
180
181
181
182
183
186
188
190
192
192
194
194
197
197
198
199
200
203
203
203
204
204
205
205
207
209
211
212
212
211
211
210
210
210
210
210
209
209
210
211
212
214
215
216
216
218
219
220
222
222
223
223
226
227
228
230
231
233
233
235
236
237
239
240
242
242
242
242
243
245
246
247
249
249
250
251
251
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
250
250
249
248
246
244
244
242
241
240
239
236
234
234
233
232
231
229
226
225
224
220
219
217
215
212
212
212
167
167
166
167
168
169
170
171
171
172
175
177
178
179
178
179
180
183
183
181
181
185
185
186
186
187
188
188
187
187
187
187
186
186
186
187
187
189
191
192
193
193
192
193
195
196
197
198
197
200
200
201
201
202
202
202
202
203
203
204
204
204
204
207
207
208
208
208
209
209
211
212
212
212
212
213
212
211
211
210
209
208
208
206
205
204
203
201
200
199
195
195
195
194
195
194
194
193
193
193
192
192
192
191
193
193
193
193
193
193
193
192
192
192
191
191
190
190
190
190
189
188
187
186
186
186
186
185
185
184
182
182
183
182
183
181
179
178
178
176
176
176
175
174
173
173
173
173
174
173
172
172
172
173
173
173
173
173
172
172
174
174
175
177
179
179
180
183
183
186
188
190
191
192
193
193
196
198
200
201
200
203
203
203
204
205
206
206
207
209
211
212
212
211
211
210
210
210
210
210
209
209
209
211
212
213
214
215
216
218
218
220
221
222
223
222
225
226
227
229
231
232
232
234
235
236
238
240
241
241
242
242
243
244
245
246
248
249
249
250
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
251
250
249
248
247
245
244
243
242
241
239
236
235
234
233
232
231
229
226
225
224
220
219
217
214
212
211
211
168
168
167
168
169
171
172
172
173
174
177
178
179
179
180
181
182
185
184
183
183
187
187
187
187
188
188
188
187
187
186
187
187
187
187
188
188
190
192
193
194
194
194
195
196
198
198
199
199
202
202
203
202
203
203
203
204
204
204
204
205
205
205
208
208
208
209
209
209
210
212
212
212
212
212
212
212
212
211
210
209
209
208
207
206
205
203
202
201
200
196
195
195
194
195
194
193
192
192
192
192
191
191
190
192
192
192
192
192
192
192
192
192
192
192
191
191
190
190
189
189
188
187
186
186
186
185
185
184
183
182
181
182
182
181
180
178
177
176
176
175
175
174
173
173
173
173
173
174
173
172
172
172
172
172
172
172
172
171
171
172
173
174
176
177
178
179
181
182
186
187
189
190
191
193
192
195
197
199
201
201
202
203
203
205
206
206
207
207
209
211
212
212
211
211
210
210
210
210
210
209
209
209
210
212
213
214
215
215
217
218
219
220
221
222
223
224
225
227
228
230
231
232
233
234
236
237
239
240
241
242
241
243
244
245
246
248
248
249
250
251
251
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
253
253
251
250
250
248
247
245
245
243
242
241
240
236
235
235
233
232
231
229
226
225
224
220
219
217
214
211
211
210
171
169
169
170
171
173
173
175
176
177
179
181
182
183
184
184
185
188
188
187
187
188
188
188
188
188
187
187
188
188
189
190
190
191
191
190
191
192
193
194
195
195
198
199
201
202
203
204
204
206
205
206
206
207
207
207
207
207
207
207
207
208
208
209
210
210
210
210
210
210
213
212
212
212
212
211
213
212
212
211
210
209
209
208
208
207
205
203
203
202
198
198
197
196
196
195
193
192
192
192
191
191
190
190
191
191
191
191
191
191
191
191
191
190
190
190
189
189
187
187
186
186
185
183
183
184
184
183
182
181
180
180
180
180
179
178
175
175
174
174
174
174
173
173
173
173
173
173
174
173
172
172
172
171
171
171
171
171
170
170
170
171
171
174
175
176
176
178
179
182
184
186
187
187
189
189
193
195
197
199
200
200
200
202
204
205
206
207
207
209
211
212
212
211
211
210
210
210
210
210
209
209
208
210
211
212
213
214
215
215
216
217
218
220
220
221
222
223
225
227
228
229
230
231
232
234
236
237
238
240
241
241
242
243
244
245
247
248
248
249
250
251
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
254
254
254
252
251
250
249
248
246
245
244
243
242
240
237
236
235
233
232
231
229
226
225
224
221
219
216
213
210
209
209
172
171
170
171
173
173
174
177
178
178
181
183
184
184
185
186
187
190
190
189
188
193
193
192
191
191
191
191
189
190
191
192
193
194
194
196
196
198
199
200
201
201
202
203
204
206
207
208
208
207
208
208
208
209
209
209
209
209
209
209
209
209
209
210
210
211
210
211
211
211
213
213
212
212
211
211
213
213
212
211
211
210
209
209
209
207
206
204
204
203
200
200
199
198
197
196
194
193
193
192
192
192
191
191
191
191
191
191
191
191
191
190
190
190
189
189
188
188
186
186
185
184
183
182
182
183
183
182
181
181
179
180
179
179
178
177
174
173
173
173
173
173
173
173
173
173
173
173
174
173
172
172
172
171
171
171
171
171
170
170
169
169
170
173
174
175
175
176
177
179
181
183
184
185
186
186
191
193
196
198
199
198
198
200
202
204
205
206
207
209
211
212
212
211
211
210
210
210
210
210
209
209
208
209
210
212
213
214
214
214
215
216
218
219
220
220
222
223
224
226
227
228
229
230
232
233
235
236
237
240
240
240
241
243
244
245
247
247
248
249
249
250
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
254
254
252
252
251
250
248
246
246
244
244
242
241
238
237
236
233
232
231
229
226
225
224
221
219
216
213
209
208
207
172
172
171
171
172
174
175
178
179
179
180
181
182
183
187
187
188
190
191
191
191
191
191
192
191
191
191
191
189
190
192
193
195
196
196
197
198
198
199
200
200
201
206
206
207
207
207
208
208
209
209
209
209
209
209
209
210
210
210
210
210
210
210
212
211
211
211
210
210
210
212
212
211
211
210
210
210
210
211
210
210
209
209
208
208
207
206
206
205
204
201
202
201
200
198
197
196
193
192
192
191
191
190
189
190
190
190
190
190
189
189
189
189
188
187
187
185
185
183
183
182
182
182
182
181
180
180
180
179
179
180
179
179
178
176
174
173
173
173
173
173
173
174
175
175
175
173
173
173
172
171
171
171
171
171
171
170
169
169
169
169
169
170
171
171
172
172
175
176
179
181
183
184
184
184
185
189
190
193
195
196
196
198
201
201
202
204
205
207
209
211
211
211
210
210
211
211
210
210
209
209
209
210
211
212
213
213
214
214
212
213
214
216
217
218
218
220
221
223
225
227
228
229
230
232
233
235
236
237
242
242
242
243
243
244
245
247
247
248
249
249
250
251
252
252
252
253
253
254
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
244
244
242
241
238
236
236
233
232
231
229
226
225
224
218
218
217
214
209
208
210
173
172
172
172
174
175
175
178
179
180
181
183
184
184
187
188
189
191
193
193
193
194
194
194
195
195
195
196
197
198
199
201
202
202
203
204
203
204
205
206
206
207
208
209
209
210
210
210
210
213
213
213
213
213
213
213
212
212
212
212
212
212
212
213
213
212
212
212
211
211
213
212
212
212
211
211
210
210
211
211
210
210
210
209
208
208
207
206
205
205
202
202
202
200
199
198
197
194
193
193
192
191
190
189
189
189
189
189
189
189
188
188
188
187
187
186
184
184
182
182
182
181
181
180
180
179
178
178
178
178
177
177
177
176
174
172
172
172
172
172
172
173
173
174
174
174
173
172
172
171
171
171
171
170
170
170
169
169
168
168
168
169
169
171
171
171
172
172
173
176
178
180
182
182
182
183
187
190
191
192
193
194
196
200
200
201
203
204
206
208
210
211
210
209
209
210
210
209
209
209
208
208
209
210
210
211
212
213
213
212
213
214
215
216
217
218
220
221
223
225
227
228
229
231
232
234
235
237
238
242
242
242
243
243
244
245
246
247
247
248
249
250
250
252
252
252
252
253
253
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
244
244
242
241
238
236
236
233
232
231
229
226
225
224
221
220
218
216
211
209
209
173
173
173
174
176
178
178
179
180
180
183
185
186
187
190
190
192
194
196
197
198
199
199
200
201
202
202
202
203
203
204
205
206
205
205
207
207
208
209
210
211
211
213
214
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
214
214
214
214
214
214
214
213
213
213
211
211
212
211
211
211
210
209
209
208
208
207
206
205
204
204
203
202
201
200
198
196
195
194
193
192
190
189
188
187
187
188
187
187
187
187
186
186
185
184
183
182
182
182
181
180
179
178
178
177
177
177
176
175
173
173
173
172
171
170
170
170
171
171
171
171
171
172
172
173
172
172
171
171
170
170
170
169
168
168
167
167
167
167
168
168
169
170
170
171
171
170
170
174
176
178
179
180
180
181
184
186
188
188
189
192
193
197
198
199
202
204
204
207
208
209
209
208
208
209
208
208
207
207
207
207
206
207
208
209
210
210
210
211
212
213
214
216
216
217
220
221
223
225
227
228
229
232
233
234
236
238
239
242
242
242
243
243
244
245
246
246
247
247
248
249
250
251
251
251
252
252
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
244
244
242
241
238
236
236
233
232
231
229
226
225
224
219
217
214
213
209
204
201
173
173
173
175
177
179
179
179
180
180
184
186
187
188
192
192
194
197
198
200
201
202
201
203
203
204
205
206
205
206
206
206
206
207
207
209
210
211
212
213
213
213
215
215
215
216
216
216
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
216
216
216
215
215
215
215
215
214
214
214
213
212
211
212
212
211
211
211
210
209
209
208
207
206
206
204
205
204
203
202
200
199
197
196
195
193
192
190
189
187
187
186
187
187
186
186
186
186
185
184
183
182
182
182
181
180
180
179
177
177
177
176
175
174
173
171
172
172
171
169
168
169
170
170
170
170
170
171
171
172
172
171
171
171
170
170
170
169
168
168
167
167
166
166
166
167
168
168
170
170
170
171
170
170
173
175
177
178
179
179
180
183
185
186
187
187
190
192
196
197
198
201
203
204
206
208
208
208
208
207
208
207
207
207
206
206
206
205
206
207
208
208
209
209
211
212
213
214
215
216
217
220
221
223
225
227
228
229
232
233
235
236
238
239
242
242
242
243
243
244
245
245
246
246
247
248
249
249
250
251
251
251
252
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
244
244
242
241
238
236
236
233
232
231
229
226
225
224
224
220
216
213
204
197
192
174
173
173
176
178
179
181
179
179
181
185
187
188
189
193
194
196
200
202
204
204
204
204
206
207
208
209
210
210
210
211
211
211
211
211
215
216
216
217
218
218
219
217
218
218
218
219
219
219
220
220
220
220
220
220
220
218
218
218
218
218
218
218
218
218
217
217
217
216
216
216
216
215
215
214
214
212
212
213
212
212
211
211
210
210
209
208
208
207
206
205
206
205
204
202
201
200
198
197
196
194
192
190
188
186
186
186
186
186
185
185
184
184
183
183
183
181
181
181
182
181
180
178
176
175
175
175
174
173
171
170
169
170
169
168
167
167
168
168
169
169
169
170
171
171
171
171
171
171
170
169
169
169
167
167
167
166
165
165
165
167
167
168
169
169
170
170
170
170
174
175
177
178
179
179
179
181
183
184
185
186
188
191
195
196
197
200
203
204
205
207
207
208
207
207
207
207
206
206
205
205
205
204
205
205
206
207
208
208
210
211
212
214
215
216
216
220
221
223
225
227
228
229
233
234
235
237
238
240
242
242
242
243
243
244
245
245
245
246
247
247
248
249
250
250
250
251
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
244
244
242
241
238
236
236
233
232
231
229
226
225
224
218
215
213
213
212
205
200
175
174
174
176
177
179
180
181
181
183
185
188
192
195
195
196
199
204
205
206
206
208
208
210
211
211
211
211
212
213
214
215
216
215
215
217
217
219
219
220
221
221
221
221
222
222
223
223
223
222
222
222
222
222
222
222
221
221
221
220
220
220
219
219
219
218
218
218
218
217
217
216
216
215
214
213
213
213
213
212
211
211
210
210
210
209
208
207
207
206
204
204
204
203
202
201
200
198
197
196
194
192
190
188
187
187
186
187
186
185
184
181
181
181
182
182
179
178
178
177
175
174
174
175
175
174
173
172
171
170
168
167
168
168
168
168
168
168
168
169
169
169
170
170
171
171
172
172
171
169
169
168
168
167
167
166
166
165
165
165
166
166
167
168
168
169
169
171
171
173
173
173
174
174
177
178
179
180
181
182
182
186
188
194
197
198
199
200
202
204
205
207
207
207
207
206
206
205
205
204
204
204
204
203
203
204
206
207
208
209
210
212
214
216
217
218
220
221
224
226
229
230
231
233
235
236
236
236
238
242
242
242
242
243
244
245
246
246
247
247
248
249
250
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
255
254
254
254
253
253
250
250
249
248
248
246
246
245
245
244
242
239
237
237
235
233
231
229
228
226
224
220
219
218
216
211
210
210
175
174
174
176
177
179
180
180
182
184
186
189
193
196
197
198
201
205
207
208
207
210
210
212
211
212
213
213
213
213
215
215
215
216
216
218
219
220
221
222
222
223
222
222
222
223
223
223
224
223
223
223
223
223
223
223
223
222
222
221
221
221
221
220
220
219
219
218
218
218
217
217
216
215
214
214
213
212
213
212
211
210
210
209
209
208
208
207
206
205
204
204
204
203
202
201
200
198
197
196
194
192
190
187
186
186
185
186
185
184
183
181
181
181
181
181
178
177
176
175
174
173
172
172
173
172
172
171
170
169
167
166
168
168
168
168
168
168
168
168
168
169
169
170
170
170
171
171
170
169
168
167
167
166
166
166
165
165
164
164
165
166
166
168
168
168
169
171
171
173
173
174
174
174
176
177
178
179
180
181
181
185
187
193
196
198
198
199
201
204
205
206
207
207
207
206
206
205
205
204
204
204
204
203
203
204
206
207
208
209
210
212
214
216
217
218
220
221
224
226
229
230
231
233
235
236
236
236
238
241
242
241
242
243
244
244
245
246
246
247
248
249
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
254
254
254
253
253
253
250
250
249
248
248
246
246
245
245
244
242
239
238
237
236
234
231
230
229
226
224
219
219
217
215
212
210
211
176
175
175
176
178
180
181
182
185
188
191
193
196
198
199
201
204
209
210
210
211
214
214
214
215
216
216
217
215
215
216
217
218
218
219
221
222
222
223
224
224
225
224
225
225
226
226
226
226
226
226
226
226
226
226
226
225
224
224
224
223
223
223
221
221
220
219
218
217
217
218
217
217
216
215
214
212
212
212
211
210
210
209
208
207
207
206
205
204
204
202
203
203
202
201
200
199
197
196
195
193
191
189
187
185
185
184
184
184
183
182
181
181
181
181
180
176
176
176
175
174
172
171
170
171
169
168
167
167
166
165
164
167
167
167
167
167
167
167
167
167
167
167
168
168
169
170
169
169
167
166
166
165
165
164
164
163
163
163
163
165
165
166
167
167
168
168
171
171
173
173
174
175
174
175
175
177
178
179
180
180
183
185
191
194
196
197
197
201
204
205
206
206
206
206
206
206
205
205
204
204
204
204
203
203
204
206
207
208
209
210
212
214
216
217
218
220
221
224
226
229
230
231
232
234
235
235
235
237
241
241
241
241
242
243
244
245
245
246
246
247
248
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
254
254
253
253
253
252
252
250
250
249
248
248
246
246
245
245
244
243
241
240
239
236
234
232
231
229
227
225
221
220
218
217
213
211
212
178
178
178
179
180
182
183
184
187
191
195
196
198
199
201
202
205
210
211
212
212
215
214
216
217
217
218
218
217
217
218
219
220
220
221
222
222
223
224
224
225
225
225
226
226
227
227
227
227
229
229
229
229
229
229
229
227
227
227
226
226
226
225
224
223
221
220
219
218
217
219
218
217
216
216
215
211
211
211
211
210
209
208
206
206
205
205
204
203
202
200
201
200
199
198
198
197
196
196
194
192
190
188
186
186
185
185
185
184
183
182
181
181
181
180
179
175
175
172
171
170
167
166
165
165
165
165
165
165
164
164
163
166
166
166
166
166
166
166
165
165
166
166
167
167
167
168
168
167
166
165
164
164
163
163
163
162
162
161
161
164
164
165
167
166
167
167
171
171
173
173
174
175
174
175
176
178
178
179
180
181
181
183
189
192
194
195
194
200
203
205
205
205
205
205
206
206
205
205
204
204
204
204
203
203
204
206
207
208
209
210
212
214
216
217
218
220
221
224
226
229
230
231
232
234
234
234
235
237
240
240
240
241
242
242
243
244
244
245
246
247
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
245
245
244
243
242
241
241
237
235
233
231
230
228
226
226
225
223
220
214
211
211
179
179
179
179
181
183
184
184
188
192
196
197
198
200
201
203
205
210
211
212
212
215
215
216
217
218
218
218
217
217
219
220
220
221
221
222
222
223
224
224
225
225
225
226
226
227
227
227
227
229
229
229
229
229
229
229
228
228
227
227
227
226
226
224
223
222
220
219
218
218
219
218
217
217
216
215
211
211
211
210
210
209
208
206
206
205
204
204
203
202
199
200
199
199
198
197
196
196
195
194
192
190
188
186
186
186
185
185
184
184
183
181
181
181
180
179
175
174
169
168
167
165
163
162
162
165
164
164
164
164
163
162
166
166
166
166
166
166
166
165
165
165
166
167
167
167
168
168
167
166
165
164
164
163
163
163
162
161
161
161
164
164
165
166
166
167
167
171
171
173
173
174
175
174
176
176
178
178
180
180
181
180
182
189
191
193
195
194
200
203
204
205
205
205
205
206
206
205
205
204
204
204
204
203
203
204
206
207
208
209
210
212
214
216
217
218
220
221
224
226
229
230
231
232
233
234
234
235
236
240
240
240
241
241
242
243
244
244
245
246
246
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
245
244
244
243
242
242
241
237
235
233
231
230
228
226
228
227
224
221
214
211
211
180
180
180
183
184
186
187
189
190
193
195
196
199
201
203
205
208
211
213
216
217
216
216
216
217
218
219
219
219
219
220
221
222
223
223
226
226
227
227
227
228
228
227
228
228
228
229
229
229
230
230
230
230
230
230
230
230
230
229
229
228
228
228
226
226
224
223
222
221
221
220
220
219
218
217
216
213
212
212
210
209
208
207
207
207
205
204
202
201
199
197
198
197
196
196
195
194
194
192
191
190
190
189
186
187
187
186
186
185
185
184
182
180
178
177
177
173
171
169
167
165
164
162
161
161
160
160
161
162
164
166
166
166
166
165
165
165
165
165
165
166
166
167
166
166
165
166
166
166
165
164
164
164
162
162
162
162
162
162
162
162
163
165
168
167
167
167
170
170
172
172
173
174
174
175
175
178
180
181
183
183
182
182
185
187
190
192
194
197
199
199
201
203
204
204
205
205
205
205
205
205
205
205
204
204
205
207
208
209
210
211
213
214
216
217
218
221
222
224
226
228
229
230
231
232
233
235
236
237
239
240
241
241
241
241
243
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
245
245
244
243
242
242
242
240
238
235
234
232
230
228
228
226
223
221
217
214
211
180
180
180
183
184
186
187
188
189
192
196
197
200
202
203
205
208
211
213
216
217
218
218
218
219
220
220
221
221
221
222
223
224
224
225
228
228
228
229
229
229
230
228
228
229
229
229
230
230
230
230
230
230
230
230
230
230
230
229
229
228
228
228
228
227
226
225
224
223
222
222
221
221
220
219
218
215
214
213
212
211
210
209
207
207
205
204
202
201
199
197
198
197
196
196
195
194
194
192
191
190
190
189
186
186
186
185
186
185
184
183
181
179
176
175
175
171
169
167
165
163
162
160
159
159
160
160
161
162
164
166
166
166
166
165
165
165
165
165
165
166
166
167
166
166
165
166
166
166
165
164
164
164
162
162
162
162
162
162
162
162
163
165
168
167
167
167
170
170
172
172
173
174
174
175
175
178
180
181
183
183
183
183
185
187
190
191
193
195
197
198
199
201
202
203
205
205
205
205
205
205
205
205
204
204
205
207
208
209
210
211
213
214
216
217
218
221
222
224
226
228
229
230
231
232
233
235
236
237
239
240
241
241
241
241
243
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
245
245
244
243
242
242
242
242
240
237
236
234
231
229
230
228
225
222
219
216
213
67
67
67
67
67
67
67
66
66
66
65
64
64
63
61
60
59
57
54
54
53
55
52
50
48
48
49
49
55
56
58
58
59
58
58
63
63
69
74
77
83
90
110
112
111
110
108
109
111
111
109
109
109
109
109
109
109
109
110
110
111
112
112
115
115
117
121
123
126
127
130
131
131
131
134
136
140
142
142
143
144
145
145
151
151
151
152
152
153
153
154
154
154
154
155
157
160
166
166
166
164
164
163
161
163
162
158
155
153
150
147
136
136
135
134
131
130
129
129
129
128
125
124
122
121
127
127
124
122
121
116
115
113
112
109
107
109
105
104
107
106
104
104
101
101
100
100
98
99
98
98
97
97
101
103
106
110
112
117
119
123
125
128
132
136
137
138
132
132
132
132
132
132
132
135
135
136
136
137
137
137
138
139
140
142
143
144
144
150
150
153
153
154
154
154
149
145
143
141
139
136
134
131
126
123
123
119
116
113
112
109
108
106
105
102
102
103
100
99
97
96
94
93
95
95
94
94
93
93
92
92
91
90
90
89
88
88
88
87
86
86
85
84
82
82
82
83
83
84
84
84
84
85
85
84
82
78
73
72
72
73
73
72
72
71
72
73
74
76
78
78
80
80
80
80
80
80
81
86
86
86
86
86
86
86
90
90
90
90
90
90
90
85
85
85
85
85
85
85
67
67
67
67
67
67
67
67
67
66
66
65
65
65
63
62
61
59
57
54
54
55
52
50
50
48
49
49
55
56
58
58
59
58
58
61
61
67
71
73
79
85
105
108
108
108
107
109
110
111
109
109
109
109
109
109
108
108
108
109
110
111
111
114
114
115
120
122
125
126
129
130
130
129
133
136
142
143
143
143
145
145
145
151
152
152
152
153
153
153
154
154
154
154
155
157
160
166
165
165
164
163
163
161
162
161
157
155
152
150
148
137
136
136
135
134
131
131
132
131
130
129
129
126
126
128
128
128
127
125
122
120
119
115
114
112
111
110
108
111
111
111
109
108
106
105
105
105
104
106
105
105
106
110
112
115
118
121
124
128
131
134
135
139
140
143
144
134
134
134
134
134
134
134
136
136
137
137
137
138
138
140
140
142
143
143
144
146
150
150
152
153
153
153
154
152
146
145
144
141
137
135
132
127
124
123
121
116
113
111
108
107
106
104
102
101
100
97
96
95
94
92
92
94
94
94
93
93
93
92
91
91
90
89
88
88
87
87
86
86
85
84
83
82
82
82
82
83
83
84
83
83
84
84
83
81
77
73
72
72
73
73
72
72
70
71
72
73
74
76
76
76
77
78
79
80
81
82
85
85
85
85
85
85
85
85
85
85
85
85
85
85
84
84
84
84
84
84
84
68
68
68
68
68
68
68
67
67
67
67
68
68
68
67
66
65
61
59
58
55
55
54
50
50
50
51
51
55
56
58
58
59
58
58
60
59
63
67
68
73
80
97
103
105
105
105
106
107
108
108
108
108
108
108
108
107
108
108
108
110
110
110
113
114
115
119
122
124
126
127
128
131
131
133
136
143
143
145
145
145
146
146
152
152
153
153
153
154
154
154
154
154
154
155
157
160
165
165
164
163
163
162
160
160
159
156
154
152
150
148
139
139
139
139
138
136
136
131
131
131
132
131
131
131
135
135
135
135
132
130
130
126
123
121
119
117
115
114
113
113
113
112
112
109
109
110
109
110
111
113
114
114
119
121
124
128
131
133
138
139
139
141
144
144
144
146
139
139
139
139
139
139
139
139
140
140
141
141
141
141
142
143
143
143
144
146
146
149
151
152
152
154
155
155
155
150
147
146
143
140
137
136
128
127
124
121
117
115
109
106
105
104
103
100
99
97
95
94
93
93
91
91
94
93
93
93
92
92
91
91
90
89
88
88
87
86
85
85
84
83
82
82
81
81
81
82
82
82
83
82
82
82
82
81
80
75
73
72
72
73
73
72
72
70
70
71
72
72
73
74
74
74
76
77
78
81
81
83
83
83
83
83
83
83
85
85
85
85
85
85
85
82
82
82
82
82
82
82
69
69
69
69
69
69
69
67
67
68
68
69
69
69
69
68
67
63
60
59
58
55
54
52
50
50
51
51
55
56
58
58
59
58
58
60
59
62
66
67
72
77
94
102
104
105
105
105
106
107
107
107
107
107
107
107
108
108
108
109
110
111
111
114
114
115
120
122
125
126
129
131
131
132
134
139
144
145
145
145
146
148
148
153
153
153
153
154
154
154
154
154
154
154
155
157
160
164
164
164
163
162
162
159
159
158
155
153
152
150
148
141
141
141
139
139
139
137
135
135
134
134
135
136
136
140
139
139
137
137
134
132
130
127
125
123
121
119
118
117
116
116
116
113
113
113
112
112
113
117
116
117
118
124
126
131
133
136
139
142
144
144
145
145
147
147
147
141
141
141
141
141
141
141
141
141
142
142
143
143
143
143
143
144
144
146
146
146
150
151
151
154
154
154
154
156
151
150
147
146
142
139
137
131
127
126
121
117
114
108
106
104
103
102
99
99
97
94
94
93
93
91
91
93
93
93
92
92
92
91
90
90
89
88
87
87
85
85
84
83
82
82
81
80
81
81
81
82
82
82
81
81
81
81
81
79
75
73
72
72
73
73
72
72
71
71
71
72
72
73
73
74
75
75
76
77
79
80
81
81
81
81
81
81
81
84
84
84
84
84
84
84
81
81
81
81
81
81
81
69
69
69
69
69
69
69
68
68
68
69
70
70
71
73
72
70
64
62
60
59
57
56
52
52
52
53
53
55
56
58
58
59
58
58
61
59
62
65
65
70
76
88
97
100
103
103
104
104
107
107
107
107
109
109
109
109
109
110
110
111
112
112
115
115
117
121
123
126
127
130
131
134
135
137
141
145
145
145
148
148
149
149
153
153
153
154
154
155
155
154
154
154
154
155
157
160
164
164
164
162
162
161
159
158
157
154
153
151
150
148
144
144
144
144
142
142
140
143
144
144
143
145
146
147
149
148
147
144
143
138
137
136
134
130
129
126
124
123
123
123
123
121
120
120
119
121
122
123
126
128
129
130
138
140
143
145
148
151
153
154
154
154
153
152
152
152
145
145
145
145
145
145
145
144
144
145
145
146
146
146
144
144
146
146
146
148
148
150
152
153
153
154
155
155
159
155
151
151
147
145
141
138
132
130
126
123
119
116
108
105
104
102
101
98
98
96
94
94
94
93
92
92
93
93
92
92
91
91
90
90
89
88
88
87
86
84
84
83
82
82
81
80
80
80
80
81
81
82
82
80
80
81
80
80
78
74
73
72
72
73
73
72
72
72
72
72
73
73
73
73
75
76
76
76
76
76
76
77
77
77
77
77
77
77
79
79
79
79
79
79
79
77
77
77
77
77
77
77
72
72
72
70
69
68
68
69
69
70
70
71
71
71
73
72
71
68
64
63
62
59
58
57
54
53
52
52
56
56
57
57
59
59
59
59
59
60
63
65
67
68
79
91
95
98
101
103
106
106
108
108
110
111
111
111
111
111
111
112
113
113
113
118
119
121
124
126
127
128
135
136
138
140
143
145
147
150
150
152
155
156
157
156
156
156
156
156
156
156
155
156
157
158
159
160
161
165
165
165
163
163
163
160
159
158
154
152
151
150
150
147
147
148
150
151
152
152
153
153
153
153
151
151
151
153
153
150
150
150
147
145
141
140
138
136
131
130
127
125
125
124
125
127
128
129
129
131
135
137
139
141
143
154
154
155
158
159
160
160
161
160
160
161
161
161
160
150
149
148
147
146
146
145
149
149
148
148
148
147
147
146
146
146
148
148
148
148
151
151
153
153
154
154
154
154
154
154
150
148
145
143
141
135
131
129
127
122
119
111
105
102
101
101
99
98
96
93
93
92
91
89
89
92
92
92
91
91
91
90
89
89
87
86
85
84
84
84
83
82
81
81
80
79
79
79
79
79
79
79
80
80
81
80
79
78
73
74
73
73
73
73
71
71
72
72
72
73
73
74
74
74
74
74
75
75
76
76
73
73
73
73
73
73
73
73
73
73
74
74
75
75
71
71
71
71
71
71
71
73
72
72
70
70
69
69
70
70
70
71
71
72
72
75
75
72
68
67
64
63
60
59
57
56
55
53
52
56
56
57
57
59
59
59
59
59
59
63
64
66
67
75
85
90
95
98
102
104
107
108
109
111
112
112
112
112
112
112
113
114
115
115
120
121
122
126
127
128
129
136
137
139
142
144
145
150
150
151
154
155
157
157
157
157
157
157
157
157
157
156
157
157
159
160
161
162
165
165
165
164
163
163
160
159
158
154
153
151
151
151
153
154
154
154
155
157
156
156
156
154
154
154
154
154
155
155
154
153
153
148
148
144
143
140
138
135
132
131
127
126
126
127
130
134
135
135
137
142
144
145
148
150
161
161
161
163
164
164
164
164
164
163
162
164
164
164
151
151
149
149
148
147
147
150
150
149
149
148
148
148
146
146
148
148
148
148
150
151
153
153
153
153
154
154
154
154
153
152
148
147
144
142
136
133
130
128
125
120
111
104
102
101
101
98
97
95
92
92
91
90
88
88
92
92
92
91
91
91
89
89
88
87
86
84
84
83
83
82
82
81
80
79
78
78
78
78
78
78
78
79
79
80
80
79
78
73
74
73
73
73
73
71
71
72
72
72
72
73
73
74
74
74
74
74
75
75
76
71
71
71
71
71
71
71
71
71
71
71
72
72
73
70
70
70
70
70
70
70
73
73
73
72
72
72
72
71
72
72
73
73
73
73
78
77
76
71
69
68
67
60
60
58
57
56
55
55
56
56
57
57
59
59
59
61
60
60
63
64
65
66
70
81
86
91
94
100
105
105
109
110
113
114
116
117
114
114
115
116
118
119
119
125
125
126
130
131
131
132
140
141
143
144
146
149
151
154
155
156
157
160
161
160
160
160
160
160
160
160
158
159
160
161
162
163
165
166
166
166
164
164
164
161
161
160
156
155
154
154
155
159
159
158
159
159
160
159
158
158
157
157
157
157
155
159
159
159
156
156
154
152
151
148
146
145
140
140
139
127
127
129
131
135
139
141
145
147
149
152
154
156
160
169
169
169
169
169
169
169
171
171
170
170
169
169
169
157
157
155
155
154
153
153
153
153
153
152
152
152
151
149
149
149
149
151
151
151
153
153
153
155
155
155
155
152
153
153
152
150
147
144
145
138
135
133
129
126
124
111
104
101
100
99
96
96
96
93
93
92
91
89
89
91
91
91
90
90
90
88
87
86
85
84
83
82
82
81
81
80
79
78
78
77
77
77
77
77
77
77
76
77
77
78
78
77
73
73
72
72
72
72
70
70
71
71
71
72
72
73
73
73
73
73
74
74
75
75
69
69
69
69
69
69
69
69
69
69
70
70
71
71
67
67
67
67
67
67
67
74
74
74
74
74
74
74
73
73
73
74
74
75
75
80
79
78
75
73
70
69
63
61
59
58
57
56
56
56
56
57
57
59
59
59
63
63
62
64
65
66
67
68
75
79
84
89
94
99
105
110
111
114
116
119
119
116
117
118
119
121
122
123
129
129
130
133
133
134
134
143
144
145
146
149
150
155
155
156
157
160
162
162
162
162
162
162
162
162
162
161
161
162
163
164
165
167
167
167
166
165
165
164
162
162
161
158
157
156
157
158
162
162
162
162
163
161
161
160
158
158
158
157
157
157
161
161
161
159
158
156
154
155
153
150
150
146
146
145
136
136
136
136
142
146
147
151
153
158
160
163
165
168
175
175
175
175
175
175
173
175
174
174
173
172
172
171
162
161
160
159
158
158
157
156
156
155
155
154
154
154
150
150
150
152
152
152
152
154
154
155
155
154
154
154
153
152
152
151
150
147
146
145
137
134
133
131
126
123
111
104
101
99
98
95
94
93
90
90
89
88
86
86
89
88
88
88
87
87
86
86
85
84
83
81
81
80
80
79
79
78
77
76
75
75
75
75
75
75
75
74
75
76
76
76
76
72
72
71
71
71
71
69
69
70
70
71
71
71
72
72
72
72
73
73
73
74
74
70
70
70
70
70
70
70
68
68
69
69
70
70
70
65
65
65
65
65
65
65
74
74
74
74
74
74
74
73
73
73
74
75
75
75
80
80
78
75
74
71
70
63
61
59
59
57
56
56
56
56
57
57
59
59
59
64
64
63
65
66
67
68
65
73
77
82
87
91
96
106
110
111
115
116
119
120
116
117
118
120
122
123
124
130
130
131
134
134
135
135
144
145
146
147
150
150
155
155
156
157
161
162
163
162
162
162
162
162
162
162
161
161
162
163
165
166
167
167
167
167
165
165
164
162
162
161
158
157
157
157
159
163
163
163
164
164
162
162
159
157
157
157
157
156
156
161
161
161
158
158
155
154
156
154
151
151
147
147
147
139
139
139
140
144
148
149
154
156
160
164
165
168
170
180
180
180
177
177
177
177
175
175
175
174
174
172
172
162
162
161
160
159
158
158
156
156
155
155
154
154
154
150
150
150
152
152
152
153
154
154
155
155
154
154
154
152
152
152
151
150
147
146
145
137
134
132
130
125
123
111
104
101
99
98
95
94
91
88
87
87
86
84
84
88
88
87
87
87
86
86
86
85
84
82
81
80
80
80
79
78
78
77
76
75
75
75
75
75
75
75
73
74
75
76
76
76
72
72
71
71
71
71
69
69
70
70
70
71
71
72
72
72
72
72
73
73
74
74
69
69
69
69
69
69
69
66
66
66
67
68
68
68
66
66
66
66
66
66
66
77
76
75
76
77
78
79
79
79
80
82
83
83
83
82
81
80
74
72
71
70
65
63
58
58
58
57
56
55
55
56
56
59
59
59
59
60
60
60
62
62
62
69
72
74
77
83
88
93
99
108
110
112
113
114
118
119
121
122
124
125
129
130
136
137
139
140
141
144
144
147
148
149
151
152
155
156
159
159
161
162
164
165
166
166
166
167
167
167
168
168
168
168
168
168
168
168
168
168
168
167
167
166
166
164
164
164
164
164
164
164
166
166
166
166
166
166
166
164
164
164
163
163
162
162
160
160
160
159
159
159
159
160
160
160
161
162
162
162
158
158
159
161
164
166
167
168
171
172
177
181
182
183
183
183
183
181
181
181
179
179
179
177
175
175
174
174
170
170
169
168
167
165
165
163
161
160
159
156
156
155
155
155
154
154
154
153
153
153
153
153
153
153
153
153
149
151
152
152
154
154
154
153
146
143
139
134
130
126
111
103
97
94
91
89
87
87
85
85
86
86
88
89
86
86
86
86
86
88
88
89
89
87
86
86
85
84
83
82
81
80
79
78
77
77
77
77
77
77
77
78
78
76
75
75
75
72
72
72
70
71
71
71
71
69
69
70
71
71
71
71
68
68
69
69
68
69
69
67
67
67
67
67
67
67
67
67
67
67
67
67
67
64
64
64
64
64
64
64
77
77
76
78
78
79
79
81
81
81
84
84
84
85
84
83
81
75
72
71
70
66
64
59
59
59
58
57
56
56
56
56
58
58
58
60
61
61
61
63
63
63
70
70
73
75
79
82
85
94
105
108
111
112
115
116
122
124
124
125
126
129
131
138
139
141
142
143
146
147
150
151
152
153
154
157
157
160
161
162
163
165
166
168
168
168
168
169
169
169
169
169
169
169
169
169
169
168
168
168
168
168
168
168
167
167
167
167
167
167
167
168
167
167
167
167
166
166
164
164
164
163
163
162
162
158
158
159
159
159
160
160
161
162
163
165
168
169
170
167
168
169
172
175
176
179
178
178
181
184
185
187
187
188
188
188
188
188
186
186
185
183
182
180
179
178
178
176
176
174
171
170
169
168
165
165
162
161
160
160
159
157
156
156
155
155
155
155
154
153
153
153
153
152
152
151
151
152
154
154
154
154
155
149
147
142
139
134
130
113
107
101
96
92
88
86
85
83
83
84
84
86
87
84
84
84
84
84
86
87
88
87
86
85
85
84
83
83
82
81
80
78
78
75
75
75
75
75
75
75
76
75
73
73
72
72
70
71
71
70
70
70
70
70
69
69
70
71
71
71
71
69
69
69
70
69
70
70
68
68
68
68
68
68
68
68
68
68
68
68
68
68
64
64
64
64
64
64
64
77
77
78
80
80
79
79
81
82
82
85
85
85
85
85
84
82
75
73
71
70
66
64
59
59
59
58
57
56
56
56
56
58
58
58
60
61
61
61
63
63
63
70
70
71
75
77
80
83
91
101
106
108
111
114
116
122
124
124
126
126
130
132
139
140
142
143
144
147
148
151
151
153
154
155
158
158
161
162
163
164
166
167
168
168
168
169
169
170
170
169
169
169
169
169
169
169
168
168
168
168
168
168
168
168
168
168
168
168
168
168
169
168
168
167
167
166
166
164
164
164
163
163
162
162
158
158
159
159
160
161
161
163
164
166
167
171
173
173
171
171
173
174
177
180
181
182
184
185
187
190
190
191
192
192
192
190
190
190
188
185
185
182
181
180
179
179
178
178
176
174
173
170
169
169
166
165
164
161
161
161
157
157
157
156
156
156
155
154
154
153
153
152
152
152
151
152
152
154
154
156
156
155
150
148
145
141
135
132
113
109
104
99
94
89
85
84
82
82
81
83
85
85
84
84
84
84
84
86
86
87
86
85
84
84
83
83
82
81
80
79
78
77
73
73
73
73
73
73
73
75
75
72
72
72
71
69
71
71
69
70
70
70
70
69
69
70
71
71
71
71
69
69
70
70
69
70
70
68
68
68
68
68
68
68
68
68
68
68
68
68
68
64
64
64
64
64
64
64
77
78
79
82
81
80
79
83
83
83
86
86
87
87
86
85
83
75
73
71
69
67
65
60
60
60
59
58
57
57
56
56
57
57
57
61
62
62
62
64
64
64
66
70
72
74
77
78
80
85
96
100
105
107
111
113
119
121
123
126
128
132
135
141
142
144
145
146
149
150
151
152
153
154
155
158
160
162
163
164
165
168
168
168
168
168
168
169
169
169
168
168
168
168
168
168
168
168
168
168
169
169
170
170
169
169
169
169
169
169
169
170
170
169
168
167
166
166
164
164
164
163
163
162
162
161
161
162
163
164
165
165
171
172
173
174
177
178
179
178
178
180
181
186
187
188
189
191
191
193
193
193
193
195
195
195
194
194
194
192
191
191
190
187
186
185
185
185
182
179
178
176
174
173
173
170
169
168
167
165
165
161
161
160
160
159
159
159
157
156
155
155
154
153
153
151
152
154
154
156
156
156
156
150
148
145
141
138
133
118
112
107
102
97
90
85
82
80
80
79
81
81
81
82
82
82
82
82
84
84
86
85
84
83
82
82
80
80
79
78
76
75
74
71
71
71
71
71
71
71
75
74
72
72
71
71
69
70
70
69
69
69
69
69
69
69
70
71
71
71
71
70
70
70
71
70
71
71
69
69
69
69
69
69
69
69
69
69
69
69
69
69
64
64
64
64
64
64
64
81
81
81
83
83
83
83
84
84
85
89
89
90
90
87
86
84
77
74
72
71
64
64
61
61
60
59
59
57
57
56
56
57
57
57
57
60
63
64
66
65
65
67
68
69
73
75
80
81
85
91
95
98
103
105
107
116
119
122
126
129
134
137
141
142
144
145
146
149
149
152
153
154
154
155
158
160
163
164
166
166
168
167
168
168
168
168
168
168
168
168
168
168
168
168
168
168
167
167
167
167
168
170
173
171
171
172
172
172
173
173
172
172
171
170
168
166
166
166
165
163
162
161
162
163
161
161
163
165
167
170
171
175
175
176
177
179
180
181
183
183
185
187
193
194
195
196
196
196
198
198
198
198
200
200
200
200
198
198
198
197
197
196
192
191
191
190
189
188
184
183
182
181
179
177
176
173
172
171
170
170
166
166
164
162
161
160
160
160
159
158
158
157
156
156
152
154
154
156
156
158
158
156
152
150
149
146
141
139
124
119
111
105
100
93
87
82
78
77
77
78
80
79
81
82
82
82
82
83
81
83
82
82
82
83
83
80
78
76
74
72
71
71
69
69
69
70
70
71
71
72
72
70
71
71
72
70
69
69
67
68
68
68
68
69
70
70
71
71
70
71
69
69
70
71
70
72
72
70
70
70
70
70
70
70
70
70
70
70
70
70
70
65
65
65
65
65
65
65
81
81
81
83
83
83
83
84
84
85
88
89
90
90
87
86
84
77
74
72
71
64
64
62
61
60
59
59
57
57
56
56
58
57
57
57
60
63
64
66
65
65
65
68
69
71
76
78
82
85
90
93
98
100
103
106
115
118
121
125
127
133
135
141
142
144
145
146
149
149
151
153
154
154
154
158
160
163
165
166
167
168
168
168
168
168
168
168
168
168
167
167
167
167
167
167
167
166
166
166
167
168
170
173
172
172
172
173
173
173
174
172
172
171
170
169
167
166
166
165
163
162
162
163
163
163
164
166
168
170
173
174
179
179
180
181
184
184
185
185
186
188
190
194
196
197
199
201
201
201
203
203
203
204
204
204
202
202
202
200
199
198
197
195
194
194
193
190
189
187
186
185
182
182
180
177
175
174
172
171
171
166
166
164
163
162
161
160
160
159
159
158
157
156
156
152
154
156
156
158
158
158
158
152
150
149
146
143
139
126
120
113
107
100
93
88
82
78
77
77
77
79
79
80
81
82
82
81
82
81
83
82
82
82
82
82
79
78
76
74
72
71
71
69
69
69
70
70
71
71
72
72
70
71
71
71
70
69
69
67
68
68
68
68
69
69
70
71
71
71
71
69
69
70
71
71
72
72
70
70
70
70
70
70
70
70
70
70
70
70
70
70
65
65
65
65
65
65
65
82
82
82
84
84
84
84
85
85
85
88
89
89
89
87
86
84
77
74
72
71
66
65
63
62
61
61
60
58
58
57
57
58
58
58
58
59
61
62
65
65
65
67
67
68
72
75
79
83
83
87
91
94
98
100
101
112
115
117
121
123
128
131
139
140
143
144
146
149
149
151
153
153
153
154
158
161
164
166
167
168
169
169
170
169
169
169
169
168
168
167
167
167
167
167
167
167
166
166
166
166
167
169
172
174
175
175
175
176
176
176
174
173
172
171
170
168
167
166
165
164
163
163
165
165
167
168
169
171
173
176
177
182
182
183
184
187
188
188
190
191
192
194
200
201
202
206
208
208
208
210
210
210
209
209
209
207
207
207
205
203
203
203
200
199
199
199
196
195
193
192
191
188
188
186
183
181
179
176
175
174
171
170
168
167
166
165
164
163
162
161
160
160
159
159
154
156
156
158
158
160
160
158
154
152
150
148
143
141
130
123
116
110
101
96
90
82
78
76
76
77
77
76
80
81
81
81
81
82
81
83
82
82
81
81
81
78
77
75
73
71
71
71
69
69
69
69
69
69
69
70
71
69
69
70
70
68
69
69
67
68
68
68
68
68
69
69
70
72
71
72
70
70
71
71
71
73
73
70
70
70
70
70
70
70
70
70
70
70
70
70
70
65
65
65
65
65
65
65
83
83
83
85
85
85
85
86
86
86
88
88
88
88
87
86
84
77
74
72
71
67
67
65
64
63
62
62
59
58
58
57
59
59
59
58
59
59
60
63
65
65
66
69
70
72
77
81
83
84
87
91
93
95
99
100
110
113
115
118
120
125
127
135
137
140
142
143
147
148
150
152
152
152
153
157
163
166
167
169
170
171
170
171
171
171
170
169
169
168
168
168
168
168
168
168
168
167
167
167
168
169
171
174
175
176
176
176
177
177
178
175
175
174
173
172
170
169
167
166
165
165
165
167
168
172
173
174
176
178
181
182
184
184
185
186
189
190
190
194
197
198
200
204
207
208
209
211
211
211
211
212
212
211
211
210
210
210
210
208
208
208
206
206
206
206
204
202
201
199
198
196
195
194
193
190
187
183
181
180
179
173
172
170
169
168
167
167
164
163
162
161
160
160
159
154
156
158
158
160
160
160
160
154
152
150
148
143
141
133
126
119
113
104
96
91
81
77
75
75
76
76
76
79
80
81
81
80
81
81
83
82
81
80
80
79
76
75
73
72
71
71
71
69
69
69
69
68
68
68
69
69
67
68
68
68
67
69
69
67
68
68
68
68
67
68
69
70
72
72
73
70
71
71
72
72
73
74
70
70
70
70
70
70
70
70
70
70
70
70
70
70
65
65
65
65
65
65
65
83
83
83
85
85
85
85
86
86
86
88
88
88
88
87
86
84
77
74
72
71
68
68
65
64
64
63
63
59
59
58
58
59
59
59
58
59
58
59
63
64
66
67
69
71
73
77
80
83
84
88
89
93
95
97
99
110
113
114
117
119
124
126
133
135
138
140
142
146
146
150
152
152
152
153
157
164
167
168
169
170
171
171
172
172
171
170
169
169
168
169
169
169
169
169
169
169
168
168
168
168
170
172
174
175
176
176
176
177
177
177
176
175
175
173
172
170
170
167
166
166
165
166
168
169
173
174
175
177
179
183
184
186
187
187
189
191
192
192
197
198
199
201
207
209
210
211
213
213
214
214
214
214
213
213
213
212
212
212
210
209
209
209
207
208
208
208
205
203
201
200
199
197
196
195
192
188
186
184
181
180
174
173
171
170
169
168
168
164
163
162
161
161
160
160
154
156
158
158
160
160
160
160
154
152
150
148
145
141
133
126
120
113
104
98
91
80
77
75
75
76
76
75
79
80
80
80
80
81
81
83
82
81
79
79
78
75
74
73
71
71
71
71
69
69
69
68
68
67
67
68
68
67
67
67
68
66
69
69
67
68
68
68
68
67
67
69
70
72
73
73
71
71
72
72
72
74
74
70
70
70
70
70
70
70
70
70
70
70
70
70
70
65
65
65
65
65
65
65
88
88
88
87
86
86
86
87
87
87
86
86
86
86
85
84
82
75
72
68
67
65
63
63
61
61
61
61
63
63
61
61
60
59
59
58
58
59
59
60
60
60
65
70
72
74
76
80
82
86
90
92
94
95
98
99
106
107
109
111
114
116
116
122
124
127
130
135
137
138
147
149
150
154
155
157
161
163
165
168
170
171
171
171
171
171
170
170
169
169
171
171
170
170
171
173
175
171
172
172
172
172
172
173
177
177
177
178
178
179
179
178
178
177
175
173
170
169
168
168
168
168
169
173
174
175
176
177
178
180
189
191
192
194
195
196
199
201
202
208
208
209
211
214
215
216
218
218
218
218
218
218
218
216
216
216
215
215
214
214
215
215
215
214
213
213
213
214
214
210
208
207
206
203
201
200
195
194
192
191
190
182
180
177
174
174
175
175
169
167
164
162
161
159
159
161
161
160
160
157
157
157
156
154
154
152
151
148
146
134
127
120
114
106
99
94
83
79
77
77
77
79
78
81
81
82
82
83
83
83
83
82
81
79
78
77
77
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
68
68
68
69
68
70
70
69
70
70
72
72
67
67
67
68
70
73
71
72
72
71
72
72
73
71
74
74
74
73
73
73
71
69
69
69
67
67
67
67
67
67
67
66
65
65
65
88
88
88
87
87
87
86
88
88
87
86
86
85
85
83
82
78
74
70
68
66
65
65
63
61
61
61
61
64
64
62
61
61
60
60
59
59
60
60
60
61
61
65
70
72
74
76
80
82
86
90
93
95
96
100
100
106
107
109
110
114
115
115
121
123
125
128
133
135
136
147
149
150
152
155
157
162
163
165
167
170
170
170
171
171
170
170
170
170
169
171
171
170
170
171
173
175
173
174
174
174
175
175
176
177
178
178
178
179
179
179
179
178
177
176
174
171
171
170
169
169
170
171
175
176
178
178
179
181
183
191
192
194
196
197
198
202
203
204
209
210
211
213
216
217
218
221
221
221
221
221
221
221
218
218
218
217
217
216
216
216
216
215
215
214
214
214
215
215
211
210
209
208
205
205
205
200
198
197
195
195
186
185
180
178
175
174
174
170
169
167
163
162
161
160
161
161
161
160
158
158
157
156
154
154
152
151
148
146
134
127
120
114
106
99
94
83
79
77
77
77
79
78
81
81
82
82
83
83
83
82
81
80
79
78
77
77
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
68
68
68
69
68
69
70
68
69
70
71
72
67
67
69
68
70
73
71
72
72
71
72
72
73
73
73
73
73
72
72
72
70
69
69
69
67
67
67
67
67
66
66
66
65
65
65
89
89
88
88
87
87
87
88
88
87
86
85
85
84
79
78
77
73
70
68
67
66
66
64
64
62
62
62
65
64
63
62
61
61
60
60
60
60
61
61
61
62
65
70
72
74
76
80
82
87
91
94
96
97
101
101
107
108
109
110
114
115
115
120
122
125
128
132
134
135
147
149
150
152
153
157
160
163
165
167
168
170
170
168
168
168
168
168
168
168
169
169
168
168
169
171
173
174
175
175
176
177
177
178
178
178
178
179
179
179
180
179
178
178
176
175
173
172
171
171
171
171
173
176
177
179
180
181
183
186
192
194
197
198
198
200
204
205
205
211
212
213
214
218
219
219
222
222
222
222
222
222
222
219
219
219
218
218
218
217
217
216
216
215
215
215
215
216
215
214
211
210
209
209
206
205
201
199
198
196
196
189
188
183
180
178
175
174
173
170
168
167
163
162
161
162
161
161
161
158
158
158
156
154
154
152
151
148
146
134
127
120
114
106
99
94
83
79
77
77
77
79
78
81
81
82
82
83
83
82
82
81
80
79
77
77
77
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
68
68
68
69
68
69
69
68
69
70
71
71
67
67
69
70
70
73
73
72
72
72
72
72
73
73
72
72
72
71
71
71
69
69
69
69
67
67
67
67
66
66
66
65
65
64
64
88
87
87
86
86
86
86
85
85
84
82
81
80
79
75
73
72
70
69
69
67
67
67
65
65
65
65
65
66
66
65
64
63
62
62
61
61
62
62
63
63
63
65
70
72
74
76
80
82
87
92
95
97
100
103
104
110
111
111
112
115
116
116
122
124
126
129
134
136
137
145
147
150
152
153
155
160
161
163
166
167
167
167
167
167
168
168
168
168
169
169
169
168
168
169
171
173
175
176
176
178
179
180
181
179
179
179
179
180
180
181
179
179
178
178
177
175
175
174
174
174
175
176
179
181
182
183
186
191
193
196
198
200
201
204
205
207
208
208
214
215
216
218
221
222
223
224
224
224
224
224
224
224
221
220
220
219
219
219
218
218
218
218
217
217
216
216
217
217
216
216
215
213
212
209
207
204
202
199
197
197
194
193
188
186
183
180
176
175
173
171
169
167
166
166
163
162
162
161
159
159
159
156
154
154
152
151
148
146
134
127
120
114
106
99
94
83
79
77
77
77
79
78
81
81
82
82
83
83
82
81
80
79
78
77
76
77
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
68
68
68
69
68
68
69
67
68
69
70
71
67
67
69
70
72
73
73
74
72
72
73
73
73
73
73
73
73
72
72
72
70
69
69
69
67
67
67
67
65
65
65
65
64
64
63
88
88
88
87
86
86
86
84
83
82
79
78
77
77
71
71
70
69
68
68
68
67
67
67
67
67
67
67
67
67
65
65
64
63
63
62
62
63
63
64
64
64
65
70
72
74
76
80
82
87
92
96
98
101
105
106
112
113
114
114
117
117
118
124
127
129
132
137
139
140
145
147
148
150
151
155
158
161
163
164
164
166
166
166
166
166
167
167
168
168
168
168
167
167
168
170
172
175
175
176
178
179
180
182
179
179
179
180
180
181
181
180
180
179
178
178
177
176
176
176
176
176
178
181
182
185
187
190
194
196
200
200
204
205
205
207
210
211
211
216
217
218
219
223
224
224
224
224
224
224
224
224
224
220
220
220
219
219
218
218
219
219
219
218
217
217
217
219
219
218
217
217
217
216
213
213
208
207
205
204
203
194
194
193
191
188
183
182
178
174
173
171
169
168
167
163
163
162
162
159
159
159
156
154
154
152
151
148
146
134
127
120
114
106
99
94
83
79
77
77
77
79
78
81
81
82
82
83
83
81
81
80
79
77
76
75
77
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
68
68
68
69
68
68
68
67
68
68
70
70
69
69
71
72
72
75
75
74
74
74
73
73
74
74
74
74
74
73
73
73
71
69
69
69
67
67
67
67
65
65
65
64
63
63
63
88
88
87
84
83
82
82
82
82
80
77
76
75
74
70
70
69
68
69
70
70
68
68
68
68
68
69
69
67
67
66
66
65
65
65
64
64
64
64
64
64
64
65
69
71
75
77
81
82
86
93
96
97
99
104
107
111
113
114
116
119
120
121
126
127
129
131
135
136
137
143
146
149
149
151
154
157
158
161
163
164
164
163
166
166
166
167
167
168
168
169
169
168
168
168
169
171
174
175
177
179
180
181
180
180
180
180
181
181
182
182
181
181
180
180
178
177
177
176
176
176
177
179
183
184
188
190
194
198
198
201
204
207
207
209
210
213
214
214
218
219
219
221
223
224
224
226
226
226
226
226
226
226
223
222
222
220
219
218
218
219
219
219
219
219
219
219
219
219
219
219
219
218
218
217
215
212
210
206
205
204
200
199
194
192
190
188
186
182
175
173
172
171
168
166
165
164
163
161
158
157
157
157
156
155
151
149
146
145
131
127
120
111
104
100
93
81
79
78
78
78
80
81
82
82
82
82
82
82
78
78
78
77
77
76
76
75
75
74
73
73
72
71
69
69
69
68
68
67
67
68
68
68
68
68
69
67
69
69
68
69
69
71
71
69
69
70
71
73
73
73
76
74
74
75
75
73
73
75
74
74
73
72
72
70
71
71
71
69
69
69
69
66
65
65
65
64
64
63
88
87
86
84
83
82
81
81
81
80
76
75
74
73
68
67
66
65
68
69
70
68
69
69
69
69
69
71
68
68
67
67
66
66
66
65
65
65
65
65
65
65
66
70
71
75
77
81
81
85
92
96
97
100
105
107
112
113
115
116
120
121
122
126
127
129
131
135
136
137
145
147
148
148
150
152
155
158
159
161
162
164
163
166
166
166
166
167
167
167
168
168
167
167
167
168
170
174
175
177
179
180
181
180
180
180
180
181
181
182
182
181
181
180
179
179
177
177
177
177
177
178
180
184
186
191
194
197
199
200
204
205
209
209
210
211
216
216
217
219
220
221
222
224
225
225
226
226
226
226
226
226
226
224
223
223
221
221
220
220
220
220
220
220
220
220
220
221
221
221
219
219
219
219
218
217
213
211
210
208
208
201
201
197
195
191
190
189
186
179
177
176
172
169
167
166
164
163
162
159
158
157
157
156
155
151
148
146
144
131
127
121
111
104
99
92
81
79
78
77
77
79
79
79
79
79
79
79
79
77
77
77
77
76
76
76
75
75
74
73
73
72
71
69
69
69
68
68
67
67
68
68
68
67
68
68
67
68
69
67
68
69
70
71
70
70
71
72
73
75
75
75
75
75
74
74
75
75
73
73
73
71
71
70
68
69
69
69
67
67
67
67
65
64
64
64
63
63
63
86
85
85
82
81
80
80
79
78
77
74
72
71
70
65
64
63
65
65
68
69
69
70
72
72
72
72
72
69
69
69
68
68
68
67
66
66
66
66
66
66
66
68
71
72
76
77
80
81
85
93
97
99
101
107
109
113
114
115
117
121
122
122
126
127
129
131
135
136
137
144
146
148
148
148
150
155
156
159
161
162
162
161
163
163
163
164
164
164
165
165
164
164
163
164
165
167
173
174
176
178
179
180
179
180
180
180
181
181
182
182
180
180
179
179
179
178
178
180
180
180
181
182
187
188
193
196
199
203
204
206
209
210
211
214
215
217
218
219
220
220
221
222
225
225
226
226
226
226
226
226
226
226
224
224
223
223
223
222
222
221
221
221
221
221
221
221
222
222
222
222
222
220
220
219
218
216
215
212
211
211
205
204
200
198
196
194
191
190
183
181
179
177
174
171
166
165
164
163
159
159
158
156
155
154
150
147
145
143
129
126
121
111
104
98
90
81
79
77
76
75
77
78
77
77
77
77
77
77
76
76
76
76
76
76
76
75
75
74
73
73
72
71
69
69
69
68
68
67
67
67
67
67
67
67
67
66
68
68
67
67
68
70
70
70
70
71
72
74
75
75
76
74
75
76
77
76
77
74
74
73
72
71
71
69
70
70
70
68
68
68
68
66
66
66
65
64
64
64
86
85
84
82
81
80
79
78
77
76
73
71
70
70
65
64
63
64
65
68
69
70
71
73
73
73
75
75
70
70
69
69
69
68
68
67
67
67
67
67
67
67
69
72
73
76
77
80
81
86
94
98
100
103
108
111
113
114
116
117
121
122
123
126
127
129
131
135
136
137
143
145
146
148
149
151
155
156
157
161
162
162
161
162
163
163
163
164
164
164
164
163
163
162
163
164
166
172
173
175
177
178
178
178
180
180
180
181
181
182
182
179
179
179
179
179
179
179
181
181
181
182
183
188
189
194
197
203
205
205
208
210
211
212
214
216
218
221
221
219
220
221
222
224
225
225
226
226
226
226
226
226
226
223
223
223
223
223
223
223
222
222
222
222
222
222
222
225
225
223
223
223
221
221
219
219
217
216
215
212
212
206
205
202
199
197
195
195
192
187
182
180
178
175
172
167
165
164
163
160
159
158
155
155
154
150
147
145
143
129
126
121
112
103
97
89
81
79
77
75
75
77
77
76
76
76
76
76
76
75
75
75
75
76
76
76
75
75
74
73
73
72
71
69
69
69
68
68
67
67
66
67
67
66
67
67
65
67
68
66
67
68
69
70
72
72
71
72
74
75
75
76
77
76
77
78
78
78
76
75
75
74
73
73
70
72
72
72
70
70
70
70
68
68
68
67
66
66
66
85
85
84
81
80
79
79
77
76
75
72
71
69
69
64
63
62
64
64
65
68
71
71
73
73
75
75
75
71
71
70
70
69
69
69
68
68
68
68
68
68
68
70
73
74
77
78
80
81
87
96
100
102
105
111
114
114
115
116
118
121
123
123
126
127
129
131
135
136
137
141
144
146
146
150
153
155
156
157
159
162
162
161
162
162
162
163
163
164
164
163
163
162
162
162
163
165
170
171
173
175
176
176
176
180
180
180
181
181
182
182
179
179
179
179
179
179
179
182
182
182
183
185
189
190
198
200
204
206
207
210
211
212
214
215
216
221
222
222
218
219
219
221
223
224
224
226
226
226
226
226
226
226
222
222
222
222
222
223
223
223
223
223
223
223
223
223
225
225
223
223
223
223
221
220
220
217
217
216
216
215
207
207
203
201
198
197
196
195
189
186
182
179
176
173
167
166
165
163
160
159
159
155
154
153
149
146
144
143
128
126
121
112
103
97
87
81
79
77
75
74
76
76
76
76
76
76
76
76
74
74
74
75
75
76
76
75
75
74
73
73
72
71
69
69
69
68
68
67
67
66
66
66
66
66
67
65
67
67
66
67
67
69
69
72
72
73
72
74
76
75
77
78
77
78
80
82
82
79
79
78
77
76
76
74
75
75
75
73
73
73
73
72
72
71
71
70
70
70
82
81
80
78
76
75
75
73
73
72
71
70
69
69
66
66
66
66
66
66
66
68
68
69
69
70
70
70
70
70
69
69
69
68
68
67
67
67
67
67
67
67
69
72
74
75
77
80
80
85
91
97
101
105
109
110
115
116
120
121
123
124
127
129
131
132
133
134
135
136
140
141
144
145
146
147
152
154
157
157
157
158
160
161
162
163
163
163
163
162
161
160
159
158
157
158
159
164
165
166
167
169
173
175
175
176
177
177
178
181
182
178
177
178
177
177
180
180
182
183
187
188
191
196
197
204
205
208
210
212
214
214
216
216
217
217
218
218
218
220
220
221
222
223
224
224
225
225
225
226
227
227
227
226
226
226
226
226
226
226
225
225
225
225
225
225
225
223
223
222
222
222
221
221
220
220
219
219
219
218
218
214
214
209
207
204
203
200
198
189
187
185
181
178
176
174
166
164
163
162
160
159
156
153
152
149
146
142
140
129
123
116
109
102
91
86
81
78
76
76
75
74
75
72
72
72
72
74
74
74
75
75
75
75
77
77
75
75
74
73
72
72
71
71
71
70
69
68
68
67
63
63
63
63
63
63
63
65
66
66
68
69
71
71
69
70
71
73
75
78
79
82
82
84
85
87
90
90
84
84
85
86
87
88
88
87
87
87
87
87
87
87
86
86
85
84
83
82
82
79
78
78
76
75
74
74
73
73
72
71
70
69
69
68
68
68
68
68
68
68
69
69
70
70
70
71
71
72
71
71
70
70
70
70
69
69
69
69
69
69
69
70
74
75
76
78
81
82
87
94
100
104
109
113
114
120
121
122
124
126
129
129
133
134
135
136
139
139
140
140
141
144
145
147
147
151
153
156
156
156
157
159
162
163
164
165
165
164
163
161
160
159
158
157
158
159
163
163
164
166
167
170
172
174
175
176
177
178
180
181
180
180
180
180
180
182
182
185
188
189
191
193
199
199
206
207
210
212
214
215
215
217
217
217
218
218
219
219
220
220
221
222
223
224
224
225
225
225
226
227
227
227
227
227
227
227
227
227
227
226
226
226
226
226
226
226
224
224
223
223
222
222
222
221
221
220
220
219
219
219
216
215
212
209
207
204
203
199
192
188
187
183
180
177
172
166
164
163
161
159
155
155
152
148
145
140
137
135
122
116
110
102
95
87
83
78
75
73
73
73
74
73
72
72
72
72
74
74
73
74
74
74
74
76
76
74
73
73
72
72
71
71
70
70
69
69
68
67
66
62
62
62
62
62
62
62
63
64
65
66
67
69
70
70
71
72
74
77
81
82
85
86
87
88
90
93
93
92
92
93
94
95
96
96
97
97
97
97
98
98
98
96
96
96
95
94
94
94
78
77
77
76
75
74
74
73
73
72
71
70
69
69
68
68
68
68
68
68
68
69
69
70
70
71
71
71
72
72
72
71
71
71
70
69
69
69
69
69
69
69
71
75
76
77
79
82
83
88
95
101
106
110
114
116
121
122
124
126
129
130
131
135
136
136
139
140
140
141
141
142
145
146
147
148
151
153
156
156
156
157
159
163
164
165
166
166
165
164
162
161
160
159
158
159
160
163
164
164
165
167
170
171
174
175
176
176
177
180
181
180
180
181
182
182
184
184
189
189
191
193
197
200
201
207
209
211
213
214
215
215
217
217
218
218
219
219
219
220
220
221
222
223
224
224
225
225
225
226
227
227
227
227
227
227
227
227
227
227
226
226
226
226
226
226
226
224
224
223
223
223
222
222
221
221
220
220
220
219
219
218
217
213
212
208
205
204
200
193
189
188
186
180
178
172
166
163
161
160
156
154
152
149
145
142
138
135
132
120
113
106
100
93
86
80
76
74
72
73
73
74
73
72
72
72
72
74
74
73
74
74
74
74
76
76
73
72
72
72
72
71
71
70
70
69
68
67
67
66
62
62
62
62
62
62
62
63
63
64
65
67
69
69
70
71
73
75
78
82
83
86
87
88
90
91
94
95
97
97
97
98
100
100
101
102
102
102
103
104
104
104
100
100
100
100
99
99
99
77
77
77
76
76
76
76
73
73
72
71
70
69
69
70
70
70
70
70
70
70
70
70
71
71
71
72
72
74
74
73
73
72
72
72
71
71
71
71
71
71
71
73
76
77
78
81
83
84
88
95
102
107
111
116
118
124
127
129
130
132
133
135
139
141
141
142
142
142
144
143
144
147
149
150
151
152
154
157
157
157
158
160
165
165
166
167
167
166
165
164
163
162
161
161
161
162
165
165
165
166
167
170
170
173
174
175
176
177
179
180
180
182
184
186
186
188
188
191
194
196
197
200
205
206
210
211
213
214
215
216
216
218
218
218
219
219
220
220
220
220
221
222
223
224
224
225
225
225
226
227
227
227
228
228
228
228
228
228
228
227
227
227
227
227
227
227
225
225
224
224
223
223
223
222
222
221
221
220
220
220
219
218
216
213
211
208
206
203
196
193
191
187
184
181
173
166
162
160
157
153
151
147
142
140
135
131
127
123
115
106
99
92
86
81
77
73
71
72
73
75
75
74
72
72
72
72
74
74
72
73
73
73
73
75
75
71
71
71
71
71
71
71
69
69
68
68
67
66
65
61
61
61
61
61
61
61
63
64
65
66
67
69
70
72
73
76
78
81
86
87
89
90
91
92
94
97
97
102
102
103
104
105
106
106
106
107
107
108
110
111
111
110
110
110
110
111
111
111
80
80
80
78
77
76
75
74
74
73
72
71
70
70
70
70
70
70
70
70
70
70
70
71
71
72
72
72
72
72
73
73
73
74
74
74
74
74
74
74
74
74
73
76
77
79
81
84
84
87
95
102
107
111
116
118
127
129
131
134
137
138
139
143
143
145
145
145
145
145
144
145
148
148
149
150
155
156
158
159
161
162
163
166
167
168
169
169
169
168
165
164
163
162
162
162
163
167
167
166
166
166
169
171
173
174
175
176
176
179
180
183
183
184
185
189
191
191
198
198
200
203
205
207
208
214
214
215
216
216
218
218
218
218
218
219
220
220
220
220
220
220
221
222
222
222
225
225
226
227
228
229
229
229
229
229
228
227
227
227
227
227
227
227
227
227
227
225
225
224
224
223
223
223
223
223
222
222
221
221
221
222
221
217
215
213
212
209
203
197
195
192
189
185
179
172
165
162
158
155
153
150
147
139
134
130
126
120
116
102
95
92
87
84
79
75
70
69
70
70
72
74
74
71
71
71
71
73
73
73
74
74
73
73
74
74
72
72
72
71
71
70
70
70
69
68
68
67
66
65
60
60
60
61
61
62
62
61
62
63
65
67
70
71
74
75
76
79
81
85
86
90
91
92
93
95
98
98
104
104
105
107
109
110
110
112
112
113
114
115
116
116
116
116
116
117
118
118
118
80
80
79
78
77
76
75
74
74
73
72
71
70
70
70
70
70
70
70
70
70
70
70
71
71
72
72
72
71
72
72
73
73
73
73
74
74
74
74
74
74
74
73
77
78
79
81
84
84
88
96
102
107
112
117
119
128
129
133
135
138
139
142
144
146
146
146
146
146
146
145
146
149
150
150
151
156
156
158
160
161
162
163
167
168
169
170
170
170
169
165
165
163
162
162
162
164
167
167
166
166
166
169
171
173
174
175
175
176
179
180
182
183
186
187
189
191
194
198
199
202
203
205
208
209
214
214
215
216
217
218
218
218
218
218
219
220
220
220
220
220
220
221
222
222
222
225
225
226
227
228
229
229
229
229
229
228
227
227
227
227
227
227
227
227
227
227
225
225
224
224
224
223
223
223
223
222
222
222
221
221
222
221
217
215
213
212
209
205
197
195
192
189
185
182
172
164
161
158
155
151
147
144
134
130
126
122
116
112
97
93
87
84
79
75
73
70
69
70
71
72
73
74
71
71
71
71
73
73
73
74
73
73
73
74
74
72
72
71
71
71
70
70
69
69
68
67
66
66
65
60
60
60
61
61
62
62
61
62
63
65
67
71
71
76
77
79
81
83
88
88
93
93
94
96
98
100
101
105
105
106
107
110
110
111
112
112
113
114
115
116
116
116
116
117
117
118
118
118
79
79
78
76
76
76
77
75
75
74
72
72
71
71
71
71
71
71
71
71
71
71
71
72
72
72
73
73
71
71
72
72
73
73
73
75
75
75
75
75
75
75
75
79
80
81
83
86
87
92
99
105
110
114
118
120
132
134
136
138
143
144
145
149
149
149
151
151
151
151
149
150
153
153
154
155
158
159
160
161
162
163
164
168
169
170
171
172
172
172
168
167
166
165
164
164
165
167
167
166
166
166
169
171
172
173
174
175
176
178
179
183
184
186
188
192
196
196
201
202
203
206
207
210
211
215
215
216
216
217
219
219
218
218
218
219
220
220
220
220
220
220
221
222
222
222
224
224
225
227
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
226
226
225
225
224
224
224
224
224
223
223
222
222
222
226
225
220
218
214
212
211
206
200
196
194
191
186
182
172
164
158
154
150
146
143
138
127
122
117
113
106
102
90
85
81
77
73
69
67
69
68
68
70
71
72
73
69
69
69
69
71
71
72
73
73
72
72
74
73
71
71
71
70
70
70
69
68
67
67
66
66
65
65
60
60
60
61
61
62
62
62
63
65
67
69
72
73
77
78
80
82
85
89
90
94
95
96
98
99
102
103
106
107
108
109
111
112
113
112
112
113
114
115
116
116
119
119
119
120
120
121
121
79
77
76
74
75
77
78
76
75
75
73
72
72
71
72
72
72
72
72
72
72
72
72
72
73
73
73
74
72
72
73
73
74
74
74
76
76
76
76
76
76
76
78
81
82
83
86
88
89
94
101
106
111
115
119
120
134
136
140
142
145
146
149
151
153
153
153
153
153
153
152
153
155
156
157
157
161
161
162
163
163
164
164
167
168
170
171
173
173
173
172
171
169
167
166
166
166
167
167
166
166
166
169
171
171
173
173
174
175
178
179
182
183
185
190
193
198
201
203
204
206
207
209
212
212
215
216
216
217
218
219
220
218
218
218
219
220
220
220
220
220
220
221
222
222
222
223
224
224
226
227
227
228
227
227
228
228
228
229
229
229
229
229
229
229
229
229
227
226
226
225
225
225
225
225
224
224
223
223
223
223
228
227
221
218
214
212
211
209
201
199
195
192
187
184
173
163
157
152
147
142
137
132
121
116
110
104
98
94
85
79
76
73
69
67
65
65
66
67
68
70
70
73
68
68
68
68
70
70
71
72
72
72
71
73
73
70
70
70
70
69
69
69
66
66
66
65
65
65
65
60
60
60
61
61
62
62
64
65
66
68
70
74
74
80
81
83
85
87
91
92
96
96
98
99
101
103
104
105
105
106
107
110
111
111
110
110
111
112
113
114
114
118
118
118
118
119
119
120
78
77
75
74
75
77
79
76
76
75
73
73
72
72
72
72
72
72
72
72
72
72
72
73
73
73
74
74
73
73
74
74
75
75
75
76
76
76
76
76
76
76
79
82
83
84
86
89
90
94
101
106
110
114
118
120
134
136
140
143
145
147
150
151
153
153
153
153
153
153
152
153
156
157
157
158
162
162
163
164
164
164
164
166
167
169
171
172
173
173
173
172
170
168
167
166
166
167
167
166
166
166
169
171
171
172
173
174
175
177
178
181
183
187
190
194
201
203
204
204
206
208
210
214
215
216
216
217
217
218
220
220
218
218
218
219
220
220
220
220
220
220
221
222
222
222
223
223
224
226
226
227
227
227
227
227
228
229
229
229
229
229
229
229
229
229
229
227
227
226
226
225
225
225
225
225
224
224
223
223
223
228
227
221
219
216
212
210
209
203
199
197
192
188
184
173
163
157
151
146
140
136
128
117
112
106
99
93
89
80
76
72
70
67
65
63
65
65
66
68
69
72
72
67
67
67
67
69
69
71
72
72
71
71
73
72
70
70
70
69
69
69
68
65
65
65
65
65
65
65
60
60
60
61
61
62
62
65
65
67
69
71
74
75
81
81
83
86
88
92
93
95
96
97
99
100
103
104
103
104
105
106
108
109
110
109
109
110
111
112
113
113
118
118
118
119
119
120
120
76
76
76
76
76
76
76
75
75
75
74
73
73
73
70
70
70
70
70
70
70
72
72
73
73
73
73
74
75
75
75
75
75
77
77
77
79
80
80
81
82
82
82
82
84
85
88
90
93
93
102
104
108
111
116
119
132
137
141
146
151
154
156
157
158
159
157
158
158
158
159
160
161
161
162
163
164
164
164
165
165
166
166
173
173
173
174
174
175
175
175
175
174
174
172
172
171
167
167
168
169
169
170
171
171
171
172
173
174
174
175
177
179
182
186
188
198
204
204
207
211
211
213
215
217
217
217
218
219
219
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
222
223
224
225
225
226
226
226
227
228
228
228
230
230
230
230
230
230
230
229
229
228
228
227
227
227
226
226
226
226
226
226
226
221
221
220
219
216
213
212
209
202
198
195
191
185
182
174
163
158
148
141
132
126
117
106
101
98
92
88
84
73
71
69
67
66
66
66
65
65
64
64
63
63
63
64
64
65
67
68
68
69
69
69
71
71
71
71
66
66
66
65
65
64
64
62
62
62
62
62
62
62
62
62
61
61
62
65
68
70
71
73
74
76
80
81
80
81
83
86
88
93
94
96
96
98
99
101
104
104
105
105
106
107
110
111
111
115
115
116
119
120
121
121
120
120
120
121
122
122
122
76
76
76
76
76
76
76
75
75
75
74
74
74
73
71
71
71
71
71
71
71
73
73
74
74
75
75
75
76
76
76
76
76
78
78
79
81
82
82
84
84
84
83
83
85
87
90
91
94
97
103
105
109
112
116
119
131
136
141
146
152
155
156
158
158
157
158
159
158
159
160
160
161
162
163
163
164
165
165
165
166
166
166
171
171
171
171
172
172
172
173
173
172
171
171
170
169
166
166
166
166
167
167
167
168
168
169
169
170
171
172
176
178
180
182
187
197
202
203
206
208
211
211
215
217
217
217
218
219
219
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
223
224
224
225
226
226
226
227
227
227
228
230
230
230
230
230
230
230
229
229
228
228
227
227
227
226
226
226
226
226
226
226
221
221
220
219
216
213
212
210
202
198
194
190
183
178
169
158
151
143
135
124
118
109
97
94
88
85
81
78
72
70
67
66
65
65
65
64
64
63
63
63
62
62
63
64
64
66
67
67
69
69
69
71
71
71
71
66
65
65
65
64
64
64
62
62
62
62
62
62
62
63
62
62
62
63
67
69
71
72
73
75
77
81
82
82
83
84
87
89
93
94
96
96
98
99
101
104
104
105
105
106
107
110
111
111
115
115
116
119
120
121
121
120
120
120
121
122
122
122
77
77
77
77
77
77
77
76
76
75
75
74
74
74
72
72
72
72
72
72
72
73
73
74
75
76
76
76
77
77
77
77
77
79
79
81
83
84
84
86
86
86
84
86
87
88
91
93
96
98
104
106
109
112
116
120
131
136
141
146
150
155
157
156
157
157
158
158
159
159
160
161
161
162
163
164
165
165
165
166
166
166
167
171
171
171
171
171
171
171
172
172
172
171
171
170
170
167
167
166
166
166
166
166
167
167
167
168
169
170
171
174
176
179
181
186
196
199
202
205
207
210
210
215
217
217
217
218
219
219
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
223
223
224
224
225
225
226
226
227
227
227
229
229
229
229
229
229
229
229
229
228
228
227
227
227
226
226
226
226
226
226
226
221
221
220
219
216
213
212
209
202
196
192
187
180
176
168
156
147
138
130
121
115
104
94
88
86
82
78
75
70
68
66
65
64
64
64
63
63
63
62
62
62
61
63
63
63
64
66
66
68
68
68
68
70
70
70
65
65
65
64
64
64
63
62
62
62
62
62
62
62
63
63
62
63
64
68
71
71
73
74
76
77
82
83
83
84
85
87
90
93
94
96
96
98
99
101
104
104
105
105
106
107
110
111
111
115
115
116
119
120
121
121
122
122
122
123
124
124
124
78
78
78
78
78
78
78
77
76
76
75
75
75
75
73
73
73
73
73
73
73
73
74
76
77
78
79
79
80
80
80
80
80
82
82
85
87
88
88
90
90
90
89
89
89
91
93
97
100
101
106
109
111
114
118
121
128
133
139
146
151
154
157
157
157
158
158
159
159
158
161
161
162
163
164
164
166
166
166
166
167
167
167
171
171
171
171
170
170
170
171
171
171
171
171
171
171
168
168
167
166
165
164
163
164
164
165
166
167
167
168
171
173
176
179
181
191
197
200
202
206
207
210
213
215
217
217
218
219
219
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
220
220
222
223
223
224
224
225
225
226
226
226
226
228
228
228
228
228
228
228
229
229
228
228
227
227
227
226
226
226
226
226
226
226
221
223
220
219
216
213
212
208
199
192
187
180
173
169
160
149
139
130
120
112
104
97
88
83
80
77
73
71
67
65
64
63
62
63
63
62
61
61
61
60
60
60
59
59
62
62
62
63
66
66
67
67
67
67
67
64
64
64
64
63
63
63
62
62
62
62
62
62
62
63
63
63
64
66
70
73
73
75
76
77
79
84
84
86
86
88
89
91
94
95
96
96
98
99
101
104
104
105
105
106
107
110
111
111
115
115
116
119
120
121
121
122
122
122
123
124
124
124
78
78
78
78
78
78
78
77
77
77
76
75
75
75
74
74
74
74
74
74
74
74
74
76
78
79
80
81
81
81
81
81
81
83
83
87
89
90
90
92
92
92
90
91
91
93
96
100
101
104
110
111
112
115
120
123
127
133
139
144
149
153
156
156
157
158
158
157
158
158
161
162
163
163
164
165
166
166
166
167
167
168
168
169
169
169
168
168
167
167
169
169
169
169
169
169
169
167
166
165
164
162
161
159
161
161
162
162
163
164
165
168
172
174
177
180
190
193
197
201
204
207
207
213
216
217
217
218
219
219
221
221
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
220
221
222
223
223
224
224
224
225
226
226
226
228
228
228
228
228
228
228
229
229
228
228
227
227
227
226
226
226
226
226
226
226
223
223
221
219
216
213
211
205
195
188
182
174
167
163
150
137
127
119
109
99
92
88
80
75
73
70
67
64
63
61
60
59
59
60
60
59
59
58
58
57
57
57
58
58
59
59
62
62
64
66
66
66
66
67
67
64
64
64
63
63
62
62
62
62
62
62
62
62
62
64
64
64
65
67
71
75
74
76
77
78
80
85
85
87
88
89
90
92
94
95
96
96
98
99
101
104
104
105
105
106
107
110
111
111
115
115
116
119
120
121
121
124
124
124
125
126
126
126
76
76
76
77
78
78
78
77
77
77
77
77
77
77
75
75
75
75
75
75
75
74
75
79
81
81
81
81
82
82
83
83
84
86
86
87
89
91
91
93
94
94
93
94
95
97
98
101
101
106
111
114
116
120
122
123
126
130
136
143
148
152
155
157
158
159
158
158
159
157
163
163
164
164
165
165
165
166
167
168
168
168
167
168
168
168
168
168
168
168
170
170
170
169
169
168
168
168
167
166
165
164
162
161
160
160
160
160
161
163
165
168
170
174
176
178
186
192
198
200
204
206
207
211
215
216
216
217
218
218
220
220
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
223
225
225
226
227
226
226
226
227
228
228
228
227
227
227
227
227
227
227
227
227
226
226
226
226
225
223
222
220
219
217
212
210
205
191
182
175
169
162
156
142
129
121
112
104
93
86
82
75
72
69
67
66
66
63
62
61
61
60
59
59
58
58
58
58
58
58
58
58
60
60
60
60
62
62
62
64
64
64
64
65
62
62
62
62
62
62
62
61
61
61
61
61
61
61
62
63
64
66
68
72
74
75
77
78
80
82
87
87
88
88
90
91
93
95
96
95
96
97
99
101
104
104
105
105
106
107
112
113
113
117
117
117
120
121
121
121
125
125
125
126
127
127
127
76
77
77
78
78
78
78
77
77
77
77
77
77
77
75
75
75
75
75
75
75
75
76
80
81
82
81
81
82
83
83
84
84
86
86
88
90
91
92
94
95
95
94
97
97
98
101
102
104
111
113
115
118
119
120
123
124
130
136
142
145
151
154
156
157
158
158
157
158
158
163
163
164
164
165
165
165
166
167
168
168
168
167
166
166
166
166
166
166
166
168
167
167
167
166
166
166
166
165
165
164
162
161
160
158
158
157
157
158
159
162
167
169
172
173
177
186
189
195
199
202
205
206
211
213
215
216
216
217
218
219
220
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
224
224
225
225
225
225
226
226
227
227
227
227
227
227
227
227
227
227
226
226
225
225
224
224
224
221
219
216
215
213
208
203
197
183
173
167
158
151
145
132
120
110
103
94
86
81
76
71
68
66
65
64
64
61
61
60
59
58
58
57
57
57
57
57
57
57
57
58
58
58
58
60
60
62
62
62
62
64
64
64
62
62
62
62
62
62
62
61
61
61
61
61
61
61
62
63
65
67
69
73
75
77
78
80
81
83
87
88
88
89
90
92
93
96
97
97
97
99
100
102
104
105
105
106
107
108
112
113
114
117
117
117
120
121
121
121
125
125
125
126
127
127
127
77
77
78
78
79
79
79
78
78
78
78
78
78
78
76
76
76
76
76
76
76
77
78
81
82
82
81
81
83
83
84
84
85
87
87
89
92
93
94
96
96
97
97
98
99
102
103
105
108
113
115
118
119
122
122
123
124
128
133
141
144
147
150
156
156
157
156
157
157
156
163
163
164
164
165
165
165
166
167
168
168
168
167
166
166
166
166
166
166
166
167
167
166
166
166
165
165
164
164
164
163
162
162
161
159
158
157
157
157
158
160
165
166
169
173
175
184
188
195
197
201
202
205
209
211
215
215
216
216
217
219
219
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
224
224
224
225
225
225
226
226
226
226
226
226
226
226
226
226
224
223
222
222
221
220
218
214
213
210
205
200
193
176
168
158
151
143
138
121
107
97
91
84
76
72
68
63
63
62
61
61
63
61
60
59
58
58
57
57
56
56
56
56
56
56
56
56
56
57
57
57
57
60
60
62
62
62
62
62
62
62
62
62
62
62
62
61
61
61
61
61
61
61
63
64
66
68
71
75
78
80
81
82
83
84
88
88
89
90
91
92
94
97
97
100
100
101
102
103
105
105
106
107
107
109
113
114
114
117
117
117
120
121
121
121
126
126
126
127
128
128
128
78
78
78
79
79
79
80
79
79
79
79
79
79
79
77
77
77
77
77
77
77
78
79
81
82
82
81
81
84
84
84
85
85
87
88
90
92
94
95
96
97
97
98
99
102
103
105
106
108
112
117
118
119
123
124
124
124
128
133
140
143
146
149
155
156
156
155
156
154
155
163
163
164
164
165
165
165
166
167
168
168
168
167
166
166
166
166
166
166
166
166
166
166
166
165
165
164
163
163
162
162
162
161
160
160
159
158
157
158
158
160
164
166
168
172
174
184
188
192
196
201
202
205
209
211
214
215
215
216
217
218
219
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
223
223
223
224
224
225
225
225
225
225
225
225
225
225
226
225
223
222
221
220
220
218
216
212
210
207
202
197
189
174
165
155
145
139
135
115
101
93
85
79
73
67
67
62
60
61
61
61
62
58
58
57
56
55
55
54
53
53
53
53
53
53
53
55
55
56
56
56
56
60
60
60
62
62
62
62
62
62
62
62
62
62
62
61
61
61
61
61
61
61
63
64
66
69
72
76
79
81
82
83
84
85
88
88
89
90
91
93
94
97
98
101
101
102
103
104
105
105
106
107
108
109
113
114
115
117
117
117
120
121
121
121
126
126
126
127
128
128
128
78
78
78
79
80
80
80
79
79
79
79
79
79
79
77
77
77
77
77
77
77
79
80
82
82
82
81
81
84
84
85
85
86
88
88
91
93
95
95
97
98
98
99
100
103
103
106
107
109
111
116
118
122
124
126
127
124
128
133
137
142
145
148
153
154
153
154
154
153
153
163
163
164
164
165
165
165
166
167
168
168
168
167
165
165
165
165
165
165
165
165
165
165
164
164
163
163
160
160
160
159
159
159
158
160
160
159
158
158
158
160
164
166
168
170
174
183
187
192
196
198
202
202
208
210
214
214
215
216
216
218
218
219
219
219
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
220
222
222
222
223
224
224
224
225
225
225
225
225
225
225
225
225
223
221
220
219
218
212
210
206
204
201
195
190
183
166
156
149
138
131
125
109
94
86
80
72
68
64
63
61
60
59
61
62
63
58
57
56
56
55
54
54
53
53
53
53
53
53
53
55
55
55
56
56
56
60
60
60
62
62
62
62
62
62
62
62
62
62
62
61
61
61
61
61
61
61
63
65
67
70
73
77
81
82
84
84
85
85
89
89
90
91
92
93
95
98
98
102
103
103
104
104
106
106
107
107
108
109
114
115
115
117
117
117
120
121
121
121
126
126
126
127
128
128
128
76
76
76
76
76
76
76
75
75
75
75
75
75
75
82
82
82
82
82
82
82
84
84
85
85
86
86
86
84
84
86
90
91
91
92
93
93
97
98
98
99
99
101
102
103
106
106
107
107
110
112
115
117
118
120
120
126
129
131
135
137
142
144
149
150
154
154
155
156
156
158
159
159
160
161
162
162
162
162
163
163
163
164
165
165
165
165
165
165
165
166
166
165
164
163
163
162
162
162
161
160
159
159
158
157
157
158
158
159
160
161
160
161
164
167
172
178
181
187
191
193
197
198
204
207
210
211
211
212
213
215
215
216
218
218
219
221
222
222
218
218
218
218
218
218
218
218
218
218
217
216
216
216
217
217
217
218
219
219
219
219
219
219
220
221
221
221
225
225
224
224
225
225
223
223
221
217
216
216
213
212
207
205
199
195
191
183
177
172
154
143
132
122
114
107
90
77
72
69
67
66
66
64
63
62
62
61
60
60
58
57
56
56
55
54
54
53
52
51
51
51
52
52
55
55
56
56
56
57
57
57
57
58
58
58
59
60
60
60
60
62
62
62
63
62
62
62
63
64
66
65
69
73
75
79
81
84
86
87
88
91
93
96
96
95
96
97
98
100
103
103
104
105
106
107
109
112
112
113
113
114
115
116
117
117
118
118
119
119
120
120
120
123
123
124
124
125
125
125
76
76
76
76
76
76
76
75
75
75
75
75
75
75
80
80
80
80
80
80
80
82
82
83
83
84
84
84
84
84
86
89
90
91
92
93
94
97
98
99
99
100
102
103
103
106
107
108
108
110
112
115
117
118
119
120
123
128
130
132
136
141
143
146
150
153
154
154
156
156
157
158
159
160
160
161
161
161
162
162
162
163
163
165
165
165
165
165
165
165
166
165
165
164
163
162
161
160
160
159
159
158
157
156
155
155
156
157
158
158
159
159
160
162
164
169
176
177
185
189
192
195
197
203
205
208
208
211
212
213
215
215
215
215
218
218
219
221
221
217
217
217
217
217
217
217
217
217
217
216
216
216
216
217
217
217
218
219
219
219
219
219
219
220
221
221
221
225
225
223
224
224
222
222
222
220
216
215
214
210
208
204
202
194
191
186
180
172
169
149
139
129
119
110
104
86
75
70
68
67
66
65
64
63
62
62
61
60
60
58
57
56
56
55
54
54
53
52
51
51
51
52
52
55
55
55
56
56
56
57
57
57
57
58
58
58
60
60
60
60
60
62
62
63
63
62
62
63
64
67
66
69
73
76
79
81
84
86
87
88
92
93
96
97
95
96
97
99
100
103
104
104
105
106
108
109
112
113
113
114
114
115
117
117
118
118
119
119
119
120
120
120
123
124
124
124
125
125
125
77
77
77
77
77
77
77
76
76
76
76
76
76
76
81
81
81
81
81
81
81
82
82
83
83
84
84
84
84
84
84
85
87
91
92
93
94
96
97
99
100
100
103
104
105
108
109
109
110
111
112
115
117
118
118
119
123
125
129
130
134
136
141
146
149
151
153
153
153
153
156
156
157
158
159
159
160
160
160
160
161
161
161
164
164
164
164
164
164
164
165
165
164
163
162
162
161
159
158
158
157
156
155
154
153
154
154
155
156
157
158
157
157
157
159
162
170
174
178
183
186
189
191
198
201
205
205
206
208
211
213
214
214
214
214
216
217
217
218
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
218
219
219
219
219
219
219
220
221
221
221
223
223
223
223
221
221
221
219
217
213
210
208
206
204
199
196
189
186
181
174
167
158
140
130
118
109
99
95
79
71
68
67
66
65
64
64
63
62
62
61
60
60
58
57
56
56
55
54
54
53
52
51
51
51
52
52
54
54
55
55
55
56
56
56
56
57
57
57
58
58
58
60
60
60
60
62
62
61
63
62
63
64
67
68
71
75
77
80
81
84
87
88
89
92
94
97
97
96
97
98
99
101
104
104
105
106
107
108
110
113
113
116
116
117
118
119
120
120
121
121
122
122
123
123
123
126
126
127
127
128
128
128
78
78
78
78
78
78
78
77
77
77
77
77
77
77
80
80
80
80
80
80
80
80
80
81
81
82
82
82
83
81
80
83
86
89
91
94
94
96
97
98
99
99
105
106
106
109
110
111
111
112
113
116
116
117
118
118
122
125
126
129
130
134
136
145
146
150
151
151
152
152
152
153
154
155
155
156
156
156
157
157
157
158
158
161
161
161
161
161
161
161
162
162
161
161
160
159
158
153
153
152
152
151
150
149
148
148
149
150
151
151
152
155
155
154
154
158
166
168
172
177
180
185
187
194
196
199
201
203
204
206
211
211
211
212
213
213
214
216
216
214
214
214
214
214
214
214
214
214
214
215
216
216
216
217
217
217
218
219
219
219
219
219
219
220
221
221
221
223
223
220
220
219
219
218
217
215
208
207
205
202
198
190
188
183
178
172
165
161
151
131
122
111
100
93
87
72
67
66
66
65
64
63
62
61
60
60
59
58
58
58
57
56
56
55
54
54
53
52
51
51
51
52
52
52
53
53
53
54
54
54
54
55
55
55
56
56
58
58
58
58
58
60
60
61
60
60
59
62
63
65
70
72
76
78
80
81
84
88
88
90
93
95
97
98
97
97
99
100
102
104
105
106
106
108
109
111
113
114
117
117
118
118
120
121
121
122
122
122
123
123
124
124
127
127
127
128
128
129
129
78
78
78
78
78
78
78
77
77
77
77
77
77
77
80
80
80
80
80
80
80
80
80
81
81
82
82
82
83
81
80
81
86
89
91
92
94
96
96
98
99
99
105
106
107
109
110
111
111
112
113
116
116
117
117
118
121
123
126
126
129
132
136
144
146
148
151
151
150
150
152
153
154
154
155
156
156
156
156
157
157
158
158
161
161
161
161
161
161
161
162
162
161
160
160
159
158
153
153
152
151
151
150
149
148
148
149
150
150
151
152
154
153
152
154
156
165
168
169
174
179
182
186
192
195
198
198
199
203
205
208
211
211
211
212
213
214
214
214
214
214
214
214
214
214
214
214
214
214
215
216
216
216
217
217
217
218
219
219
219
219
219
219
220
221
221
221
221
221
220
220
219
218
218
216
212
207
206
202
199
197
186
184
178
173
167
161
156
148
128
119
108
98
90
84
71
67
66
66
66
65
63
62
61
60
60
59
58
58
58
57
56
56
55
54
54
53
52
51
51
51
52
52
52
52
53
53
54
54
54
54
54
55
55
56
56
58
58
58
58
58
58
60
58
60
59
59
59
62
64
70
73
76
78
80
81
84
88
89
90
93
95
98
98
97
98
99
100
102
105
105
106
107
108
109
111
114
114
119
119
120
121
122
123
123
124
124
124
125
126
126
126
128
128
128
129
130
130
130
78
78
78
78
78
78
78
78
78
78
78
78
78
78
81
81
81
81
81
81
81
83
82
82
82
81
81
81
75
75
78
82
83
85
87
90
90
93
95
97
99
101
104
106
107
111
112
114
114
113
114
116
116
117
117
117
121
121
123
126
128
133
134
143
146
148
148
148
151
152
152
152
153
153
153
154
154
154
154
155
155
155
156
158
158
158
158
158
158
158
159
159
158
157
156
156
155
150
149
149
148
147
147
146
144
145
145
146
147
148
149
150
150
149
150
153
159
162
165
169
171
175
176
183
185
193
194
197
199
200
203
203
205
207
208
209
212
213
214
213
213
213
214
214
215
215
214
214
214
215
216
216
216
217
217
217
218
218
219
219
219
219
219
219
219
219
219
221
220
218
217
216
216
214
213
210
203
202
200
197
194
182
179
171
166
162
154
148
140
123
110
101
90
82
76
68
65
65
65
65
63
62
62
61
60
58
57
56
56
59
58
57
57
56
55
55
54
54
53
53
52
52
52
52
52
52
52
52
52
51
51
51
52
52
53
53
56
56
56
56
57
57
57
61
57
56
59
59
59
65
71
72
74
76
80
81
81
84
85
86
90
92
96
96
94
96
99
100
101
104
106
107
107
108
110
112
114
115
121
121
121
121
122
123
123
124
124
125
125
127
127
128
128
128
128
128
129
130
130
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
80
80
79
78
77
77
77
75
75
78
80
81
85
85
87
89
90
92
96
98
99
104
106
107
111
112
114
114
114
114
117
117
117
118
118
119
119
122
124
127
129
133
139
144
145
147
147
148
149
149
150
150
150
151
151
151
151
152
152
152
153
153
157
157
157
157
157
157
157
158
157
157
156
155
154
153
146
146
145
144
143
142
141
139
139
140
140
141
142
143
145
145
146
147
150
154
157
159
163
166
169
170
176
178
186
188
190
192
196
198
198
202
203
204
207
209
210
211
212
212
213
213
214
214
214
214
214
214
215
216
216
216
216
216
217
217
218
218
218
218
218
218
218
218
218
218
218
217
216
215
212
212
212
209
206
201
197
194
191
189
176
173
162
159
153
146
140
132
113
102
91
82
73
70
66
63
63
63
63
62
60
61
60
59
57
56
55
55
59
58
57
57
56
55
55
54
54
53
53
52
52
52
52
52
52
52
52
52
51
51
51
52
52
53
53
54
54
56
56
56
56
57
57
53
54
56
56
56
64
71
73
75
77
81
82
82
85
85
87
91
93
96
97
95
97
100
101
102
106
108
107
108
109
111
112
115
116
123
123
123
123
124
124
125
125
126
126
127
129
129
130
131
131
131
131
132
132
133
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
80
80
78
77
76
76
75
74
74
78
80
81
83
85
87
87
90
92
94
96
97
104
106
107
111
112
114
114
114
115
117
117
118
118
118
119
119
120
123
126
129
132
138
141
145
145
146
148
149
149
149
150
150
150
151
151
151
151
152
152
152
153
155
155
155
155
155
155
155
155
154
154
153
152
151
150
146
145
145
143
142
141
139
137
137
138
139
140
140
141
142
143
145
146
147
151
153
157
159
164
166
168
172
176
183
185
187
190
192
196
196
201
202
203
204
208
209
210
212
212
212
213
213
214
214
214
214
214
215
216
216
216
216
216
216
217
217
218
218
218
218
218
218
218
218
218
216
216
215
212
211
211
210
208
205
197
195
193
189
187
173
170
161
156
149
143
139
131
109
99
89
80
73
68
66
63
63
63
63
61
60
61
60
59
57
56
55
55
59
58
57
57
56
55
55
54
54
53
53
52
52
52
52
52
52
52
52
52
51
51
51
52
52
53
53
54
54
54
56
56
56
56
56
53
54
56
56
56
63
72
73
75
78
81
82
82
85
86
87
91
93
97
97
96
98
101
102
103
107
109
109
109
110
112
114
116
117
124
124
124
125
125
126
126
127
127
128
128
130
131
131
132
132
132
133
133
134
134
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
78
76
75
73
72
72
74
74
77
80
81
83
83
88
88
91
93
95
97
99
104
106
107
111
112
114
114
115
115
118
118
118
119
119
119
119
119
123
124
127
128
135
139
143
144
145
147
149
148
149
149
149
150
150
150
150
151
151
151
152
152
154
154
154
154
154
154
154
153
153
152
152
151
150
149
144
143
142
140
138
137
135
132
133
133
134
135
136
137
139
140
142
144
146
148
150
153
157
160
163
164
170
172
178
180
183
186
188
193
193
197
200
201
202
206
207
207
211
211
212
212
213
213
213
214
214
214
215
216
216
216
215
215
216
216
217
217
217
217
217
217
217
217
217
217
214
214
211
210
209
209
206
206
203
195
192
189
186
183
166
162
154
148
142
137
132
120
99
90
81
75
70
66
65
62
62
62
62
61
59
61
60
59
57
56
55
55
59
58
57
57
56
55
55
54
54
53
53
52
52
52
50
50
50
50
50
50
49
49
49
50
50
51
51
54
54
54
54
54
56
56
56
53
52
55
58
58
65
73
74
76
78
82
83
83
86
86
88
92
94
97
98
98
100
102
103
104
108
110
112
112
114
115
117
120
120
127
127
127
128
129
129
129
130
130
131
132
133
134
134
135
135
135
136
137
137
137
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
76
75
74
73
72
71
71
69
70
77
79
80
81
82
85
86
90
92
93
94
95
103
104
105
109
110
111
111
114
114
117
117
118
118
118
118
119
122
122
123
124
126
129
132
134
136
138
140
141
147
147
148
148
149
149
151
151
151
151
151
151
151
153
153
152
151
151
149
148
145
145
145
144
142
141
141
143
142
141
139
138
137
134
132
130
130
131
131
132
130
135
135
135
136
137
137
139
143
147
151
155
157
164
166
171
174
175
178
180
187
188
191
193
194
195
199
202
202
208
208
209
210
209
210
210
211
211
210
210
211
211
211
213
215
214
213
214
215
218
214
216
213
215
218
216
216
209
209
209
208
209
208
208
207
203
193
189
183
176
173
163
158
146
138
130
120
111
105
86
77
73
70
69
68
58
58
57
57
58
58
58
58
59
58
58
58
57
57
56
56
55
55
54
54
54
53
52
50
49
49
50
50
53
53
53
53
53
53
52
52
52
53
53
54
54
57
57
57
56
56
56
56
56
57
56
56
59
62
67
73
76
77
78
78
79
84
85
88
89
91
93
98
98
101
104
108
110
112
115
117
124
124
125
129
131
134
135
133
133
133
136
137
137
139
140
140
141
141
142
143
143
146
146
146
146
146
146
146
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
75
75
73
72
72
71
71
69
70
77
79
81
81
82
85
86
90
92
93
94
95
103
104
106
109
110
111
111
114
115
117
117
118
118
118
118
119
122
123
123
124
126
129
132
134
136
138
139
140
147
147
148
148
149
149
151
151
151
151
151
151
151
153
153
152
151
150
149
148
145
145
144
144
142
141
141
141
141
140
139
138
136
133
132
130
130
131
131
129
130
134
135
134
135
134
136
138
142
146
150
154
156
163
165
170
171
175
177
180
184
187
190
191
193
195
198
199
202
207
208
208
209
209
209
210
211
211
209
210
210
211
211
215
215
213
217
218
217
216
216
218
214
213
214
211
212
207
209
209
208
209
208
207
202
200
190
185
179
174
168
159
156
144
136
126
116
109
100
84
76
73
71
69
68
58
57
57
57
58
58
58
58
59
58
57
58
57
57
56
56
55
55
54
54
54
53
52
50
50
49
50
50
53
53
53
53
53
53
52
52
52
53
53
54
54
57
57
56
56
56
56
56
55
57
56
56
57
62
67
74
76
78
78
78
79
84
85
88
89
91
93
98
99
103
106
110
112
115
117
119
125
125
127
130
132
135
135
135
135
136
138
139
139
141
142
142
143
143
144
145
145
147
147
147
147
147
147
147
79
79
79
79
79
79
79
78
78
78
78
78
78
78
77
77
77
76
76
76
76
74
73
72
72
71
71
71
69
71
78
80
81
82
83
85
86
91
93
95
96
97
104
106
107
110
111
112
113
116
116
118
119
119
119
120
119
120
122
123
124
125
127
129
132
133
135
137
138
139
146
146
147
147
148
148
149
149
149
149
149
149
149
152
151
151
149
148
147
147
143
143
141
141
140
140
139
140
139
138
135
134
133
129
128
129
127
127
128
128
128
131
131
131
129
131
134
135
139
141
147
149
152
159
163
169
170
172
174
176
181
182
185
188
189
190
194
196
196
203
203
204
204
206
207
207
209
207
207
208
208
208
209
210
213
214
213
212
212
212
205
211
214
220
215
208
209
207
206
205
206
204
203
203
196
194
183
178
172
166
163
153
148
137
129
118
108
101
91
77
73
69
69
68
67
57
57
56
56
58
57
57
57
58
58
57
57
56
56
56
56
55
55
54
54
54
54
53
51
50
50
51
51
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
55
55
54
54
55
54
54
55
56
58
61
68
75
76
78
79
79
81
85
87
88
90
92
97
100
101
107
110
114
117
118
121
125
129
129
132
134
135
137
138
140
140
141
141
142
144
144
144
145
146
146
149
149
149
150
150
150
150
150
150
150
79
79
79
79
79
79
79
77
77
77
77
77
77
77
75
74
74
72
72
71
71
70
70
69
69
69
69
69
70
72
79
81
82
83
84
85
85
91
94
96
98
99
106
107
109
112
113
114
114
117
118
120
120
121
121
121
120
120
123
124
125
125
128
130
132
133
134
135
136
137
146
146
147
147
148
148
148
148
148
148
148
148
148
149
149
148
147
146
144
143
142
140
139
139
139
136
136
137
137
136
133
131
130
127
125
125
124
125
125
125
126
127
126
125
124
125
130
132
136
140
144
147
149
156
160
166
167
168
169
171
176
177
181
182
183
184
189
191
191
198
198
198
199
201
201
202
204
204
205
205
206
206
206
204
208
212
207
207
211
217
227
233
240
240
221
208
209
203
203
200
200
198
197
196
191
188
176
173
167
160
156
146
141
128
121
111
102
93
83
72
70
69
69
67
66
56
56
56
55
57
57
56
57
58
57
56
56
56
55
56
56
55
55
54
54
54
55
53
52
51
51
51
52
51
51
51
51
51
51
52
52
51
51
51
51
50
52
52
51
51
51
52
52
53
53
53
54
58
61
67
75
77
79
82
82
82
88
90
91
95
98
100
105
106
110
113
117
119
120
125
127
134
134
135
136
139
140
140
139
139
140
140
143
143
143
145
146
146
148
149
149
149
154
154
154
154
154
154
154
79
79
79
79
79
79
79
77
77
77
77
77
77
77
74
74
74
72
71
70
70
69
69
69
69
69
69
69
71
72
79
81
82
83
84
84
85
92
94
97
98
99
107
108
109
112
114
114
115
118
118
121
121
121
122
122
120
121
123
124
125
126
128
130
131
133
134
135
136
136
146
146
147
147
148
148
148
148
148
148
148
148
148
148
148
147
147
144
143
142
139
139
139
136
136
136
135
136
135
134
133
132
129
127
124
123
124
124
122
123
123
126
125
123
122
122
127
129
135
138
142
145
149
156
158
164
165
166
169
170
173
175
177
178
181
183
186
187
188
194
195
195
196
198
200
201
203
203
204
205
207
207
207
207
207
207
213
219
223
226
235
237
240
236
216
205
209
202
201
198
196
194
193
192
187
183
173
168
162
155
149
139
136
121
113
104
95
87
80
72
68
67
67
65
63
56
56
55
55
57
56
56
56
57
57
56
56
55
55
56
56
55
55
54
54
54
55
54
52
51
51
52
52
51
51
51
51
51
51
52
52
52
51
51
50
50
51
51
51
50
50
50
51
52
53
52
53
56
62
68
78
79
81
82
82
82
88
91
95
97
99
102
109
110
113
116
119
122
125
128
131
134
135
135
138
139
140
140
140
140
143
143
144
144
145
147
147
150
150
151
151
153
154
154
154
154
154
154
154
79
79
79
78
77
77
77
77
77
77
76
75
75
75
72
71
70
67
66
65
65
66
66
67
67
68
68
68
71
72
79
81
82
83
84
83
86
92
94
96
98
101
105
110
111
113
113
114
115
119
120
123
123
122
121
121
120
121
124
124
125
126
128
129
131
132
134
135
136
137
142
143
144
144
145
146
147
147
147
147
147
147
147
145
145
145
144
144
143
141
139
137
137
136
136
134
134
132
132
131
130
128
127
125
124
123
122
118
118
117
118
122
122
120
119
117
120
120
130
134
138
142
144
149
152
161
161
162
163
167
169
169
173
173
175
179
183
185
186
189
190
192
193
194
196
196
188
205
209
197
206
210
205
217
191
226
235
228
213
233
231
217
233
197
204
205
206
199
196
194
193
192
189
185
179
175
163
155
149
142
136
132
126
109
100
91
84
78
74
67
65
63
62
62
62
56
56
55
55
56
56
56
55
57
56
56
56
56
56
56
56
55
55
54
54
54
54
53
52
52
51
50
50
50
50
50
50
50
50
48
48
48
47
46
46
46
48
48
48
48
50
50
50
49
50
50
51
53
58
69
80
81
83
85
85
88
96
96
98
102
105
108
113
114
121
121
123
124
126
131
131
133
135
136
137
139
142
142
143
143
144
145
147
148
148
149
149
150
153
154
155
155
157
157
157
158
159
159
159
77
76
76
75
75
75
75
75
74
74
73
73
73
73
70
70
69
67
66
65
65
66
66
67
67
68
68
68
71
72
79
81
82
83
84
84
87
93
94
96
98
100
106
112
113
115
115
116
117
119
121
124
124
123
122
121
121
121
124
125
126
126
129
130
131
132
134
135
135
136
140
140
141
142
143
143
145
145
145
145
145
145
145
145
144
144
142
141
141
141
137
137
137
135
135
134
134
132
132
131
128
126
125
122
121
120
118
115
114
114
115
118
118
117
114
114
116
116
123
128
134
138
142
149
152
157
157
158
159
160
164
165
170
171
172
174
179
180
181
185
185
186
187
191
193
194
203
190
190
207
200
201
212
224
240
218
229
208
228
224
198
225
207
194
209
195
203
194
192
187
186
184
179
175
171
166
152
147
138
131
126
119
113
99
90
85
76
72
70
64
62
61
60
62
62
56
56
55
55
56
56
56
55
56
56
55
56
56
56
55
55
55
54
54
54
54
53
53
52
51
50
50
49
48
48
48
48
48
48
47
47
47
46
46
46
45
47
47
49
49
49
49
51
48
48
50
51
52
56
67
81
83
85
86
86
90
96
101
102
104
107
111
115
116
121
121
123
126
128
131
133
135
135
137
138
140
142
142
144
144
145
146
147
150
150
150
153
153
154
158
158
158
157
158
158
158
159
159
159
76
76
76
75
75
74
74
74
74
74
73
73
72
72
70
69
69
67
66
65
65
66
66
67
67
68
68
68
71
72
79
81
82
83
84
85
87
93
94
96
98
100
107
113
114
116
116
117
118
120
121
124
124
123
122
122
121
122
124
125
126
127
129
130
132
133
133
134
135
135
139
140
141
142
142
143
144
144
144
144
144
144
144
144
144
142
141
141
141
138
137
137
136
135
135
134
132
131
130
129
128
126
123
121
120
117
115
114
113
111
112
117
117
114
114
112
113
113
119
124
130
136
141
149
151
153
154
155
158
159
161
164
167
167
171
172
176
177
177
181
181
182
185
189
190
193
194
193
199
199
196
211
231
243
219
218
219
207
214
165
208
227
196
196
207
195
199
191
188
183
182
180
177
173
166
162
148
140
135
127
121
112
107
93
86
80
72
69
67
62
62
60
60
60
60
56
56
55
55
56
56
56
54
56
55
55
56
55
55
55
55
54
54
54
53
53
53
52
52
51
50
49
49
46
46
46
46
46
46
45
45
45
45
45
45
45
48
48
48
50
50
50
50
49
49
50
52
53
56
64
81
83
85
87
90
92
97
103
104
106
109
112
116
117
123
123
125
126
128
133
133
135
136
137
138
140
144
144
144
144
145
146
149
150
150
153
153
154
154
158
159
159
160
160
160
161
161
162
162
73
73
73
72
72
72
71
71
71
71
70
70
70
69
66
65
65
64
64
63
63
64
64
65
65
66
66
66
71
72
79
81
82
83
84
87
89
94
95
96
98
100
108
113
114
116
116
117
118
120
122
125
125
124
123
122
122
122
125
126
127
127
130
131
132
133
133
134
134
134
139
139
140
141
142
142
143
143
143
143
143
143
143
141
141
141
141
140
138
138
136
136
136
135
133
132
132
131
128
127
125
123
121
117
115
112
111
110
109
109
108
113
114
112
113
113
111
111
114
120
126
133
136
145
147
150
153
154
155
156
160
161
162
164
165
166
169
172
172
176
176
177
180
185
188
191
195
195
194
210
231
240
237
213
218
222
208
202
105
57
169
193
172
190
192
202
194
187
185
179
177
173
169
164
159
152
140
134
125
118
112
100
95
83
79
72
68
64
63
60
59
58
58
60
60
56
56
55
55
56
56
56
53
55
55
54
55
55
54
54
54
54
53
53
53
52
52
52
51
50
49
49
48
46
46
46
46
46
46
45
46
46
46
46
47
47
49
49
49
49
49
51
51
52
53
53
53
55
57
63
81
84
90
93
94
96
102
105
106
108
110
113
118
119
123
123
125
126
130
133
133
136
136
137
140
142
144
144
144
144
145
148
149
150
152
152
153
155
156
158
158
158
161
161
161
161
162
162
163
73
73
73
72
71
71
71
71
71
71
70
69
69
69
65
64
64
64
64
63
63
64
64
65
65
66
66
66
71
72
79
81
82
83
84
88
90
95
95
96
98
100
107
112
113
115
115
116
117
121
123
125
125
125
124
123
122
123
126
126
127
128
130
131
133
133
133
133
134
134
138
139
140
140
141
142
143
143
143
143
143
143
143
141
141
141
140
138
137
137
136
136
136
133
133
132
132
128
127
125
123
121
117
115
112
111
110
108
106
106
107
113
112
113
114
113
111
110
115
120
126
130
135
142
144
151
151
152
153
156
158
161
160
160
161
164
166
167
168
171
174
175
177
183
187
187
191
184
196
232
225
227
242
196
209
193
165
87
72
75
70
198
188
185
189
189
188
180
178
172
168
165
161
156
149
145
131
124
115
108
104
94
89
78
74
71
65
61
62
57
56
58
58
58
60
56
56
55
55
56
56
56
53
55
54
54
54
54
54
54
54
53
53
52
52
52
52
51
50
50
49
48
48
47
47
47
47
47
47
46
47
47
48
48
49
49
50
50
50
50
50
50
52
52
55
57
56
56
59
63
85
88
92
96
97
99
104
105
107
109
110
112
117
118
123
123
125
126
130
133
134
136
136
137
140
142
144
144
144
144
147
148
149
150
152
151
151
154
155
156
157
159
161
161
161
162
163
163
163
71
71
71
70
69
68
68
68
65
64
61
60
59
59
56
56
56
57
58
60
60
60
62
62
62
64
64
64
70
71
76
78
82
83
85
89
91
97
100
101
101
101
107
110
112
114
114
116
118
121
124
127
127
129
130
130
129
129
130
130
131
131
131
131
131
132
132
133
133
133
135
135
136
136
137
137
140
140
140
140
140
140
140
141
141
141
138
138
137
137
135
135
132
131
131
130
129
125
124
123
121
119
117
113
111
109
108
108
108
107
106
109
110
111
113
113
113
113
114
119
122
124
128
133
136
141
142
143
147
149
155
156
158
160
162
162
165
165
165
173
158
166
177
174
187
185
182
196
232
226
227
232
215
191
201
146
102
65
76
88
73
172
194
189
170
182
177
179
176
166
161
154
149
142
139
132
120
114
106
98
94
81
79
73
70
68
67
66
63
61
60
58
57
57
57
56
55
54
54
55
54
54
54
55
54
54
54
53
53
50
49
48
48
49
48
48
48
47
46
48
48
49
49
49
49
49
49
49
49
50
50
50
51
51
52
52
53
53
53
55
55
55
55
56
57
59
59
59
60
65
83
87
94
98
100
103
107
112
112
115
117
120
122
122
120
123
125
127
127
131
134
134
134
135
136
136
138
138
141
142
143
145
148
149
149
150
150
151
152
155
156
156
161
161
161
162
163
163
163
70
70
69
69
67
67
67
64
64
64
60
60
59
59
56
56
56
57
58
60
60
60
62
62
62
64
64
64
69
70
75
77
81
83
84
87
91
97
101
102
102
102
106
109
111
113
114
116
116
121
124
127
127
129
130
130
130
130
130
131
131
131
131
132
132
132
133
133
133
133
135
135
136
136
137
137
139
139
139
139
139
139
139
140
140
138
137
137
137
135
134
134
131
131
130
129
126
124
123
122
120
119
115
114
109
109
108
108
106
106
105
106
107
109
110
110
110
111
112
114
119
121
123
128
132
139
140
141
143
147
153
154
157
159
159
162
165
165
165
158
169
167
165
180
179
176
210
229
236
211
200
195
194
178
137
209
60
72
87
71
63
150
186
183
167
174
169
168
165
156
153
148
142
136
132
125
112
106
99
92
88
78
76
71
68
66
65
65
61
61
60
58
57
57
57
56
55
54
54
55
54
54
54
55
54
54
54
53
53
50
49
48
48
49
48
48
48
47
46
48
48
49
49
49
49
49
49
49
49
50
50
50
51
51
52
52
53
53
53
55
55
55
55
56
57
59
59
59
60
65
80
85
91
98
101
105
110
112
114
117
118
121
123
124
121
123
125
127
127
131
133
134
134
135
136
136
138
138
142
142
141
141
145
147
149
150
150
151
152
155
156
156
161
161
161
162
163
163
163
67
67
67
65
65
65
62
63
62
60
60
59
59
59
56
56
56
57
58
60
60
60
62
62
62
64
64
64
67
68
72
76
78
81
82
86
89
97
99
102
103
103
102
108
110
112
114
114
116
121
124
125
127
128
129
130
130
131
131
131
132
132
132
132
133
133
133
134
134
134
135
135
136
136
137
137
138
138
138
138
138
138
138
137
136
136
136
135
134
134
131
130
130
129
126
125
124
122
121
120
117
116
115
112
109
109
108
106
105
104
103
104
104
104
105
105
107
108
107
112
114
116
117
123
125
134
135
136
140
142
148
150
153
154
157
158
162
162
163
162
164
161
170
167
177
221
236
243
229
196
187
179
182
138
179
96
79
63
75
85
63
124
181
172
163
165
161
158
156
150
147
143
138
133
126
119
105
99
94
90
86
74
72
66
64
63
63
61
61
59
58
58
57
57
57
56
55
54
54
55
54
54
54
55
54
54
54
53
53
50
49
48
48
49
48
48
48
47
46
48
48
49
49
49
49
49
49
49
49
50
50
50
51
51
52
52
53
53
53
55
55
55
55
56
57
59
59
59
60
65
78
83
90
95
101
104
111
113
115
116
119
121
125
125
122
124
126
127
127
130
132
134
134
135
136
136
138
138
143
142
140
139
143
146
148
150
150
151
152
155
156
156
161
161
161
162
163
163
163
65
65
65
64
64
61
61
62
60
60
59
57
57
57
56
56
56
57
58
60
60
60
62
62
62
64
64
64
65
65
71
73
77
80
81
85
86
96
98
100
102
103
101
105
110
112
114
114
116
119
124
125
127
128
129
129
131
131
131
132
132
132
133
133
133
133
134
134
134
135
135
135
136
136
137
137
137
137
137
137
137
137
137
136
136
135
135
134
133
133
130
130
129
126
125
125
124
121
120
118
117
116
115
112
109
109
107
106
105
104
101
102
101
101
101
103
105
106
107
109
111
115
116
120
122
131
132
135
137
139
146
147
151
151
153
156
158
161
161
163
160
163
171
173
199
242
242
236
219
187
181
176
170
148
153
45
69
62
89
84
65
114
179
167
160
160
157
155
153
146
142
139
134
129
122
115
103
97
92
88
85
71
70
66
64
63
61
61
61
59
58
58
55
55
55
56
55
54
54
55
54
54
54
55
54
54
54
53
53
50
49
48
48
49
48
48
48
47
46
48
48
49
49
49
49
49
49
49
49
50
50
50
51
51
52
52
53
53
53
55
55
55
55
56
57
59
59
59
60
65
77
81
90
95
99
104
111
113
113
116
119
121
125
125
123
124
126
127
127
130
131
134
134
135
136
136
138
138
143
142
141
140
143
145
146
150
150
151
152
155
156
156
161
161
161
162
163
163
163
64
64
63
61
60
60
58
59
59
59
57
57
57
57
56
56
56
57
58
60
60
60
62
62
62
64
64
64
64
65
68
72
74
77
80
81
84
92
95
98
99
100
98
104
107
109
113
114
114
119
122
125
125
126
129
129
131
131
132
132
133
133
133
133
133
134
134
135
135
135
135
135
136
136
137
137
136
136
136
136
136
136
136
134
134
134
133
133
132
130
129
127
126
125
125
122
121
118
117
117
116
114
113
112
108
108
107
104
102
101
99
98
98
97
96
96
101
102
106
108
110
111
113
117
119
128
128
130
134
136
140
143
146
146
149
150
154
155
156
156
159
169
166
213
250
247
248
221
204
163
166
160
132
169
68
58
58
88
67
102
67
100
172
153
152
149
148
147
144
137
134
130
125
119
114
109
95
90
87
82
80
71
69
63
62
61
61
59
59
59
56
56
55
55
55
56
55
54
54
55
54
54
54
55
54
54
54
53
53
50
49
48
48
49
48
48
48
47
46
48
48
49
49
49
49
49
49
49
49
50
50
50
51
51
52
52
53
53
53
55
55
55
55
56
57
59
59
59
60
65
78
83
89
94
99
101
109
111
113
113
117
118
122
122
123
125
127
127
127
129
131
134
134
135
136
136
138
138
142
142
143
143
144
144
144
150
150
151
152
155
156
156
161
161
161
162
163
163
163
61
61
61
61
59
59
59
58
56
56
54
54
54
54
56
56
56
57
58
60
60
61
62
62
61
63
62
62
64
64
66
68
72
75
78
84
85
89
93
95
96
97
99
100
101
105
108
112
115
116
121
123
123
125
126
128
132
132
132
133
133
133
133
134
135
135
135
136
136
136
136
136
137
137
138
138
137
137
137
136
136
135
135
133
133
132
130
130
130
129
126
126
123
122
122
121
120
118
118
117
116
114
113
111
109
107
106
104
102
99
97
93
93
92
92
93
97
98
100
103
105
107
110
116
117
121
123
126
130
131
137
141
142
144
147
147
151
151
152
156
154
162
172
253
249
247
232
207
195
174
160
124
160
111
39
50
64
90
86
96
71
93
169
147
147
144
137
140
137
131
129
124
117
112
106
101
92
89
83
79
73
67
66
63
62
60
61
61
59
57
56
54
54
53
53
57
56
56
55
56
55
55
54
55
55
54
54
53
53
50
49
48
48
49
48
48
48
48
47
49
49
48
48
50
50
50
50
50
50
50
50
50
51
51
52
52
54
54
54
56
56
56
56
57
58
60
60
60
61
66
78
80
83
89
93
99
105
113
113
114
115
118
119
119
124
124
125
126
128
130
130
132
133
134
135
136
138
138
141
142
142
143
146
146
147
149
150
151
152
156
157
158
162
163
163
164
166
166
167
61
61
61
59
59
59
59
56
56
56
54
54
54
54
56
56
56
57
58
60
60
60
62
61
61
63
62
62
64
64
66
68
72
74
77
81
84
89
91
95
96
97
96
99
100
104
107
111
112
116
121
123
123
123
127
128
131
131
132
132
133
133
133
135
135
136
136
136
137
137
137
137
137
138
138
138
137
137
137
136
136
135
135
131
131
131
130
130
129
127
126
124
123
122
122
119
118
118
118
117
116
114
112
111
106
106
105
103
99
98
96
92
91
90
90
91
94
94
99
100
101
106
108
112
113
117
119
124
125
126
135
137
140
141
143
146
148
151
151
149
161
157
192
251
244
243
224
202
194
168
137
125
161
80
31
51
71
92
90
97
72
92
165
144
142
141
134
134
133
126
122
119
113
109
103
99
91
87
82
75
72
67
66
63
60
60
61
61
57
57
55
54
54
54
53
58
57
56
55
56
56
55
55
56
55
54
54
54
53
50
49
48
48
49
48
48
48
48
48
49
49
49
48
50
50
50
50
50
50
50
50
50
51
51
52
52
54
54
54
56
56
56
56
57
58
60
60
60
61
66
78
79
82
88
92
97
104
110
112
114
115
116
120
120
124
124
125
126
128
130
130
132
132
133
134
135
137
138
141
141
142
143
145
146
146
149
149
150
151
156
157
157
162
162
163
164
165
166
166
58
58
58
58
58
56
56
56
54
54
54
53
53
53
56
56
56
57
58
60
60
59
61
61
61
64
64
64
64
63
66
67
70
73
74
79
80
87
90
92
96
97
96
96
99
101
105
107
110
114
120
121
123
124
126
127
132
132
132
133
133
133
133
137
137
137
138
138
138
138
138
138
138
138
138
138
137
137
137
136
136
135
135
132
132
131
130
128
127
126
123
123
122
120
120
120
119
118
118
116
115
113
112
109
105
105
101
100
98
97
93
88
87
86
85
87
88
90
93
94
95
100
102
106
107
115
119
121
123
125
131
133
136
136
138
142
144
147
148
149
153
172
232
238
250
225
207
206
190
168
126
142
126
48
31
46
80
95
99
93
77
91
158
139
136
133
130
125
123
117
114
111
105
99
95
92
86
81
78
73
68
65
64
61
60
60
59
59
58
56
55
55
54
53
53
58
57
57
56
57
56
56
55
56
56
55
55
54
54
50
49
48
48
49
48
48
49
49
48
50
50
49
49
50
50
50
50
50
50
50
50
50
51
51
52
52
54
54
54
56
56
56
56
57
58
60
60
60
61
66
77
78
81
84
87
92
97
107
107
111
113
115
120
121
124
124
125
126
128
130
130
131
132
132
134
135
137
137
141
142
142
143
146
146
146
149
150
151
152
156
157
158
162
163
163
164
166
166
166
57
57
57
57
55
55
55
54
54
54
53
53
53
53
56
56
56
57
58
60
60
60
62
63
63
66
66
66
66
66
68
68
71
72
75
78
79
86
90
92
94
96
98
97
98
101
103
106
110
113
118
121
121
124
126
128
133
134
134
134
135
135
135
138
138
139
139
139
140
140
140
140
139
139
138
138
137
137
137
136
136
135
135
133
133
132
129
127
126
125
122
122
120
120
120
120
120
117
117
116
115
113
110
109
106
103
102
100
99
95
93
84
85
84
83
82
85
85
88
90
92
94
97
103
104
113
115
117
118
120
125
129
131
134
135
137
143
144
145
143
165
221
240
240
234
217
213
207
189
201
123
146
84
33
42
55
78
90
103
96
78
86
153
139
131
125
122
120
117
113
109
106
100
95
94
90
77
75
74
71
69
65
64
61
60
58
59
59
57
56
56
55
54
54
54
59
58
57
56
58
57
57
56
57
56
55
56
55
55
50
49
48
48
49
48
48
50
49
49
51
50
50
50
50
50
50
50
50
50
50
50
50
51
51
52
52
54
54
54
56
56
56
56
57
58
60
60
60
61
66
77
77
79
82
85
89
93
102
103
107
110
113
117
119
124
124
125
126
128
130
130
132
133
134
135
136
138
138
143
143
144
145
147
148
148
151
152
152
154
158
159
159
164
164
165
166
167
168
168
57
57
57
57
55
55
55
54
54
54
53
53
53
53
56
56
56
57
58
60
60
60
63
64
64
67
67
67
67
67
68
69
71
73
76
75
78
85
90
92
94
96
98
98
98
101
103
107
108
112
118
121
121
124
127
129
134
134
135
135
135
136
136
138
138
139
139
140
140
140
140
140
139
139
138
138
137
137
137
136
136
135
135
134
133
130
129
127
126
125
122
122
120
120
120
120
119
117
117
116
115
113
110
109
106
103
102
101
97
95
94
83
83
83
82
81
82
85
88
89
91
94
96
100
103
111
113
115
116
118
123
126
130
133
134
137
142
144
144
134
175
234
236
245
221
219
207
219
193
182
123
154
69
25
46
61
78
86
103
99
76
84
151
137
129
122
119
119
117
111
109
104
99
94
94
90
75
74
71
71
70
65
64
61
60
58
59
59
57
57
56
55
54
54
54
59
58
57
57
58
57
57
56
57
56
56
56
55
55
50
49
48
48
49
48
48
50
50
49
51
50
50
50
50
50
50
50
50
50
50
50
50
51
51
52
52
54
54
54
56
56
56
56
57
58
60
60
60
61
66
76
77
79
82
84
88
92
99
102
106
109
112
117
118
124
124
125
126
128
130
130
133
133
134
135
136
138
139
144
144
145
145
148
149
149
152
152
153
154
159
160
160
165
165
166
166
168
169
169
53
53
53
53
53
53
53
54
54
54
54
54
54
54
57
57
57
61
61
62
64
64
64
67
67
68
68
68
71
71
74
74
75
75
77
78
81
87
89
91
94
96
98
103
105
107
110
110
111
115
122
123
126
127
130
134
135
136
138
139
140
140
142
143
145
145
145
145
145
145
147
145
145
145
145
143
142
142
139
139
138
138
137
133
132
130
130
130
128
126
124
124
123
123
121
121
120
117
116
115
114
113
112
109
108
104
101
99
98
94
89
82
81
80
79
79
80
80
81
82
83
85
87
91
92
87
90
99
107
116
124
125
125
121
121
128
133
144
137
185
242
250
244
229
213
202
208
200
179
154
139
160
55
31
49
70
106
113
106
96
70
78
133
123
114
120
114
112
111
105
100
98
95
92
83
81
76
72
70
69
66
64
64
63
62
61
60
60
60
60
60
60
60
60
60
61
60
60
59
58
57
57
56
55
55
54
53
52
52
51
51
50
50
50
49
49
48
48
48
48
48
48
48
51
51
51
51
51
51
50
50
51
51
51
52
52
52
52
52
52
54
54
54
58
58
57
59
60
62
64
73
73
75
77
81
83
86
92
96
100
106
109
114
115
122
122
123
124
127
129
130
136
136
138
140
142
144
145
146
146
147
148
150
151
151
155
155
156
157
160
161
161
164
164
165
165
166
166
166
53
53
53
53
53
53
53
54
54
54
55
55
55
56
59
59
60
62
63
66
66
65
67
68
68
69
70
70
72
72
75
75
75
76
78
79
81
87
88
90
93
95
97
103
105
107
110
111
112
116
122
124
126
128
130
134
141
143
143
143
142
142
144
146
147
147
147
147
147
149
147
145
145
145
145
143
143
143
140
140
140
139
138
133
132
130
130
130
128
126
125
125
124
123
121
120
119
116
116
115
111
110
108
105
105
102
98
96
95
93
88
82
81
80
79
79
80
80
80
81
82
84
85
88
89
85
89
96
103
110
116
114
116
114
116
113
133
129
135
229
251
236
228
223
222
214
218
197
166
146
156
157
40
27
46
70
115
118
107
96
69
81
130
120
112
115
110
108
107
101
98
95
93
90
83
83
77
75
71
70
69
66
65
64
63
62
62
61
60
60
60
60
60
60
60
62
61
60
59
59
58
58
57
56
55
54
54
53
53
52
51
51
51
50
50
50
49
49
49
49
49
49
49
52
52
52
52
52
52
51
51
51
52
52
52
53
52
52
52
52
54
54
54
58
58
57
59
60
62
64
69
70
73
75
77
81
85
89
91
95
101
104
111
112
119
120
123
125
128
135
136
136
139
140
142
143
147
148
147
147
148
148
151
152
152
156
156
157
157
161
162
162
166
166
166
166
167
167
168
53
53
53
53
53
53
53
54
54
54
55
56
56
57
60
60
61
63
66
66
67
67
67
68
69
70
70
70
72
72
75
75
76
76
78
79
81
86
87
89
92
94
96
102
105
107
111
111
112
115
122
123
126
127
130
134
143
143
143
145
145
145
144
147
147
149
149
149
149
149
147
145
145
145
145
143
143
143
140
140
140
139
138
133
132
130
130
130
128
126
125
125
124
123
121
120
119
114
113
112
110
109
107
103
104
100
97
95
94
91
86
82
81
80
79
79
80
80
80
81
82
83
85
87
88
85
88
95
101
107
112
109
112
108
113
106
132
123
150
246
255
236
229
219
224
220
219
187
160
153
151
139
40
29
46
69
120
120
106
97
69
85
131
119
111
113
109
107
106
100
97
94
92
89
83
82
78
75
74
71
70
67
66
65
64
63
63
62
60
60
60
60
60
60
60
62
61
61
60
59
58
58
57
56
56
55
54
53
53
52
52
51
51
51
50
50
49
49
49
49
49
49
49
52
52
52
52
52
52
51
51
52
52
52
53
53
52
52
52
52
54
54
54
58
58
57
59
60
62
64
68
69
71
75
77
81
84
88
89
94
96
102
108
109
117
118
122
125
129
136
137
137
138
141
142
144
148
148
147
147
148
149
151
152
152
156
156
157
158
161
162
162
166
167
167
167
168
168
168
53
53
53
53
53
53
53
54
54
55
56
57
58
58
65
64
66
66
65
65
67
68
68
70
70
70
71
73
73
73
76
76
76
77
79
79
81
86
86
88
90
92
95
102
105
107
111
112
113
114
120
121
124
125
128
132
143
144
144
145
147
147
147
150
150
150
152
152
152
152
147
145
145
145
145
143
142
142
139
139
138
138
137
133
132
130
130
130
128
126
126
126
125
124
120
119
118
112
111
109
107
105
101
99
101
97
95
93
90
88
83
82
81
80
79
79
80
80
82
82
83
84
85
87
87
87
88
94
98
102
104
102
101
94
109
102
122
122
201
255
245
215
219
221
233
231
208
163
145
143
134
103
17
38
50
72
123
124
108
98
72
93
133
116
109
108
109
103
102
97
94
92
88
87
83
82
78
77
76
74
74
70
70
68
67
67
66
66
64
64
64
64
64
64
64
63
62
61
60
60
59
59
58
57
56
55
55
54
54
53
52
52
52
51
51
51
50
50
50
50
50
50
50
53
53
53
53
53
53
52
52
52
53
53
53
54
52
52
52
52
54
54
54
58
58
57
59
60
62
64
67
68
69
71
75
77
81
86
88
90
94
97
106
108
116
118
120
123
126
133
135
137
138
139
141
144
147
148
148
148
149
149
152
153
153
157
157
158
158
162
163
163
168
168
168
169
169
170
170
53
53
53
53
53
53
53
55
55
56
57
58
59
59
66
66
66
68
68
68
68
69
69
72
72
73
73
73
73
73
76
76
77
77
79
80
81
85
87
89
90
91
95
100
103
106
111
113
115
117
118
118
121
123
126
129
137
139
141
143
145
148
149
150
150
149
149
149
151
151
145
143
143
143
143
141
142
142
139
138
138
137
135
131
131
131
131
131
129
130
126
124
123
122
120
120
116
106
104
102
101
100
99
95
90
90
89
86
84
83
81
79
79
80
81
81
83
83
84
84
84
85
85
86
86
83
85
90
94
96
97
94
92
100
91
102
121
151
230
235
183
169
205
226
222
238
204
155
147
123
127
62
12
39
44
89
124
116
114
100
77
102
123
109
107
110
105
102
101
97
93
91
89
88
83
82
80
79
76
75
75
71
71
71
71
70
70
70
67
66
65
65
64
63
63
64
63
62
62
61
60
60
59
58
57
55
54
53
52
54
54
53
53
52
52
52
51
51
50
50
49
49
49
53
53
53
53
53
53
54
54
54
54
54
54
54
52
52
52
52
54
54
54
56
56
57
60
60
61
62
65
65
65
69
71
75
81
83
86
90
91
96
104
108
113
115
118
121
123
128
132
134
135
138
140
142
146
146
148
148
149
150
152
153
153
156
156
157
158
161
162
162
167
167
168
168
169
169
169
53
53
53
53
53
53
53
55
55
56
58
58
59
59
66
66
66
68
68
68
69
69
69
72
72
73
73
73
73
73
76
76
77
77
79
81
81
85
87
88
90
90
95
100
103
106
110
112
115
117
118
119
122
123
125
128
135
136
138
141
145
146
147
147
147
147
149
149
149
149
146
144
144
144
144
142
142
142
139
138
137
137
135
131
131
131
131
131
130
130
126
124
122
122
120
119
116
105
103
101
100
100
99
93
90
87
86
85
84
80
79
79
79
80
81
82
83
83
84
84
85
85
85
86
86
84
85
88
92
96
95
92
90
95
99
103
109
191
229
189
178
193
161
217
242
238
208
155
143
120
116
57
11
41
45
90
124
117
112
95
77
104
124
107
107
107
105
100
99
95
93
91
90
89
86
83
81
80
79
78
77
73
73
73
72
72
72
72
69
68
68
67
66
65
65
64
63
62
62
61
60
60
59
58
57
55
54
53
53
54
54
53
53
53
52
52
51
51
50
50
50
49
49
53
53
53
53
53
53
54
54
54
54
54
54
54
52
52
52
52
54
54
54
56
56
57
60
60
61
62
64
64
65
66
70
73
79
83
86
89
93
95
104
107
112
115
118
120
122
128
130
133
134
136
140
142
145
146
148
148
149
149
152
153
153
156
157
157
158
162
162
163
167
167
168
168
169
169
169
52
52
53
53
53
54
54
56
56
57
58
59
60
60
68
68
68
68
69
69
69
71
71
72
74
75
75
75
73
73
76
76
77
77
79
81
81
85
86
87
88
89
94
99
101
104
108
110
112
117
119
120
122
123
123
126
129
130
132
136
137
139
139
143
143
145
146
146
146
146
146
144
144
144
144
142
141
140
138
137
136
135
134
132
132
132
131
131
129
129
125
123
121
120
118
118
114
102
100
98
97
96
93
88
85
82
82
81
80
78
77
80
81
81
82
83
84
85
85
85
85
86
86
87
87
84
85
86
90
91
90
89
93
83
112
102
164
244
199
162
166
167
198
189
188
255
225
159
127
108
89
49
20
42
54
93
132
122
111
92
77
110
124
108
108
106
104
98
97
94
95
93
92
91
88
88
86
85
83
83
82
75
74
73
72
72
71
71
70
69
68
67
67
66
66
64
63
62
62
61
60
60
59
58
57
56
55
55
54
55
54
54
54
53
53
53
52
52
52
51
51
51
51
55
55
55
55
55
55
55
55
55
55
55
55
55
52
52
52
52
54
54
54
56
56
57
60
60
61
62
62
62
63
65
67
72
78
82
85
91
94
98
101
102
108
111
116
118
119
126
128
129
130
134
136
138
143
144
147
147
148
149
151
152
152
157
157
158
159
162
163
163
166
167
167
167
168
168
168
51
51
52
53
54
55
55
56
57
57
59
60
60
61
68
68
68
69
69
69
71
71
71
74
74
75
75
75
73
73
76
76
77
77
79
81
81
84
85
86
86
87
92
96
98
100
104
106
107
112
117
118
122
122
123
125
124
125
126
129
131
131
132
135
136
138
139
140
140
140
145
143
143
143
143
141
139
139
136
135
134
134
132
131
131
130
130
129
126
126
123
121
119
119
117
116
113
102
98
95
93
92
91
84
81
80
80
79
79
78
76
82
82
83
84
85
86
86
86
86
86
86
87
87
88
82
84
86
87
88
86
85
94
85
105
107
244
205
170
147
159
196
159
178
220
230
232
169
119
98
75
57
32
51
71
108
136
125
112
97
79
119
127
108
110
103
105
99
98
96
95
93
92
94
91
91
89
88
87
86
85
79
78
76
75
74
73
73
72
71
70
69
68
68
67
64
63
62
62
61
60
60
59
58
58
57
57
57
56
55
55
55
54
54
54
54
54
54
53
53
53
52
52
56
56
56
56
56
56
56
56
56
56
56
56
56
52
52
52
52
54
54
54
56
56
57
60
60
61
62
63
63
63
64
68
70
78
81
85
89
92
93
99
101
106
108
111
113
117
122
125
127
128
129
133
135
139
139
146
147
147
148
151
151
152
156
156
157
157
161
161
162
164
164
164
164
165
165
166
51
51
52
53
54
55
55
57
57
58
59
60
61
61
68
68
68
69
69
69
71
71
71
74
74
75
75
75
73
73
76
76
77
77
79
81
81
84
84
85
86
86
90
94
96
98
102
103
105
109
115
117
121
122
123
125
121
122
125
126
127
128
130
132
134
135
135
136
137
137
144
142
142
142
142
140
138
138
135
135
134
133
131
130
130
129
128
127
125
124
122
121
119
118
116
116
112
100
97
95
93
92
88
83
81
80
80
80
77
77
77
83
83
84
84
85
87
87
86
86
86
87
87
88
88
82
84
85
87
86
86
84
90
94
104
115
224
175
173
144
165
207
184
183
205
234
232
174
121
97
74
66
38
60
84
119
136
123
109
97
79
122
129
109
111
103
106
99
98
96
95
94
93
95
93
92
90
89
90
89
88
80
80
78
76
75
74
74
72
71
70
69
69
68
68
64
63
62
62
61
60
60
59
58
58
58
57
57
57
56
55
55
55
54
54
54
55
54
54
54
53
53
53
57
57
57
57
57
57
56
56
56
56
56
56
56
52
52
52
52
54
54
54
56
56
57
60
60
61
62
63
63
64
65
68
71
77
81
85
87
90
91
98
101
105
107
110
113
114
121
124
126
127
128
130
134
138
139
146
146
147
148
150
151
151
155
155
156
156
160
161
161
162
162
162
163
164
164
164
50
50
51
53
54
55
55
60
60
60
63
64
64
64
68
68
68
69
69
69
69
69
71
75
76
75
74
73
78
78
80
80
81
83
83
82
82
86
88
89
92
92
87
89
90
91
94
95
97
102
107
110
112
117
118
119
122
124
124
124
124
126
126
131
132
132
133
133
136
136
136
135
135
136
137
136
133
132
130
130
129
129
127
124
123
123
122
119
118
116
111
112
110
110
108
107
105
102
100
98
93
91
89
86
84
84
82
82
82
82
82
83
83
84
85
85
87
87
88
89
89
90
90
89
88
101
94
86
83
86
82
98
97
129
112
225
175
150
153
193
210
129
103
191
200
223
234
167
83
89
59
81
46
101
135
150
123
109
95
91
77
119
123
116
108
108
102
102
101
99
98
97
98
98
98
97
96
94
92
91
91
86
85
81
79
77
76
74
75
72
71
69
68
66
64
64
63
62
62
61
60
60
58
58
57
57
56
56
56
54
54
54
54
54
54
54
53
53
53
53
53
53
53
55
55
54
54
53
53
54
54
54
53
53
52
52
52
52
52
51
52
51
51
54
54
55
58
58
59
60
62
63
66
68
70
72
77
78
81
86
87
89
95
98
105
106
107
109
113
116
117
124
126
129
131
132
135
138
144
145
146
147
150
151
151
154
154
155
157
158
158
158
154
154
154
155
156
156
156
50
51
51
54
55
55
58
60
60
61
63
63
64
64
68
68
68
69
69
69
69
70
70
74
75
75
74
74
78
78
80
80
81
83
83
82
83
87
88
89
92
93
88
89
89
92
93
93
96
97
101
104
106
108
109
112
118
119
120
121
124
125
126
128
128
128
129
129
129
128
131
131
131
131
131
131
127
126
126
124
123
123
123
118
118
118
115
114
113
112
110
110
109
109
109
106
104
100
98
96
93
90
88
88
85
85
85
82
82
82
82
83
83
84
85
85
87
87
88
89
89
90
90
89
88
90
97
90
80
77
86
98
109
118
223
242
126
187
221
130
31
30
33
73
203
207
224
186
108
88
73
120
104
142
158
154
126
111
96
94
79
124
128
118
111
111
106
104
105
103
102
101
100
100
100
100
97
96
94
93
92
88
87
82
81
79
78
75
76
73
72
70
68
67
67
65
64
63
62
61
61
60
58
58
58
57
57
57
56
54
54
54
54
54
54
54
53
53
53
53
53
53
53
55
55
55
54
54
54
54
54
54
54
53
53
53
52
52
52
52
52
52
52
54
54
55
58
58
59
60
63
64
66
68
70
72
76
78
80
85
87
88
94
96
103
104
106
108
110
115
116
118
122
125
126
127
132
134
142
144
145
146
148
150
151
152
154
155
155
156
158
158
153
153
154
154
155
155
155
51
51
52
54
55
56
58
61
61
63
63
63
63
63
67
67
67
68
68
68
68
70
70
73
74
74
74
74
78
78
80
80
81
83
83
83
83
87
88
90
92
93
88
88
89
91
92
94
94
96
100
101
103
105
106
106
113
117
118
120
122
123
126
126
128
127
127
127
126
127
130
130
129
129
129
127
125
123
123
122
122
122
119
115
114
114
114
113
111
111
109
109
108
108
108
104
102
98
97
95
93
91
89
89
86
85
85
85
83
82
82
83
83
84
85
85
87
87
88
89
89
90
90
89
88
87
92
90
82
85
95
102
90
190
231
170
179
244
174
76
44
10
31
96
187
187
221
181
106
90
73
130
136
162
164
149
128
114
99
97
80
127
132
121
114
114
111
107
107
105
104
102
103
102
102
102
99
97
96
95
94
89
89
86
82
81
80
79
77
75
72
71
69
68
67
65
64
63
62
62
61
61
59
58
58
58
57
57
57
55
55
55
55
55
55
55
54
54
54
54
54
54
54
56
55
55
55
54
54
55
55
54
54
54
53
53
53
53
52
52
53
52
52
54
54
55
58
58
59
60
64
64
66
68
70
72
75
78
80
85
86
87
93
95
100
101
102
106
109
113
116
118
120
124
125
126
130
132
141
141
142
143
147
148
149
151
152
152
154
155
155
155
151
152
152
152
153
153
153
52
53
53
55
58
58
59
64
64
63
65
65
64
64
66
66
66
67
67
67
67
70
70
71
72
73
74
74
78
78
80
80
81
83
83
83
84
88
89
90
93
94
91
92
92
92
94
94
94
96
99
99
100
100
101
101
105
106
108
109
113
114
115
120
120
121
123
123
124
124
126
126
125
122
121
120
118
118
118
115
115
115
114
111
111
111
110
110
108
108
106
105
105
106
105
104
100
97
96
94
93
92
92
91
89
89
87
86
85
85
82
83
83
84
85
85
87
87
88
89
89
90
90
89
88
88
88
83
84
90
92
104
191
237
175
136
255
179
75
12
34
40
78
98
179
202
207
173
101
100
74
135
158
170
156
140
138
121
105
111
78
128
137
129
120
121
118
113
113
111
110
109
108
107
108
107
102
101
99
98
97
93
92
89
88
86
83
82
80
77
75
73
71
70
69
66
65
64
63
62
62
61
60
59
59
58
58
58
58
56
56
56
56
56
56
56
55
55
55
55
55
55
55
56
56
56
55
55
55
56
55
55
55
54
54
54
54
53
53
53
53
53
53
54
54
55
58
58
59
60
65
65
67
68
70
71
74
77
79
84
85
85
90
92
94
95
97
102
105
109
112
115
117
122
123
124
128
130
135
135
136
137
140
143
143
146
148
148
148
150
150
151
148
148
148
149
149
150
150
53
53
56
57
58
61
61
64
64
66
65
64
66
66
66
66
66
67
67
67
67
71
70
70
71
72
73
75
78
78
80
80
81
83
83
84
84
88
90
91
94
94
95
95
95
95
95
94
94
93
93
93
93
94
94
94
98
98
99
103
104
105
106
107
108
112
114
115
116
117
117
116
115
113
110
108
110
109
108
108
106
105
105
101
101
101
102
102
102
102
103
103
104
104
104
103
101
97
97
95
95
95
94
96
91
90
89
89
86
85
84
83
83
84
85
85
87
87
88
89
89
90
90
89
88
90
86
87
94
95
117
162
236
160
239
250
170
90
48
37
51
71
44
100
212
223
184
197
136
99
94
152
157
164
150
138
151
126
110
118
74
130
144
139
129
128
122
119
119
117
116
112
112
111
111
109
106
104
103
102
99
96
96
93
89
88
87
86
81
79
76
74
73
72
71
66
65
64
64
63
62
62
60
60
59
59
58
58
58
56
56
56
56
56
56
56
55
55
55
55
55
55
55
57
57
56
56
55
55
56
56
56
55
55
54
54
54
54
54
53
54
53
53
54
54
55
58
58
59
60
65
66
67
68
70
71
74
77
79
83
84
84
89
91
91
92
95
97
101
106
110
109
112
114
117
118
122
124
129
129
130
131
135
136
136
139
141
141
142
145
145
145
145
145
145
146
147
147
147
55
55
56
61
62
63
63
65
65
65
67
67
67
67
66
66
66
67
67
67
67
69
69
72
72
72
73
73
76
76
78
79
80
83
83
83
84
88
89
90
93
94
95
95
96
96
95
95
95
94
94
94
94
92
92
92
90
91
94
95
96
96
99
100
102
103
103
104
104
104
104
104
104
104
104
102
103
101
101
101
101
99
99
97
97
97
97
97
97
97
100
100
100
101
101
101
102
101
101
100
97
96
96
94
93
93
90
89
89
88
87
85
85
86
86
87
89
89
89
89
89
89
90
90
90
90
86
95
98
102
150
232
193
255
255
224
48
63
59
54
81
82
86
151
230
241
189
210
140
109
96
151
160
163
145
136
156
141
111
126
85
3
16
141
152
142
134
127
126
124
122
118
117
116
116
113
111
108
107
106
106
99
98
94
95
94
92
88
87
82
80
78
76
75
72
66
65
65
64
63
63
62
61
60
60
59
58
57
57
58
58
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
54
54
54
54
54
53
54
53
53
55
55
55
57
57
59
61
64
65
67
68
70
71
75
76
77
80
82
84
89
90
90
92
94
95
95
101
102
105
105
106
108
112
114
115
121
121
122
123
128
129
129
133
133
134
134
137
137
138
139
139
139
139
139
139
139
54
55
56
60
61
62
65
65
65
67
67
67
67
67
66
66
66
67
67
67
67
69
69
71
72
72
72
73
75
75
78
79
79
82
82
84
84
88
90
91
94
94
95
95
96
96
97
95
95
95
95
93
93
93
93
93
89
90
91
92
92
95
95
95
97
97
98
98
100
100
99
97
97
97
97
95
99
99
97
97
97
97
96
95
95
95
95
95
96
96
98
100
100
100
101
101
104
101
100
100
99
96
95
94
93
93
92
89
89
88
87
86
86
87
87
88
89
90
89
89
90
90
91
92
92
93
90
98
110
102
189
227
236
231
214
253
69
76
67
52
67
73
61
181
241
242
183
214
148
111
95
150
160
158
144
137
161
147
117
136
74
0
5
175
132
127
147
133
130
127
124
122
119
118
118
118
114
110
109
108
108
101
99
97
96
95
93
91
87
85
81
79
77
76
75
67
66
65
64
64
63
63
62
61
60
59
58
58
57
58
58
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
55
55
54
54
54
54
54
53
54
53
53
55
55
55
57
58
59
62
66
67
68
69
70
71
74
76
77
80
82
84
89
90
87
89
91
94
94
97
101
101
102
104
105
107
110
110
117
117
118
119
124
125
125
129
129
129
132
134
134
135
137
137
137
137
138
138
138
56
56
57
59
63
63
64
67
67
67
68
68
68
68
65
65
65
66
66
66
66
68
68
71
71
71
72
72
73
74
76
77
78
80
81
83
84
88
89
90
93
94
96
96
97
96
97
97
95
96
94
94
92
92
92
92
87
87
87
89
89
88
88
87
87
89
89
89
89
89
89
89
90
90
89
89
91
91
92
92
91
91
91
92
92
92
92
92
94
94
97
97
99
100
100
102
103
102
102
99
98
97
97
94
93
93
91
91
91
91
88
87
87
88
89
89
91
91
90
91
92
93
95
97
98
106
105
105
117
108
239
223
212
215
236
177
144
40
29
43
53
77
70
245
248
218
175
217
157
106
89
153
167
151
141
133
171
159
126
150
59
1
8
86
168
154
141
139
139
134
132
129
128
125
120
120
115
113
110
109
109
105
103
100
100
99
95
93
92
88
86
84
80
78
77
70
68
67
66
64
64
63
62
61
61
60
59
58
58
58
58
57
57
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
56
56
56
55
55
54
54
54
54
54
53
54
53
53
55
55
55
57
59
61
64
69
69
70
70
70
70
72
76
77
80
82
84
89
90
84
86
89
90
90
92
96
98
99
102
104
105
108
110
111
112
113
114
116
119
119
120
122
123
124
127
128
128
132
132
133
133
134
135
135
55
55
56
61
62
63
63
65
65
65
66
66
66
66
64
64
64
65
65
65
65
67
67
70
70
71
71
71
72
72
75
76
76
79
79
82
82
86
87
89
91
92
98
96
97
97
97
97
95
96
94
92
92
92
92
92
88
87
86
87
86
85
87
85
84
85
84
84
83
83
84
85
86
87
86
87
89
87
88
88
87
88
89
90
90
90
90
92
92
94
96
96
99
99
101
102
102
101
101
100
98
97
96
93
92
92
92
91
91
91
91
86
87
87
88
89
90
91
91
92
93
95
98
101
102
103
111
120
113
149
232
213
219
254
201
165
61
34
46
65
76
81
107
253
253
224
180
226
171
109
89
148
161
150
141
126
183
169
131
152
105
0
0
110
186
158
157
144
144
140
138
135
132
131
125
123
120
117
113
113
112
111
109
103
102
101
98
95
94
90
88
86
84
82
81
72
70
69
67
65
64
63
63
62
61
60
60
59
59
58
58
57
57
56
56
56
56
56
56
56
56
56
56
58
58
58
58
58
58
56
56
56
55
55
54
54
54
54
54
53
54
53
53
55
55
55
58
60
62
65
68
69
70
71
71
72
74
76
77
80
82
84
89
90
85
86
88
88
87
91
93
95
97
99
100
104
106
107
109
109
110
111
115
115
116
116
118
119
120
123
124
124
128
129
129
130
132
133
133
55
55
56
61
62
63
65
64
64
64
65
65
65
65
64
64
64
65
65
65
65
67
67
70
70
71
71
71
72
72
75
75
76
79
79
81
81
86
87
88
91
91
98
98
97
97
97
97
95
95
93
91
91
91
90
90
88
87
86
87
86
85
85
85
84
85
84
84
83
83
83
84
84
86
85
86
86
87
87
88
87
88
89
91
91
91
91
93
93
95
96
96
98
99
101
102
102
101
101
100
99
97
96
93
92
92
92
91
91
91
91
86
86
87
88
89
90
90
91
92
94
96
98
102
103
108
117
129
114
164
213
200
232
248
204
158
38
16
44
63
82
89
133
251
250
206
169
219
167
110
90
147
157
151
141
124
185
174
131
153
124
0
19
0
149
159
147
147
145
142
139
136
135
132
127
125
122
119
116
115
114
112
110
104
103
101
99
96
94
90
88
86
84
83
82
73
71
69
67
65
64
64
63
62
61
61
60
59
59
58
58
57
57
56
56
56
56
56
56
56
56
56
56
58
58
58
58
58
58
56
56
56
55
55
54
54
54
54
54
53
54
53
53
55
55
55
58
60
62
66
68
68
70
71
71
72
75
76
77
80
82
84
89
90
85
87
88
88
87
91
92
93
96
97
99
100
105
106
109
109
110
111
113
115
116
116
118
118
119
123
123
124
128
129
129
130
132
133
133
57
57
58
59
62
63
63
65
65
65
67
67
67
67
64
64
64
64
64
66
66
67
69
71
72
74
75
75
79
79
81
82
82
83
83
84
84
84
85
87
89
90
91
91
92
92
93
93
93
95
95
95
95
95
95
95
90
90
89
88
87
87
87
84
84
81
81
80
80
80
84
83
83
83
84
85
88
88
89
90
91
91
92
90
90
91
93
93
94
94
95
95
97
98
98
99
99
101
101
100
97
95
94
92
92
92
90
90
90
90
90
85
85
85
87
89
94
95
97
99
102
105
106
111
113
119
117
131
151
226
201
221
236
165
159
139
56
55
69
58
85
105
202
248
246
150
127
192
174
90
76
125
155
153
138
122
175
181
155
136
156
11
28
0
76
178
177
146
144
144
146
145
143
141
140
137
129
124
119
116
115
118
116
111
110
107
103
101
98
92
87
85
84
82
81
77
75
72
71
69
68
65
64
63
60
60
59
58
58
56
56
55
55
55
54
54
55
55
55
55
55
55
55
58
58
57
57
56
56
56
56
56
55
55
54
54
55
55
55
54
56
55
55
58
58
60
63
65
67
68
70
70
70
71
71
72
72
75
75
76
77
79
81
81
87
87
88
89
91
93
93
95
95
97
99
101
104
105
106
106
107
108
111
112
112
114
115
116
117
120
121
121
128
128
129
129
131
132
132
56
56
57
59
61
62
62
64
64
64
66
66
66
66
64
64
64
66
66
66
66
70
70
73
74
75
76
76
80
81
82
82
83
83
83
84
84
84
85
87
89
90
91
91
92
92
93
93
93
95
95
95
95
95
95
95
90
90
89
89
87
87
87
84
84
83
81
80
80
80
84
83
83
83
84
85
86
87
87
88
89
90
90
91
91
91
94
94
94
95
95
95
97
98
98
99
99
98
98
97
96
95
93
91
91
89
89
89
89
87
87
85
85
85
88
89
96
97
100
102
106
108
111
115
117
116
135
125
199
245
174
203
201
89
173
65
60
67
76
136
153
205
233
239
246
129
118
190
188
83
78
118
150
151
135
124
176
190
166
135
185
52
0
14
0
155
169
149
149
150
149
147
148
145
143
140
133
129
125
121
121
120
118
113
113
110
108
104
100
94
91
87
86
85
85
79
77
74
73
71
70
67
66
64
61
60
59
58
58
57
56
56
56
55
55
55
55
55
55
55
55
55
55
58
58
57
57
56
56
56
56
56
55
55
54
54
55
55
55
55
57
57
57
59
60
61
64
65
67
68
70
70
70
71
71
72
72
75
75
76
77
79
81
81
86
87
87
89
90
92
92
94
95
96
98
100
104
104
105
106
106
107
112
112
113
114
115
116
117
120
121
121
127
127
128
129
130
131
131
56
56
57
58
61
62
62
64
64
64
66
66
66
66
64
64
64
66
66
66
68
70
70
74
75
75
76
76
81
82
82
82
83
83
83
84
84
84
85
87
89
90
91
91
92
92
93
93
93
95
95
95
95
95
95
95
90
90
89
89
88
87
87
84
84
83
83
80
80
80
84
83
83
83
84
85
86
86
87
88
88
89
90
91
91
92
94
94
95
95
95
95
97
98
98
99
99
98
97
97
95
94
92
91
89
89
89
89
87
87
87
85
85
85
88
90
96
100
102
105
108
111
112
119
121
117
139
132
215
248
170
229
151
91
133
44
49
69
104
146
149
194
217
243
249
145
112
182
193
81
76
107
148
147
131
125
174
194
173
139
168
83
0
17
0
164
181
144
148
154
150
149
148
147
145
143
135
131
128
126
125
122
120
115
115
112
110
106
103
96
93
90
86
86
85
80
78
75
74
72
71
68
67
65
62
61
59
58
58
57
57
56
56
56
55
55
55
55
55
55
55
55
55
58
58
57
57
56
56
56
56
56
55
55
54
54
55
55
55
55
57
57
57
60
61
62
65
66
67
68
70
70
70
71
71
72
72
75
75
76
77
79
81
81
86
86
87
88
89
91
92
94
94
96
98
100
103
104
105
105
106
107
112
113
113
114
115
116
117
120
121
121
127
127
128
128
130
131
131
55
55
56
58
60
61
61
63
63
63
65
65
65
65
66
66
66
66
68
68
68
71
73
74
76
77
78
78
83
83
83
83
83
83
83
84
84
84
85
87
89
90
91
91
92
92
93
93
93
95
95
95
95
95
95
95
92
92
91
89
88
88
88
86
86
83
83
82
82
82
84
83
83
83
84
85
86
87
87
88
89
90
90
92
92
92
95
95
95
96
95
95
97
98
98
99
99
97
97
95
94
92
91
88
88
88
86
86
86
86
84
84
85
85
87
91
98
101
105
109
112
116
117
124
126
144
126
171
240
236
219
217
91
91
39
53
100
123
123
139
151
180
239
253
219
180
118
165
184
98
86
96
140
135
126
124
165
194
189
154
138
150
16
9
5
53
170
166
161
154
156
156
153
148
149
146
140
137
135
132
131
126
124
120
119
116
112
110
106
100
97
92
90
89
86
82
80
77
76
74
73
70
68
66
63
61
59
58
58
58
57
57
57
56
56
56
55
55
55
55
55
55
55
58
58
57
57
56
56
56
56
56
55
55
54
54
55
55
55
56
58
59
59
62
62
63
66
66
67
68
70
70
70
71
71
72
72
75
75
76
77
79
81
81
85
85
86
87
89
91
91
93
94
95
97
99
103
103
104
104
106
107
112
114
114
114
115
116
117
120
121
121
126
126
127
128
129
130
130
53
54
55
58
60
59
59
58
59
61
65
65
64
63
65
65
66
69
70
71
73
73
74
76
77
78
79
79
82
82
83
83
84
84
84
86
86
88
88
89
90
90
92
92
92
92
92
92
92
93
93
93
93
93
93
93
94
92
92
92
92
90
90
90
88
88
87
86
83
83
84
84
84
84
84
84
85
85
86
87
89
90
91
92
92
92
95
95
96
96
95
95
97
98
98
99
99
96
96
95
94
90
89
88
85
85
85
83
83
83
83
82
83
86
88
93
102
104
111
110
113
119
122
126
128
147
141
208
244
210
223
128
119
70
45
28
181
130
157
123
122
241
248
240
200
191
141
163
176
120
106
107
134
139
121
123
163
192
195
166
147
182
30
32
11
20
0
92
174
158
167
154
166
144
150
148
145
143
142
141
139
129
127
124
123
122
118
114
111
106
102
98
93
91
90
85
81
79
79
78
76
72
72
68
64
62
61
60
60
58
58
57
57
56
56
56
56
56
55
55
54
54
54
59
59
58
58
57
57
56
56
56
55
55
54
54
55
55
55
56
58
59
59
63
63
64
67
67
68
69
71
71
72
73
73
74
75
76
76
77
78
78
80
80
84
86
87
88
88
90
92
94
94
96
97
99
102
102
105
105
106
107
112
113
113
115
116
117
118
121
122
122
126
126
127
128
129
130
130
53
54
55
57
60
59
59
57
58
60
65
65
65
64
67
67
68
70
70
73
73
74
75
77
78
80
81
81
82
82
83
83
84
84
84
86
86
88
88
89
90
90
92
92
92
92
92
92
92
93
93
93
93
93
93
93
94
94
94
92
92
92
90
90
89
87
86
86
85
85
84
84
84
84
84
84
85
85
86
87
89
90
91
92
92
92
95
95
95
96
95
95
97
98
98
99
99
96
96
95
92
90
89
86
85
85
83
83
83
83
83
82
83
85
89
94
103
105
111
113
117
120
123
129
132
139
156
218
248
216
230
151
96
74
0
56
150
140
202
133
184
248
253
209
138
208
153
156
177
121
112
100
126
136
118
123
163
190
197
174
150
178
54
31
9
12
0
54
172
157
153
158
142
153
150
148
146
145
144
143
142
131
127
124
123
122
118
116
112
106
102
99
96
91
90
85
81
79
79
78
76
72
72
69
64
62
61
60
60
58
58
57
57
57
56
56
56
56
55
55
55
54
54
59
59
58
58
57
57
56
56
56
55
55
55
54
55
55
56
56
58
59
59
63
63
64
67
68
68
69
71
71
72
73
73
74
75
76
76
77
78
78
80
80
84
86
88
88
88
91
92
94
94
96
97
99
102
102
105
105
106
107
112
113
113
115
116
117
118
121
122
122
126
126
127
128
129
130
130
52
53
54
57
59
58
58
56
57
58
64
66
67
67
68
68
69
72
73
74
75
76
77
80
80
81
81
81
83
83
84
84
84
85
85
86
86
88
88
89
90
90
91
91
91
91
91
91
91
92
92
92
92
92
92
92
92
92
92
92
92
90
90
88
88
87
87
85
85
85
84
84
84
84
84
84
85
85
86
87
89
90
91
91
91
92
94
94
95
95
95
95
97
98
98
99
99
94
94
93
92
90
87
86
84
84
84
84
83
83
83
82
85
87
91
96
105
107
112
119
122
123
124
136
140
146
209
244
242
218
234
212
242
250
193
201
82
132
78
177
230
250
250
111
22
138
179
143
177
119
117
79
112
131
119
123
160
182
195
192
167
173
136
28
15
3
8
0
147
160
173
151
176
148
153
150
150
149
148
149
148
134
132
126
125
124
121
117
115
109
104
101
97
95
93
87
83
81
80
79
77
73
73
69
65
63
61
61
61
59
58
58
58
57
57
57
57
56
56
56
55
55
55
59
59
58
58
57
57
57
57
56
56
56
55
55
56
56
56
57
59
59
60
64
64
65
67
68
69
70
71
71
72
73
73
74
75
76
76
77
78
78
80
80
85
86
88
89
89
91
93
94
94
96
97
99
102
102
105
105
106
107
112
113
113
115
116
117
118
121
122
122
126
126
127
128
129
130
130
51
52
54
56
58
58
57
58
58
58
63
65
67
68
70
71
71
73
74
75
76
78
80
81
81
83
83
83
84
84
84
85
85
85
86
86
86
88
88
89
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
93
93
91
91
91
91
89
89
89
86
86
86
86
86
84
84
84
84
84
84
85
85
86
87
89
90
91
90
91
91
93
94
94
94
95
95
97
98
98
99
99
94
94
93
90
88
87
84
85
85
84
84
84
84
84
84
86
90
93
98
107
111
114
121
126
125
130
139
135
177
234
241
231
231
252
255
225
224
134
73
96
155
225
243
248
240
150
105
76
132
186
167
157
116
105
65
92
126
115
113
161
176
190
199
176
164
177
6
22
9
23
3
17
173
158
159
149
159
155
152
152
153
154
153
153
138
134
130
127
125
121
119
116
111
106
103
99
96
95
88
84
82
82
81
79
75
74
70
65
63
62
62
62
59
59
59
58
58
58
58
57
57
57
56
56
56
56
59
59
58
58
57
57
58
57
57
57
56
56
56
57
57
57
57
60
60
60
64
65
65
68
69
70
71
71
71
72
73
73
74
75
76
76
77
78
78
80
80
85
87
89
90
90
92
94
94
94
96
97
99
102
102
105
105
106
107
112
113
113
115
116
117
118
121
122
122
126
126
127
128
129
130
130
51
52
53
56
58
57
57
60
59
59
62
64
66
67
71
71
72
73
75
76
76
79
81
81
81
83
83
83
84
84
85
85
85
86
86
86
86
88
88
89
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
92
92
92
90
90
90
90
88
88
86
86
86
86
86
84
84
84
84
84
84
85
85
86
87
89
90
91
90
90
91
93
93
94
94
95
95
97
98
98
99
99
94
94
93
90
88
87
84
85
85
84
84
84
84
84
85
86
91
94
99
108
112
116
123
125
125
132
138
130
202
240
240
238
248
255
255
246
245
203
173
162
98
197
246
194
250
234
26
21
170
189
184
136
121
103
64
79
119
108
106
163
177
190
203
187
169
184
0
27
15
26
13
0
193
159
176
144
167
156
155
153
154
155
155
155
139
137
130
129
125
122
119
117
111
106
103
100
97
95
89
85
83
83
82
79
76
74
70
66
64
62
62
62
60
59
59
59
58
58
58
58
57
57
57
56
56
56
59
59
58
58
57
57
58
58
57
57
57
56
56
57
57
57
58
60
60
61
65
65
66
68
69
70
71
71
71
72
73
73
74
75
76
76
77
78
78
80
80
86
87
89
90
90
92
94
94
94
96
97
99
102
102
105
105
106
107
112
113
113
115
116
117
118
121
122
122
126
126
127
128
129
130
130
54
54
55
57
58
59
59
59
60
61
66
67
68
69
70
70
71
74
75
76
77
79
79
81
81
81
81
81
84
84
85
85
86
86
86
86
86
88
89
89
90
91
87
87
87
87
87
87
87
88
88
88
88
88
88
88
86
86
86
86
86
86
86
84
84
85
85
86
86
86
85
85
85
85
85
85
86
86
87
88
88
89
90
95
95
96
95
95
96
97
95
95
93
93
93
93
93
89
88
87
87
86
85
84
84
84
85
85
85
85
86
89
92
98
103
106
116
119
126
117
132
131
125
132
141
255
255
255
255
248
255
241
178
203
202
241
51
233
255
250
250
235
242
33
5
26
58
178
115
162
118
82
89
128
107
121
114
187
186
197
202
192
170
0
38
15
8
4
13
71
204
170
169
153
160
158
156
155
155
153
152
146
144
139
135
134
129
125
121
113
109
107
103
100
98
96
92
89
89
86
84
80
79
70
68
65
65
63
62
59
58
57
57
56
57
57
59
59
58
58
59
59
59
58
58
58
58
58
58
59
59
59
58
58
57
57
60
60
59
61
61
62
63
68
68
69
70
70
71
71
72
72
72
73
73
74
74
76
76
77
78
78
80
80
84
84
86
87
89
94
94
95
97
99
100
102
106
106
108
108
109
110
112
113
113
117
117
118
119
122
123
123
127
127
127
128
129
129
129
54
54
55
57
58
59
59
60
61
61
66
67
67
68
70
70
71
74
75
76
77
79
79
81
81
81
81
81
84
84
85
85
86
86
86
86
86
87
88
89
89
89
87
87
87
87
87
87
87
88
88
88
88
88
88
88
86
86
86
86
86
86
86
84
84
85
85
86
86
86
85
85
85
85
85
85
86
86
87
88
88
89
90
94
95
93
94
95
96
95
95
95
93
93
93
92
90
87
87
86
86
85
84
83
84
84
85
85
86
86
87
94
97
102
105
107
113
117
121
134
132
119
132
145
200
255
230
98
9
68
7
91
94
24
23
173
233
146
143
236
203
200
199
101
106
117
135
177
157
178
141
106
99
113
78
25
8
25
47
174
220
197
198
36
13
12
9
15
10
0
87
204
152
172
161
160
158
157
155
153
152
147
144
139
136
134
129
125
122
113
109
108
104
100
98
97
91
90
89
86
84
80
77
69
67
65
64
62
59
59
59
58
57
56
58
57
59
59
59
58
60
60
59
59
59
59
59
59
59
59
59
59
59
58
58
58
61
60
59
61
61
63
64
68
68
69
70
70
71
71
72
73
73
73
74
74
74
76
77
77
78
79
80
81
84
84
86
87
89
94
94
95
97
99
100
102
106
106
108
108
109
110
112
113
113
117
117
118
119
122
123
123
127
127
127
128
129
129
129
54
54
55
57
58
59
59
61
61
62
65
66
67
67
70
70
71
74
75
76
77
78
78
81
81
81
82
82
84
84
85
85
86
86
86
86
86
87
87
88
88
89
87
87
87
87
87
87
87
87
87
87
87
87
87
87
85
85
85
85
85
85
85
84
84
85
85
86
86
86
85
85
85
85
85
85
86
86
87
88
88
89
90
92
92
93
94
95
95
95
95
93
93
92
92
90
89
85
85
84
84
83
83
82
83
83
84
84
85
86
87
97
100
104
106
105
110
113
120
115
127
128
148
137
92
124
31
15
28
62
26
33
50
43
107
135
29
213
255
251
236
242
185
47
52
39
44
113
159
140
165
121
67
87
109
76
0
4
32
148
190
198
210
90
3
30
12
9
28
12
7
178
167
162
161
160
158
157
155
153
152
147
145
139
136
134
130
126
122
114
110
108
104
101
98
97
91
90
90
87
83
81
77
69
65
64
64
60
59
60
59
58
57
57
58
58
60
59
59
59
60
60
60
60
60
60
60
60
60
60
60
59
59
59
58
58
61
60
60
61
62
63
64
68
68
69
70
70
71
71
73
73
73
74
74
74
75
77
77
78
78
79
81
81
84
84
86
87
89
94
94
95
97
99
100
102
106
106
108
108
109
110
112
113
113
117
117
118
119
122
123
123
127
127
127
128
129
129
129
54
54
55
57
58
59
59
62
62
62
65
66
66
66
70
70
71
74
75
76
77
77
77
81
81
82
83
83
84
84
85
85
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
86
86
86
86
86
86
86
84
84
84
84
84
84
84
84
84
85
85
86
86
86
85
85
85
85
85
85
86
86
87
88
88
89
90
91
92
92
93
93
94
94
93
93
92
90
89
88
88
82
82
82
82
82
82
82
83
83
84
85
86
87
88
101
104
106
105
103
104
107
118
119
124
144
171
65
64
49
24
65
78
51
16
19
25
0
158
252
160
24
12
1
92
138
57
73
102
65
56
53
149
171
141
93
71
49
25
0
0
3
9
40
74
205
195
188
45
1
28
25
30
12
3
10
207
174
165
163
160
159
155
153
152
148
146
140
137
135
131
126
123
114
110
109
105
102
99
96
92
89
88
85
83
80
79
69
66
66
63
62
60
60
60
59
58
57
59
58
60
60
60
59
61
61
61
61
61
61
61
61
61
61
60
60
60
59
59
59
62
61
61
62
63
64
65
68
68
69
70
70
71
71
74
74
74
74
75
75
76
77
78
78
79
80
81
82
84
84
86
87
89
94
94
95
97
99
100
102
106
106
108
108
109
110
112
113
113
117
117
118
119
122
123
123
127
127
127
128
129
129
129
54
54
55
57
58
59
59
62
62
63
65
65
66
66
70
70
71
74
75
76
77
77
77
80
82
82
83
83
84
84
85
85
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
86
86
86
86
86
86
86
84
84
84
84
84
84
84
84
84
85
85
86
86
86
85
85
85
85
85
85
86
86
87
88
88
89
90
90
90
91
92
92
93
92
93
91
90
89
88
86
84
79
79
79
79
79
79
79
81
81
82
83
85
86
88
103
104
105
104
103
103
108
117
114
147
156
116
29
37
54
61
20
4
14
24
49
0
76
250
172
76
88
57
38
66
73
54
66
65
41
50
35
2
148
170
82
76
46
75
41
8
20
13
13
52
12
135
195
143
6
21
22
35
10
15
0
18
184
170
167
163
160
157
153
152
148
146
141
137
136
131
127
123
115
111
109
105
102
100
96
90
89
87
86
83
81
78
70
66
65
65
61
60
61
60
59
59
58
59
59
61
61
60
60
61
61
61
62
62
62
62
62
62
61
61
61
60
60
59
59
62
62
61
63
63
64
65
68
68
69
70
70
71
71
74
74
74
75
75
76
76
78
78
79
80
80
82
82
84
84
86
87
89
94
94
95
97
99
100
102
106
106
108
108
109
110
112
113
113
117
117
118
119
122
123
123
127
127
127
128
129
129
129
52
52
53
55
56
57
57
63
63
63
66
67
67
67
68
69
70
75
75
74
75
77
77
81
81
82
83
83
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
84
84
83
83
82
82
82
83
84
85
85
86
87
87
85
85
85
85
85
85
87
87
87
88
88
89
89
91
91
92
93
92
92
93
91
90
89
86
84
83
82
78
78
78
79
79
79
80
79
80
81
82
82
84
89
103
108
105
100
106
111
113
126
125
140
150
73
26
45
106
65
32
28
22
25
3
88
214
220
151
62
40
9
101
94
35
41
45
55
48
47
40
29
130
173
117
57
32
67
37
21
13
0
23
14
2
72
176
152
42
0
28
13
1
13
6
1
154
187
163
163
154
168
141
163
146
145
141
137
135
132
129
122
113
109
109
106
105
103
95
93
91
87
85
83
80
77
69
65
64
62
60
59
61
60
59
59
58
59
59
62
62
61
61
62
62
62
61
61
62
62
63
63
63
63
62
61
61
60
59
63
63
63
65
65
65
65
69
69
70
71
71
72
72
74
74
75
75
75
75
76
78
78
79
80
80
82
82
85
85
86
87
89
93
93
96
98
99
100
102
105
105
107
107
108
109
113
114
114
117
117
118
119
122
123
123
128
128
128
128
128
128
128
51
52
52
55
56
56
57
63
63
63
66
66
66
67
67
68
70
74
74
74
75
77
77
81
81
82
83
83
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
83
83
83
82
82
82
82
83
83
84
85
86
86
87
85
85
85
85
85
85
87
87
87
87
88
88
88
88
89
89
90
91
91
90
89
87
86
85
84
82
80
76
76
77
77
77
78
78
79
80
81
81
82
83
89
100
101
104
107
108
113
124
129
147
115
77
58
29
63
13
53
21
15
10
29
222
243
231
211
102
43
41
100
21
73
52
79
31
34
48
85
60
53
55
139
100
100
28
22
15
9
17
17
8
11
27
57
66
88
52
25
11
18
5
20
21
0
15
73
170
174
161
164
144
150
146
145
141
137
135
132
129
123
113
109
108
106
104
103
95
91
89
87
84
81
80
76
68
64
63
62
60
58
61
61
60
59
58
60
59
62
62
61
61
62
62
62
62
62
62
63
63
63
64
63
63
62
61
60
60
63
63
63
65
65
65
65
69
69
70
71
71
72
72
74
74
74
75
75
76
76
78
78
79
80
80
82
82
85
85
86
87
89
93
93
95
98
99
100
101
104
105
106
107
108
109
112
113
114
117
117
118
119
122
123
123
128
128
128
128
128
128
128
51
51
52
54
55
56
56
62
62
62
65
65
66
66
67
68
69
73
73
73
74
77
77
81
81
82
83
83
85
85
85
85
85
85
85
86
86
86
86
86
86
86
85
85
85
85
85
85
85
85
85
85
85
85
85
85
83
82
82
82
81
81
81
82
83
83
84
85
86
86
85
85
85
85
85
85
86
86
86
87
87
87
88
88
88
88
88
87
87
87
84
84
84
82
81
81
80
73
73
73
74
74
75
75
76
77
78
79
79
80
86
97
93
100
110
115
133
135
109
89
24
83
69
22
26
43
8
43
12
0
236
247
249
239
108
31
41
13
25
58
72
55
5
45
47
34
54
97
43
75
170
147
91
25
25
13
19
15
14
29
45
24
8
41
0
13
36
25
21
16
15
9
24
17
5
0
182
164
161
168
140
146
145
141
137
135
132
129
124
114
109
108
105
103
102
93
91
88
86
84
81
78
77
68
64
64
62
61
59
62
61
61
60
59
60
60
62
62
61
61
62
62
62
62
63
63
63
64
64
64
64
63
63
62
61
60
63
63
63
65
65
65
65
69
69
70
71
71
72
72
73
73
74
75
75
76
77
78
78
79
80
80
82
82
85
85
86
87
89
93
93
95
97
98
99
100
103
104
106
106
107
108
112
112
113
117
117
118
119
122
123
123
128
128
128
128
128
128
128
50
51
51
54
55
55
56
61
62
62
65
65
65
65
66
67
69
73
73
73
73
77
77
81
81
82
83
83
85
85
85
85
85
85
85
86
86
86
86
86
86
86
84
84
84
84
84
84
84
84
84
84
84
84
84
84
82
82
82
81
81
81
80
82
82
83
84
85
85
86
85
85
85
85
85
85
85
86
86
86
87
87
87
88
88
88
86
86
86
86
83
83
82
81
81
80
80
73
73
73
74
74
75
75
75
77
78
78
78
80
86
93
91
101
110
117
133
113
40
29
41
49
22
27
23
10
0
20
4
138
250
248
229
167
55
42
22
50
19
34
33
58
18
18
45
24
28
40
65
21
120
140
124
28
15
2
42
37
17
19
14
18
33
32
21
15
23
12
26
14
6
10
22
10
12
0
194
169
154
162
146
146
145
141
137
135
132
129
124
114
110
108
105
103
101
93
91
88
86
82
81
78
77
67
65
63
62
61
59
62
62
61
60
59
61
60
62
62
61
61
62
62
62
63
63
63
64
64
64
65
64
64
63
62
61
61
63
63
63
65
65
65
65
69
69
70
71
71
72
72
72
73
73
74
76
77
78
78
78
79
80
80
82
82
85
85
86
87
89
93
93
94
97
98
99
100
103
104
105
106
107
108
111
112
113
117
117
118
119
122
123
123
128
128
128
128
128
128
128
50
50
51
53
54
55
55
61
61
61
64
65
65
65
66
67
68
73
73
72
73
77
77
81
81
82
83
83
85
85
85
85
85
85
85
86
86
86
86
86
86
86
84
84
84
84
84
84
84
84
84
84
84
84
84
84
82
82
81
81
80
80
80
81
82
83
83
84
85
85
85
85
85
85
85
85
85
85
85
86
86
87
87
87
87
85
85
85
85
85
82
81
80
80
80
80
77
74
74
74
75
75
75
76
75
76
77
78
78
80
85
85
90
105
112
120
105
46
40
13
12
59
47
10
18
0
29
200
248
235
214
224
248
159
19
26
63
18
55
37
39
37
35
52
39
38
23
57
24
34
49
106
161
105
39
19
4
8
26
14
15
21
21
19
0
9
21
23
1
23
28
10
0
27
15
39
0
43
155
153
158
146
145
141
137
135
132
129
125
115
110
108
104
102
100
93
90
88
86
82
81
78
75
67
65
64
63
61
60
63
62
61
61
60
61
61
62
62
61
61
62
62
62
63
63
64
64
65
65
65
65
64
63
63
62
61
63
63
63
65
65
65
65
69
69
70
71
71
72
72
71
72
73
74
76
77
79
78
78
79
80
80
82
82
85
85
86
87
89
93
93
94
96
97
98
100
103
103
105
105
106
107
111
112
112
117
117
118
119
122
123
123
128
128
128
128
128
128
128
47
47
48
51
52
53
54
56
57
60
62
63
62
62
68
68
69
72
74
75
75
77
79
81
81
84
85
85
83
83
83
83
83
83
83
84
84
84
84
84
84
84
82
82
82
82
82
82
82
82
82
82
82
82
82
82
79
79
78
78
77
77
77
77
78
78
79
80
81
81
82
82
83
83
83
84
84
84
84
85
85
85
86
87
87
86
84
84
83
81
79
79
77
77
75
75
75
65
72
83
91
87
75
55
57
73
91
106
108
101
78
92
85
123
149
178
104
58
39
82
95
20
34
6
29
250
249
250
235
236
206
249
118
92
39
33
36
26
34
40
28
46
30
24
34
14
39
50
27
43
23
60
58
38
73
36
2
38
30
8
22
33
40
37
25
18
23
28
26
21
19
19
26
31
16
10
38
10
36
151
195
145
144
134
139
126
118
127
114
110
106
103
101
100
100
94
90
88
86
83
79
79
76
70
66
64
63
62
62
58
57
59
58
57
56
57
54
56
56
56
56
56
56
58
58
61
61
62
62
63
63
64
64
63
62
61
65
65
65
64
64
65
65
68
69
69
70
72
73
74
76
76
77
78
80
81
82
81
81
82
82
82
83
83
87
87
88
89
91
93
93
93
93
94
95
97
99
99
106
106
107
110
113
113
116
117
118
122
122
122
123
125
124
125
126
127
126
125
124
46
47
47
51
52
52
53
56
57
58
63
63
62
62
68
69
70
72
73
75
76
77
79
81
81
84
85
85
83
83
83
83
83
83
83
84
84
84
84
84
84
84
82
82
82
82
82
82
82
82
82
82
82
82
82
82
79
79
78
78
77
77
77
77
77
78
79
80
80
81
82
82
82
83
83
83
84
84
84
84
85
85
85
86
86
86
83
83
83
80
78
78
76
77
77
75
75
67
72
76
80
77
72
65
74
88
99
107
106
96
71
103
130
128
137
117
213
103
20
20
63
22
48
10
231
248
239
250
239
232
204
214
188
147
91
77
30
21
50
48
26
47
53
45
49
29
66
54
86
10
61
50
16
50
89
32
23
11
17
24
31
21
12
38
43
36
32
36
41
38
29
19
18
18
22
8
0
17
5
14
182
161
136
141
134
130
129
121
115
109
106
103
101
100
99
94
90
88
85
83
79
78
75
70
66
64
63
62
62
58
58
59
58
57
57
57
55
57
57
57
57
57
57
58
60
61
61
62
64
63
63
64
64
63
62
63
65
65
65
64
64
66
66
70
70
70
71
73
74
75
77
78
79
80
81
82
83
81
82
82
82
83
83
83
87
87
88
89
90
92
92
92
93
94
95
96
98
99
105
106
106
110
112
113
115
116
118
121
121
121
123
124
124
125
126
127
126
125
124
46
46
47
48
51
52
52
53
56
58
61
63
63
63
67
68
68
73
74
75
76
77
77
81
81
82
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
82
82
82
82
82
82
82
82
82
82
82
82
82
82
79
79
78
78
77
77
77
76
77
77
78
79
80
80
81
81
82
82
82
83
83
83
83
84
84
84
85
83
82
82
82
79
79
79
76
77
77
76
76
77
77
76
71
64
60
61
69
93
106
110
110
103
95
88
78
145
93
78
32
95
19
17
103
34
37
20
0
239
243
235
250
226
248
242
177
181
34
60
62
36
50
53
50
57
29
28
44
21
29
29
24
33
46
48
25
52
67
47
151
166
16
51
25
22
22
34
39
31
19
19
28
45
49
32
17
15
17
18
8
17
25
14
15
20
8
58
165
124
147
140
108
127
116
108
103
100
98
97
97
91
89
86
84
82
78
76
73
70
67
66
64
62
62
59
58
60
59
58
57
58
58
59
59
58
58
57
57
60
60
61
61
64
64
65
65
65
64
65
65
65
67
67
67
69
69
69
69
73
73
75
75
76
77
78
80
81
81
82
83
83
84
82
82
83
83
83
84
84
87
87
88
88
89
90
91
92
92
93
94
95
97
98
103
104
105
106
110
111
112
114
116
118
118
120
121
123
123
124
125
126
125
124
123
43
43
44
48
48
49
51
53
54
56
61
62
62
62
68
68
69
72
73
76
76
76
77
79
79
82
83
83
83
83
83
83
83
83
83
84
84
84
84
84
84
84
82
82
82
82
82
82
82
82
82
82
82
82
82
82
79
79
78
78
77
77
77
75
76
77
78
78
79
79
78
79
79
79
80
80
80
80
81
81
81
82
82
79
79
79
78
78
78
77
75
75
76
77
78
78
79
88
79
67
61
65
78
106
110
101
90
82
84
98
124
253
139
106
73
57
48
21
0
42
5
159
248
243
241
250
217
213
224
204
145
181
86
61
33
0
17
49
79
30
33
12
41
57
29
35
36
47
27
59
20
55
73
44
21
64
11
22
0
26
28
40
44
28
20
25
42
47
57
54
46
41
33
22
39
5
31
6
0
40
10
0
6
151
129
132
147
115
118
108
102
100
96
94
94
90
87
85
81
79
76
75
69
68
67
66
64
61
60
60
59
60
59
59
58
59
60
61
60
59
58
58
58
60
62
63
63
64
64
65
65
66
66
66
66
66
72
72
72
73
73
76
76
76
77
77
78
81
82
83
82
82
82
82
83
83
83
83
83
83
84
84
85
85
87
87
88
88
88
89
89
91
91
92
93
95
97
97
101
102
102
105
107
108
110
111
113
116
117
116
118
119
119
119
120
121
120
119
119
43
43
44
45
48
49
49
52
54
56
61
62
62
62
66
66
67
72
73
74
76
76
76
79
79
80
81
81
83
83
83
83
83
83
83
84
84
84
84
84
84
84
82
82
82
82
82
82
82
82
82
82
82
82
82
82
79
79
78
78
77
77
77
75
76
77
77
78
79
79
78
78
79
79
80
80
80
80
80
81
81
82
82
79
79
79
78
78
77
76
74
75
76
76
77
78
79
91
83
74
69
75
87
105
100
86
73
71
83
111
161
146
193
171
157
64
83
47
27
0
145
248
227
215
237
219
249
232
224
159
127
84
69
45
32
10
26
27
33
17
42
22
48
60
35
60
63
34
44
47
45
45
75
42
74
132
22
35
30
9
16
38
56
47
32
31
44
53
57
36
29
29
28
21
12
21
1
7
29
9
24
7
0
96
169
148
114
132
119
108
102
97
95
94
92
89
87
85
81
79
76
73
68
68
67
66
63
61
60
60
59
60
60
59
58
59
60
61
61
60
59
58
58
62
62
63
63
64
66
65
66
66
66
66
68
68
73
73
73
76
76
77
77
77
77
78
81
82
82
83
82
82
82
82
82
83
83
83
83
83
84
84
85
85
87
87
88
88
88
88
89
91
91
92
93
95
97
97
101
101
102
103
107
108
108
111
112
114
116
116
117
119
118
119
120
120
120
119
118
41
41
42
45
46
47
49
52
52
56
59
60
61
62
65
65
66
69
72
73
73
74
76
78
79
80
81
81
85
85
84
84
83
83
83
84
84
84
84
84
84
84
81
81
81
81
81
81
81
81
81
81
81
81
81
81
77
77
77
77
77
77
77
77
78
78
78
79
79
79
77
77
78
78
79
79
79
79
78
78
78
77
77
75
75
75
75
75
75
75
76
78
79
80
79
79
82
96
93
91
91
94
101
100
69
90
58
66
93
134
128
83
121
155
47
46
14
7
86
214
250
232
251
209
227
242
224
206
202
161
37
24
18
33
32
16
26
33
34
26
9
6
27
21
41
51
49
38
74
100
75
14
54
90
35
24
171
80
19
12
13
15
22
36
26
38
53
47
64
58
39
28
28
27
40
28
21
0
0
0
0
13
18
44
113
146
137
132
124
108
97
95
93
89
91
89
84
82
80
75
72
71
66
65
64
62
61
61
59
62
61
62
60
59
58
59
59
61
60
60
59
59
59
63
63
64
64
65
65
67
67
70
70
71
72
73
78
78
77
77
77
77
77
76
79
79
80
83
84
85
83
83
83
83
83
83
83
84
84
84
85
85
86
86
87
87
87
88
88
89
89
90
90
91
91
92
94
94
95
97
101
102
103
106
108
108
108
111
112
113
114
116
116
116
115
115
114
114
114
41
41
42
43
44
47
47
49
52
53
56
60
61
61
63
63
64
69
70
71
73
74
74
78
78
79
80
80
84
84
84
84
84
84
84
84
84
84
84
84
84
84
81
81
81
81
81
81
81
82
82
82
82
82
82
82
78
78
78
78
78
78
78
78
78
79
79
79
80
80
76
76
77
77
78
78
77
77
77
76
76
76
75
72
72
72
72
72
74
74
76
78
80
81
83
83
87
95
99
102
106
108
109
100
97
75
98
128
113
69
218
155
101
73
157
55
45
189
248
237
248
255
236
236
212
182
198
248
205
103
63
11
20
16
24
31
13
10
12
25
61
32
26
34
63
67
31
65
77
44
47
90
64
77
99
51
60
87
105
16
14
11
16
35
17
39
44
90
56
39
46
42
39
44
24
32
19
34
18
1
14
13
3
16
27
52
83
97
122
105
104
101
92
85
92
86
84
79
77
73
71
68
66
63
62
62
59
59
59
61
60
61
61
60
59
60
59
61
61
61
61
61
61
65
64
64
64
65
66
72
72
73
73
76
76
77
77
77
77
77
77
77
76
77
78
80
80
81
81
82
81
81
81
81
82
82
82
82
83
83
83
84
84
84
86
86
87
87
87
88
88
89
89
90
91
92
93
93
93
95
97
98
100
102
104
105
105
106
106
110
111
111
112
111
111
111
110
110
110
39
39
42
43
44
47
47
49
49
52
56
57
60
61
63
63
64
69
70
71
71
74
74
78
78
79
80
80
84
84
84
84
84
84
84
84
84
84
84
84
84
84
81
81
81
81
81
81
81
82
82
82
82
82
82
82
78
78
78
78
78
78
78
78
79
79
79
80
80
80
76
76
77
77
78
78
77
77
76
76
76
75
75
70
70
70
72
72
72
74
76
78
80
83
84
85
89
88
95
103
109
109
107
104
107
132
142
143
102
39
225
195
91
66
41
26
156
244
248
254
236
228
239
220
247
214
179
182
217
77
17
24
28
14
14
18
6
11
14
11
52
41
51
55
48
50
43
85
103
72
55
42
111
111
18
49
40
61
60
131
26
7
27
11
9
48
124
111
65
37
49
45
34
32
14
35
44
79
73
25
0
16
10
22
16
47
111
153
126
104
100
100
94
86
88
86
83
79
77
72
71
68
65
63
62
60
59
59
59
61
60
61
61
60
59
60
59
61
61
61
61
61
61
66
66
65
66
67
67
73
74
74
76
76
77
77
78
78
77
77
77
76
78
77
79
79
79
80
82
82
79
79
80
80
81
81
82
82
82
82
82
83
83
84
86
86
86
87
87
88
88
89
89
90
90
91
93
93
93
95
96
97
97
101
103
102
104
104
105
109
109
110
110
110
110
110
109
109
108
39
39
40
43
44
45
47
48
49
50
55
56
58
58
63
63
64
67
68
71
71
72
74
76
76
79
80
80
83
83
84
84
85
85
85
84
84
84
84
84
84
84
83
83
83
83
83
83
83
83
83
83
83
83
83
83
79
79
79
79
79
79
79
79
79
80
80
80
81
81
76
76
77
77
78
78
76
76
76
75
75
75
74
69
69
69
69
71
71
73
75
77
82
84
85
89
94
88
93
98
99
97
96
122
119
78
175
119
109
66
0
41
161
132
14
111
227
229
228
230
254
255
248
213
184
206
197
201
67
10
19
22
16
16
25
21
27
30
6
7
13
21
13
94
62
77
34
55
116
46
73
33
46
95
117
68
30
42
161
117
130
85
16
42
33
5
16
34
42
38
38
42
45
40
60
42
12
5
22
30
11
36
24
11
5
2
20
48
106
111
95
87
88
86
86
85
81
78
76
72
68
67
65
63
60
60
59
57
57
60
59
61
61
61
60
61
59
61
62
62
63
63
63
71
70
70
70
71
72
75
75
77
76
76
76
76
77
77
77
76
76
78
77
78
78
77
77
79
79
79
77
77
78
79
80
81
81
80
80
81
81
81
82
82
85
85
86
86
86
87
87
88
88
89
90
91
92
92
92
93
95
97
96
98
102
102
102
104
104
106
106
107
108
108
108
108
107
106
106
44
44
45
46
47
48
48
51
51
51
53
54
56
57
64
65
66
69
72
72
75
74
76
79
81
82
83
83
81
81
82
82
83
83
83
84
84
84
84
84
83
83
83
84
85
85
86
86
86
84
84
83
83
82
82
82
80
80
79
79
78
78
78
79
79
80
80
81
81
81
76
76
76
76
76
76
75
75
75
75
75
75
75
67
69
71
71
73
72
73
76
80
83
88
92
94
98
92
111
113
80
58
92
157
165
109
83
176
128
73
9
33
0
105
244
247
253
233
235
228
222
235
199
226
232
214
133
62
37
3
109
0
27
23
2
20
22
16
23
80
77
65
14
70
40
112
72
30
62
32
94
115
38
53
83
98
55
51
26
18
63
131
172
0
18
0
20
41
19
69
38
62
48
71
48
24
38
38
22
29
53
48
37
17
15
16
21
26
86
120
125
98
82
84
87
79
75
72
70
68
68
68
65
62
59
57
56
54
54
61
61
61
61
62
62
64
66
69
69
70
70
70
71
73
74
74
74
75
77
79
80
80
79
78
79
78
79
79
78
77
77
76
75
75
75
74
73
73
72
71
74
74
75
76
78
79
81
81
81
80
80
80
80
80
85
85
85
85
85
85
85
84
85
86
87
89
91
91
94
95
96
97
100
101
102
99
99
100
101
103
103
104
104
104
104
103
102
102
102
44
44
45
46
47
48
48
51
51
51
52
54
56
57
64
64
65
68
72
72
75
74
76
79
79
82
83
83
81
81
82
82
83
83
83
84
84
84
84
83
83
83
84
85
85
85
86
86
86
84
84
83
83
83
82
82
80
80
79
79
79
78
78
79
79
80
80
81
81
81
76
76
76
76
76
76
75
75
75
75
75
75
75
68
69
70
71
73
72
73
76
80
83
89
92
96
98
112
109
96
79
82
105
184
192
84
42
43
127
115
24
0
119
226
252
245
246
252
224
230
216
222
198
182
187
221
141
113
42
17
16
15
0
18
27
52
30
23
31
35
12
54
58
49
37
28
21
99
121
60
92
76
60
68
74
81
57
62
39
23
106
72
96
124
0
18
6
25
28
62
31
74
75
88
43
31
19
21
21
18
14
25
31
31
17
10
18
30
4
77
87
85
99
92
63
77
74
72
70
68
68
67
65
62
59
57
56
54
54
61
61
61
61
62
62
64
67
69
69
70
71
71
71
74
74
75
75
75
78
79
81
80
79
78
79
79
79
79
78
78
77
76
75
75
75
74
73
73
72
71
73
74
75
76
77
79
80
81
81
81
81
81
80
80
84
84
84
84
84
84
84
84
84
85
86
88
90
90
94
94
95
96
99
100
100
98
99
99
100
102
102
103
103
103
102
102
101
101
101
44
44
45
46
47
48
48
50
50
50
52
53
55
56
62
63
64
68
69
72
73
74
76
79
79
82
83
83
82
82
83
83
83
84
84
83
83
84
84
84
84
85
86
86
87
87
87
87
87
85
84
84
84
83
83
83
81
80
80
80
79
79
79
79
79
80
80
81
81
81
76
76
76
76
76
76
76
76
76
76
76
76
76
69
69
69
72
72
74
74
82
83
88
91
95
96
97
115
112
110
103
107
131
125
105
248
239
75
63
26
10
221
253
253
241
241
218
213
201
240
246
242
221
139
108
180
51
2
5
16
37
15
19
25
11
18
25
36
39
32
71
28
36
48
31
66
71
28
50
34
53
69
57
49
94
106
37
28
25
65
99
127
214
118
188
29
24
26
6
53
48
58
29
8
28
23
43
37
19
15
25
20
24
39
39
33
27
22
0
53
87
95
97
94
83
76
72
70
68
65
65
65
63
60
59
59
56
55
55
61
61
61
61
62
62
64
67
70
70
72
73
73
73
76
76
76
79
79
79
82
82
81
83
82
82
81
80
80
79
78
77
77
76
75
75
74
73
73
72
71
73
73
74
75
76
77
78
80
80
81
81
81
82
82
83
83
83
83
83
83
83
82
83
83
84
85
87
87
89
89
90
91
92
93
93
94
94
94
95
96
96
96
95
95
95
95
94
94
93
44
44
45
46
47
48
48
49
49
49
51
53
55
56
58
59
61
66
69
71
73
74
74
78
79
80
81
81
83
83
83
84
84
84
85
84
84
85
86
87
87
88
89
89
88
88
88
87
87
86
85
85
84
84
84
84
81
81
81
80
80
80
80
79
79
80
80
81
81
81
77
77
77
77
77
77
78
78
78
78
78
78
78
73
73
72
75
75
78
79
87
89
93
95
97
98
98
115
84
92
128
127
121
255
221
222
255
138
64
51
213
252
253
253
238
226
237
224
235
225
220
204
158
93
62
31
16
15
8
22
19
12
24
29
16
16
30
44
32
31
41
42
72
79
103
93
67
86
102
82
39
24
81
60
58
37
37
0
8
130
235
82
172
239
150
108
6
15
35
31
7
24
40
22
28
32
24
39
57
43
11
29
17
20
38
42
32
18
23
29
96
126
117
101
92
74
69
67
66
63
63
63
61
60
59
59
60
59
59
61
61
61
61
62
62
64
68
71
72
74
75
76
76
76
78
79
79
80
82
81
81
83
83
83
83
84
81
80
80
79
78
77
77
75
75
74
73
73
72
71
73
73
73
74
74
75
75
78
78
79
79
80
81
82
84
84
84
84
84
84
84
82
82
83
83
84
85
85
87
87
88
88
89
89
90
91
91
91
91
91
91
91
91
91
91
90
90
89
89
44
44
45
46
47
48
48
49
49
49
51
52
54
55
58
59
60
66
68
71
73
72
74
78
78
80
81
81
83
83
84
84
84
85
85
85
85
87
88
88
89
89
90
89
89
89
88
88
88
86
85
85
85
84
84
84
82
81
81
81
80
80
80
79
79
80
80
81
81
81
77
77
77
77
77
77
78
78
78
78
78
78
78
76
76
75
75
77
79
83
89
92
94
96
97
100
99
132
99
94
106
147
214
64
182
227
156
194
108
0
251
236
253
241
223
235
231
216
235
227
223
200
123
1
24
46
11
60
53
31
41
6
20
27
15
14
34
51
35
29
59
46
46
69
69
83
45
31
71
70
54
47
53
24
38
39
31
56
129
244
232
184
218
123
156
78
17
9
13
14
29
59
64
16
31
36
16
31
59
56
30
8
17
36
33
29
33
39
20
4
2
29
92
124
113
73
70
67
65
63
63
63
61
60
59
61
60
59
61
61
61
61
61
62
62
64
68
71
72
74
76
77
77
78
78
78
79
81
81
80
82
82
83
84
84
84
81
81
80
79
78
78
77
75
75
74
73
73
72
71
72
73
73
73
73
74
74
77
77
77
78
79
81
81
84
84
84
84
84
84
84
83
83
83
83
84
84
84
85
85
85
86
86
87
87
88
88
88
88
87
87
87
88
88
88
87
86
86
86
46
46
46
47
48
48
48
49
49
50
51
52
53
53
54
55
59
63
67
69
71
75
75
78
80
80
81
82
84
84
84
84
84
84
84
85
86
90
91
91
91
90
89
89
88
88
87
87
87
88
88
87
87
86
86
86
83
83
82
82
81
81
81
81
81
81
81
81
81
81
78
78
79
79
80
80
79
79
79
80
80
80
80
79
79
80
83
84
88
88
93
101
100
96
103
97
107
121
109
88
164
102
66
119
59
59
77
170
52
36
244
245
250
253
205
216
249
216
126
43
0
0
24
84
36
6
47
27
55
56
50
40
35
20
29
49
23
41
23
45
16
19
58
47
65
113
97
77
116
42
45
43
33
43
13
89
153
231
229
244
210
188
226
100
69
0
23
22
24
36
53
44
36
20
41
31
21
6
10
21
17
17
14
27
34
43
54
65
52
10
0
9
1
0
46
70
81
75
70
67
64
60
62
61
62
62
63
62
63
61
60
61
61
63
64
67
71
73
74
75
76
76
76
78
79
82
82
82
81
83
83
84
84
84
84
84
82
82
83
83
82
80
79
77
77
76
75
73
72
71
74
74
74
73
73
72
72
72
73
74
75
77
79
80
85
85
85
85
85
86
86
85
85
85
85
86
86
86
83
83
83
84
85
86
86
86
86
86
86
86
86
86
83
83
83
83
84
84
84
46
46
46
47
48
48
48
49
49
50
51
52
53
53
54
55
56
62
64
67
68
73
75
78
78
81
81
81
84
84
84
84
85
85
85
86
87
90
91
91
91
90
89
89
89
88
88
88
87
88
88
88
87
87
87
86
83
83
83
82
82
82
81
81
81
81
81
81
81
81
79
79
79
80
80
80
80
81
81
81
82
82
83
83
84
85
88
89
92
93
98
102
102
103
111
110
105
127
130
141
166
203
115
64
36
37
94
41
0
204
246
224
150
243
210
75
17
13
20
31
14
3
10
21
50
57
28
14
24
33
40
24
48
49
31
28
54
76
18
21
32
34
25
52
61
56
52
75
80
58
28
44
47
96
179
240
230
241
224
236
213
244
200
151
0
13
8
44
24
28
27
5
27
65
73
49
37
26
17
16
16
9
13
26
26
28
33
40
21
28
40
12
29
81
99
78
87
83
78
76
72
68
65
62
63
62
63
64
63
62
61
61
61
64
65
68
72
74
74
76
76
76
76
80
81
82
83
84
84
85
85
85
85
87
87
87
84
84
85
85
84
82
81
78
78
77
76
75
73
72
75
75
74
74
74
73
73
72
72
73
74
75
77
77
81
81
82
83
84
86
87
86
86
86
87
87
88
88
84
84
84
83
83
83
83
84
84
84
84
83
83
83
81
81
81
81
81
81
81
46
46
46
47
48
48
48
49
49
50
51
52
53
53
52
53
56
59
63
66
67
72
72
78
78
79
82
82
84
84
85
85
85
85
86
87
88
91
91
91
90
90
90
89
89
89
88
88
88
89
88
88
88
87
87
87
84
83
83
83
82
82
82
81
81
81
81
81
81
81
81
81
82
82
82
83
83
84
84
85
86
86
87
88
88
89
90
93
95
96
101
107
106
106
106
106
105
133
142
134
186
148
70
29
89
103
27
22
38
231
189
251
253
89
12
12
26
11
6
36
24
13
54
24
12
16
12
67
83
67
61
64
51
94
55
2
58
38
62
32
24
17
21
36
44
55
55
65
40
50
34
42
129
184
244
248
216
209
246
239
238
235
205
58
2
16
25
20
11
29
34
21
55
97
50
38
17
10
13
19
19
4
11
27
29
33
41
49
31
19
7
5
9
33
73
63
91
92
87
79
74
69
67
64
63
64
64
64
64
62
61
62
62
64
65
68
72
74
75
76
76
77
77
80
82
85
85
85
84
86
86
88
88
88
88
88
85
86
86
86
85
84
82
80
79
78
77
76
75
73
76
75
75
75
74
74
74
73
73
73
74
75
76
76
79
80
81
82
83
86
86
85
86
86
87
87
89
89
85
85
85
84
83
82
82
84
84
84
83
83
83
82
81
81
81
81
80
80
80
46
46
46
47
48
48
48
49
49
50
51
52
53
53
51
52
53
57
61
62
64
70
72
75
79
80
80
81
84
84
85
86
87
87
87
89
90
92
92
91
90
90
91
90
90
89
89
89
89
90
89
89
88
88
88
88
84
84
84
83
83
83
83
81
81
81
81
81
81
81
82
82
82
83
83
83
85
86
87
88
89
90
91
92
95
96
97
99
100
103
105
109
117
114
108
115
122
132
141
203
214
199
116
81
107
13
13
0
45
255
242
24
20
18
17
22
26
1
26
5
4
17
0
12
61
96
60
62
43
20
16
35
18
70
71
146
46
15
24
14
12
16
23
31
35
42
45
16
44
59
63
24
178
251
251
219
251
235
223
239
241
236
241
172
12
26
0
0
16
16
20
17
29
29
33
53
35
28
33
33
31
22
24
23
29
40
48
53
38
27
21
20
11
2
6
9
64
81
85
82
79
74
69
65
64
65
64
65
64
63
62
62
62
65
66
69
73
75
75
77
77
77
78
83
84
86
86
86
86
87
89
89
89
89
91
91
86
87
87
87
86
85
83
82
81
81
79
78
77
76
77
77
77
76
76
76
75
75
75
75
75
75
74
74
77
78
79
80
81
83
83
82
82
83
84
85
87
87
84
84
84
83
83
83
83
84
84
83
83
81
81
81
79
79
79
78
77
76
76
46
46
46
47
48
48
48
49
49
50
51
52
53
53
51
52
52
56
57
60
63
69
71
75
77
80
81
82
84
84
86
87
87
88
89
90
91
92
92
91
90
90
91
91
90
90
89
89
89
90
90
89
89
88
88
88
85
85
84
84
83
83
83
81
81
81
81
81
81
81
82
82
83
83
84
84
87
87
88
89
91
92
93
97
98
98
100
102
103
106
113
109
112
114
113
120
86
66
158
132
132
173
132
56
56
1
0
41
70
156
0
25
8
30
8
5
4
3
11
17
0
3
61
71
52
27
23
12
19
25
5
21
11
17
28
21
145
127
43
7
5
13
28
20
25
39
20
41
14
31
42
18
138
252
238
248
236
241
238
251
247
246
243
212
163
0
20
14
30
43
39
18
17
15
22
17
38
46
26
18
37
39
37
26
31
39
38
32
18
34
28
18
7
5
14
0
14
37
67
89
93
86
71
65
64
64
65
64
65
64
63
63
63
66
67
69
73
75
76
77
78
78
78
84
85
86
86
87
86
88
90
90
90
92
92
92
86
87
87
87
86
85
83
83
83
82
81
79
78
77
78
78
78
77
77
76
76
78
77
77
76
75
74
74
78
78
79
79
79
79
79
78
78
79
81
82
84
85
80
80
80
81
82
83
83
83
83
82
81
80
79
78
77
76
75
75
73
72
72
42
42
43
46
47
48
48
49
49
49
50
51
51
51
50
50
50
51
54
54
54
62
63
65
69
70
72
72
80
80
81
84
84
85
85
92
91
92
91
90
90
90
91
91
90
90
89
89
89
89
89
88
88
88
87
87
84
84
81
81
80
80
80
77
77
77
77
76
76
76
78
79
82
82
82
84
90
90
93
94
96
97
98
91
99
112
113
104
95
98
135
115
120
83
98
140
147
255
138
157
121
78
83
96
38
13
51
26
45
89
13
22
29
31
21
14
9
2
0
15
0
29
84
24
17
14
10
10
13
15
20
26
32
27
34
27
62
120
144
65
57
29
5
42
16
29
37
10
44
13
34
34
129
236
243
229
255
249
232
251
246
212
233
227
199
14
32
25
18
17
47
27
14
35
48
11
76
72
37
50
68
62
44
41
33
28
33
39
25
30
30
14
10
17
13
21
51
72
88
95
91
83
84
75
64
60
60
62
60
66
67
68
70
71
73
73
78
79
79
79
79
79
80
86
86
88
88
88
88
90
90
92
91
91
90
90
92
92
91
90
90
89
88
87
87
86
85
83
82
80
80
80
80
79
79
78
78
80
80
80
80
80
80
79
78
78
78
79
79
77
77
73
74
74
75
75
77
77
79
79
79
79
79
79
79
80
80
80
80
80
80
80
76
76
75
74
73
72
72
42
43
44
46
47
48
49
49
49
49
50
51
51
51
50
51
51
52
54
54
54
59
62
64
66
70
71
71
77
78
80
82
83
86
87
90
92
91
91
91
91
91
90
90
89
89
88
88
88
89
89
88
88
87
87
87
81
81
81
80
80
80
80
77
77
77
77
77
77
77
79
81
82
82
83
86
91
93
94
95
96
99
99
93
102
112
114
105
98
100
129
125
105
98
100
148
222
110
255
240
130
117
66
25
61
18
15
33
45
36
29
19
28
31
20
11
14
15
8
35
63
55
18
29
15
18
38
53
46
35
24
16
20
11
14
18
22
24
11
103
151
57
9
18
36
44
11
39
32
13
54
59
226
236
214
239
247
252
255
249
246
240
234
243
122
26
58
37
21
15
40
27
16
26
17
41
23
28
63
98
82
32
26
43
35
23
23
23
29
39
32
13
11
24
31
33
16
9
14
29
50
62
79
82
75
66
63
64
65
65
66
65
67
69
71
73
77
79
80
80
83
83
83
86
86
88
88
88
88
90
90
92
91
91
90
90
92
92
91
90
90
89
88
87
87
86
85
84
83
82
81
81
80
80
80
79
79
81
81
81
81
81
81
81
79
79
79
79
79
77
77
75
74
74
75
75
76
76
77
77
77
77
77
77
77
77
77
77
77
77
77
77
76
76
75
74
73
72
72
43
44
44
47
48
49
49
49
49
49
50
51
51
51
50
50
51
52
53
53
55
57
58
63
64
66
67
68
72
73
76
78
82
83
84
88
88
89
91
91
91
91
90
90
89
89
88
88
88
89
88
88
87
87
87
87
81
80
80
80
79
79
79
76
76
77
77
78
78
78
80
84
86
86
87
91
94
95
97
98
99
100
103
98
106
114
114
108
103
106
126
129
119
100
127
168
140
118
96
176
255
208
151
120
72
56
29
33
25
5
23
8
15
19
12
4
15
24
82
87
39
3
6
55
153
167
100
32
10
21
24
21
30
36
44
40
11
12
15
9
33
117
114
14
40
9
15
59
22
1
0
34
116
216
218
234
252
251
250
249
227
242
185
245
79
22
33
31
24
38
42
33
33
33
38
61
35
49
58
53
28
41
32
28
16
12
15
18
9
62
64
52
32
20
16
11
13
9
7
10
17
20
66
84
87
81
75
75
78
67
66
65
65
67
70
73
76
78
81
84
85
85
88
87
87
89
89
89
89
90
90
92
91
91
90
90
92
92
91
90
90
89
88
87
87
86
86
85
84
83
82
82
82
82
81
81
80
82
83
83
83
84
85
85
84
84
84
81
81
80
77
77
77
75
75
76
76
76
75
75
75
75
75
75
75
78
78
78
78
78
78
78
76
76
75
74
73
72
72
43
44
45
47
48
49
50
49
49
49
50
51
51
51
51
51
51
53
53
53
54
57
57
62
64
65
66
67
71
71
75
76
78
79
81
85
85
88
88
88
88
89
88
88
87
87
86
86
86
86
85
85
85
84
84
84
78
78
78
77
77
77
76
77
78
79
79
80
81
81
83
86
87
90
91
93
96
97
97
101
102
103
104
102
107
113
114
111
108
109
115
125
119
113
145
151
103
78
55
159
222
220
146
23
9
35
55
52
20
0
36
16
20
19
12
4
11
20
63
77
10
22
23
168
199
166
127
82
56
38
24
29
24
21
17
17
14
15
17
33
0
78
124
18
16
14
19
35
27
77
99
81
140
210
198
226
243
253
253
244
246
209
243
175
70
26
23
20
20
28
13
8
31
43
13
60
45
37
29
40
51
42
35
35
28
21
19
15
41
50
45
48
40
23
11
27
21
15
14
18
24
29
22
67
89
97
91
86
86
70
68
66
66
68
72
73
77
79
82
83
86
89
89
88
88
90
90
90
90
90
90
92
91
91
90
90
92
92
91
90
90
89
88
87
87
86
86
85
85
84
83
83
83
82
82
82
81
83
83
84
84
85
86
87
86
86
85
85
82
81
81
78
78
78
76
76
76
76
76
76
76
76
76
76
76
78
78
78
78
78
78
78
76
76
75
74
73
72
72
44
44
45
48
49
50
50
49
49
49
50
51
51
51
49
49
51
52
53
54
54
54
54
59
61
62
65
66
69
69
70
72
73
73
75
81
81
84
84
85
85
86
86
86
85
85
84
84
84
82
82
81
81
81
80
80
77
77
76
77
76
76
76
77
78
78
82
82
83
83
87
90
92
93
95
97
99
99
100
103
105
106
107
109
110
112
113
115
115
115
118
131
134
153
155
226
63
92
171
231
140
99
38
27
8
24
55
45
22
10
16
28
25
20
13
7
4
9
94
13
14
12
57
148
111
107
122
103
51
21
28
17
20
18
11
9
8
13
26
13
13
3
82
48
25
13
16
25
185
203
211
195
202
193
216
213
250
253
243
250
248
239
218
209
45
30
49
52
30
31
27
34
45
27
48
59
40
74
63
42
34
29
21
28
31
35
34
25
19
27
15
18
18
11
13
10
15
22
28
32
34
30
18
47
70
80
78
76
75
78
75
73
71
72
74
76
75
78
80
84
87
90
91
88
88
90
90
90
90
90
90
92
91
91
90
90
92
92
91
90
90
89
88
87
87
86
86
86
86
85
84
84
84
83
83
82
82
84
84
85
86
87
88
89
90
90
88
87
86
83
82
82
82
80
80
80
78
77
80
80
80
80
80
80
80
79
79
79
79
79
79
79
76
76
75
74
73
72
72
43
43
44
47
48
49
49
51
51
51
52
53
53
53
50
50
50
51
54
54
54
55
55
57
59
60
61
61
66
66
67
68
71
72
72
73
73
74
76
77
78
78
80
80
80
80
80
80
80
79
78
78
78
77
77
77
74
74
75
75
74
75
75
77
80
81
82
85
86
86
92
95
96
98
100
101
103
104
107
108
109
110
111
113
112
113
116
120
124
122
124
122
152
205
165
190
188
170
92
50
39
93
186
61
17
115
31
38
14
5
13
10
11
13
15
10
14
27
77
38
7
24
80
114
113
70
64
59
35
29
19
44
23
18
14
13
14
13
12
26
26
0
70
61
27
30
36
4
128
210
201
212
182
186
191
234
246
243
250
250
210
213
243
0
40
32
19
22
34
21
20
26
75
70
48
43
46
32
29
36
36
37
28
37
29
22
22
22
13
29
32
39
32
18
17
10
18
28
27
21
21
26
16
10
14
16
32
54
69
92
85
81
83
79
73
76
77
80
82
85
88
90
90
91
91
93
93
92
91
91
91
93
92
92
91
91
91
91
90
90
89
88
87
87
87
87
86
86
86
85
83
83
83
84
84
84
85
86
86
86
87
87
88
88
90
90
90
89
88
85
85
81
81
81
81
79
79
79
79
79
80
80
81
81
82
80
80
80
80
80
80
80
77
76
76
75
73
73
72
43
43
44
47
48
49
49
51
51
51
52
53
53
53
50
50
50
51
52
54
54
54
55
57
57
60
61
61
63
64
67
68
69
69
72
69
69
72
73
74
74
75
77
77
77
77
77
77
77
78
77
77
76
76
76
76
74
73
73
75
75
75
75
77
80
82
85
86
87
88
95
96
97
99
102
104
107
108
108
109
110
111
111
116
113
111
115
121
127
126
110
151
172
205
188
196
210
184
121
92
60
139
95
77
54
50
35
34
31
23
13
30
19
13
11
7
24
45
97
38
9
16
89
107
99
54
44
41
29
26
10
26
25
21
17
14
15
16
16
13
22
7
74
75
30
16
35
0
160
224
201
197
199
189
168
215
241
243
245
250
248
230
193
114
24
27
19
12
9
78
53
26
51
33
63
47
44
34
25
25
27
27
34
40
37
22
11
18
11
29
29
28
22
18
24
21
19
38
40
25
20
27
40
13
21
38
61
75
76
98
101
93
88
83
79
77
80
81
82
85
86
88
91
91
91
94
93
92
91
91
91
93
92
92
91
91
92
91
91
90
89
88
88
87
87
87
87
86
86
85
84
84
84
85
85
85
86
86
86
86
87
87
88
88
91
90
90
89
88
86
86
84
82
82
82
82
80
80
81
81
81
81
82
82
82
82
82
82
82
82
82
82
76
76
75
74
73
72
72
43
43
44
47
48
49
49
51
51
51
52
53
53
53
48
48
48
51
52
52
52
54
54
57
57
58
59
59
61
61
64
65
66
67
69
69
69
72
72
72
72
75
73
73
73
73
73
73
73
75
74
74
74
73
73
73
71
71
73
73
75
75
76
81
82
86
87
90
91
92
100
101
102
103
106
107
111
111
111
111
113
114
114
121
114
109
114
126
135
136
130
131
191
255
219
173
183
228
199
166
236
128
61
127
80
71
94
41
31
12
7
0
14
16
5
4
23
16
75
32
18
27
101
98
84
86
67
37
26
24
23
23
20
19
20
20
18
18
16
21
5
14
64
58
22
28
57
28
222
218
195
179
205
188
158
181
236
239
242
243
225
236
240
180
21
13
37
47
36
31
30
25
35
37
45
31
41
49
40
34
38
38
40
14
25
20
12
24
20
15
17
15
15
18
22
17
20
16
17
23
20
11
20
18
19
16
21
32
39
50
69
79
87
96
95
86
83
83
83
85
87
87
89
92
92
95
94
93
92
91
91
93
92
92
91
91
92
92
91
91
90
89
88
88
88
88
87
87
87
86
86
86
86
86
86
86
86
86
86
86
87
87
88
88
93
93
93
93
90
90
90
87
87
86
84
83
82
82
81
81
81
81
81
81
81
83
83
83
83
83
83
83
76
76
76
75
73
73
72
43
43
44
47
48
49
49
51
51
51
52
53
53
53
48
48
48
49
52
52
52
54
54
56
57
58
59
59
60
60
62
63
65
66
66
68
70
70
72
72
72
72
70
70
70
70
70
70
70
72
72
71
71
71
70
70
68
70
71
73
76
76
77
82
84
88
91
93
96
97
105
106
106
107
108
109
110
112
113
114
115
116
119
125
118
111
114
129
142
144
142
150
130
128
168
210
112
139
69
145
194
213
143
69
97
206
36
88
41
37
18
27
22
16
10
9
21
32
59
61
19
40
77
110
91
113
106
57
29
20
32
10
21
22
25
24
23
24
26
38
21
46
53
45
30
52
43
22
193
241
202
205
205
154
191
152
237
234
250
226
245
237
234
45
17
30
34
24
37
27
49
54
28
23
36
36
28
35
34
34
44
34
32
38
31
27
23
14
15
8
17
14
13
15
12
21
32
22
15
20
27
31
16
0
3
17
26
25
18
4
35
75
99
106
101
88
86
85
85
86
86
88
88
92
93
95
95
94
93
91
91
93
92
92
91
91
93
93
92
91
90
90
89
89
89
88
88
88
87
87
87
87
86
86
85
85
84
86
86
86
87
87
88
88
94
94
94
94
94
92
92
89
89
88
87
84
83
83
86
85
85
85
84
83
83
84
84
84
84
84
84
84
78
78
77
77
75
74
74
43
43
44
47
48
49
49
51
51
51
52
53
53
53
48
48
48
49
52
52
52
52
54
56
57
58
59
59
60
60
62
62
63
66
66
67
69
69
69
70
70
70
70
70
70
70
70
70
70
72
72
71
71
70
70
70
68
70
71
73
74
76
77
82
86
88
91
93
97
98
106
106
107
107
108
110
109
112
113
114
116
119
120
126
119
112
115
130
143
145
144
142
170
168
145
217
216
154
87
151
216
182
109
58
164
150
30
43
24
40
28
18
6
8
23
23
12
31
82
84
11
24
45
108
93
98
47
30
39
20
103
21
26
27
26
25
24
29
33
14
15
58
55
43
20
28
42
47
248
226
209
193
202
140
200
144
238
233
250
222
230
244
230
69
53
17
24
36
36
27
42
53
37
37
30
41
34
35
29
22
27
55
39
24
7
18
39
39
33
16
20
12
16
28
33
16
27
27
16
9
18
32
18
5
6
6
9
15
16
23
78
125
124
108
100
95
86
85
85
85
86
88
88
92
93
95
95
94
93
91
91
93
92
92
91
91
93
93
92
91
91
90
89
89
89
89
88
88
87
87
87
86
86
86
85
84
84
86
86
86
87
87
88
88
94
94
94
94
94
92
92
91
89
88
88
85
83
83
86
86
86
85
84
84
83
83
83
83
83
83
83
83
79
79
78
77
76
75
75
42
42
43
45
45
46
46
48
48
49
50
51
52
52
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
62
62
63
64
64
65
65
66
66
66
67
67
72
72
72
72
72
72
72
72
72
72
72
72
72
72
71
72
72
74
75
75
76
81
84
87
92
95
97
99
111
111
113
114
114
114
116
117
120
122
123
125
126
168
133
101
100
126
145
138
131
209
253
254
169
179
62
137
57
78
48
18
12
37
138
110
53
87
65
42
17
27
23
23
19
7
22
19
36
107
64
35
38
98
105
73
26
22
29
10
29
4
8
23
22
15
23
23
27
14
49
54
52
40
31
52
3
74
245
215
208
184
210
85
103
225
235
255
245
246
157
167
227
13
19
30
44
33
22
46
32
26
31
30
28
23
38
33
20
22
34
25
47
60
44
40
38
27
2
12
16
20
28
27
12
4
28
41
34
25
19
16
25
9
12
10
3
4
15
9
20
20
37
74
86
88
87
85
85
92
93
91
95
92
93
95
94
92
91
92
92
94
93
93
93
92
91
91
90
89
89
88
89
89
91
91
90
90
90
90
94
94
94
91
91
90
90
91
89
88
88
89
91
92
91
92
93
94
94
93
93
93
93
93
92
92
91
91
86
85
85
85
84
84
84
83
83
83
83
83
83
83
80
80
80
79
79
78
78
43
43
44
45
46
47
47
48
48
49
50
51
52
52
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
62
62
63
64
64
64
64
65
65
66
66
66
69
69
69
69
69
69
69
70
70
70
70
70
70
70
71
72
72
75
76
77
78
83
88
91
94
99
101
103
114
114
115
116
118
119
123
123
124
125
129
130
131
163
142
123
125
138
146
142
175
215
251
206
179
124
89
175
193
148
129
56
49
63
255
255
148
70
55
50
21
30
20
21
31
29
25
36
25
59
101
43
21
107
72
15
16
18
21
21
20
26
36
27
19
19
17
14
17
66
55
57
64
44
47
27
59
186
217
194
208
178
188
74
159
193
240
224
253
231
231
215
226
87
32
14
47
28
36
22
30
31
38
57
31
45
31
24
34
37
33
39
30
22
22
17
17
23
38
17
13
14
21
22
9
16
28
32
21
17
21
26
32
32
23
15
14
12
11
13
24
13
15
35
57
87
104
99
95
93
88
85
87
92
92
94
94
93
91
93
93
94
94
94
93
93
91
91
90
89
89
88
89
89
91
91
90
90
90
90
90
90
90
89
89
88
88
90
88
88
87
88
90
91
94
95
96
97
98
98
97
98
98
98
98
97
96
96
94
94
93
92
91
91
90
88
88
88
88
87
87
87
85
85
85
84
83
83
83
43
43
44
46
46
47
47
48
48
49
50
51
52
52
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
62
62
63
64
64
64
64
65
65
65
66
66
69
69
69
69
69
69
69
70
70
70
70
70
70
70
71
72
73
76
77
78
79
85
89
94
97
100
103
105
115
115
118
119
120
121
125
126
128
129
131
132
132
156
144
136
138
144
145
142
194
186
253
193
234
141
213
203
249
228
196
139
97
93
255
255
180
87
99
29
30
31
20
17
24
24
12
27
18
3
73
58
25
75
56
30
34
27
22
24
10
17
23
11
12
23
19
34
56
73
54
66
43
38
56
19
62
212
236
180
207
196
172
70
190
234
244
239
181
217
237
60
114
116
36
33
30
14
35
32
41
34
29
43
37
56
42
28
31
32
27
15
18
33
37
25
22
34
33
9
7
12
24
31
24
10
34
42
34
29
33
38
21
34
29
23
20
11
4
12
22
16
15
20
31
63
91
94
90
90
89
86
89
91
92
94
94
93
92
93
93
95
94
94
94
93
91
91
90
89
89
88
89
89
91
91
90
90
90
90
89
89
89
88
88
87
87
89
88
88
88
89
92
93
97
98
99
101
102
102
101
102
102
102
102
101
101
100
98
97
97
96
94
93
93
91
91
91
90
89
89
89
85
85
85
85
84
84
83
44
44
45
46
47
48
48
48
48
49
50
51
52
52
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
62
62
63
64
64
63
63
64
64
65
65
65
66
66
66
66
66
66
66
68
68
68
68
68
68
68
69
72
73
77
78
80
82
89
93
97
100
105
108
109
118
121
122
123
125
125
131
132
133
134
135
135
136
140
146
153
155
149
139
144
170
194
214
177
190
174
238
155
75
73
115
209
138
86
255
255
211
118
99
33
49
46
41
27
20
20
3
13
34
4
19
56
79
10
39
20
21
21
21
24
25
24
24
31
32
20
48
69
61
52
56
41
39
33
35
90
243
198
208
192
181
187
107
94
219
218
250
234
199
243
204
223
212
24
59
26
18
28
37
19
14
23
33
41
38
35
38
33
27
26
30
17
29
18
16
6
13
40
35
20
17
12
8
6
4
21
58
66
47
25
11
5
19
17
22
24
19
10
5
14
12
11
22
14
4
31
105
112
105
99
90
83
80
90
91
94
94
94
93
94
94
95
95
95
94
94
91
91
90
89
89
88
89
89
91
91
90
90
90
90
85
85
85
86
86
85
85
85
85
88
90
92
98
99
105
106
108
110
111
112
112
113
113
113
113
112
111
111
108
108
107
106
103
102
102
102
101
101
100
98
98
97
93
92
92
92
91
91
90
45
45
46
47
48
49
49
49
49
50
51
52
53
53
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
61
61
62
62
62
62
62
63
63
64
64
64
66
66
66
66
66
66
66
67
67
67
67
67
67
67
70
70
73
77
79
82
85
93
98
103
107
108
112
114
124
125
127
129
130
132
136
138
138
139
139
141
142
122
142
154
153
145
135
145
182
222
189
228
131
92
136
103
75
67
47
100
40
33
235
254
255
161
77
73
34
39
29
52
25
4
19
16
27
4
15
16
40
32
20
30
62
22
15
19
5
9
18
4
0
51
87
41
54
67
48
41
39
30
130
223
216
221
225
182
151
175
210
239
218
243
207
244
244
219
227
73
0
0
57
36
36
25
26
34
38
36
34
33
36
30
34
20
28
40
29
29
19
31
40
38
21
26
19
31
30
9
9
26
26
30
30
25
19
24
37
50
23
27
31
27
23
17
10
22
23
20
14
11
15
17
66
100
107
98
94
95
88
89
89
92
92
93
93
94
94
96
96
95
93
92
90
90
90
89
89
88
90
90
92
92
91
91
91
91
85
85
84
83
83
86
87
90
91
93
98
101
107
108
120
121
121
122
123
124
125
126
125
125
125
124
124
124
120
120
119
117
115
114
113
115
114
113
112
110
109
109
102
102
101
100
98
97
97
45
45
46
47
48
49
49
49
49
50
51
52
53
53
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
61
61
62
62
62
62
62
63
63
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
70
70
73
77
80
84
88
96
102
107
111
113
115
117
127
128
130
131
135
136
142
142
142
142
145
145
146
127
151
150
149
129
132
175
255
143
95
189
112
141
212
203
175
122
77
166
187
154
204
251
255
226
80
96
45
19
36
41
62
34
17
22
21
15
21
23
4
52
25
32
57
22
26
26
31
59
90
100
84
46
55
56
32
48
37
43
18
120
226
225
220
186
208
218
173
199
219
232
237
229
204
209
137
98
54
0
37
27
19
19
14
10
16
30
32
31
32
32
46
36
37
31
36
34
18
19
26
17
17
25
16
19
30
43
40
20
14
22
19
24
27
43
56
52
26
4
31
12
16
22
24
14
0
13
13
13
15
17
20
19
12
44
87
104
99
94
92
88
89
91
91
92
92
94
94
96
96
96
94
93
90
90
90
90
89
89
91
90
92
92
92
91
92
91
87
87
86
88
89
92
95
98
102
104
109
112
119
121
129
130
130
131
132
133
133
134
134
133
133
133
132
132
130
129
128
127
125
124
124
121
121
120
119
117
116
115
110
110
109
107
105
104
104
45
45
46
47
48
49
49
49
49
50
51
52
53
53
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
61
61
62
62
62
62
62
63
63
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
67
70
73
77
80
85
88
100
106
111
113
115
119
120
129
130
133
135
137
138
143
143
146
146
146
147
147
121
143
140
144
131
151
206
192
191
180
209
133
238
230
240
255
183
100
217
255
94
249
249
251
255
173
71
80
43
22
35
25
18
10
38
27
37
23
21
4
59
41
39
37
50
93
67
102
94
90
118
95
62
45
21
33
29
64
23
49
186
200
240
204
192
213
153
162
212
232
235
224
205
215
226
94
43
68
77
10
7
8
18
21
24
32
42
38
33
31
29
41
35
38
34
32
27
15
25
17
45
46
33
26
54
37
38
30
13
11
22
25
26
26
29
31
29
23
19
29
10
16
23
29
24
13
11
13
17
22
25
25
20
7
26
57
78
94
102
100
88
88
90
91
91
91
93
94
96
96
96
95
93
91
91
90
90
90
89
91
91
93
92
92
92
92
92
89
88
88
89
92
94
100
104
107
111
114
119
124
125
133
134
134
135
136
137
137
138
137
137
137
136
136
136
134
133
133
132
130
129
129
126
126
125
124
122
121
120
112
112
111
109
106
105
105
45
45
46
47
48
49
49
49
49
50
51
52
53
53
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
61
61
62
62
62
62
62
63
63
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
66
69
71
75
81
86
89
103
109
115
118
120
124
126
134
135
137
140
142
143
148
148
149
150
151
151
151
144
149
149
136
143
187
210
228
190
146
126
170
240
200
185
112
82
91
128
62
66
251
250
238
237
250
212
98
52
103
84
62
48
26
8
21
43
35
40
52
16
14
22
51
33
56
61
27
40
26
34
45
47
32
33
35
0
112
228
247
209
208
201
224
204
212
228
234
239
213
212
242
230
139
8
99
234
137
36
13
37
26
31
24
9
22
32
32
37
36
34
28
28
30
28
22
22
25
19
14
29
32
28
19
36
19
31
28
20
14
16
19
25
19
19
22
25
23
22
44
32
28
20
20
21
18
4
9
18
25
25
20
13
29
33
27
34
69
95
94
86
86
89
89
89
90
91
91
94
95
95
94
93
92
91
91
91
90
90
92
92
93
93
93
92
93
93
92
92
93
96
98
103
112
115
118
121
123
128
134
135
139
139
140
140
141
142
143
142
142
142
141
141
140
140
137
137
137
136
135
135
135
135
134
133
132
130
129
129
118
117
116
114
110
109
108
45
45
46
47
48
49
49
49
49
50
51
52
53
53
53
53
53
54
55
55
55
56
56
57
57
58
58
58
60
60
61
61
62
62
62
62
62
63
63
64
64
64
63
63
63
63
63
63
63
64
64
64
64
64
64
64
66
69
71
75
81
86
90
105
113
117
120
124
126
129
138
139
140
142
144
147
150
151
152
152
152
153
155
171
151
162
125
150
201
174
255
202
126
169
190
216
198
119
160
255
240
210
131
112
249
246
225
246
140
108
79
78
91
93
62
70
15
16
39
2
20
23
22
26
44
36
72
42
43
43
42
69
59
89
92
86
42
57
133
248
250
239
216
213
232
218
192
222
228
238
229
213
201
248
217
130
210
166
102
0
0
29
18
20
45
32
18
21
27
28
31
39
36
29
25
18
18
31
34
32
39
25
26
27
34
39
18
12
27
32
25
22
18
20
28
12
25
27
24
23
24
29
27
16
17
16
21
22
19
11
13
16
20
22
24
25
20
8
5
9
34
69
92
85
85
88
88
89
89
89
89
92
93
93
93
92
92
92
92
91
91
90
92
92
94
94
93
93
93
93
99
99
101
105
109
114
124
125
127
130
134
137
143
143
144
145
145
146
147
148
149
147
147
147
147
146
146
145
141
141
141
141
140
140
140
138
138
137
136
134
133
132
126
125
124
122
117
116
115
48
48
49
50
51
50
50
50
49
50
51
50
51
51
54
54
54
55
56
56
56
57
57
58
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
64
64
63
63
62
62
62
72
74
76
80
85
92
97
110
115
120
124
127
129
133
140
144
145
147
148
149
151
151
154
154
155
156
157
130
158
173
136
141
214
217
170
86
40
147
209
223
147
97
219
232
221
217
161
112
255
237
239
235
168
62
26
76
141
81
64
92
29
54
48
33
102
47
45
28
8
23
56
106
132
103
110
63
60
30
55
34
105
249
251
232
204
217
227
208
213
186
238
232
239
222
243
224
227
221
213
168
213
122
25
3
21
28
31
22
24
31
36
29
39
32
36
46
39
25
28
21
23
27
26
36
58
18
29
26
35
24
9
15
45
26
22
22
21
14
6
9
27
24
18
24
26
19
20
17
22
24
21
15
13
14
8
10
17
20
22
21
44
34
17
33
56
68
78
91
103
101
86
88
88
80
82
85
90
92
94
95
87
87
87
87
88
88
88
89
92
92
94
93
94
98
94
98
103
109
113
120
126
133
134
135
136
138
139
139
151
151
151
151
151
151
153
154
154
153
153
154
154
154
153
153
150
150
149
149
147
144
144
141
141
140
140
139
134
133
129
127
122
121
118
48
48
49
50
51
50
50
50
50
50
52
51
51
52
54
55
55
56
56
56
56
57
57
58
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
64
63
63
62
62
62
62
70
74
75
78
86
93
98
112
117
124
127
129
133
134
144
145
146
148
150
152
152
154
155
156
157
159
160
180
151
160
161
199
222
228
223
97
153
190
189
175
255
101
51
80
51
64
48
112
247
246
243
227
251
203
93
50
75
86
60
63
64
21
89
67
61
82
63
17
2
66
120
148
168
148
208
160
163
202
228
240
221
218
251
224
237
221
206
208
211
243
232
246
243
219
229
228
244
206
197
222
143
43
9
27
21
29
28
24
36
32
19
25
28
34
32
26
22
20
23
21
13
20
24
22
24
15
25
39
20
13
19
22
16
21
26
32
34
27
19
20
24
18
13
20
20
10
16
24
24
18
15
21
32
23
19
18
18
19
25
30
20
8
30
49
36
34
59
83
89
90
97
96
85
82
81
81
82
85
89
92
87
87
87
87
89
89
91
95
97
98
100
100
102
110
110
112
117
123
130
133
141
147
147
150
151
150
152
153
154
154
154
154
156
156
156
158
158
158
159
159
158
158
158
158
158
155
154
154
152
149
149
147
147
146
145
145
140
139
137
134
126
124
122
48
48
49
50
51
50
50
51
50
51
53
51
52
52
55
55
56
56
57
57
57
57
57
58
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
63
62
62
62
61
61
61
70
72
76
79
86
95
100
114
121
126
130
133
135
138
146
147
149
150
153
154
157
157
157
158
161
162
162
201
170
162
176
214
192
189
220
153
127
62
106
112
222
147
159
128
74
41
55
21
195
240
67
36
37
36
65
74
36
64
54
52
55
89
50
63
58
43
64
0
95
251
217
210
216
242
246
238
241
219
232
251
217
219
216
245
231
224
231
245
241
232
230
229
221
236
226
221
130
195
233
180
5
2
21
29
15
21
20
29
43
37
19
29
27
40
34
22
19
25
20
30
23
26
28
28
30
34
17
17
16
30
37
20
22
28
23
21
24
20
13
24
23
18
16
27
29
19
5
12
18
18
15
11
13
17
10
11
14
15
15
15
32
31
16
16
28
23
8
45
51
63
88
91
81
87
82
82
85
88
89
87
86
86
86
88
90
90
92
95
97
102
106
107
113
120
124
128
132
137
144
149
156
159
162
162
163
163
165
165
162
162
162
162
162
162
162
161
161
161
160
160
159
159
159
159
158
158
155
155
155
151
151
150
150
147
147
147
148
147
145
140
134
132
129
48
48
49
50
51
50
50
51
51
51
53
52
52
53
56
56
56
57
57
57
58
57
57
58
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
62
62
62
61
61
61
60
68
72
76
80
86
96
101
115
122
127
131
134
137
139
147
148
151
153
154
155
158
158
161
161
162
163
164
205
161
210
215
148
199
203
230
210
133
86
99
175
253
191
153
121
75
59
86
78
255
253
134
73
75
89
75
52
42
51
22
60
109
83
56
76
49
32
39
53
171
228
249
240
250
222
225
241
224
211
206
221
224
229
250
217
229
217
215
234
229
246
242
243
244
193
216
229
168
229
236
191
14
38
30
16
16
19
18
29
39
35
24
28
23
31
29
21
19
21
16
23
18
19
18
20
27
18
21
29
24
29
30
21
22
32
27
26
33
35
30
28
29
22
18
26
27
18
25
12
14
18
20
19
21
22
18
18
19
17
17
17
25
22
13
8
14
23
27
19
20
29
57
71
77
82
75
68
68
74
82
87
85
85
85
85
87
89
91
93
98
103
107
110
116
125
130
132
137
142
148
154
160
163
165
165
168
168
167
167
165
165
165
165
165
163
163
162
162
162
161
161
160
160
159
159
158
158
157
155
155
153
151
151
151
148
147
147
149
148
146
144
139
135
134
48
48
49
50
51
50
50
52
51
52
53
52
53
53
56
56
56
57
58
58
58
57
57
58
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
63
63
63
63
63
63
63
62
62
61
61
60
60
60
66
70
74
79
87
95
102
118
124
130
134
136
141
142
150
151
152
154
157
159
161
161
162
163
166
166
167
150
211
242
198
119
236
172
255
255
136
152
216
255
202
106
58
66
97
144
51
80
255
255
248
93
159
89
51
49
25
39
39
27
69
59
112
89
98
84
72
92
215
201
221
217
228
231
231
237
220
219
219
213
223
239
242
237
216
237
250
233
246
229
205
243
218
219
232
199
121
177
142
4
195
12
25
20
23
20
21
28
23
24
31
27
26
22
24
27
25
20
37
25
20
26
20
18
30
25
44
28
35
32
21
23
19
35
25
20
23
22
14
16
30
24
19
27
32
26
25
19
21
20
17
14
16
31
39
36
22
12
18
28
33
34
30
23
28
33
26
32
34
42
45
52
58
51
53
62
76
90
95
91
83
83
83
84
84
86
88
96
100
104
109
115
120
129
138
139
144
151
154
160
165
167
167
169
169
170
168
168
168
168
168
168
166
166
166
168
168
168
168
167
164
164
164
163
163
163
160
160
159
157
156
156
154
153
153
152
151
148
147
146
144
142
141
48
48
49
51
51
50
50
52
51
52
53
52
53
53
57
57
57
58
59
59
59
59
59
59
59
59
59
59
60
60
61
61
62
62
62
61
61
61
62
62
62
62
62
62
62
62
62
62
62
63
63
62
62
61
61
61
63
67
71
76
85
97
105
120
128
136
138
141
144
145
152
155
156
157
158
159
164
164
167
168
169
169
170
142
204
237
247
177
197
253
173
153
255
252
190
166
201
117
102
93
48
54
70
193
255
116
42
76
72
85
64
86
46
30
40
46
49
29
59
86
101
41
66
140
215
244
237
235
238
248
242
248
239
248
248
215
232
248
219
197
237
246
248
248
209
222
242
194
242
241
213
220
239
221
215
110
52
7
0
38
30
14
11
18
23
24
17
22
21
19
18
19
21
22
21
38
35
20
16
30
50
36
36
35
40
36
29
31
38
37
37
34
39
37
47
34
23
22
21
18
15
16
14
21
26
22
15
10
14
15
22
24
26
20
12
9
23
18
14
12
15
22
27
42
44
50
57
59
64
92
98
111
111
98
92
92
80
78
78
81
85
84
77
65
85
110
124
129
138
124
134
147
155
151
152
165
166
157
157
156
163
176
167
159
167
177
169
164
175
171
176
173
172
169
167
170
164
161
167
167
165
165
164
164
162
159
159
157
156
156
155
153
155
155
154
151
148
147
145
48
49
49
51
52
50
51
52
51
52
53
52
53
53
57
57
57
58
59
59
59
59
59
59
59
59
59
59
60
60
61
61
62
62
62
60
60
61
62
62
63
63
63
62
62
62
62
62
62
63
63
62
62
61
61
61
63
65
71
76
85
97
105
120
129
136
139
144
145
148
155
155
157
158
159
162
164
167
167
168
169
172
172
148
217
216
248
181
235
191
164
234
255
194
101
65
182
195
161
108
84
57
68
205
255
132
93
78
114
124
60
45
43
37
32
38
46
46
50
67
58
61
38
163
233
236
237
230
227
234
234
238
227
233
233
223
211
225
221
205
244
240
139
224
226
246
223
199
237
137
195
237
215
71
200
39
128
6
41
8
24
14
13
17
19
23
21
22
21
16
16
18
19
20
45
38
36
33
28
35
53
52
45
33
39
39
37
42
58
40
30
21
22
18
26
22
20
26
28
26
22
22
16
16
18
17
14
12
16
25
24
20
23
25
25
28
23
30
36
36
29
21
14
57
48
46
52
57
69
82
69
59
63
76
86
86
74
83
86
75
61
65
82
129
123
131
139
131
125
150
165
155
158
171
172
161
169
176
187
180
171
174
157
181
174
170
186
188
167
177
160
174
168
172
177
170
169
164
168
168
167
167
165
165
164
160
160
159
157
156
156
156
155
155
154
153
149
148
148
49
49
50
52
52
51
51
52
51
52
53
52
53
53
57
57
57
58
59
59
59
60
60
60
60
60
60
60
60
60
61
61
62
62
62
60
61
62
63
64
65
65
66
63
62
61
62
63
63
63
63
62
62
61
61
61
62
65
69
76
85
97
105
120
130
138
143
146
150
152
157
158
161
162
163
164
167
167
168
171
172
172
173
176
186
213
200
214
255
143
116
243
245
193
147
173
199
255
238
195
75
66
74
208
255
226
170
123
111
77
104
108
63
48
60
56
66
60
39
54
77
120
44
222
236
243
246
232
225
222
246
244
239
246
233
238
210
218
223
231
214
235
221
120
225
184
215
246
204
60
112
94
35
66
61
46
0
28
32
12
16
19
18
18
13
14
20
16
16
19
21
23
27
28
25
33
40
29
31
36
31
41
42
30
25
22
28
42
29
30
35
35
35
20
20
29
20
20
18
13
8
7
24
12
15
23
26
18
9
19
29
36
42
36
24
16
31
28
26
23
21
21
20
43
39
39
38
48
54
59
68
78
95
117
115
97
57
91
124
138
135
129
122
46
57
91
126
141
149
162
193
196
171
141
159
197
125
98
78
76
83
82
161
204
154
177
170
168
194
169
176
181
168
168
170
163
166
163
168
168
169
170
168
166
165
163
161
161
161
158
158
157
157
157
156
156
152
152
151
50
50
51
52
53
52
52
52
51
52
53
52
53
53
57
57
57
58
59
59
59
61
61
61
61
61
61
61
60
60
61
61
62
62
62
62
62
64
66
67
68
68
69
64
62
61
62
63
64
63
63
62
62
61
61
61
60
64
69
74
84
95
105
123
133
140
144
150
153
154
159
162
163
164
165
168
168
168
171
171
172
173
175
178
176
172
202
237
234
237
189
207
182
231
255
255
36
133
179
132
165
80
104
57
219
216
107
119
95
69
85
71
78
91
86
50
32
52
55
39
46
20
201
213
200
234
241
222
236
226
228
204
238
195
208
224
214
210
244
221
219
231
233
243
211
228
232
144
118
16
38
29
16
10
12
30
25
10
6
28
11
17
14
22
15
12
19
14
15
18
22
24
25
28
49
26
32
33
43
42
24
18
37
64
57
36
21
20
35
19
21
25
32
24
26
15
13
19
24
26
25
28
21
24
20
17
18
16
13
22
14
8
15
21
25
28
23
17
10
5
12
27
39
41
47
43
47
76
81
34
43
39
46
71
81
82
74
92
100
81
63
69
90
146
143
153
172
183
177
87
84
120
129
98
77
89
96
104
108
120
114
88
88
106
200
208
140
97
133
120
185
127
152
149
141
160
161
169
168
169
171
170
168
166
163
165
165
162
162
161
161
161
159
159
158
158
155
155
153
50
50
51
52
53
52
52
52
51
52
53
52
53
53
57
57
57
58
59
59
59
61
61
61
61
61
61
61
60
60
61
61
62
62
62
62
63
65
67
68
69
69
69
64
62
61
62
63
64
63
63
62
62
61
61
61
60
64
69
74
84
95
105
123
133
140
145
150
153
155
161
162
163
165
166
169
168
170
171
172
172
173
175
165
182
205
220
233
221
179
220
186
219
208
251
255
33
239
208
191
213
169
108
36
88
134
123
202
127
64
122
64
82
80
63
55
30
45
33
47
50
65
219
239
237
219
238
229
244
222
246
244
226
215
239
173
198
212
234
210
239
207
222
227
180
240
152
133
38
20
21
5
37
27
19
19
10
16
13
10
15
22
16
22
13
6
13
14
15
18
21
22
22
24
36
20
36
12
9
28
46
56
56
39
33
26
26
37
59
35
33
32
34
21
20
13
11
16
18
16
11
11
17
30
21
10
10
14
19
15
8
3
10
15
17
18
21
25
23
19
22
34
44
44
52
40
37
68
68
43
59
63
67
82
77
66
86
89
84
82
98
120
123
133
151
153
118
91
98
99
113
90
95
125
124
96
125
123
104
67
59
88
121
140
105
71
68
100
94
17
56
33
98
117
106
121
138
172
168
169
171
170
168
165
162
165
165
163
162
161
161
161
159
159
158
158
156
156
155
47
47
48
49
50
51
51
52
52
53
54
55
56
56
57
57
57
58
59
59
59
59
59
60
60
61
61
61
60
60
61
61
62
62
62
62
62
64
65
66
66
67
60
60
59
59
60
60
60
62
62
62
63
63
63
63
64
68
74
80
87
98
109
123
132
139
144
149
154
157
163
164
167
168
168
169
172
173
174
175
176
177
177
168
173
227
208
172
169
173
181
193
116
184
132
143
208
225
243
183
143
62
68
55
49
5
58
122
72
73
65
48
31
57
55
59
79
85
94
36
33
196
243
240
233
231
207
251
229
236
169
223
216
185
223
233
209
241
206
232
250
235
239
197
121
116
102
69
32
23
30
29
24
21
24
24
22
26
24
18
27
24
24
24
20
23
29
28
29
21
19
22
26
29
19
14
27
14
16
28
26
25
38
39
34
26
18
17
27
23
26
31
21
13
22
14
20
13
9
17
23
18
24
33
39
25
13
15
22
19
10
6
15
20
17
12
7
4
4
4
9
11
17
19
15
17
22
24
23
38
33
33
35
39
52
69
64
77
99
108
96
80
77
53
74
87
95
113
138
116
84
103
125
127
116
114
65
88
114
117
99
97
91
80
66
98
126
120
105
97
79
101
69
96
77
83
185
167
140
96
87
113
109
127
154
165
129
106
102
143
153
129
154
158
159
159
143
143
155
47
47
48
49
50
51
51
52
52
53
54
55
56
56
57
57
57
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
62
63
63
62
62
63
63
64
64
64
60
60
59
61
60
60
60
62
62
63
63
63
63
63
66
70
76
83
88
98
108
124
133
139
145
149
154
156
164
165
167
168
169
170
174
175
176
177
178
179
179
166
175
205
181
193
219
209
255
243
255
238
236
140
182
166
85
116
150
152
161
175
116
102
83
144
156
149
98
98
70
53
65
81
53
54
103
62
67
227
248
200
222
253
251
238
247
203
242
213
214
202
216
166
177
216
236
229
234
215
213
163
89
26
12
0
0
23
14
18
34
19
22
24
28
28
27
24
27
28
29
31
29
29
28
42
35
36
40
34
21
9
18
17
22
17
22
31
30
24
46
21
22
38
38
27
31
26
26
25
21
20
26
19
27
20
16
17
19
23
20
32
34
25
20
24
26
20
17
17
22
19
10
6
27
32
32
30
24
18
21
18
11
9
38
68
69
17
22
41
55
58
57
52
63
66
54
46
78
161
183
112
124
135
128
108
103
144
121
108
122
140
137
136
149
160
136
134
151
148
106
115
107
88
84
100
114
92
65
62
104
62
56
40
67
83
88
74
77
91
77
87
107
112
167
206
213
188
180
197
174
187
192
184
159
151
152
47
47
48
49
50
51
51
52
52
53
54
55
56
56
57
57
57
58
59
59
59
59
59
60
60
61
61
61
61
61
62
62
63
63
63
62
63
63
63
64
64
64
60
60
61
61
60
60
62
62
63
63
63
63
63
63
69
73
80
84
91
98
108
124
132
138
144
149
152
156
164
165
168
169
169
170
176
176
177
178
179
180
180
198
171
166
174
156
207
184
234
179
255
171
232
181
194
179
165
206
191
173
209
135
66
125
104
128
148
130
97
103
72
100
111
77
100
52
72
68
94
231
242
244
236
244
220
245
241
226
215
161
232
195
221
229
208
225
220
213
246
222
211
97
2
0
0
11
24
16
10
19
33
23
21
21
25
29
29
29
29
28
29
40
39
30
21
51
40
25
23
20
21
23
16
21
23
20
23
26
22
28
33
21
35
46
40
28
36
23
23
23
23
22
19
8
16
12
14
13
13
21
15
14
14
12
16
19
15
25
23
21
21
15
11
14
25
15
9
12
15
18
24
19
18
18
30
39
31
38
31
36
45
52
56
51
57
75
91
121
161
166
130
85
81
101
132
132
106
121
138
132
155
182
176
157
140
135
136
149
149
123
111
136
109
126
135
116
85
79
77
86
66
75
51
90
56
86
95
126
134
114
128
118
90
98
105
88
75
79
75
90
66
99
126
145
189
184
167
47
47
48
49
50
51
51
52
52
53
54
55
56
56
57
57
57
58
59
59
59
59
59
60
60
61
61
61
62
62
63
63
63
64
64
65
64
64
64
64
64
64
62
62
61
61
62
62
62
63
63
63
65
65
65
65
73
76
83
88
92
99
107
122
129
137
140
145
150
152
165
166
168
169
170
171
178
178
179
180
181
182
182
210
169
162
157
173
201
153
136
125
167
213
188
232
141
159
236
203
211
138
135
180
109
113
151
179
145
150
113
81
111
101
38
51
72
98
106
215
239
248
197
225
232
251
250
203
203
233
228
210
198
140
208
160
203
225
214
242
206
217
224
11
22
8
10
11
9
15
26
32
35
27
24
25
36
35
35
37
35
41
45
45
45
41
35
21
30
50
40
21
13
16
15
24
15
17
22
20
17
20
28
22
27
29
22
15
38
29
28
20
21
22
12
17
19
20
34
33
26
36
36
32
24
20
28
29
17
25
17
18
24
19
14
16
9
13
20
28
25
14
9
12
27
42
46
39
27
26
34
53
69
73
74
70
64
78
121
173
178
140
126
184
141
99
88
104
118
117
130
145
146
153
172
184
180
109
94
84
81
88
134
130
108
111
110
103
107
115
94
119
95
87
120
81
87
85
106
111
102
93
86
81
84
62
71
105
117
78
75
62
44
52
58
66
73
65
63
48
48
48
49
50
50
50
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
58
60
60
61
62
62
62
62
63
63
64
64
64
65
65
66
66
67
67
67
64
66
65
65
64
65
65
64
67
68
68
69
72
72
78
80
84
90
97
100
104
117
125
131
135
140
143
148
162
165
170
171
172
173
179
179
180
181
181
182
182
205
187
160
168
184
235
201
199
104
169
255
188
255
161
193
170
127
53
77
92
44
35
80
131
136
138
164
88
104
108
81
129
92
59
118
150
192
232
210
236
244
236
218
250
236
224
244
193
221
157
210
174
222
218
239
225
226
229
212
199
110
24
15
14
15
16
18
23
27
29
33
27
27
32
37
42
41
40
42
58
44
51
55
36
44
31
36
34
19
17
27
21
18
13
14
15
15
15
26
17
56
36
22
33
43
17
19
14
21
15
14
32
24
16
13
10
8
12
17
23
17
20
8
26
0
21
14
15
19
17
12
15
20
9
12
22
24
27
23
8
6
12
25
38
38
30
35
41
52
56
58
64
61
63
105
111
81
68
68
66
88
102
104
128
127
116
122
112
108
128
129
104
99
84
97
97
97
87
82
120
141
126
120
110
99
88
87
107
124
109
101
108
115
110
103
119
99
96
96
88
90
78
87
72
83
101
109
107
89
74
91
91
95
88
62
69
48
48
49
49
50
50
50
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
58
60
60
61
62
62
62
62
63
63
64
64
64
65
65
66
66
67
67
67
66
66
65
65
66
65
65
64
67
68
71
71
72
72
78
81
86
92
97
100
104
117
124
130
134
138
143
146
162
165
170
171
172
173
179
179
180
181
181
182
182
207
190
174
193
217
236
217
210
115
148
214
215
255
218
235
238
176
105
46
71
103
57
36
106
142
100
141
122
94
84
92
104
74
58
140
245
239
243
212
234
218
233
237
233
221
227
217
220
209
184
199
138
217
212
202
227
221
238
222
197
90
3
3
15
15
16
21
24
26
28
32
30
33
30
36
43
44
36
39
54
44
48
58
49
43
30
32
36
27
20
20
17
15
12
13
14
17
21
16
17
49
26
18
38
53
24
21
16
23
17
13
27
8
13
19
22
24
29
35
24
24
37
24
33
15
27
17
16
19
17
11
13
18
17
25
32
26
24
21
11
10
10
12
17
18
18
32
33
34
29
27
35
40
32
48
52
52
66
81
96
124
145
98
59
62
82
90
88
103
113
114
120
122
127
89
100
103
88
73
85
98
117
101
87
93
107
89
84
96
94
97
106
115
117
116
101
95
106
109
101
111
109
106
86
86
89
77
72
56
81
73
65
65
71
81
95
49
49
49
50
50
51
51
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
58
60
60
61
62
62
63
63
64
64
64
65
65
66
66
67
67
67
68
68
67
66
67
67
66
66
68
67
70
71
72
73
73
74
80
85
87
92
97
100
105
114
120
125
130
135
139
142
160
164
169
170
171
173
179
179
180
181
181
182
182
198
187
175
178
225
207
254
223
215
166
143
148
158
255
221
245
148
60
17
140
42
102
90
127
197
206
177
105
93
112
93
120
44
236
228
204
176
234
229
240
234
250
248
235
219
226
181
176
145
236
223
201
184
211
203
218
163
164
168
103
0
15
30
15
14
14
21
25
25
24
34
34
39
34
36
43
45
41
35
43
47
42
52
62
42
35
23
32
38
31
18
12
10
11
9
9
18
30
35
25
21
23
32
33
21
21
15
19
29
28
22
26
24
12
9
7
9
16
25
40
1
22
12
12
20
15
7
7
12
15
14
19
25
22
38
40
30
23
22
22
23
22
19
19
18
18
32
36
43
43
41
52
67
58
58
70
79
75
85
107
112
123
93
69
77
84
116
98
139
145
137
147
134
135
116
115
90
57
50
81
100
101
105
107
109
112
115
128
103
105
100
89
83
89
89
88
80
80
88
101
99
84
115
102
99
93
83
86
85
75
70
75
81
79
89
96
50
50
50
51
51
51
52
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
58
60
60
61
62
62
64
64
64
65
65
65
66
67
67
67
68
68
68
69
69
68
68
67
69
69
69
69
72
73
74
76
77
77
84
86
90
95
98
102
105
113
119
124
127
132
136
141
158
163
168
169
171
174
179
179
180
181
181
182
182
189
194
185
170
185
187
203
202
252
194
166
115
130
239
218
141
53
71
41
85
133
149
130
114
162
184
176
100
132
86
69
84
149
206
212
232
172
207
222
225
241
198
228
191
185
197
151
233
224
183
179
214
200
205
212
188
78
206
179
13
0
12
18
14
17
21
25
25
27
28
41
35
35
37
41
42
36
51
44
41
52
44
40
44
38
37
23
22
27
30
30
18
12
13
12
8
14
26
23
27
24
22
22
21
19
23
19
25
27
24
18
14
3
12
20
23
24
26
30
59
23
40
28
27
14
8
20
18
24
26
22
22
23
30
33
24
19
15
12
14
48
32
18
23
33
41
53
54
62
72
73
78
89
61
76
82
91
113
126
121
113
99
117
139
177
210
125
141
140
147
139
114
118
108
113
116
105
102
116
121
141
133
128
114
98
92
98
110
93
101
105
102
106
109
95
81
89
91
91
106
111
111
109
109
106
107
96
89
89
96
109
100
102
104
90
107
50
50
50
51
51
52
52
53
53
53
54
55
55
55
56
56
56
57
58
58
58
58
58
60
60
61
62
62
64
64
65
65
65
66
66
67
67
68
68
68
69
69
69
68
68
68
69
69
69
72
73
73
76
77
78
78
85
86
91
95
98
102
105
113
119
124
127
132
136
139
158
162
167
169
171
174
179
179
180
181
181
182
182
193
184
170
161
152
185
197
235
246
177
119
106
81
183
117
115
75
51
59
112
130
211
198
146
168
194
173
116
122
47
55
152
250
229
214
225
197
205
224
243
251
233
241
233
240
243
203
201
195
230
194
134
195
236
224
197
146
209
146
9
5
6
21
13
19
25
25
24
28
32
38
35
38
36
37
39
36
42
44
44
52
45
39
42
34
31
25
23
22
23
24
19
10
15
16
12
15
25
22
26
25
23
18
19
27
24
24
30
28
24
19
13
6
8
12
11
10
11
15
15
9
22
12
25
8
21
20
18
24
26
20
17
17
22
26
16
17
21
28
39
37
24
9
12
26
39
74
63
58
58
56
63
75
79
101
100
109
128
105
74
102
101
124
131
131
124
141
121
146
177
164
121
129
177
143
127
102
110
138
133
152
111
112
116
127
145
109
86
61
74
80
77
85
102
90
109
117
118
112
119
118
115
116
115
113
114
99
87
83
80
78
73
79
94
94
106
47
47
47
48
49
49
49
51
51
51
52
53
53
53
51
51
52
55
56
57
59
60
60
63
63
64
65
65
66
66
67
67
68
68
68
68
68
69
69
70
70
70
69
69
70
70
72
72
74
75
79
80
81
82
82
82
92
94
97
97
101
103
107
114
117
119
123
126
130
133
145
152
157
161
167
171
182
183
185
185
183
183
184
183
185
188
171
163
207
244
244
215
100
66
182
114
180
220
244
203
254
134
222
180
157
115
150
133
104
109
154
72
72
100
216
210
238
196
235
202
216
246
250
244
240
189
226
210
152
227
198
232
158
197
222
210
222
217
155
186
76
7
9
6
12
10
13
15
21
23
32
34
25
39
39
30
31
39
31
43
36
51
50
42
45
48
60
21
28
29
28
28
26
20
16
11
12
12
9
12
16
20
19
23
16
12
24
42
27
14
24
11
15
21
8
6
22
0
6
9
4
12
2
18
25
26
26
30
35
23
19
19
29
30
21
15
18
21
17
23
28
27
26
26
16
13
16
21
26
26
41
50
46
45
52
61
47
66
98
129
78
83
121
139
111
113
130
120
111
97
139
141
158
177
178
176
169
137
100
81
84
87
97
107
68
62
80
70
71
84
96
118
91
92
97
82
99
93
103
108
115
94
92
108
108
89
112
93
82
65
74
57
81
89
92
90
97
98
97
47
47
47
48
49
49
49
51
51
51
52
53
53
53
51
52
52
56
57
57
60
60
61
63
64
65
65
66
66
67
67
68
68
68
68
68
69
69
70
70
70
70
69
69
70
70
72
72
74
75
80
80
82
82
82
82
93
95
97
98
102
104
108
113
116
117
121
124
127
130
145
152
157
161
167
172
179
182
182
182
183
183
184
190
185
183
170
168
208
240
237
255
151
153
217
191
201
194
213
195
144
181
173
126
200
144
129
108
184
82
113
86
73
104
87
179
223
225
228
223
239
227
239
212
240
225
225
236
213
217
100
113
225
181
157
229
219
218
234
145
77
9
6
24
3
7
15
20
25
32
35
35
30
29
38
30
32
47
31
27
42
44
42
52
45
40
50
32
24
24
23
13
8
8
9
8
14
14
14
15
18
10
14
30
29
21
20
26
22
36
41
35
23
20
27
17
7
5
7
15
17
16
27
21
26
32
32
28
21
24
14
17
33
36
21
7
15
14
17
22
17
13
17
18
10
7
8
10
12
11
19
24
28
34
47
60
104
120
81
91
108
124
129
173
166
136
142
165
112
141
133
150
171
164
130
111
126
151
143
137
137
137
132
125
123
99
107
111
122
106
103
111
120
147
144
106
91
82
96
99
111
123
140
147
157
133
120
94
101
96
86
75
84
86
86
82
88
92
94
47
47
47
48
49
49
49
51
51
51
52
53
53
53
52
52
53
56
57
58
60
61
61
63
64
65
66
66
67
67
68
68
68
69
69
69
69
70
70
70
71
71
70
70
71
71
73
73
75
76
80
81
82
82
83
83
93
96
98
99
102
105
109
113
115
117
120
122
126
129
143
150
157
161
167
171
178
181
181
182
183
183
184
195
187
177
170
174
208
232
209
237
183
185
252
196
221
187
154
115
142
141
175
234
232
161
121
149
73
81
73
74
68
65
19
153
200
236
221
176
215
232
235
228
239
230
221
199
232
172
85
160
220
227
166
221
240
182
190
43
21
8
19
20
9
17
9
16
19
29
30
26
26
35
28
27
47
36
22
41
43
37
39
55
44
37
41
38
22
17
17
9
5
10
12
10
8
9
10
9
10
12
18
31
24
18
20
27
29
21
22
28
20
17
32
16
10
13
6
9
17
13
24
17
17
23
27
25
21
19
11
12
26
28
14
3
21
18
21
25
17
16
24
17
10
7
11
13
16
4
11
21
30
37
42
43
63
99
84
115
139
154
149
151
145
157
176
169
135
111
150
149
161
173
179
176
154
145
135
131
132
133
118
120
123
123
132
110
126
161
142
122
114
114
106
93
106
94
157
145
160
156
148
146
137
106
117
101
81
81
84
75
98
94
89
81
89
99
108
47
47
47
48
49
49
49
51
51
51
52
53
53
53
52
53
53
57
58
58
61
61
62
64
65
66
66
67
68
68
68
69
69
69
70
70
70
70
71
71
71
72
71
71
72
72
74
74
76
77
81
81
83
83
83
84
95
97
100
101
104
106
110
113
116
117
119
121
125
128
141
148
153
158
163
169
177
177
180
181
182
181
182
206
188
172
171
184
201
206
198
209
232
255
198
213
232
186
147
80
60
147
206
232
205
197
84
102
90
60
80
62
41
65
73
29
246
243
230
233
220
216
243
227
217
246
246
185
135
58
26
40
19
42
20
29
7
15
22
21
6
14
17
6
17
2
10
17
13
28
25
21
29
17
34
34
27
36
27
28
40
28
30
42
38
33
29
33
20
8
8
8
10
17
15
13
6
11
19
23
22
22
27
19
11
11
23
37
21
31
51
59
45
28
24
26
35
29
19
15
14
13
16
15
10
14
23
31
30
26
23
17
16
15
12
15
14
8
7
13
12
9
13
19
20
19
19
13
5
12
13
21
31
35
32
37
98
123
134
158
134
147
167
150
116
101
113
112
99
121
143
159
177
178
165
157
151
146
134
119
125
143
149
172
185
189
188
141
127
126
104
94
95
105
117
118
115
109
87
79
71
97
129
116
111
141
134
136
123
102
93
112
138
138
139
139
124
116
115
47
47
47
48
49
49
49
51
51
51
52
53
53
53
53
53
54
57
58
59
61
62
62
65
65
66
67
67
68
68
69
69
70
70
70
70
70
71
71
72
72
72
71
71
72
72
74
74
76
77
81
82
83
84
84
84
96
98
101
101
105
107
111
114
117
117
120
122
125
128
138
143
151
155
161
165
174
176
177
178
180
181
181
207
186
170
177
191
191
176
206
185
249
255
255
255
231
170
170
188
118
109
154
223
183
171
111
224
170
170
110
96
167
99
71
61
11
26
193
240
244
244
213
237
211
52
56
57
20
22
5
27
35
39
25
15
1
12
19
1
22
19
3
12
11
16
11
15
8
23
21
16
30
33
29
18
32
40
24
28
29
22
26
21
30
35
21
13
17
8
4
6
7
4
6
8
8
13
17
12
4
14
12
14
21
26
26
22
44
52
58
29
27
67
92
42
40
17
28
29
18
18
23
16
16
22
27
18
4
24
19
11
10
10
11
18
38
38
38
45
48
39
28
16
13
16
21
26
27
19
24
38
54
50
34
33
84
101
91
117
114
118
98
93
99
98
82
70
83
74
98
116
144
162
170
174
161
152
167
143
116
136
161
152
158
160
176
166
183
165
130
139
107
89
96
100
88
94
106
112
92
96
101
92
99
119
128
148
137
171
147
142
144
144
150
156
156
156
162
47
47
47
48
49
49
49
50
50
51
52
53
54
54
53
53
54
57
58
59
61
62
62
65
65
66
67
67
69
69
70
70
71
71
71
71
71
72
72
73
73
73
74
73
73
73
76
76
79
78
82
83
84
85
85
85
95
96
99
101
105
106
109
113
116
117
121
122
124
124
136
141
146
152
156
164
172
175
177
178
178
178
180
205
185
172
180
194
192
171
188
211
244
254
254
225
193
227
219
222
177
138
185
206
143
126
109
117
144
192
99
136
128
105
89
35
30
0
50
225
246
241
233
94
178
67
76
52
27
27
15
35
14
26
31
19
6
12
17
5
28
19
2
11
3
12
8
12
12
17
15
12
14
18
22
23
31
30
33
42
26
26
27
23
21
22
23
15
15
8
1
0
0
6
8
0
24
20
16
14
6
28
7
27
29
46
39
24
33
76
42
27
78
19
23
45
67
30
29
45
23
34
17
15
18
23
17
15
22
17
17
15
24
27
21
23
40
51
61
50
27
25
46
11
16
20
22
30
33
20
34
33
25
32
42
42
53
64
66
51
74
108
100
91
107
85
63
87
91
70
98
114
128
142
157
160
165
173
188
170
170
176
152
160
166
172
187
194
179
154
163
156
136
138
118
118
132
125
95
110
119
120
145
144
131
156
146
157
144
147
124
123
162
173
172
176
194
168
146
47
48
48
49
49
49
49
50
50
51
52
53
54
54
53
53
54
57
58
59
61
62
62
65
65
66
67
67
69
69
70
70
71
71
71
71
72
72
73
73
73
73
74
73
73
73
76
76
79
78
83
83
85
85
85
85
95
96
99
101
105
106
109
113
116
117
121
122
124
124
134
139
145
149
155
161
169
173
175
176
176
177
180
186
180
178
186
194
188
169
187
232
210
255
230
164
217
223
255
150
127
131
206
154
186
174
139
128
169
157
226
142
115
98
49
37
38
68
37
0
40
76
40
26
0
31
50
52
28
14
31
19
25
22
13
10
14
13
8
18
17
8
14
12
3
21
14
16
12
11
9
6
9
10
13
13
18
15
14
21
19
17
15
12
14
19
23
6
7
10
10
9
10
10
4
12
31
15
5
10
14
24
42
33
26
18
18
61
62
17
58
64
65
34
52
49
66
35
67
70
21
11
25
21
24
19
19
28
27
21
38
55
50
32
31
46
58
49
33
30
33
29
24
24
31
40
36
29
26
38
41
46
55
53
42
42
30
32
41
51
50
41
44
64
44
51
68
72
86
121
100
119
141
146
142
144
191
138
158
154
148
146
181
175
174
175
182
190
187
181
191
194
175
182
173
169
118
102
111
125
139
144
148
156
162
135
134
147
143
156
152
158
154
153
146
148
177
170
160
48
48
49
49
50
50
50
50
50
51
52
53
54
54
53
53
54
57
58
59
61
62
62
65
65
66
67
67
69
69
70
70
71
71
71
72
72
73
73
74
74
74
74
73
73
73
76
76
79
79
84
84
85
86
86
86
95
96
99
101
105
106
109
113
116
117
121
122
124
124
133
138
142
147
152
158
166
168
173
174
175
174
177
161
173
189
194
191
185
181
193
210
195
117
208
211
226
232
254
211
138
106
101
255
244
181
191
206
165
121
223
144
110
105
131
96
39
29
12
61
40
36
30
21
31
56
40
42
51
50
49
40
30
22
16
12
12
13
13
1
17
18
10
13
12
16
10
13
9
8
8
7
11
15
16
14
16
11
6
9
6
9
10
12
11
12
12
9
9
5
8
18
21
20
28
26
25
31
32
27
21
39
32
54
38
37
36
38
56
13
57
50
34
30
41
66
53
78
71
43
65
50
51
28
19
19
31
44
53
13
16
25
35
61
66
41
43
32
33
41
44
49
59
61
79
84
71
61
73
73
83
84
84
97
103
88
74
99
103
101
78
68
87
79
79
69
67
90
122
178
164
119
119
161
178
162
169
167
161
154
166
152
153
148
157
178
201
201
176
171
190
173
158
160
155
167
138
131
130
122
125
142
160
151
145
150
158
161
161
148
146
139
172
181
192
189
165
172
180
49
49
49
50
50
50
51
50
50
51
52
53
54
54
53
53
54
57
58
59
61
62
62
65
65
66
67
67
69
69
70
70
71
71
71
73
73
73
74
74
74
75
74
73
73
73
76
76
79
80
84
84
86
86
86
87
95
96
99
101
105
106
109
113
116
117
121
122
124
124
133
138
141
145
151
155
165
167
172
173
172
174
177
149
170
193
199
190
184
187
200
195
206
110
183
197
244
183
205
226
136
110
126
223
196
146
190
144
91
139
175
139
110
77
84
55
65
27
39
8
41
62
47
31
45
55
33
30
49
59
38
35
31
24
19
16
11
12
14
6
23
26
16
21
21
16
9
12
7
10
10
8
12
14
15
13
20
16
9
12
3
7
12
14
10
7
6
28
28
10
9
14
19
17
31
31
32
47
47
32
19
44
48
65
28
26
30
28
43
26
52
39
33
26
29
41
70
76
64
72
85
56
37
52
35
36
41
59
91
39
22
29
31
53
81
78
73
39
43
65
67
53
46
65
79
74
51
51
79
85
86
90
100
100
85
78
106
124
129
139
107
92
142
152
118
85
86
109
122
200
151
120
117
141
163
180
177
147
146
128
135
159
190
168
162
158
159
168
176
168
162
163
152
148
133
152
148
151
212
205
198
199
188
169
155
177
178
157
149
136
146
141
147
147
155
160
144
146
149
49
49
49
50
51
51
51
50
50
51
52
53
54
54
53
53
54
57
58
59
61
62
62
65
65
66
67
67
69
69
70
70
71
71
71
73
73
74
74
75
75
75
74
73
73
73
76
76
79
80
84
85
86
87
87
87
95
96
99
101
105
106
109
113
116
117
121
122
124
124
132
137
140
144
150
154
161
166
168
170
172
173
176
137
167
198
203
187
183
196
202
185
177
189
173
255
210
195
109
137
163
121
127
187
155
235
199
241
189
101
151
202
183
174
125
88
30
49
30
16
19
59
34
69
48
45
55
38
33
53
33
33
36
24
16
17
15
6
3
26
11
8
22
23
15
13
12
16
12
13
9
4
6
22
21
16
16
8
0
0
13
12
13
9
7
6
6
3
14
11
9
18
24
24
24
41
36
39
35
24
24
51
90
44
14
13
11
34
18
34
48
35
47
23
34
53
15
22
36
27
33
15
13
47
40
75
69
45
74
46
53
63
74
116
129
85
88
79
90
124
133
92
40
48
46
64
99
129
116
75
81
73
64
76
90
90
138
167
151
146
128
139
180
101
77
99
135
147
165
155
104
120
154
174
182
203
199
194
180
140
143
167
161
176
162
147
135
134
145
166
167
171
179
182
156
169
156
148
161
165
171
186
211
194
168
193
191
161
159
146
163
152
181
162
162
169
167
180
184
49
49
49
50
51
51
51
52
52
52
53
54
54
54
57
57
58
59
60
61
61
63
63
65
65
66
67
67
68
68
70
70
71
73
73
75
75
79
79
80
83
83
75
75
77
77
77
77
79
80
81
83
84
85
86
86
92
93
97
99
101
102
105
108
111
114
116
119
121
122
134
137
139
140
143
145
153
156
160
163
167
169
170
172
178
184
189
194
191
185
168
169
162
196
208
206
192
156
161
128
186
206
223
255
184
221
227
231
235
132
186
221
191
187
153
147
82
35
44
56
40
68
76
117
109
92
88
130
119
90
82
52
56
52
69
45
11
19
25
14
15
14
12
18
17
10
20
19
15
4
9
12
8
17
18
17
18
20
17
12
14
18
16
12
22
27
25
12
11
11
21
16
19
35
46
42
17
47
54
45
54
19
29
30
32
24
12
13
19
14
18
18
21
33
49
52
54
40
50
45
34
46
54
40
52
48
31
28
34
69
61
33
27
49
57
42
54
86
86
100
108
72
85
108
41
15
21
27
60
83
84
79
75
89
109
129
144
128
127
132
123
114
109
124
133
147
125
94
116
120
175
188
183
165
160
161
130
124
132
147
171
188
181
183
132
141
133
126
142
158
174
176
165
154
149
147
168
184
178
179
171
163
159
149
146
161
164
161
169
139
157
168
167
158
157
160
162
152
133
49
49
49
50
51
51
51
52
52
52
53
54
54
54
57
57
58
59
60
61
61
63
63
65
65
66
67
67
68
69
70
71
71
73
73
75
75
79
79
80
83
83
75
75
77
77
77
77
79
79
82
83
84
85
85
86
92
93
96
98
100
102
104
107
111
113
116
119
121
122
134
136
138
139
142
145
152
156
160
162
167
169
169
170
176
181
189
194
191
186
171
175
160
187
216
234
173
187
217
197
192
227
233
170
197
220
236
252
250
153
204
189
188
141
147
170
93
73
86
41
64
65
68
81
131
115
156
132
88
120
79
74
90
51
75
76
14
18
18
13
19
22
21
20
19
19
23
24
20
8
13
15
10
15
17
17
18
20
19
15
12
17
16
14
21
23
20
13
11
12
23
20
23
36
26
18
19
32
46
53
52
25
30
18
14
10
15
28
24
32
18
15
24
29
22
51
27
20
46
49
31
36
38
50
62
50
30
38
61
78
67
46
35
48
61
55
36
53
57
76
73
54
98
110
60
41
56
64
71
62
57
50
53
76
102
121
112
92
77
70
67
75
93
120
146
174
152
121
139
130
159
179
187
178
177
177
167
169
162
159
170
186
190
193
190
183
152
128
132
135
144
151
164
178
183
181
180
186
191
177
171
172
197
197
184
212
194
172
180
151
163
173
203
189
175
165
171
176
172
49
49
49
50
51
51
51
52
52
52
53
54
54
54
57
57
58
59
60
61
61
63
63
65
65
66
67
67
69
69
71
71
72
74
74
76
76
79
79
79
82
82
76
76
76
76
76
78
78
79
82
82
83
86
87
87
91
92
95
96
98
99
101
107
110
113
115
118
120
121
133
135
138
139
142
144
151
155
159
162
166
168
169
164
168
178
185
191
194
191
177
178
176
183
191
205
225
255
249
208
194
168
177
234
229
221
245
238
188
134
177
191
177
191
225
200
164
136
79
131
65
59
89
112
124
119
94
79
107
106
59
62
55
41
77
85
9
7
42
21
25
27
25
14
18
23
21
30
22
10
15
11
9
12
15
16
14
16
18
16
10
12
13
12
11
9
6
16
25
19
19
33
33
21
22
37
29
34
31
27
34
35
34
36
26
14
6
3
20
10
25
32
28
37
59
29
13
51
83
96
71
26
39
68
47
32
27
33
45
43
67
77
61
47
44
29
31
26
17
23
33
49
88
123
89
53
61
87
88
69
45
15
1
9
23
35
23
45
70
94
115
131
142
185
174
141
125
145
155
133
134
141
146
152
163
171
196
164
160
154
157
163
163
173
190
183
172
171
181
185
180
176
180
178
170
168
180
179
179
165
163
162
161
169
155
160
173
159
154
164
164
152
170
169
173
180
205
218
219
49
49
49
50
51
51
51
52
52
52
53
54
54
54
55
55
56
57
58
59
59
61
61
63
63
64
65
65
70
70
72
72
72
75
75
77
77
79
79
79
81
81
75
75
77
77
77
77
79
80
83
84
85
85
86
86
91
91
94
95
96
97
99
106
110
112
114
118
119
120
134
137
139
140
143
145
151
154
158
161
165
167
168
158
163
171
181
189
193
194
183
178
178
180
188
196
208
255
182
234
239
164
216
133
152
146
149
187
247
230
230
184
193
219
227
166
149
153
106
108
113
71
83
78
100
124
125
104
144
119
65
124
133
76
102
148
72
26
14
33
34
42
53
47
38
32
23
41
34
23
26
15
10
14
18
18
11
13
16
16
14
12
12
15
18
21
24
20
17
42
30
19
21
21
27
30
30
21
37
61
65
17
8
25
18
11
12
9
9
23
24
23
20
9
7
29
22
19
38
37
31
54
28
39
39
53
58
68
91
53
75
74
44
44
62
61
42
54
61
32
27
44
36
75
85
65
69
102
102
44
26
3
0
0
3
17
48
66
66
55
55
62
73
105
114
138
138
117
125
96
114
118
131
155
167
153
136
165
167
163
155
145
148
168
195
197
200
193
183
197
199
191
181
173
168
163
181
198
190
199
187
160
143
165
194
166
185
167
168
197
198
188
213
196
181
175
192
195
187
49
49
49
50
51
51
51
52
52
52
53
54
54
54
55
55
56
57
58
59
59
61
61
63
63
64
65
65
70
70
72
72
73
75
75
77
77
79
79
79
81
81
77
77
77
77
77
79
79
80
83
84
84
86
87
87
90
91
94
94
96
96
99
106
109
112
114
117
119
120
135
137
139
140
144
146
151
154
158
161
165
167
168
158
163
171
180
187
193
194
186
186
186
174
178
189
198
255
153
115
227
155
213
158
186
182
195
209
235
221
145
144
174
186
197
146
174
172
115
123
121
92
72
123
137
106
112
125
158
77
75
107
101
51
100
133
38
48
59
28
29
40
56
54
37
27
29
49
41
31
33
20
14
15
19
19
11
12
15
16
6
9
15
22
17
12
9
8
23
34
20
25
28
10
19
16
50
22
33
51
30
23
8
11
4
4
19
26
9
3
12
18
18
24
31
13
26
36
25
24
31
32
21
44
67
86
68
62
88
28
44
56
54
77
102
96
61
73
89
53
44
73
62
55
67
55
62
88
73
38
27
12
2
1
3
14
38
65
73
63
63
64
65
83
97
104
114
119
102
125
108
118
133
140
134
124
165
178
176
176
188
197
162
154
204
193
187
185
189
204
194
203
200
199
195
174
146
156
165
175
169
167
185
176
180
180
191
171
173
170
164
164
162
170
184
187
182
185
182
49
49
50
50
51
51
51
53
53
54
54
55
55
55
54
54
55
55
56
56
56
59
59
61
61
62
63
63
68
68
71
71
72
75
75
75
76
80
80
79
80
79
76
76
76
78
78
78
80
79
81
83
84
85
86
87
91
90
92
93
95
96
99
105
110
113
114
118
121
123
135
138
142
145
148
149
155
158
160
162
165
167
168
170
164
162
171
185
196
195
196
190
178
169
169
180
208
189
187
198
179
197
123
208
212
204
237
241
213
175
215
168
211
219
212
206
187
141
149
121
135
146
94
123
138
95
128
116
135
92
100
92
76
90
95
97
100
131
97
65
49
63
49
67
55
75
71
36
39
31
22
32
28
25
14
23
27
35
35
12
31
23
23
20
16
22
8
39
19
26
35
25
10
33
30
34
30
37
28
21
33
25
20
32
29
30
17
11
12
19
21
17
18
32
37
30
41
51
39
32
25
43
68
31
53
57
55
83
64
53
67
68
63
82
103
96
39
45
45
46
61
68
73
90
69
47
64
83
93
62
51
35
18
12
15
37
107
115
106
100
104
82
45
19
29
39
57
84
106
128
121
113
115
135
133
147
171
188
146
134
146
145
164
160
171
183
194
194
186
161
150
129
146
158
152
143
152
160
163
174
168
159
184
191
190
190
187
187
189
181
181
185
204
182
154
162
169
190
212
50
50
50
51
51
52
52
54
54
54
55
55
56
56
55
55
55
56
56
57
57
59
59
61
61
62
63
63
68
68
71
71
72
75
75
74
75
79
79
79
80
80
79
79
79
79
81
81
81
80
82
83
84
87
88
88
91
90
92
92
94
95
98
103
109
112
114
118
122
125
136
138
142
144
148
150
154
156
158
160
163
165
166
164
171
177
179
176
176
180
180
208
223
194
146
127
192
170
168
190
168
86
213
201
223
217
174
172
169
138
131
178
171
193
193
200
187
167
152
132
130
151
167
126
144
128
135
133
136
84
96
75
63
86
80
76
76
78
96
72
110
97
81
46
65
48
56
59
61
33
37
41
28
29
15
7
47
28
16
41
54
34
22
26
27
19
18
29
43
36
46
49
22
21
39
35
28
58
33
13
49
59
29
15
14
25
24
32
33
44
46
53
65
60
57
32
37
29
47
54
32
22
27
51
39
36
80
100
109
48
59
53
46
59
72
68
74
80
105
83
58
102
125
88
58
43
58
73
79
106
65
42
47
52
50
53
118
126
118
102
87
63
31
19
40
57
71
85
95
115
122
144
145
153
159
150
151
144
143
159
158
135
158
154
178
167
153
148
155
156
146
159
178
176
147
133
159
159
168
175
173
164
163
164
168
171
168
173
181
170
173
183
176
176
150
147
169
180
170
50
50
51
51
52
52
52
54
54
55
55
56
56
56
53
53
54
54
55
55
55
57
57
59
59
60
61
61
68
68
71
71
72
75
75
74
75
79
80
80
81
81
80
80
80
80
82
82
82
83
84
84
87
88
88
88
91
90
92
92
95
96
99
103
109
112
115
119
123
125
137
139
142
144
149
151
153
156
159
161
165
167
168
177
178
174
169
164
166
179
210
171
135
145
185
213
184
163
174
170
233
248
255
169
238
176
236
159
175
151
136
168
184
200
170
184
205
142
159
140
105
129
131
114
123
102
172
127
114
104
96
117
83
69
88
93
79
97
101
93
89
73
77
57
95
70
58
59
51
33
45
49
43
31
31
22
40
23
11
30
59
60
23
47
25
31
19
20
33
31
27
47
36
14
51
37
17
19
12
18
42
33
20
37
23
22
35
69
59
44
46
74
101
74
57
60
61
42
74
68
33
24
40
83
50
69
90
74
119
46
37
40
58
79
80
68
111
127
120
77
63
113
124
94
44
34
46
63
83
135
83
46
40
34
35
54
107
126
126
96
60
38
31
39
53
61
68
85
104
137
154
177
171
172
174
159
147
141
125
107
109
127
118
119
131
140
154
174
190
170
151
159
158
151
150
161
176
167
158
167
166
161
162
167
177
169
177
179
170
160
166
172
175
185
163
152
151
156
144
51
51
51
52
52
53
53
55
55
55
56
56
57
57
54
54
54
55
55
56
56
57
57
59
59
60
61
61
68
68
71
71
72
75
75
75
76
81
82
82
84
83
83
83
85
85
85
85
86
86
89
89
89
90
90
90
93
92
94
94
96
98
100
107
112
114
116
119
122
125
138
139
141
144
149
152
158
160
161
161
163
163
164
172
191
205
191
159
141
150
196
198
195
192
188
186
185
211
225
217
176
188
214
202
196
183
186
209
183
66
104
163
171
196
237
229
202
179
220
134
138
188
147
158
101
150
147
138
124
110
118
92
75
56
86
88
88
91
94
80
53
81
71
60
43
35
39
43
45
68
52
31
34
52
44
57
47
42
37
16
55
68
42
63
35
29
37
53
31
43
51
48
35
45
40
19
35
27
20
19
10
59
82
53
19
37
61
80
66
66
62
89
120
76
55
89
55
37
44
51
95
126
76
41
32
35
55
90
137
77
63
88
120
126
118
115
75
80
53
35
54
64
61
62
53
52
64
91
123
95
67
55
45
22
21
51
112
114
108
85
67
75
95
144
136
119
115
130
144
145
176
178
161
155
149
139
114
117
117
99
79
87
123
138
114
129
140
142
141
145
149
153
162
178
193
203
196
192
158
160
168
187
201
188
183
185
187
188
184
177
178
180
178
177
162
171
171
187
200
49
49
50
51
52
53
53
54
54
55
56
57
58
58
54
54
55
56
57
60
60
60
60
61
62
63
63
63
69
69
72
73
76
77
79
82
84
88
90
91
92
93
92
92
92
94
94
94
94
96
96
98
98
98
98
98
103
102
102
103
104
108
109
115
115
116
119
121
124
126
143
154
153
150
143
148
158
159
157
160
172
184
189
122
113
167
219
197
165
171
185
177
170
177
194
200
152
110
173
205
222
179
201
255
255
201
198
190
201
159
107
249
218
186
231
196
169
133
113
139
142
183
133
181
140
162
171
151
158
192
143
167
87
56
62
76
67
101
79
84
62
111
94
27
76
51
17
49
43
34
49
52
75
14
26
43
68
59
35
56
50
35
58
59
56
36
50
89
51
57
60
46
14
26
56
11
20
26
35
45
22
13
10
60
41
82
81
67
58
102
81
60
69
45
58
75
36
28
76
133
137
110
78
146
152
83
67
120
149
126
94
115
147
140
148
125
107
103
108
107
100
103
114
159
140
138
148
140
147
116
62
62
111
146
153
150
162
157
99
31
16
38
70
140
161
176
182
178
153
94
112
115
146
161
134
116
143
152
160
163
177
197
169
142
183
185
190
194
182
142
135
122
126
147
170
195
222
194
187
187
184
188
203
197
193
183
168
159
143
164
174
192
214
177
184
209
182
192
196
49
49
50
52
52
53
53
53
54
54
56
57
57
58
54
54
55
57
59
60
60
60
60
61
62
63
63
64
69
70
73
76
77
80
81
85
85
90
91
93
95
96
93
95
95
95
95
97
97
98
100
100
100
100
101
101
104
104
104
107
109
110
112
116
116
118
119
122
124
125
142
136
128
145
164
161
157
159
173
193
192
164
135
174
205
188
149
158
181
176
161
167
187
203
183
150
163
199
219
190
193
192
202
239
164
248
254
204
231
197
163
226
229
255
229
216
181
211
135
104
149
142
101
171
146
152
152
146
152
179
122
112
43
97
91
66
90
97
115
95
63
82
61
32
78
57
28
45
32
45
48
54
62
39
50
47
93
81
54
48
43
48
84
57
44
29
49
63
70
41
38
51
21
14
33
27
14
29
26
49
54
34
17
71
56
78
70
63
88
89
61
49
69
53
58
88
66
66
103
140
140
122
72
173
191
112
67
90
111
145
117
136
148
135
135
93
84
102
128
120
91
91
118
166
134
123
159
185
168
130
84
88
131
164
175
163
139
127
103
71
52
61
86
112
132
167
193
195
180
70
82
96
124
136
124
129
140
158
155
146
151
165
141
121
159
168
177
173
165
176
192
192
184
183
181
179
193
180
158
164
164
166
169
163
164
189
198
201
167
151
131
120
149
143
171
200
192
194
180
50
50
51
52
53
54
54
53
53
54
55
56
57
57
55
55
56
59
60
61
61
63
63
65
66
67
68
68
76
77
80
85
87
90
91
92
95
99
100
103
104
105
105
105
105
105
106
106
106
106
108
108
108
110
110
110
113
114
116
118
119
121
123
123
124
124
124
125
126
127
132
138
147
143
145
158
144
113
113
164
212
215
182
162
169
173
169
171
184
190
155
153
160
175
182
185
211
198
220
190
117
227
199
226
160
94
207
207
252
161
132
201
130
190
161
224
182
180
201
196
205
159
157
126
120
121
143
152
171
136
133
101
104
96
101
84
92
118
127
68
74
74
43
74
71
29
42
54
40
29
27
66
52
32
52
47
112
74
80
63
81
73
64
41
47
30
35
28
57
35
40
49
28
48
37
24
54
39
46
124
76
19
20
53
39
46
66
103
93
38
44
48
57
52
59
69
75
82
121
155
145
118
94
169
156
86
79
142
184
130
96
115
143
151
145
110
112
134
134
124
120
127
133
124
125
121
114
131
155
70
59
75
112
155
184
167
73
73
98
121
127
129
134
106
123
106
89
103
94
89
120
142
163
166
168
187
173
148
115
84
85
109
129
132
134
147
158
163
175
230
246
255
249
235
224
205
153
139
173
189
203
209
200
191
191
169
168
162
137
204
200
181
167
180
197
194
195
212
206
50
51
51
53
54
54
55
54
55
55
57
57
58
58
57
58
58
60
61
63
64
67
68
71
73
74
75
76
89
89
92
96
98
101
102
104
105
110
111
114
115
115
115
115
115
115
117
117
117
116
117
117
119
119
119
119
125
126
130
130
131
130
132
133
133
133
133
134
135
136
135
161
174
127
85
119
217
178
151
154
167
166
161
151
177
179
163
153
144
149
195
158
156
198
213
187
192
215
163
223
227
66
118
0
41
65
101
253
189
169
218
189
203
177
125
207
169
170
159
177
162
145
145
105
159
141
131
103
161
162
164
109
104
94
97
61
96
100
113
79
101
93
50
73
62
30
44
53
56
34
62
53
12
87
66
56
90
64
77
68
81
76
61
88
80
39
26
37
43
28
33
52
29
26
35
72
63
58
41
78
69
41
99
83
60
50
61
86
74
45
77
65
64
101
137
134
78
67
113
154
125
65
62
154
137
94
110
152
161
153
127
129
171
166
140
151
155
149
172
187
178
177
188
156
121
97
104
131
146
105
76
60
59
68
89
93
68
93
105
127
157
162
161
140
70
67
97
90
108
168
164
139
132
162
192
191
136
126
87
61
65
78
102
130
178
171
172
187
199
177
160
126
116
102
111
140
160
162
185
179
164
152
145
139
136
153
158
168
147
165
161
161
168
173
181
180
150
173
199
51
51
52
53
54
55
55
55
55
56
58
58
59
59
58
58
59
60
63
64
66
69
70
73
77
78
80
80
95
95
100
101
104
105
107
109
110
114
117
118
119
119
119
119
120
120
120
120
122
122
124
124
124
124
124
124
132
133
134
134
134
133
133
137
137
136
137
140
142
143
129
98
88
120
182
198
138
154
162
160
157
162
164
181
169
140
117
138
183
196
164
185
200
197
183
180
200
176
222
241
78
147
163
33
118
43
226
237
109
167
214
136
174
200
117
150
141
226
187
161
210
204
170
123
143
135
114
107
112
111
127
109
115
86
105
85
103
102
102
111
96
82
62
68
57
43
47
47
64
29
58
31
14
80
66
74
84
84
81
55
99
89
70
97
86
49
47
60
57
51
50
80
63
41
45
81
51
54
43
59
72
58
106
78
77
64
52
56
64
66
79
56
67
125
151
149
76
74
120
145
116
73
79
148
144
111
111
136
137
165
144
123
136
145
154
199
142
145
179
190
168
155
164
176
154
125
131
147
146
133
104
89
83
73
75
78
49
83
116
143
177
195
174
144
77
57
75
85
112
172
157
156
164
178
183
170
144
96
47
21
41
75
115
143
196
200
204
199
174
151
166
179
174
152
136
148
174
183
189
194
194
189
159
130
114
104
104
140
172
164
141
151
165
167
177
195
196
186
182
54
54
54
55
56
56
56
56
56
57
58
59
60
60
61
61
62
65
68
69
70
74
76
84
88
90
91
93
104
104
107
108
111
111
114
118
118
120
122
123
123
125
124
126
127
127
128
128
130
138
133
133
131
128
133
141
139
142
146
145
142
141
144
145
151
154
149
130
106
89
186
178
149
147
133
127
140
147
148
154
167
165
133
136
206
184
147
169
158
143
206
194
178
187
198
174
162
232
80
100
63
59
24
101
145
233
155
84
187
79
162
181
239
117
164
170
200
206
255
211
185
209
164
145
144
101
87
105
108
66
115
135
101
113
110
139
111
96
102
113
71
91
87
110
122
63
75
78
44
22
14
32
39
133
79
55
67
141
97
119
151
86
83
105
99
74
118
122
87
91
102
88
76
82
88
58
29
44
56
45
27
81
102
70
114
110
72
62
45
82
80
60
61
124
155
152
153
129
136
110
103
93
107
110
117
156
178
170
163
183
200
167
132
135
153
201
144
119
146
164
166
183
203
206
145
141
126
153
164
126
148
145
152
120
81
95
55
54
60
84
114
139
150
133
123
138
133
99
98
143
97
88
118
152
162
189
124
47
24
21
33
60
112
115
100
124
124
113
133
166
150
159
164
166
149
133
153
138
180
197
186
182
181
152
150
141
159
164
142
135
154
165
150
163
172
171
180
180
174
54
55
55
56
56
56
56
57
57
58
59
60
61
61
61
62
63
69
71
73
75
80
84
91
95
96
99
99
107
107
110
111
114
114
117
119
119
121
124
124
124
125
126
126
128
129
129
129
132
133
132
137
141
140
138
137
140
139
148
146
139
146
162
121
91
113
168
193
166
126
146
144
136
140
140
135
172
167
134
105
136
190
198
137
166
145
144
155
172
202
177
192
182
159
131
153
99
157
189
139
125
195
210
156
250
113
137
145
83
110
196
160
127
161
165
178
131
177
85
114
149
102
113
70
92
80
106
61
61
20
81
132
132
107
189
156
102
107
136
79
95
119
124
134
113
117
102
104
86
42
25
24
26
101
77
104
51
90
80
99
139
132
136
124
123
148
137
119
104
121
138
89
82
88
136
63
53
40
34
51
38
82
60
127
111
70
70
63
73
116
77
59
80
109
103
158
130
144
90
89
114
109
157
107
153
180
185
173
149
177
180
143
149
190
173
137
137
135
162
187
197
198
196
159
160
193
153
132
138
164
161
168
113
81
106
105
85
66
57
79
112
135
149
179
165
156
178
200
176
158
96
64
82
118
122
128
147
136
84
49
56
83
144
172
143
144
137
129
143
163
151
123
122
137
145
132
109
110
151
197
208
202
162
150
199
157
113
95
125
162
162
169
194
187
175
167
175
186
196
55
55
55
56
56
57
57
57
58
58
60
61
61
62
62
62
66
71
74
75
78
83
87
95
99
100
103
103
108
108
111
112
114
115
117
118
118
121
123
124
124
124
125
126
128
128
129
129
131
136
137
138
138
137
135
134
143
144
137
144
154
139
110
121
165
177
160
138
136
144
144
161
163
134
152
183
112
92
118
183
195
142
122
157
140
155
156
189
200
163
183
165
160
144
145
224
154
188
174
123
216
213
122
244
145
125
137
147
75
116
176
182
107
182
163
154
123
128
70
82
129
121
126
22
86
63
103
48
48
21
86
107
131
133
128
134
171
142
121
109
146
121
99
139
87
114
136
123
111
58
31
30
47
107
83
131
69
67
65
77
121
156
131
152
126
137
135
132
130
89
109
114
115
109
128
83
67
57
47
66
57
75
61
110
95
66
76
58
117
122
86
73
85
101
107
156
144
130
77
73
118
138
158
143
168
181
174
148
112
141
147
163
187
192
163
134
109
141
174
194
197
191
179
162
202
227
178
129
129
182
172
181
150
101
89
87
125
102
85
96
113
125
135
184
166
181
197
174
155
138
117
82
66
97
121
102
143
152
141
120
108
120
164
170
165
193
193
143
101
127
132
145
131
122
122
122
141
157
178
163
153
151
178
154
104
124
138
144
145
186
186
171
154
163
182
198
183
178
182
56
56
56
57
57
57
58
59
59
60
62
62
63
63
63
64
67
75
78
82
85
90
93
101
104
107
108
108
110
110
110
112
112
114
116
116
118
120
121
123
123
123
124
125
125
126
128
128
128
131
136
133
133
136
141
142
154
138
108
98
124
156
173
140
143
152
161
162
154
144
158
181
159
107
98
139
191
164
140
145
159
154
141
140
166
207
179
169
188
163
167
117
118
229
86
167
171
115
189
208
158
141
201
93
187
151
210
111
128
187
108
163
129
189
138
194
162
146
92
36
103
93
56
63
70
97
79
60
66
140
116
134
134
119
121
142
78
142
162
92
116
122
109
144
138
158
153
113
113
64
47
45
77
185
172
188
90
119
146
105
131
138
125
160
109
110
93
124
152
115
115
87
150
89
79
117
89
104
98
110
90
89
87
115
149
104
101
100
98
134
89
97
127
108
91
139
182
134
95
50
100
171
126
123
159
196
174
136
139
173
185
221
220
180
152
130
165
156
151
173
194
190
176
175
209
177
167
128
121
176
166
129
124
99
94
140
111
115
121
125
130
142
152
180
189
176
169
186
177
99
122
173
136
108
153
145
191
178
192
190
181
174
175
206
227
172
134
128
133
124
99
106
118
129
142
163
168
162
168
181
176
179
148
135
170
143
106
107
157
168
161
179
178
178
186
190
146
176
223
56
56
56
57
58
58
58
60
60
61
62
63
64
64
63
64
69
77
81
85
88
93
96
104
107
108
109
109
109
110
109
111
111
113
113
116
116
120
120
121
123
123
122
124
125
125
126
128
128
135
129
131
141
146
136
121
126
157
159
145
133
136
143
147
145
144
144
149
156
162
82
136
180
174
178
182
136
160
152
124
131
164
172
197
158
175
175
153
178
161
127
220
109
123
223
199
174
206
195
103
166
222
201
215
200
163
173
138
191
175
231
87
201
139
156
146
165
71
139
194
163
125
92
121
149
77
117
129
28
221
180
221
165
177
142
97
100
82
103
148
98
138
170
142
179
198
187
159
159
100
122
90
61
229
177
168
135
119
137
112
119
164
153
148
98
71
101
129
63
107
91
130
118
117
92
103
100
109
109
135
87
83
112
104
122
122
156
129
125
133
105
116
123
87
94
107
139
154
73
45
100
149
148
166
159
143
152
160
144
169
151
172
144
88
103
132
181
190
178
177
183
186
194
141
197
161
131
91
109
204
196
224
188
129
121
119
126
154
176
177
179
181
167
134
130
158
172
148
138
137
189
122
113
147
149
165
206
193
231
235
216
223
195
179
135
115
131
155
145
149
161
175
162
152
156
153
127
160
190
174
152
133
124
151
183
136
138
165
194
155
147
166
164
181
187
179
182
180
170
61
61
62
63
64
63
63
59
58
58
54
53
55
56
75
77
82
90
93
98
100
105
105
104
102
103
102
102
111
111
113
113
113
113
115
115
115
118
119
119
120
121
129
123
132
132
130
127
123
122
141
154
136
102
97
117
159
131
140
148
143
158
148
153
140
151
180
157
99
70
181
165
142
167
162
135
168
123
126
160
152
164
205
157
176
174
163
173
129
79
232
118
138
231
180
108
202
192
113
141
198
206
91
199
203
167
189
147
211
92
176
93
178
106
184
131
155
167
192
180
171
175
185
161
140
152
148
125
169
192
192
179
198
153
155
146
94
124
105
187
183
171
138
193
181
154
156
158
212
127
157
134
165
134
175
137
144
108
94
98
127
150
126
173
150
126
129
188
122
122
77
68
114
136
118
80
114
105
108
73
63
140
108
71
72
136
140
97
78
178
163
139
56
106
155
78
135
144
107
159
188
111
133
202
192
154
134
149
176
176
144
130
137
142
157
161
188
173
192
195
185
213
197
168
160
164
174
177
167
207
179
182
175
174
111
81
156
185
177
167
192
178
156
115
134
104
145
161
118
218
153
130
82
97
132
146
164
188
219
237
207
174
225
198
98
107
136
152
163
136
143
182
158
123
124
150
131
131
184
193
195
179
113
113
130
162
182
184
180
213
217
211
163
139
119
120
140
160
191
57
57
58
61
62
65
65
63
64
65
63
65
67
70
76
78
83
92
96
101
106
108
108
109
109
109
109
109
111
111
113
113
113
115
115
114
115
117
118
118
121
121
119
126
135
123
109
122
140
137
93
140
160
135
126
145
147
138
158
159
139
144
148
153
106
70
109
176
179
137
188
166
124
155
176
158
162
170
147
166
200
169
150
175
169
170
111
113
165
215
122
209
201
157
152
180
135
105
159
202
181
87
200
202
165
193
133
214
101
102
115
153
142
150
165
83
122
174
180
181
181
179
177
179
181
198
207
189
199
195
187
177
193
199
189
215
170
129
177
193
135
77
141
119
140
147
188
153
142
149
195
170
103
91
94
164
157
174
249
160
107
158
141
133
134
183
179
160
142
86
102
61
123
120
106
114
133
87
68
92
91
90
109
57
66
130
153
83
59
209
181
101
67
129
212
131
113
119
107
169
170
131
184
192
167
156
183
183
145
153
164
164
146
159
189
181
148
162
161
168
183
182
199
142
168
194
188
164
160
218
194
222
176
105
73
106
160
181
178
185
212
141
140
104
116
108
151
133
113
155
124
142
124
111
123
148
160
190
188
196
196
177
182
179
86
80
92
103
124
133
151
154
157
172
163
128
134
129
151
176
192
188
163
133
113
119
109
120
158
192
207
231
184
194
197
181
136
139
157
54
54
56
59
60
63
65
64
67
70
73
77
80
83
76
81
86
94
101
107
111
115
115
116
116
116
116
116
113
113
113
113
115
115
115
115
115
115
118
118
118
118
109
120
139
130
108
99
100
155
132
138
139
137
140
149
157
152
132
149
170
122
49
183
175
122
133
161
172
192
151
176
175
135
146
172
159
166
208
168
160
181
151
147
60
144
149
189
174
92
202
159
122
189
209
142
119
162
216
111
138
188
194
170
174
139
208
112
115
173
121
168
134
132
136
115
118
198
175
179
182
184
182
184
186
189
195
190
190
189
193
182
189
194
207
202
200
212
206
190
181
199
222
153
133
154
149
105
91
140
142
161
138
189
142
171
176
152
214
168
159
200
181
115
170
116
135
190
156
168
108
124
92
116
146
141
144
116
97
130
79
125
123
52
63
114
126
67
45
168
177
106
97
149
142
106
131
196
169
163
136
152
159
162
154
174
185
173
159
167
192
192
198
178
156
202
165
124
151
181
186
205
183
144
175
187
190
188
175
154
152
193
183
160
128
152
157
187
184
174
202
143
163
139
130
147
135
135
157
168
212
203
195
183
162
137
184
207
171
124
102
120
131
117
85
85
103
111
125
131
151
162
173
165
162
178
173
166
160
184
189
178
158
122
102
108
106
130
171
202
193
178
149
191
201
175
196
188
158
54
54
56
57
60
61
63
63
65
68
72
76
81
84
76
80
85
95
100
107
112
116
117
118
118
118
117
117
113
113
113
115
115
115
115
115
115
117
117
117
117
117
113
125
100
87
111
132
132
127
143
152
151
143
143
150
137
153
141
109
93
117
174
141
146
159
163
159
151
143
175
157
140
147
147
145
182
222
143
161
191
149
159
69
144
148
190
160
71
226
164
143
187
200
170
136
172
192
166
103
185
160
216
180
164
176
179
69
165
168
154
136
144
141
103
127
157
183
177
178
182
184
185
182
180
189
191
189
188
192
195
189
203
199
191
189
198
194
196
187
180
187
171
198
182
178
231
208
153
170
146
118
112
255
214
141
157
138
149
183
118
196
201
158
194
128
157
204
158
167
102
148
105
124
166
166
153
99
83
129
94
88
116
59
59
137
130
71
71
151
156
94
95
96
149
142
118
186
152
147
146
153
152
172
154
162
182
165
124
175
179
195
184
166
191
199
163
125
150
171
170
201
176
153
178
194
190
171
162
171
189
159
97
130
127
131
177
158
180
200
171
198
141
136
156
136
149
163
155
181
205
201
208
195
171
147
165
156
194
200
155
109
73
88
95
93
111
125
145
127
132
156
172
161
154
174
188
206
212
207
182
166
154
130
129
135
170
187
158
152
183
182
193
170
162
186
184
185
209
61
59
60
57
58
58
58
54
57
59
61
66
69
74
76
80
84
94
99
106
111
112
114
115
115
114
114
114
115
115
115
115
115
116
116
114
116
116
116
118
118
118
75
141
137
119
118
129
132
134
139
143
140
141
149
160
93
127
154
159
144
127
161
148
168
162
140
156
178
165
147
162
164
150
160
183
148
195
159
167
183
102
93
146
186
147
84
179
198
166
167
205
198
140
124
147
205
143
134
167
186
208
172
176
163
176
90
164
129
167
177
120
99
158
89
151
195
170
181
181
184
183
183
186
190
185
178
191
191
192
190
203
203
192
196
196
184
187
171
165
181
158
180
158
185
174
182
177
184
186
199
190
200
182
177
179
193
194
205
151
154
196
155
243
171
213
195
179
203
149
173
167
175
122
173
150
149
116
128
150
107
107
143
151
93
165
145
158
139
122
123
97
80
86
140
176
146
178
111
122
172
135
125
173
157
159
143
149
197
210
180
147
172
193
192
182
167
145
121
141
182
178
165
145
154
164
188
205
185
172
172
197
171
155
138
161
166
171
166
169
175
166
125
138
167
163
119
124
185
187
217
208
223
208
187
157
125
195
201
185
173
174
95
89
97
118
154
156
146
124
149
156
161
188
198
176
194
207
222
187
151
166
169
132
140
208
173
161
175
194
202
191
177
180
190
210
199
188
194
64
64
63
59
57
56
54
49
54
59
65
69
73
76
86
91
96
102
106
110
113
122
121
115
114
112
106
102
114
121
124
119
124
125
118
113
123
109
92
98
122
143
127
118
122
130
128
121
118
135
148
132
113
95
114
163
152
132
144
163
139
133
175
153
160
163
155
149
150
149
148
158
160
189
183
142
141
182
163
57
153
178
147
196
80
194
144
179
146
147
194
114
152
122
177
182
104
174
171
177
208
153
183
171
168
97
150
131
155
122
142
99
118
133
129
108
188
185
179
181
182
184
186
188
190
182
184
187
191
193
196
196
196
194
192
187
179
176
174
183
183
182
179
176
174
172
171
171
170
170
169
169
169
147
188
199
179
182
186
199
206
192
235
144
173
187
200
179
160
188
163
183
191
179
148
157
124
137
129
142
111
79
133
116
120
171
182
192
152
120
153
104
85
117
150
154
191
152
111
155
196
195
136
141
136
151
154
178
227
179
172
146
159
181
163
164
179
164
160
142
163
184
185
103
104
150
115
119
94
120
147
134
146
153
137
145
148
152
211
198
193
130
104
194
112
121
142
173
200
217
200
195
150
144
159
172
128
114
120
124
137
159
159
140
110
110
154
172
162
160
139
144
142
158
155
159
198
181
184
165
173
190
157
158
172
183
173
167
179
178
169
175
189
200
206
201
211
213
198
64
62
62
59
58
58
56
58
60
65
71
72
78
85
93
96
102
108
111
114
115
118
113
110
112
111
105
98
116
99
110
111
107
110
112
127
115
94
108
125
122
109
122
126
127
126
125
133
142
146
101
89
125
161
161
150
150
156
152
141
152
161
145
154
166
165
140
137
152
150
142
183
201
146
156
193
184
133
47
187
165
135
160
96
172
174
176
140
110
178
146
119
132
152
168
188
150
187
152
199
186
145
183
190
132
85
159
125
154
124
133
92
162
107
155
79
178
171
179
181
183
184
186
190
190
185
186
188
191
193
194
193
194
192
190
185
180
178
175
192
190
187
184
177
175
171
168
166
166
163
163
162
162
181
179
166
200
209
184
172
174
183
194
151
151
157
147
166
160
192
173
181
191
200
182
177
128
161
141
116
144
105
115
127
130
138
181
195
166
69
164
172
106
97
116
154
204
182
145
159
188
211
170
119
139
144
187
216
199
162
165
168
165
159
154
171
154
183
196
157
152
211
194
94
120
145
110
71
95
145
171
138
107
101
112
148
168
133
149
193
145
199
189
91
180
145
131
171
182
201
199
212
175
157
162
176
166
120
142
167
165
157
193
184
142
133
150
191
174
140
156
156
174
175
159
185
193
211
209
197
194
191
179
181
179
187
168
169
208
203
185
193
197
200
202
196
202
208
202
55
54
55
57
60
65
68
76
79
88
119
130
129
127
128
125
125
130
128
127
128
147
145
137
128
117
110
107
107
95
116
116
102
95
94
121
113
128
127
115
115
125
133
119
129
129
126
113
97
120
162
144
139
150
154
148
140
147
154
132
139
161
153
148
142
145
156
155
151
155
187
173
182
157
163
178
121
192
162
168
147
182
99
202
155
193
119
161
181
154
131
117
172
175
194
123
174
149
196
181
157
175
134
116
110
155
109
143
136
150
129
80
139
116
134
94
173
176
179
181
183
186
188
192
192
192
190
191
192
190
188
186
186
186
185
186
185
186
186
192
192
189
183
176
172
167
163
163
161
164
164
164
164
173
172
174
194
191
179
172
179
158
150
119
183
184
125
182
175
211
192
201
213
179
187
180
127
155
123
128
170
55
107
161
81
125
183
194
163
83
127
67
54
133
130
187
178
125
125
177
171
131
162
175
187
155
202
186
155
177
205
209
179
161
173
173
155
172
178
200
181
189
130
143
144
157
123
133
116
187
194
212
186
125
111
142
167
180
193
182
149
191
122
183
137
121
121
150
187
195
190
181
194
181
181
181
149
153
185
193
187
196
194
207
168
183
132
127
146
131
150
156
146
126
130
182
191
211
192
196
206
222
203
174
158
163
178
179
176
188
191
191
217
184
169
181
199
206
213
43
43
46
56
64
72
82
99
121
133
137
142
121
89
67
56
49
46
39
37
37
30
36
68
84
96
103
106
107
73
106
131
123
101
87
128
125
115
127
138
123
96
140
99
110
122
144
155
143
146
145
137
144
165
169
150
120
136
172
161
144
150
151
149
159
163
155
153
159
162
204
157
176
124
89
199
168
131
176
171
72
171
194
176
127
152
185
165
119
126
145
185
128
154
129
192
158
178
174
142
173
134
173
134
148
139
110
154
112
162
111
114
105
124
95
141
173
185
179
181
183
186
188
192
192
196
195
194
191
189
183
180
180
182
184
186
191
194
194
181
181
178
175
168
164
162
159
161
164
168
172
172
174
154
159
169
163
164
171
173
167
149
171
176
198
166
189
157
126
206
192
183
210
179
195
216
169
173
173
141
137
114
109
194
143
128
176
192
143
69
80
81
65
67
103
158
186
177
123
122
144
146
132
126
168
176
182
225
189
192
185
196
185
147
158
176
200
178
168
152
192
219
197
92
143
137
175
175
191
191
196
198
168
149
141
143
147
189
148
178
179
169
185
157
113
151
149
151
202
197
208
229
201
192
184
154
138
144
169
174
168
185
190
177
168
129
120
114
136
186
139
143
133
143
174
213
158
159
201
175
154
164
158
156
181
181
177
174
182
172
155
155
187
196
191
171
194
207
194
47
50
58
57
53
55
72
111
150
193
217
191
148
108
70
75
56
45
51
47
58
70
62
94
94
71
59
68
124
128
97
78
115
120
134
126
120
108
116
119
103
82
105
132
124
125
131
136
139
153
140
153
162
158
128
102
173
156
140
158
167
155
148
150
155
168
157
136
169
181
204
73
134
213
145
154
178
175
82
147
210
152
172
153
171
195
116
161
132
132
171
180
137
145
195
146
182
193
147
164
157
170
135
123
173
84
163
105
154
144
126
136
107
133
115
167
177
182
180
180
181
181
179
179
179
188
188
188
187
187
186
186
187
186
186
185
183
182
182
175
175
174
173
170
169
169
166
167
167
168
169
169
169
169
169
168
169
170
170
168
168
167
165
165
165
164
162
160
180
110
102
168
198
163
209
181
183
218
211
155
162
136
184
165
162
113
136
200
116
85
186
119
167
144
85
170
228
185
138
204
202
171
176
174
131
150
166
150
177
216
185
184
147
139
203
153
171
169
198
191
185
152
145
72
124
155
173
194
191
169
176
162
171
187
152
144
138
170
172
183
163
166
185
197
244
189
143
198
186
210
215
199
167
144
125
109
162
148
167
164
162
179
206
227
147
153
186
169
143
191
162
197
189
186
179
164
171
166
199
199
183
169
187
169
151
151
197
213
223
209
172
184
170
164
151
153
186
193
209
48
52
58
57
52
56
72
117
158
199
205
176
139
108
80
71
58
34
35
38
39
58
71
62
38
38
78
122
99
96
54
109
126
109
103
111
130
141
114
91
94
112
128
125
124
134
138
142
148
128
138
141
135
115
148
184
135
136
161
148
125
135
152
164
177
145
135
206
183
182
45
158
175
144
172
173
177
76
144
202
136
169
130
168
175
151
140
127
126
148
170
162
119
193
141
152
194
167
159
167
151
162
141
155
130
110
156
102
163
112
119
136
115
123
129
167
176
180
180
180
181
180
179
179
179
188
188
187
187
187
186
186
186
186
185
184
182
182
181
175
175
174
173
170
169
169
166
166
167
168
168
168
169
169
169
168
169
169
168
168
167
167
164
164
163
161
161
144
164
174
173
202
199
161
188
217
194
169
183
147
214
157
135
136
153
147
161
150
132
117
139
141
164
129
86
163
202
195
142
165
178
183
194
181
146
149
177
186
186
172
208
174
145
167
162
180
165
140
183
188
172
124
111
71
91
147
186
185
166
166
178
165
180
155
155
172
154
134
168
186
177
168
204
116
149
169
170
194
175
170
222
229
205
214
186
124
119
159
180
166
130
113
153
197
154
161
184
161
141
183
173
174
192
213
210
174
158
187
211
209
196
181
158
144
142
160
203
216
200
173
162
161
163
159
145
146
192
209
229
56
57
62
56
53
53
68
100
142
190
202
181
163
151
143
114
96
70
63
68
70
79
69
50
52
52
43
36
78
40
122
83
99
109
104
88
85
124
137
130
121
122
119
131
130
132
128
127
135
163
95
127
172
149
148
147
158
151
141
142
154
161
157
129
136
196
174
192
121
63
173
146
158
174
145
191
125
223
155
161
162
117
150
154
146
153
132
155
151
190
134
159
177
134
184
139
150
152
171
160
136
150
127
161
91
156
121
136
153
91
142
126
123
97
166
168
175
177
179
179
180
180
179
178
178
186
186
186
186
185
185
184
183
183
182
182
181
181
180
174
174
173
172
169
169
168
166
166
166
166
166
166
166
166
167
167
168
166
166
166
165
162
162
160
158
157
157
168
154
171
178
184
194
200
148
121
194
187
160
199
145
165
153
130
148
213
163
179
143
95
132
154
146
113
96
129
182
146
83
115
168
162
201
193
207
188
194
220
190
179
187
217
179
133
172
188
178
171
177
145
134
118
125
171
162
146
146
182
206
147
166
140
159
140
178
176
146
166
188
130
185
198
189
186
173
188
156
180
188
194
186
221
202
209
165
112
152
139
169
189
191
186
156
148
155
170
170
145
143
142
172
186
205
209
213
205
103
105
154
158
171
192
195
177
171
176
165
173
200
196
187
186
174
185
178
167
190
198
207
64
64
64
57
52
55
66
87
118
162
200
189
181
175
148
137
98
65
47
33
47
33
31
54
48
36
48
72
42
55
111
64
53
105
107
131
121
135
140
131
121
122
127
130
128
138
142
129
118
89
156
146
157
157
168
151
180
173
163
180
157
112
102
185
167
167
74
125
204
157
175
176
162
168
89
125
167
179
158
129
160
161
189
151
124
114
147
175
187
115
182
150
153
169
141
221
166
180
155
127
139
127
135
102
163
135
114
160
102
118
147
118
109
115
168
171
176
179
178
179
179
179
178
177
178
185
185
184
184
184
183
183
179
179
179
179
179
179
179
174
173
172
171
169
168
167
167
167
167
166
166
166
166
165
165
165
164
164
165
163
162
161
159
156
155
154
154
150
156
144
141
142
145
150
160
194
153
165
169
171
158
106
95
119
157
153
205
170
169
195
126
141
202
160
124
167
177
167
111
113
144
174
194
183
194
186
151
115
125
200
191
205
163
130
183
194
191
187
175
135
146
152
170
164
186
191
160
172
198
149
160
93
86
113
175
177
153
132
186
191
188
155
160
131
137
182
165
180
222
165
90
130
160
222
205
140
116
115
162
200
208
213
197
161
157
174
166
134
130
130
173
154
164
152
142
151
118
100
107
121
127
133
183
191
190
166
177
164
151
168
144
128
176
174
162
161
185
179
183
68
66
65
58
53
56
67
97
122
160
191
184
183
186
154
149
125
60
42
33
34
49
38
39
50
60
66
72
54
69
78
85
140
84
130
101
121
125
125
134
130
117
132
133
140
138
115
103
109
164
151
153
143
153
155
167
165
138
147
171
119
99
174
173
138
83
185
204
134
155
169
160
207
117
111
208
171
164
123
146
164
164
105
118
132
161
179
180
129
118
170
151
149
166
176
161
169
155
163
106
155
91
185
126
163
122
134
141
109
112
142
123
103
140
161
175
176
179
178
178
179
179
178
177
177
182
182
182
181
181
180
180
176
176
176
176
176
177
177
173
173
172
171
168
167
167
169
168
168
167
167
166
166
164
162
163
163
164
162
162
162
159
159
156
155
152
151
154
156
135
131
133
134
138
152
139
199
210
156
157
121
73
124
101
130
193
185
198
204
208
203
150
225
145
121
188
206
157
100
128
144
169
160
209
228
221
182
85
60
225
175
172
150
103
146
142
182
208
227
176
149
162
215
160
170
205
199
167
159
151
143
112
80
118
137
156
140
191
160
148
153
172
163
170
153
170
176
180
180
204
121
105
136
184
209
201
106
96
131
184
222
218
187
190
172
172
158
132
139
147
169
160
168
174
172
154
85
59
35
60
95
130
178
196
208
181
168
141
123
178
182
161
136
152
170
191
203
199
212
72
70
67
59
59
63
71
90
97
121
189
197
190
184
169
156
160
84
66
53
49
48
41
38
47
53
50
47
19
132
133
84
107
100
114
124
125
137
134
136
134
127
136
125
115
115
137
150
147
145
157
151
157
169
166
153
154
135
97
136
175
161
173
161
184
175
179
182
168
169
183
133
98
206
191
141
126
149
140
179
138
133
158
159
148
182
159
131
126
177
149
165
162
167
191
118
123
169
105
164
79
188
155
177
145
109
158
119
150
122
127
110
126
153
170
170
176
176
178
178
179
178
177
175
175
180
180
179
179
178
177
176
176
175
174
173
173
174
175
170
170
170
170
170
170
170
168
168
168
168
168
168
168
165
165
165
162
161
161
161
160
159
159
154
153
152
152
140
137
134
131
131
130
130
136
139
145
148
153
156
157
212
90
183
143
122
191
195
199
154
158
203
127
124
148
175
177
185
160
77
93
190
206
195
203
235
222
124
119
162
213
197
196
155
139
134
178
198
189
181
184
183
194
189
241
156
127
204
178
173
199
109
77
112
155
136
70
78
108
184
152
168
200
182
181
180
185
198
178
219
161
174
175
139
128
167
140
164
172
190
197
187
215
225
177
179
174
155
147
188
198
216
212
193
177
163
140
150
64
49
60
108
183
188
194
182
176
183
198
183
179
195
181
169
174
182
198
214
201
75
71
65
61
68
76
83
83
85
94
143
178
200
209
185
190
151
144
132
72
71
54
48
41
38
41
48
52
78
70
74
117
105
116
111
108
116
131
130
132
137
138
111
128
151
137
132
147
146
156
155
162
157
150
152
164
122
161
156
160
178
152
165
163
147
151
167
190
138
202
86
207
159
152
205
117
154
183
121
150
180
144
138
167
175
162
114
131
184
149
168
157
162
201
128
171
169
89
171
90
167
200
91
149
110
137
126
171
106
136
101
120
133
156
171
170
176
177
178
178
179
178
176
175
175
179
179
178
178
177
175
175
173
173
171
170
170
170
171
169
169
169
169
169
169
169
168
168
168
168
168
168
168
163
163
163
162
162
160
159
159
157
156
153
151
150
150
131
133
137
139
140
142
139
139
133
119
112
107
104
102
142
162
155
173
179
158
185
182
89
171
140
146
119
146
185
108
198
209
146
142
125
210
181
179
217
185
181
104
198
214
194
199
175
157
153
165
166
167
179
187
189
216
188
187
177
178
184
180
195
131
115
83
142
161
163
184
97
131
116
159
176
175
180
159
226
181
188
209
199
180
184
171
105
108
161
188
192
189
185
178
167
206
233
207
207
198
167
137
192
221
225
199
213
207
164
191
158
95
124
146
129
169
193
163
133
155
173
176
147
142
151
205
192
179
169
167
183
204
71
68
62
61
70
82
87
85
83
82
120
162
191
200
155
181
210
144
121
93
77
60
53
39
33
34
43
51
67
62
79
139
107
116
115
126
131
134
136
129
116
109
98
150
138
146
142
135
156
156
154
154
154
151
153
159
167
175
154
157
159
167
164
145
178
168
175
143
189
154
221
177
159
202
112
157
168
115
125
208
135
117
151
181
154
144
101
195
146
141
168
156
180
170
142
161
104
161
138
105
180
145
101
150
97
130
136
166
100
154
118
127
138
159
172
171
177
176
177
178
178
177
176
174
174
179
178
178
177
176
175
174
172
171
170
168
168
168
168
168
168
168
168
169
169
169
169
169
169
169
169
169
169
164
164
163
161
160
160
160
157
157
156
152
151
150
150
133
135
138
139
142
141
140
137
131
115
108
100
96
95
107
110
141
133
137
190
184
172
124
138
183
118
130
157
195
150
172
211
209
155
134
193
134
170
190
114
74
160
150
209
207
183
165
181
185
114
123
158
202
199
172
191
209
203
167
179
203
183
189
137
98
109
166
160
169
150
180
112
154
143
151
199
225
189
192
186
161
186
220
195
167
173
189
106
83
162
206
229
212
169
165
213
188
195
200
209
186
139
169
191
204
232
209
190
219
166
165
136
121
156
189
159
183
198
173
163
154
167
206
182
156
174
171
193
213
194
193
187
65
61
57
64
78
90
94
90
76
65
101
143
178
195
198
204
201
193
173
121
101
101
80
39
29
31
40
47
18
37
73
108
101
104
106
98
114
112
116
119
130
152
136
129
136
158
148
137
157
161
149
136
143
165
172
161
135
169
172
170
183
156
161
168
155
171
171
159
81
181
129
182
152
111
164
147
101
191
174
151
171
149
159
167
109
141
192
143
155
157
158
171
181
133
166
171
148
147
106
187
166
81
154
120
97
133
194
125
142
160
108
142
147
162
171
169
176
175
175
175
175
174
173
171
172
174
173
173
172
171
170
169
167
166
164
163
161
161
161
165
165
166
166
168
168
169
170
170
170
170
170
170
170
165
164
164
161
161
161
159
158
158
156
154
152
152
151
142
140
137
134
130
127
127
125
123
118
115
115
116
116
86
81
81
98
125
98
123
146
182
151
159
110
180
179
148
136
170
179
188
241
216
136
107
98
185
176
132
66
196
135
181
155
145
178
200
161
110
93
140
162
151
179
192
137
163
222
199
193
207
142
112
130
155
204
146
141
144
168
165
184
159
181
197
209
200
177
207
161
187
186
199
152
138
136
121
161
162
164
177
201
203
171
186
213
153
170
190
150
201
161
194
207
212
209
209
200
188
220
171
160
180
176
180
181
175
200
212
203
173
167
170
170
155
170
185
202
224
215
63
62
59
73
87
100
102
88
73
64
81
111
162
206
202
216
206
216
199
171
204
142
107
45
36
39
45
48
37
34
177
135
120
124
117
115
116
111
139
143
129
126
141
143
135
144
154
152
144
160
153
159
158
152
151
156
161
166
158
170
169
141
147
168
178
151
83
173
187
144
161
123
156
185
178
130
161
154
156
138
173
178
168
101
184
152
164
159
145
164
161
165
140
170
172
126
151
100
189
160
97
148
156
105
115
205
175
110
157
151
132
149
152
163
170
168
174
173
172
172
172
172
170
169
169
171
171
170
169
169
167
167
165
164
162
160
158
158
158
163
164
165
165
167
168
168
170
170
170
170
170
170
170
165
163
163
162
161
159
159
160
159
158
155
154
151
151
149
147
135
128
120
116
113
116
117
124
130
136
141
143
151
138
125
118
116
92
107
92
78
90
75
93
75
80
104
140
173
212
179
152
158
170
147
179
117
240
255
205
133
203
224
146
221
130
143
210
184
94
110
161
141
125
189
202
191
153
135
156
158
138
116
158
146
146
255
164
184
147
172
156
195
215
209
192
228
189
180
184
166
168
164
181
187
164
171
124
142
163
181
203
221
176
166
202
162
167
181
160
176
160
176
200
208
219
226
161
156
244
210
167
140
133
161
201
186
201
208
211
184
175
180
164
199
180
155
183
181
211
71
72
73
76
77
78
79
81
82
85
95
99
95
91
151
178
174
173
193
221
157
163
111
72
55
47
50
46
7
95
155
137
121
116
125
92
100
139
123
124
141
143
145
146
147
149
150
151
152
153
150
154
155
155
157
161
152
179
150
140
168
159
172
173
172
73
164
168
153
136
113
188
156
141
116
148
156
168
149
144
170
188
157
114
187
142
158
144
157
168
180
165
150
159
171
74
98
160
179
133
96
176
123
74
132
182
137
126
164
126
149
155
165
171
166
164
167
164
167
165
165
165
165
163
163
172
169
168
168
167
163
161
158
155
154
153
149
148
148
151
152
153
155
161
162
163
165
165
165
168
169
169
169
170
168
168
167
166
164
164
164
162
161
160
159
156
156
148
145
142
139
135
132
129
124
123
119
116
114
111
111
112
112
109
109
106
105
103
102
96
94
90
90
90
90
98
101
106
123
139
137
130
122
108
185
193
144
201
238
173
156
217
197
192
229
161
167
221
148
133
198
218
250
124
175
186
171
140
112
180
234
222
184
214
64
128
144
177
169
135
153
163
152
171
202
173
213
165
130
212
166
177
143
165
171
202
193
148
143
163
147
198
221
143
149
226
177
148
174
199
196
172
174
176
163
170
212
155
113
158
168
150
182
194
196
216
207
200
171
185
176
170
190
170
187
182
184
201
172
73
73
74
76
77
78
80
80
84
88
94
98
99
102
163
147
161
182
185
197
175
158
149
41
36
43
32
27
32
46
86
104
93
73
73
121
138
110
129
141
138
145
144
145
146
149
150
150
151
150
148
154
156
156
158
161
170
166
143
143
146
151
175
74
147
187
141
149
193
107
139
150
165
114
192
145
130
168
148
193
161
184
112
178
144
153
150
159
150
156
146
147
167
170
49
203
148
178
153
83
179
133
165
84
179
185
124
146
181
86
142
158
166
170
166
164
166
163
163
161
161
161
161
159
159
165
165
164
164
161
158
157
154
154
153
152
150
148
147
152
152
153
155
160
161
162
165
165
165
168
168
168
169
168
168
168
167
166
164
164
164
162
161
160
157
156
156
147
146
141
139
135
132
129
126
124
120
117
114
113
113
112
111
109
108
105
105
102
99
95
93
90
90
90
90
73
86
86
92
106
120
129
144
150
152
148
132
84
103
154
178
155
165
245
185
220
154
177
100
124
181
196
233
209
156
87
77
96
112
126
130
144
191
200
255
189
110
109
156
170
152
172
181
213
187
153
118
73
132
198
190
202
216
149
205
226
187
178
182
183
179
124
177
203
207
164
132
127
163
193
206
203
207
221
210
175
177
172
164
138
146
184
180
184
213
181
177
165
184
172
136
203
212
178
190
202
209
164
179
76
76
76
78
78
79
80
80
85
90
94
99
103
108
167
166
153
134
140
135
145
150
81
41
39
32
35
43
34
27
49
51
42
69
110
127
105
132
137
137
143
143
144
145
145
146
147
150
150
147
148
152
154
155
156
159
172
147
171
145
147
191
90
174
150
132
182
126
144
162
171
108
165
141
157
168
134
201
187
145
192
102
182
141
146
157
143
162
147
170
145
161
155
72
207
86
170
155
100
156
138
163
123
174
191
150
123
175
161
82
134
164
167
167
165
162
161
160
156
156
156
154
154
154
154
157
157
156
156
154
153
151
151
151
150
150
149
149
149
152
152
153
154
158
159
160
164
164
164
167
167
168
168
168
168
168
165
164
164
164
162
162
161
158
157
156
156
147
147
142
138
136
133
130
127
126
120
118
115
114
114
111
110
108
105
105
102
102
98
95
91
90
91
89
89
71
72
72
74
76
77
80
84
95
90
94
108
106
106
122
123
140
179
143
155
201
157
159
136
154
151
227
255
189
216
161
57
60
101
173
217
169
178
127
145
174
187
158
134
155
204
177
121
171
121
157
173
136
130
153
212
255
190
171
196
205
229
154
228
143
189
255
175
200
188
245
167
147
199
180
208
197
207
211
202
203
221
197
186
180
191
187
214
199
121
197
189
155
138
191
178
221
123
107
144
149
187
189
230
77
77
77
78
79
79
80
81
85
89
96
101
103
106
142
140
77
74
140
135
148
90
57
47
33
37
48
39
53
36
47
53
50
68
91
102
89
142
137
136
143
139
141
142
145
146
147
147
150
148
149
153
154
152
152
155
137
147
154
171
162
107
94
126
171
183
118
102
176
137
56
162
181
165
139
186
181
166
136
193
104
145
184
162
136
169
145
152
160
133
157
160
115
132
190
90
159
145
87
177
135
174
94
161
192
135
145
190
129
108
134
166
166
165
162
161
158
155
154
154
152
152
152
152
152
152
152
152
152
152
150
150
150
150
149
149
149
149
149
152
152
153
154
158
158
159
163
164
164
167
167
167
167
168
168
168
165
164
164
162
162
162
159
158
157
156
156
148
147
143
139
135
131
128
127
126
120
116
115
113
113
110
109
108
105
104
102
99
97
94
91
91
89
89
90
82
80
82
85
86
84
81
82
81
83
81
79
97
87
77
109
102
124
178
82
162
111
150
203
166
210
216
253
187
191
175
126
77
77
186
205
166
177
173
96
136
186
170
160
150
157
162
152
170
138
83
163
163
142
138
179
247
255
192
190
198
177
159
155
188
126
158
130
213
191
181
162
153
189
172
184
216
196
196
214
204
190
214
202
205
204
194
213
190
135
106
171
203
165
181
188
202
143
154
143
173
131
162
193
78
79
79
79
79
80
81
83
84
87
100
105
101
98
77
116
77
106
88
98
122
97
97
51
58
56
43
43
50
49
51
46
47
50
47
49
108
132
138
142
137
139
141
142
143
143
146
147
147
147
149
153
153
151
149
151
168
112
189
149
80
184
147
155
166
122
166
131
159
93
187
146
158
157
160
127
155
145
180
114
152
168
146
142
163
140
158
147
159
138
155
121
118
183
66
198
157
78
184
123
148
148
55
177
169
100
167
189
58
158
148
167
163
160
160
159
152
152
151
151
151
151
150
150
150
148
148
148
148
149
148
148
148
148
148
148
148
148
148
152
153
153
154
157
157
158
163
163
163
166
167
167
167
166
166
166
165
162
162
162
160
160
159
157
156
155
155
147
146
141
137
135
132
129
125
123
117
116
113
113
112
109
109
105
105
102
99
99
96
92
89
89
89
88
88
105
103
102
99
98
99
104
104
91
96
97
95
94
97
96
83
98
84
87
87
82
121
138
129
123
176
224
245
219
201
137
95
158
184
80
109
106
147
175
199
188
153
155
173
178
183
181
169
188
154
64
54
98
147
83
164
192
201
193
199
232
191
200
224
168
150
229
192
174
119
164
188
182
127
216
149
184
216
223
199
192
216
200
206
199
209
201
190
215
208
149
129
119
144
200
175
199
213
189
176
179
194
219
205
79
79
80
80
81
81
82
82
85
89
99
105
107
109
132
86
68
103
118
118
106
118
106
70
61
56
65
82
63
60
52
50
47
48
33
24
141
129
147
132
142
137
141
142
142
145
145
146
148
153
161
141
137
167
142
140
172
141
100
152
146
150
170
89
159
183
137
128
111
172
159
137
165
158
145
173
172
131
133
156
163
158
151
148
145
140
150
130
118
163
124
116
173
91
159
143
95
154
155
134
174
74
124
197
128
132
186
130
104
169
152
161
158
157
156
154
149
148
149
147
146
145
146
145
146
145
145
145
145
145
147
147
146
146
146
147
148
149
149
152
152
153
153
155
156
156
161
162
162
166
167
167
167
166
164
163
163
162
160
160
160
159
158
156
156
153
153
144
142
137
135
132
129
127
123
121
117
114
113
110
110
109
109
105
103
100
99
98
97
92
92
89
88
87
87
96
95
94
97
98
99
102
101
102
102
104
104
104
104
119
113
104
96
86
76
72
69
75
91
98
88
90
109
150
159
187
176
108
82
223
151
147
182
199
149
152
167
162
197
209
165
146
159
113
114
131
121
86
84
93
109
165
163
193
208
210
233
167
189
168
152
206
184
189
104
114
210
165
162
155
179
196
148
169
230
205
154
179
216
217
198
178
213
207
170
163
143
128
139
179
200
228
204
211
215
200
224
230
195
79
80
80
81
81
81
82
83
86
89
99
105
107
109
127
106
83
99
114
118
119
123
88
66
90
99
90
78
70
70
62
52
42
51
15
24
179
125
154
137
150
143
138
139
140
142
145
146
147
135
146
155
140
122
161
148
171
87
151
154
175
128
164
175
161
130
142
93
172
166
157
160
150
152
147
139
165
106
164
165
142
165
147
132
160
135
180
112
158
149
64
170
124
97
166
156
86
178
125
165
132
82
129
188
118
141
193
103
139
155
154
158
158
156
155
153
149
148
147
146
145
145
143
144
145
142
142
142
144
144
144
144
146
146
146
147
149
149
149
152
152
152
153
156
156
156
161
161
161
165
166
166
167
164
163
163
162
160
160
160
159
158
158
154
153
153
152
141
141
136
134
131
128
126
123
120
115
114
111
110
109
109
108
105
103
100
100
98
96
93
92
89
88
88
85
84
83
83
86
87
90
93
94
95
97
97
99
99
99
103
100
96
92
88
83
81
79
74
73
85
91
83
79
105
137
146
180
191
148
144
232
208
186
187
205
155
155
128
142
193
200
159
146
150
95
79
95
104
116
99
122
167
137
164
221
231
211
203
197
205
157
150
175
161
151
148
123
145
153
208
178
188
188
159
157
226
206
114
200
207
197
176
189
178
181
158
204
178
131
181
186
209
219
216
210
198
203
213
206
80
80
81
81
82
82
83
86
88
92
100
106
108
109
115
110
93
127
138
116
95
106
104
122
109
94
87
82
75
76
69
53
38
48
19
135
177
106
138
148
129
138
138
140
142
144
145
146
149
157
153
134
124
133
137
158
147
164
140
152
168
123
109
129
160
94
157
173
154
152
154
131
149
167
159
158
116
171
159
156
157
145
160
159
138
168
101
169
156
171
170
144
98
174
143
158
196
136
151
135
88
96
153
132
132
178
178
77
173
129
152
155
155
154
151
150
148
147
146
145
142
141
140
141
141
137
137
138
138
141
142
144
144
146
146
147
149
149
149
151
151
152
153
156
157
157
160
160
161
165
165
166
166
163
163
162
160
159
159
158
158
158
155
153
153
152
152
140
140
135
131
128
125
123
122
119
114
111
110
107
107
106
106
104
102
101
99
97
96
93
91
90
87
86
86
73
73
73
75
75
77
78
80
82
82
84
84
85
85
59
61
65
73
79
85
92
103
100
94
88
77
71
77
77
81
88
91
110
120
114
142
148
206
197
191
172
139
153
147
148
161
153
159
164
190
186
145
108
98
118
123
145
182
156
159
202
192
189
199
136
206
211
170
188
163
84
187
214
161
156
164
160
189
180
220
145
209
230
204
180
160
219
179
203
189
186
192
192
178
157
171
191
202
208
174
176
198
161
185
81
81
81
82
82
83
84
88
90
94
102
107
108
110
88
100
124
100
94
115
128
110
98
107
91
89
104
109
84
69
57
53
45
22
61
95
88
20
71
55
44
46
73
86
98
111
123
131
136
138
150
136
133
142
107
119
105
146
196
106
118
173
151
81
124
177
155
134
147
159
138
192
143
131
169
124
168
155
147
156
159
155
157
159
153
126
171
141
142
90
146
87
179
152
177
81
138
136
149
109
77
149
138
115
145
191
122
124
155
144
151
151
151
150
150
149
147
146
145
142
140
139
138
136
136
134
134
135
137
138
141
141
144
144
146
147
149
149
149
150
150
151
152
157
158
158
161
162
162
166
167
167
167
160
160
160
159
159
157
157
157
155
154
153
150
149
149
139
138
133
132
128
126
123
119
117
114
110
109
106
106
105
105
102
102
101
100
98
97
92
91
88
88
87
87
93
91
90
88
88
87
87
88
86
84
84
84
84
83
98
91
85
80
77
76
78
86
84
89
96
91
84
85
109
75
66
80
72
66
69
96
89
115
149
188
178
163
124
138
182
185
170
173
211
171
179
196
178
185
160
107
99
140
194
184
167
201
227
189
176
209
170
215
209
188
199
176
136
161
199
177
153
216
180
194
209
149
154
176
134
164
189
123
129
199
192
195
187
182
173
182
221
223
117
131
183
110
148
149
81
81
81
82
83
83
84
88
91
94
102
107
108
110
100
94
117
111
109
122
119
136
116
115
97
91
100
95
88
69
52
52
46
10
74
94
122
73
153
130
147
148
144
142
140
139
138
136
136
142
97
119
168
115
96
162
157
166
124
82
196
139
152
91
189
146
166
134
170
149
174
133
123
180
152
105
125
173
146
153
165
147
163
138
130
147
145
176
129
111
97
148
138
159
102
97
118
152
150
85
110
134
158
131
163
200
102
136
134
145
155
151
150
150
149
149
146
146
144
141
140
138
137
135
136
133
134
135
136
137
141
141
144
144
146
147
149
149
149
149
150
151
152
157
158
159
162
162
163
166
167
168
168
160
160
160
159
158
157
157
157
155
154
153
150
149
149
139
138
134
132
128
126
124
119
117
114
110
107
106
106
105
105
102
102
101
100
98
95
92
91
89
88
87
87
102
98
97
95
95
93
92
92
90
88
86
86
86
86
121
111
99
89
79
72
72
81
86
82
82
83
84
85
90
100
87
62
67
81
128
102
107
98
89
138
193
160
163
146
157
194
187
173
195
175
164
174
198
213
159
182
81
110
167
203
207
208
200
209
196
177
182
220
228
183
181
200
181
167
190
202
183
150
212
191
165
201
165
125
85
148
157
165
109
180
196
172
175
166
185
214
180
108
172
171
134
143
136
156
77
79
80
83
85
88
90
94
96
97
102
102
105
105
116
114
113
111
109
109
114
119
136
118
122
120
122
138
130
134
96
56
12
110
158
134
168
57
165
135
151
153
139
134
142
147
142
124
109
145
162
125
77
172
139
157
163
84
164
165
131
140
116
161
139
151
160
150
156
142
135
152
153
122
124
160
140
143
144
140
141
146
145
141
127
148
154
114
120
184
140
143
161
121
92
164
148
127
105
75
142
149
173
126
167
180
87
163
141
139
143
154
154
154
152
150
144
143
139
136
133
131
130
129
130
133
134
136
140
141
141
143
145
146
146
148
149
149
149
156
157
158
160
163
164
165
167
167
167
166
166
166
166
166
166
165
162
161
158
158
158
156
155
152
149
148
148
136
136
132
130
128
127
125
121
121
116
113
112
111
110
103
103
103
102
101
101
100
98
97
96
93
92
92
91
86
84
83
83
83
84
86
84
84
84
84
86
86
86
85
84
83
82
82
83
83
82
82
82
82
84
84
84
83
83
84
87
88
89
92
94
95
97
99
102
104
194
126
146
191
155
131
164
222
207
173
175
173
167
205
151
144
158
127
160
213
184
147
164
176
187
225
124
126
247
179
185
158
152
162
123
136
148
178
183
207
177
138
145
180
140
116
143
162
160
171
192
172
200
198
179
152
178
175
180
157
151
158
171
77
79
80
84
86
89
92
95
98
98
102
103
105
105
108
108
106
109
113
121
128
121
121
113
124
123
111
106
138
102
79
20
104
162
138
119
168
73
171
133
139
153
136
132
137
147
149
143
138
148
87
163
122
120
140
148
128
176
135
127
116
140
157
146
154
148
152
167
143
116
161
160
84
146
140
131
136
137
140
140
142
146
147
144
158
153
132
108
178
101
138
168
129
77
156
139
164
107
123
73
144
143
157
158
184
123
124
155
138
149
147
153
153
151
151
148
143
140
138
135
132
131
130
131
129
134
135
139
140
142
144
144
146
146
149
149
151
152
152
161
162
163
164
168
169
169
173
173
172
170
169
168
168
167
167
166
162
162
159
159
158
156
155
152
149
148
148
137
136
132
131
130
128
126
125
122
117
116
113
112
111
105
105
102
102
101
101
100
100
97
96
95
95
94
94
87
85
83
84
85
85
85
83
83
83
83
83
83
83
83
83
82
82
81
83
83
83
83
83
83
85
85
85
82
85
86
86
88
89
94
94
96
97
100
102
104
155
150
165
148
129
175
203
174
191
174
151
164
200
185
187
162
135
158
143
146
187
181
181
192
180
147
138
141
119
135
222
201
203
99
86
119
138
199
205
205
182
192
164
168
175
116
134
198
143
199
165
191
152
185
163
174
215
164
176
163
193
237
172
77
79
80
85
87
90
93
96
99
99
102
103
105
105
100
103
105
110
112
116
124
133
123
97
100
103
96
93
133
102
45
62
160
137
145
142
167
66
164
133
126
116
142
149
159
167
167
157
149
133
137
121
127
143
143
114
173
133
141
103
127
168
140
154
157
138
149
165
136
115
139
126
120
174
116
130
135
135
138
141
142
144
146
138
153
147
87
171
140
115
121
156
91
135
163
130
111
114
102
123
130
156
158
135
179
101
141
146
139
148
146
151
151
151
151
147
143
140
139
136
135
131
131
131
131
136
137
139
141
142
144
144
146
148
149
150
153
153
154
163
163
164
166
169
170
171
174
174
173
171
170
169
169
167
167
166
163
162
159
159
158
156
155
152
149
148
148
137
137
135
132
130
129
128
126
123
118
117
114
113
112
105
105
105
104
102
102
101
101
100
99
96
95
95
95
90
87
85
84
84
84
85
83
83
83
83
83
83
83
82
82
82
82
81
83
83
83
83
83
83
85
85
85
85
85
86
88
89
91
94
96
97
98
100
104
106
116
129
129
136
153
158
166
155
186
184
147
146
191
200
191
130
160
163
136
148
204
155
203
194
175
184
122
125
142
165
134
191
168
119
101
134
163
154
193
215
216
182
187
148
138
135
69
149
167
185
217
188
185
166
195
150
111
149
173
166
170
173
192
77
79
80
86
88
92
94
98
100
100
103
103
105
105
94
98
104
110
113
115
118
114
119
125
108
90
78
69
111
95
103
154
149
135
134
133
162
127
180
149
158
136
90
23
2
6
31
58
73
121
134
113
118
144
73
157
117
103
83
146
141
152
153
152
128
143
140
124
140
132
93
127
149
125
119
134
137
134
136
140
141
137
137
165
153
96
160
120
111
129
153
86
111
173
122
155
108
129
97
155
113
161
111
161
152
89
164
129
149
138
140
150
148
148
148
147
142
139
140
138
136
135
133
134
134
137
138
140
143
145
145
147
148
149
151
152
155
156
156
165
166
167
169
172
173
174
174
174
174
174
173
173
173
168
168
167
163
163
160
160
158
156
155
152
149
148
148
140
140
136
134
131
130
129
127
126
122
118
116
115
115
109
109
108
108
106
105
105
106
103
103
101
100
99
99
92
89
88
86
86
86
86
84
82
82
82
82
82
82
81
81
81
81
81
83
83
84
84
84
84
86
86
86
87
88
89
92
92
95
98
99
99
102
104
108
110
104
106
115
113
110
134
148
186
162
138
103
116
160
174
138
176
163
194
190
151
195
213
177
166
177
143
165
128
144
148
155
189
139
118
62
73
154
193
201
193
213
194
145
150
131
150
118
125
105
172
139
209
187
163
114
188
165
93
98
123
169
195
185
76
78
80
85
87
91
93
98
100
100
103
103
105
105
89
92
98
111
114
114
112
111
111
107
112
124
130
131
129
127
136
146
148
153
169
157
116
40
15
17
39
48
53
40
40
58
79
78
59
53
103
128
82
88
147
80
90
118
155
146
127
135
146
148
146
129
95
164
141
135
129
137
132
127
131
133
121
140
137
131
138
131
128
145
93
153
154
105
144
150
118
91
178
117
143
147
175
80
149
113
154
149
116
205
65
117
149
132
139
157
154
145
146
146
146
145
141
138
137
137
138
136
136
136
137
141
142
144
144
143
147
149
149
149
150
152
157
158
159
167
169
171
173
176
177
177
177
177
177
176
175
175
175
171
171
170
165
164
161
161
158
156
155
152
149
148
148
142
140
138
136
135
132
132
130
128
124
122
121
118
117
116
115
113
112
112
109
109
111
108
107
106
106
103
103
98
96
95
91
90
88
86
85
82
82
82
82
79
79
80
79
79
79
79
82
83
86
86
86
86
88
88
88
89
89
92
93
97
99
99
103
107
108
111
112
114
114
115
114
114
114
115
119
138
145
162
174
157
129
142
170
133
205
177
163
194
188
204
181
217
180
184
136
154
177
171
177
164
130
160
88
79
110
159
198
220
170
180
187
152
161
164
165
161
83
122
137
176
180
194
181
205
144
195
177
122
152
189
170
76
78
80
85
87
91
93
98
100
100
103
103
105
105
89
94
100
111
114
114
109
96
98
107
116
130
135
136
173
156
161
142
118
99
80
44
32
59
73
82
82
70
46
56
68
76
71
58
50
65
101
73
69
130
96
99
113
144
144
131
131
138
137
131
109
111
140
134
152
115
134
130
128
127
125
128
131
135
128
133
141
128
133
103
129
145
148
103
152
135
73
115
166
130
159
111
117
85
145
128
163
151
139
154
88
143
154
137
144
148
140
145
145
146
146
145
140
139
137
138
138
138
139
137
137
141
142
144
144
146
147
150
149
150
151
155
158
159
160
168
170
172
174
177
177
177
177
177
177
176
176
175
175
171
171
170
165
164
161
161
158
156
155
152
149
148
148
142
142
139
138
135
134
132
131
130
126
123
121
120
120
116
116
115
114
112
112
111
111
110
109
106
106
105
105
100
98
95
94
92
89
88
85
83
82
82
80
80
79
80
79
78
78
79
82
83
86
86
86
86
88
88
88
94
93
94
97
99
102
104
108
110
113
113
115
117
122
123
121
118
117
117
118
126
130
135
155
188
196
77
197
136
111
200
185
174
234
175
207
177
189
185
222
139
186
175
175
187
173
158
116
84
113
149
189
218
151
162
212
199
165
132
142
217
159
106
148
176
177
210
189
181
173
188
174
134
131
147
130
76
78
80
85
87
91
93
97
99
99
102
102
104
104
94
98
105
114
114
108
103
96
98
124
140
149
152
148
119
106
85
46
25
24
24
43
40
42
44
45
42
39
45
55
58
48
36
43
55
50
38
71
61
86
87
59
122
126
130
125
132
141
135
123
115
156
129
140
90
144
119
115
125
129
125
120
130
114
145
144
105
142
166
124
127
150
98
136
124
155
99
166
131
145
124
115
94
148
117
130
156
107
117
141
86
149
120
126
156
141
149
142
143
143
143
143
140
140
139
139
139
140
141
142
142
144
146
147
148
147
150
151
152
155
156
157
163
164
164
172
173
175
177
179
179
179
179
179
178
178
177
177
177
171
171
170
165
164
161
161
158
156
155
152
149
148
148
143
143
141
138
138
135
135
132
131
127
126
123
123
122
120
120
119
118
115
115
114
114
113
112
109
108
108
107
104
102
100
97
95
93
90
89
87
84
83
81
80
80
79
79
78
78
79
81
82
86
86
87
87
89
89
90
99
99
99
101
103
107
110
114
116
118
119
122
124
138
138
135
132
129
128
126
126
130
134
140
140
144
166
162
149
174
126
141
132
203
200
207
185
170
165
190
163
183
228
209
173
172
154
88
99
112
150
173
155
149
88
132
211
235
154
169
154
166
206
172
195
157
183
198
136
169
146
145
172
116
103
139
76
78
80
85
87
91
93
96
98
98
101
101
103
103
100
103
108
114
113
107
99
89
93
131
148
150
143
139
110
117
95
109
86
43
35
46
46
30
35
40
42
44
50
48
34
31
38
35
21
11
32
40
52
51
44
155
114
137
141
121
128
136
111
138
126
139
116
109
132
129
127
127
116
113
123
126
128
136
113
114
147
143
123
126
134
116
124
139
148
109
164
122
126
131
73
162
112
143
120
141
124
120
147
74
126
155
132
137
151
137
139
139
140
141
141
143
141
141
140
140
143
144
145
147
148
148
149
151
151
152
154
155
157
158
159
163
166
167
168
173
174
176
178
179
178
178
180
179
179
178
178
178
178
171
171
170
165
164
161
161
158
156
155
152
149
148
148
146
145
142
141
138
138
135
132
132
130
128
127
127
125
125
125
123
120
120
119
119
118
117
115
114
113
113
112
110
106
105
101
97
96
95
92
89
86
83
82
81
80
81
80
79
79
80
83
83
86
87
87
88
91
91
91
101
101
101
104
106
110
115
118
120
123
123
124
128
143
143
141
142
140
141
140
145
145
146
144
138
134
155
162
171
157
188
175
162
97
145
166
173
184
196
144
168
168
157
164
210
211
144
167
217
241
179
160
177
112
121
137
131
130
206
201
193
191
198
198
155
206
182
160
158
121
107
158
184
173
198
148
76
78
80
85
87
91
93
96
98
98
101
101
103
103
103
105
112
116
112
105
98
101
98
130
151
164
169
171
135
138
120
126
105
66
46
45
45
29
34
31
12
3
50
29
21
22
24
22
15
27
66
30
50
63
0
152
121
141
129
124
127
119
106
140
101
139
87
128
134
116
124
123
118
114
117
120
124
136
110
115
152
133
110
121
134
110
131
129
139
80
119
110
141
124
124
164
125
141
132
139
97
126
151
80
128
134
135
139
146
144
147
139
139
140
141
141
142
141
140
141
144
145
146
148
149
150
151
153
154
154
155
159
158
159
162
164
167
168
169
174
174
176
177
178
178
177
180
180
179
179
178
178
178
171
171
170
165
164
161
161
158
156
155
152
149
148
148
146
146
142
141
139
138
136
133
132
131
129
128
128
128
126
125
124
123
120
120
120
121
118
117
116
115
114
114
111
107
105
102
100
97
95
93
90
86
83
82
81
79
82
81
80
80
81
84
84
86
87
87
88
91
92
92
103
103
104
107
109
112
118
121
123
126
126
129
131
141
141
143
143
144
144
144
143
147
150
149
150
150
139
121
137
147
160
197
182
131
94
197
166
168
193
170
155
141
182
171
163
197
219
175
163
233
188
166
199
142
97
147
158
141
116
176
191
206
167
221
201
202
186
164
119
176
163
99
122
189
185
209
75
77
81
85
87
89
89
93
93
96
99
100
101
102
91
96
105
116
115
110
103
94
93
109
120
149
167
155
182
215
159
107
141
109
77
48
33
36
27
26
43
54
58
50
52
47
27
17
26
17
32
55
25
6
5
97
141
129
131
120
94
105
155
109
128
116
129
117
128
123
119
118
121
126
130
129
144
93
129
125
149
90
137
136
106
131
128
132
58
143
122
163
95
115
125
144
149
114
148
107
125
125
153
126
144
129
130
137
134
136
136
143
143
143
143
143
145
145
143
146
148
149
149
154
156
163
163
164
165
166
167
167
170
170
171
171
172
172
172
174
175
176
177
177
176
176
177
177
177
177
177
177
177
171
171
170
167
166
163
163
159
157
156
153
150
149
149
143
143
141
141
140
139
139
139
139
137
136
135
135
134
129
129
128
128
127
127
127
127
126
125
124
124
123
123
118
114
111
109
106
103
99
96
91
88
85
85
83
83
88
87
86
85
84
85
85
88
88
90
91
93
94
94
100
101
105
109
112
116
122
123
127
131
135
139
140
145
145
145
146
147
150
150
152
154
154
154
155
155
155
147
148
149
150
152
160
177
176
133
157
167
164
190
177
191
161
185
197
158
213
176
168
232
212
159
204
194
213
187
129
108
148
134
187
180
190
210
222
184
211
190
192
155
182
178
155
152
164
172
76
77
79
85
87
87
89
92
92
95
99
99
100
100
91
95
102
113
113
108
101
97
89
110
122
145
166
175
198
188
182
187
141
112
117
90
75
44
61
33
41
52
60
48
47
47
30
18
22
26
36
23
5
0
57
64
112
114
114
84
140
113
105
111
110
108
121
122
122
117
117
125
124
118
116
120
131
107
152
130
112
150
95
123
122
120
113
83
128
149
141
128
99
144
136
95
148
119
136
99
113
147
105
111
131
128
133
139
135
135
138
143
143
143
143
143
145
145
144
147
149
150
150
155
157
165
165
166
166
167
168
169
171
171
172
172
173
173
173
174
175
176
177
177
176
176
177
177
177
177
177
177
177
171
171
170
167
166
163
163
159
157
156
153
150
149
149
144
143
142
141
140
140
139
139
138
137
137
136
135
135
132
132
131
130
130
130
130
130
129
128
127
126
126
126
120
116
115
111
109
106
103
99
95
92
90
89
86
86
93
92
91
91
90
92
91
92
92
94
95
98
99
99
102
104
108
111
115
118
125
128
131
135
139
141
143
149
149
150
151
153
154
155
156
156
156
157
157
157
157
157
157
157
156
157
158
169
189
195
208
227
227
133
169
183
149
172
139
185
194
181
188
205
191
209
188
213
217
185
164
193
177
102
151
195
188
185
195
201
213
205
206
145
188
171
167
167
143
153
76
78
80
85
86
86
88
89
92
94
98
99
99
100
91
95
102
112
112
105
98
97
88
107
120
135
157
175
175
186
171
137
146
187
146
137
41
69
37
44
54
57
54
48
44
40
24
15
24
28
33
11
7
8
85
50
94
131
95
110
130
104
119
102
125
111
131
110
126
123
118
118
115
114
118
129
104
133
130
115
90
106
117
111
121
114
95
95
143
135
145
107
89
134
129
92
134
128
125
103
127
144
120
129
124
128
135
139
136
134
140
143
143
143
143
143
145
145
144
147
149
150
151
156
158
166
166
166
167
168
169
170
172
172
172
173
173
174
174
174
175
176
177
177
176
176
177
177
177
177
177
177
177
171
171
170
167
166
163
163
159
157
156
153
150
149
149
146
146
144
143
143
142
142
141
141
140
139
139
138
138
133
133
132
132
132
131
131
131
130
130
129
128
127
127
122
120
117
115
112
109
107
103
99
96
94
93
90
90
93
95
94
94
93
94
94
92
95
96
98
99
102
102
106
107
110
114
116
120
127
132
133
137
141
144
145
150
152
153
154
154
155
158
159
160
160
160
160
160
162
167
165
164
161
161
160
163
165
174
199
196
225
134
125
152
190
187
190
161
255
201
162
167
170
185
230
178
211
200
208
190
154
133
98
170
232
184
217
204
203
201
198
143
149
185
176
156
160
145
76
79
80
85
85
85
85
88
90
91
94
95
98
98
92
96
99
107
105
102
94
93
88
96
111
118
128
145
164
169
188
164
172
176
130
173
157
50
68
73
80
58
49
45
33
21
11
10
24
30
24
11
17
28
45
33
103
63
130
108
116
111
84
115
106
116
119
123
118
119
109
111
114
119
121
116
119
120
134
106
114
119
118
106
120
108
106
159
133
113
112
119
137
140
100
114
119
132
101
109
141
97
140
138
121
133
137
135
138
137
141
143
143
143
143
143
145
145
146
149
151
152
152
157
159
164
164
165
166
166
168
168
169
169
170
170
171
171
171
172
173
174
175
175
174
174
175
175
175
175
175
175
175
171
171
170
167
166
163
163
159
157
156
153
150
149
149
147
146
145
144
143
143
142
143
143
142
142
142
142
142
138
138
138
137
137
136
136
136
136
135
134
133
133
132
129
126
125
121
118
114
114
111
106
103
103
101
100
100
99
99
99
99
101
101
101
102
103
104
106
107
108
109
116
118
120
124
127
130
135
138
141
144
146
150
151
153
153
156
157
157
158
160
165
165
167
167
167
167
169
182
180
176
173
168
163
159
159
161
163
168
163
196
184
139
115
124
165
206
187
183
194
192
179
210
195
226
216
197
172
211
201
168
167
99
134
168
189
200
195
192
175
182
189
199
132
143
183
143
76
77
79
82
84
84
85
85
87
90
91
94
95
95
92
94
98
100
99
96
90
84
90
88
106
113
109
114
135
154
182
143
174
169
176
159
183
168
128
96
98
113
62
32
21
21
20
17
19
23
26
32
24
41
0
72
87
122
128
117
108
74
116
109
107
127
113
117
107
122
111
112
117
120
121
119
132
100
100
128
74
142
91
99
121
79
165
126
123
112
93
119
135
136
90
152
121
126
103
124
135
120
110
140
126
138
136
131
139
140
140
143
143
143
143
143
145
145
147
150
152
153
153
158
160
163
163
164
165
166
167
167
168
168
169
169
170
170
170
172
173
174
175
175
174
174
175
175
175
175
175
175
175
171
171
170
167
166
163
163
159
157
156
153
150
149
149
149
149
147
147
146
145
145
147
147
147
147
147
147
147
142
142
141
141
141
140
140
140
139
139
138
137
136
136
133
132
128
126
124
123
120
116
113
112
111
108
107
107
110
110
110
110
112
113
113
114
115
116
120
121
122
122
126
128
132
134
138
139
142
143
146
148
152
154
158
160
161
161
162
163
164
166
169
171
171
171
171
173
173
184
183
182
177
173
168
163
160
171
153
166
173
181
168
183
231
190
183
208
167
241
184
166
166
194
228
155
182
215
207
166
180
169
162
146
147
146
151
194
171
185
175
194
203
181
170
179
146
154
77
78
79
84
84
85
85
85
87
87
90
93
93
93
95
94
96
98
96
94
90
87
86
91
96
103
109
110
113
144
142
190
142
139
155
197
187
188
150
126
133
138
60
27
13
9
12
16
19
20
21
25
49
37
14
40
131
100
125
117
76
111
111
111
113
105
114
124
123
114
120
99
127
119
120
83
115
105
117
103
106
112
90
117
87
150
134
110
113
138
126
122
153
116
109
139
131
99
94
141
115
121
122
129
133
133
134
135
137
138
140
142
142
142
143
143
146
146
149
150
151
152
154
158
158
162
162
163
164
164
166
166
167
167
167
168
169
169
169
170
170
170
170
170
170
170
172
172
172
172
172
172
172
170
170
170
167
166
164
164
158
156
156
153
150
150
150
149
149
148
148
147
147
147
147
147
147
147
147
147
147
144
144
144
144
144
144
144
144
143
142
142
141
140
140
136
133
132
131
129
128
127
122
118
116
113
113
113
113
115
115
118
118
119
119
121
121
123
123
124
125
126
126
137
138
139
143
144
146
148
148
151
152
155
157
157
162
162
163
165
166
167
167
174
174
176
177
178
179
180
185
184
182
179
174
172
167
168
169
171
173
175
180
180
196
188
190
214
230
163
126
195
176
148
188
163
193
157
223
187
181
182
180
172
118
155
139
152
172
179
205
215
220
155
179
197
174
173
170
74
75
77
81
83
83
85
84
85
87
90
90
90
90
91
90
90
90
89
89
89
89
91
93
95
96
98
98
88
120
126
146
132
126
131
158
163
183
192
157
95
56
27
30
21
10
12
27
44
35
50
43
49
38
28
70
98
110
94
78
103
108
101
111
112
105
109
124
125
117
120
110
122
124
94
140
63
123
129
114
109
102
98
16
167
137
115
109
131
120
123
126
126
94
107
126
123
103
116
128
91
137
106
125
135
135
136
137
138
139
141
142
142
142
143
143
146
146
148
150
151
152
153
157
158
161
161
162
163
164
165
165
166
166
167
167
168
168
168
170
170
170
170
170
170
170
171
171
171
171
171
171
171
170
169
169
166
166
164
164
158
156
156
153
151
151
150
149
149
149
148
148
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
146
145
144
144
143
143
139
138
138
135
134
133
131
132
127
126
125
124
125
125
126
126
129
129
130
130
132
135
137
138
139
140
140
140
147
148
149
152
153
154
158
159
161
162
163
166
167
171
171
173
174
175
176
178
180
181
183
184
185
186
188
185
185
184
184
184
183
183
183
183
185
187
190
191
191
190
196
186
170
172
196
193
158
186
177
91
253
129
189
195
173
176
186
190
171
128
111
151
167
170
212
193
179
172
162
208
171
190
181
216
73
75
76
80
80
82
82
84
85
85
87
87
89
89
87
85
84
84
85
86
90
94
95
97
95
94
92
90
96
81
123
118
155
113
147
113
110
42
48
51
51
65
42
48
41
28
21
23
31
30
30
23
34
34
30
55
107
74
80
110
96
91
109
113
116
126
121
116
119
122
135
131
59
60
66
77
123
136
97
94
91
72
71
116
113
91
87
79
21
77
132
131
97
94
124
127
113
91
131
128
110
142
91
127
137
138
138
139
139
140
141
142
142
142
143
143
146
146
148
149
150
151
152
156
157
157
158
158
159
160
161
162
163
163
163
163
164
164
165
167
167
167
167
167
167
167
168
168
168
168
168
168
168
169
169
168
166
165
163
163
159
157
157
154
152
151
151
151
151
150
150
150
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
149
148
147
146
146
145
144
143
142
141
140
138
138
137
135
132
132
133
133
134
139
140
140
141
143
143
143
145
145
146
147
150
150
151
159
159
160
161
161
162
165
166
167
168
171
172
173
176
177
179
180
181
182
182
184
184
186
187
188
188
191
187
188
188
188
189
189
190
193
193
193
193
193
193
191
200
186
176
175
172
182
203
231
175
137
103
139
194
188
211
201
164
144
149
146
170
161
155
167
173
183
205
201
176
192
174
191
152
172
215
72
73
76
78
80
82
81
84
84
85
86
86
88
88
83
84
83
81
82
85
89
94
98
98
96
93
89
87
78
102
96
108
137
129
128
85
38
80
69
54
63
66
66
27
20
22
27
26
26
20
35
26
23
24
25
55
73
53
80
100
92
104
107
111
121
121
118
130
136
121
122
27
31
97
173
123
161
34
56
79
57
76
79
78
85
118
93
112
57
40
26
72
90
124
130
110
110
116
129
107
115
130
108
130
138
138
138
139
139
140
140
142
142
142
143
143
146
146
147
149
150
151
152
156
157
157
157
158
158
159
161
161
162
162
162
163
163
164
164
166
166
166
166
166
166
166
167
167
167
167
167
167
167
168
168
168
165
165
163
162
160
157
157
154
152
152
152
152
151
151
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
149
149
148
147
146
146
145
144
143
142
142
141
141
141
137
136
136
137
137
138
144
144
144
145
145
146
146
148
149
150
150
153
154
154
163
164
164
165
165
166
169
169
170
171
173
174
175
180
180
181
182
182
185
186
185
187
187
188
191
192
193
192
192
192
193
193
193
194
193
193
191
191
188
187
185
189
194
189
178
179
194
189
224
142
190
86
154
189
181
211
226
209
167
145
149
150
155
151
138
151
193
191
213
181
175
200
145
174
149
171
72
73
74
78
80
79
81
84
84
85
86
85
85
85
81
81
79
78
81
84
90
96
100
101
98
93
89
85
83
92
101
122
135
38
1
49
43
72
90
97
84
64
49
44
35
22
15
16
22
31
24
19
26
28
18
26
42
44
11
66
101
55
102
137
146
88
65
111
103
26
161
51
47
12
26
61
28
31
27
27
15
57
86
0
22
104
147
111
137
110
135
120
88
121
120
107
87
122
117
105
158
109
125
139
138
138
138
138
138
139
139
142
142
142
143
143
146
146
147
148
149
150
152
156
156
156
156
157
158
158
160
160
161
161
161
162
163
163
163
166
166
166
166
166
166
166
166
166
166
166
166
166
166
168
168
168
165
164
162
162
160
158
158
155
152
152
152
152
152
151
151
150
150
150
150
150
150
150
150
150
150
153
153
153
153
153
153
153
153
152
151
151
150
149
149
147
146
146
145
144
143
143
145
144
143
143
144
145
146
146
146
146
147
147
150
150
154
155
155
156
157
160
160
168
168
168
169
169
169
174
174
175
178
179
180
181
185
185
185
186
189
190
190
191
192
192
195
196
197
197
201
201
201
201
201
200
197
194
191
188
183
181
175
175
193
186
189
201
204
193
202
201
193
193
199
170
177
207
179
197
213
236
192
178
220
156
143
155
171
196
209
197
190
167
175
164
160
147
159
72
72
73
75
76
77
77
79
79
78
80
79
79
79
79
79
78
80
79
79
80
81
81
84
84
85
85
85
82
87
101
102
55
35
77
62
95
123
57
98
92
56
80
68
51
34
45
37
30
34
29
31
31
33
39
47
40
44
49
54
61
65
64
61
167
125
28
2
63
117
8
33
36
38
20
33
25
8
23
18
37
31
83
21
7
70
0
103
103
138
117
72
87
112
116
107
104
139
111
108
142
109
125
146
148
152
152
150
145
139
130
145
145
145
146
146
147
147
147
148
148
149
150
151
152
153
153
154
155
156
157
158
158
158
158
159
159
160
160
163
164
165
166
166
165
165
165
165
165
165
165
165
165
162
162
162
162
162
162
162
161
161
161
161
161
161
161
157
157
156
156
156
155
155
156
156
156
156
156
156
156
154
154
154
154
154
154
154
153
153
152
152
151
151
151
149
149
150
150
150
149
151
152
152
154
154
154
154
154
152
152
153
156
157
157
158
160
161
164
165
166
167
168
169
171
172
172
172
173
176
177
180
182
183
185
186
196
197
197
198
199
200
200
201
202
202
202
203
203
204
205
204
204
204
203
203
202
200
200
200
200
199
199
199
196
196
196
196
195
194
194
195
195
195
194
194
193
193
183
185
187
190
207
208
207
204
255
229
125
124
155
159
172
161
173
171
144
166
169
71
71
72
75
75
76
76
79
78
78
79
79
79
79
79
78
78
79
79
79
80
80
80
83
83
83
84
84
74
88
107
114
85
58
69
75
78
79
119
89
97
110
86
56
55
63
36
38
37
40
31
28
28
29
35
43
41
42
40
39
47
49
39
119
57
0
40
57
80
42
9
52
40
23
9
44
57
21
21
17
37
22
89
32
53
5
24
58
93
129
97
65
95
105
105
93
134
123
88
138
140
97
142
145
149
153
153
151
147
142
134
145
145
146
146
147
147
147
148
148
148
149
150
151
151
153
153
154
154
155
156
157
158
158
158
158
159
159
160
162
163
164
166
166
165
164
164
164
164
164
164
164
164
162
162
162
162
162
162
162
161
161
161
161
161
161
161
157
157
157
156
156
156
155
156
156
156
156
156
156
156
154
154
154
154
154
154
154
153
153
153
152
152
152
152
150
149
151
151
150
150
152
153
155
155
155
155
155
155
153
153
156
157
158
158
160
161
164
165
167
168
169
169
174
174
174
175
175
177
177
180
181
183
184
187
188
198
198
198
199
200
201
201
203
203
203
203
204
204
205
206
206
205
205
204
204
204
202
202
201
201
200
200
199
197
197
197
196
196
195
195
196
196
195
195
195
194
194
193
196
196
193
199
207
216
215
209
239
247
125
135
159
119
128
134
154
140
131
159
69
70
70
73
74
74
75
78
78
77
79
78
78
78
78
78
77
79
78
78
79
79
79
81
81
81
81
80
80
85
89
102
101
68
32
119
90
120
119
161
168
138
111
91
94
94
52
52
56
48
36
36
34
29
28
29
38
37
30
30
47
54
43
23
26
18
38
14
22
28
19
22
3
18
27
63
69
83
44
63
34
58
60
72
37
155
89
75
81
60
78
75
107
105
95
66
132
143
101
168
111
84
148
140
154
157
159
158
154
149
144
148
148
148
149
149
150
150
150
150
150
150
151
151
151
153
154
154
154
154
155
155
157
157
157
158
158
159
159
160
160
162
163
163
162
162
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
158
158
157
157
157
156
156
156
156
156
156
156
156
156
155
155
155
155
155
155
155
153
153
153
153
153
153
153
152
152
152
152
153
155
155
155
157
157
157
158
158
158
158
159
159
161
162
163
163
167
168
171
173
174
175
175
175
178
178
178
179
181
183
183
185
187
189
190
193
201
201
202
202
203
204
205
206
206
206
207
207
207
208
209
209
208
208
208
207
207
206
206
205
204
203
202
201
200
199
199
199
198
198
198
197
197
197
197
196
196
195
198
198
199
200
196
192
191
195
197
208
196
228
235
186
205
243
231
184
130
118
132
68
68
69
72
72
73
73
77
77
77
78
78
77
77
77
77
77
78
78
77
78
80
80
81
80
80
80
79
77
75
86
79
90
100
95
31
117
94
102
164
157
182
159
146
141
144
124
114
101
70
54
51
48
41
37
37
38
39
40
34
30
26
17
19
40
23
14
19
47
20
28
18
12
25
6
38
59
91
88
73
112
108
96
40
59
33
95
43
112
49
41
49
52
90
94
50
20
100
133
137
94
136
140
146
157
163
165
164
163
159
155
154
154
154
155
155
156
156
155
155
155
155
155
155
155
156
155
155
155
155
155
155
156
156
157
157
158
158
158
159
160
161
162
162
162
161
159
159
159
159
159
159
159
160
160
160
160
160
160
160
161
161
161
161
161
161
161
159
159
158
158
157
157
157
156
156
156
156
156
156
156
154
154
154
154
154
154
154
153
153
154
154
155
155
155
153
153
156
156
156
157
159
157
158
158
158
158
158
158
162
162
163
166
167
167
170
173
174
177
178
179
180
181
183
184
184
184
185
186
186
189
190
192
193
195
198
204
205
205
206
207
208
208
209
210
210
210
211
211
212
213
212
212
212
211
211
210
211
210
209
208
207
205
204
204
204
203
203
202
202
202
201
201
200
200
200
199
199
218
210
204
202
189
185
184
193
177
183
186
186
195
185
195
204
204
208
191
155
140
68
68
69
71
72
73
73
77
77
77
78
77
77
77
77
77
77
78
77
77
78
80
80
81
80
80
80
79
86
69
77
71
74
81
74
103
96
103
136
135
152
171
188
170
159
156
162
144
122
95
71
64
57
49
44
41
45
41
43
39
34
35
34
14
21
29
45
20
32
33
20
12
17
32
5
31
41
72
106
58
134
98
126
0
115
6
126
40
29
39
25
45
45
89
85
41
28
34
150
152
84
133
136
141
158
164
166
168
164
163
158
155
155
155
156
156
157
157
156
156
156
156
156
156
155
156
156
156
156
156
155
155
156
156
156
157
158
158
158
158
159
160
161
161
160
160
158
158
158
158
158
158
158
160
160
160
160
160
160
160
161
161
161
161
161
161
161
159
159
158
158
157
157
157
156
156
156
156
156
156
156
153
153
153
153
153
153
153
153
153
154
154
155
155
155
155
155
156
156
157
159
160
157
158
158
158
160
160
160
164
165
166
167
169
170
170
176
176
178
181
182
183
183
186
186
186
188
188
188
189
190
191
194
196
198
199
205
205
206
207
208
208
209
210
210
211
211
211
212
212
213
213
213
212
212
212
211
212
211
210
209
207
205
205
204
204
204
203
203
202
202
201
201
201
200
200
199
199
196
196
199
203
192
189
191
187
188
185
186
186
182
186
191
187
190
199
220
199
156
69
69
69
71
72
72
72
75
75
75
77
77
77
77
76
76
76
78
78
78
79
78
78
79
79
78
78
78
77
76
69
68
68
70
75
81
89
97
105
123
149
167
179
193
186
168
175
169
165
164
125
119
110
103
89
66
58
62
52
54
59
43
41
16
50
53
66
52
47
47
34
27
22
22
19
18
32
45
42
42
57
62
65
10
25
33
19
26
46
46
53
48
75
59
69
66
23
44
36
114
87
159
128
142
155
160
166
168
170
167
164
163
163
163
163
163
163
163
163
163
163
162
162
161
161
158
158
158
157
156
155
154
155
155
155
156
157
157
157
157
157
158
158
159
159
159
159
159
159
159
159
159
159
160
160
160
161
162
162
162
162
162
162
162
162
162
162
159
159
158
158
157
157
157
156
156
156
156
156
156
156
155
154
154
153
153
152
152
154
154
154
154
154
154
154
157
158
158
160
161
161
162
163
161
162
162
163
164
164
167
168
169
172
173
174
175
182
183
185
186
187
188
189
189
191
191
191
191
191
194
195
198
199
200
201
202
207
208
209
210
211
212
213
215
215
216
216
217
217
217
217
217
217
217
217
217
217
217
216
215
214
213
211
210
208
207
207
206
205
204
204
205
205
204
204
204
203
203
199
197
197
196
194
194
193
196
197
196
198
200
199
200
184
184
186
189
192
193
195
70
70
70
71
71
71
71
74
74
74
76
76
76
76
75
75
75
77
77
77
78
78
78
79
79
78
78
78
77
75
70
66
66
66
66
73
82
100
105
105
102
98
164
179
166
173
194
186
164
118
194
180
159
127
112
125
101
100
89
78
64
41
44
18
75
83
74
72
91
76
41
34
38
35
39
43
20
41
47
41
43
43
37
40
25
35
32
42
61
51
58
51
68
42
61
81
50
42
40
2
133
151
142
159
153
157
162
167
169
170
170
169
169
169
169
169
169
169
169
169
169
168
168
167
167
160
160
160
159
158
157
156
157
157
157
157
157
157
157
154
154
154
154
155
155
155
156
156
157
157
157
158
158
161
161
161
161
161
161
161
161
161
161
161
161
161
161
158
158
157
157
157
156
156
156
156
156
156
156
156
156
152
152
152
152
152
152
152
154
154
155
155
155
155
156
161
161
161
162
163
163
164
164
164
164
164
167
168
169
172
172
174
177
178
179
179
186
186
190
191
192
193
193
194
196
196
196
196
198
199
200
201
203
204
205
208
209
210
211
212
213
214
215
217
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
218
217
216
215
215
212
212
211
210
209
208
208
207
207
206
206
205
204
204
201
201
201
200
199
201
202
204
204
204
205
206
205
205
191
191
189
189
187
187
185
70
70
70
71
71
71
71
74
74
74
76
76
76
76
75
75
75
77
77
77
78
78
78
79
79
78
78
78
79
77
71
67
65
65
65
64
71
92
96
95
87
80
143
152
156
181
175
156
152
158
185
180
191
167
128
119
107
109
103
92
81
62
66
33
97
101
85
88
114
100
62
51
50
43
38
37
45
50
44
32
31
40
49
24
44
26
25
45
57
63
68
57
75
48
56
76
50
54
63
16
96
155
153
164
155
159
163
166
169
170
170
169
169
169
169
169
169
169
171
171
170
170
169
169
169
162
161
161
160
159
158
158
157
157
157
157
157
157
157
154
154
154
154
154
154
154
156
156
156
157
158
158
158
161
161
161
161
161
161
161
161
161
161
161
161
161
161
158
158
157
157
156
156
156
156
156
156
156
156
156
156
152
152
152
152
152
152
152
154
154
155
155
156
156
157
161
162
162
163
164
164
164
166
165
165
168
169
170
171
175
176
177
178
180
181
182
189
190
191
192
194
196
197
198
198
198
198
200
200
202
202
203
204
207
209
209
212
213
214
215
216
217
218
221
221
221
221
222
222
223
223
223
223
223
223
223
223
223
223
222
221
221
220
219
214
214
213
213
212
210
210
209
209
208
207
207
205
205
204
203
205
204
204
204
204
204
204
203
203
201
200
200
192
192
192
191
189
189
187
71
71
71
71
70
70
70
73
73
73
75
75
75
75
74
74
74
76
76
76
77
78
78
79
79
78
78
78
81
79
74
71
67
66
65
65
65
71
75
80
85
88
119
122
148
133
109
138
154
157
181
197
202
190
186
201
173
167
138
113
98
72
62
44
96
95
99
107
123
106
99
76
65
70
59
59
82
71
71
77
73
67
65
51
40
38
47
65
118
145
78
61
116
113
104
125
131
85
116
70
17
124
147
137
159
162
162
165
167
168
168
170
170
170
170
170
170
170
172
172
172
171
171
170
170
164
163
163
162
161
160
160
159
159
159
158
157
157
157
156
155
155
155
154
153
153
155
155
156
157
158
159
159
162
162
162
161
160
160
160
160
160
160
160
160
160
160
157
157
156
156
156
155
155
156
156
156
156
156
156
156
152
152
153
154
154
154
155
154
155
155
156
157
158
158
163
163
165
165
165
166
168
168
169
169
170
171
173
174
178
179
180
182
183
184
187
192
193
196
197
198
199
200
203
203
203
203
203
204
204
207
208
209
210
211
214
215
215
216
217
218
219
220
223
223
223
223
224
224
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
220
220
219
219
218
217
216
216
216
215
214
212
210
210
215
214
214
211
208
208
206
201
198
195
192
188
185
185
195
195
195
194
193
193
193
70
70
70
69
68
68
68
68
68
68
68
68
68
68
73
73
73
75
75
75
77
75
75
76
76
76
76
76
72
72
71
71
70
70
70
69
69
69
69
69
69
69
78
88
85
103
135
137
115
128
168
184
185
181
199
202
211
157
165
133
110
89
65
48
94
51
123
112
128
132
132
73
89
98
98
102
148
124
109
151
119
119
104
130
89
42
38
117
138
157
138
179
210
209
195
185
144
106
147
104
92
43
136
129
169
180
160
171
157
173
165
174
174
174
175
175
176
176
176
176
176
175
175
174
174
167
167
167
166
164
163
163
161
161
160
158
157
156
156
156
156
156
156
154
154
154
153
153
153
152
153
153
153
160
160
159
159
159
159
159
159
159
159
160
161
161
161
158
158
157
157
156
156
156
157
157
157
157
157
157
157
153
153
153
155
155
155
157
157
157
160
160
161
161
161
166
167
168
168
169
172
172
169
172
173
175
178
179
179
184
185
188
190
191
192
194
196
198
200
202
203
204
205
208
208
208
208
208
207
210
210
211
211
212
213
214
218
218
219
219
220
221
222
224
224
224
225
225
225
226
227
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
226
226
225
223
223
222
219
218
216
213
213
214
213
212
211
208
206
206
206
206
205
204
201
200
200
195
195
195
194
193
193
193
70
70
69
69
68
68
68
68
68
68
68
68
68
68
73
73
73
75
75
75
77
75
75
76
76
76
76
76
72
72
71
71
71
70
70
69
69
69
69
69
69
69
73
99
102
110
117
101
73
142
158
179
185
180
187
180
182
188
171
115
130
91
61
73
83
75
103
81
137
119
107
96
96
110
135
97
160
178
142
157
160
149
106
135
90
90
70
92
175
133
162
192
194
196
212
201
195
121
167
139
138
106
47
55
121
151
187
159
169
155
161
174
174
175
175
175
176
176
176
176
176
175
175
174
174
168
168
167
167
165
164
164
161
161
160
159
157
156
156
156
156
156
156
154
154
154
153
153
153
152
152
153
153
160
160
160
160
159
159
159
159
159
159
160
161
161
161
158
158
157
157
156
156
156
157
157
157
157
157
157
157
153
153
155
155
155
155
157
157
158
160
160
161
161
161
166
167
168
169
169
172
172
170
173
174
176
179
180
180
185
186
189
190
191
192
194
197
199
201
202
204
205
206
209
209
209
209
208
208
210
211
211
212
213
214
214
218
219
219
220
221
222
222
224
224
225
225
226
226
226
227
227
227
227
227
227
227
227
227
227
227
227
227
227
229
229
229
227
227
226
224
224
223
220
218
217
214
213
214
214
213
211
208
207
206
206
206
205
204
201
200
200
195
195
195
194
194
193
193
69
69
69
68
68
67
67
66
66
66
66
66
66
66
71
71
71
74
74
74
76
75
75
76
76
76
76
76
75
75
74
74
73
73
73
73
73
73
73
73
73
73
76
77
85
93
108
122
131
109
121
140
140
127
140
149
200
179
177
156
152
141
132
92
93
113
77
92
97
102
122
108
146
127
106
122
173
162
173
193
166
145
142
156
123
67
94
30
139
139
183
191
180
185
201
189
193
109
152
184
72
205
65
56
29
80
136
191
163
174
167
175
175
175
176
176
177
177
176
176
176
175
175
174
174
170
169
169
169
166
166
166
162
162
161
159
158
157
157
156
156
156
154
154
154
152
151
152
150
151
151
151
151
157
157
158
158
158
159
159
158
158
158
158
158
158
158
158
158
157
157
156
156
156
157
157
157
157
157
157
157
154
154
156
156
156
158
158
159
161
161
162
162
163
164
167
168
169
172
173
173
174
175
176
180
181
182
183
183
189
190
191
192
193
196
197
201
202
203
205
209
210
210
211
212
212
212
212
213
214
214
215
216
216
217
218
223
223
224
225
226
226
227
228
229
229
229
230
230
230
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
232
232
231
231
229
229
226
225
224
222
219
216
215
216
215
214
212
209
208
207
207
206
206
204
202
201
201
196
196
195
195
194
194
194
68
68
68
67
67
67
66
65
65
65
65
65
65
65
68
68
69
72
73
73
76
75
75
76
76
76
76
76
76
75
75
74
74
74
74
74
74
74
74
74
74
74
78
77
83
80
82
86
87
90
110
134
139
112
86
57
103
145
133
117
137
126
154
114
126
130
122
151
78
110
97
118
109
102
159
143
62
143
181
146
167
162
147
149
164
90
131
11
7
97
96
189
163
132
188
169
148
89
146
155
70
91
78
20
41
18
57
115
191
172
171
174
174
174
174
175
175
176
174
174
174
173
173
172
172
170
170
170
169
167
166
166
163
162
162
160
158
158
157
154
154
154
154
152
152
152
148
148
148
148
148
149
149
155
155
156
157
158
158
159
159
159
158
158
158
157
157
158
158
157
157
156
156
156
157
157
157
157
157
157
157
157
157
157
159
159
159
159
162
163
164
164
165
165
165
169
172
173
174
174
177
177
177
180
181
183
184
186
186
191
192
193
196
198
198
199
204
205
209
210
212
213
214
216
217
218
218
219
220
220
220
221
222
222
223
224
226
227
227
228
229
230
230
231
231
231
232
232
232
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
236
236
234
233
233
231
231
230
229
226
225
223
218
218
217
217
216
214
211
210
209
208
207
206
205
203
202
201
197
196
196
196
195
195
195
68
68
68
67
67
66
66
64
64
64
64
64
64
64
67
67
68
72
73
73
75
75
75
76
76
76
76
76
76
76
75
75
74
74
74
75
75
75
75
75
75
75
79
71
71
69
76
84
84
87
96
111
123
119
109
85
74
132
84
98
93
91
102
105
92
132
138
137
150
144
153
131
134
114
145
140
111
136
152
96
100
120
152
148
75
107
60
28
38
39
33
116
108
93
141
127
95
48
72
67
58
33
27
22
28
28
45
72
165
178
170
174
174
174
175
175
176
176
174
174
174
173
173
172
172
170
169
169
169
166
166
166
163
163
162
160
159
158
158
154
154
154
154
152
152
150
147
147
148
147
148
148
148
152
152
152
154
155
156
156
157
157
157
156
155
155
155
158
158
157
157
156
156
156
157
157
157
157
157
157
157
157
157
159
159
159
159
161
163
164
165
165
165
166
166
172
173
173
174
177
178
178
177
181
182
184
185
186
186
192
195
196
197
198
199
201
205
208
210
211
213
214
217
218
218
219
220
221
221
221
222
222
223
224
225
225
227
228
228
229
230
231
231
232
232
232
232
233
233
234
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
236
236
236
233
232
231
231
230
229
225
224
221
220
218
217
216
215
211
210
210
208
208
207
206
203
202
202
197
197
196
196
195
195
195
67
67
67
66
65
65
65
63
63
63
63
63
63
63
68
68
68
71
71
71
73
75
75
77
77
77
78
78
77
77
77
77
77
77
77
76
76
77
77
78
78
78
90
85
82
79
77
76
76
77
88
93
101
108
112
114
99
97
94
92
108
111
89
171
116
112
117
117
124
127
141
153
146
182
159
148
60
109
148
127
163
75
67
33
27
22
24
25
24
24
26
28
26
25
25
21
16
26
30
43
45
53
53
64
19
30
13
58
101
140
173
171
174
175
173
172
174
173
171
171
171
170
170
169
169
167
167
167
167
165
165
165
163
163
163
161
160
160
160
154
154
153
152
149
148
148
148
147
147
147
145
145
145
149
149
150
153
154
155
156
155
155
156
156
157
157
157
156
156
156
156
156
156
156
157
157
157
157
157
157
157
158
158
159
159
162
162
162
163
164
165
169
170
171
171
174
174
177
177
178
178
180
181
183
184
186
187
188
188
196
198
199
202
203
204
205
209
211
214
216
217
218
219
221
222
223
225
226
227
227
227
228
228
229
230
231
232
232
232
233
233
233
234
236
236
236
237
237
238
238
238
238
238
238
238
238
238
239
239
239
238
238
237
237
239
239
239
238
238
235
235
233
231
230
229
227
222
222
220
219
218
217
214
212
212
209
209
208
207
204
203
203
198
198
197
196
195
194
194
67
66
66
65
65
65
65
63
63
63
63
63
63
63
65
66
66
69
69
70
72
74
74
76
76
77
77
77
80
80
80
80
80
80
80
79
79
80
80
80
81
81
95
92
90
89
88
86
84
88
92
94
99
102
105
105
90
98
102
103
116
121
109
107
113
147
144
140
128
174
140
155
175
149
147
132
86
126
171
150
67
22
46
19
26
33
35
30
26
24
26
23
22
20
23
24
24
31
30
39
41
54
55
69
76
23
65
43
85
109
200
171
171
171
170
170
170
171
171
170
170
170
169
169
169
167
167
167
167
165
165
165
163
163
163
161
160
160
160
154
153
153
150
148
148
146
145
145
143
143
143
143
143
146
146
147
149
150
151
152
152
152
152
153
153
154
154
155
155
156
156
156
156
156
157
157
157
157
157
157
157
158
158
161
161
162
163
163
163
167
168
169
170
173
174
176
177
177
178
180
180
180
183
184
185
188
190
190
191
198
199
201
203
204
207
208
212
213
215
217
220
221
222
224
224
226
227
228
229
228
228
229
230
231
231
232
233
233
234
234
234
235
235
237
237
237
238
238
238
239
239
239
239
239
239
239
239
240
240
239
239
239
238
238
241
241
241
241
238
238
237
234
233
232
230
228
225
225
221
220
219
218
214
213
213
210
209
209
207
205
204
204
199
198
198
197
195
195
194
66
66
66
65
65
64
64
62
62
62
62
62
62
62
64
65
65
69
69
70
72
74
74
76
76
77
77
77
81
81
81
81
81
81
81
80
80
80
81
81
81
82
92
93
93
92
92
92
92
93
96
97
99
102
102
102
89
97
101
103
114
121
116
125
104
154
144
136
144
118
119
123
156
117
137
123
94
144
115
71
38
41
42
27
32
36
35
31
29
27
26
22
19
21
23
26
29
29
27
38
44
56
53
61
104
54
17
71
62
151
196
174
171
170
171
171
170
171
170
170
170
169
169
168
168
167
167
167
167
165
165
165
163
163
163
161
160
160
160
151
151
150
150
148
146
146
144
142
142
142
140
140
140
145
146
146
148
149
150
150
151
151
151
152
152
152
153
154
155
155
155
156
156
156
157
157
157
157
157
157
157
160
160
161
161
163
163
163
164
167
168
169
173
173
174
177
177
180
180
180
181
182
183
187
188
189
190
191
192
199
200
202
203
207
208
209
213
214
216
219
221
222
223
226
227
228
229
230
231
230
231
231
232
233
234
234
236
237
237
237
238
238
238
240
240
240
240
241
241
242
242
242
242
242
242
242
242
243
242
242
242
241
241
241
242
242
241
241
241
238
238
237
234
233
231
230
226
225
222
221
220
218
215
214
213
211
210
209
208
206
205
204
199
199
198
197
196
195
195
65
65
65
64
64
64
63
61
61
61
61
61
61
61
65
65
66
70
72
72
75
75
75
77
77
78
78
78
82
82
82
82
82
82
82
81
81
82
82
83
83
83
84
88
93
96
98
102
104
104
102
102
100
96
95
95
107
105
103
104
108
113
118
122
134
139
111
143
151
160
122
106
123
128
147
136
150
131
75
56
66
41
34
55
52
47
42
43
46
40
29
24
22
24
29
37
42
40
32
37
43
57
63
108
109
112
30
42
74
126
141
180
171
167
171
173
169
172
167
167
167
167
166
166
165
167
167
167
167
165
165
165
163
163
163
161
160
160
160
151
150
150
149
146
146
145
140
140
140
138
138
138
138
144
144
145
145
146
146
147
148
148
149
149
150
150
150
153
153
154
155
155
156
156
157
157
157
157
157
157
157
160
160
161
162
163
163
163
166
168
171
172
173
174
175
180
180
180
181
181
182
183
185
188
190
191
194
195
195
201
202
205
207
209
210
212
215
218
219
221
223
224
224
227
228
229
230
231
232
233
233
234
234
235
236
237
239
239
239
240
240
240
241
241
241
242
242
242
243
243
245
245
245
245
245
245
245
244
244
244
243
243
242
242
245
244
244
242
241
241
239
238
238
235
233
231
229
228
223
223
222
220
217
216
215
212
212
211
210
207
207
206
200
199
199
198
196
196
195
65
65
65
64
63
63
63
61
61
61
61
61
61
61
67
68
69
73
75
76
78
77
77
79
79
79
80
80
83
83
83
83
83
83
83
82
82
83
83
84
84
84
78
85
90
95
102
105
107
109
105
102
98
95
91
89
124
118
111
112
108
104
104
140
112
142
138
153
167
130
172
175
150
184
152
143
109
123
102
23
60
31
58
65
75
80
73
70
71
67
34
30
28
33
39
46
55
46
47
64
72
80
77
116
122
162
146
26
105
131
162
180
168
163
168
171
166
169
167
167
167
166
166
165
165
167
167
167
167
165
165
165
163
163
163
161
160
160
160
150
150
149
148
146
145
143
141
141
141
139
139
139
139
142
142
143
143
143
143
144
146
146
146
147
147
148
148
151
152
153
154
155
156
156
157
157
157
157
157
157
157
160
160
162
162
163
163
165
167
170
171
173
174
175
175
180
180
181
181
183
183
183
186
189
190
194
195
196
196
202
205
206
208
209
211
213
216
219
220
222
223
225
226
227
227
229
230
231
232
234
234
235
236
237
237
238
240
240
241
241
241
242
242
242
242
242
243
243
244
244
246
246
246
246
246
246
246
245
245
245
244
244
243
243
245
245
245
244
242
241
239
239
239
237
234
232
230
229
224
224
222
221
218
217
216
213
213
212
211
208
207
207
200
200
199
198
197
196
196
71
69
68
69
69
68
67
67
67
66
65
65
66
67
74
74
75
76
77
80
80
82
84
85
85
87
88
88
86
87
87
88
91
91
91
92
92
90
90
91
92
92
94
96
96
95
97
98
100
102
102
103
105
105
106
106
104
105
106
108
110
112
115
117
119
121
122
123
122
121
156
120
146
158
158
173
136
164
64
42
33
55
60
83
96
89
56
89
77
87
52
60
58
66
66
67
66
104
77
74
98
94
102
101
124
125
156
93
5
164
173
171
171
171
171
171
171
171
170
170
170
169
169
168
168
164
164
164
162
162
161
159
160
160
157
157
156
156
156
153
153
152
151
146
145
142
143
141
141
138
135
135
135
135
135
137
137
137
137
139
139
139
141
142
143
143
145
146
146
149
150
152
155
156
153
153
155
155
155
157
157
156
157
160
160
161
161
163
166
169
170
170
171
172
174
184
185
185
185
185
187
188
190
193
194
196
198
199
199
204
205
206
210
211
212
212
217
219
221
223
224
225
226
230
231
232
234
235
236
237
237
238
239
239
240
241
243
243
243
244
244
244
245
246
246
246
247
247
247
248
248
248
248
248
248
248
248
248
248
248
247
247
246
246
246
246
245
244
244
240
240
239
237
236
235
233
230
230
228
227
226
225
221
219
219
216
215
214
213
208
206
206
202
202
201
200
197
196
196
70
69
67
69
69
67
66
68
68
67
66
67
68
69
76
76
76
80
81
81
82
86
86
88
89
89
90
90
87
87
89
90
90
90
92
92
91
91
91
92
93
93
96
100
100
99
99
100
104
104
106
106
107
107
108
109
106
108
109
111
114
115
117
124
126
126
129
129
128
130
132
154
143
162
160
95
113
105
69
93
75
72
92
116
94
76
128
93
114
113
122
89
72
96
96
73
107
100
97
95
104
123
88
75
145
178
169
174
138
133
171
171
171
171
171
171
171
171
170
170
170
169
169
168
168
164
164
164
162
162
161
159
158
158
156
155
155
154
154
154
153
152
149
146
145
142
142
140
138
135
135
134
134
134
134
134
136
136
136
138
138
138
141
141
142
142
142
145
146
149
150
151
154
154
153
153
155
155
155
157
157
158
158
160
161
162
163
164
166
169
170
170
173
174
174
184
185
185
186
186
188
189
191
194
195
196
199
199
200
205
206
207
210
211
212
213
218
219
222
223
225
226
227
231
232
233
234
235
236
238
238
239
239
240
241
242
244
244
245
245
245
246
246
247
247
248
248
248
249
249
249
249
249
249
249
249
249
249
249
248
248
248
247
247
247
247
246
245
244
241
241
240
237
237
235
234
231
231
229
228
227
226
221
220
220
217
216
215
214
208
207
207
203
202
202
200
198
197
197
72
71
70
71
71
70
68
71
71
70
71
72
73
74
81
81
82
83
86
87
87
91
91
92
94
94
95
95
91
91
91
93
92
92
92
94
93
94
95
96
97
98
103
105
105
104
104
107
109
109
110
111
111
113
114
114
113
114
115
119
120
123
123
129
129
132
132
133
135
135
124
137
143
145
160
141
62
104
93
56
71
90
116
133
103
155
115
128
147
105
116
132
126
121
123
133
102
114
118
97
96
123
74
37
158
194
177
163
178
153
176
171
171
171
171
171
171
171
170
170
170
169
169
168
168
164
164
164
162
162
161
159
157
157
155
154
153
153
153
153
152
149
148
145
142
141
139
138
136
133
133
132
132
133
133
133
133
135
135
135
137
137
137
140
140
140
141
145
146
150
151
150
152
151
152
152
154
154
154
156
156
158
158
161
162
164
165
166
168
169
170
172
173
174
174
184
185
186
187
188
190
191
192
196
197
198
200
201
202
206
206
208
211
212
213
213
219
220
222
224
226
227
227
232
232
234
235
236
237
239
240
240
241
242
243
243
247
247
247
247
248
248
248
250
250
250
250
251
251
252
250
250
250
250
250
250
250
250
250
250
250
249
249
248
249
248
248
247
246
243
242
242
239
238
237
236
233
232
231
230
229
227
223
222
221
219
218
217
215
210
209
208
205
204
203
202
200
199
198
76
75
74
75
75
74
72
75
74
74
75
76
78
79
85
86
86
88
91
91
92
95
96
96
98
98
98
99
96
96
95
96
95
95
97
98
98
99
100
102
103
104
107
110
111
110
110
111
115
114
115
117
118
118
118
119
119
120
123
124
126
127
130
134
136
135
138
139
140
141
137
129
140
144
146
159
159
112
115
88
79
61
89
104
104
122
101
119
125
95
111
136
136
126
123
137
108
113
122
101
114
93
79
50
121
192
174
177
166
186
172
171
171
171
171
171
171
171
170
170
170
169
169
168
168
164
164
164
162
162
161
159
157
157
155
155
154
154
153
148
148
147
145
140
139
137
137
135
133
131
131
130
130
130
130
130
131
131
131
133
133
133
136
136
137
137
137
144
145
150
151
150
150
148
151
151
153
153
153
155
155
158
159
162
164
165
169
169
168
171
172
172
173
176
176
184
185
186
188
189
192
192
194
197
198
199
202
202
203
206
207
208
212
213
214
214
219
221
223
225
226
227
228
232
233
234
236
237
238
241
241
242
242
243
244
245
249
249
249
249
250
250
251
252
252
252
252
253
253
254
252
252
252
252
252
252
252
252
252
251
251
251
250
250
250
250
249
248
247
244
244
243
240
240
238
237
234
234
232
231
230
229
224
223
223
220
219
218
217
211
210
210
206
205
205
203
201
200
200
78
77
75
76
76
75
74
76
76
75
76
78
80
81
86
88
89
91
91
94
94
96
97
98
98
99
101
101
98
98
97
97
98
98
97
99
100
100
103
105
106
108
109
112
112
113
113
114
117
117
118
120
120
121
121
121
122
122
125
126
129
130
132
138
139
139
140
142
143
144
146
140
142
152
141
139
175
145
135
97
118
83
73
107
111
70
95
85
98
96
118
111
112
136
134
118
133
92
107
93
113
71
71
48
109
196
160
183
156
176
176
171
171
171
171
171
171
171
170
170
170
169
169
168
168
164
164
164
162
162
161
159
158
158
155
155
154
154
154
147
147
145
144
139
138
136
135
135
133
131
130
130
128
130
130
130
131
131
131
131
133
133
133
136
137
137
137
144
145
151
151
149
149
148
151
151
153
153
153
155
155
158
159
162
164
168
169
170
170
171
172
174
175
176
176
184
185
186
188
189
192
193
194
197
198
200
202
203
203
206
207
208
212
213
214
214
220
221
223
225
226
228
228
232
233
234
236
237
238
241
241
242
243
243
244
245
249
249
250
250
250
251
251
252
252
253
253
253
254
254
252
252
252
252
252
252
252
252
252
252
251
251
250
250
250
250
249
248
248
244
244
243
241
240
239
237
234
234
232
232
230
229
225
224
223
220
220
218
217
212
211
210
206
206
205
204
201
200
200
80
80
80
79
79
78
78
78
78
78
81
83
85
87
93
94
94
96
97
98
98
100
102
102
104
104
104
104
101
101
101
103
102
102
102
105
105
108
108
109
110
110
117
117
117
120
120
120
121
124
124
127
127
127
128
128
129
129
133
134
137
138
140
141
144
145
146
149
150
151
165
161
159
157
153
151
149
152
167
165
153
158
155
129
110
116
115
83
69
92
105
76
90
64
76
35
62
66
66
82
97
75
82
48
88
191
168
170
170
167
171
170
170
170
170
170
170
170
169
169
168
168
168
167
167
163
163
164
163
163
161
158
159
159
156
155
154
153
153
146
144
142
142
139
135
132
131
129
130
129
127
127
127
124
124
126
127
127
128
129
129
129
131
132
132
133
135
142
144
148
147
146
148
149
149
149
152
153
154
156
156
159
160
164
166
168
169
172
170
173
175
176
177
178
180
184
185
186
188
189
192
192
195
198
199
199
201
202
202
207
208
209
213
214
215
215
221
222
224
226
227
229
229
235
236
237
237
238
239
240
240
241
242
244
245
246
248
248
249
250
251
251
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
251
251
250
250
250
250
249
249
248
244
244
244
241
239
238
238
235
233
232
232
231
230
226
225
225
222
222
220
219
214
213
212
208
208
206
204
200
199
198
83
83
82
82
81
81
81
82
82
82
84
86
89
90
96
96
97
99
102
103
103
106
106
106
108
108
108
108
105
105
106
108
108
109
109
109
109
113
113
114
115
115
123
123
124
124
125
127
127
129
131
132
132
135
135
135
135
136
137
141
142
144
144
149
150
153
154
156
157
158
173
171
170
167
166
164
164
151
150
150
146
148
157
153
165
168
162
150
123
114
139
101
108
138
115
106
82
65
75
124
61
87
69
143
114
182
165
173
168
168
175
170
170
170
170
170
170
170
168
168
168
167
167
166
166
162
163
163
163
162
160
157
158
157
155
154
152
152
151
145
143
139
138
136
132
130
128
128
127
124
124
122
122
122
122
122
123
125
125
126
127
128
128
131
131
131
131
139
142
146
145
145
147
148
148
148
152
153
154
157
158
163
164
166
169
171
171
172
173
175
178
179
180
181
182
185
186
187
188
189
192
192
194
197
198
200
202
202
203
208
209
210
213
215
215
216
221
222
225
227
228
229
230
235
236
237
237
238
239
240
240
241
242
244
245
246
249
249
250
250
251
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
252
252
251
251
251
251
250
249
248
245
245
245
241
239
239
239
235
234
233
232
232
230
227
226
226
223
222
221
220
214
213
213
209
208
207
205
201
199
199
83
83
83
82
82
81
81
82
82
83
85
87
89
91
96
97
98
102
104
105
107
108
108
110
110
110
110
110
107
109
110
110
111
112
112
111
114
115
116
117
119
120
125
125
128
128
129
129
131
131
133
134
134
135
135
135
136
139
140
141
143
144
147
152
154
156
158
159
160
160
170
170
171
171
170
170
165
159
163
169
165
156
154
159
176
174
171
172
151
137
108
123
131
164
111
70
94
71
92
116
77
115
92
179
143
183
161
170
166
174
174
170
170
170
170
170
170
170
168
168
167
167
167
166
166
162
162
163
162
162
159
157
157
156
154
153
151
151
150
142
140
138
138
135
131
129
128
126
126
123
121
120
120
120
121
121
122
122
124
124
126
127
127
128
130
130
131
138
141
145
145
145
147
148
148
149
153
154
156
158
159
165
165
169
170
171
172
174
174
176
179
180
181
182
183
186
187
188
189
189
192
192
194
197
198
200
202
203
203
209
209
211
214
215
216
216
222
223
225
227
229
230
230
235
236
237
237
238
239
240
240
241
242
244
245
246
249
249
250
251
252
252
253
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
251
251
250
250
249
245
245
245
242
240
239
239
236
234
233
233
232
231
227
227
226
223
223
222
220
215
214
213
209
209
207
205
201
200
199
86
86
85
85
84
84
84
86
86
86
88
91
93
94
99
100
101
105
108
109
110
112
112
112
113
113
113
113
111
112
113
115
116
116
119
119
119
122
123
124
124
125
130
131
131
134
134
134
136
136
137
139
139
140
140
140
143
144
146
147
150
151
154
158
160
161
164
165
166
166
161
163
166
171
175
178
183
181
173
164
165
166
168
164
173
176
171
167
164
172
182
172
173
148
179
129
124
138
142
150
179
173
188
168
169
174
157
170
161
173
173
170
170
170
170
170
170
170
167
167
167
166
166
165
165
161
162
162
161
161
159
156
155
155
152
152
150
149
149
140
139
137
134
132
130
126
127
125
123
121
118
117
117
116
116
117
120
120
120
122
124
124
126
126
127
127
127
138
140
146
146
146
149
150
150
150
155
157
159
162
162
167
167
170
171
172
174
175
176
179
180
181
183
184
185
188
188
189
189
189
192
192
193
197
198
200
202
204
204
209
210
211
215
216
217
217
222
224
226
228
229
230
231
235
236
237
237
238
239
240
240
241
242
244
245
246
250
250
251
251
252
253
254
255
255
255
255
255
255
255
253
253
253
253
253
253
253
254
254
253
253
253
252
252
252
252
251
250
249
246
246
246
242
240
240
240
236
235
234
234
233
232
228
227
227
224
223
222
221
216
214
214
210
209
208
206
202
200
200
89
89
88
88
88
88
87
87
87
88
90
90
90
91
98
101
102
107
109
112
113
115
117
119
119
119
121
120
125
125
126
128
128
129
131
132
132
135
135
135
136
136
140
140
141
141
142
144
144
145
147
148
149
152
152
153
158
159
160
161
163
165
166
169
170
171
171
174
175
175
174
175
176
178
179
180
179
179
178
177
176
176
175
177
176
176
175
175
172
172
169
169
169
168
166
165
165
162
162
162
162
162
162
162
164
164
164
164
164
164
164
167
167
167
167
167
167
167
167
167
166
165
165
163
163
160
160
159
158
156
155
154
151
151
150
148
146
145
145
131
131
130
128
125
124
122
121
121
118
118
117
117
117
115
115
116
117
118
121
121
120
123
125
125
126
128
129
135
137
144
144
146
147
150
153
155
160
163
164
165
166
175
175
178
178
179
179
180
180
183
184
186
187
188
188
189
189
189
189
189
191
191
190
195
197
199
202
204
205
211
212
213
215
216
220
220
224
225
226
228
229
233
233
231
231
234
234
235
235
238
238
241
242
244
245
246
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
250
250
248
248
247
247
246
245
243
241
241
236
235
234
233
229
227
227
224
224
222
221
216
214
214
212
210
208
204
202
200
197
90
90
88
88
88
88
88
87
88
89
91
92
93
94
101
101
102
108
109
112
113
116
118
120
119
121
121
121
125
126
128
129
129
129
132
133
133
136
136
137
137
137
141
142
142
142
145
145
145
147
150
150
153
154
155
155
159
160
161
162
163
166
167
171
171
172
173
175
176
176
175
176
177
179
180
181
179
179
179
178
177
176
176
177
177
176
175
175
172
171
169
169
168
168
166
165
165
162
162
162
162
162
162
162
164
164
164
164
164
164
164
167
167
167
167
167
167
167
167
167
166
165
164
163
163
160
159
159
158
155
154
154
151
150
150
147
145
145
145
131
130
130
127
125
124
122
120
120
118
117
117
116
116
114
114
115
117
117
120
120
120
123
125
125
126
128
129
135
138
145
145
146
150
151
155
156
161
163
164
168
168
175
175
178
178
179
179
180
180
183
185
186
187
188
188
189
189
189
189
189
191
191
191
195
197
199
202
204
204
208
212
213
215
216
219
220
222
225
226
228
229
232
233
230
231
234
234
235
236
238
238
241
242
244
245
246
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
251
251
250
248
248
247
247
246
245
243
241
241
236
236
234
233
229
228
227
224
224
222
221
216
214
214
212
210
208
204
202
200
197
91
91
91
91
91
91
91
92
93
93
96
97
98
98
104
105
106
111
113
115
116
119
122
124
124
125
126
126
130
130
131
131
134
134
134
138
138
140
142
143
143
144
146
148
149
149
149
150
152
153
156
156
157
158
159
160
162
163
164
168
169
170
170
175
176
178
179
180
181
181
182
183
184
184
185
186
183
183
183
182
181
180
180
179
178
177
176
175
172
171
168
168
168
167
165
165
164
161
161
161
161
161
161
161
162
162
162
162
162
162
162
163
163
163
163
163
163
163
164
163
163
162
161
160
159
158
158
157
154
153
151
149
149
148
146
145
143
143
143
130
129
128
126
124
123
120
118
117
115
114
114
114
114
112
113
113
115
116
118
118
120
123
125
125
126
128
129
140
143
148
150
150
153
157
158
159
164
166
169
170
171
176
176
179
179
179
180
181
181
185
186
187
188
189
190
189
189
189
189
189
191
191
192
195
197
199
202
203
203
208
209
212
214
216
217
219
222
223
225
227
229
230
230
229
230
233
234
235
236
238
238
241
242
244
245
246
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
253
253
252
251
250
249
249
248
247
247
245
244
242
242
237
236
235
234
229
228
228
224
224
222
221
216
214
214
212
210
208
204
202
200
197
92
92
93
94
95
95
96
96
97
98
100
101
102
102
110
110
112
116
119
121
123
124
126
128
131
131
132
132
135
135
136
137
139
139
139
142
142
144
146
147
148
149
151
152
154
155
155
155
157
156
158
159
160
161
161
162
166
169
170
172
173
176
176
179
181
182
183
183
185
185
186
186
186
187
187
188
186
186
185
184
183
183
182
181
180
179
177
176
172
171
167
167
167
167
164
164
163
160
160
160
160
160
160
160
161
161
161
161
161
161
161
162
162
162
162
162
162
162
162
162
161
160
159
158
158
155
155
153
152
150
146
145
144
144
143
143
140
139
139
128
127
127
124
122
121
119
117
116
114
113
113
113
112
112
112
113
114
115
118
118
120
123
125
125
126
128
129
143
145
152
152
155
156
158
161
162
167
170
172
173
176
177
177
179
180
180
180
182
183
186
188
189
190
191
191
189
189
189
189
189
191
191
193
196
197
199
201
202
202
207
208
210
211
213
216
217
221
222
224
225
228
229
230
227
228
232
233
235
236
238
238
241
242
244
245
246
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
253
253
252
251
250
249
249
248
247
246
245
243
242
238
237
236
234
230
229
228
224
224
222
221
216
214
214
212
210
208
204
202
200
197
92
93
93
95
96
97
99
99
100
101
103
104
105
106
113
113
115
120
121
124
127
126
128
131
132
135
135
136
136
137
139
140
140
140
143
142
142
146
147
148
149
151
154
154
155
155
158
158
158
160
161
162
165
165
166
166
170
171
172
173
176
177
178
181
182
183
184
185
186
186
186
187
187
187
188
188
187
186
186
185
184
183
183
181
181
179
178
176
172
171
167
167
167
166
164
164
163
160
160
160
160
160
160
160
160
160
160
160
160
160
160
161
161
161
161
161
161
161
161
161
160
160
159
157
157
155
154
153
151
147
145
142
143
143
143
141
139
139
138
127
127
126
124
121
121
118
117
116
114
113
113
113
113
112
113
113
115
116
118
119
120
123
125
125
126
128
129
144
147
154
154
155
156
160
162
164
169
171
174
175
176
177
177
180
180
180
181
182
184
187
188
189
191
191
192
189
189
189
189
189
191
191
193
196
197
199
201
202
202
205
208
209
211
212
214
216
219
222
223
225
226
228
229
226
228
231
233
235
236
238
238
241
242
244
245
246
250
250
251
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
254
254
253
252
251
250
250
249
249
248
247
245
243
243
238
237
236
235
231
229
229
224
224
222
221
216
214
214
212
210
208
204
202
200
197
97
97
96
99
101
102
105
106
106
109
113
115
116
117
121
122
123
127
127
128
130
131
134
137
138
141
142
142
145
145
145
145
144
145
145
143
146
148
149
152
153
154
156
158
159
161
162
163
166
168
168
171
171
171
172
172
172
172
175
176
177
178
180
183
184
185
185
186
186
186
189
189
190
190
191
191
189
189
188
187
187
186
185
182
181
180
179
177
174
172
167
167
167
167
165
164
164
160
160
159
159
159
158
158
158
158
158
158
158
158
158
159
159
159
158
158
157
157
157
157
156
156
155
153
153
147
147
146
145
145
141
141
142
141
140
139
134
133
133
125
124
123
122
120
119
117
117
117
115
114
113
113
113
114
114
114
114
114
116
116
119
121
122
125
127
128
128
145
146
151
153
156
158
161
165
165
170
173
174
175
176
176
176
179
180
180
181
182
184
188
190
191
191
190
190
190
190
190
190
190
192
192
193
196
197
199
201
202
202
204
205
206
208
211
212
212
217
218
219
223
224
226
226
227
228
231
233
234
236
237
237
240
241
243
244
245
249
249
250
251
251
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
252
250
250
249
248
246
244
244
237
236
235
234
230
228
228
225
224
223
221
215
214
213
209
208
206
202
199
199
198
98
98
100
101
104
105
108
109
111
112
117
121
122
123
125
127
128
133
133
134
134
140
142
145
145
146
149
149
146
146
146
146
148
148
148
151
151
153
157
158
159
159
159
160
164
165
166
167
169
172
174
175
175
176
176
176
176
177
177
178
181
181
181
185
185
186
188
188
189
189
191
192
192
192
192
193
192
191
191
190
189
188
188
183
182
181
180
178
174
173
167
167
167
166
164
163
163
158
158
158
157
157
157
156
158
158
158
158
158
158
158
158
158
158
157
157
156
156
156
156
155
154
153
152
152
146
146
145
143
142
140
139
140
139
137
135
133
132
132
123
123
123
121
120
119
117
117
117
115
114
113
113
113
114
114
114
114
114
116
116
118
120
121
123
126
126
127
143
143
149
151
155
156
158
162
162
167
171
173
174
176
176
176
179
180
181
182
183
184
188
190
191
191
190
190
190
190
190
190
190
192
192
192
196
197
198
200
201
202
203
203
206
207
208
209
211
214
217
218
220
222
223
223
226
227
230
232
234
235
236
237
240
241
242
243
244
248
249
249
250
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
252
251
250
249
248
247
245
244
238
237
236
234
230
229
228
225
224
223
221
215
214
213
209
208
206
201
199
198
197
99
99
101
104
105
109
110
112
115
116
121
125
126
126
128
129
132
135
137
136
138
144
144
146
148
149
149
151
146
146
148
149
149
149
151
152
152
156
158
159
160
160
163
164
165
167
170
171
171
176
176
177
179
180
180
180
178
178
181
181
182
182
183
186
188
188
189
189
189
190
192
192
192
192
192
192
192
192
191
190
189
189
188
184
183
182
180
179
175
174
168
167
167
166
164
163
162
157
157
157
157
156
156
155
157
157
157
157
157
157
157
155
155
155
155
154
154
153
153
152
152
151
150
149
149
144
143
143
142
141
139
138
139
136
135
134
130
129
128
123
122
122
120
119
119
117
117
117
115
114
113
113
113
113
113
113
113
113
115
115
116
119
120
122
124
125
126
141
142
146
150
152
155
156
159
161
166
168
170
174
174
175
176
179
181
182
182
184
184
188
190
191
191
190
190
190
190
190
190
190
192
192
192
195
197
198
200
201
201
202
203
204
205
207
208
209
213
214
216
219
221
222
223
225
226
230
231
233
234
236
237
239
241
242
243
244
248
248
249
250
251
251
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
254
254
254
253
253
251
250
250
248
247
245
245
238
237
236
235
230
229
229
225
224
223
221
215
214
213
209
208
206
201
198
198
196
102
103
103
106
109
111
113
117
120
121
127
129
130
131
134
137
138
143
143
144
144
147
149
151
151
151
153
153
150
150
151
154
154
155
157
156
157
160
161
162
163
163
170
171
173
174
175
178
178
180
182
183
183
185
185
185
184
184
184
184
184
186
186
189
190
190
190
193
193
193
193
192
192
192
192
191
193
192
192
191
190
189
189
185
185
184
182
180
177
176
170
170
169
168
165
164
162
157
157
157
156
156
155
155
156
156
156
156
156
156
156
154
154
153
153
153
152
152
150
150
149
149
148
146
146
142
142
141
140
138
137
137
134
134
133
130
127
127
126
121
121
121
119
119
119
117
117
117
115
114
113
113
113
112
112
112
112
112
114
114
114
117
117
120
122
123
123
135
136
140
142
146
147
150
152
154
159
164
166
168
169
173
173
178
180
181
182
184
184
188
190
191
191
190
190
190
190
190
190
190
192
192
191
195
196
197
199
200
201
200
201
202
203
205
206
207
211
212
214
216
219
220
221
223
224
228
230
231
232
235
236
239
240
241
242
243
247
248
248
249
250
251
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
254
254
254
252
251
250
249
248
246
245
239
238
237
235
231
230
229
225
224
223
221
215
214
213
210
208
205
200
197
196
195
103
105
104
107
111
113
114
119
122
125
129
133
134
134
138
139
140
145
147
146
147
152
154
155
157
157
157
157
151
154
155
156
157
160
160
162
164
166
167
168
171
171
174
175
176
180
181
182
182
184
185
186
186
187
187
187
186
186
186
186
187
187
187
190
190
191
193
194
194
194
193
193
192
192
191
191
193
193
192
191
191
190
189
186
186
184
183
181
178
177
172
172
171
170
166
165
163
158
158
157
157
157
156
156
156
156
156
156
156
156
156
153
153
153
152
152
151
151
149
149
148
147
146
145
145
141
141
140
139
138
136
134
133
133
132
129
126
125
125
120
120
120
119
119
119
117
117
117
115
114
113
113
113
112
112
112
112
112
114
114
113
115
116
119
121
122
122
130
131
136
138
141
142
145
146
149
156
159
162
164
165
171
171
176
178
180
181
183
184
188
190
191
191
190
190
190
190
190
190
190
192
192
191
194
195
197
199
200
200
197
200
201
203
204
205
206
208
212
213
215
216
217
220
222
224
227
229
230
231
235
235
238
239
241
242
243
247
247
248
249
249
250
251
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
255
255
255
254
254
252
252
251
250
248
246
246
239
239
237
236
232
231
230
225
224
223
221
215
214
213
210
208
205
200
196
195
193
108
108
109
111
114
116
119
125
127
129
133
136
137
140
146
146
149
151
154
157
157
158
158
161
163
163
163
165
162
163
167
168
170
171
173
174
175
177
178
179
179
182
187
187
188
188
188
189
189
190
190
190
190
190
190
190
196
196
196
196
196
196
196
198
197
197
197
196
196
196
198
198
196
196
195
195
193
193
191
190
190
189
189
186
186
185
184
184
183
181
178
176
175
174
172
169
168
162
161
161
158
158
157
155
156
156
156
153
153
152
152
152
152
151
150
150
148
148
144
144
143
143
143
143
142
138
138
138
136
136
132
129
126
125
122
118
114
114
114
119
119
119
120
121
121
121
119
119
119
118
117
117
117
115
115
115
114
115
115
115
115
116
117
118
121
122
122
125
126
131
133
137
138
141
142
143
149
153
156
158
159
165
167
172
172
175
177
181
184
188
190
193
193
192
192
188
188
187
187
186
186
186
187
188
189
190
190
191
191
197
198
199
201
203
204
204
209
210
212
216
218
219
220
222
224
227
229
230
231
237
237
240
241
241
242
243
247
247
248
249
249
250
251
252
252
252
253
253
254
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
239
239
237
236
232
230
230
225
224
223
221
215
214
213
205
205
204
200
195
194
193
109
108
110
112
116
119
122
125
127
130
136
138
141
141
148
149
150
154
156
159
160
161
163
166
167
169
169
170
172
173
174
176
179
179
180
181
182
183
186
187
187
188
191
192
192
193
193
193
193
196
196
196
196
196
196
196
198
198
198
198
198
198
198
199
199
198
198
198
197
197
199
198
197
197
196
196
193
193
191
191
190
190
190
187
186
186
185
184
183
182
179
176
176
174
173
170
169
163
162
162
159
158
157
155
155
155
155
152
152
152
151
151
151
150
150
149
147
145
143
143
143
142
142
141
141
137
136
135
135
132
129
127
124
122
120
116
113
113
113
118
118
119
119
120
120
120
119
118
118
117
117
117
117
114
114
114
113
115
114
114
114
116
116
118
121
121
122
122
123
128
130
134
136
139
139
141
147
150
154
155
156
163
165
171
171
174
176
180
182
187
189
190
192
191
191
187
187
186
186
186
185
185
186
187
187
188
189
190
190
197
198
199
200
202
203
204
209
210
212
216
218
219
220
223
224
228
229
231
232
237
237
240
241
241
242
243
246
247
247
248
249
250
250
252
252
252
252
253
253
254
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
239
239
237
236
232
230
230
225
224
223
221
215
214
213
208
207
205
202
197
195
192
111
111
111
114
118
122
125
127
130
133
138
142
143
144
151
153
155
160
162
164
165
168
171
174
175
176
179
179
180
180
181
182
183
184
184
186
188
189
190
193
194
194
196
197
197
197
198
198
198
198
198
198
198
198
198
198
201
201
201
201
201
201
201
201
201
201
200
200
200
200
200
200
199
198
198
198
194
194
192
191
191
191
190
187
187
186
186
185
184
182
181
178
177
176
175
172
170
165
164
163
160
159
157
155
154
153
153
151
150
150
150
150
149
149
148
147
144
143
143
141
140
139
138
137
135
134
131
131
130
127
123
123
120
118
117
114
111
111
112
117
117
117
117
118
118
119
118
118
117
117
116
116
116
113
112
112
111
113
113
113
114
115
116
117
120
121
121
117
120
124
128
130
133
134
137
139
144
146
148
151
152
158
162
166
169
170
175
177
180
184
187
188
188
190
190
186
185
185
184
184
184
184
183
184
185
186
187
187
187
196
197
198
199
202
202
203
209
210
212
216
218
219
220
224
225
228
230
232
233
237
237
240
241
241
242
243
246
246
247
247
248
249
250
251
251
251
252
252
252
253
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
239
239
237
236
232
230
230
225
224
223
221
215
214
213
206
204
201
199
195
190
184
111
111
111
117
119
123
126
127
130
133
139
143
144
145
155
155
157
163
165
167
170
171
173
177
180
181
182
183
182
183
183
185
185
186
186
190
191
194
195
196
196
196
201
201
201
202
202
202
203
202
202
202
202
202
202
202
203
203
203
203
203
203
203
204
203
203
203
202
202
202
201
201
199
199
199
198
195
194
192
192
191
191
191
188
187
187
186
185
184
183
181
179
178
177
176
172
171
166
165
164
160
159
157
155
153
153
152
150
150
149
149
149
149
148
147
146
143
143
141
140
139
137
136
134
134
131
130
129
126
125
121
119
119
117
115
112
110
111
111
116
116
116
117
117
118
118
117
117
117
116
116
116
115
112
112
111
111
112
112
112
113
115
115
117
120
120
121
117
117
123
125
129
130
133
136
137
141
145
146
147
150
156
158
165
166
169
172
176
180
183
185
187
187
187
189
185
184
184
184
183
183
183
182
183
184
185
185
186
186
196
197
198
199
201
202
203
209
210
212
216
218
219
220
224
225
229
230
232
233
237
237
240
241
241
242
243
245
246
246
247
248
249
249
250
251
251
251
252
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
239
239
237
236
232
230
230
225
224
223
221
215
214
213
211
207
203
199
190
183
175
112
113
113
118
122
126
129
129
132
134
142
144
147
148
159
160
163
167
171
173
176
178
178
183
185
186
187
188
189
189
192
192
192
192
194
198
199
202
203
204
204
205
204
205
205
205
206
206
206
207
207
207
207
207
207
207
205
205
205
205
205
205
205
205
205
204
204
204
203
203
202
202
200
200
199
199
195
195
193
192
192
191
191
188
188
187
186
186
185
183
182
180
179
178
176
173
172
167
166
165
161
159
157
154
152
152
152
149
149
148
148
150
150
149
146
146
142
140
140
139
138
135
133
129
128
125
125
124
123
121
117
116
116
115
114
111
111
112
112
115
115
115
116
117
117
117
117
117
117
116
115
115
115
111
111
111
110
111
111
111
113
114
115
116
119
120
120
117
117
121
125
127
130
131
133
136
139
141
144
145
146
154
157
161
165
166
171
174
177
181
184
184
187
186
186
184
184
183
183
182
182
182
181
182
182
183
184
185
185
195
196
197
199
201
202
202
209
210
212
216
218
219
220
225
226
229
231
232
234
237
237
240
241
241
242
243
245
245
246
247
247
248
249
250
250
250
251
251
252
252
252
252
252
253
253
254
254
254
254
254
254
254
254
254
255
255
255
254
254
253
253
252
252
251
250
248
246
246
239
239
237
236
232
230
230
225
224
223
221
215
214
213
205
202
200
199
198
191
183
115
114
116
120
124
126
128
131
134
138
144
147
151
156
162
165
168
176
177
180
180
185
185
190
191
191
194
194
193
196
197
198
199
201
201
203
204
206
206
207
210
210
210
210
211
211
212
212
212
211
211
211
211
211
211
211
210
210
210
209
209
209
208
208
208
207
207
207
207
206
203
202
201
200
199
198
196
196
193
192
191
191
190
188
188
187
186
185
185
183
181
178
178
177
176
173
172
167
166
165
161
159
157
154
153
153
152
150
149
148
147
147
147
147
145
145
140
137
135
132
130
127
124
125
123
121
120
118
117
116
114
113
114
114
112
112
112
112
112
115
115
115
116
116
117
117
118
118
117
115
115
114
114
111
111
110
110
111
111
111
112
113
114
115
118
119
119
117
117
120
120
123
124
126
129
132
136
138
139
140
140
151
153
160
163
167
168
171
173
180
181
184
184
184
184
183
183
182
182
181
181
181
181
180
180
181
183
184
185
194
195
197
199
202
203
204
209
210
213
217
220
221
222
225
227
230
230
230
232
237
237
240
240
241
242
243
246
246
247
247
248
249
250
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
255
254
254
254
253
253
250
250
249
248
248
246
246
240
240
239
237
233
231
231
227
225
223
221
217
215
213
207
206
205
202
197
196
193
115
116
116
120
124
127
130
133
135
139
145
148
154
157
166
167
170
177
181
182
184
187
188
192
194
195
196
196
196
196
198
201
201
202
202
205
206
209
210
211
211
212
214
214
214
215
215
215
216
215
215
215
215
215
215
215
212
211
211
210
210
210
210
209
209
208
208
207
207
207
203
203
201
200
199
199
196
195
193
192
191
190
190
187
187
186
186
185
184
182
181
178
178
177
176
173
172
167
166
165
161
159
157
153
152
152
151
149
148
147
146
148
147
147
147
144
137
136
133
130
127
123
122
120
121
118
118
117
116
115
113
112
112
112
112
112
112
112
112
114
114
115
115
116
116
116
117
117
116
115
114
113
113
110
110
110
109
111
110
110
111
113
113
115
118
118
119
117
117
119
120
121
124
126
128
131
135
136
138
139
139
150
152
158
162
164
167
170
172
177
181
182
184
184
184
183
183
182
182
181
181
181
181
180
180
181
183
184
185
194
195
197
199
202
203
204
209
210
213
217
220
221
222
225
227
230
230
230
232
236
237
239
240
241
242
242
245
246
246
247
248
249
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
255
254
254
254
253
253
253
250
250
249
248
248
246
246
240
240
239
237
233
232
231
228
226
223
222
218
215
213
206
206
204
201
198
196
194
118
117
117
123
125
128
131
135
140
145
150
154
157
159
171
173
176
183
187
187
189
192
194
197
200
201
201
202
201
201
202
204
205
205
206
210
211
214
215
216
216
217
218
219
219
220
220
220
220
220
220
220
220
220
220
220
217
216
216
216
215
215
215
213
213
212
211
210
209
209
204
203
202
201
200
199
195
195
192
191
190
190
189
186
185
185
184
183
182
181
179
177
177
176
175
172
171
166
165
164
160
158
156
153
151
151
150
147
147
146
145
148
148
147
147
143
135
133
131
128
124
120
119
117
115
110
112
111
111
110
109
108
111
111
111
111
111
113
113
113
113
113
113
114
114
115
116
115
115
113
112
112
111
109
108
108
107
109
109
109
111
112
113
114
117
118
118
115
115
119
119
121
122
124
127
127
131
135
136
137
138
146
148
156
159
162
163
166
172
177
178
182
182
182
183
183
183
182
182
181
181
181
181
180
180
181
183
184
185
194
195
197
199
202
203
204
209
210
213
217
220
221
222
224
226
229
229
229
231
236
236
239
239
240
241
242
245
245
246
246
247
248
249
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
254
254
253
253
253
252
252
250
250
249
248
248
246
246
240
240
239
238
235
234
233
228
226
224
223
218
216
214
208
207
205
203
199
197
195
120
120
122
126
128
132
133
137
142
148
156
157
159
162
175
176
179
187
188
190
190
195
197
201
202
202
204
204
204
204
205
206
207
209
210
211
214
215
216
218
219
219
219
220
220
221
221
221
221
223
223
223
223
223
223
223
219
219
219
218
218
218
217
216
215
213
212
211
210
209
205
204
202
201
201
200
194
194
191
191
190
189
188
184
184
183
183
182
181
179
177
175
174
173
172
170
169
165
165
163
159
157
155
152
152
151
151
148
147
146
145
148
148
147
146
142
134
132
127
124
120
115
113
109
109
106
106
106
106
105
105
107
110
110
110
110
112
112
112
111
111
112
112
113
113
113
114
114
113
112
111
110
110
107
107
107
106
108
107
107
110
111
112
114
116
117
117
115
115
119
119
121
122
124
125
128
132
135
136
137
138
144
146
154
157
160
161
163
169
176
178
181
181
181
181
183
183
182
182
181
181
181
181
180
180
181
183
184
185
194
195
197
199
202
203
204
209
210
213
217
220
221
222
224
226
228
228
229
231
235
235
238
239
240
240
241
244
244
245
246
247
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
240
240
239
238
236
235
235
229
227
225
223
219
217
215
213
212
210
206
200
197
194
121
121
123
126
129
133
134
137
143
149
157
158
161
163
175
177
179
187
188
190
190
195
198
201
202
204
204
204
204
204
206
207
209
210
210
211
214
215
218
218
219
219
220
221
221
222
222
222
222
224
224
224
224
224
224
224
220
220
219
219
219
218
218
216
215
214
212
211
210
210
205
204
202
202
201
200
194
194
191
190
190
189
188
184
184
183
182
182
181
179
176
174
173
173
172
169
168
165
164
163
159
157
155
152
152
152
151
148
147
147
146
148
148
148
146
142
134
131
124
121
117
113
110
106
104
106
105
105
105
105
104
106
110
110
110
110
112
112
112
111
111
111
112
113
113
113
114
114
113
112
111
110
110
107
107
107
106
107
107
107
110
111
112
113
116
117
117
115
115
119
119
121
122
124
126
128
132
135
137
137
138
143
145
154
156
159
161
163
169
176
177
181
181
181
181
183
183
182
182
181
181
181
181
180
180
181
183
184
185
194
195
197
199
202
203
204
209
210
213
217
220
221
222
224
225
228
228
229
230
235
235
238
239
239
240
241
244
244
245
246
246
247
248
249
249
249
250
250
251
251
252
252
252
253
253
254
254
253
253
253
253
253
253
253
253
253
253
252
252
251
251
250
250
249
248
248
246
246
240
239
239
238
236
236
235
229
227
225
223
219
217
215
215
214
211
207
200
197
194
127
127
128
133
137
139
142
146
149
154
158
162
165
168
175
179
182
188
191
196
200
201
202
205
208
209
212
212
210
210
211
212
213
214
214
217
217
218
218
218
219
219
221
222
222
222
223
223
223
224
224
224
224
224
224
224
222
222
221
221
220
220
220
218
218
216
215
214
213
213
209
209
205
204
203
202
198
197
197
193
192
191
190
185
185
183
182
180
179
176
174
172
171
170
170
167
166
163
161
160
157
157
156
152
153
153
152
149
148
148
147
140
138
136
134
131
125
121
116
113
109
105
103
100
100
98
98
100
101
103
107
107
107
107
109
109
109
111
111
106
107
107
108
107
107
106
107
107
107
106
105
105
105
106
106
106
106
108
108
108
108
110
112
115
117
117
117
119
119
121
123
124
125
125
129
129
134
136
137
139
139
145
145
150
152
156
161
163
168
172
175
177
179
181
181
182
182
182
182
182
182
182
182
181
181
182
184
185
186
196
197
199
203
205
206
207
212
213
217
219
221
222
223
223
224
227
229
230
231
234
235
239
239
239
239
241
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
243
243
242
241
240
237
237
235
232
229
228
224
222
220
217
215
212
208
204
201
197
127
127
128
133
137
139
142
145
148
153
159
163
166
169
175
179
182
188
191
196
200
203
204
207
210
211
213
214
212
212
213
214
215
215
216
219
219
219
220
220
220
221
222
222
223
223
223
224
224
224
224
224
224
224
224
224
222
222
221
221
220
220
220
220
219
218
217
216
215
214
211
210
207
206
205
204
200
199
198
195
194
193
192
185
185
183
182
180
179
176
174
172
171
170
170
167
166
163
161
160
157
157
156
152
152
152
151
149
148
147
146
139
137
134
132
129
123
119
114
111
107
103
101
98
98
98
98
100
101
103
107
107
107
107
109
109
109
111
111
106
107
107
108
107
107
106
107
107
107
106
105
105
105
106
106
106
106
108
108
108
108
110
112
115
117
117
117
119
119
121
123
124
125
125
129
129
134
136
137
139
139
146
146
150
152
156
160
162
166
170
174
175
177
179
180
182
182
182
182
182
182
182
182
181
181
182
184
185
186
196
197
199
203
205
206
207
212
213
217
219
221
222
223
223
224
227
229
230
231
234
235
239
239
239
239
241
245
245
246
247
247
248
249
250
250
250
251
251
252
252
253
253
253
253
253
253
253
254
254
254
253
253
252
252
252
252
252
251
251
250
250
250
249
247
248
248
247
246
243
243
242
241
240
237
237
237
234
231
230
226
223
221
219
217
214
209
206
203
199
