active
f
X
mark
cons
X
f
g
X
active
g
0
mark
s
0
active
g
s
X
mark
s
s
g
X
active
sel
0
cons
X
Y
mark
X
active
sel
s
X
cons
Y
Z
mark
sel
X
Z
active
f
X
f
active
X
active
cons
X1
X2
cons
active
X1
X2
active
g
X
g
active
X
active
s
X
s
active
X
active
sel
X1
X2
sel
active
X1
X2
active
sel
X1
X2
sel
X1
active
X2
f
mark
X
mark
f
X
cons
mark
X1
X2
mark
cons
X1
X2
g
mark
X
mark
g
X
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
sel
X1
mark
X2
mark
sel
X1
X2
proper
f
X
f
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
g
X
g
proper
X
proper
0
ok
0
proper
s
X
s
proper
X
proper
sel
X1
X2
sel
proper
X1
proper
X2
f
ok
X
ok
f
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
ok
X
ok
g
X
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
top
mark
X
top
proper
X
top
ok
X
top
active
X
2.2
top
mark
X
top
proper
X
active
g
X
g
active
X
proper
s
X
proper
X
g
ok
X
g
X
proper
f
X
f
proper
X
active
f
X
g
X
active
f
X
f
g
X
active
g
s
X
s
s
g
X
proper
f
X
proper
X
active
g
s
X
s
g
X
cons
mark
X1
X2
cons
X1
X2
active
f
X
cons
X
f
g
X
proper
sel
X1
X2
proper
X1
active
sel
X1
X2
sel
X1
active
X2
f
ok
X
f
X
active
sel
X1
X2
sel
active
X1
X2
active
cons
X1
X2
active
X1
s
mark
X
s
X
proper
sel
X1
X2
sel
proper
X1
proper
X2
sel
X1
mark
X2
sel
X1
X2
proper
sel
X1
X2
proper
X2
s
ok
X
s
X
active
sel
X1
X2
active
X1
proper
g
X
g
proper
X
active
s
X
s
active
X
active
g
s
X
g
X
active
sel
X1
X2
active
X2
proper
cons
X1
X2
proper
X1
active
f
X
active
X
active
g
X
active
X
proper
s
X
s
proper
X
active
cons
X1
X2
cons
active
X1
X2
proper
cons
X1
X2
proper
X2
sel
ok
X1
ok
X2
sel
X1
X2
top
ok
X
top
active
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
cons
ok
X1
ok
X2
cons
X1
X2
active
sel
s
X
cons
Y
Z
sel
X
Z
sel
mark
X1
X2
sel
X1
X2
proper
g
X
proper
X
g
mark
X
g
X
top
mark
X
proper
X
active
g
0
s
0
active
s
X
active
X
f
mark
X
f
X
active
f
X
f
active
X
top
ok
X
active
X
true
top
ok
X
top
active
X
top
mark
X
top
proper
X
true
top
1
1
proper
1
1
ok
1
1
s
1
1
f
1
1
proper
1
1
active
1
1
cons
2
0
2
s
1
5
1
top
1
0
f
1
6
1
0
0
0
sel
2
0
2
1
sel
2
3
1
2
mark
1
2
1
g
1
0
cons
2
4
1
active
1
0
g
1
6
1
cons
2
2
1
0
s
1
1
0
top
1
1
f
1
1
52184
0
0
17888
sel
2
1
2
1
sel
2
1
2
1
mark
1
1
0
g
1
1
cons
2
1
20586
2
0
0
active
1
1
g
1
1
0
top
ok
X
top
active
X
proper
f
X
f
proper
X
active
sel
0
cons
X
Y
mark
X
s
mark
X
mark
s
X
active
g
X
g
active
X
active
f
X
mark
cons
X
f
g
X
active
g
s
X
mark
s
s
g
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
proper
s
X
s
proper
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
active
sel
s
X
cons
Y
Z
mark
sel
X
Z
active
sel
X1
X2
sel
active
X1
X2
active
cons
X1
X2
cons
active
X1
X2
proper
g
X
g
proper
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
proper
sel
X1
X2
sel
proper
X1
proper
X2
f
ok
X
ok
f
X
active
sel
X1
X2
sel
X1
active
X2
active
s
X
s
active
X
cons
mark
X1
X2
mark
cons
X1
X2
active
f
X
f
active
X
active
g
0
mark
s
0
top
ok
X
top
active
X
true
cons
2
0
s
1
1
0
top
1
0
top
1
1
0
f
1
1
0
proper
1
3
ok
1
1
2
0
0
1
sel
2
0
sel
2
1
0
s
1
0
mark
1
0
f
1
0
g
1
0
proper
1
0
active
1
1
1
cons
2
1
0
active
1
0
g
1
1
0
proper
f
X
f
proper
X
active
sel
0
cons
X
Y
mark
X
s
mark
X
mark
s
X
active
g
X
g
active
X
active
f
X
mark
cons
X
f
g
X
active
g
s
X
mark
s
s
g
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
proper
s
X
s
proper
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
active
sel
s
X
cons
Y
Z
mark
sel
X
Z
active
sel
X1
X2
sel
active
X1
X2
active
cons
X1
X2
cons
active
X1
X2
proper
g
X
g
proper
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
proper
sel
X1
X2
sel
proper
X1
proper
X2
f
ok
X
ok
f
X
active
sel
X1
X2
sel
X1
active
X2
active
s
X
s
active
X
cons
mark
X1
X2
mark
cons
X1
X2
active
f
X
f
active
X
active
g
0
mark
s
0
top
mark
X
proper
X
false
proper
sel
X1
X2
proper
X2
proper
g
X
proper
X
proper
sel
X1
X2
proper
X1
proper
cons
X1
X2
proper
X2
proper
f
X
proper
X
proper
cons
X1
X2
proper
X1
proper
s
X
proper
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
36435
ok
1
1
9507
0
0
1
sel
2
0
sel
2
1
2
1
s
1
0
mark
1
1
0
f
1
0
g
1
0
proper
1
1
0
active
1
21655
cons
2
1
2
21653
active
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
proper
sel
X1
X2
sel
proper
X1
proper
X2
false
proper
s
X
s
proper
X
false
proper
cons
X1
X2
cons
proper
X1
proper
X2
false
proper
f
X
f
proper
X
false
top
ok
X
active
X
false
active
sel
X1
X2
active
X1
active
s
X
active
X
active
cons
X1
X2
active
X1
active
g
X
active
X
active
f
X
active
X
active
sel
X1
X2
active
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
2
sel
2
0
sel
2
1
2
2
s
1
0
mark
1
1
0
f
1
0
g
1
0
proper
1
0
active
1
3
cons
2
1
2
1
active
1
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
active
g
0
s
0
false
active
f
X
f
active
X
false
active
s
X
s
active
X
false
active
sel
X1
X2
sel
X1
active
X2
false
active
cons
X1
X2
cons
active
X1
X2
false
active
sel
X1
X2
sel
active
X1
X2
false
active
sel
s
X
cons
Y
Z
sel
X
Z
false
sel
X1
mark
X2
sel
X1
X2
sel
mark
X1
X2
sel
X1
X2
sel
ok
X1
ok
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
681
sel
2
2
0
sel
2
1
2
1
s
1
0
mark
1
1
0
f
1
0
g
1
0
proper
1
0
active
1
15263
cons
2
1
2
1
active
1
0
g
1
1
15261
sel
mark
X1
X2
sel
X1
X2
sel
X1
mark
X2
sel
X1
X2
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
sel
mark
X1
X2
sel
X1
X2
sel
X1
mark
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
2
sel
2
1
0
sel
2
1
2
1
s
1
0
mark
1
1
1
f
1
0
g
1
0
proper
1
0
active
1
4
cons
2
1
2
1
active
1
0
g
1
1
1
sel
X1
mark
X2
sel
X1
X2
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
sel
X1
mark
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
2
0
sel
2
1
2
1
s
1
0
mark
1
1
1
f
1
0
g
1
0
proper
1
0
active
1
4
cons
2
1
2
1
active
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
active
g
s
X
s
s
g
X
false
active
g
s
X
s
g
X
false
s
ok
X
s
X
s
mark
X
s
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
0
sel
2
1
2
1
s
1
1
0
mark
1
1
1
f
1
0
g
1
0
proper
1
0
active
1
4
cons
2
1
2
1
active
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
active
g
s
X
g
X
false
active
f
X
cons
X
f
g
X
false
cons
ok
X1
ok
X2
cons
X1
X2
cons
mark
X1
X2
cons
X1
X2
true
cons
2
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
0
sel
2
1
2
2
s
1
0
mark
1
1
1
f
1
0
g
1
0
proper
1
0
active
1
4
cons
2
1
2
1
active
1
0
g
1
1
1
cons
mark
X1
X2
cons
X1
X2
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
cons
mark
X1
X2
cons
X1
X2
true
cons
2
1
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
0
sel
2
1
2
1
s
1
0
mark
1
1
1
f
1
0
g
1
0
proper
1
0
active
1
4
cons
2
1
2
1
active
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
active
f
X
f
g
X
false
f
mark
X
f
X
f
ok
X
f
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
1
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
0
sel
2
1
2
3
s
1
0
mark
1
1
436
f
1
1
0
g
1
0
proper
1
0
active
1
439
cons
2
1
2
1
active
1
0
g
1
1
1
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
active
f
X
g
X
false
active
g
X
g
active
X
false
proper
g
X
g
proper
X
false
g
mark
X
g
X
g
ok
X
g
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
f
1
1
42170
proper
1
1
1
ok
1
1
1
0
0
1
sel
2
0
sel
2
1
2
1
s
1
0
mark
1
1
1
f
1
0
g
1
1
0
proper
1
0
active
1
43149
cons
2
1
2
1
active
1
0
g
1
1
977
s
mark
X
mark
s
X
sel
mark
X1
X2
mark
sel
X1
X2
proper
0
ok
0
g
ok
X
ok
g
X
sel
X1
mark
X2
mark
sel
X1
X2
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
g
mark
X
mark
g
X
f
mark
X
mark
f
X
f
ok
X
ok
f
X
cons
mark
X1
X2
mark
cons
X1
X2
active
g
0
mark
s
0
NaTT
certifiable-1.6