#include <bits/stdc++.h>
 using namespace std; 
 typedef long long ll; 
 typedef vector<long long> vll;
 //A
 /*int main(){
     int n; cin >> n; 
     int x=n%100;
     if(n==0) { cout << 100 << endl; return 0; }
     cout << 100-x << endl; 
     return 0; 
 } */
 //B
 /*int main(){
     string s; cin >> s;
     bool c=1; 
     for(int i=0; 2*i<s.size(); i++){
         if(s[2*i] >='a' && s[2*i]<='z' ) c=1; 
         else { cout << "No"<< endl; return 0; } 
    }
     for(int i=0; 2*i+1<s.size(); i++){
         if(s[2*i+1] >='A' && s[2*i+1]<='Z' ) c=1; 
         else { cout << "No" << endl; return 0;}
    }
    cout << "Yes" << endl; 
    return 0; 
 } */
 //C
 string convert (ll n){
    ostringstream buff;
    buff<<n;
    return buff.str();
}
 string f(string x){
     vector <char> v; 
     int a=x.size();
     for(int i=0; i<a; i++) v.push_back(x[i]);
     ll g1=0,g2=0; 
     sort(v.begin(),v.end());
     for(int i=0; i<a; i++) g2+=(v[i]*pow(10,a-i-1));
     sort(v.rbegin(),v.rend());
     for(int i=0; i<a; i++) {
         if(v[i] != 0 ) g1+=( v[i]*pow(10,a-i-1));
         else { g1+=pow(10,a-i); break; } 
     }
     return convert(g1-g2);
 }
 int main(){
     string N; cin >> N; 
     int K; cin >> K; 
     string res=N; 
     for(int i=1; i<=K; i++) res=f(res); 
     cout << res << endl; 
     return 0; 
 }
#include <bits/stdc++.h>
using namespace std;



int main() {
  int n,k;
  cin>>n>>k;

  for(int i=0;i<k;i++){
    string s1=to_string(n);
    string s2=to_string(n);
    sort(s1.begin(),s1.end());
    sort(s2.begin(),s2.end(),greater<char>());
    int tmp1=stoi(s1);
    int tmp2=stoi(s2);
    n=tmp2-tmp1;
  }
  cout<<n<<endl;

}  