0
0
0
1
2
2
2
2
2
2
2
3
4
5
6
7
8
9
10
11
12
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
26
27
27
27
28
30
31
32
34
38
43
43
43
43
46
49
56
63
73
82
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
99
99
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
103
104
104
104
104
104
104
104
104
104
105
105
105
105
106
106
106
106
106
107
108
108
108
108
108
108
108
108
108
108
109
110
110
111
112
112
112
113
113
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
116
116
117
118
118
119
120
120
120
120
124
128
128
128
128
128
128
128
128
128
129
130
130
130
133
138
143
148
148
152
152
153
153
153
153
153
153
154
156
159
164
169
174
186
193
205
210
212
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
225
226
226
226
226
226
226
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
229
230
230
230
231
232
232
232
232
233
233
233
233
233
233
233
234
234
238
242
246
250
250
254
259
264
268
273
274
275
276
277
277
277
278
279
279
279
279
279
279
279
280
281
282
283
284
285
286
287
288
289
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
303
303
305
307
308
308
311
314
317
322
327
330
332
337
342
342
342
350
357
364
364
364
364
365
365
366
367
367
367
367
367
367
367
367
367
367
367
367
368
368
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
372
373
373
374
374
374
374
374
375
376
376
377
378
378
379
379
380
380
381
381
381
381
381
382
383
384
385
386
387
387
387
387
387
388
388
388
388
389
390
391
392
393
394
394
394
394
395
396
396
396
396
396
397
398
399
400
401
402
403
404
405
406
406
406
407
407
407
408
408
408
408
408
408
408
408
408
408
408
408
408
408
409
409
409
409
410
410
411
412
413
414
415
418
421
425
430
435
439
439
441
444
447
449
449
453
457
461
466
466
470
475
480
485
490
495
500
505
510
515
519
522
527
532
535
540
545
550
555
567
571
583
592
601
613
613
613
613
613
613
613
613
613
613
613
613
614
615
615
616
617
618
618
618
618
618
619
620
621
621
621
622
623
623
623
623
623
623
623
623
623
623
623
624
625
625
625
625
626
627
627
627
627
627
627
627
628
629
630
630
631
632
633
633
633
634
635
635
635
635
636
636
636
637
638
642
646
651
656
656
661
666
671
676
681
682
683
684
685
