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
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
12
12
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
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
24
24
27
29
32
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
37
37
37
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
42
44
44
44
45
45
45
46
46
46
46
46
46
46
46
46
46
46
48
52
52
52
52
52
52
52
59
60
60
67
67
67
67
67
67
67
67
67
67
67
68
68
68
68
68
68
68
68
68
68
68
68
69
69
69
69
69
69
69
69
69
69
69
69
69
69
70
70
70
70
70
70
70
70
70
70
70
70
70
70
72
72
76
76
79
83
86
87
88
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
92
92
92
95
96
97
97
97
100
103
105
108
111
115
122
130
130
130
130
130
130
131
131
131
131
131
131
132
132
132
132
132
132
132
132
132
132
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
134
134
135
135
135
135
135
135
135
135
135
135
135
135
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
137
138
138
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
145
145
147
149
151
153
156
156
156
157
157
157
162
162
162
162
162
164
168
168
168
168
168
168
171
175
180
182
189
194
194
194
194
194
194
194
194
194
194
195
195
195
195
195
195
196
196
196
196
196
196
197
197
197
197
197
197
197
197
197
197
197
197
198
199
200
200
200
200
200
200
200
200
200
200
200
200
200
200
202
202
207
207
210
215
220
221
222
223
