// Aizu 1180: Recurring Decimals
// 2017.9.13 bal4u@uu

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

char a[105][7];
char max[7], min[7];

int asc(char *a, char *b) { return *a - *b; }
int des(char *a, char *b) { return *b - *a; }

int main()
{
	int a0, w, i, j, k, c;

	while (scanf("%d%d", &a0, &w) && w) {
		for (k = 0; k < w; k++) a[0][k] = a0 % 10, a0 /= 10;
		for (i = 1; ; i++) {
			memcpy(max, a[i-1], w), memcpy(min, a[i-1], w);
			qsort(max, w, sizeof(char), asc), qsort(min, w, sizeof(char), des);
			for (c = 0, k = 0; k < w; k++) {
				if (max[k] >= min[k]+c) a[i][k] =    max[k]-(min[k]+c), c = 0;
				else                    a[i][k] = 10+max[k]-(min[k]+c), c = 1;
			}
			for (j = 0; j < i; j++) if (!memcmp(a[j], a[i], w)) {
				printf("%d ", j);
				for (k = w-1; k > 0; k--) if (a[i][k] > 0) break;
				for ( ; k >= 0; k--) putchar(a[i][k]+'0');
				printf(" %d\n", i-j);
				break;
			}
			if (j < i) break;
		}
	}
	return 0;
}