#include using namespace std; typedef pair pii; typedef long long ll; #define ITR(v,c) for(auto v=begin(c);v!=end(c);v++) #define FOR(v,a,n) for(int v=a;v<(int)(n);v++) #define FORE(x,arr) for(auto &x:arr) #define REP(v,n) FOR(v,0,n) #define ALL(c) begin(c),end(c) const int DX[4]={0,1,0,-1}, DY[4]={-1,0,1,0}; const int INF = 1e9; templateostream&operator<<(ostream &os,const pair &p){ os<<"("<ostream&operator<<(ostream &os,const vector &v){ ITR(i,v)os<<*i<<(i==end(v)-1?"":" ");return os;} //----------------------------------------------------------- ll table[6000000]; vector prime; void init() { fill(ALL(table),-1); for(ll i=2; i<6000000; i++) { if(table[i]!=0) { table[i]=0; prime.push_back(i); for(ll j=2; i*j<6000000; j++) { table[i*j]=0; } } } } int main(int argc, char const *argv[]) { ll N,L; cin>>N>>L; init(); ll ans=0; for(ll i=0; prime[i]<=L/2+1; i++) { ll d=prime[i]; ll a; for(a=0; a+(N-1)*d<=L; a++); ans+=a; } cout<