0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
136
57
18
18
18
18
18
38
136
45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
253
253
253
253
253
253
253
253
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
253
253
253
253
253
253
253
253
253
253
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
182
157
65
161
212
253
253
253
253
232
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
248
253
253
233
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
244
253
253
247
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
253
253
194
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
113
142
142
249
253
253
93
24
24
24
24
24
24
24
24
24
13
0
0
0
0
0
0
0
0
0
30
240
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
237
168
0
0
0
0
0
0
0
0
0
0
52
110
215
253
253
253
253
253
253
253
253
253
253
215
194
155
46
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
253
241
230
194
176
69
59
59
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
253
167
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
253
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
230
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
243
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
253
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
253
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
234
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
122
135
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
