0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
101
152
254
255
254
254
179
101
101
101
76
0
0
0
0
0
0
0
0
0
0
0
0
0
66
200
200
208
253
253
253
253
253
253
253
253
253
253
240
200
134
9
0
0
0
0
0
0
0
0
0
0
200
253
253
253
253
204
107
107
151
163
253
253
253
253
253
253
253
45
0
0
0
0
0
0
0
0
0
0
100
96
251
215
7
5
0
0
2
3
52
235
253
253
253
253
213
29
0
0
0
0
0
0
0
0
0
0
0
0
153
52
0
0
0
0
12
147
222
253
253
253
182
61
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
173
253
253
253
244
115
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
172
253
253
253
135
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
235
253
253
217
68
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
253
253
213
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
239
253
253
106
78
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
253
253
253
253
253
216
135
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
246
253
253
253
253
253
253
245
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
30
30
77
183
217
253
253
240
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
224
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
208
253
253
191
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
8
88
162
162
206
253
253
253
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
196
26
0
85
253
253
253
253
253
253
246
145
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
253
219
208
223
253
253
253
215
199
63
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
249
253
253
201
99
99
99
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
