#include<bits/stdc++.h>
using namespace std;

void solve(){
    int a,b;
    cin>>a>>b;
    cout<<(a/b);
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int T=1;
  //  cin>>T;
    while(T--){
        solve();
    }
}
// Sky's the limit :)
#include <bits/stdc++.h>
using namespace std;
#define int long long

/*
    w / a
*/

void run_case() {
    int a, b;
    cin >> a >> b;
 
    vector<int> primes = {
        2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71
    };
 
    int n = b - a + 1;
    vector<int> bit(n, 0);
    for (int i = a; i <= b; i++) {
        for (int j = 0; j < primes.size(); j++) {
            if (i % primes[j] == 0) {
                bit[i - a] |= (1LL << j);
            }
        }
    }
 
    int N = (1 << 20);
    vector<vector<int>> dp(n + 1, vector<int>(N, 0));
    dp[0][0] = 1;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < N; j++) {
            dp[i + 1][j] += dp[i][j];
            if ((j & bit[i]) == 0) {
                dp[i + 1][j | bit[i]] += dp[i][j];
            }
        }
    }
 
    int res = 0;
    for (int j = 0; j < N; j++) {
        res += dp[n][j];
    }
    cout << res << '\n';
}

signed main() {
    ios_base::sync_with_stdio(false); cin.tie(nullptr);
    
    int T = 1;
    // cin >> T;
    for (int t = 1; t <= T; t++) {
        // cout << "Case #" << t << ": ";
        run_case();
    }
    
    return 0;
}