0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
4
0
0
0
0
172
222
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
253
199
18
0
0
0
172
253
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
114
0
0
0
172
253
207
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
114
0
0
0
209
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
88
0
0
0
214
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
99
0
0
0
172
253
228
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
32
0
0
0
217
253
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
253
253
54
0
0
75
254
253
146
0
0
56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
253
253
244
163
155
187
254
253
246
237
237
250
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
237
253
253
253
253
253
254
253
253
253
213
87
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
125
163
238
245
253
255
253
150
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
245
254
231
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
251
254
154
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
253
254
144
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
234
253
250
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
253
253
245
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
192
253
253
194
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
235
253
253
254
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
214
253
253
174
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
195
173
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
