#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
using namespace std;
#define IOS ios_base::sync_with_stdio(false);cin.tie(NULL);
#define ff first
#define ss second
#define eb emplace_back
#define MP make_pair
#define pb push_back
#define pf push_front
#define ins insert
#define endl '\n'
#define all(v) (v).begin(), (v).end()
#define mset(m,v) memset(m,v,sizeof(m))
#define tr(c,it) for(auto it=c.begin();it!=c.end();it++)
#define fr(i,n) for(lli i=0;i<(n);i++)
#define inc(i,a,b) for(lli i=a;i<=b;i++)
#define dec(i,a,b) for(lli i=a;i>=b;i--)
#define fr2(i,n) for(int i=0;i<(n);i++)
#define inc2(i,a,b) for(int i=a;i<=b;i++)
#define dec2(i,a,b) for(int i=a;i>=b;i--)
#define ymin(a,b)  (a=min((a),(b)))
#define ymax(a,b)  (a=max((a),(b)))
#define sz(x) (lli)(x).size()
#define error(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); }
void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
	cerr<< *it << " = " << a << endl;
	err(++it, args...);
}

typedef long long int lli;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<lli,lli> plli;
typedef vector<lli> vlli;
typedef vector<int> vi;
//typedef  vector<vector<lli> >ncr(1001,vector<lli>(1001,0))
typedef vector<plli> vplli;
long long MOD=1000000009;
#define addm(x,y) (x+y>=MOD? (x+y-MOD):(x+y))
lli gcd(lli a,lli b)
{
    if(b==0)
        return a;
    else
        return gcd(b,a%b);
}
const lli N=1000001;

lli lpf[N]={0};
void seive()
{
	lpf[1]=1;
	for(lli i=2;i<N;i++)
	{
		if(lpf[i]==0)
		{
			lpf[i]=i;
			for(lli j=2*i;j<N;j+=i)
				if(lpf[j]==0)
					lpf[j]=i;
		}
	}
}
// bool pr[N];

// void prime()
// {mset(pr,true);
// 	pr[0]=false;
// 	pr[1]=false;
// 	for(int i=2;i<=N;i++)
// 	{
// 		if(pr[i])
// 			for(int j=i*2;j<=N;j+=i)
// 				pr[j]=false;
// 	}

// }
// void primefact()
// {
// 	seive();
// 	// for(int i=1;i<N;i++)
// 	// {
// 	// 	divi[i]=1;
// 	// 	lli temp=i;
// 	// 	lli cnt=0;
// 	// 	lli ans=0;
// 	// 	map<int,int>lol;//without map
// 	// 	while(temp>1)
// 	// 	{
// 	// 		lol[lpf[temp]]++;//cnt++;
// 	// 		temp/=lpf[temp];
// 	// 	}
// 	// 	for(auto v:lol)
// 	// 	{

// 	// 		divi[i]*=(v.ss+1);//
// 	// 	}
// 	// }
// 	//wothout map
// 	for(int i=1;i<N;i++)
// 	{
// 		divi[i]=1;
// 		lli temp=i;
// 		lli ans=0;
// 		//map<int,int>lol;//without map
// 		while(temp>1)
// 		{
// 			lli cnt=0;
// 			lli currp=lpf[temp];
// 			while(temp%currp==0)
// 			{
// 				cnt++;
// 				temp/=currp;
// 			}

// 			divi[i]*=(cnt+1);
// 		// 	lol[lpf[temp]]++;//cnt++;
// 		// 	temp/=lpf[temp];
// 		// }
// 		// for(auto v:lol)
// 		// 	divi[i]*=(v.ss+1);//

// 	}

int main()
{
		#ifndef ONLINE_JUDGE
	freopen("input.txt","r",stdin);
	freopen("output.txt","w",stdout);
	#endif
	IOS
	
	// int t;
	// cin>>t;
	// for(int i=1;i<=t;i++)
	// {
	// 	cout<<"Case #"<<i<<": ";
	// 	solve();

	// }
	seive();
	lli n;
	cin>>n;
	vector<lli>a(n);
	lli p=1;
	fr(i,n)
	{
	cin>>a[i];
	//p=p*a[i];
	}
// 	fr(i,n)
// 	{
// 		p=(p*a[i]);
// 	}
// 	sort(all(a));
	 lli preG[n],preL[n],sufG[n],sufL[n];
        fr(i,n )
        {
            if(!i)
            {
                preG[i]=a[i];
                preL[i]=a[i];
            }
            else
            {
                preG[i]=gcd(preG[i-1],a[i]);
                preL[i]=(a[i]/gcd(a[i],preL[i-1]))*preL[i-1];


            }
        }
//          for(lli i=n-1 ;i>=0 ;i--)
//         {
//             if(i==n-1)
//             {
//                 sufG[i]=a[i];
//                 sufL[i]=a[i];
//             }
//             else
//             {
//                 sufG[i]=gcd(sufG[i+1],a[i]);
//                 sufL[i]=a[i]/gcd(a[i],sufL[i+1])*sufL[i+1];
//             }
//         }
// //cout<<preL[n-1]<<" "<<preG[n-1]<<endl;
//         if(preG[n-1]!=1)
//         {
//         	cout<<"not coprime"<<endl;
//         	return 0;

//         }
//         fr(i,n)
//         {

//         }
// if(preL[n-1]==p)
// {
// 	cout<<"pairwise coprime"<<endl;
// 	return 0;
// }
// if(preG[n-1]==1 && preL[n-1]!=p)
// {
// 	cout<<"setwise coprime"<<endl;
// 	return 0;
// }
vector<vector<plli>>vp(N);
fr(i,n)
	{
		//divi[i]=1;
		lli temp=a[i];
		lli ans=0;
		//map<int,int>lol;//without map
		while(temp>1)
		{
			lli cnt=0;
			lli currp=lpf[temp];
			while(temp%currp==0)
			{
				cnt++;
				temp/=currp;
			}
			vp[a[i]].pb({currp,cnt});
			
			//divi[i]*=(cnt+1);
		}
		}
		set<lli>st;
		fr(i,n)
		{
			for(auto j:vp[a[i]])
			{
				if(st.find(j.ff)==st.end())
				st.insert(j.ff);
			else
			{
				if(preG[n-1]==1)
				cout<<"setwise coprime"<<endl;
			else
				cout<<"not coprime"<<endl;
				return 0;	
			}
			}
		}

		cout<<"pairwise coprime"<<endl;	

	
	
	
	
}



Measured memory_bytes: 158892