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