[水题]
#include<iostream>
#include<vector>
using namespace std;
long N;
long b;
vector<long> result;
void divide(long n)
{
if(n<b)
{
result.push_back(n);
return;
}
else
{
result.push_back(n%b);
divide(n/b);
}
}
bool isPalindromic()
{
for(int i=0,j=result.size()-1;i<j;i++,j--)
{
if(result[i]!=result[j])
return false;
}
return true;
}
int main()
{
cin>>N>>b;
divide(N);
if(isPalindromic())
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
int i;
for(i=result.size()-1;i>0;i--)
cout<<result[i]<<" ";
cout<<result[0];
return 0;
}