0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
168
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
69
0
0
0
0
0
0
0
177
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
159
197
14
0
0
0
0
0
49
249
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
243
254
32
0
0
0
0
0
53
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
248
254
32
0
0
0
0
0
26
215
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
252
254
32
0
0
0
0
0
53
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
254
254
32
0
0
0
0
0
160
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
254
254
32
0
0
0
0
0
184
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
254
254
32
0
0
0
0
0
184
254
254
91
0
6
63
0
0
0
0
0
0
0
0
0
0
0
0
243
254
254
32
0
0
0
0
0
184
254
254
99
73
195
211
0
0
0
0
0
0
0
0
0
0
0
0
243
254
254
32
18
53
53
87
184
235
254
254
218
236
71
31
0
0
0
0
0
0
0
0
0
0
0
0
243
254
254
120
203
254
254
255
254
254
254
254
225
187
0
0
0
0
0
0
0
0
0
0
0
0
0
80
251
254
254
254
254
254
243
215
185
207
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
254
254
254
243
222
114
65
0
0
184
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
247
254
231
79
0
0
0
0
0
184
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
104
11
0
0
0
0
0
0
107
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
253
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
