0
0
0
0
0
0
0
0
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
9
10
10
13
15
15
15
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
23
23
23
23
24
24
27
27
28
30
31
31
34
34
35
35
36
36
36
36
37
38
39
39
39
39
39
39
39
39
40
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
45
48
50
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
53
54
54
54
54
54
55
55
55
55
56
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
60
60
62
62
62
62
63
63
63
63
66
69
72
75
78
78
79
80
81
81
83
84
84
87
92
97
101
107
112
116
117
119
126
126
126
126
126
126
126
126
126
127
128
129
130
131
131
131
131
131
131
131
131
132
132
132
132
133
133
133
134
134
134
134
134
134
134
134
134
134
134
134
134
135
135
135
135
136
136
136
137
137
137
137
137
137
137
137
137
137
137
137
138
138
139
140
140
140
140
140
141
141
141
141
141
142
142
142
143
144
144
148
151
155
158
161
164
169
172
175
179
182
185
189
189
190
190
191
191
191
191
192
193
194
