procedure mwrite(f: string; var m: matrix);
var
  i,j: integer;
  t: text;
begin { mwrite }
  write('(mwrite ',trim(f)); flush(output);
  rewrite(t,f);
  writeln(t,lmax);
  for i:=0 to lmax do for j:=0 to lmax do with m[i,j] do begin
    writeln(t,rst(l));
    writeln(t,rst(u));
  end;
  flush(t);
  write(')'); flush(output);
end { mwrite };

