﻿const
  lmax = 100;

type
  mass = array [1..lmax] of integer;
  matr = array[1..lmax, 1..lmax] of integer;

var
  A: matr;
  B: mass;
  i, j, n, m, k, l, max: integer;

begin
  repeat
    writeln('Введите количество строк и столбцов матрицы n и m');
    readln(n, m);
  until (n > 0) and (m > 0);
  repeat
    writeln('Введите колличество элементов массива k');
    readln(k);
  until k > 0;
  for i := 1 to n do
    for j := 1 to m do 
    begin
      write('A[', i, ',', j, ']:=');
      readln(A[i, j])
    end;
  for i := 1 to k do 
  begin
    write('B[', i, ']:=');
    readln(B[k]);
  end;
  max := B[1];
  for j := 2 to k do if B[j] > max then max := B[j];
  
  i := 1;
  while i <= n do
  begin
    for j := 1 to m do 
      if A[i, j] = Max then
      begin
        for k := i to n - 1 do
          for l := 1 to m do
            A[k, l] := A[k + 1, l];
        n := n - 1;
        i := i - 1;
        break
      end;
    i := i + 1;
  end;
  
  writeln('Новая матрица: ');
  for i := 1 to n do 
  begin
    for j := 1 to m do
      write(a[i, j], ' ');
    writeln;
  end;
end. 