#include <stdio.h>
#include <stdlib.h>
long long mod(int A[], long long B){
int i;
long long t = 0LL;
for (i = A[0]; i > 0; i--)
t = (t * 10 + 1LL*A[i]) % B;
return t;
}
void add(int A[], long long B){
int i;
long long t = 0;
for (i=1; i<=A[0] || B>0 || t; i++, t/=10){
A[i] = (t += A[i] + B%10) % 10;
B/=10;
}
A[0] = i - 1;
}
int v[1000000+5];
int main(){
FILE*fi,*fo;
fi=fopen("next.in","r");
fo=fopen("next.out","w");
v[0]=0;
char c=fgetc(fi);
while(c!='\n'){
v[++v[0]]=c-'0';
c=fgetc(fi);
}
for(int i=1;i*2<=v[0];i++){
int aux=v[i];
v[i]=v[v[0]-i+1];
v[v[0]-i+1]=aux;
}
long long d;
fscanf(fi,"%lld", &d);
mod(v, d);
add(v, (d-mod(v, d))%d);
for(int i=v[0];i>0;i--)
fprintf(fo,"%d", v[i]);
fclose(fi);
fclose(fo);
return 0;
}