#include <fstream>
#include <cstdlib>
using namespace std;
const int N = 1 + 5e6;
int doi[N], trei[N], cinci[N];
ifstream in("pascal.in");
ofstream out("pascal.out");
void computeFactorCnt(int v[], int n, int D){
for (int i = D ; i <= n ; i++)
v[i] = i / D + v[i / D];
}
inline int comb(int fact[], int n, int k){
return fact[n] - fact[k] - fact[n - k];
}
int compute(int n, int a[], int cntA, int b[], int cntB){
int ans = 0;
for (int i = 0 ; i <= n ; i++)
if ( cntA <= comb(a, n, i) && cntB <= comb(b, n, i) )
ans++;
return ans;
}
int main(){
int n, D;
in >> n >> D;
if (D % 2 == 0)
computeFactorCnt(doi, n, 2);
if (D % 3 == 0)
computeFactorCnt(trei, n, 3);
if (D == 5)
computeFactorCnt(cinci, n, 5);
if (D == 2)
out << compute(n, doi, 1, doi, 1) << '\n';
else if (D == 3)
out << compute(n, trei, 1, trei, 1) << '\n';
else if (D == 4)
out << compute(n, doi, 2, doi, 2) << '\n';
else if (D == 5)
out << compute(n, cinci, 1, cinci, 1) << '\n';
else
out << compute(n, doi, 1, trei, 1) << '\n';
return 0;
}