0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
191
253
253
253
170
110
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
242
252
252
252
252
252
253
180
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
217
252
252
252
241
221
252
253
252
241
98
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
217
252
252
252
179
16
108
253
252
252
252
207
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
252
252
252
118
0
0
0
154
252
252
253
210
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
56
97
35
5
0
0
0
10
56
221
253
252
195
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
253
252
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
252
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
218
232
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
227
220
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
252
215
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
253
252
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
109
110
109
109
191
255
253
217
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
197
222
252
253
252
252
252
253
252
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
211
252
252
252
253
252
252
252
253
252
241
98
21
0
0
0
0
0
0
0
0
0
0
0
0
0
21
206
252
252
148
190
253
252
252
252
253
252
252
252
207
20
0
0
0
0
0
0
0
0
0
0
0
0
37
253
253
211
212
253
255
253
175
62
145
176
253
253
255
211
31
0
0
0
0
0
0
0
0
0
0
0
26
221
252
252
252
252
222
138
10
0
0
10
56
221
253
252
71
0
0
0
0
0
0
0
0
0
0
0
0
41
133
215
215
132
41
0
0
0
0
0
0
125
253
252
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
170
210
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
