0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
164
254
255
254
254
254
142
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
254
253
253
253
253
253
253
253
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
247
253
238
55
160
243
246
253
246
198
79
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
177
39
0
0
0
60
222
253
253
253
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
233
253
253
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
241
253
218
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
211
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
241
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
59
236
253
219
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
253
253
253
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
170
219
253
253
253
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
48
48
104
236
250
253
253
253
253
253
237
236
110
48
48
48
48
48
12
0
0
0
0
0
0
0
0
67
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
148
0
0
0
0
0
0
0
0
200
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
120
0
0
0
0
0
0
0
0
254
253
253
253
221
182
8
8
8
79
196
196
196
196
196
196
196
196
105
2
0
0
0
0
0
0
0
0
163
253
248
130
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
65
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
