#tests multidimensional array - passing them by reference into functions
#should output 000012024

module main;

const n:int = 3;
var arrArrI : array[n] of array[n] of int;
var i:int;
var j:int;

procedure foo(var arrArrI: array[n] of array[n] of int);
var arrArrI2 : array[n] of array[n] of int;
var i:int;
var j:int;

begin
  for i := 0 to n-1 do
    for j:= 0 to n-1 do
      arrArrI[i][j] := i*j;
      arrArrI2[i][j] := arrArrI[i][j];
    end;
  end;
end foo;

begin
  foo(arrArrI);
  for i := 0 to n-1 do
    for j:= 0 to n-1 do
	output := arrArrI[i][j];
    end;
  end;    

end main.