Program matritza;
const
n = 4;
var
i, j: integer;
a: array [1 .. 2 * n, 1 .. 2 * n] of integer;
p: integer;
begin
// ввод
for i := 1 to 2 * n do
begin
for j := 1 to 2 * n do
begin
read(a[i, j]);
write(' ');
end;
writeln;
end;
// изменения блоков
for i := 1 to n do
for j := i to n do
begin
// блок 1
p := a[j, i];
a[j, i] := a[i, j];
a[i, j] := p;
// блок 2
p := a[j + n, i];
a[j + n, i] := a[i + n, j];
a[i + n, j] := p;
// блок 3
p := a[j, i + n];
a[j, i + n] := a[i, j + n];
a[i, j + n] := p;
// блок 4
p := a[j + n, i + n];
a[j + n, i + n] := a[i + n, j + n];
a[i + n, j + n] := p;
end;
// вывод
for i := 1 to 2 * n do
begin
for j := 1 to 2 * n do
write(a[i, j], ' ');
writeln;
end;
end.