recursion exo 20