0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
188
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
254
124
0
0
0
0
0
84
162
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
254
172
0
0
0
0
0
169
254
224
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
149
254
172
0
0
0
0
3
188
255
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
195
254
91
0
0
0
0
10
254
254
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
249
248
51
0
0
0
0
47
254
254
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
254
235
0
0
0
0
0
67
254
246
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
188
254
155
0
0
0
0
0
150
254
216
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
254
254
108
0
0
0
0
0
202
254
243
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
254
224
19
0
0
0
0
43
232
254
254
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
217
254
124
0
0
0
0
40
226
254
254
175
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
243
254
40
0
0
15
120
229
254
254
205
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
254
51
44
142
240
254
254
254
254
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
247
254
254
254
254
254
254
245
180
254
254
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
254
254
254
254
231
128
49
105
254
252
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
106
120
120
76
16
0
8
216
254
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
254
254
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
254
254
148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
254
254
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
254
254
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
