program p22103;
var
 max,min,c,i:longint;
 p:array[1..4] of longint;

procedure cw(n:longint);
var
 i,j,t:longint;
begin
 i:=0;
 while n<>0 do
  begin
   inc(i);
   p[i]:=n mod 10;
   n:=n div 10;
  end;
 for i:= 1 to 4 do
  for j:= i+1 to 4  do
   if p[i]>p[j] then
    begin t:=p[i]; p[i]:=p[j]; p[j]:=t; end; //min to max
end;
procedure qmax();
var
 i:longint;
begin
 max:=0;
 for i:=4 downto 1 do
  max:=max*10+p[i];
end;
procedure qmin();
var
 i:longint;
begin
 min:=0;
 for i:=1 to 4 do
  min:=min*10+p[i];
end;

begin
 readln(c);
 while c<>6174 do
  begin
   cw(c);
   qmax();
   qmin();
   c:=max-min;
   writeln(max,'-',min,'=',c);
  end;
end.
/**************************************************************
	Problem: 2018
	User: admin
	Language: Pascal
	Result: Wrong Answer
****************************************************************/