#include <stdio.h>

#define PRIMES_COUNT 37

int main() {
	static int primes[PRIMES_COUNT] = {
        2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53,
        59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113,
        127, 131, 137, 139, 149, 151, 157
    };

    int i, k, n;
    int temp, current_prime = 0, answer = -1;

    int multK[PRIMES_COUNT];
    int multN[PRIMES_COUNT];

	for (i = 0; i < PRIMES_COUNT; i++) {
        multK[i] = 0;
        multN[i] = 0;
	}

    scanf("%d%d", &n, &k);

	temp = k;
	while (current_prime < PRIMES_COUNT)
        if (temp % primes[current_prime] == 0) {
            temp /= primes[current_prime];
            multK[current_prime]++;
        } else current_prime++;

	for (i = 2; i <= n; i++) {
        int current_prime = 0;
        int temp = i;

		while (current_prime < PRIMES_COUNT)
			if (multK[current_prime] > 0) {
				if (temp % primes[current_prime] == 0) {
                    temp /= primes[current_prime];
                    multN[current_prime]++;
                } else current_prime++;
            } else current_prime++;
    }

    for (i = 0; i < PRIMES_COUNT; i++) {
        if (multK[i] == 0 ) continue;
        temp = multN[i] / multK[i];
        if (temp < answer || answer == -1) answer = temp;
    }

    printf ("%i\n", answer);
    return (0);
}