You must understand recursion.