0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
254
254
254
136
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
87
131
215
254
249
148
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
118
5
0
145
253
253
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
206
253
103
0
222
253
246
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
178
253
90
70
254
253
173
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
253
195
241
254
253
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
253
253
253
254
226
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
248
253
253
254
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
253
253
197
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
250
253
253
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
254
254
254
255
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
245
253
253
225
254
224
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
253
253
241
39
177
253
226
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
224
0
22
206
253
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
207
0
0
131
253
247
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
130
0
0
173
253
191
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
130
0
113
245
249
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
253
253
158
161
250
253
152
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
234
253
253
253
254
143
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
176
253
218
66
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
