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
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
68
156
253
253
255
253
253
253
165
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
237
252
252
252
253
252
252
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
231
231
160
38
21
21
40
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
223
252
208
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
157
253
243
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
183
252
252
237
102
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
127
223
253
252
252
252
252
242
153
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
252
252
216
153
84
154
215
253
252
202
21
0
0
0
0
43
11
0
0
0
0
0
0
0
0
0
0
100
252
164
18
0
0
0
18
122
252
252
225
35
0
0
107
141
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
224
253
122
105
227
223
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
252
252
253
189
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
85
252
252
161
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
197
252
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
236
252
252
252
252
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
69
236
212
76
245
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
252
217
41
185
252
252
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
234
252
112
192
252
251
134
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
252
252
252
253
252
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
252
252
252
191
112
4
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
