Consider using recursion.