0
0
1
1
1
1
1
1
2
2
2
3
4
5
6
6
6
7
8
8
9
9
9
10
11
12
12
13
15
19
20
20
26
31
36
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
55
55
56
56
56
57
58
59
59
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
64
69
69
70
71
71
76
76
76
76
79
83
83
83
86
91
96
96
99
103
107
112
112
112
112
112
112
112
112
115
119
123
134
145
155
166
178
183
192
192
192
192
192
192
192
192
193
193
194
194
194
194
195
196
197
198
199
200
201
201
201
201
201
201
201
201
201
201
202
202
202
202
202
202
202
202
202
202
203
203
203
203
204
205
205
205
206
206
207
207
207
207
207
207
207
207
207
208
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
211
212
213
214
214
214
214
214
214
214
214
214
215
216
216
216
216
216
216
216
216
217
217
217
217
217
217
217
217
217
217
217
222
226
230
230
233
234
239
241
241
246
246
246
250
255
259
263
263
268
272
273
273
273
274
274
274
275
276
276
277
278
279
279
280
280
280
280
281
282
282
283
283
283
283
283
283
284
284
284
285
286
287
288
288
288
289
290
290
291
291
293
294
295
298
298
299
303
307
308
308
313
318
323
335
335
335
335
336
337
337
337
337
338
339
339
339
339
339
339
339
339
340
341
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
342
343
344
345
346
347
348
349
350
351
351
352
353
354
355
356
357
358
359
360
360
361
361
361
362
362
362
363
364
364
365
366
367
368
369
370
371
372
373
374
374
375
375
375
376
377
378
378
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
380
380
383
387
392
397
398
401
404
408
413
415
415
417
421
425
430
434
439
444
449
449
451
454
458
462
462
462
462
462
462
462
462
465
469
473
487
499
510
524
535
540
552
552
552
552
552
552
552
552
553
553
554
554
554
554
555
556
557
558
559
560
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
561
562
562
563
563
563
563
564
565
565
565
566
567
568
569
570
570
571
572
572
572
572
573
574
574
574
574
574
574
575
575
575
575
575
575
575
575
575
575
575
575
575
576
576
576
577
578
579
580
581
582
583
584
585
586
586
586
587
588
589
589
589
589
589
589
589
589
590
591
592
593
594
595
596
596
597
598
599
604
609
612
612
617
621
626
628
628
633
635
635
639
644
649
654
654
659
664
665
665
665
666
666
666
667
668
668
669
670
671
671
672
672
672
672
673
674
