#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N(1009),M(2100000000);
long long num[N]={0},data[21]={0};
bool comp(const long long &x,const long long &y)
{
return x<y;
}
int main()
{
int k,n,b,count(0);
cin>>k>>n;
b=ceil(log(M)/log(k));
data[0]=1;
for(int i=1;i<=b;i++)
data[i]=data[i-1]*k;
for(int i=0;count<n;i++)
{
fill(num,num+N,0);
num[0]=1;num[1]=data[i];
for(int j=i-1;j>=0;j--)
{
int t=num[0];
for(int k=1;k<=t;k++)
{
num[0]++;
num[num[0]]=data[j]+num[k];
}
}
count+=num[0];
}
count-=num[0];
sort(num+1,num+1+num[0],comp);
cout<<(int)num[n-count]<<endl;
return 0;
}
/**************************************************************
Problem: 2263
User: admin
Language: C++
Result: Accepted
Time:50 ms
Memory:2200 kb
****************************************************************/