program Chislo;
var Number,Sum,Digits,Product:longint;

{Считывание числа}
procedure input(var Number:longint);
begin
  writeln('Input Number');
  readln(Number);
end;

{Вычисление количества цифр}
function calDigits(Number:longint):longint;
begin
  Digits:=0;
  repeat
    while Number <> 0 do
    begin
      Number:=(Number div 10);
      Inc(Digits);
      calDigits:=Digits;
    end;
  until Number = 0;
  if Number = 0 then calDigits:=1;
end;

{Вычисление суммы цифр}
function calSum(Number:longint):longint;
begin
  Sum:=0;
  repeat
    while Number <> 0 do
    begin
      Number:=(Number mod 10);
      Sum:=Number + Sum;
      calSum:=Sum;
    end;
  until Number = 0;
  if Number = 0 then calSum:=0;
end;

{Произведение цифр}
function calProduct(Number:longint):longint;
begin
   Product:=1;
  repeat
    while Number <> 0 do begin
      Number:=(Number mod 10);
      Product:=Number * Product;
      calProduct:=Product;
    end;
  until Number = 0;
  if Number = 0 then calProduct:=0;
end;

{Вывод данных}
procedure output(Number,Digits,Sum,Product:longint);
begin
  writeln('NUMBER: ',Number);
  writeln('DIGITS: ',Digits);
  writeln('SUM: ', Sum);
  writeln('PRODUCT: ',Product);
end;

begin
  input(Number);
  Digits:=calDigits(Number);
  Sum:=calSum(Number);
  Product:=calProduct(Number);
  output(Number,Digits,Sum,Product);
end.                                                           