program vtoraya;


{--- Konstanti ---}
{ Razmer matrici - 4x4 }
const N = 3;
      M = 4;


{--- Peremennie ---}
var
 {
  deystvitelnaya (tipa real)
  kvadratnaya (ot 1 do N elementov po shirine, ot 1 do N po visote)
  matrica (array ili 4to odno i to je, 2x merniy massiv)
 }
 matrix : array [1..N, 1..N] of real;
 help : real; { vspomogatelnaya peremennaya }
 max : real; { buduwee maksimalnoe znachenie v matrice }
 max_i, max_j : integer; { pozicia max v matrice }


 { peremennaya, neobhodimie dla raboti s faylami }
 f : text; { vhodnoy i vihodnoy fayl }

 { vremennie peremennie, nujni dla ciklov }
 i, j, k : integer;





{--- Osnovnaya procedura, sochetaet v sebe perestanovku stolbcov
 --- i strok. Esli p = 0, to menautsa mestami stroki n1 i n2,
 --- Esli p = 1, to perestavlautsa stolbci n1 i n2.
}
procedure Preobrazovanie(n1, n2, p : integer);
begin

 {--- Perestanovka strok ---}
 if (p = 0) then
 BEGIN
      for i:= 1 to N do
       begin
           { Perestanovka odnoy ya4eyki matrici v druguju }
           help := matrix[i][n1];
           matrix[i][n1] := matrix[i][n2];
           matrix[i][n2] := help;
       end;

 END
 ELSE  { Inache, esli p ne ravno 0 }


 {--- Perestanovka stolbcov ---}
 if (p = 1) then
 BEGIN
      for j:= 1 to N do
       begin
           { Perestanovka odnoy ya4eyki matrici v druguju }
           help := matrix[n1][j];
           matrix[n1][j] := matrix[n2][j];
           matrix[n2][j] := help;
       end;
 END;
end;





{----------------------- Glavnaya 4ast prorammi -------------------------}
BEGIN


{----------------- Schitivanie matrici iz fayla  vhod.txt  --------------}

assign (vhod, 'vhod.txt'); { Ukazivaem, kakoy fayl xotim otkrivat }
reset (vhod); { Otkrivaem fayl dlya 4teniya  'vhod.txt' }

  { Cikl - ot 1 do N, j powagovo primet vse zna4enia ot 1 do N }
  { Blagodara etomu ciklu mi menaem samu stroku,
    opeskayas vniz na odnu stro4ku s kajdim wagom etogo cikla  }
  for j:=1 to N do
  begin { dalee idut deystvia v cikle po peremennoy j }

      { Cikl - ot 1 do N, i powagovo primet vse zna4enia ot 1 do N }
      { Blagodara etomu ciklu mi dvijemsa vdol' po stroke v fayle vhod.txt }
      for i:=1 to N do
      begin
        read(vhod, matrix[i][j]); { Schitivaem odno 4islo iz stroki fayla }
      end;

   readln(vhod); { Opuskaemsa vniz na stroku }
 end;

{- Zakrivaem fayl -}
close (vhod);



{------------------- OSNOVNAYA 4AST PROGRAMMI ------------------------}

        { Wag 1. Nayti naibolshiy po modulu element v matrice matrix }


        {  sqrt(matrix[i][j]*matrix[i][j]) - eto vichislenie modula
           1. i * i   -  vozvedenie v kvadrat
           2. sqrt ( i*i ) - izvlechenia korna iz i v kvadrate.
           Sut' v tom, 4to koren iz kvadrata - i est modul'.
         }
        max := sqrt(matrix[i][j]*matrix[i][j]); { iniciliziruem peremennuju max }

        for j:=1 to N do
           for i:=1 to N do
              if (max < sqrt(matrix[i][j]*matrix[i][j]) ) then
              begin
                max := sqrt(matrix[i][j]*matrix[i][j]);
                max_i := i;   { zapominaem poziciu max po X v matrice }
                max_j := j;   { zapominaem poziciu max po Y v matrice }
              end;



        { Wag 2. Perestavit mestami sna4ala stolbci, potom stroki }
        Preobrazovanie (1, max_i, 1);  { Delaem perestanovku stolbcov }
        Preobrazovanie (1, max_j, 0);  { Delaem perestanovku strok }



{------------------- Zapis' matrici v fayl res.txt ---------------------}
{ Zdes vse v to4nosti kak i 4tenie iz fayl
  lish s nekotorimi izmeneniami
}
assign (result, 'res.txt');
rewrite (result); { Sozdaem noviy fayl }

  for j:=1 to N do
  begin

     for i:=1 to N do
      begin
        { Pishem 4islo iz matrici v fayl
          matrix[i][j]:10:2  -  takaya zapis nujna 4tobi 4isla
          v fayle krasivo bili zapisani.
        }
        write(result, matrix[i][j]:10:2);
      end;

   writeln(result); { Perehodim na novuju stroku }
 end;

{- Zakrivaem fayl -}
close (result);


END.