#include <bits/stdc++.h>
using namespace std;
int n, tot, d[105];
int read() {
  int _ = 0, ___ = 1;
  char __ = getchar();
  while (__ > '9' || __ < '0') {
    if (__ == '-') ___ = -1;
    __ = getchar();
  }
  while (__ >= '0' && __ <= '9') {
    _ = _ * 10 + __ - '0';
    __ = getchar();
  }
  return _ * ___;
}
int get(int x) {
  int sum = 0;
  while (x) {
    sum += x % 10;
    x /= 10;
  }
  return sum;
}
int main() {
  n = read();
  for (int i = max(n - 81, 0); i <= n; i++) {
    int x = get(i);
    if (x + i == n) d[++tot] = i;
  }
  printf("%d\n", tot);
  for (int i = 1; i <= tot; i++) printf("%d ", d[i]);
  return 0;
}
