this is the start of the "explicit" exit; when the stack is empty, the original call to towers is complete; otherwise the return point must be determined

two: if(!empty(&s))