var  k_n,k_a,k_b,i,j,kr,ks,ss:longint;
q:char;
n,a,b,s,r:array[1..200] of byte;

function max(a,b:longint):longint;
begin
  if a>b then max:=a else max:=b;
end;


procedure sum;
var kb,q,w,ww:longint;
begin
      for i:=kr+1 downto 1 do
      begin
          r[i]:=r[i-1];
      end;
      inc(kr);
      kb:=k_b;
      q:=max(kr,kb);
      
      ss:=q;
      for i:=q downto 1 do
      begin
            if (r[kr]+b[kb]<=9) then r[kr]:=r[kr]+b[kb] else
            begin
                w:=(r[kr]+b[kb])mod 10;
                ww:=(r[kr]+b[kb])div 10;
                r[kr]:=w;
                r[kr-1]:=r[kr-1]+ww;
            end;
            dec(kr);
            dec(kb);
      end;

end;


procedure razn;
var kn,ka,q:longint;
begin
     kn:=k_n;
     ka:=k_a;
     q:=max(k_n,k_a);
     for i:=q downto 1 do
     begin
          if (n[kn]-a[ka]>=0) then
          begin
              r[kn]:=n[kn]-a[ka];
          end else
          begin
              dec(n[kn-1]);
              r[kn]:=n[kn]+10-a[ka];
          end;
          dec(kn);
          dec(ka);
          dec(q);

     end;
     kr:=max(k_n,k_a);
end;


begin
    assign(input,'d.in');
    reset(input);
    assign(output,'d.out');
    rewrite(output);


    k_n:=1;
    q:='1';
    while q<>' ' do
    begin
        read(q);
        if (q=' ') then break;
        n[k_n]:=ord(q)-ord('0');
        inc(k_n);
    end;
    dec(k_n);


    q:='1';
    k_a:=1;
    while q<>' ' do
    begin
        read(q);
        if q=' ' then break;
        a[k_a]:=ord(q)-ord('0');
        inc(k_a);
    end;
    dec(k_a);


    k_b:=1;
    while not eof do
    begin
        read(q);
        if q=' ' then break;
        b[k_b]:=ord(q)-ord('0');
        inc(k_b);
    end;
    dec(k_b);


    razn;
    sum;


    i:=1;
    while r[i]=0 do
    begin
      inc(i);
    end;
    for j:=i to ss do
    begin
      write(r[j]);
    end;
    close(input);
    close(output);
end.
