Ошибка в паскле «ошибка времени выполнения: индекс находился вне границ массива»

ошибка в паскле "ошибка времени выполнения: индекс находился вне границ массива"
program mtr;

const
max = 100;

type
mas1 = array [1..max, 1..max] of real;

var
k, p, i, j, b, xi,xj,ni,nj: integer; f: mas1;
max1, min1: real;

begin
writeln('введите количество столбцов и строк матрицы');
readln(k, p);
writeln('введите диапазон значений матрицы');
readln(b);
randomize;
for i := 1 to k do
for j := 1 to p do
f[i, j] := random(b);
for i := 1 to k do
begin
for j := 1 to p do
write(f[i, j]:4);
writeln('');
end;
writeln('');
for i := 1 to k do
begin
for j := 1 to p do
if f[i, j] > max1 then begin max1 := f[i, j]; xi:=i; xj:=j; end;
if f[i, j] < min1 then begin min1 := f[i, j]; ni:=i; nj:=j; end;
end;
f[xi,xj]:=f[k,1];
f[k, 1] := min1;
f[ni,nj]:=f[1,p];
f[1, p] := max1;

for i := 1 to k do
begin
for j := 1 to p do
write(f[i, j]:4);
writeln('');
end;
end.

  • > ошибка в паскле "ошибка времени выполнения: индекс находился вне границ массива"
    При каких входных данных возникает ошибка?
    Если не вводить k, p > 100 то по идее ее быть не должно.
    Инициализируйте перед циклом max1 и min1 значением первого элемента массива, а переменным xi, xj, ni, nj присвойте 1.