0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
239
254
254
216
134
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
254
236
233
233
241
254
218
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
235
116
12
0
0
30
155
239
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
117
0
0
0
0
0
74
245
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
231
253
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
134
255
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
168
253
219
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
161
229
240
137
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
174
239
253
195
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
248
253
254
253
212
105
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
176
254
254
255
254
254
254
254
255
171
89
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
61
61
61
135
135
135
173
238
253
253
232
177
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
85
174
247
253
236
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
57
238
229
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
245
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
255
234
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
126
244
254
180
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
42
0
0
61
79
124
199
253
253
183
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
246
244
234
234
248
254
253
253
201
79
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
253
253
253
253
254
170
88
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
