0
0
1
2
3
4
4
4
4
5
6
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
30
31
31
32
32
32
32
32
33
36
39
42
46
51
56
56
59
68
80
94
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
120
121
122
122
122
122
122
122
122
123
123
124
125
125
126
126
127
127
127
127
127
127
127
128
129
129
130
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
132
133
133
133
134
135
135
136
136
136
136
139
139
142
142
142
145
150
155
160
160
160
161
161
165
169
169
169
169
169
169
169
172
176
176
176
179
184
197
209
221
235
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
251
252
252
252
252
252
252
252
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
256
256
256
257
258
258
258
258
258
258
258
258
258
258
258
258
258
259
260
264
268
272
276
280
285
290
294
298
299
300
301
302
302
303
304
305
305
305
305
305
306
307
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
331
336
340
345
348
352
357
362
367
372
377
382
387
392
397
412
427
442
457
467
492
492
492
492
492
492
493
493
493
493
494
495
496
496
496
496
496
496
496
496
496
496
496
496
496
496
497
497
497
497
497
497
497
497
498
499
499
500
501
502
503
504
505
506
507
508
509
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
537
537
537
537
538
539
540
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
564
567
572
577
582
587
588
592
597
602
607
612
616
620
625
630
635
640
640
640
640
640
640
640
645
648
648
648
653
658
672
684
699
713
728
728
728
728
728
728
728
728
728
729
730
730
730
730
731
732
733
733
733
733
733
733
734
735
736
736
736
737
738
738
738
738
738
738
738
739
740
740
740
740
740
740
740
741
742
743
743
744
745
746
746
746
746
746
746
746
746
746
747
748
748
749
750
751
755
759
764
768
773
778
783
788
793
794
795
796
797
