Click here for an explanation of recursion.
Click here for fun and profit.