Notice that the function uses LOCAL values for all of the variables named in its definition, and GLOBAL values for all other variables. When the function evaluates A+B+Z, it uses the value 2 (passed in) for A, 3 (passed in as the value of Y) for B, and 20 (the global value) for Z. So when we return, A (our output variable in line 3) is 2+3+20=25.