0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
129
170
171
128
109
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
227
252
252
253
252
252
232
73
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
252
252
205
154
232
231
252
252
253
149
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
189
108
31
0
47
46
211
252
253
252
154
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
82
0
0
0
0
0
0
0
191
252
252
169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
222
252
210
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
222
252
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
253
252
252
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
170
110
109
212
253
255
253
237
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
252
253
252
252
252
253
148
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
181
252
253
252
252
252
154
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
252
253
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
207
255
253
253
253
110
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
35
98
252
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
21
201
252
253
179
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
190
253
221
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
253
253
232
109
110
15
79
109
255
253
217
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
252
252
252
252
253
222
242
252
253
231
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
231
252
252
252
253
252
252
252
237
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
232
252
252
253
210
108
108
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
