ll gcd(ll a,ll b){
return b==0?a:gcd(b,a%b);
}
ll pow_mod(ll a,ll n,ll m){ //快速幂运算
if(n==0) return 1;
ll x=pow_mod(a,n/2,m);
ll ans=x*x%m;
if(n%2==1) ans=ans*a%m;
return ans;
}
ll exgcd(ll a,ll b,ll &x,ll &y){
if(b==0){
x=1;y=0;return a;
}
ll ans=exgcd(b,a%b,x,y);
ll t=x;
x=y;
y=t-(a/b)*y;
return ans;
}
ll rev(ll b,ll n){ //求逆元
ll x=0,y=0;
ll g=exgcd(b,n,x,y);
return x;
}
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
//for solve n mod m(n<=10^100;m<=10^9)
int main(){
char n[110];
int m;
scanf("%s %d",n,&m);
long long ans=0;
int l=strlen(n);
for(int i=0;i<l;i++){
ans=(ans*10+n[i]-'0')%m;
}
printf("%lld\n",ans);
}