0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
73
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
253
251
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
190
253
251
215
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
170
251
253
251
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
251
251
253
251
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
253
253
255
253
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
217
251
251
253
168
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
246
251
251
242
92
0
0
0
0
0
0
0
0
0
0
32
21
0
0
0
0
0
0
0
0
0
32
190
251
251
251
180
0
0
0
0
0
0
0
0
0
32
109
231
189
109
0
0
0
0
0
0
0
0
73
251
251
251
251
51
0
0
0
0
0
0
0
0
130
202
251
251
251
251
0
0
0
0
0
0
0
0
73
253
253
253
253
0
0
0
0
0
0
0
0
110
253
255
253
253
253
253
0
0
0
0
0
0
0
0
176
251
251
251
251
0
0
0
0
0
0
0
21
190
251
253
251
251
251
251
0
0
0
0
0
0
0
0
227
251
251
251
251
0
0
0
0
0
11
140
221
251
251
253
251
251
251
96
0
0
0
0
0
0
0
0
73
251
251
251
251
0
0
0
0
0
150
251
251
251
251
253
251
235
142
41
0
0
0
0
0
0
0
0
73
251
251
251
251
182
77
0
0
130
253
251
251
251
251
253
251
215
0
0
0
0
0
0
0
0
0
0
53
180
243
253
253
255
253
253
253
253
255
253
253
253
253
255
253
35
0
0
0
0
0
0
0
0
0
0
0
0
113
251
251
253
251
251
251
251
253
251
251
251
251
211
107
15
0
0
0
0
0
0
0
0
0
0
0
0
5
113
215
253
251
251
251
251
253
251
251
251
96
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
205
235
189
251
253
188
142
142
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
61
31
71
72
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
