Try to determine what one call to the arc block does. That's the first step in trying to figure out how this program works.