#include<bits/stdc++.h>
#define int long long
#define F first
#define S second
using namespace std;

const int N = 1e6 + 5;
int prime[N];

void seive(){

  for(int i=2;i<N;i++){
    for(int j = 2*i;j<N;j+=i){
      if(prime[j] == j){
        prime[j] = i;
      }
    }
  }
}

map<int,int>mp;

void fx(int x){
    set<int>s;
    while(x>1){
        if(s.find(prime[x]) == s.end()){
          s.insert(prime[x]);
          mp[prime[x]]++;
        }
        x = x / prime[x];
    }
}

signed main(){
  
  for(int i=1;i<N;i++)prime[i] = i;
  seive();
  
  int n;
  cin>>n;
  vector<int>ar(n);

  for(int i=0;i<n;i++){
    cin>>ar[i];
  }

  int gcd = ar[0];
  bool f1 = false,f2 = false;
  for(int i=1;i<n;i++){
    gcd = __gcd(gcd,ar[i]);
  }

  if(gcd == 1){
    f1 = true;
  }

  for(int i=0;i<n;i++){
    fx(ar[i]);
  }

  for(auto it = mp.begin();it!=mp.end();it++){
     if(it->second > 1){
        f2 = true;
        break;
     }
  }

  if(!f1 and f2){
    cout<<"not coprime\n";
  }else if(!f2){
    cout<<"pairwise coprime\n";
  }else{
    cout<<"setwise coprime\n";
  }


  return 0;

} 







// string codes[] = {".;","abc","def","ghi","jkl","mno","pqrs","tu","vwx","yz"};

// vector<string> fx(string s){


//  if(s == ""){

//     vector<string> y;
//     y.push_back("");
//     return y;
//  }

//     //678
//  char ch = s[0];
//  //78
//  string rem = s.substr(1);
    
//     vector<string> temp = fx(rem);
    
//     vector<string> myans ;
   
//     for(int j=0;j<codes[ch-'0'].length();j++){
//       for(int i=0;i<temp.size();i++){
//               myans.push_back(codes[ch-'0'][j] + temp[i]);
//           }
//     }

//     return myans;
   
// }


// vector<string> path(int n){
    
//     if(n == 0){
//      vector<string> v;
//      v.push_back("");
//      return v;
//     }else if(n < 0){
//      vector<string>v;
//      return v;
//     }

//  vector<string>ans1 = path(n-1);
//  vector<string>ans2 = path(n-2);
//  vector<string>ans3 = path(n-3);

//  vector<string> fans;

//  for(int i=0;i<ans1.size();i++){
//    ans1[i] = '1' + ans1[i];
//    fans.push_back(ans1[i]);
//  }

//  for(int i=0;i<ans2.size();i++){
//    ans2[i] = '2' + ans2[i];
//    fans.push_back(ans2[i]);
//  }

//  for(int i=0;i<ans3.size();i++){
//    ans3[i] = '3' + ans3[i];
//    fans.push_back(ans3[i]);
//  }


//  return fans;
// }

// vector<string> getPath(int sr,int sc,int dr,int dc){

//     if(sr == dr and sc == dc){
//      vector<string> v;
//      v.push_back("");
//      return v;
//     }else if(sr > dr or sc > dc ){
//      vector<string> v;
//      return v;
//     }

//  vector<string> ch1 = getPath(sr,sc+1,dr,dc);
//  vector<string> ch2 = getPath(sr+1,sc,dr,dc);
    
//     vector<string> ans;

//  for(int i=0;i<ch1.size();i++){
//    ch1[i] = 'H' + ch1[i];
//    ans.push_back(ch1[i]);
//  }

//  for(int i=0;i<ch2.size();i++){
//    ch2[i] = 'V' + ch2[i];
//    ans.push_back(ch2[i]);
//  }

//  return ans;
// }


// //ABC
// vector<string> getSub(string s){

   
//    if(s == ""){
//        vector<string> v;
//        v.push_back("");
//        return v;
//    }

//    //A
//  char x = s[0];
//    //BC
//  string rem = s.substr(1);
    
//     // 4 strings
//  vector<string> temp = getSub(rem);
    
//     vector<string>res;

//     for(int i=0;i<temp.size();i++){
      
//       res.push_back(x+temp[i]);
//       res.push_back("_"+temp[i]);
//     }

//     return res;
// }


// void permute(string x,string y){
   
//    if(x == ""){
//       cout<<y<<" ";
//       return ;
//    }

//  for(int i=0;i<x.length();i++){

//    char choose = x[i];

//    string rem = x.substr(0,i) + x.substr(i+1);

//    permute(rem,y+choose);
//  }
// }

// int chess[5][5];
// const int n=5;

// void printChess(){
//  for(int i=0;i<n;i++){
//    for(int j=0;j<n;j++){
//      cout<<chess[i][j]<<" ";
//    }
//    cout<<endl;
//  }

//  cout<<endl;
// }



// void knightstour(int r,int c,int chess[][n],int moves){
   
//     if(r<0 or c <0 or r>=n or c>=n or chess[r][c] != 0 ){
//      return;
//     }else if(moves == n*n){
        
//         chess[r][c] = moves;
//         printChess();
//         chess[r][c] = 0;

//         return;
//     }

//     chess[r][c] = moves;

//  knightstour(r-2,c+1,chess,moves+1);
//  knightstour(r-1,c+2,chess,moves+1);
//  knightstour(r+1,c+2,chess,moves+1);
//  knightstour(r+2,c+1,chess,moves+1);
//  knightstour(r-2,c-1,chess,moves+1);
//  knightstour(r-1,c-2,chess,moves+1);
//  knightstour(r+1,c-2,chess,moves+1);
//  knightstour(r+2,c-1,chess,moves+1);

//  chess[r][c] = 0;
// }



Measured memory_bytes: 23624