0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
254
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
212
254
184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
108
2
0
0
0
0
0
60
249
254
184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
152
231
254
138
0
0
0
0
0
174
254
254
184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
254
254
207
24
0
0
0
0
21
234
254
254
149
0
0
0
0
0
0
0
0
0
0
0
0
0
4
172
254
214
69
0
0
0
0
0
176
254
254
234
40
0
0
0
0
0
0
0
0
0
0
0
0
0
149
254
254
146
0
0
0
0
0
61
251
254
254
114
0
0
0
0
0
0
0
0
0
0
0
0
0
34
240
254
238
39
0
0
0
0
0
181
254
254
254
77
0
0
0
0
0
0
0
0
0
0
0
0
1
150
254
254
106
0
0
4
10
1
109
251
254
254
107
1
0
0
0
0
0
0
0
0
0
0
0
0
29
254
254
248
35
42
154
183
215
20
187
254
254
254
43
0
0
0
0
0
0
0
0
0
0
0
0
0
200
254
254
252
201
242
254
254
215
77
254
254
254
231
28
0
0
0
0
0
0
0
0
0
0
0
0
0
223
254
254
254
254
254
254
199
248
192
254
254
241
46
0
0
0
0
0
0
0
0
0
0
0
0
0
51
244
254
254
254
254
229
146
50
147
146
254
254
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
254
254
254
250
90
28
4
0
54
227
254
254
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
254
254
164
10
0
0
0
0
150
254
254
202
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
231
170
21
0
0
0
0
38
238
254
255
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
99
254
254
230
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
254
254
181
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
163
254
248
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
254
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
