program safe_multiply;
var
a, b: longint;
ok1, ok2: boolean;
function ReadLongint(var ok: boolean): longint;
var
s: string;
i: integer;
num: longint;
is_valid: boolean;
ch: char;
begin
readln(s);
ok := false;
is_valid := true;
num := 0;
if Length(s) = 0 then
is_valid := false
else
begin
for i := 1 to Length(s) do
begin
ch := s[i];
if (ch < '0') or (ch > '9') then
begin
if (i = 1) and (ch = '-') then
else
is_valid := false;
end;
end;
end;
if not is_valid then
Exit;
num := 0;
for i := 1 to Length(s) do
begin
if s[i] = '-' then
Continue;
num := num * 10 + (Ord(s[i]) - Ord('0'));
end;
if s[1] = '-' then
num := -num;
ok := true;
ReadLongint := num;
end;
begin
repeat
write('Введите первое число: ');
a := ReadLongint(ok1);
if not ok1 then
writeln('Ошибка! Нужно ввести целое число. Попробуйте снова.');
until ok1;
repeat
write('Введите второе число: ');
b := ReadLongint(ok2);
if not ok2 then
writeln('Ошибка! Нужно ввести целое число. Попробуйте снова.');
until ok2;
writeln('Результат умножения: ', a * b);
end.