program skaitmuo_sekoje;
  { 121 u‘davinys }

   function kiek_skaitm (n : integer) : integer;
   { kiek skaitmen— turi skai‡ius n }
      var kiek : integer;
   begin
     kiek := 0;
     while n <> 0 do
       begin
           kiek := kiek + 1;
           n := n div 10
       end;
      kiek_skaitm := kiek
    end;

   function skaitmuo (n, i : integer) : integer;
   { tiriamas sekos narys n, kuriame turi b–ti ie˛komas skaitmuo }
   begin
     i := i - 1;
     while i <> 0 do
       begin
         n := n div 10;
         i := i - 1
       end;
     skaitmuo := n mod 10
   end;

   function fib (k : integer) : integer;
     { randa k-t…j¨ Fibona‡io skai‡i— sekos skaitmen¨ }
     var buvo, { kiek skaitmen— i˛tirta }
         narys1, narys2, n, { Fibona‡io sekos nariai }
         sktm : integer; { Fibona‡io sekos nario skaitmen— skai‡ius }
   begin
     buvo := 0;   { kiek skaitmen— buvo i˛tirta }
     narys1 := 1;  { pirmasis Fibona‡io sekos narys }
     narys2 := 1;  { antrasis Fibona‡io sekos narys }
     while buvo < k do
       begin
         n := narys1; { imame nei˛tirt… Fibona‡io sekos nar¨ }
         sktm := kiek_skaitm (n); { su‘inome, kiek jis turi skaitmen— }
         buvo := buvo + sktm;
         narys1 := narys2;
         narys2 := n + narys2; { randame tolesn¨ sekos nar¨ }
       end;
     { ie˛komas skaitmuo yra nario n  buvo-k+1-asis skaitmuo }
     { surandame j¨ }
     fib :=  skaitmuo (n, buvo - k + 1)
   end;
{----------------------------------------------------------}
  var k,           { pradinis duomuo }
      sktm : integer;
begin
  write ('Kelint… sekos skaitmen¨ reikia rasti?  ');
  readln (k);
  sktm := fib (k);
  writeln (k, '-tasis sekos skaitmuo yra ',  sktm)
end.


