#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
 
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
typedef long double ld;
typedef complex<ld> cd;
 
typedef pair<int, int> pi;
typedef pair<ll,ll> pl;
typedef pair<ld,ld> pd;
 
typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<cd> vcd;
 
#define FOR(i, a, b) for (int i=a; i<(b); i++)
#define F0R(i, a) for (int i=0; i<(a); i++)
#define FORd(i,a,b) for (int i = (b)-1; i >= a; i--)
#define F0Rd(i,a) for (int i = (a)-1; i >= 0; i--)
#define trav(a,x) for (auto& a : x)
#define uid(a, b) uniform_int_distribution<int>(a, b)(rng)
 
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define f first
#define s second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()
#define ins insert
#define db cout << " HERE " << endl;
template<class T> bool ckmin(T& a, const T& b) { return b < a ? a = b, 1 : 0; }
template<class T> bool ckmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; }
 
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
 
const int MOD = 1000000007;
const char nl = '\n';
const int MX = 2000001;
int vis[1000002];
int main() {
	int n;
	cin >> n ;
	ll ar[n];
	F0R(i,n) {
		cin >> ar[i] ;
		vis[ar[i]]=true;
	}
	int flag = 0 ;
	ll gc = ar[0];
	F0R(i,n) {
		for(int j = 2 ; j*j <= ar[i] ; j++) {
			if(ar[i]%j==0) {
				int a = ar[i]/j;
				if(vis[a]==true) flag = 1;
				if(vis[j]==true) flag = 1;
				vis[a]=true;
				vis[j] = true;
			}
		}
	}
	if(flag == 0){ cout << "pairwise coprime" << endl; return 0;	}
	F0R(i,n) {
		gc = __gcd(ar[i],gc);
	}
	if(gc ==1) {
		cout << "setwise coprime" << endl;
	}
	else
	cout << "not coprime" << endl;
	
}
// template by benq
