more programs using recursion