#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  long long int n, k, i, j, l = 0, g = 0;
  cin >> n >> k;
  long long int a, temp;
  map<long long int, long long int> mp;
  vector<long long int> v;
  for (i = 0; i < n; i++) {
    cin >> a;
    g = gcd(g, a);
  }
  for (i = 0; i < 100000; i++) {
    temp = (g * i) % k;
    if (mp[temp] == 0) {
      mp[temp]++;
      v.push_back(temp);
      l++;
    }
  }
  cout << l << endl;
  sort(v.begin(), v.end());
  for (i = 0; i < l; i++) {
    cout << v[i] << " ";
  }
}
