#include <stdio.h>
typedef unsigned long long huge;
huge min(huge a,  huge b) {
    return (a<b) ?  a : b;
} 
huge calc(huge n, huge k){
    huge Up=k, Dn=0; 
    while(Up-Dn>1){ 
        huge Md=(Up+Dn)/2;
        huge cnt=0,  aux=1;
        for(huge i=1; i<=min(n,Md); ++i){
                aux*=Md-i+1;
                aux/=i;
                cnt+=aux;
                if(cnt>=k)
                     break;
        }
        if(cnt<k)
            Dn=Md;
         else 
            Up=Md;
         } 
    return Dn+1; 
    }
 int main(){
    huge n,k, ans[1000];
    int tot=0;
    scanf("%llu %llu",&n,&k); 
    while(n>0 && k>0){
         n=min(60LLU,n);
         ans[tot++]=calc(n,k);
         scanf("%llu %llu",&n,&k);
     }
     for(int i=0; i<tot; ++i)
         printf("%llu\n",ans[i]);
     return 0; 
}