0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
128
202
253
253
253
148
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
120
186
252
252
253
252
252
252
252
245
88
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
252
252
252
189
184
183
130
183
215
253
252
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
252
195
45
4
0
0
0
0
21
211
252
208
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
96
100
0
0
0
0
0
0
0
34
252
252
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
253
253
161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
252
252
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
252
252
160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
252
252
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
191
252
221
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
127
255
249
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
244
249
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
220
252
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
188
252
252
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
193
252
252
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
202
253
253
211
138
139
138
138
138
138
139
138
138
97
13
0
0
0
0
0
0
0
0
0
0
0
38
193
253
252
252
252
252
253
252
252
252
252
253
252
252
252
137
0
0
0
0
0
0
0
0
0
0
83
240
252
253
252
252
227
183
184
183
183
183
183
184
183
183
183
48
0
0
0
0
0
0
0
0
0
132
240
252
252
203
139
45
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
161
252
157
32
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
