Haskell, 153 bytes
f
[
]=
[
];
f(
x:
l)
=(
:)
x$
f l
--r z
--e i
--p p
--e W
--a i
--t t
-- h
f
[
]=
[
];
f(
x:
l)
=(
:)
x$
f l
--r z
--e i
--p p
--e W
--a i
--t t
-- h