Done q1 with recursion