#include <bits/stdc++.h>
using namespace std;
using ll = long long ;
ll x,k,f[20],p[15];
void init(){
p[0]=1;
for(int i=1;i<15;i++) p[i]=10ll*p[i-1];
for(int i=2;i<20;i++) f[i]=9ll*p[i-1>>1];
f[1]=10;
}
ll dp(ll x){
if(x>=0&&x<=9)return x+1;
ll res=0;
vector<int>v;
while(x){
v.push_back(x%10);x/=10;
}
int n=v.size();
ll a=0,b=0;
for(int i=n-1;i>=n>>1;i--){
int x=v[i];
res+=p[i-n/2]*(x-1);
if(i!=n-1)res+=p[i-n/2];
}
for(int i=n/2-1;i>=0;i--){
b=b*10+v[i];
}
for(int i=n+1>>1;i<n;i++){
a=a*10+v[i];
}
if(b>=a)res++;
for(int i=1;i<n;i++)res+=f[i];
return res;
}
int main()
{
init();
cin>>x>>k;///x往后第k个回文
ll y=dp(x-1)+k;///多少个小于x的回文数
ll l=1,r=1e18;
while(l<r){
ll mid=l+r>>1;
if(dp(mid)>=y)r=mid;
else l=mid+1;
}
cout<<l;
return 0;
}