#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; using ull = unsigned long long; constexpr ll mod=1e9+7; map> v; ll mod_pow(ll a,ll b){ a%=mod; if(b==0)return 1; if(b==1)return a; ll res=mod_pow(a,b/2)%mod; res*=res; res%=mod; if(b%2)res*=a; return res%mod; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n,k; cin >> n >> k; while(n--){ int a; cin >> a; for(int i=2;i*i<=a;i++){ if(a%i==0){ int cnt=0; while(a%i==0){ a/=i; cnt++; } v[i].push_back(cnt); } } if(a>1)v[a].push_back(1); } ll res=1; for(auto p:v){ sort(p.second.rbegin(), p.second.rend()); int cnt=0; for(int i=0;i