active
first
0
X
mark
nil
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
active
from
X
mark
cons
X
from
s
X
active
first
X1
X2
first
active
X1
X2
active
first
X1
X2
first
X1
active
X2
active
s
X
s
active
X
active
cons
X1
X2
cons
active
X1
X2
active
from
X
from
active
X
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
s
mark
X
mark
s
X
cons
mark
X1
X2
mark
cons
X1
X2
from
mark
X
mark
from
X
proper
first
X1
X2
first
proper
X1
proper
X2
proper
0
ok
0
proper
nil
ok
nil
proper
s
X
s
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
from
X
from
proper
X
first
ok
X1
ok
X2
ok
first
X1
X2
s
ok
X
ok
s
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
from
ok
X
ok
from
X
top
mark
X
top
proper
X
top
ok
X
top
active
X
2.2
active
first
s
X
cons
Y
Z
first
X
Z
active
from
X
cons
X
from
s
X
active
first
X1
X2
active
X1
proper
cons
X1
X2
proper
X1
proper
cons
X1
X2
proper
X2
first
mark
X1
X2
first
X1
X2
proper
first
X1
X2
proper
X1
top
mark
X
proper
X
cons
mark
X1
X2
cons
X1
X2
proper
s
X
s
proper
X
cons
ok
X1
ok
X2
cons
X1
X2
proper
first
X1
X2
first
proper
X1
proper
X2
active
from
X
s
X
proper
first
X1
X2
proper
X2
active
from
X
from
s
X
proper
s
X
proper
X
first
X1
mark
X2
first
X1
X2
s
mark
X
s
X
from
ok
X
from
X
active
from
X
active
X
from
mark
X
from
X
s
ok
X
s
X
active
first
X1
X2
active
X2
active
first
X1
X2
first
active
X1
X2
proper
from
X
proper
X
first
ok
X1
ok
X2
first
X1
X2
active
from
X
from
active
X
active
cons
X1
X2
active
X1
proper
from
X
from
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
active
first
X1
X2
first
X1
active
X2
top
ok
X
active
X
active
s
X
s
active
X
active
first
s
X
cons
Y
Z
cons
Y
first
X
Z
top
mark
X
top
proper
X
top
ok
X
top
active
X
active
s
X
active
X
active
cons
X1
X2
cons
active
X1
X2
true
top
ok
X
top
active
X
top
mark
X
top
proper
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
1
0
proper
1
1
0
ok
1
1
0
0
0
1
from
1
1
43811
s
1
0
first
2
0
nil
0
13224
mark
1
1
1
first
2
1
2
25466
proper
1
0
from
1
0
active
1
1
0
cons
2
1
43810
active
1
0
top
ok
X
top
active
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
active
first
X1
X2
first
active
X1
X2
proper
0
ok
0
active
from
X
from
active
X
active
first
0
X
mark
nil
active
from
X
mark
cons
X
from
s
X
proper
nil
ok
nil
s
ok
X
ok
s
X
proper
from
X
from
proper
X
proper
s
X
s
proper
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
active
first
X1
X2
first
X1
active
X2
first
X1
mark
X2
mark
first
X1
X2
active
cons
X1
X2
cons
active
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
proper
first
X1
X2
first
proper
X1
proper
X2
cons
mark
X1
X2
mark
cons
X1
X2
from
ok
X
ok
from
X
s
mark
X
mark
s
X
first
mark
X1
X2
mark
first
X1
X2
from
mark
X
mark
from
X
active
s
X
s
active
X
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
top
ok
X
top
active
X
true
cons
2
0
s
1
1
0
top
1
0
top
1
1
0
proper
1
1
1
ok
1
1
1
0
0
20367
from
1
1
49043
s
1
0
first
2
0
nil
0
1285
mark
1
1
0
first
2
1
1
proper
1
0
from
1
0
active
1
1
0
cons
2
2
0
active
1
0
proper
cons
X1
X2
cons
proper
X1
proper
X2
active
first
X1
X2
first
active
X1
X2
proper
0
ok
0
active
from
X
from
active
X
active
first
0
X
mark
nil
active
from
X
mark
cons
X
from
s
X
proper
nil
ok
nil
s
ok
X
ok
s
X
proper
from
X
from
proper
X
proper
s
X
s
proper
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
active
first
X1
X2
first
X1
active
X2
first
X1
mark
X2
mark
first
X1
X2
active
cons
X1
X2
cons
active
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
proper
first
X1
X2
first
proper
X1
proper
X2
cons
mark
X1
X2
mark
cons
X1
X2
from
ok
X
ok
from
X
s
mark
X
mark
s
X
first
mark
X1
X2
mark
first
X1
X2
from
mark
X
mark
from
X
active
s
X
s
active
X
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
top
ok
X
active
X
false
top
mark
X
proper
X
false
proper
s
X
proper
X
proper
first
X1
X2
proper
X2
proper
first
X1
X2
proper
X1
proper
from
X
proper
X
proper
cons
X1
X2
proper
X2
proper
cons
X1
X2
proper
X1
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
proper
1
1
0
ok
1
0
0
0
1
from
1
1
1
s
1
0
first
2
0
nil
0
4
mark
1
1
0
first
2
1
2
3
proper
1
1
0
from
1
0
active
1
3
cons
2
1
2
1
active
1
0
proper
first
X1
X2
first
proper
X1
proper
X2
false
proper
s
X
s
proper
X
false
proper
from
X
from
proper
X
false
proper
cons
X1
X2
cons
proper
X1
proper
X2
false
active
s
X
active
X
active
cons
X1
X2
active
X1
active
first
X1
X2
active
X2
active
from
X
active
X
active
first
X1
X2
active
X1
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
proper
1
1
0
ok
1
0
0
0
30123
from
1
1
1
s
1
0
first
2
0
nil
0
4
mark
1
1
0
first
2
1
2
28874
proper
1
0
from
1
0
active
1
3
cons
2
1
2
1
active
1
1
0
active
first
s
X
cons
Y
Z
cons
Y
first
X
Z
false
active
s
X
s
active
X
false
active
cons
X1
X2
cons
active
X1
X2
false
active
first
X1
X2
first
X1
active
X2
false
active
from
X
from
s
X
false
active
from
X
s
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
proper
1
1
10336
ok
1
1
1
0
0
1
from
1
1
0
s
1
1
0
first
2
0
nil
0
2
mark
1
1
0
first
2
2
2
proper
1
0
from
1
0
active
1
1
cons
2
2
0
active
1
0
s
mark
X
s
X
s
mark
X
s
X
true
cons
2
0
s
1
1
27889
top
1
0
top
1
0
proper
1
27890
ok
1
1
0
0
1
from
1
27890
s
1
1
0
first
2
0
nil
0
21734
mark
1
1
62727
first
2
1
0
proper
1
0
from
1
0
active
1
1
34837
cons
2
1
0
active
1
0
active
from
X
from
active
X
false
from
mark
X
from
X
from
ok
X
from
X
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
proper
1
2
ok
1
1
1
0
0
1
from
1
2
s
1
0
first
2
0
nil
0
1
mark
1
1
18626
first
2
1
0
proper
1
0
from
1
1
0
active
1
1
18624
cons
2
1
0
active
1
0
active
first
X1
X2
first
active
X1
X2
false
active
from
X
cons
X
from
s
X
false
cons
ok
X1
ok
X2
cons
X1
X2
cons
mark
X1
X2
cons
X1
X2
true
cons
2
1
0
s
1
1
1
top
1
0
top
1
0
proper
1
2
ok
1
1
1
0
0
1
from
1
2
s
1
0
first
2
0
nil
0
1
mark
1
1
18629
first
2
1
0
proper
1
0
from
1
0
active
1
1
18627
cons
2
1
0
active
1
0
active
first
s
X
cons
Y
Z
first
X
Z
false
first
ok
X1
ok
X2
first
X1
X2
first
mark
X1
X2
first
X1
X2
first
X1
mark
X2
first
X1
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
proper
1
2
ok
1
1
1
0
0
1
from
1
2
s
1
0
first
2
1
0
nil
0
1
mark
1
1
3
first
2
1
0
proper
1
0
from
1
0
active
1
1
1
cons
2
1
0
active
1
0
first
X1
mark
X2
first
X1
X2
first
X1
mark
X2
first
X1
X2
true
cons
2
0
s
1
1
1
top
1
0
top
1
0
proper
1
2
ok
1
1
1
0
0
1
from
1
2
s
1
0
first
2
2
0
nil
0
1
mark
1
1
3
first
2
1
0
proper
1
0
from
1
0
active
1
1
1
cons
2
1
0
active
1
0
NaTT
certifiable-1.6