0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
236
212
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
252
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
252
211
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
252
167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
253
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
169
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
239
252
0
0
0
0
0
0
8
31
101
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
190
252
0
0
0
0
0
38
171
252
252
252
109
16
0
0
0
0
0
0
0
0
0
0
0
0
0
22
252
252
0
0
0
0
0
236
252
252
226
191
253
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
253
62
0
0
0
124
255
222
62
0
0
255
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
252
106
0
0
48
242
253
63
0
0
80
253
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
252
203
0
11
202
252
153
5
0
6
206
214
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
252
239
42
92
252
226
0
0
6
112
252
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
218
253
186
223
252
103
0
80
206
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
254
253
253
253
253
255
253
253
199
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
252
252
252
252
253
224
116
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
252
251
134
21
21
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
252
245
142
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
156
252
226
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
