0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
164
146
190
190
146
111
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
31
127
215
253
245
222
126
126
127
161
249
232
100
9
0
0
0
0
0
0
0
0
0
0
0
0
11
171
252
252
199
128
56
0
0
0
0
0
92
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
130
252
244
121
7
0
0
0
0
0
0
0
22
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
18
106
53
0
0
0
0
0
0
0
0
0
22
253
253
157
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
252
252
227
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
252
252
223
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
202
252
252
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
252
252
252
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
227
253
225
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
85
183
252
252
184
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
39
162
232
246
252
253
252
252
252
191
110
15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
134
239
253
252
252
252
252
253
252
194
189
215
253
224
111
0
0
0
0
0
0
0
0
0
0
0
71
215
252
252
253
252
252
252
252
236
112
4
0
18
104
226
249
185
18
0
0
0
0
0
0
0
0
87
227
253
253
253
255
253
253
253
174
0
0
0
0
0
0
0
110
253
209
0
0
0
0
0
0
0
0
227
252
252
252
252
253
252
245
141
11
0
0
0
0
0
0
0
6
154
173
0
0
0
0
0
0
0
0
144
238
252
252
252
232
152
72
0
0
0
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
0
0
28
84
84
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
