//用栈实现十进制转换为 q进制
#include<iostream>
using namespace std;
#define max 50
typedef struct
{
int data[max];
int top;//类似指针指向当前栈顶元素
}sqStack;
//初始化栈
bool initStack(sqStack &s)
{
s.top = -1;//空栈
return true;
}
//进栈
bool pushStack(sqStack &s, int e)
{
if(s.top >= max - 1)
return false;
else
s.data[++s.top] = e;
return true;
}
//出栈
bool popStack(sqStack &s, int &e)
{
if(s.top == -1)
return false;
else
e = s.data[s.top--];
return true;
}
//判断为空
bool emptyStack(sqStack s)
{
if(s.top == -1)
return true;
else
return false;
}
int main()
{
sqStack s;
initStack(s);
int N, q;
int e;
cin >> N >> q;
while(N != 0)
{
pushStack(s,N % q);
N /= q;
}
while(!emptyStack(s))
{
popStack(s, e);
cout << e;
}
return 0;
}