active
incr
nil
mark
nil
active
incr
cons
X
L
mark
cons
s
X
incr
L
active
adx
nil
mark
nil
active
adx
cons
X
L
mark
incr
cons
X
adx
L
active
nats
mark
adx
zeros
active
zeros
mark
cons
0
zeros
active
head
cons
X
L
mark
X
active
tail
cons
X
L
mark
L
active
incr
X
incr
active
X
active
cons
X1
X2
cons
active
X1
X2
active
s
X
s
active
X
active
adx
X
adx
active
X
active
head
X
head
active
X
active
tail
X
tail
active
X
incr
mark
X
mark
incr
X
cons
mark
X1
X2
mark
cons
X1
X2
s
mark
X
mark
s
X
adx
mark
X
mark
adx
X
head
mark
X
mark
head
X
tail
mark
X
mark
tail
X
proper
incr
X
incr
proper
X
proper
nil
ok
nil
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
s
X
s
proper
X
proper
adx
X
adx
proper
X
proper
nats
ok
nats
proper
zeros
ok
zeros
proper
0
ok
0
proper
head
X
head
proper
X
proper
tail
X
tail
proper
X
incr
ok
X
ok
incr
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
ok
X
ok
s
X
adx
ok
X
ok
adx
X
head
ok
X
ok
head
X
tail
ok
X
ok
tail
X
top
mark
X
top
proper
X
top
ok
X
top
active
X
2.2
active
incr
cons
X
L
s
X
proper
incr
X
proper
X
proper
tail
X
proper
X
s
ok
X
s
X
active
adx
cons
X
L
incr
cons
X
adx
L
proper
incr
X
incr
proper
X
tail
ok
X
tail
X
adx
ok
X
adx
X
active
adx
cons
X
L
cons
X
adx
L
active
adx
cons
X
L
adx
L
s
mark
X
s
X
head
ok
X
head
X
head
mark
X
head
X
active
head
X
active
X
top
ok
X
top
active
X
active
zeros
cons
0
zeros
active
adx
X
active
X
active
adx
X
adx
active
X
incr
mark
X
incr
X
active
head
X
head
active
X
proper
adx
X
proper
X
active
incr
X
incr
active
X
proper
adx
X
adx
proper
X
adx
mark
X
adx
X
incr
ok
X
incr
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
top
mark
X
top
proper
X
cons
ok
X1
ok
X2
cons
X1
X2
top
ok
X
active
X
active
cons
X1
X2
cons
active
X1
X2
proper
head
X
proper
X
cons
mark
X1
X2
cons
X1
X2
proper
tail
X
tail
proper
X
proper
cons
X1
X2
proper
X2
active
cons
X1
X2
active
X1
active
tail
X
active
X
active
s
X
active
X
tail
mark
X
tail
X
proper
s
X
proper
X
active
tail
X
tail
active
X
active
nats
adx
zeros
proper
cons
X1
X2
proper
X1
active
s
X
s
active
X
active
incr
cons
X
L
incr
L
active
incr
cons
X
L
cons
s
X
incr
L
top
mark
X
proper
X
active
incr
X
active
X
proper
head
X
head
proper
X
proper
s
X
s
proper
X
true
top
ok
X
top
active
X
top
mark
X
top
proper
X
true
s
1
1
top
1
1
proper
1
1
ok
1
1
s
1
1
active
1
1
adx
1
0
incr
1
7
1
cons
2
0
top
1
0
head
1
0
adx
1
8
1
zeros
0
3
tail
1
3
1
0
0
3
nil
0
4
tail
1
0
mark
1
1
1
incr
1
0
proper
1
0
nats
0
3
head
1
4
1
cons
2
2
1
active
1
0
adx
1
1
incr
1
1
0
cons
2
1
1
top
1
1
head
1
1
adx
1
1
1
zeros
0
36983
tail
1
1
1
0
0
0
nil
0
24696
tail
1
1
mark
1
1
0
incr
1
1
proper
1
1
nats
0
36985
head
1
1
1
cons
2
1
2
0
active
1
1
top
ok
X
top
active
X
adx
mark
X
mark
adx
X
active
adx
cons
X
L
mark
incr
cons
X
adx
L
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
cons
mark
X1
X2
mark
cons
X1
X2
proper
incr
X
incr
proper
X
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
cons
X1
X2
cons
active
X1
X2
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
proper
adx
X
adx
proper
X
proper
tail
X
tail
proper
X
active
tail
X
tail
active
X
incr
ok
X
ok
incr
X
active
adx
X
adx
active
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
s
X
s
proper
X
active
s
X
s
active
X
active
incr
X
incr
active
X
active
head
X
head
active
X
active
zeros
mark
cons
0
zeros
head
ok
X
ok
head
X
proper
head
X
head
proper
X
active
incr
cons
X
L
mark
cons
s
X
incr
L
top
ok
X
top
active
X
true
adx
1
0
incr
1
1
0
cons
2
0
s
1
1
0
top
1
0
top
1
1
0
head
1
0
adx
1
1
0
zeros
0
1
tail
1
1
0
proper
1
18006
ok
1
18006
0
0
16674
s
1
0
nil
0
14972
tail
1
0
mark
1
1
incr
1
0
proper
1
0
nats
0
1
active
1
1
head
1
1
0
cons
2
1
0
active
1
0
adx
mark
X
mark
adx
X
active
adx
cons
X
L
mark
incr
cons
X
adx
L
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
cons
mark
X1
X2
mark
cons
X1
X2
proper
incr
X
incr
proper
X
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
cons
X1
X2
cons
active
X1
X2
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
proper
adx
X
adx
proper
X
proper
tail
X
tail
proper
X
active
tail
X
tail
active
X
incr
ok
X
ok
incr
X
active
adx
X
adx
active
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
proper
s
X
s
proper
X
active
s
X
s
active
X
active
incr
X
incr
active
X
active
head
X
head
active
X
active
zeros
mark
cons
0
zeros
head
ok
X
ok
head
X
proper
head
X
head
proper
X
active
incr
cons
X
L
mark
cons
s
X
incr
L
top
mark
X
proper
X
false
top
ok
X
active
X
false
active
incr
X
active
X
active
adx
X
active
X
active
head
X
active
X
active
s
X
active
X
active
tail
X
active
X
active
cons
X1
X2
active
X1
true
adx
1
0
incr
1
1
0
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
0
zeros
0
1
tail
1
1
0
proper
1
1
ok
1
1
0
0
27691
s
1
0
nil
0
240
tail
1
0
mark
1
1
incr
1
0
proper
1
0
nats
0
1
active
1
1
head
1
1
0
cons
2
1
0
active
1
1
0
active
cons
X1
X2
active
X1
active
tail
X
active
X
active
head
X
active
X
active
adx
X
active
X
active
incr
X
active
X
adx
mark
X
mark
adx
X
active
adx
cons
X
L
mark
incr
cons
X
adx
L
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
cons
mark
X1
X2
mark
cons
X1
X2
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
active
zeros
mark
cons
0
zeros
head
ok
X
ok
head
X
active
incr
cons
X
L
mark
cons
s
X
incr
L
active
cons
X1
X2
active
X1
active
tail
X
active
X
active
adx
X
active
X
active
incr
X
active
X
active
head
X
active
X
true
adx
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
12831
zeros
0
2
tail
1
1
1
proper
1
1
ok
1
1
0
0
36868
s
1
0
nil
0
1
tail
1
0
mark
1
15620
incr
1
0
proper
1
0
nats
0
2
active
1
1
56977
head
1
1
23637
cons
2
1
1
active
1
1
0
adx
mark
X
mark
adx
X
active
adx
cons
X
L
mark
incr
cons
X
adx
L
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
cons
mark
X1
X2
mark
cons
X1
X2
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
cons
ok
X1
ok
X2
ok
cons
X1
X2
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
active
zeros
mark
cons
0
zeros
head
ok
X
ok
head
X
active
incr
cons
X
L
mark
cons
s
X
incr
L
active
incr
cons
X
L
cons
s
X
incr
L
false
active
incr
cons
X
L
incr
L
false
active
zeros
cons
0
zeros
false
active
head
X
head
active
X
false
active
incr
X
incr
active
X
false
active
s
X
s
active
X
false
active
adx
X
adx
active
X
false
active
tail
X
tail
active
X
false
active
cons
X1
X2
cons
active
X1
X2
false
active
nats
adx
zeros
false
active
adx
cons
X
L
incr
cons
X
adx
L
false
active
adx
cons
X
L
cons
X
adx
L
false
active
adx
cons
X
L
adx
L
false
proper
adx
X
proper
X
proper
cons
X1
X2
proper
X1
proper
s
X
proper
X
proper
cons
X1
X2
proper
X2
proper
head
X
proper
X
proper
tail
X
proper
X
proper
incr
X
proper
X
true
adx
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
1
zeros
0
1
tail
1
1
1
proper
1
10378
ok
1
1
10377
0
0
1
s
1
0
nil
0
1
tail
1
0
mark
1
2
incr
1
0
proper
1
1
0
nats
0
1
active
1
1
1
head
1
1
23637
cons
2
1
2
1
active
1
0
adx
mark
X
mark
adx
X
active
adx
cons
X
L
mark
incr
cons
X
adx
L
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
cons
mark
X1
X2
mark
cons
X1
X2
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
active
zeros
mark
cons
0
zeros
head
ok
X
ok
head
X
active
incr
cons
X
L
mark
cons
s
X
incr
L
proper
head
X
head
proper
X
false
head
mark
X
head
X
head
ok
X
head
X
true
adx
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
1
0
adx
1
1
1
zeros
0
35712
tail
1
1
15047
proper
1
35713
ok
1
1
1
0
0
32582
s
1
0
nil
0
1
tail
1
0
mark
1
1
14459
incr
1
0
proper
1
0
nats
0
35712
active
1
1
14460
head
1
1
0
cons
2
1
2
55803
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
proper
s
X
s
proper
X
false
proper
tail
X
tail
proper
X
false
tail
mark
X
tail
X
tail
ok
X
tail
X
true
adx
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
1
zeros
0
1
tail
1
1
1
proper
1
2
ok
1
1
1
0
0
1
s
1
0
nil
0
1
tail
1
1
0
mark
1
1
1
incr
1
0
proper
1
0
nats
0
1
active
1
1
2
head
1
1
0
cons
2
1
2
1
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
proper
adx
X
adx
proper
X
false
adx
mark
X
adx
X
adx
ok
X
adx
X
true
adx
1
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
1
zeros
0
1
tail
1
1
1
proper
1
2
ok
1
1
1
0
0
1
s
1
0
nil
0
1
tail
1
0
mark
1
1
1
incr
1
0
proper
1
0
nats
0
1
active
1
1
2
head
1
1
0
cons
2
1
2
1
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
proper
incr
X
incr
proper
X
false
incr
ok
X
incr
X
incr
mark
X
incr
X
true
adx
1
0
incr
1
1
26205
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
11842
zeros
0
1
tail
1
1
8855
proper
1
2
ok
1
1
1
0
0
1
s
1
0
nil
0
1
tail
1
0
mark
1
1
1
incr
1
1
0
proper
1
0
nats
0
1
active
1
1
42699
head
1
1
0
cons
2
1
2
42698
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
active
incr
cons
X
L
s
X
false
s
mark
X
s
X
s
ok
X
s
X
true
adx
1
0
incr
1
1
1
cons
2
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
1
zeros
0
1
tail
1
1
1
proper
1
2
ok
1
1
1
0
0
1
s
1
1
0
nil
0
1
tail
1
0
mark
1
1
1
incr
1
0
proper
1
0
nats
0
1
active
1
1
2
head
1
1
0
cons
2
1
2
1
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
proper
cons
X1
X2
cons
proper
X1
proper
X2
false
cons
mark
X1
X2
cons
X1
X2
cons
ok
X1
ok
X2
cons
X1
X2
true
adx
1
0
incr
1
1
1
cons
2
1
0
s
1
1
1
top
1
0
top
1
0
head
1
0
adx
1
1
1
zeros
0
29430
tail
1
1
1
proper
1
29431
ok
1
1
1
0
0
1
s
1
0
nil
0
1
tail
1
0
mark
1
1
1
incr
1
0
proper
1
0
nats
0
29430
active
1
1
2
head
1
1
0
cons
2
1
2
1
active
1
0
adx
mark
X
mark
adx
X
incr
mark
X
mark
incr
X
active
tail
cons
X
L
mark
L
active
incr
nil
mark
nil
active
adx
nil
mark
nil
tail
ok
X
ok
tail
X
proper
nats
ok
nats
head
mark
X
mark
head
X
s
mark
X
mark
s
X
proper
zeros
ok
zeros
adx
ok
X
ok
adx
X
proper
nil
ok
nil
proper
0
ok
0
active
nats
mark
adx
zeros
s
ok
X
ok
s
X
active
head
cons
X
L
mark
X
tail
mark
X
mark
tail
X
incr
ok
X
ok
incr
X
head
ok
X
ok
head
X
NaTT
certifiable-1.6