159
161
162
163
166
167
166
165
165
164
163
163
163
162
162
161
161
160
160
158
158
158
160
159
159
162
163
162
162
162
162
162
162
162
161
161
161
160
160
159
159
159
159
159
159
159
159
159
159
159
159
159
159
158
158
157
156
156
156
156
155
154
153
153
155
155
156
156
156
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
154
154
154
154
154
154
156
158
158
158
158
158
158
157
157
157
157
157
157
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
155
154
154
154
153
152
152
152
151
151
151
151
151
151
151
152
152
152
152
152
153
153
153
153
153
153
153
152
152
152
152
151
151
151
151
151
151
151
151
151
151
152
152
152
152
153
153
153
153
153
153
153
153
153
153
154
154
154
154
154
154
154
155
155
156
156
156
156
156
156
156
157
157
157
157
157
157
157
159
160
160
160
161
161
161
162
162
162
162
162
162
162
162
161
161
161
161
161
161
161
161
161
161
161
161
161
161
161
162
164
164
167
168
169
169
170
172
174
174
175
175
175
176
176
176
176
176
176
177
177
177
177
177
176
175
174
173
171
171
170
170
170
170
171
171
172
173
174
176
178
178
181
181
185
185
188
189
191
192
194
195
195
195
197
202
202
202
203
203
204
204
206
206
207
208
210
212
215
217
218
220
220
220
220
222
222
227
229
227
225
223
216
211
206
205
204
195
195
188
181
168
163
163
163
163
162
162
162
162
162
162
161
161
161
161
160
160
160
159
159
159
159
159
159
159
159
158
158
157
157
157
157
158
158
160
160
160
160
160
161
161
161
162
163
163
163
163
163
164
164
164
165
165
166
166
167
168
168
167
165
165
164
164
163
163
163
164
164
164
164
165
165
165
165
165
165
165
165
167
168
168
171
171
163
163
163
163
161
160
160
160
159
159
159
158
157
156
156
156
156
155
154
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
152
152
151
151
151
151
151
152
152
153
153
153
153
153
153
153
153
153
153
153
152
152
151
151
151
151
151
151
151
151
151
151
151
151
151
152
152
152
153
153
156
156
156
156
156
155
154
154
154
154
153
153
153
153
152
152
152
152
152
153
153
153
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
155
155
155
156
156
156
156
156
156
156
156
156
155
155
155
155
155
155
154
154
154
154
152
151
150
148
148
148
147
147
147
147
147
147
148
149
150
151
152
152
152
153
155
155
156
157
157
159
161
164
166
169
172
175
176
178
178
179
179
179
180
180
180
180
180
180
180
179
178
178
177
177
177
176
176
176
176
176
176
176
176
175
175
175
175
175
175
175
175
175
175
176
176
176
177
177
177
176
174
173
172
171
171
171
170
170
169
167
166
163
163
162
161
160
160
160
160
160
160
160
159
159
158
157
157
157
157
157
157
157
157
157
157
156
155
155
154
153
153
152
152
152
151
151
150
149
148
147
146
145
144
143
143
142
142
141
140
140
139
138
138
137
137
137
137
137
137
136
135
134
133
132
131
129
127
127
127
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
125
125
124
124
124
123
121
120
119
118
118
117
117
116
115
115
115
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
116
116
117
117
118
118
118
118
119
119
119
119
119
118
118
117
117
116
116
115
114
114
114
114
114
114
115
115
115
115
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
116
116
116
116
116
116
116
115
115
113
113
113
113
113
113
114
115
115
115
117
117
117
115
115
115
115
115
115
114
114
113
113
113
113
113
113
113
113
113
113
113
114
114
114
114
114
114
115
115
115
115
115
115
116
117
117
117
117
117
117
117
117
117
117
117
118
118
118
116
115
115
114
114
113
112
112
113
114
114
116
115
116
116
115
113
113
112
113
115
116
118
118
117
116
115
115
118
116
116
116
116
116
116
117
118
119
119
119
119
119
119
119
119
118
118
118
118
117
117
117
117
117
117
118
117
115
115
115
115
115
115
116
116
117
117
117
118
118
117
116
115
115
114
114
113
113
113
113
113
113
113
113
113
113
113
113
116
114
115
115
115
117
118
118
119
120
120
120
121
121
121
118
118
117
114
114
114
114
114
114
113
113
113
113
113
113
114
115
115
115
115
115
115
113
114
116
116
116
116
117
118
119
120
121
123
124
124
124
124
124
124
124
124
124
124
124
124
124
124
125
127
128
128
126
128
129
132
131
128
127
127
127
127
127
127
127
126
126
125
125
125
125
127
127
128
128
128
129
129
130
131
131
132
132
132
132
131
130
130
129
129
129
130
130
131
131
132
132
133
133
134
135
135
135
135
135
135
135
135
136
138
139
141
141
142
144
146
149
150
150
151
153
155
158
158
155
155
154
154
153
153
153
151
149
145
143
143
143
143
143
146
146
147
152
157
155
154
149
147
148
148
149
151
153
153
155
155
155
154
153
153
155
157
157
160
158
156
155
155
154
154
154
153
153
152
152
152
151
151
150
149
149
148
147
147
148
149
147
153
161
164
167
164
166
167
165
162
161
160
160
159
158
157
157
158
159
159
160
160
160
160
162
162
162
163
165
166
166
166
166
166
166
166
166
166
166
167
167
168
168
169
169
169
169
169
169
170
171
172
172
172
173
173
173
173
173
173
174
174
174
175
175
176
176
176
177
177
177
176
176
177
178
179
179
177
176
176
175
174
174
174
173
173
173
173
173
173
173
173
173
172
171
170
170
170
167
165
165
165
165
164
164
164
164
163
161
160
160
160
160
160
160
160
160
160
160
162
165
167
169
170
171
174
178
184
188
188
185
181
180
177
169
165
165
165
165
165
165
167
170
171
171
171
170
170
170
170
169
169
168
168
168
168
168
167
166
164
163
162
161
160
159
159
158
157
156
156
156
156
156
156
156
156
156
156
156
156
156
156
157
157
158
158
158
159
159
159
160
160
160
160
160
159
159
159
159
159
159
159
158
156
156
158
159
159
159
158
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
154
153
153
153
152
151
150
150
150
150
150
150
151
151
152
152
152
152
152
153
153
153
153
153
153
153
153
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
154
154
154
153
153
153
153
151
151
151
150
150
150
151
151
151
151
151
152
152
153
159
159
160
164
172
177
183
186
189
190
191
191
191
190
190
191
188
183
179
179
176
173
171
170
170
169
174
178
183
184
184
183
179
173
171
171
171
171
170
169
168
167
166
165
164
164
162
161
160
160
159
159
159
158
157
157
157
159
159
160
160
162
164
161
157
154
154
155
155
157
163
165
164
163
163
163
161
156
152
143
140
137
136
135
135
132
132
135
137
137
141
141
144
147
151
152
155
161
160
157
156
155
155
155
154
154
154
153
153
151
150
148
146
142
141
140
140
140
140
140
140
140
140
141
145
149
149
149
149
149
149
149
149
149
148
146
144
143
143
143
145
145
145
145
145
145
145
146
148
149
150
152
152
155
157
154
150
149
148
145
144
144
142
142
144
146
152
153
156
160
162
162
163
164
163
153
150
154
157
157
157
157
157
157
156
152
149
149
144
139
139
139
139
141
144
147
155
155
156
156
156
156
156
156
156
156
157
158
160
161
162
162
164
167
169
174
175
163
159
159
152
146
145
144
143
141
142
152
147
140
141
143
143
143
143
143
143
143
143
153
163
158
157
153
153
152
151
149
149
149
149
149
149
149
149
152
159
160
160
162
167
167
170
170
171
171
173
173
167
163
160
158
155
155
151
144
140
132
129
128
128
129
129
130
130
131
131
132
133
133
122
117
109
109
109
109
109
109
109
108
108
108
108
108
108
108
108
108
108
109
109
110
110
110
109
109
108
108
108
135
139
139
140
140
141
141
141
141
141
138
136
136
135
134
134
134
134
135
135
135
134
134
133
131
131
131
131
131
131
131
131
131
131
130
130
130
130
129
129
127
126
126
124
124
122
121
118
116
116
112
110
110
110
109
109
109
108
108
108
108
108
108
108
107
107
107
106
106
106
105
104
103
102
102
102
102
102
102
102
103
103
103
104
104
105
105
105
106
107
107
107
107
106
106
106
106
106
106
105
104
104
104
104
104
105
105
105
105
105
105
105
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
106
106
106
106
106
106
106
106
106
105
105
105
105
105
106
106
106
106
106
107
107
107
107
107
107
106
105
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
105
105
105
104
104
104
104
104
105
105
105
105
106
106
106
107
107
108
108
108
108
108
108
107
107
106
106
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
107
108
109
109
109
109
109
109
110
110
113
114
114
115
118
121
121
121
122
122
122
122
122
122
122
121
121
121
121
121
121
121
121
122
122
122
119
117
115
113
112
111
109
107
107
103
103
103
103
103
103
104
106
106
110
119
113
112
113
114
115
115
115
115
115
115
114
113
113
112
110
109
108
107
106
106
105
105
103
104
106
106
106
107
109
111
114
116
116
116
116
115
115
115
115
115
115
115
116
116
117
118
119
119
121
121
122
123
124
124
124
124
124
121
119
116
114
113
113
114
114
116
116
116
117
117
117
117
117
117
117
117
117
118
118
118
118
119
119
119
119
119
119
118
117
115
115
115
116
117
118
119
121
122
123
124
124
124
124
123
123
123
122
121
119
117
116
115
114
112
111
111
110
109
109
108
108
107
107
106
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
105
105
105
104
104
104
103
103
103
103
103
103
104
104
104
104
104
105
106
106
105
105
104
103
104
104
104
105
105
106
108
109
109
110
112
119
119
122
126
126
126
125
125
124
122
122
113
107
107
105
104
103
103
103
103
104
106
107
107
107
106
106
106
106
105
105
105
104
104
104
104
104
104
104
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
105
105
104
104
104
104
105
106
107
107
107
107
109
112
113
114
115
117
117
120
122
123
124
125
126
126
123
121
119
116
113
117
120
124
130
131
124
120
111
109
108
108
108
108
107
107
106
106
105
104
104
104
104
104
105
105
105
105
105
105
105
106
107
108
108
109
109
109
122
125
125
126
126
126
124
124
124
122
121
121
119
119
118
116
113
110
109
108
108
108
109
109
109
109
108
107
106
106
106
107
107
107
107
106
105
105
105
105
105
105
105
105
105
105
105
104
104
105
106
107
110
121
127
132
133
133
134
135
136
134
131
122
120
119
119
119
120
121
121
120
115
110
108
108
108
109
109
109
109
109
109
108
107
107
108
108
108
108
109
109
110
110
111
111
111
111
111
111
111
111
111
111
111
110
109
108
109
111
112
114
114
116
120
120
121
122
123
122
120
119
119
118
118
116
115
114
114
114
113
113
113
113
111
108
107
106
106
108
109
110
110
109
109
109
108
108
105
104
103
102
102
102
103
104
105
106
107
105
105
105
105
107
108
110
110
109
106
105
105
105
105
105
105
105
106
107
108
108
108
109
107
106
106
106
107
108
108
109
109
109
111
111
114
119
120
121
121
123
119
115
112
107
105
105
105
105
105
105
105
105
105
105
105
107
108
108
107
105
105
105
105
105
105
105
105
105
106
106
107
107
107
106
106
105
105
105
105
105
105
105
105
105
106
106
107
107
108
108
107
107
107
106
105
104
104
103
103
103
104
105
106
107
108
107
106
103
104
105
106
106
106
106
109
113
116
114
110
108
107
106
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
105
107
108
107
107
107
105
104
104
104
104
105
105
105
105
106
109
112
113
114
116
118
120
121
121
122
124
126
126
128
134
136
136
134
129
120
119
119
119
118
117
116
115
113
111
110
109
108
108
107
107
106
106
105
105
105
105
105
105
105
105
105
105
104
104
104
104
106
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
107
108
109
110
111
111
112
112
112
110
109
107
107
109
109
111
116
115
113
113
111
108
108
107
106
106
106
106
105
105
105
104
104
104
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
105
105
106
107
108
109
109
109
110
112
114
115
119
123
124
128
132
140
142
147
147
156
170
175
183
183
181
176
171
164
162
160
158
157
157
156
156
156
155
155
155
155
154
154
153
153
152
151
151
148
146
143
142
140
138
136
135
134
132
130
129
127
126
122
117
116
113
113
113
112
111
110
109
109
110
112
113
113
113
114
114
114
115
115
117
119
122
127
130
134
137
137
138
139
140
142
145
148
154
157
158
159
159
160
160
159
159
159
160
160
161
162
162
163
165
165
164
164
164
163
163
164
165
165
167
170
174
175
175
176
176
176
177
177
178
178
180
180
181
181
181
181
182
182
182
181
180
180
179
174
169
165
163
162
162
162
162
162
162
159
155
153
150
147
147
147
147
147
148
149
152
154
157
161
164
166
168
168
169
167
162
163
166
166
166
166
166
167
168
168
169
169
172
172
175
176
177
180
184
187
188
186
185
183
179
175
175
174
173
172
168
162
156
156
153
150
142
134
126
122
114
110
108
107
107
107
106
105
106
108
109
111
111
122
122
118
115
115
115
112
110
108
108
108
108
108
108
109
109
109
109
109
109
109
109
109
109
109
108
108
108
108
107
107
107
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
107
108
108
109
109
110
110
110
110
110
109
109
109
108
108
109
110
110
110
111
111
112
112
113
113
113
113
113
113
113
113
113
113
114
115
115
116
117
117
118
119
120
120
121
121
121
121
121
121
121
121
121
122
122
123
123
124
124
124
124
125
125
125
125
125
125
125
125
125
125
126
127
128
130
131
131
133
136
138
141
144
144
144
144
144
145
148
150
151
151
150
150
150
150
150
150
147
145
142
137
134
130
126
123
117
117
115
113
113
111
109
108
107
107
107
107
111
114
117
118
118
118
118
118
119
120
118
118
116
116
117
117
118
119
119
120
120
120
120
119
119
119
119
119
117
116
113
110
108
107
107
107
107
107
107
108
108
108
108
108
108
109
109
110
110
111
112
114
114
114
114
114
115
115
116
117
117
124
128
130
131
134
135
134
131
129
126
123
112
106
107
107
108
108
108
107
106
106
108
110
110
109
109
108
107
106
105
105
104
104
105
106
106
106
107
107
108
108
107
107
107
107
107
107
107
107
108
109
110
110
110
110
110
110
110
113
113
114
114
114
113
112
112
111
111
111
112
112
112
113
113
113
114
114
114
115
115
116
117
118
119
123
128
130
134
135
140
141
140
134
125
122
122
122
124
126
127
127
126
126
126
126
124
119
116
115
114
114
114
113
113
113
113
114
114
116
119
119
121
123
124
124
124
126
128
129
129
129
129
129
130
130
129
128
128
128
127
124
122
119
119
118
117
116
116
116
116
116
116
117
117
117
117
118
119
119
120
120
121
122
126
126
124
124
122
118
116
115
113
112
111
108
105
103
101
98
98
98
103
103
106
106
106
108
110
112
114
115
117
120
128
130
128
127
122
116
111
105
100
100
100
100
100
100
100
99
99
99
99
99
100
100
100
100
99
98
99
104
105
105
108
110
115
115
117
117
118
119
120
124
124
124
124
124
124
124
123
123
123
122
122
121
121
120
120
119
119
119
119
119
118
118
116
114
112
111
109
108
107
104
100
98
98
97
97
96
96
94
92
92
94
96
97
98
99
99
100
102
103
103
104
104
104
103
101
101
100
99
99
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
99
98
97
97
97
99
99
99
98
98
97
96
96
97
97
97
97
97
97
98
99
100
96
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
95
96
96
96
97
97
98
99
99
99
99
97
96
96
96
96
96
96
97
97
98
99
101
101
98
97
97
97
97
96
96
95
95
94
94
94
94
94
94
95
96
96
97
97
97
97
97
97
97
96
96
96
96
96
95
95
95
95
95
95
95
95
95
95
96
96
96
96
96
96
96
96
95
95
95
95
95
95
95
94
94
94
94
94
95
96
96
96
95
94
94
94
94
94
94
94
94
95
95
96
96
96
96
96
96
102
104
105
105
105
105
102
100
97
97
97
97
97
96
96
96
96
96
95
95
94
94
94
94
94
94
94
94
94
94
94
94
95
95
95
95
95
95
96
96
96
96
96
97
97
98
99
99
100
100
100
98
98
97
97
97
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
96
96
95
94
96
97
99
100
100
100
99
99
99
98
97
97
97
96
96
95
94
94
93
97
97
96
94
94
94
94
95
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
97
97
98
98
99
99
99
100
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
99
96
96
96
96
96
96
96
96
99
102
106
107
106
105
104
104
103
103
103
104
104
104
105
106
106
106
106
106
102
102
102
102
102
102
102
102
100
98
98
98
99
99
100
100
101
102
101
99
98