0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
248
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
125
253
247
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
134
208
32
0
0
11
117
253
253
199
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
135
248
253
206
8
16
48
181
253
253
129
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
193
253
253
232
62
0
40
237
253
246
89
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
196
247
229
68
30
0
83
221
253
253
190
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
225
253
229
59
0
0
44
240
253
253
125
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
202
253
229
126
0
0
85
213
253
253
190
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
235
253
190
66
66
100
239
253
253
253
216
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
253
253
253
253
253
253
253
253
253
253
215
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
208
253
253
253
253
253
253
242
201
114
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
253
253
253
253
218
111
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
123
253
253
241
177
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
191
253
253
242
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
193
253
253
230
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
198
253
245
183
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
247
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
247
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
