0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
4
4
6
8
12
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
25
25
25
25
25
25
25
25
25
25
26
27
29
31
33
34
36
38
40
40
40
40
43
43
43
43
43
43
43
43
46
50
52
58
64
66
68
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
71
72
72
72
72
72
72
72
72
72
73
73
73
74
74
74
74
75
75
75
75
75
75
75
75
75
76
77
78
79
79
79
79
79
79
79
79
80
80
80
80
80
80
80
80
81
81
81
82
83
84
85
86
86
86
86
86
86
86
87
88
89
90
91
91
91
91
92
92
95
96
96
97
100
102
102
104
107
109
112
112
114
115
118
121
121
124
126
126
126
127
127
127
127
128
128
129
130
130
131
132
133
134
134
135
135
136
137
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
140
140
140
140
140
140
140
140
140
140
140
140
140
141
142
142
144
146
150
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
154
154
154
154
154
154
154
155
155
155
155
156
156
156
156
156
156
156
156
157
157
157
157
157
157
157
157
157
158
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
159
160
161
162
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
165
165
165
165
165
165
165
165
165
165
166
167
169
171
173
174
176
178
180
180
180
180
181
181
181
181
181
181
181
181
184
187
187
193
199
201
203
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
208
208
208
208
208
208
208
208
209
209
209
210
210
210
210
211
211
211
211
211
211
211
211
211
212
213
214
215
215
215
215
215
215
215
215
216
216
216
216
216
216
216
216
217
217
217
218
219
220
221
222
222
222
222
222
222
222
223
224
225
226
227
227
227
227
228
228
231
233
233
234
237
239
239
240
243
245
248
248
250
251
254
257
257
259
261
261
261
262
262
262
262
263
263
264
265
265
266
267
268
269
269
270
270
271
272
273
273
273
273
273
273
273
273
273
273
273
273
273
273
274
274
275
275
275
275
275
275
275
275
275
275
275
275
275
276
277
277
277
277
277
277
277
277
277
277
278
278
278
278
278
278
278
278
278
278
279
279
280
281
282
282
282
282
283
283
283
283
284
284
284
284
284
284
284
284
285
285
285
285
285
285
285
285
285
286
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
288
289
290
291
292
293
294
295
295
295
296
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
297
298
299
302
302
302
302
302
302
302
302
303
304
307
309
311
313
316
317
320
323
326
326
327
328
328
328
328
328
328
328
331
334
335
340
341
347
350
351
351
356
356
356
356
356
356
356
356
356
356
356
356
356
356
357
357
358
359
359
360
361
362
362
362
362
362
362
362
363
364
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
366
366
366
366
367
367
368
369
369
369
369
369
370
370
371
372
373
374
375
376
377
377
377
377
377
377
377
377
378
379
380
381
382
382
382
382
382
382
383
384
385
385
385
385
385
385
385
386
387
388
389
390
391
392
393
394
394
395
395
395
395
395
396
397
398
398
398
399
400
401
402
402
405
407
407
410
413
416
417
419
422
425
428
428
431
434
437
440
440
443
446
446
446
447
447
447
447
448
448
449
450
450
451
452
453
454
454
455
455
456
457
458
