when `age` is reassigned, the old value isn't "changed"; the name `age` is pointed to a new integer object. This is why `age` reflects the latest input each time the condition is checked.