111

发布时间 2023-12-29 21:05:41作者: 卡布叻_周深
#include<bits/stdc++.h>
#define int long long 
#define endl '\n'
using namespace std;
const int N=1e5+1;
template<typename Tp> inline void read(Tp&x)
{
    x=0;register bool z=1;
    register char c=getchar();
    for(;c<'0'||c>'9';c=getchar()) if(c=='-') z=0;
    for(;'0'<=c&&c<='9';c=getchar()) x=(x<<1)+(x<<3)+(c^48);
    x=(z?x:~x+1);
}
int a,n,k,ans;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
signed main()
{
	#ifndef ONLINE_JUDGE
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
    #endif
    read(n),read(k);
    ans=k;
    for(int i=1;i<=n;i++)
        read(a),
        ans=gcd(ans,a);
    cout<<k/ans<<endl;
    for(int i=0;i<k/ans;i++)
        cout<<i*ans<<' ';
}