#include<bits/stdc++.h>
using namespace std;
long long n,m;
long long mn=1e17;
long long f3(long long num,int t,int l){
--l;
int tmp=num%10;
for(int i=0;i<=l;++i){
num/=10;
}
num=num*10+t;
for(int i=0;i<l;++i){
num=num*10+tmp;
}
return num;
}
int main(){
cin>>n>>m;
int len=log10(n)+1;
long long n_1=1;
if(m==0){
for(int i=1;i<len;i++){
n_1*=10;
n_1++;
}
long long ans=(long long)ceil(n/(double)n_1)*n_1;
printf("%lld",ans);
return 0;
}else{
long long note=1;
for(int i=1;i<len;i++){
note*=10;
note++;
}
for(int k=1;k<len;k++){
long long ans1=(long long)(ceil(n/(double)note)-1)*note;
for(int j=0;j<=9;j++){
ans1=f3(ans1,j,k);
if(ans1>=n)
mn=min(mn,ans1);
}
}
cout<<mn<<endl;
return 0;
}
}
数太大了double精度不够怎么办?