#include int prime[4000000]; int is_prime[10000001]; int p=0; int sieve(int n){ int i,j; for(i=0;i<=n;i++)is_prime[i]=1; is_prime[0]=is_prime[1]=0; for(i=2;i<=n;i++){ if(is_prime[i]==1){ prime[p++]=i; for(j=2*i;j<=n;j+=i)is_prime[j]=0; } } return p; } int main(){ int N,L; int i,j,x; long long int ans=0; scanf("%d %d",&N,&L); sieve(10000000); for(i=0;i<=p;i++){ j=prime[i]*(N-1); if(j>L)break; else ans+=(L-j+1); } printf("%lld\n",ans); return 0; }