1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
2
2
2
3
3
3
4
6
6
6
5
4
4
3
3
3
3
2
2
2
4
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
7
7
7
6
6
6
6
5
5
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
4
2
1
1
1
1
1
5
7
8
8
8
8
8
7
7
6
6
6
6
6
7
8
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
10
13
15
17
20
20
20
20
21
23
24
26
26
25
25
25
25
25
25
26
25
24
21
21
27
29
24
22
22
23
24
24
25
25
26
27
27
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
28
27
26
25
25
25
25
26
26
27
28
29
29
29
29
29
29
29
29
29
29
30
30
30
31
31
32
32
33
33
34
35
36
36
37
38
39
40
44
44
46
46
47
48
48
51
52
52
57
59
61
57
88
88
85
83
79
80
80
80
81
81
81
81
81
80
69
70
70
70
68
69
69
69
69
70
70
70
79
80
80
76
77
75
74
74
74
74
74
74
75
75
75
75
75
75
76
76
77
78
79
81
81
86
87
99
100
100
94
84
81
77
76
76
78
79
81
84
88
89
90
90
89
83
78
75
74
72
71
69
69
69
68
66
62
58
56
51
46
41
37
34
32
31
31
30
26
24
23
20
19
18
17
18
20
26
28
28
29
29
75
77
79
92
91
90
88
86
72
71
71
78
103
105
108
118
118
119
119
119
120
120
124
133
135
133
134
144
153
154
166
167
169
171
171
171
170
168
166
163
161
157
153
147
141
139
136
135
134
134
134
136
138
141
141
142
143
143
143
143
142
140
138
128
126
127
131
133
136
137
140
141
140
138
138
138
138
139
139
139
139
139
138
138
137
137
138
139
141
142
143
141
136
131
129
128
123
121
120
119
116
116
111
108
106
106
106
105
106
107
109
114
115
116
112
111
111
114
117
117
118
120
121
122
123
123
123
125
125
130
132
134
138
140
143
148
157
158
158
159
159
161
162
162
162
163
163
164
164
163
161
160
150
146
145
145
150
151
153
154
154
154
155
153
137
123
108
96
92
89
85
78
74
72
71
71
72
73
73
73
74
83
80
80
81
84
84
85
88
91
93
95
98
101
104
105
107
111
114
119
126
130
132
133
134
135
135
136
136
130
124
121
121
121
115
106
100
95
91
88
88
88
86
86
86
86
86
91
92
94
96
96
97
98
103
106
113
112
105
101
102
102
104
104
105
106
108
109
109
110
113
113
112
111
108
111
116
119
118
113
112
112
112
113
116
118
122
123
126
127
127
127
126
126
127
128
132
132
132
133
135
138
133
130
129
129
129
129
130
133
134
136
136
133
133
137
139
136
134
134
135
136
136
136
136
135
135
135
136
138
139
136
136
136
136
138
141
141
141
140
140
139
137
136
137
139
139
139
139
139
139
138
138
138
142
141
140
141
140
140
140
139
139
140
141
143
144
145
144
144
143
143
143
143
144
146
146
146
146
145
145
145
145
147
148
149
150
150
151
151
151
151
150
150
149
153
153
155
156
157
158
159
160
161
162
165
165
167
168
168
169
173
178
181
182
185
185
185
186
186
187
187
188
188
188
191
192
194
195
196
200
202
203
206
209
209
209
209
209
209
209
209
209
209
212
214
218
222
230
234
236
239
242
245
250
253
255
254
254
253
252
252
251
248
236
229
227
224
220
217
216
214
211
209
208
207
205
205
205
205
204
203
203
202
201
200
199
198
184
182
179
178
175
173
172
172
169
167
164
163
162
159
154
151
151
150
150
150
149
149
149
149
149
149
149
149
149
150
151
151
151
151
151
150
149
148
146
146
145
144
142
140
139
136
132
128
126
125
123
122
119
119
116
116
119
118
117
117
117
117
114
112
112
110
110
111
112
112
112
112
112
112
112
112
113
114
114
115
116
118
120
122
123
124
125
125
126
128
129
132
133
134
135
138
139
140
140
140
141
141
143
147
152
155
157
165
170
173
177
180
182
186
188
190
189
186
185
184
182
183
186
189
192
198
199
202
205
208
208
208
208
208
208
208
208
208
208
208
207
206
205
204
203
201
199
199
202
204
206
210
212
215
217
220
222
223
229
236
240
244
247
250
250
250
251
251
251
251
252
252
253
254
257
261
263
264
270
270
271
273
273
273
272
272
270
269
269
268
268
267
267
266
265
265
262
258
255
253
250
247
242
236
233
231
229
227
223
221
219
216
209
209
208
208
207
206
206
206
202
201
199
197
190
188
187
184
183
183
185
186
190
193
193
192
192
191
191
190
190
189
189
189
188
185
184
181
179
177
172
168
166
164
163
161
160
159
158
157
155
155
153
152
151
150
150
149
147
146
145
145
145
144
144
143
143
143
142
142
142
142
140
140
140
140
140
139
139
139
139
138
137
137
136
135
135
137
138
140
140
141
142
142
141
141
142
145
147
147
146
146
145
144
144
144
143
143
143
144
145
145
146
146
146
146
146
146
146
146
146
145
145
145
145
144
144
144
144
144
143
143
143
146
146
147
148
149
147
146
146
146
146
147
147
148
148
148
148
148
148
148
150
152
153
155
157
157
157
157
156
157
160
162
163
162
161
159
157
156
156
156
156
157
157
157
157
158
158
158
158
158
158
158
158
158
158
158
158
158
162
163
165
165
165
165
164
164
163
163
163
163
163
163
164
164
165
165
166
167
167
168
170
171
172
172
174
174
174
174
175
178
180
182
183
185
187
188
190
194
202
203
201
195
190
189
190
192
193
195
197
207
212
217
222
226
232
240
239
238
236
243
252
257
266
269
275
278
282
284
283
279
276
272
266
266
266
266
266
266
266
268
270
271
272
282
299
303
302
300
297
295
289
285
282
284
286
289
289
290
291
291
290
290
289
288
286
286
285
283
281
277
271
270
268
265
261
257
256
255
254
253
251
252
253
253
254
254
254
254
252
237
230
228
224
223
223
222
222
220
219
219
219
219
219
219
219
219
218
217
217
217
217
217
218
218
218
215
214
213
212
212
211
211
211
212
213
213
213
213
213
213
212
209
209
208
208
208
208
208
208
208
208
208
208
206
206
206
206
207
207
207
208
208
208
208
208
207
207
205
205
204
204
204
204
204
204
204
204
204
204
204
204
203
203
203
202
202
202
202
202
202
202
202
202
202
202
202
202
203
204
205
207
211
212
212
213
214
214
210
210
208
217
219
223
225
220
215
211
206
206
209
210
212
212
212
212
212
212
212
211
210
209
208
207
206
205
205
205
204
204
203
203
203
203
202
202
201
201
201
205
208
214
218
218
218
218
218
218
217
216
216
215
215
214
214
214
213
213
211
209
207
205
205
205
205
206
206
207
208
208
209
210
211
212
213
213
214
214
214
220
223
226
232
232
232
232
232
232
232
231
231
231
231
231
231
231
231
231
231
231
231
231
231
233
236
241
246
249
253
257
258
258
258
258
258
258
258
258
260
262
264
265
268
269
271
276
279
281
290
292
295
301
303
302
299
296
295
292
301
308
314
319
326
328
322
317
314
310
307
303
299
296
299
303
308
311
314
320
325
328
332
336
342
347
353
353
351
350
349
347
346
344
341
339
338
337
335
334
333
332
330
329
327
325
324
323
321
320
319
318
314
313
313
312
311
309
308
306
305
303
295
294
293
293
293
292
292
292
291
291
290
286
268
266
265
262
260
257
269
269
270
271
273
275
276
274
272
270
269
267
265
264
263
260
259
258
257
257
256
255
255
254
253
253
252
252
251
248
247
245
244
242
241
240
239
238
236
233
230
229
227
224
221
219
216
213
211
208
205
199
195
191
186
182
178
175
171
171
171
170
170
170
170
170
170
170
169
169
170
171
172
172
173
176
177
176
176
176
175
174
169
168
167
166
167
167
167
167
166
165
164
163
163
163
163
163
163
163
163
163
163
166
167
166
163
162
163
163
164
166
166
165
164
162
161
160
160
161
162
163
165
163
162
162
161
161
165
166
168
170
167
163
160
158
156
156
157
158
164
170
174
177
181
185
186
186
186
185
184
184
182
181
180
178
174
172
168
164
162
162
163
163
162
162
161
161
164
168
172
172
171
171
169
168
167
166
164
162
161
162
163
165
166
166
166
166
164
162
162
162
162
161
162
163
164
166
176
175
170
166
166
168
168
168
168
168
168
167
167
167
167
167
167
170
171
171
172
172
173
173
172
171
169
171
173
174
177
178
178
176
175
176
176
175
173
172
171
174
174
172
172
175
175
174
174
173
173
172
172
173
174
177
178
179
180
180
180
180
179
178
178
178
178
178
179
179
179
180
180
180
180
180
185
185
185
185
185
186
187
188
188
188
188
188
188
188
190
192
193
194
194
194
194
195
195
197
199
202
202
204
206
208
210
211
212
212
213
217
223
224
231
233
236
240
242
245
248
250
252
261
267
266
260
256
252
248
249
252
255
258
258
259
260
260
261
261
261
260
259
257
256
255
255
254
253
252
252
251
251
256
259
263
267
267
264
261
258
255
251
254
265
275
278
279
279
279
279
279
279
280
280
280
281
281
282
280
278
276
274
272
268
266
263
260
254
251
248
246
245
241
239
237
235
231
229
228
228
227
226
223
218
216
210
210
208
206
205
204
201
196
197
200
203
200
195
193
192
190
189
187
187
190
188
188
186
185
182
183
187
190
192
192
191
188
188
189
190
190
191
191
193
199
197
196
194
189
188
186
185
185
192
194
194
193
192
191
190
189
192
194
197
198
200
202
204
202
198
197
201
204
210
209
208
208
211
214
216
218
220
224
227
230
234
251
257
262
255
247
240
235
232
224
218
214
210
206
202
198
196
192
191
189
189
188
188
186
185
183
181
179
177
177
177
176
176
173
169
171
172
173
174
175
175
176
177
179
182
183
185
188
190
193
195
193
191
188
185
182
167
159
152
156
165
171
177
176
174
170
173
180
178
174
173
173
164
154
151
147
148
152
157
160
168
170
168
165
161
164
167
171
178
184
185
185
186
182
174
168
162
157
153
151
146
147
147
148
151
155
160
161
161
166
169
171
172
173
176
183
191
188
185
189
189
184
177
173
168
166
165
163
163
164
169
174
171
169
173
175
173
172
170
169
170
173
175
176
175
173
173
173
172
172
173
173
174
174
173
171
175
193
195
192
186
179
176
183
192
200
190
190
190
182
177
174
175
180
193
194
194
193
191
189
189
189
189
188
186
183
182
180
179
179
179
177
176
178
178
176
174
173
173
174
175
176
177
180
182
185
187
189
191
192
194
195
196
196
197
198
199
201
201
202
204
204
204
205
205
206
207
207
208
208
210
216
221
230
236
236
236
236
238
241
243
245
248
249
249
249
253
259
263
265
254
256
262
265
270
271
268
263
261
262
263
264
267
270
274
276
280
280
281
282
285
287
293
295
292
292
290
287
284
286
288
289
290
292
295
297
300
303
309
310
309
313
314
312
309
306
305
304
301
293
290
286
283
281
278
277
276
276
275
274
273
271
248
246
244
244
246
247
248
248
249
250
250
250
250
250
250
250
249
249
249
244
242
237
235
233
228
222
220
220
219
217
217
216
215
214
214
212
210
208
207
205
204
201
197
196
196
198
201
202
203
204
204
205
205
204
201
200
198
196
194
192
188
180
179
177
176
176
176
176
170
171
176
178
177
176
175
174
174
175
175
175
175
175
175
174
173
172
172
172
172
172
174
176
180
187
187
186
186
185
184
184
184
184
184
182
181
180
176
172
172
172
173
173
174
174
174
174
178
179
180
180
180
181
181
181
181
183
189
187
186
184
183
182
179
179
179
187
187
187
187
187
187
185
184
184
184
184
184
185
185
185
186
185
185
184
184
183
184
185
185
186
186
186
187
187
188
189
189
189
189
189
189
189
191
192
193
193
193
193
194
194
195
195
195
194
194
193
193
195
199
202
204
206
205
202
196
194
194
194
194
193
193
193
193
194
200
203
206
208
207
205
203
202
200
200
201
205
205
206
207
210
210
210
210
211
213
214
214
214
214
213
214
215
219
219
218
218
217
217
217
218
220
222
224
225
227
228
231
232
233
238
239
240
247
255
259
262
263
264
265
266
268
270
275
277
281
282
283
285
287
289
291
292
294
293
280
268
263
261
264
265
269
271
275
277
266
259
255
255
256
257
257
254
252
251
249
247
246
244
244
246
247
249
249
250
251
253
250
247
235
229
224
220
216
208
205
202
200
197
196
189
187
185
182
179
176
174
171
169
168
168
167
167
166
166
165
156
153
150
149
149
149
148
145
144
144
144
143
142
142
142
142
142
141
141
141
141
140
140
140
139
139
139
139
142
143
145
145
146
147
147
149
150
151
156
159
165
172
177
177
176
175
174
169
169
169
170
170
170
172
173
176
177
178
180
181
168
156
159
162
164
161
160
159
159
158
157
152
151
150
148
147
146
142
141
139
138
136
133
131
131
133
135
136
139
145
147
152
157
163
166
166
166
166
166
171
174
177
179
181
184
186
183
182
181
180
178
177
176
175
173
171
170
169
168
167
165
163
161
159
159
159
159
158
158
158
157
157
156
156
154
151
146
140
135
135
135
135
135
135
135
135
136
140
140
140
140
141
142
143
145
147
151
154
158
168
171
180
182
186
188
189
190
191
190
187
185
183
182
174
157
152
147
146
145
148
149
151
154
164
170
174
179
182
176
179
181
184
186
187
192
198
200
203
213
217
222
227
233
239
242
245
252
256
261
267
273
300
306
314
322
323
325
326
327
321
312
305
300
297
290
285
265
260
255
250
237
233
229
227
220
216
211
206
202
199
195
191
185
183
182
181
178
176
174
169
168
165
164
162
160
160
165
164
163
161
162
163
164
166
172
177
184
190
199
197
195
193
184
178
173
171
170
168
163
158
154
151
151
154
157
155
160
164
164
170
172
166
161
164
167
168
167
167
166
165
163
157
157
157
157
156
152
148
145
143
140
139
143
148
149
152
154
160
160
161
162
162
162
162
161
161
160
159
158
157
156
156
157
158
161
163
163
163
165
168
171
198
206
212
208
202
196
188
180
178
186
185
181
175
163
148
148
151
156
160
162
162
162
162
162
162
162
162
163
164
166
168
174
174
174
176
195
197
198
199
201
206
211
215
221
223
225
224
222
219
218
214
204
202
198
195
193
189
191
193
198
200
200
200
199
193
191
188
183
181
180
179
177
176
182
182
181
179
173
183
190
198
207
200
191
186
181
176
169
186
187
188
189
190
190
202
203
204
196
192
187
183
177
173
169
165
164
165
165
164
162
162
161
160
158
164
170
163
161
159
158
158
158
179
179
177
175
174
173
172
170
168
166
165
166
169
171
172
174
176
179
181
184
188
190
192
193
194
194
194
194
194
194
194
194
193
193
193
193
193
195
197
200
201
204
205
205
206
207
207
206
205
203
201
200
198
196
194
192
188
183
171
169
167
167
167
167
167
168
168
168
174
174
171
172