you don't HAVE TO use only a recursion function, you have to use AT LEAST ONE recursion function. From my point of view, since the recursion isn't that much efficient and since this homework doesn't require many def, I would suggest you to use the recursion only one time (better if you can recognize which is the smallest part in your program and you are able to apply the recursion there). It's up to you now