0
0
0
0
0
0
0
0
0
1
2
2
2
2
2
2
3
4
4
4
5
5
5
5
5
5
5
6
8
10
11
12
14
17
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
23
23
23
23
23
23
23
24
24
24
24
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
30
30
30
31
32
33
33
33
34
35
36
36
36
36
36
36
37
37
37
38
39
40
41
42
42
42
42
42
44
44
47
48
48
52
55
55
55
56
57
57
61
66
71
71
72
72
73
77
80
84
88
88
89
90
91
94
97
101
105
109
112
117
121
126
128
133
133
133
134
134
134
134
134
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
137
137
138
138
138
138
138
138
138
139
140
140
140
140
140
140
140
140
140
141
141
142
142
143
144
144
145
146
146
146
147
148
149
149
150
151
151
151
151
151
151
151
152
152
152
153
153
153
153
154
155
155
155
155
156
156
157
157
157
157
157
157
158
158
158
158
158
159
160
161
162
162
162
162
162
163
165
169
173
173
176
180
185
188
189
192
195
198
203
207
211
214
218
221
222
222
223
224
224
224
224
225
225
226
227
228
229
230
230
231
232
232
232
232
232
232
232
232
232
233
234
234
234
234
234
234
235
236
236
236
237
237
239
240
241
241
241
242
245
248
249
249
250
252
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
255
255
256
257
257
258
259
259
260
261
262
263
263
264
265
265
265
265
266
267
268
269
270
271
271
272
273
274
274
275
276
276
276
276
276
276
277
278
279
279
279
279
279
279
279
280
281
281
281
281
281
281
281
281
281
281
281
281
282
282
282
282
282
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
296
296
297
298
298
298
298
298
299
300
301
303
305
308
309
311
312
315
316
317
321
324
324
324
327
330
334
337
342
347
351
355
360
365
370
373
378
382
382
385
386
387
390
392
395
398
400
401
405
413
417
418
422
422
422
423
423
423
423
423
424
424
425
426
427
428
429
429
430
430
431
431
431
432
432
432
432
432
432
433
433
433
433
434
435
435
436
437
437
437
437
437
437
437
438
439
439
439
439
439
439
439
439
439
440
440
441
441
442
443
443
444
445
446
446
447
448
449
449
450
451
452
452
452
453
454
455
456
456
456
457
458
458
458
459
460
461
462
463
464
465
466
467
468
469
470
470
471
472
473
474
474
475
476
477
478
478
479
480
481
482
485
490
494
496
497
501
506
509
513
516
521
526
530
535
540
545
548
553
554
554
555
556
557
557
558
559
560
561
562
563
564
565
566
567
568
