Consider the following block. Assume call-by-value parameter passing.
int x;
int y;
int z;
x := 2;
y := 4;

int f(int y)
return x * y

int y;
y := 10;

int g(int x)
return f(y)

int y;
y := 12;
z := g(3);

a. Draw the runtime stack after each line executes under static scoping.

What value is assigned to z in line 12?