0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
3
3
3
4
4
5
6
7
8
8
9
9
13
14
14
17
22
27
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
36
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
40
41
41
42
42
43
43
44
49
49
49
49
49
54
54
54
54
58
62
62
63
64
68
73
73
73
73
77
81
81
82
82
82
82
82
85
88
93
97
107
111
122
132
135
138
147
147
147
147
147
147
147
147
147
147
147
147
147
147
148
149
149
149
149
149
149
149
149
149
149
149
149
149
149
149
150
150
150
150
150
150
150
150
150
150
150
150
150
150
151
152
152
152
152
152
152
152
152
152
152
152
152
153
154
155
156
156
156
157
157
157
157
157
157
157
158
158
158
158
158
159
159
160
161
161
161
161
161
162
162
162
163
163
163
163
163
163
163
164
164
165
166
166
166
166
167
167
167
167
167
167
167
167
168
168
168
168
168
168
168
172
175
180
180
184
185
190
190
190
194
194
194
199
204
208
211
211
216
220
220
220
221
222
222
223
223
224
224
225
225
226
227
228
228
229
229
230
231
231
231
231
231
231
231
231
231
231
231
232
232
233
233
233
233
234
234
234
235
235
236
237
238
242
242
243
248
251
252
252
258
261
266
266
266
266
266
267
267
267
267
267
268
268
268
268
268
268
268
268
268
269
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
271
272
272
273
273
273
273
273
273
274
274
275
275
276
276
276
276
276
276
277
277
277
277
278
279
280
281
282
283
284
284
285
286
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
288
288
288
288
288
288
288
288
288
288
289
290
290
291
291
292
294
299
303
304
306
308
312
316
316
316
318
323
327
330
335
340
345
350
350
350
353
355
359
359
360
360
360
360
360
363
364
369
373
385
388
388
402
405
407
418
418
418
418
418
418
418
418
418
418
418
418
418
418
419
420
420
420
420
420
420
420
420
420
420
420
420
420
420
420
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
423
423
423
423
423
423
424
424
425
425
426
427
428
429
430
431
431
431
432
432
432
432
432
432
432
433
433
433
433
433
434
435
436
437
437
437
438
438
439
440
441
442
443
443
444
445
446
447
448
449
450
451
451
452
452
453
453
453
453
453
454
455
456
457
458
459
459
460
461
462
466
471
474
474
478
482
487
490
490
495
498
498
503
508
513
518
518
522
527
527
527
528
529
529
530
530
531
531
532
532
533
534
535
535
536
536
537
538
