active
terms
N
mark
cons
recip
sqr
N
terms
s
N
active
sqr
0
mark
0
active
sqr
s
X
mark
s
add
sqr
X
dbl
X
active
dbl
0
mark
0
active
dbl
s
X
mark
s
s
dbl
X
active
add
0
X
mark
X
active
add
s
X
Y
mark
s
add
X
Y
active
first
0
X
mark
nil
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
active
terms
X
terms
active
X
active
cons
X1
X2
cons
active
X1
X2
active
recip
X
recip
active
X
active
sqr
X
sqr
active
X
active
add
X1
X2
add
active
X1
X2
active
add
X1
X2
add
X1
active
X2
active
dbl
X
dbl
active
X
active
first
X1
X2
first
active
X1
X2
active
first
X1
X2
first
X1
active
X2
terms
mark
X
mark
terms
X
cons
mark
X1
X2
mark
cons
X1
X2
recip
mark
X
mark
recip
X
sqr
mark
X
mark
sqr
X
add
mark
X1
X2
mark
add
X1
X2
add
X1
mark
X2
mark
add
X1
X2
dbl
mark
X
mark
dbl
X
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
proper
terms
X
terms
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
recip
X
recip
proper
X
proper
sqr
X
sqr
proper
X
proper
s
X
s
proper
X
proper
0
ok
0
proper
add
X1
X2
add
proper
X1
proper
X2
proper
dbl
X
dbl
proper
X
proper
first
X1
X2
first
proper
X1
proper
X2
proper
nil
ok
nil
terms
ok
X
ok
terms
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
recip
ok
X
ok
recip
X
sqr
ok
X
ok
sqr
X
s
ok
X
ok
s
X
add
ok
X1
ok
X2
ok
add
X1
X2
dbl
ok
X
ok
dbl
X
first
ok
X1
ok
X2
ok
first
X1
X2
top
mark
X
top
proper
X
top
ok
X
top
active
X
2.2
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
terms
X
terms
proper
X
active
add
X1
X2
active
X1
active
add
s
X
Y
add
X
Y
active
terms
N
cons
recip
sqr
N
terms
s
N
proper
add
X1
X2
add
proper
X1
proper
X2
dbl
ok
X
dbl
X
active
dbl
s
X
dbl
X
active
terms
X
terms
active
X
active
first
X1
X2
first
X1
active
X2
proper
add
X1
X2
proper
X1
proper
s
X
proper
X
active
add
X1
X2
add
X1
active
X2
proper
add
X1
X2
proper
X2
active
first
X1
X2
active
X2
proper
first
X1
X2
proper
X2
active
dbl
X
active
X
active
terms
X
active
X
proper
dbl
X
proper
X
recip
mark
X
recip
X
first
mark
X1
X2
first
X1
X2
active
terms
N
recip
sqr
N
active
dbl
s
X
s
dbl
X
active
first
X1
X2
active
X1
terms
ok
X
terms
X
s
ok
X
s
X
top
ok
X
top
active
X
proper
first
X1
X2
proper
X1
active
recip
X
recip
active
X
active
terms
N
s
N
first
ok
X1
ok
X2
first
X1
X2
sqr
mark
X
sqr
X
active
terms
N
terms
s
N
top
ok
X
active
X
proper
recip
X
proper
X
proper
first
X1
X2
first
proper
X1
proper
X2
recip
ok
X
recip
X
active
sqr
s
X
s
add
sqr
X
dbl
X
proper
recip
X
recip
proper
X
proper
s
X
s
proper
X
first
X1
mark
X2
first
X1
X2
active
recip
X
active
X
active
cons
X1
X2
active
X1
top
mark
X
top
proper
X
active
dbl
s
X
s
s
dbl
X
sqr
ok
X
sqr
X
active
sqr
s
X
sqr
X
cons
mark
X1
X2
cons
X1
X2
active
add
X1
X2
active
X2
proper
dbl
X
dbl
proper
X
proper
terms
X
proper
X
active
sqr
s
X
dbl
X
active
add
X1
X2
add
active
X1
X2
add
mark
X1
X2
add
X1
X2
active
add
s
X
Y
s
add
X
Y
proper
sqr
X
proper
X
active
dbl
X
dbl
active
X
active
first
s
X
cons
Y
Z
cons
Y
first
X
Z
dbl
mark
X
dbl
X
active
cons
X1
X2
cons
active
X1
X2
active
sqr
s
X
add
sqr
X
dbl
X
proper
sqr
X
sqr
proper
X
active
terms
N
sqr
N
cons
ok
X1
ok
X2
cons
X1
X2
add
X1
mark
X2
add
X1
X2
active
sqr
X
active
X
proper
cons
X1
X2
proper
X1
add
ok
X1
ok
X2
add
X1
X2
terms
mark
X
terms
X
top
mark
X
proper
X
active
sqr
X
sqr
active
X
proper
cons
X1
X2
proper
X2
active
first
X1
X2
first
active
X1
X2
active
first
s
X
cons
Y
Z
first
X
Z
true
top
ok
X
top
active
X
top
mark
X
top
proper
X
true
cons
2
0
s
1
16674
recip
1
1
38765
recip
1
0
dbl
1
1
15943
top
1
0
dbl
1
0
terms
1
0
top
1
1
0
sqr
1
0
proper
1
1
0
ok
1
1
0
0
0
1
s
1
0
first
2
0
nil
0
240
mark
1
1
1
first
2
1
2
5900
proper
1
0
active
1
1
0
cons
2
1
39195
active
1
0
add
2
0
add
2
1
2
28872
sqr
1
1
1
terms
1
1
77962
top
ok
X
top
active
X
active
first
X1
X2
first
X1
active
X2
active
dbl
0
mark
0
active
add
X1
X2
add
X1
active
X2
active
first
0
X
mark
nil
active
terms
N
mark
cons
recip
sqr
N
terms
s
N
active
sqr
s
X
mark
s
add
sqr
X
dbl
X
active
dbl
X
dbl
active
X
recip
mark
X
mark
recip
X
proper
first
X1
X2
first
proper
X1
proper
X2
first
mark
X1
X2
mark
first
X1
X2
terms
mark
X
mark
terms
X
proper
s
X
s
proper
X
active
first
X1
X2
first
active
X1
X2
first
X1
mark
X2
mark
first
X1
X2
proper
add
X1
X2
add
proper
X1
proper
X2
sqr
mark
X
mark
sqr
X
proper
terms
X
terms
proper
X
dbl
ok
X
ok
dbl
X
active
dbl
s
X
mark
s
s
dbl
X
proper
0
ok
0
active
terms
X
terms
active
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
active
add
s
X
Y
mark
s
add
X
Y
cons
mark
X1
X2
mark
cons
X1
X2
dbl
mark
X
mark
dbl
X
proper
recip
X
recip
proper
X
active
add
X1
X2
add
active
X1
X2
proper
sqr
X
sqr
proper
X
active
recip
X
recip
active
X
first
ok
X1
ok
X2
ok
first
X1
X2
add
mark
X1
X2
mark
add
X1
X2
add
X1
mark
X2
mark
add
X1
X2
active
cons
X1
X2
cons
active
X1
X2
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
active
sqr
X
sqr
active
X
recip
ok
X
ok
recip
X
active
add
0
X
mark
X
terms
ok
X
ok
terms
X
proper
nil
ok
nil
sqr
ok
X
ok
sqr
X
s
ok
X
ok
s
X
proper
dbl
X
dbl
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
add
ok
X1
ok
X2
ok
add
X1
X2
active
sqr
0
mark
0
top
ok
X
top
active
X
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
1
0
sqr
1
0
proper
1
1
11669
ok
1
1
11669
0
0
1
s
1
0
first
2
0
nil
0
30137
mark
1
1
first
2
2
26816
proper
1
0
active
1
1
1
cons
2
1
1
active
1
0
add
2
0
add
2
2
9643
sqr
1
1
1
terms
1
1
1
active
first
X1
X2
first
X1
active
X2
active
dbl
0
mark
0
active
add
X1
X2
add
X1
active
X2
active
first
0
X
mark
nil
active
terms
N
mark
cons
recip
sqr
N
terms
s
N
active
sqr
s
X
mark
s
add
sqr
X
dbl
X
active
dbl
X
dbl
active
X
recip
mark
X
mark
recip
X
proper
first
X1
X2
first
proper
X1
proper
X2
first
mark
X1
X2
mark
first
X1
X2
terms
mark
X
mark
terms
X
proper
s
X
s
proper
X
active
first
X1
X2
first
active
X1
X2
first
X1
mark
X2
mark
first
X1
X2
proper
add
X1
X2
add
proper
X1
proper
X2
sqr
mark
X
mark
sqr
X
proper
terms
X
terms
proper
X
dbl
ok
X
ok
dbl
X
active
dbl
s
X
mark
s
s
dbl
X
proper
0
ok
0
active
terms
X
terms
active
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
active
add
s
X
Y
mark
s
add
X
Y
cons
mark
X1
X2
mark
cons
X1
X2
dbl
mark
X
mark
dbl
X
proper
recip
X
recip
proper
X
active
add
X1
X2
add
active
X1
X2
proper
sqr
X
sqr
proper
X
active
recip
X
recip
active
X
first
ok
X1
ok
X2
ok
first
X1
X2
add
mark
X1
X2
mark
add
X1
X2
add
X1
mark
X2
mark
add
X1
X2
active
cons
X1
X2
cons
active
X1
X2
active
first
s
X
cons
Y
Z
mark
cons
Y
first
X
Z
active
sqr
X
sqr
active
X
recip
ok
X
ok
recip
X
active
add
0
X
mark
X
terms
ok
X
ok
terms
X
proper
nil
ok
nil
sqr
ok
X
ok
sqr
X
s
ok
X
ok
s
X
proper
dbl
X
dbl
proper
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
add
ok
X1
ok
X2
ok
add
X1
X2
active
sqr
0
mark
0
top
mark
X
proper
X
false
proper
cons
X1
X2
proper
X2
proper
recip
X
proper
X
proper
cons
X1
X2
proper
X1
proper
first
X1
X2
proper
X1
proper
dbl
X
proper
X
proper
sqr
X
proper
X
proper
first
X1
X2
proper
X2
proper
add
X1
X2
proper
X2
proper
s
X
proper
X
proper
add
X1
X2
proper
X1
proper
terms
X
proper
X
true
cons
2
0
s
1
1
1
recip
1
1
23641
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
30137
mark
1
16147
first
2
1
2
1
proper
1
1
0
active
1
1
16143
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
3
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
proper
dbl
X
dbl
proper
X
false
proper
sqr
X
sqr
proper
X
false
proper
recip
X
recip
proper
X
false
proper
add
X1
X2
add
proper
X1
proper
X2
false
proper
s
X
s
proper
X
false
proper
first
X1
X2
first
proper
X1
proper
X2
false
top
ok
X
active
X
false
proper
terms
X
terms
proper
X
false
proper
cons
X1
X2
cons
proper
X1
proper
X2
false
active
recip
X
active
X
active
sqr
X
active
X
active
first
X1
X2
active
X1
active
dbl
X
active
X
active
terms
X
active
X
active
first
X1
X2
active
X2
active
add
X1
X2
active
X2
active
add
X1
X2
active
X1
active
cons
X1
X2
active
X1
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
2
s
1
0
first
2
0
nil
0
30137
mark
1
5
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
3
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
sqr
X
sqr
active
X
false
active
first
s
X
cons
Y
Z
cons
Y
first
X
Z
false
active
first
s
X
cons
Y
Z
first
X
Z
false
active
cons
X1
X2
cons
active
X1
X2
false
active
recip
X
recip
active
X
false
active
add
X1
X2
add
active
X1
X2
false
active
add
s
X
Y
s
add
X
Y
false
active
add
s
X
Y
add
X
Y
false
active
terms
X
terms
active
X
false
active
dbl
s
X
s
s
dbl
X
false
active
dbl
s
X
s
dbl
X
false
active
dbl
s
X
dbl
X
false
active
first
X1
X2
first
active
X1
X2
false
active
dbl
X
dbl
active
X
false
active
sqr
s
X
s
add
sqr
X
dbl
X
false
active
sqr
s
X
add
sqr
X
dbl
X
false
active
sqr
s
X
sqr
X
false
active
sqr
s
X
dbl
X
false
dbl
mark
X
dbl
X
dbl
ok
X
dbl
X
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
49
0
0
1
s
1
0
first
2
0
nil
0
6389
mark
1
1
4
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
terms
N
cons
recip
sqr
N
terms
s
N
false
cons
ok
X1
ok
X2
cons
X1
X2
cons
mark
X1
X2
cons
X1
X2
true
cons
2
1
0
s
1
1
10392
recip
1
1
5744
recip
1
0
dbl
1
1
9133
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
38312
s
1
0
first
2
0
nil
0
6389
mark
1
1
80049
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
41735
sqr
1
1
18524
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
terms
N
recip
sqr
N
false
recip
ok
X
recip
X
recip
mark
X
recip
X
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
1
mark
1
1
18526
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
4592
sqr
1
1
1
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
terms
N
sqr
N
false
sqr
mark
X
sqr
X
sqr
ok
X
sqr
X
true
cons
2
0
s
1
1
1
recip
1
1
12490
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
1
mark
1
1
4
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
62970
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
terms
N
terms
s
N
false
terms
mark
X
terms
X
terms
ok
X
terms
X
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
26962
mark
1
1
4
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
terms
N
s
N
false
s
ok
X
s
X
true
cons
2
0
s
1
1
15530
recip
1
1
1
recip
1
0
dbl
1
1
2089
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
1
0
first
2
0
nil
0
1
mark
1
1
55447
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
55444
sqr
1
1
19454
terms
1
1
54920
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
add
X1
X2
add
X1
active
X2
false
add
ok
X1
ok
X2
add
X1
X2
add
X1
mark
X2
add
X1
X2
add
mark
X1
X2
add
X1
X2
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
26064
mark
1
1
47950
first
2
1
2
1
proper
1
0
active
1
1
47947
cons
2
1
2
1
active
1
0
add
2
1
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
1
add
X1
mark
X2
add
X1
X2
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
add
X1
mark
X2
add
X1
X2
true
cons
2
0
s
1
1
2
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
1
s
1
0
first
2
0
nil
0
1
mark
1
1
4
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
active
first
X1
X2
first
X1
active
X2
false
first
X1
mark
X2
first
X1
X2
first
ok
X1
ok
X2
first
X1
X2
first
mark
X1
X2
first
X1
X2
true
cons
2
0
s
1
1
1
recip
1
1
1
recip
1
0
dbl
1
1
1
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
ok
1
1
1
0
0
13644
s
1
0
first
2
1
0
nil
0
1
mark
1
1
13647
first
2
1
2
1
proper
1
0
active
1
1
1
cons
2
1
2
1
active
1
0
add
2
0
add
2
1
2
1
sqr
1
1
1
terms
1
1
1
first
X1
mark
X2
first
X1
X2
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
cons
ok
X1
ok
X2
ok
cons
X1
X2
cons
mark
X1
X2
mark
cons
X1
X2
first
ok
X1
ok
X2
ok
first
X1
X2
first
X1
mark
X2
first
X1
X2
true
cons
2
0
s
1
1
recip
1
1
6274
recip
1
0
dbl
1
1
14396
top
1
0
dbl
1
0
terms
1
0
top
1
0
sqr
1
0
proper
1
1
1
ok
1
1
2
0
0
2061
s
1
0
first
2
2
0
nil
0
23048
mark
1
1
2
first
2
1
2
1
proper
1
0
active
1
1
cons
2
1
1
active
1
0
add
2
0
add
2
2
29824
sqr
1
1
28588
terms
1
1
1
first
mark
X1
X2
mark
first
X1
X2
first
X1
mark
X2
mark
first
X1
X2
dbl
ok
X
ok
dbl
X
dbl
mark
X
mark
dbl
X
first
ok
X1
ok
X2
ok
first
X1
X2
NaTT
certifiable-1.6