#include <stdio.h>
int contain(int *a, int n, int x)
{
    int i;
    for(i=0;i<n;++i) if (a[i]==x) return i;
    return -1;
}
int main(void)
{
    int a[30], L, k=0, i;
    while (scanf("%d%d", a, &L), L) {
        for(k=0;k<30;++k) {
            int c[10]={0}, t=a[k], min, max, j;
            for(i=0;i<L;++i) { ++c[t%10]; t/=10; }
            for(max=0,i=9;i>=0;--i) for(j=0;j<c[i];++j) max=max*10+i;
            for(min=0,i=0;i<=9;++i) for(j=0;j<c[i];++j) min=min*10+i;
            a[k+1]=max-min;
            if ((j=contain(a, k+1, a[k+1]))>=0) {
                printf("%d %d %d\n", j, a[j], k+1-j);
                break;
            }
        }
    }
    return 0;
}