program Kurs1;
uses crt;
type Mat=array[1..50,1..50] of integer;
var A,B,C:Mat;
    x,y,z:integer;
    i,j:integer;
    m,n:integer;

procedure F(var D:Mat;R:integer);
 begin
  for i:=1 to R do
   for j:=1 to R do
    D[i,j]:=random(50);
 end;

procedure G(D:Mat;R:integer);
 begin
  for i:=1 to R do
   begin
    for j:=1 to R do
     write(D[i,j]:5);
    writeln;
   end;
 end;

function H(D:Mat;R:integer):integer;
 var S:integer;
 begin
 S:=0;
  for i:=1 to R do
   for j:=1 to R do begin
    if i+j-1=R then S:=S+D[i,j];
   end;
   H:=S;
 end;

function Min(x,y:integer):integer;
 begin
  if x>y then Min:=y else Min:=x
 end;

begin
 clrscr;
 randomize;
 writeln('m=');
 readln(m);
 writeln('n=');
 readln(n);

 writeln;

 F(A,m);
 F(B,n);
 F(C,m);

 writeln('Matrica A');
 G(A,m);
 writeln;

 writeln('Matrica B');
 G(B,n);
 writeln;

 writeln('Matrica C');
 G(C,m);
 writeln;

 x:=H(A,m);
 y:=H(B,n);
 z:=H(C,m);

 writeln('x= ',x,'  ','y= ',y,'  ','z= ',z);

 writeln;

 writeln('min= ',Min(Min(x,y),z));
 readln;

end.