0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
67
67
67
178
233
136
255
254
177
67
67
67
20
0
0
0
0
0
0
0
0
0
0
0
0
0
104
168
253
253
253
253
253
253
253
253
253
253
253
253
167
103
0
0
0
0
0
0
0
0
0
0
52
198
241
253
253
253
253
253
253
253
253
253
253
253
253
253
253
240
103
0
0
0
0
0
0
0
0
0
67
253
253
253
253
191
177
177
177
205
253
253
253
253
253
253
253
253
130
0
0
0
0
0
0
0
0
0
67
253
253
210
112
20
0
0
0
42
112
112
112
206
253
253
253
253
130
0
0
0
0
0
0
0
0
0
12
46
46
32
0
0
0
0
0
0
0
3
19
176
253
253
253
248
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
253
253
253
253
253
133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
151
242
253
253
253
253
145
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
50
230
253
253
253
253
253
253
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
253
253
253
253
253
253
253
253
140
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
151
253
253
253
253
253
253
253
253
253
232
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
188
215
215
215
215
215
250
253
253
253
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
236
253
253
253
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
236
253
253
253
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
48
174
251
253
253
253
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
114
114
238
253
253
253
253
253
253
130
0
0
0
0
0
0
0
0
0
0
0
0
54
179
179
179
179
187
253
253
253
253
253
253
253
253
212
38
0
0
0
0
0
0
0
0
0
0
0
10
247
253
253
253
253
253
253
253
253
253
253
242
196
63
6
0
0
0
0
0
0
0
0
0
0
0
0
5
166
253
253
253
253
253
253
253
253
253
253
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
65
65
65
176
253
253
133
65
65
65
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
