program PascalProgram;
var
a, originalNumber, reversedNumber, digit, sum: Int64;
begin
// Nhập giá trị a
writeln('Nhap a (a <= 10^9): ');
readln(a);
// a) Đếm số chữ số của a
originalNumber := a;
digit := 0;
while a > 0 do
begin
a := a div 10;
digit := digit + 1;
end;
writeln('So chu so cua a: ', digit);
// b) Tính tổng các chữ số của a
a := originalNumber; // Khôi phục giá trị của a
sum := 0;
while a > 0 do
begin
sum := sum + (a mod 10);
a := a div 10;
end;
writeln('Tong cac chu so cua a: ', sum);
// c) Đọc ngược số a
a := originalNumber; // Khôi phục giá trị của a
reversedNumber := 0;
while a > 0 do
begin
digit := a mod 10;
reversedNumber := reversedNumber * 10 + digit;
a := a div 10;
end;
writeln('Nguoc cua so a: ', reversedNumber);
end.