0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
246
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
235
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
241
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
0
94
182
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
41
241
227
223
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
235
0
0
0
0
0
0
120
201
30
244
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
190
48
0
0
0
0
0
205
158
0
161
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
191
0
0
0
0
0
219
118
0
147
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
236
13
0
0
0
0
201
118
0
147
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
221
106
0
0
0
0
116
222
143
236
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
218
0
0
0
0
22
109
109
193
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
197
122
0
0
0
0
0
0
147
188
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
227
54
0
0
0
0
0
226
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
223
79
0
0
0
37
247
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
255
205
121
99
213
194
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
158
171
189
161
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
