#include <bits/stdc++.h>
using namespace std;
long long amountoftype[5];
long long nums[101];
long long TheType[101];
vector<long long> result;
long long TypeOf(long long k) {
  if (k == 0) return 0;
  if (k == 100) return 4;
  if (k < 10) return 1;
  if (k % 10 != 0) return 3;
  return 2;
}
int main() {
  long long n;
  long long i;
  long long total;
  long long L;
  long long a;
  scanf("%I64d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%I64d", &a);
    nums[i] = a;
    TheType[i] = TypeOf(a);
    amountoftype[TheType[i]]++;
  }
  if (amountoftype[1] > 0 && amountoftype[2] > 0) {
    for (i = 1; i <= n; i++) {
      if (TheType[i] == 1) {
        result.push_back(nums[i]);
        break;
      }
    }
    for (i = 1; i <= n; i++) {
      if (TheType[i] == 2) {
        result.push_back(nums[i]);
        break;
      }
    }
  } else if (amountoftype[1] > 0 || amountoftype[2] > 0 ||
             amountoftype[3] > 0) {
    for (i = 1; i <= n; i++) {
      if (TheType[i] == 1 || TheType[i] == 2 || TheType[i] == 3) {
        result.push_back(nums[i]);
        break;
      }
    }
  }
  if (amountoftype[0] > 0) {
    result.push_back(0);
  }
  if (amountoftype[4] > 0) {
    result.push_back(100);
  }
  sort(result.begin(), result.end());
  L = result.size();
  printf("%I64d\n", L);
  for (i = 0; i < L; i++) {
    printf("%I64d", result[i]);
    if (i != L - 1) {
      printf(" ");
    }
  }
  printf("\n");
  return 0;
}
