program idomi_seka;
  { 88 u‘davinys }
{----------------------------------------------------------}
  type skaitmuo = 0..9;

  function sekos_skaitmuo (k : integer) : skaitmuo;
    var nat,      { nat–rali—j— skai‡i— sekos nariai }
        kv,       { j— kvadratai }
        kiek,     { kiek skaitmen— yra skai‡iuje }
        i, m : integer;
    function skait_sk (n : integer) : integer;
      { randa n skaitmen— skai‡i— }
      var s : integer;
    begin
      s := 0;
      repeat
        s := s + 1;
        n := n div 10;
      until n = 0;
      skait_sk := s;
    end;
  begin
    nat := 1;  { pradedame nuo pirmojo nat–raliojo skai‡iaus }
    kiek := 1; kv := 1;
    while kiek < k do  { iežkome kvadrato, kuriame b–t— }
      begin                { reikalingas skaitmuo }
        k := k - kiek;
        nat := nat + 1;
        kv := nat * nat;
        kiek := skait_sk (kv);
      end;
    { rastame kvadrate iežkosime reikalingo skaitmens }
    m := kiek - k + 1; { tai bus m-tasis nuo skai‡iaus galo skaitmuo }
    for i := 1 to m - 1 do
        kv := kv div 10;
    sekos_skaitmuo := kv mod 10
  end;
{----------------------------------------------------------}
  var k : integer;
begin
  write ('­veskite skai‡i— k: ');
  readln (k);
  writeln (sekos_skaitmuo (k));
end.
