#include #include #include using namespace std; #define INF 100000000 #define YJ 1145141919 #define INF_INT_MAX 2147483647 #define INF_LL_MAX 9223372036854775807 #define EPS 1e-10 #define MOD 1000000007 #define Pi acos(-1) #define LL long long #define ULL unsigned long long #define LD long double #define int long long const int MAX_N = 105; int N; int A[MAX_N]; const int MAX_K = 100005; vector prime; bool used[MAX_K]; signed main() { for(int i = 2; i < MAX_K; i++) { if(!used[i]) { used[i] = true; prime.push_back(i); for(int j = 2; i*j < MAX_K; j++) { used[i*j] = true; } } } cin >> N; for(int i = 0; i < N; i++) { cin >> A[i]; } for(int p : prime) { bool flag = true; while(flag) { for(int j = 0; j < N; j++) { if(A[j] % p != 0) { flag = false; } } if(!flag) { break; } for(int j = 0; j < N; j++) { A[j] /= p; } } } for(int i = 0; i < N; i++) { int p = A[i]; bool flag = true; while(flag) { for(int j = 0; j < N; j++) { if(A[j] % p != 0) { flag = false; } } if(!flag) { break; } for(int j = 0; j < N; j++) { A[j] /= p; } } } for(int i = 0; i < N; i++) { cout << A[i]; if(i < N-1) { cout << ":"; } } cout << endl; return 0; }