#include <bits/stdc++.h>
using namespace std;
vector<long long> v;
int main() {
  long long p, k;
  scanf("%lld%lld", &p, &k);
  int i = 0;
  long long last = 0;
  while (1) {
    if (i == 0) {
      last = -p / k;
      v.push_back(p + last * k);
    } else {
      if (last > 0) {
        long long last2 = -last / k;
        v.push_back(last + last2 * k);
        last = last2;
      } else {
        long long last2 = (-last + k - 1) / k;
        v.push_back(last2 * k + last);
        last = last2;
      }
    }
    if (last >= 0 && last < k) {
      if (last != 0) v.push_back(last);
      break;
    }
    i++;
  }
  printf("%d\n", v.size());
  for (int i = 0; i < v.size(); i++) printf("%lld ", v[i]);
}
