0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
229
255
240
95
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
94
235
253
254
253
149
82
235
174
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
91
253
248
173
91
158
230
234
253
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
124
253
253
103
0
0
104
253
253
253
171
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
253
253
130
3
0
0
126
253
253
226
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
253
208
5
0
0
12
175
253
247
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
247
239
22
0
0
63
226
253
253
177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
253
178
0
0
105
250
254
253
253
177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
253
194
123
213
247
253
198
253
253
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
204
253
253
253
242
90
66
253
253
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
188
188
132
49
0
160
254
251
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
208
253
229
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
219
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
254
253
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
254
253
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
254
244
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
254
233
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
184
239
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
