active
from
X
mark
cons
X
from
s
X
active
head
cons
X
XS
mark
X
active
2nd
cons
X
XS
mark
head
XS
active
take
0
XS
mark
nil
active
take
s
N
cons
X
XS
mark
cons
X
take
N
XS
active
sel
0
cons
X
XS
mark
X
active
sel
s
N
cons
X
XS
mark
sel
N
XS
active
from
X
from
active
X
active
cons
X1
X2
cons
active
X1
X2
active
s
X
s
active
X
active
head
X
head
active
X
active
2nd
X
2nd
active
X
active
take
X1
X2
take
active
X1
X2
active
take
X1
X2
take
X1
active
X2
active
sel
X1
X2
sel
active
X1
X2
active
sel
X1
X2
sel
X1
active
X2
from
mark
X
mark
from
X
cons
mark
X1
X2
mark
cons
X1
X2
s
mark
X
mark
s
X
head
mark
X
mark
head
X
2nd
mark
X
mark
2nd
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
sel
mark
X1
X2
mark
sel
X1
X2
sel
X1
mark
X2
mark
sel
X1
X2
proper
from
X
from
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
s
X
s
proper
X
proper
head
X
head
proper
X
proper
2nd
X
2nd
proper
X
proper
take
X1
X2
take
proper
X1
proper
X2
proper
0
ok
0
proper
nil
ok
nil
proper
sel
X1
X2
sel
proper
X1
proper
X2
from
ok
X
ok
from
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
ok
X
ok
s
X
head
ok
X
ok
head
X
2nd
ok
X
ok
2nd
X
take
ok
X1
ok
X2
ok
take
X1
X2
sel
ok
X1
ok
X2
ok
sel
X1
X2
top
mark
X
top
proper
X
top
ok
X
top
active
X
2.2
top
ok
X
active
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
sel
X1
mark
X2
sel
X1
X2
active
take
s
N
cons
X
XS
cons
X
take
N
XS
from
mark
X
from
X
proper
sel
X1
X2
proper
X2
proper
sel
X1
X2
proper
X1
proper
s
X
s
proper
X
s
mark
X
s
X
active
sel
X1
X2
active
X2
proper
from
X
from
proper
X
active
from
X
from
active
X
active
sel
X1
X2
active
X1
proper
s
X
proper
X
top
mark
X
top
proper
X
active
from
X
active
X
active
from
X
cons
X
from
s
X
proper
sel
X1
X2
sel
proper
X1
proper
X2
2nd
mark
X
2nd
X
active
take
X1
X2
active
X1
s
ok
X
s
X
take
ok
X1
ok
X2
take
X1
X2
active
from
X
s
X
proper
take
X1
X2
proper
X2
proper
take
X1
X2
proper
X1
proper
cons
X1
X2
proper
X2
active
take
X1
X2
take
active
X1
X2
active
sel
s
N
cons
X
XS
sel
N
XS
active
from
X
from
s
X
active
cons
X1
X2
cons
active
X1
X2
cons
mark
X1
X2
cons
X1
X2
head
mark
X
head
X
active
sel
X1
X2
sel
X1
active
X2
proper
from
X
proper
X
active
take
X1
X2
take
X1
active
X2
active
2nd
X
2nd
active
X
top
mark
X
proper
X
take
mark
X1
X2
take
X1
X2
head
ok
X
head
X
active
s
X
s
active
X
from
ok
X
from
X
proper
cons
X1
X2
proper
X1
proper
2nd
X
proper
X
proper
take
X1
X2
take
proper
X1
proper
X2
active
s
X
active
X
proper
2nd
X
2nd
proper
X
active
sel
X1
X2
sel
active
X1
X2
active
head
X
active
X
2nd
ok
X
2nd
X
take
X1
mark
X2
take
X1
X2
active
take
X1
X2
active
X2
active
take
s
N
cons
X
XS
take
N
XS
active
2nd
X
active
X
active
head
X
head
active
X
proper
head
X
head
proper
X
top
ok
X
top
active
X
active
2nd
cons
X
XS
head
XS
sel
ok
X1
ok
X2
sel
X1
X2
active
cons
X1
X2
active
X1
proper
head
X
proper
X
cons
ok
X1
ok
X2
cons
X1
X2
sel
mark
X1
X2
sel
X1
X2
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
active
1
1
cons
2
0
2
1
s
1
6
1
take
2
0
1
take
2
7
2
1
top
1
0
2nd
1
3
1
head
1
0
0
0
0
sel
2
0
from
1
3
1
sel
2
4
1
2
nil
0
8
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
head
1
6
1
cons
2
2
1
active
1
0
cons
2
1
1
2
1
0
s
1
1
0
take
2
1
1
take
2
1
2
17069
top
1
1
2nd
1
1
2
head
1
1
0
0
7630
sel
2
2
1
from
1
1
48180
sel
2
1
2
1
nil
0
7632
2nd
1
1
mark
1
1
0
proper
1
1
from
1
1
head
1
1
1
cons
2
1
17068
2
0
0
active
1
1
top
ok
X
top
active
X
cons
mark
X1
X2
mark
cons
X1
X2
active
take
0
XS
mark
nil
active
sel
X1
X2
sel
active
X1
X2
active
from
X
from
active
X
active
from
X
mark
cons
X
from
s
X
active
2nd
cons
X
XS
mark
head
XS
active
sel
X1
X2
sel
X1
active
X2
2nd
mark
X
mark
2nd
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
proper
from
X
from
proper
X
s
mark
X
mark
s
X
proper
0
ok
0
from
mark
X
mark
from
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
sel
X1
X2
sel
proper
X1
proper
X2
take
mark
X1
X2
mark
take
X1
X2
proper
s
X
s
proper
X
active
take
s
N
cons
X
XS
mark
cons
X
take
N
XS
proper
nil
ok
nil
active
s
X
s
active
X
2nd
ok
X
ok
2nd
X
active
sel
s
N
cons
X
XS
mark
sel
N
XS
head
mark
X
mark
head
X
sel
X1
mark
X2
mark
sel
X1
X2
proper
2nd
X
2nd
proper
X
active
take
X1
X2
take
X1
active
X2
proper
take
X1
X2
take
proper
X1
proper
X2
active
2nd
X
2nd
active
X
take
X1
mark
X2
mark
take
X1
X2
sel
mark
X1
X2
mark
sel
X1
X2
active
head
X
head
active
X
active
cons
X1
X2
cons
active
X1
X2
active
take
X1
X2
take
active
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
active
sel
0
cons
X
XS
mark
X
head
ok
X
ok
head
X
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
from
ok
X
ok
from
X
proper
head
X
head
proper
X
active
head
cons
X
XS
mark
X
top
ok
X
top
active
X
true
cons
2
0
s
1
1
0
take
2
0
take
2
2
0
top
1
0
2nd
1
1
0
top
1
1
0
head
1
0
proper
1
12703
ok
1
1
2
0
0
1
sel
2
0
from
1
1
0
sel
2
2
0
s
1
0
nil
0
12701
2nd
1
0
mark
1
0
proper
1
0
from
1
0
active
1
1
1
head
1
1
0
cons
2
1
0
active
1
0
cons
mark
X1
X2
mark
cons
X1
X2
active
take
0
XS
mark
nil
active
sel
X1
X2
sel
active
X1
X2
active
from
X
from
active
X
active
from
X
mark
cons
X
from
s
X
active
2nd
cons
X
XS
mark
head
XS
active
sel
X1
X2
sel
X1
active
X2
2nd
mark
X
mark
2nd
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
proper
from
X
from
proper
X
s
mark
X
mark
s
X
proper
0
ok
0
from
mark
X
mark
from
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
sel
X1
X2
sel
proper
X1
proper
X2
take
mark
X1
X2
mark
take
X1
X2
proper
s
X
s
proper
X
active
take
s
N
cons
X
XS
mark
cons
X
take
N
XS
proper
nil
ok
nil
active
s
X
s
active
X
2nd
ok
X
ok
2nd
X
active
sel
s
N
cons
X
XS
mark
sel
N
XS
head
mark
X
mark
head
X
sel
X1
mark
X2
mark
sel
X1
X2
proper
2nd
X
2nd
proper
X
active
take
X1
X2
take
X1
active
X2
proper
take
X1
X2
take
proper
X1
proper
X2
active
2nd
X
2nd
active
X
take
X1
mark
X2
mark
take
X1
X2
sel
mark
X1
X2
mark
sel
X1
X2
active
head
X
head
active
X
active
cons
X1
X2
cons
active
X1
X2
active
take
X1
X2
take
active
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
active
sel
0
cons
X
XS
mark
X
head
ok
X
ok
head
X
s
ok
X
ok
s
X
sel
ok
X1
ok
X2
ok
sel
X1
X2
from
ok
X
ok
from
X
proper
head
X
head
proper
X
active
head
cons
X
XS
mark
X
top
mark
X
proper
X
false
proper
from
X
proper
X
proper
head
X
proper
X
proper
cons
X1
X2
proper
X2
proper
take
X1
X2
proper
X1
proper
take
X1
X2
proper
X2
proper
s
X
proper
X
proper
2nd
X
proper
X
proper
cons
X1
X2
proper
X1
proper
sel
X1
X2
proper
X1
proper
sel
X1
X2
proper
X2
true
cons
2
0
s
1
1
1
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
1
top
1
0
head
1
0
proper
1
1
1
ok
1
14462
0
0
1
sel
2
0
from
1
1
1
sel
2
1
2
2
s
1
0
nil
0
14460
2nd
1
0
mark
1
1
0
proper
1
1
0
from
1
0
active
1
1
head
1
1
29274
cons
2
1
2
1
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
proper
head
X
head
proper
X
false
proper
take
X1
X2
take
proper
X1
proper
X2
false
proper
2nd
X
2nd
proper
X
false
proper
s
X
s
proper
X
false
proper
sel
X1
X2
sel
proper
X1
proper
X2
false
proper
from
X
from
proper
X
false
proper
cons
X1
X2
cons
proper
X1
proper
X2
false
top
ok
X
active
X
false
active
cons
X1
X2
active
X1
active
2nd
X
active
X
active
take
X1
X2
active
X2
active
take
X1
X2
active
X1
active
head
X
active
X
active
from
X
active
X
active
sel
X1
X2
active
X1
active
s
X
active
X
active
sel
X1
X2
active
X2
true
cons
2
0
s
1
1
32135
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
1
top
1
0
head
1
0
proper
1
1
1
ok
1
4
0
0
1
sel
2
0
from
1
1
1
sel
2
1
2
2
s
1
0
nil
0
2
2nd
1
0
mark
1
1
0
proper
1
0
from
1
0
active
1
1
head
1
1
29274
cons
2
1
2
1
active
1
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
active
take
X1
X2
take
active
X1
X2
false
active
cons
X1
X2
cons
active
X1
X2
false
active
head
X
head
active
X
false
active
take
X1
X2
take
X1
active
X2
false
active
sel
s
N
cons
X
XS
sel
N
XS
false
active
s
X
s
active
X
false
active
take
s
N
cons
X
XS
cons
X
take
N
XS
false
active
take
s
N
cons
X
XS
take
N
XS
false
take
ok
X1
ok
X2
take
X1
X2
take
X1
mark
X2
take
X1
X2
take
mark
X1
X2
take
X1
X2
true
cons
2
0
s
1
1
1
take
2
1
2
0
take
2
1
2
8822
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
30250
ok
1
1
1
0
0
51072
sel
2
0
from
1
1
0
sel
2
1
2
1911
s
1
0
nil
0
41702
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
30250
cons
2
2
32158
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
active
sel
X1
X2
sel
X1
active
X2
false
active
2nd
cons
X
XS
head
XS
false
head
mark
X
head
X
head
ok
X
head
X
true
cons
2
0
s
1
1
1
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
0
top
1
0
head
1
1
0
proper
1
2
ok
1
1
1
0
0
51072
sel
2
0
from
1
1
0
sel
2
1
2
21256
s
1
0
nil
0
3449
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
2
cons
2
2
32158
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
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
2
0
s
1
1
1
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
2
ok
1
1
1
0
0
2
sel
2
0
from
1
1
0
sel
2
1
2
1
s
1
0
nil
0
2
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
2
cons
2
2
32158
active
1
0
cons
mark
X1
X2
cons
X1
X2
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
cons
mark
X1
X2
cons
X1
X2
true
cons
2
1
0
s
1
1
1
take
2
0
take
2
1
2
24847
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
2
ok
1
1
2
0
0
1
sel
2
0
from
1
1
0
sel
2
1
2
17015
s
1
0
nil
0
2
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
2
cons
2
2
2
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
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
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
2
ok
1
1
2
0
0
1
sel
2
0
from
1
1
0
sel
2
1
2
5851
s
1
1
0
nil
0
2
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
2
cons
2
2
2
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
active
from
X
from
active
X
false
from
ok
X
from
X
from
mark
X
from
X
true
cons
2
0
s
1
1
1
take
2
0
take
2
1
2
1
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
2
ok
1
1
1
0
0
2
sel
2
0
from
1
1
0
sel
2
1
2
1
s
1
0
nil
0
20259
2nd
1
0
mark
1
1
1
proper
1
0
from
1
1
0
active
1
1
head
1
2
cons
2
2
2
active
1
0
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
active
sel
X1
X2
sel
active
X1
X2
false
sel
mark
X1
X2
sel
X1
X2
sel
ok
X1
ok
X2
sel
X1
X2
sel
X1
mark
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
take
2
0
take
2
2
2
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
15740
ok
1
1
1
0
0
15740
sel
2
1
2
0
from
1
1
0
sel
2
2
2
s
1
0
nil
0
15740
2nd
1
0
mark
1
1
0
proper
1
0
from
1
0
active
1
1
head
1
9124
cons
2
2
2
active
1
0
sel
X1
mark
X2
sel
X1
X2
sel
mark
X1
X2
sel
X1
X2
s
mark
X
mark
s
X
take
mark
X1
X2
mark
take
X1
X2
take
X1
mark
X2
mark
take
X1
X2
take
ok
X1
ok
X2
ok
take
X1
X2
s
ok
X
ok
s
X
sel
X1
mark
X2
sel
X1
X2
sel
mark
X1
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
take
2
0
take
2
2
2
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
1
1
ok
1
1
2
0
0
11314
sel
2
2
0
from
1
1
0
sel
2
2
15796
s
1
0
nil
0
26720
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
1
1
cons
2
1
2
1
active
1
0
sel
mark
X1
X2
sel
X1
X2
s
mark
X
mark
s
X
s
ok
X
ok
s
X
sel
mark
X1
X2
sel
X1
X2
true
cons
2
0
s
1
1
1
take
2
0
take
2
2
2
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
1
1
ok
1
1
2
0
0
14735
sel
2
1
0
from
1
1
0
sel
2
2
11968
s
1
0
nil
0
31921
2nd
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
1
58268
cons
2
1
2
1
active
1
0
s
mark
X
mark
s
X
s
ok
X
ok
s
X
active
2nd
X
2nd
active
X
false
2nd
mark
X
2nd
X
2nd
ok
X
2nd
X
true
cons
2
0
s
1
1
1
take
2
0
take
2
2
2
top
1
0
2nd
1
1
0
top
1
0
head
1
0
proper
1
1
1
ok
1
1
20695
0
0
11890
sel
2
0
from
1
1
0
sel
2
2
24417
s
1
0
nil
0
64750
2nd
1
1
0
mark
1
1
1
proper
1
0
from
1
0
active
1
1
head
1
1
1
cons
2
1
2
1
active
1
0
s
mark
X
mark
s
X
from
mark
X
mark
from
X
s
ok
X
ok
s
X
from
ok
X
ok
from
X
NaTT
certifiable-1.6