#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 100;
long long n, k;
long long Arr[N];
long long gcd(long long a, long long b) {
  if (!b) return a;
  return gcd(b, a % b);
}
set<int> Ans;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> Arr[i];
  long long GCD = Arr[0];
  for (int i = 0; i < n; i++) GCD = gcd(GCD, Arr[i]);
  GCD = gcd(GCD, k);
  for (int i = 0; i < 10 * k; i += GCD) Ans.insert(i % k);
  cout << Ans.size() << '\n';
  for (auto i : Ans) cout << i << ' ';
  cout << '\n';
  return 0;
}
