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
****************************************************************/