#include #include #include #include //#include #include #include #include #include #include //#include #include #include #include //#include #include //#include #include #include #include #include #include const int dx[] = {1, 0, -1, 0}; const int dy[] = {0, -1, 0, 1}; using namespace std; typedef long long ll; typedef unsigned long long ull; typedef vector vi; typedef vector vll; typedef pair pii; const int MAX = 6000000; bool isPrime[MAX]; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, L; cin >> N >> L; ll ans = 0; for (int i = 2; i < MAX; i++) if (!isPrime[i]) { for (int j = 2; i*j < MAX; j++) isPrime[i*j] = true; } for (int d = 2; d*(N-1) <= L; d++) if (!isPrime[d]) { ans += (L-d*(N-1))+1; } cout << ans << endl; return 0; }