//挺简单的一道题 不过 就是要注意进制转换的可能是十进制以上的 刚开始没好好看题 然后 用string类型存储进制转换后的结果 只有15分 后来发现进制可能多于10 这个时候 用string就会有问题了
#include<iostream>
using namespace std;
int N = 100;
void AtoB(int a, int b) {
int s[N];
int tmp, i=0;
while(a) {
tmp = a%b;
s[i++] = tmp;
a /= b;
}
tmp = i;
for(i=0; i<tmp/2; i++) {
if(s[i] != s[tmp-i-1]) {
break;
}
}
if(i == tmp/2) {
cout << "Yes" << endl;
} else cout << "No" << endl;
for(i=tmp-1; i>0; i--) {
cout << s[i] << " ";
}
cout << s[0] << endl;
}
int main() {
int a, b;
cin >> a >> b;
AtoB(a, b);
return 0;
}