0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
254
189
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
252
253
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
251
253
185
3
0
0
101
241
241
241
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
235
253
221
107
0
0
103
248
253
253
188
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
216
253
220
41
0
0
104
246
253
101
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
237
253
122
0
0
0
189
253
237
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
253
175
6
0
0
100
244
253
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
241
253
162
0
65
116
243
253
226
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
253
253
188
183
244
253
253
253
253
218
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
253
253
253
253
253
253
253
253
253
253
215
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
253
253
253
203
194
241
253
209
206
253
253
228
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
71
138
71
11
0
202
253
65
15
95
236
253
124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
179
253
65
0
0
170
253
227
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
253
65
0
0
83
253
245
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
253
81
0
0
35
242
253
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
218
231
125
0
0
163
253
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
248
232
60
10
170
253
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
182
253
253
197
253
253
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
144
253
253
253
253
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
146
253
253
172
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
