f
g
x
g
g
f
x
g
s
x
s
s
g
x
s
x
h
0
x
s
x
h
x
0
f
0
0
s
s
s
0
f
s
0
f
s
0
s
0
h
f
x
g
x
f
s
x
g
x
h
h
h
h
x
x
x
x
x
f
s
s
x
h
f
x
g
h
x
x
s
0
r
0
s
s
s
0
r
s
0
r
s
0
s
0
g
x
r
x
s
0
p
0
s
s
0
p
s
0
p
s
0
0
s
s
s
s
s
0
p
s
s
0
p
s
s
0
s
s
s
0
h
p
x
g
x
p
s
x
s
0
k
0
s
s
p
p
a
s
k
p
a
s
k
p
a
p
p
a
g
x
k
x
a
0
s
h
r
k
p
x
r
x
h
r
r
p
x
k
x
2.2
g
s
x
s
g
x
h
f
x
g
x
f
s
x
g
x
h
h
h
x
x
x
x
h
p
x
g
x
p
s
x
s
0
r
0
s
s
s
0
r
s
0
s
s
0
p
s
0
s
h
r
k
p
x
r
x
r
p
x
g
x
r
x
s
0
p
0
h
p
x
g
x
s
x
h
f
x
g
x
s
x
s
x
h
0
x
p
s
s
0
s
s
s
0
g
x
h
h
x
x
x
s
k
p
a
p
p
a
s
s
s
s
s
0
p
s
s
0
g
x
h
h
h
h
x
x
x
x
x
f
g
x
f
x
s
h
r
k
p
x
r
x
r
r
p
x
f
g
x
g
f
x
f
s
s
x
g
h
x
x
s
x
h
x
0
s
s
p
p
a
s
k
p
a
f
g
x
g
g
f
x
s
h
r
k
p
x
r
x
h
r
r
p
x
k
x
f
s
s
x
f
x
g
s
x
g
x
g
s
x
s
s
g
x
g
x
h
x
x
f
s
s
x
h
f
x
g
h
x
x
s
s
s
0
f
s
0
f
s
s
x
h
x
x
true
f
s
s
x
h
x
x
s
s
s
0
f
s
0
h
f
x
g
x
s
x
h
p
x
g
x
s
x
f
s
s
x
h
f
x
g
h
x
x
g
x
h
x
x
g
s
x
s
s
g
x
g
s
x
g
x
s
s
0
p
s
0
f
s
s
x
f
x
f
g
x
g
g
f
x
h
p
x
g
x
p
s
x
s
s
p
p
a
s
k
p
a
f
s
s
x
g
h
x
x
g
x
h
h
h
x
x
x
x
f
g
x
g
f
x
f
g
x
f
x
g
x
h
h
h
h
x
x
x
x
x
s
s
s
s
s
0
p
s
s
0
s
k
p
a
p
p
a
g
x
h
h
x
x
x
h
f
x
g
x
f
s
x
g
s
x
s
g
x
p
s
s
0
s
s
s
0
true
h
2
2
a
0
1
s
1
2
r
1
2
k
1
1
p
1
1
0
f
1
1
0
p
1
1
0
0
0
1
h
2
2
s
1
2
f
1
2
g
1
2
r
1
0
a
0
0
g
1
32287
p
s
s
0
s
s
s
0
g
s
x
s
g
x
h
f
x
g
x
f
s
x
g
x
h
h
x
x
x
s
s
s
s
s
0
p
s
s
0
g
x
h
h
h
h
x
x
x
x
x
f
g
x
f
x
f
g
x
g
f
x
g
x
h
h
h
x
x
x
x
f
s
s
x
g
h
x
x
s
s
p
p
a
s
k
p
a
h
p
x
g
x
p
s
x
f
g
x
g
g
f
x
f
s
s
x
f
x
s
s
0
p
s
0
g
s
x
g
x
g
s
x
s
s
g
x
g
x
h
x
x
f
s
s
x
h
f
x
g
h
x
x
h
p
x
g
x
s
x
h
f
x
g
x
s
x
s
s
s
0
f
s
0
f
s
s
x
h
x
x
s
s
s
s
s
0
p
s
s
0
s
x
h
x
0
s
0
p
0
h
f
x
g
x
f
s
x
f
g
x
g
g
f
x
s
x
h
0
x
s
s
0
p
s
0
s
0
k
0
s
h
r
k
p
x
r
x
h
r
r
p
x
k
x
p
s
s
0
s
s
s
0
p
s
0
0
s
s
p
p
a
s
k
p
a
f
0
0
f
s
s
x
h
f
x
g
h
x
x
f
s
0
s
0
h
p
x
g
x
p
s
x
a
0
g
x
r
x
s
s
s
0
r
s
0
s
k
p
a
p
p
a
g
x
k
x
s
0
r
0
g
x
h
h
h
h
x
x
x
x
x
r
s
0
s
0
s
s
s
0
f
s
0
g
s
x
s
s
g
x
s
s
s
s
s
0
p
s
s
0
h
f
x
g
x
s
x
h
f
x
g
x
f
s
x
f
g
x
f
x
f
g
x
g
f
x
f
g
x
g
g
f
x
s
s
0
p
s
0
p
s
s
0
s
s
s
0
f
s
s
x
h
x
x
f
s
s
x
g
h
x
x
f
s
s
x
f
x
f
s
s
x
h
f
x
g
h
x
x
h
p
x
g
x
s
x
h
p
x
g
x
p
s
x
g
x
h
x
x
g
x
h
h
x
x
x
g
x
h
h
h
x
x
x
x
g
x
h
h
h
h
x
x
x
x
x
s
s
s
0
f
s
0
g
s
x
g
x
g
s
x
s
g
x
g
s
x
s
s
g
x
true
2
1
h
2
1
0
0
a
0
1
0
s
1
1
0
0
r
1
0
0
k
1
0
0
p
1
0
2
f
1
1
1
1
1
1
0
0
p
1
0
0
1
1
1
0
0
0
0
0
0
h
2
1
0
0
0
1
0
2
s
1
0
2
f
1
1
0
1
0
1
0
2
g
1
1
0
0
0
1
0
2
r
1
0
0
a
0
0
0
g
1
1
29326
29326
g
s
x
s
s
g
x
g
s
x
s
g
x
g
s
x
g
x
s
s
s
0
f
s
0
g
x
h
h
h
h
x
x
x
x
x
g
x
h
h
h
x
x
x
x
g
x
h
h
x
x
x
g
x
h
x
x
h
p
x
g
x
p
s
x
h
p
x
g
x
s
x
f
s
s
x
h
f
x
g
h
x
x
f
s
s
x
f
x
f
s
s
x
g
h
x
x
f
s
s
x
h
x
x
p
s
s
0
s
s
s
0
s
s
0
p
s
0
h
f
x
g
x
f
s
x
h
f
x
g
x
s
x
s
s
s
s
s
0
p
s
s
0
s
s
s
s
s
0
p
s
s
0
s
x
h
x
0
s
0
p
0
h
f
x
g
x
f
s
x
f
g
x
g
g
f
x
s
x
h
0
x
s
s
0
p
s
0
s
0
k
0
s
h
r
k
p
x
r
x
h
r
r
p
x
k
x
p
s
s
0
s
s
s
0
p
s
0
0
s
s
p
p
a
s
k
p
a
f
0
0
f
s
s
x
h
f
x
g
h
x
x
f
s
0
s
0
h
p
x
g
x
p
s
x
a
0
g
x
r
x
s
s
s
0
r
s
0
s
k
p
a
p
p
a
g
x
k
x
s
0
r
0
g
x
h
h
h
h
x
x
x
x
x
r
s
0
s
0
s
s
s
0
f
s
0
g
s
x
s
s
g
x
s
s
s
s
s
0
p
s
s
0
h
f
x
g
x
s
x
h
f
x
g
x
f
s
x
s
s
0
p
s
0
p
s
s
0
s
s
s
0
f
s
s
x
h
x
x
f
s
s
x
g
h
x
x
f
s
s
x
f
x
f
s
s
x
h
f
x
g
h
x
x
h
p
x
g
x
s
x
h
p
x
g
x
p
s
x
g
x
h
x
x
g
x
h
h
x
x
x
g
x
h
h
h
x
x
x
x
g
x
h
h
h
h
x
x
x
x
x
s
s
s
0
f
s
0
g
s
x
g
x
g
s
x
s
g
x
g
s
x
s
s
g
x
true
2
1
h
2
1
0
0
a
0
1
1
s
1
1
0
0
r
1
0
0
k
1
1
0
0
0
1
0
0
p
1
1
0
0
0
1
100504
2
f
1
1
1
1
1
1
0
0
p
1
1
0
0
0
1
0
0
0
0
0
0
h
2
1
0
1
0
2
0
2
s
1
100504
2
f
1
1
0
1
0
1
100504
2
g
1
1
0
1
0
1
100504
2
r
1
0
0
a
0
0
0
g
1
1
50252
50252
g
s
x
s
s
g
x
g
s
x
s
g
x
g
s
x
g
x
s
s
s
0
f
s
0
h
p
x
g
x
p
s
x
h
p
x
g
x
s
x
f
s
s
x
h
f
x
g
h
x
x
f
s
s
x
f
x
f
s
s
x
g
h
x
x
p
s
s
0
s
s
s
0
s
s
0
p
s
0
h
f
x
g
x
f
s
x
h
f
x
g
x
s
x
s
s
s
s
s
0
p
s
s
0
s
s
s
s
s
0
p
s
s
0
s
x
h
x
0
s
0
p
0
h
f
x
g
x
f
s
x
f
g
x
g
g
f
x
s
x
h
0
x
s
s
0
p
s
0
s
0
k
0
s
h
r
k
p
x
r
x
h
r
r
p
x
k
x
p
s
s
0
s
s
s
0
p
s
0
0
s
s
p
p
a
s
k
p
a
f
0
0
f
s
s
x
h
f
x
g
h
x
x
f
s
0
s
0
h
p
x
g
x
p
s
x
a
0
g
x
r
x
s
s
s
0
r
s
0
s
k
p
a
p
p
a
g
x
k
x
s
0
r
0
g
x
h
h
h
h
x
x
x
x
x
r
s
0
s
0
s
s
s
0
f
s
0
g
s
x
s
s
g
x
s
s
s
s
s
0
p
s
s
0
h
f
x
g
x
s
x
h
f
x
g
x
f
s
x
s
s
0
p
s
0
p
s
s
0
s
s
s
0
f
s
s
x
g
h
x
x
f
s
s
x
f
x
f
s
s
x
h
f
x
g
h
x
x
h
p
x
g
x
s
x
h
p
x
g
x
p
s
x
s
s
s
0
f
s
0
g
s
x
g
x
g
s
x
s
g
x
g
s
x
s
s
g
x
true
Failed!
NaTT
certifiable-1.6