0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
118
132
254
254
254
255
254
254
159
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
97
97
97
214
253
253
253
253
253
253
253
253
252
234
0
0
0
0
0
0
0
0
0
0
0
0
0
129
253
253
253
253
239
177
177
177
177
58
59
213
253
253
0
0
0
0
0
0
0
0
0
0
0
0
0
122
253
229
198
87
50
0
0
0
0
18
178
253
253
223
0
0
0
0
0
0
0
0
0
0
0
0
0
5
82
46
0
0
0
0
0
0
33
106
253
253
239
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
18
151
248
253
253
221
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
154
253
253
253
253
253
150
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
203
253
253
253
253
253
172
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
164
173
253
253
253
245
119
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
47
47
243
253
253
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
65
203
253
242
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
253
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
219
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
215
253
232
0
0
0
0
0
0
0
0
0
146
220
179
83
83
83
83
83
9
0
0
0
0
0
0
128
253
253
187
0
0
0
0
0
0
0
0
0
221
253
253
253
253
253
253
253
205
162
89
110
63
63
119
246
253
243
72
0
0
0
0
0
0
0
0
0
35
75
190
243
253
253
253
253
253
253
253
253
253
253
253
253
243
103
0
0
0
0
0
0
0
0
0
0
0
0
0
73
96
96
166
232
232
232
236
240
232
243
245
187
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
41
0
57
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
