#include <stdio.h>
#include <string.h>

int flag[1000000];

int main(void)
{
	int a, L;
	int num[10];
	int max, min;
	int cnt;
	int i, j;
	int k;
	
	while (1){
		scanf("%d%d", &a, &L);
		if (a == 0 && L == 0){
			break;
		}
		
		memset(flag, -1, sizeof(flag));
		
		cnt = 0;
		do {
			flag[a] = cnt++;
			
			memset(num, 0, sizeof(num));
			for (i = 0; i < L; i++){
				num[a % 10]++;
				a /= 10;
			}
			
			max = 0;
			for (i = 9; i >= 0; i--){
				for (j = 0; j < num[i]; j++){
					max = max * 10 + i;
				}
			}
			
			min = 0;
			for (i = 0; i <= 9; i++){
				for (j = 0; j < num[i]; j++){
					min = min * 10 + i;
				}
			}
			
			a = max - min;
// printf("%d - %d = %d(%d)\n", max, min, a, cnt);

		} while (flag[a] == -1);
		printf("%d %d %d\n", flag[a], a, cnt - flag[a]);
	}
	
	return (0);
}