N, L = list(map(int, input().strip().split(' '))) ans = 0 NMAX = L // (N - 1) nonprime = [False] * (NMAX + 1) for i in range(6, len(nonprime), 6): if nonprime[i - 1] and nonprime[i + 1]: continue if not nonprime[i - 1]: k = L - (i - 1) * (N - 1) if k < 0: break ans += k + 1 j = 3 x = i - 1 while x * j <= NMAX: nonprime[x * j] = True j += 2 if not nonprime[i + 1]: k = L - (i + 1) * (N - 1) if k < 0: break ans += k + 1 j = 3 x = i + 1 while x * j <= NMAX: nonprime[x * j] = True j += 2 if 2 * (N - 1) <= L: ans += L - 2 * (N - 1) + 1 if 3 * (N - 1) <= L: ans += L - 3 * (N - 1) + 1 print(ans)