#include <iostream>
#include <cmath>
using namespace std;

int getAllWays(int b, int li, int rem)
{
    if (rem==0)
    {
        return 1;
    }
    if (li<=0)
    {
        return 0;
    }
    int remrt = pow(rem,(1.0/b));
    while(remrt>=li)
    {
        remrt--;
    }
    // Select case
    int v1 = getAllWays(b, remrt, rem-pow(remrt,b));
    // Reject case
    int v2 = getAllWays(b, remrt, rem);
    return v1+v2;
}

int getAllWays(int a, int b)
{
	// Write your code here
    int li = pow(a,(1.0/b));
    li++;
    return getAllWays(b, li, a);
}

int main()
{
    int a, b;
    cin >> a >> b;
    cout <<getAllWays(a, b);
}