#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
#define mod 1000000007
#define eps 1e-6
#define ll long long
#define INF 0x3f3f3f3f
#define MEM(x,y) memset(x,y,sizeof(x))
#define pb push_back
#define mk make_pair
#define pi pair<int, int>
#define rep(i, a, b) for (int i = (a); i <= (b); ++i)
#define per(i,a,b) for(int i=a;i>=(b);--i)
using namespace std;
int dt[][2]= {{1,0},{-1,0},{0,1},{0,-1},{0,0}};
//typedef pair<int, int> P;
//priority_queue<int, vector<int>, greater<int> > q;

// constexpr int N = 1e6+6;
// int n;
// int cnt[N];

int n,a,d,cnt[1000003],maxa=-(1<<30);

void fenjie(int x)
{
    for(int i=2;i*i<=x;++i)
    {
        if(x%i == 0)
        {
            ++cnt[i];//因子含有i的数有cnt[i]个
        }
    }
    if(x > 1) ++cnt[x];
}

// int main()
// {
//    //IOS;
//    int n;
//    int a;
//    scanf("%d%d",&n,&a);
//    int k = a;
//    int mxa = 0;
//    rep(i,2,n)
//    {
//        scanf("%d",&a);
//        mxa = max(mxa,a);
//        k = __gcd(k,a);
//        fenjie(a);
//    }
//    bool p1 = 1;
//    rep(i,2,mxa)
//    {
//        if(cnt[i] >= 2)
//        {
//            p1 = 0;
//            break;//说明不是两两互质了
//        }
//    }
//    if(p1)puts("pairwise coprime");
//    else if(p1 == 0 && k == 1) puts("setwise coprime");
//    else puts("not coprime");
// }
int main(){
    scanf("%d%d",&n,&a);
    d=a;//d初始值为a
    for(int i=2;i<=n;i++){
        scanf("%d",&a);
        if(maxa<a) maxa=a;//更新maxa
        d=__gcd(d,a);//求n个数的公因数可以这么做
        fenjie(a);//对a分解质因数
    }
    if(d==1){
        for(int i=2;i<=maxa;i++)
            if(cnt[i]>1) return puts("setwise coprime"),0;
            //t[i]>1说明有几个数有相同的因子，则肯定有一对数不互质
        return puts("pairwise coprime"),0;
    }
    else return puts("not coprime"),0;
    return 0;
}
