#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int NMAX=1000010;
int v[NMAX+5],c[NMAX+5],a[NMAX+5],b[NMAX+5];
long long d;
void hn_adun(int a[NMAX+5],int b[NMAX+5], int c[NMAX+5])
{
int i,tr,aux;
memset(c,0,sizeof(c));
c[0]=max(a[0],b[0]);
tr=0;
for(i=1; i<=c[0]; i++)
{
aux=a[i]+b[i]+tr;
c[i]=aux%10;
tr=aux/10;
}
if(tr)
c[++c[0]]=1;
}
void hn_constr(int n,int x[NMAX+5])
{
memset(x,0,sizeof(x));
do
{
x[++x[0]]=n%10;
n=n/10;
}
while(n);
}
void print(int x[NMAX+5])
{
int i;
for(i=x[0]; i>=1; i--)
printf("%d",x[i]);
}
long long hn_divide_rest(int a[NMAX+5], long long k)
{
long long r;
int i;
r=0;
for(i=a[0]; i>=1; --i)
{
r=r*10+a[i];
r=r%k;
}
return r;
}
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
char ch;
int i=1;
long long d;
v[0]=0;
while(scanf("%c",&ch)&&ch!='\n')
v[++v[0]]=ch-48;
scanf("%lld",&d);
reverse(v+1,v+v[0]+1);
long long r=hn_divide_rest(v,d);
if(d==1)
{print(v);
return 0;
}
if(r==0)
{print(v);
printf("\n");
}
else
{
long long ans=d-r;
hn_constr(ans,a);
hn_adun(v,a,b);
print(b);
printf("\n");
}
return 0;
}
/*
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int NMAX=1000;
int a[NMAX+5],b[NMAX+5],c[NMAX+5];
void hn_constr(int n,int x[NMAX+5]) {
memset(x,0,sizeof(x));
do {
x[++x[0]]=n%10;
n=n/10;
} while(n);
}
void print(int x[]) {
int i;
for(i=x[0]; i>=1; i--)
printf("%d",x[i]);
}
void hn_adun(int a[],int b[], int c[NMAX+5]) {
int i,tr,aux;
memset(c,0,sizeof(c));
c[0]=max(a[0],b[0]);
tr=0;
for(i=1; i<=c[0]; i++) {
aux=a[i]+b[i]+tr;
c[i]=aux%10;
tr=aux/10;
}
if(tr)
c[++c[0]]=1;
}
void hn_scad(int a[],int b[],int c[NMAX+5]) {
int i,aux,impr;
impr=0;
memset(c,0,sizeof(c));
c[0]=a[0];
//hn_cmp
for(i=1; i<=c[0]; i++) {
aux=a[i]-b[i]-impr;
if(aux<0) {
c[i]=aux+10;
impr=1;
} else {
c[i]=aux;
impr=0;
}
while(c[c[0]]==0 &&c[0]>1)
c[0]--;
}
}
void hn_prod(int a[],int b[],int c[2*NMAX+5]) {
int i,j,tr,aux;
memset(c,0,sizeof(c));
c[0]=a[0]+b[0]-1;
for(i=1; i<=a[0]; i++)
for(j=1; j<=b[0]; j++)
c[i+j-1]+=a[i]*b[j];
tr=0;
for(i=1; i<=c[0]; i++) {
aux=c[i]+tr;
c[i]=aux%10;
tr=aux/10;
}
while(tr) {
c[++c[0]]=tr%10;
tr/=10;
}
}
int main() {
int n,m,cer;
scanf("%d%d%d",&cer,&n,&m);
hn_constr(n,a);
hn_constr(m,b);
if(cer==1) {
hn_adun(a,b,c);
print(c);
}
if(cer==2) {
hn_scad(a,b,c);
print(c);
}
if(cer==3) {
hn_prod(a,b,c);
print(c);
}
return 0;
}
*/