0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
134
179
254
254
254
254
232
156
156
66
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
253
254
253
253
253
253
254
253
253
253
185
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
204
253
254
253
253
240
205
254
253
253
253
253
183
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
234
253
244
130
87
16
8
19
64
117
131
244
254
184
12
0
0
0
0
0
0
0
0
0
0
0
0
0
196
253
45
0
0
0
0
0
0
0
0
45
216
253
115
0
0
0
0
0
0
0
0
0
0
0
0
0
16
135
0
0
0
0
0
0
0
0
0
0
134
254
175
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
220
180
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
253
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
253
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
244
253
117
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
254
254
117
0
0
0
0
0
0
0
0
0
0
17
118
65
20
8
0
0
0
0
0
0
0
4
58
239
253
253
109
0
0
0
0
0
0
0
0
0
0
118
253
253
253
206
168
79
36
0
0
0
0
137
253
254
253
228
13
0
0
0
0
0
0
0
0
0
0
170
253
253
253
254
253
253
243
196
115
47
166
251
253
254
234
73
0
0
0
0
0
0
0
0
0
0
23
229
253
237
155
178
253
253
253
253
254
253
253
253
253
254
99
0
0
0
0
0
0
0
0
0
0
0
59
254
254
95
0
0
8
183
254
254
255
254
254
254
254
255
246
127
27
0
0
0
0
0
0
0
0
0
9
220
253
72
16
20
103
196
253
253
254
253
253
253
253
254
253
253
191
0
0
0
0
0
0
0
0
0
0
184
253
241
235
254
253
253
253
253
235
129
78
115
78
137
174
107
36
0
0
0
0
0
0
0
0
0
0
62
241
253
253
254
253
253
247
176
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
170
253
254
170
88
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
