#define _CRT_SECURE_NO_WARNINGS // #pragma warning(disable:4996) #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,a,b) for(int i=(a);i<(b);i++) #define pb push_back #define mp(a,b) make_pair(a,b) #define all(a) a.begin(),a.end() #define len(x) ((int)(x).size()) #define tmax(a,b,c) max((a),max((b),(c))) #define debug(x) cerr << #x << " is " << x << endl; typedef pair Pii; typedef vector V; typedef vector > VV; typedef long long ll; const int inf = 2e9; const int mod = 1e9 + 7; const long double eps = 1e-10; const int maxsize = 5004170; int p[5004170]; // 22237^2237 int main() { int N, L; cin >> N >> L; rep(i,2,2237) { int t = i; while (t+i < maxsize) { t += i; p[t]++; } } ll ans = 0; rep(i,2,maxsize) { if (p[i]) continue; if (i*(N-1) > L) break; ans += L - (i*(N-1)) + 1; } cout << ans << endl; return 0; }