worked on c
fd