0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
125
125
125
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
119
240
249
249
254
254
254
255
253
249
226
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
245
254
254
254
254
254
254
254
254
254
254
254
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
246
254
254
211
149
35
19
19
19
19
49
225
254
231
38
0
0
0
0
0
0
0
0
0
0
0
0
0
26
93
25
15
0
0
0
0
0
0
0
184
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
254
254
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
254
254
91
0
0
0
3
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
242
254
254
91
49
79
153
211
254
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
254
254
254
221
235
254
254
254
254
0
0
0
0
0
0
0
0
0
0
0
0
0
58
66
107
197
197
240
254
254
254
254
254
254
254
219
122
0
0
0
0
0
0
0
0
0
0
0
0
105
247
254
254
254
254
254
254
254
254
216
195
118
65
30
0
0
0
0
0
0
0
0
0
0
0
0
76
248
236
202
218
212
243
254
254
221
71
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
78
50
0
24
29
207
254
254
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
168
254
254
219
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
254
254
247
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
214
254
254
195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
254
254
249
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
236
254
251
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
211
248
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
