#include <stdio.h>
int main() 
{
    const int l=1000;
    int i, k, n,otv;
    int kusok, o,x;
    int ch,t;
    int arr1[l];
    for (i=0;i<l;i++) 
    {
        arr1[i]=0;
    }
    o=0;
    otv=-1;
    scanf("%d%d", &n, &k);
    for (ch=0,t=k,i=2,x=0;i<=t;)
    {
        if(t%i==0)
        {
            if (arr1[x-1]!=i)
            {
                arr1[x]=i;
                x++;
                ch++;
            }
            t=t/i;
        }
        else
        {
            i=i+1; 
        }
    }
    int arr13[ch];
    int arr14[ch];
    for (i=0;i<ch;i++) 
    {
        arr13[i]=0;
        arr14[i]=0;
    }
    for (kusok = k;o<ch;)
    {
        if (kusok % arr1[o] == 0) 
        {
            kusok = kusok/arr1[o];
            arr13[o]++;
        } 
        else 
        {
            o++;
        }
    }
    for (i = 2; i <= n; i++) 
    {
        for (o=0,kusok=i;o <ch;)
        {
            if (arr13[o]>0) 
            {
                if (kusok%arr1[o] == 0) 
                {
                    kusok=kusok/arr1[o];
                    arr14[o]++;
                } 
                else
                { 
                    o++;
                }
            } 
            else 
            {
                o++;
            }
        }
    }
    for (i=0; i<ch;i++ ) 
    {
        if (arr14[i]!=0)
        {
            kusok = arr14[i] / arr13[i];
            if ((kusok < otv) || (otv == -1)) 
            {
                otv = kusok;
            }
        }
    }
    printf ("%d", otv);
    return 0;
}
