0
1
2
3
3
3
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
17
17
17
17
20
20
23
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
32
36
