Помогите, пожалуйста, найти ошибку в программе. Наименьшее число вычисляется верно, наибольшее нет.
var a,b,c,d,min1,min2,lit,l,max1,max2,big,m:real;
procedure minmax(x1,x2:real; var min,max:real);
begin
if x1>x2 then
begin max:=x1; min:=x2 end
else
begin max:=x2; min:=x1 end
end;
begin
writeln('введите первое число'); readln(a);
writeln('введите второе число'); readln(b);
writeln('введите третье число'); readln(c);
writeln('введите четвертое число'); readln(d);
minmax(a,b,min1,max1);
minmax(c,d,min2,max2);
minmax(min1,min2,lit,l);
minmax(max1,max2,big,m);
writeln ('минимальное число - ',lit);
writeln ('максимальное число - ',big);
end.