0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
254
195
13
0
86
118
118
118
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
253
119
147
234
248
253
253
253
245
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
237
253
253
253
253
197
177
221
253
253
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
253
253
253
155
61
17
6
168
253
174
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
253
235
85
9
0
0
122
253
253
150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
253
200
4
0
0
0
165
253
253
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
253
253
77
0
36
130
210
253
189
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
153
253
191
12
128
253
253
253
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
210
253
230
248
253
253
251
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
181
209
253
253
253
246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
68
204
253
246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
230
253
246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
253
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
69
253
253
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
227
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
226
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
192
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
253
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
