program Paskalio_kalbos_skaicius;
  { 36 u‘davinys }
   type atsakymas = record
                      sveikas,                { sveikasis skai‡ius }
                      realus,                 { realusis skai‡ius }
                      ne_skaicius: boolean    { ne Paskalio skai‡ius }
                    end;
    { ‘emiau ižvardinti globalieji kintamieji }
    var eil: string;
        tipas: atsakymas;
        reali: real;         { realaus skai‡iaus reikžm‚ }
        sveika,             { sveikojo skai‡iaus reikžm‚ }
        ilgis, i: integer;   { eilut‚s ilgis ir indeksas }

  procedure tarpai;
  { praleid‘iami tarpai eilut‚s prad‘ioje ir gale }
     var j: integer;
  begin
     ilgis := length (eil);
     i := 1; { praleid‘iame priež esan‡ius tarpus }
     while (eil[i] = ' ') and (i < ilgis) do
       i := i + 1;  { i rodo pirm… ne tarpo simbol }
     j := ilgis;
     while (eil[j] = ' ') and (j > 1) do
       j := j - 1;  { ižmetame tarpus skai‡iaus gale }
     ilgis := j  { eilut‚s ilgis atmetus tarpus gale }
  end; { tarpai }

  procedure skaitmenu_seka;
  { eilut‚je praleid‘iama ižtisin‚ skaitmen— seka }
  begin
    if eil[i] in ['0'.. '9']
      then { turi b–ti bent vienas skaitmuo }
         while (eil[i] in ['0'..'9']) do
            i := i + 1  { i rodys  pirm… ne skaitmen }
      else i := 0  { skaitmen— seka tuž‡ia }
  end; { skaitmenu_seka }

  procedure laipsnio_rodiklis;
  begin
    if eil[i] in [ '-', '+'] then i := i + 1;
    skaitmenu_seka
  end;

  function sv_reiksme: integer;
  { skai‡iuojama Paskalio skai‡iaus reikžm‚ }
  { eilut‚s eil dal nuo i-tojo elemento paver‡ia sveikuoju skai‡iumi }
    var rez: integer;
        neig: boolean;
  begin
    rez := 0;
    neig := eil[i] = '-';
    if eil[i] in ['-', '+']
       then i := i + 1;
    while eil[i] in ['0'.. '9'] do
      begin
        rez := rez * 10 + ord (eil[i]) - ord ('0');
        i := i + 1
      end;
    if neig then rez := rez * (-1);
    sv_reiksme := rez
  end;

  procedure rezultatas;
  { apskai‡iuoja skai‡iaus reikžmŠ }
    var daug: real;  { realiojo skai‡iaus daugiklis }
        laip: string;
        laipsnis, j: integer;
  begin
    { praleisime tarpus prad‘ioje }
    i := 1;
    while eil[i] = ' ' do
      i := i + 1;
    if tipas.sveikas { sveikojo skai‡iaus reikžm‚ }
       then sveika := sv_reiksme
       else begin   { realiojo skai‡iaus reikžm‚ }
              reali := sv_reiksme;
              if eil[i] = '.' then   { prijungiame skaitmenis po kablelio }
                begin
                  i := i + 1;
                  daug := 1;
                  while eil[i] in ['0'..'9'] do
                    begin
                      daug := daug/10;
                      reali := reali + (ord(eil[i]) - ord ('0')) * daug;
                      i := i + 1
                    end
                end;
              if eil[i] in ['e', 'E'] { dauginame iž 10 laipsnio }
                 then begin
                        i := i + 1;
                        laip := copy (eil, i, ilgis-i-1);
                        laipsnis := sv_reiksme;
                        for j := 1 to abs (laipsnis) do
                          if laipsnis < 0
                             then reali := reali / 10
                             else reali := reali * 10
                      end
            end
  end; { rezultatas }

  procedure skaicius;
  begin  { skai‡ius }
     tarpai; { praleid‘iami tarpai iž abiej— eilut‚s pusi— }
     eil := eil + '='; { ižvengsime tikrinimo, ar nepasibaig‚ eilut‚ }
     ilgis := ilgis + 1;
     if (eil[i] = '-') or (eil[i] = '+') then i := i + 1;
     { ar tai sveikasis skai‡ius? }
          skaitmenu_seka;
          tipas.sveikas := i = ilgis;
          tipas.ne_skaicius := not tipas.sveikas;
          { jei pasiek‚me eilut‚s gal…, }
          { vadinasi, tai b–ta sveikojo skai‡iaus }
          { jei ne - ... }

     { gal tai realusis skai‡ius? }
          if not tipas.sveikas and (eil[i] in ['.', 'E', 'e'])
            then begin
                   if eil[i] = '.'
                     then begin i := i + 1;
                                skaitmenu_seka
                          end;
                   if (eil[i] = 'E') or (eil[i] = 'e')
                     then begin i := i + 1;
                                laipsnio_rodiklis
                          end;
                   tipas.realus := i = ilgis;
                   tipas.ne_skaicius := not tipas.realus
                 end;
     if not tipas.ne_skaicius then rezultatas
  end; { skaicius }

begin
   read (eil);
   skaicius;
   if tipas.ne_skaicius
      then writeln ('NE PASKALIO SKAI€IUS')
      else if tipas.sveikas
              then begin
                     write ('SVEIKASIS ');
                     writeln (sveika);
                   end
              else begin
                     write ('REALUSIS ');
                     writeln (reali)
                   end;
end.