{ Sprendim bei testus pareng Sigita Beruaityt.
  Perskaitome abu vardus bei pavardes ir sujungiame  vien simboli
  eilut, itrindami tarpus (jei j atsiranda sujungiant eilutes),
  visas didisias raides pakeiiame maosiomis.

  Skaitome pirmj eiluts simbol ir iekome likusioje eiluts dalyje
  toki pat raidi, j vietoje raydami nulius. Suskaiiav ias
  raides pereiname prie antrosios eiluts raids ir t. t. kol pasieksime
  eiluts gal. I skaitmen formuojame simboli eilut, nes su ja dirbti
  bus lengviau, nei su dideliu skaiiumi (ilgiausias skaiius gali bti 32
  skaitmen). Tada sudedame eiluts pirmojo ir paskutiniojo, antrojo ir
  priepaskutinio ir t. t. simboli reikmes, skaii vl transformuojame
   simbol ir priraome j prie pradins eiluts galo. Po to pirmuosius
  simbolius itriname ir tai kartojame tol, kol simboli eilut yra ilgesn,
  nei du simboliai. }

program bureja;
   var mazraides, didraides: string;

  procedure eilute (v1, p1, v2, p2: string;
                    var s: string;
                    var ilgis: integer);
     var i : integer;

     procedure keisti (var raide: char);
        var raid: integer;
     begin
        raid := pos (raide, didraides);
        raide := mazraides [raid]
     end;

  begin
    s := v1 + p1 + v2 + p2;
    ilgis := length (s);
    i := 1;
    while i <= ilgis do  { didiosios raids pakeiiamos }
       if s[i] = ' '     { maosiomis ir praleidiami tarpo simboliai }
          then begin
                  delete (s, i, 1);
                  ilgis := ilgis - 1
                end
          else if pos (s[i], didraides) <> 0
            then begin
                    keisti (s[i]);
                    i := i + 1
                 end
            else i := i + 1;
   end; { eilute }

  procedure skaityti (var v1, p1, v2, p2: string);
    var f: text;
  begin
    assign (f, 'bur.dat');
    reset (f);
    readln (f, v1, p1);
    readln (f, v2, p2);
    close (f)
  end;

  function rezultatas (s: string; ilgis: integer): integer;
    var sk1, raide, sk: string;
        i, j, suma, kodas, s1, s2, rez: integer;
  begin
     i := 1;  sk1 := '';
     while i <= ilgis do
        begin  { randame sk1 }
           if s[i] = '0' then i := i + 1
              else begin
                      raide := s[i];
                      s[i] := '0';
                      suma := 1;
                      while pos(raide, s) <> 0 do
                      { skaiiuojame vienodas raides, j vietoje }
                         begin  { raome nul }
                          j := pos(raide, s);
                          if j <> 0
                           then begin
                                  suma := suma + 1;
                                  s[j] := '0'
                                 end;
                        end;
                      i := i + 1;
                      str(suma, sk);
                      sk1 := sk1 + sk { skaitmenis raome kaip }
                    end               { simboli eilut }
        end;
      while length (sk1) > 2 do
        begin
          ilgis := length (sk1);
          for i := 1 to ilgis div 2 do
             begin
               val(sk1[i], s1, kodas);
               val(sk1[ilgis-i+1], s2, kodas);
               suma := s1 + s2;  { sudedame pirmj ir }
               str(suma, sk);    { paskutinj skaitmenis }
               sk1 := sk1 + sk
               { gaut skaitmen priraome prie sk1 galo }
             end;
          if ilgis mod 2 = 1
            then sk1 := sk1 + sk1[ilgis div 2+1];
          delete (sk1, 1, ilgis) { itriname pirmuosius skaiius }
        end;
        val (sk1, rez, kodas);
    rezultatas := rez
  end;

  var v1, v2, p1, p2, s: string;
      ilgis, rez: integer;
begin
   mazraides := 'ertyuioplkjhgfdsamnbvc×zxw';
   didraides := 'ERTYUIOP­¦§LKJHGFDSAMNBVCĒZXW';
   skaityti (v1, p1, v2, p2);
   eilute (v1, p1, v2, p2, s, ilgis);
   rez := rezultatas (s, ilgis);
   writeln (rez)
end.