0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
6
6
6
7
7
7
7
8
8
8
9
9
10
10
10
11
11
12
12
13
13
14
14
15
16
16
17
18
19
19
20
21
22
23
24
25
26
27
28
29
30
32
33
34
36
37
39
40
42
44
45
47
49
51
53
56
58
60
63
65
68
71
74
77
80
83
87
90
94
98
102
106
110
115
119
124
129
135
140
146
152
158
165
171
178
186
193
201
209
218
227
236
246
255
