#include #include #include using namespace std; #define ll long long bool isprime[3100000]; int prime[3100000]; int cnt; ll n,x; long long phi(long long x) { long long ret=x,i,j,k; for(j=1;j<=cnt;j++) { i=prime[j]; if(x%i==0) { ret/=i; ret*=(i-1); while(x%i==0) x/=i; } } if(x!=1) ret=ret/x*(x-1); return ret; } int main() { for(int i=2;i<=2000010;i++) { if(!isprime[i]) prime[++cnt]=i; for(int j=1;j<=cnt&&prime[j]*i<=2000010;j++) { isprime[prime[j]*i]=1; if(i%prime[j]==0) break; } } while(scanf("%I64d%I64d",&n,&x)!=EOF) { ll tmp=n+x+1; printf("%I64d\n",phi(tmp)); } return 0; }