program PascalGuru;
uses crt;
type matr=array[1..100,1..100] of integer;
var A:matr;
n:integer;
{--------------------------------------------}
function simple(x:integer):boolean; {proverka chisla na "prostotu"}
label 1;
var i:longint;
result: boolean;
begin
if (x=1) or (x=0) then begin result:=false; goto 1; end;
for i:=2 to x div 2 do
if x mod i=0 then begin
result:=false; goto 1; end;
result:=true;
1:simple:=result;
end;
{--------------------------------------------}
procedure read_m(var X:matr; n:integer); {schityvaem matritsu}
var i,j:integer;
begin
writeln ('Vvedite elementy massiva: ');
for i:=1 to n do
for j:=1 to n do begin
write ('[',i,',',j,']='); readln (X[i,j]); end;
end;
{--------------------------------------------}
procedure write_m(X:matr; n:integer); {vyvodim matritsu}
var i,j:integer;
begin
for i:=1 to n do begin writeln;
for j:=1 to n do write (X[i,j]:4,' '); end;
end;
{--------------------------------------------}
function max(X:matr; n:integer):integer; {vozvraschaet MAX}
var i,j,rez:integer;
begin
rez:=X[1,1];
for i:=1 to n do
for j:=1 to n do
if X[i,j]>rez then rez:=X[i,j];
max:=rez;
end;
{--------------------------------------------}
function min(X:matr; n:integer):integer; {vozvraschaet MIN}
var i,j,rez:integer;
begin
rez:=X[1,1];
for i:=1 to n do
for j:=1 to n do
if X[i,j]then rez:=X[i,j];
min:=rez;
end;
{--------------------------------------------}
procedure exchange(var a,b:integer); {protsedura obmena}
var c:integer;
begin
c:=a; a:=b; b:=c; end;
{--------------------------------------------}
procedure sort_m(var X:matr; n:integer); {sortiruet stroki s otritsatelinymi el-mi}
var i,j,nn:integer;
swop:boolean;
begin
for i:=1 to n do
begin
swop:=false;
for j:=1 to n do
if X[i,j]<0 then swop:=true;
if not swop then continue;
nn:=n;
repeat
swop:=false;
for j:=1 to nn-1 do
if x[i,j]>x[i,j+1] then begin {//esli "<" togda po ubivaniiu }
exchange(x[i,j],x[i,j+1]); swop:=true; end;
dec(nn);
until not swop;
end;
end;
{--------------------------------------------}
begin
write('N= '); readln (n);
read_m(A,n);
clrscr;
write ('Vot vvedennyi vami massiv A: ');
write_m(A,n);
writeln;writeln;
if not simple( max(A,n)+min(A,n) ) then
begin writeln('Uslovie s summoi ne soblyudeno...'); readln;halt;end;
sort_m(A,n);
write ('Vot obnovlennyi massiv A: ');
write_m(A,n);
readln;
end.