0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
121
77
0
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
249
241
241
241
241
241
241
241
242
114
108
108
178
85
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
253
253
253
253
253
253
253
254
253
253
253
253
199
0
0
0
0
0
0
0
0
0
0
0
0
104
173
173
173
194
253
253
253
253
253
254
253
253
253
253
199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
253
253
253
253
253
223
186
186
143
124
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
253
253
253
250
128
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
209
253
253
235
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
248
253
253
243
161
161
98
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
253
253
253
253
253
254
152
147
35
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
120
211
253
253
253
254
253
253
253
253
165
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
134
192
254
254
254
254
254
255
169
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
132
180
253
253
253
253
245
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
26
54
224
253
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
199
253
253
253
0
0
0
0
0
0
0
0
0
0
0
100
201
158
0
0
0
0
0
0
61
68
173
240
253
253
253
218
0
0
0
0
0
0
0
0
0
0
20
222
253
239
96
54
54
125
188
187
247
253
253
253
253
253
243
31
0
0
0
0
0
0
0
0
0
0
80
247
253
253
253
253
253
253
255
253
253
253
253
245
213
199
75
0
0
0
0
0
0
0
0
0
0
0
0
192
233
253
253
253
253
253
255
253
243
226
121
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
205
240
240
162
107
107
107
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
