объясните последовательно как работает программа в паскале, очень и срочно надо
var a, b, asum, bsum: integer;
function DigitSum(x: integer): integer;
var sum: integer;
begin
sum:=0;
while x <> 0 do
begin
sum := sum + x mod 10;
x := x div 10;
end;
result := sum;
end;
begin
write('Введите число a: ');read(a);
write('Введите число b: ');read(b);
if DigitSum(a) > DigitSum(b) then writeln('Сумма цифр числа ', a, ' больше суммы цифр числа ', b)
else writeln('Сумма цифр числа ', b, ' больше суммы цифр числа ', a);
end.