typedef long long ll;
typedef long double ld;
#include <bits/stdc++.h>
using namespace std;
std::vector<ll> IsPrime;

void sieve(ll max){
    if(max+1 > IsPrime.size()){     // resizeで要素数が減らないように
        IsPrime.resize(max+1,-1); // IsPrimeに必要な要素数を確保
    } 
    IsPrime[0] = -1; // 0は素数ではない
    IsPrime[1] = -1; // 1は素数ではない

    for(ll i=2; i*i<=max; ++i){
        if(IsPrime[i]==-1){
            for(ll j=2; i*j<=max; ++j) // (max以下の)iの倍数は
                IsPrime[i*j] = i;      // 素数ではない
            IsPrime[i]=i;
        }
    }
}
int main() {
    ll n;
    std::cin >> n;
    sieve(1e6+10);
    // for (int i = 0; i < 500; i++) {
    //     std::cout << IsPrime[i] << std::endl;
    // }
    vector<ll> a(n);
    ll gg=0;
    vector<ll> cnt(1e6+10,0);
    for (ll i = 0; i < n; i++) {
        std::cin >> a[i];
        ll now = a[i];
        if(i==0)gg = a[i];
        if(i!=0)gg = gcd(gg,a[i]);
        set<ll> el;
        while(now!=1){
            el.insert(IsPrime[now]);
            now /= IsPrime[now];
        }
        for (auto e : el) {
            cnt[e]++;
        }
    }
    bool ok = true;
    
    for (ll i = 1; i < 1e6+10; i++) {
        // std::cout << cnt[i] << std::endl;
        if(cnt[i]>1){
            ok = false;
            // std::cout << "not coprime" << std::endl;
            // return 0;?
        }
    }
    
    if(ok){
        std::cout << "pairwise coprime" << std::endl;
    }else if(gg==1){
        std::cout << "setwise coprime" << std::endl;
    }else{
        std::cout << "not coprime" << std::endl;
    }
}
