#include <stdio.h>
int a[21], L;

int calc_next(int a, int L){
  int i, j;
  int h[10] ={}; // ヒストグラム
  int maximum = 0, minimum = 0; // 最大,最小
  for(i = 0; i < L; i++){
    h[a % 10]++;
    a = a / 10;
  }
  // 大きい順に使う
  for(i = 9; i >= 0; i--){
    for(j = 0; j < h[i]; j++){
      maximum = maximum * 10 + i;
    }
  }
  // 小さい順に使う
  for(i = 0; i <= 9; i++){
    for(j = 0; j < h[i]; j++){
      minimum = minimum * 10 + i;
    }
  }

  return maximum - minimum;
}

int check(int i){
  int j;
  for(j = 0; j < i; j++){
    if(a[i] == a[j]){
      printf("%d %d %d\n",j, a[i], i - j);
      return 1;
    }
  }
  return 0;
}
int main(){
  while(1){
    int i;
    scanf("%d %d", &a[0], &L);
    if(a[0] == 0 && L == 0)break; // データーセットの終了
    i = 0;
    while(1){
      a[i + 1] = calc_next(a[i], L);
      i++;
      if(check(i)) break;
    }
  }
  return 0;
}