0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
113
179
254
254
197
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
176
253
253
253
253
253
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
117
232
253
253
237
181
253
253
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
177
253
253
190
105
13
106
253
253
118
0
0
0
0
0
0
0
0
0
0
0
0
4
32
32
32
120
227
253
253
128
17
0
0
121
253
239
5
0
0
0
0
0
0
0
0
0
0
22
50
172
253
253
253
253
253
243
119
18
0
0
82
245
253
118
0
0
0
0
0
0
0
0
0
0
30
216
253
253
253
253
253
253
191
63
0
0
0
0
223
253
253
12
0
0
0
0
0
0
0
0
0
2
159
253
253
253
253
253
243
176
22
0
0
0
0
19
229
253
152
4
0
0
0
0
0
0
0
0
0
95
253
253
253
253
253
216
99
0
0
0
0
0
62
207
253
230
14
0
0
0
0
0
0
0
0
0
0
101
253
253
253
253
195
23
0
0
0
0
0
0
88
253
253
118
0
0
0
0
0
0
0
0
0
0
0
2
131
253
213
170
23
0
0
0
0
0
0
0
181
253
226
18
0
0
0
0
0
0
0
0
0
0
0
0
3
55
23
0
0
0
0
0
0
0
0
100
244
253
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
205
253
224
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
245
253
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
228
253
179
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
253
222
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
248
253
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
186
253
220
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
250
253
122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
187
220
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
