With recursion, we need only two rules:
Second rule is recursive: reach appears in its own definition.
reach