//https://pintia.cn/problem-sets/994805260223102976/problems/994805302786899968
//1019 数字黑洞 P194 算法笔记下
#include <iostream>
#include <algorithm>
using namespace std;
void divide(int N,int a[]){
for(int i=0;i<=3;++i){
a[i] = N%10;
N /= 10;
}
}
void sorted(int N,int r[]){
int a[4];
int power;
r[0] = r[1] = 0;
divide(N,a);
sort(a,a+4);
power = 1;
for(int i=0;i<=3;++i){
r[0] += a[i]*power;//decrease
power *= 10;
}
power = 1;
for(int i=3;i>=0;--i){
r[1] += a[i]*power;//increase
power *= 10;
}
}
int main(){
int N;
int arr[4],results[2];
cin>>N;
divide(N,arr);
int flag = 0;
for(int j=1;j<=3;++j){
if(arr[j] != arr[j-1]) flag = 1;
}
if(flag == 0) printf("%04d - %04d = 0000\n",N,N);
else{
do{
sorted(N,results);
N = results[0] - results[1];
printf("%04d - %04d = %04d\n",results[0],results[1],N);
}while(N != 6174);
}
return 0;
}