0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
164
254
254
157
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
118
232
252
253
253
253
253
252
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
246
253
253
253
253
253
253
253
253
207
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
253
253
253
218
149
149
176
253
253
207
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
253
253
253
102
0
0
66
253
253
207
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
241
253
253
253
243
87
0
42
230
253
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
203
253
253
253
241
112
20
29
38
27
85
169
215
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
175
243
253
253
253
185
79
172
217
253
253
253
244
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
242
253
253
253
253
253
253
253
253
246
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
253
253
253
253
243
171
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
253
253
253
253
253
189
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
243
253
253
253
253
253
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
253
253
240
243
253
253
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
222
253
253
161
196
253
253
207
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
222
253
203
28
203
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
241
253
161
86
253
253
248
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
235
253
168
232
253
253
201
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215
253
253
253
253
250
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
253
253
253
253
125
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
166
253
253
152
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
