0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
255
254
246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
184
253
253
245
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
187
253
253
253
253
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
253
253
253
253
252
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
233
253
253
253
213
126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
233
253
253
253
253
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
253
253
253
253
167
3
0
0
14
139
139
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
211
253
253
253
193
9
0
45
129
232
253
253
241
192
28
0
0
0
0
0
0
0
0
0
0
0
0
107
253
253
253
253
87
0
51
222
253
253
253
253
253
253
106
0
0
0
0
0
0
0
0
0
0
0
17
249
253
253
253
118
22
83
244
253
253
253
253
253
253
253
153
5
0
0
0
0
0
0
0
0
0
0
17
253
253
253
219
37
72
253
253
253
253
252
170
114
253
253
253
15
0
0
0
0
0
0
0
0
0
0
17
253
253
253
203
55
239
253
253
253
214
139
45
224
253
253
253
15
0
0
0
0
0
0
0
0
0
0
33
253
253
253
98
139
253
253
253
252
139
19
128
253
253
253
142
4
0
0
0
0
0
0
0
0
0
0
180
253
253
253
226
191
253
253
253
245
45
218
253
253
253
227
58
0
0
0
0
0
0
0
0
0
0
0
154
253
253
253
253
253
253
253
253
251
224
253
253
253
253
169
0
0
0
0
0
0
0
0
0
0
0
0
17
253
253
253
253
253
253
253
253
253
253
253
253
253
184
16
0
0
0
0
0
0
0
0
0
0
0
0
17
253
253
253
253
253
253
253
253
253
253
253
227
169
16
0
0
0
0
0
0
0
0
0
0
0
0
0
17
253
253
253
253
253
253
253
253
253
253
238
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
152
253
253
253
253
253
229
179
116
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
89
121
162
89
89
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
