0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
125
164
254
254
224
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
235
250
253
253
253
253
253
252
136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
112
243
253
253
253
253
253
253
253
253
251
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
241
253
253
253
253
253
253
253
253
253
253
253
214
0
0
0
0
0
0
0
0
0
0
0
0
0
0
242
253
253
253
253
253
253
223
155
155
178
253
253
229
35
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
253
253
173
51
22
0
0
59
253
253
253
204
0
0
0
0
0
0
0
0
0
0
0
0
0
39
249
253
253
127
5
0
0
0
0
9
193
253
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
175
54
5
0
0
0
0
0
49
241
253
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
65
72
72
72
72
54
59
253
253
253
220
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
123
225
248
253
253
253
253
238
209
253
253
253
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
253
253
253
253
253
253
253
253
253
253
253
253
245
109
55
0
0
0
0
0
0
0
0
0
0
0
90
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
248
183
183
116
0
0
0
0
0
0
0
0
215
253
253
253
253
237
223
253
253
253
253
253
253
253
253
253
253
253
253
253
0
0
0
0
0
0
0
0
167
253
253
237
97
54
29
156
253
253
253
253
253
253
253
253
253
253
253
253
0
0
0
0
0
0
0
0
109
253
253
162
21
29
143
237
253
253
253
246
130
111
220
224
253
253
253
236
0
0
0
0
0
0
0
0
0
234
253
253
216
241
253
253
253
253
247
114
0
0
0
10
97
97
97
47
0
0
0
0
0
0
0
0
0
118
253
253
253
253
253
253
253
248
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
240
253
253
253
253
253
253
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
237
249
247
247
206
117
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
