0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
238
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
0
0
0
0
0
0
0
0
7
159
253
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
221
22
0
0
0
0
0
0
0
73
253
253
24
0
0
0
0
0
0
0
0
0
0
0
0
0
64
194
237
29
0
0
0
0
0
0
0
73
253
188
8
0
0
0
0
0
0
0
0
0
0
0
0
0
182
253
189
9
0
0
0
0
0
0
0
102
253
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
253
253
36
0
0
0
0
0
0
47
239
253
36
0
0
0
0
0
0
0
0
0
0
0
0
0
81
240
253
143
7
0
0
0
0
0
0
159
253
225
24
0
0
0
0
0
0
0
0
0
0
0
0
14
202
253
225
30
84
207
218
219
148
37
42
243
253
123
0
0
0
0
0
0
0
0
0
0
0
0
0
37
253
253
180
37
233
253
253
254
253
239
235
253
222
27
0
0
0
0
0
0
0
0
0
0
0
0
0
95
253
253
250
246
253
92
11
11
93
253
253
253
215
81
0
0
0
0
0
0
0
0
0
0
0
0
2
163
254
254
254
245
34
0
0
0
0
95
255
254
254
163
0
0
0
0
0
0
0
0
0
0
0
0
36
253
253
253
200
21
0
0
0
0
0
49
253
247
136
21
0
0
0
0
0
0
0
0
0
0
0
0
71
253
246
188
23
0
0
0
0
0
4
171
253
175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
84
68
0
0
0
0
0
0
0
48
253
253
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
253
253
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
253
216
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
253
205
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
187
253
247
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
253
253
253
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
253
253
207
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
