#include <bits/stdc++.h>
using namespace std;
long long pw(int b, int n) {
  long long ans = 1;
  for (; n != 0; n >>= 1) {
    if (n & 0x01) ans = ans * b;
    b *= b;
  }
  return ans;
}
int sum(long long x) {
  int sum = 0;
  while (x != 0) {
    int dig = x % 10;
    sum += dig;
    x = x / 10;
  }
  return sum;
}
int main() {
  int a, b, c, n = 0;
  long long x;
  vector<long long> vec;
  scanf("%d %d %d", &a, &b, &c);
  for (int i = 1; i <= 81; i++) {
    x = b * pw(i, a) + c;
    if ((sum(x) == i) && (x != 0) && (x < 1000000000)) {
      n++;
      vec.push_back(x);
    }
  }
  printf("%d\n", n);
  for (size_t i = 0; i < vec.size(); i++) printf("%I64d ", vec[i]);
  return 0;
}
