0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
255
253
232
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
253
252
252
252
156
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
160
253
252
252
252
253
190
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
253
252
252
252
253
252
154
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
253
35
21
205
253
252
252
252
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
253
35
0
104
211
252
252
252
156
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
154
72
10
0
0
31
206
252
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
31
211
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
120
253
255
211
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
253
252
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
252
253
241
61
0
0
0
0
0
0
0
0
0
0
42
62
144
0
0
0
0
0
0
0
0
0
0
120
252
253
179
0
0
0
0
0
0
0
0
0
0
0
218
253
253
191
78
0
0
0
0
0
0
0
32
212
253
255
180
0
0
0
0
0
0
0
0
0
0
94
247
252
252
252
242
217
134
0
0
0
0
32
207
252
252
253
200
63
0
0
0
0
0
0
0
0
0
109
252
252
252
252
252
252
252
182
181
78
37
212
252
252
252
253
252
221
16
0
0
0
0
0
0
0
0
109
252
252
252
169
252
252
252
253
252
252
252
253
252
252
252
253
252
231
46
0
0
0
0
0
0
0
0
110
253
253
253
109
150
253
253
255
253
253
253
255
253
253
253
255
253
154
0
0
0
0
0
0
0
0
0
78
242
252
252
252
252
252
252
253
252
252
252
253
252
252
252
180
138
10
0
0
0
0
0
0
0
0
0
0
62
201
252
252
252
252
252
253
220
195
71
72
71
71
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
108
252
210
108
108
108
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
