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