0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
158
253
210
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
243
253
252
252
246
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
213
252
240
125
217
252
197
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
201
252
243
106
64
251
252
250
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
207
252
252
119
8
155
252
252
252
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
217
252
198
83
7
34
252
252
252
252
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
252
247
52
0
0
87
252
252
252
202
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
180
252
241
0
0
0
143
252
252
252
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
188
252
241
0
0
0
177
252
252
246
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
165
252
246
92
82
63
253
252
252
134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
208
253
253
253
253
255
253
183
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
180
252
252
252
253
252
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
63
72
134
253
252
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
253
252
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
220
253
209
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
245
253
186
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
252
253
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
252
253
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
187
252
253
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
190
224
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
