0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
241
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
161
255
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
255
54
0
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
232
18
0
0
0
96
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
191
0
0
0
8
249
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
232
107
0
0
0
10
235
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
159
238
33
0
0
0
121
229
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
253
78
0
0
0
0
205
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
161
0
0
0
0
13
250
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
238
61
0
0
0
0
120
246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
226
65
126
146
146
100
234
174
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
253
254
254
254
193
177
246
254
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
165
87
80
4
1
0
147
254
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
204
199
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
227
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
232
83
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
216
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
