a a a a a a a a a s s s s s s s s s i i i ii i i i i i f f f f f f f f f f f f d d d d d e e e e e e e f f f f