Simple Recursive Algorithm