uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of byte;
n,i,j,k:byte;
begin
clrscr;
repeat
write('Размер матрицы A, четное число до ',nmax,' n=');
readln(n);
until n in [2..nmax];
k:=n div 2;
writeln('Матрица A:');
for i:=1 to n do
begin
for j:=1 to n do
begin
if(i in [1..k])and(j in [1..k])then a[i,j]:=1
else if(i in[1..k])and(j in[k..n])then a[i,j]:=2
else if(i in[k..n])and(j in[1..k])then a[i,j]:=3
else if(i in[k..n])and(j in[k..n])then a[i,j]:=4;
write(a[i,j]:4);
end;
writeln;
end;
readln
end.