#include <stdio.h>

main()
{
  int x;
  scanf("%d", &x);//数字を入力
  printf(" MAX    MIN\n");
  g(x);
}

g(int x)
{
  int d[4], i, j, tmp, max, min;
  //得た数字の各位の数字を配列に格納する
  d[0] = x % 10;//１の位
  d[1] = (x/10) % 10;//１０の位
  d[2] = (x/100) % 10;//１００の位
  d[3] = (x/1000) % 10;//１０００の位
  //配列をソートし，d[0]<=d[1]<=d[2]<=d[3]　となるようにする
  for(i=0; i<=2; i++)
    for(j=i+1; j<=3; j++)
      if(d[i] > d[j]){
        tmp = d[i]; d[i] = d[j]; d[j] = tmp;
      }
  //最大，最小の数字をもとめ，差をだす
  max = 1000*d[3] + 100*d[2] + 10*d[1] + d[0];
  min = 1000*d[0] + 100*d[1] + 10*d[2] + d[3];
  printf("%4d - %4d = %4d\n", max, min, max-min);
  if(x == max - min) return; // MIX==MAXの数となったので終了
  g(max - min); // g(x)の再帰的呼び出し
}
