0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
197
118
171
197
48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
253
253
253
253
253
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
206
253
253
253
253
228
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
139
228
253
253
253
253
253
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
184
253
253
253
253
253
253
253
245
224
66
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
253
253
233
98
98
98
98
98
249
253
253
243
156
30
0
0
0
0
0
0
0
0
0
0
0
0
0
143
253
218
43
0
0
0
0
0
7
119
203
253
253
248
246
209
83
5
0
0
0
0
0
0
0
0
0
255
253
146
0
0
0
0
0
0
0
0
32
81
81
215
253
253
253
177
66
0
0
0
0
0
0
0
0
254
253
146
0
0
0
0
0
0
0
0
0
0
0
26
154
241
253
253
253
0
0
0
0
0
0
0
0
132
253
226
58
0
0
0
0
0
0
0
0
0
0
0
13
225
253
253
253
0
0
0
0
0
0
0
0
50
220
253
235
116
93
0
0
0
0
0
0
12
116
116
186
253
253
253
178
0
0
0
0
0
0
0
0
0
45
212
244
253
244
205
205
205
205
205
205
210
253
253
253
217
212
58
17
0
0
0
0
0
0
0
0
0
0
0
95
185
253
253
253
253
253
253
253
253
253
146
122
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
32
32
32
32
32
138
32
32
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
