program teorema6174;

   type Ttvarka = (didejimo, mazejimo);

   procedure min (var x, y: integer);
   { x <= y }
     var laik: integer;
   begin
     if x > y
        then begin
               laik := x; x := y; y := laik;
             end;
   end; { min }

   procedure rikiuoti (var s1, s2, s3, s4: integer);
   { surikiuoja keturis skai‡ius ma‘‚jimo tvarka }
   begin
     min(s4, s2); min (s3, s1); min (s4, s3); { s4 - ma‘iausias skaitmuo }
     min(s2, s1); { s1 - did‘iausias skaitmuo }
     min(s3, s2);
   end; { mazejimo }

   function pertvarka (kaip: Ttvarka; n: integer): integer;
   { pertvarko ketur‘enklŤ skai‡i— n taip, kad jo skaitmenys b–t—
     surikiuoti ma‘‚jimo tvarka }
     var s1, s2, s3, s4: integer;
   begin
     { skai‡ius ižskaidomas skaitmenimis }
     s1 := n div 1000; s2 := n div 10 mod 10;
     s3 := n div 100 mod 10; s4 := n mod 10;
     rikiuoti (s1, s2, s3, s4);
     if kaip = mazejimo
        then pertvarka := s1*1000 +s2*100 + s3*10 +s4
        else pertvarka := s4*1000 +s3*100 + s2*10 +s1
   end; { pertvarka }

  function numeris (n: integer): integer;
    var num: integer;
  begin
    num := 1;
    while n <> 6174 do
      begin
        n := pertvarka(mazejimo, n) - pertvarka(didejimo, n);
        num := num + 1;
      end;
   numeris := num;
  end; { numeris }

  var n: integer;
begin
  readln (n);
  writeln (numeris(n));
end.