s
f
c
b
t
c
open
f
e
p
q