We have N integers. The i-th number is A_i.

\\{A_i\\} is said to be pairwise coprime when GCD(A_i,A_j)=1 holds for every pair (i, j) such that 1\leq i < j \leq N.

\\{A_i\\} is said to be setwise coprime when \\{A_i\\} is not pairwise coprime but GCD(A_1,\ldots,A_N)=1.

Determine if \\{A_i\\} is pairwise coprime, setwise coprime, or neither.

Here, GCD(\ldots) denotes greatest common divisor.

Constraints

* 2 \leq N \leq 10^6
* 1 \leq A_i\leq 10^6

Input

Input is given from Standard Input in the following format:


N
A_1 \ldots A_N


Output

If \\{A_i\\} is pairwise coprime, print `pairwise coprime`; if \\{A_i\\} is setwise coprime, print `setwise coprime`; if neither, print `not coprime`.

Examples

Input

3
3 4 5


Output

pairwise coprime


Input

3
6 10 15


Output

setwise coprime


Input

3
6 10 16


Output

not coprime
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
//解説AC
int gcd(int a, int b){
   if (a%b == 0)return(b);
   else return(gcd(b, a%b));
}
int num[1000010];
int main(){
  int n;
  cin>>n;
  vector<int>a(n);
 
  rep(i,n){
    int x;
    cin>>x;
    a[i]=x;
    num[x]++;
  }
  bool pairwise=true;
  for(int i=2;i<1000010;i++){
    int kazu=0;
    for(int j=i;j<1000010;j+=i){
      kazu+=num[j];
    }
    if(kazu>1)pairwise=false;
  }
  if(pairwise){
    cout<<"pairwise coprime"<<endl;
    return 0;
  }
  int g=0;
  rep(i,n)g=gcd(g,a[i]);
  if(g==1) cout<<"setwise coprime"<<endl;
  else cout<<"not coprime"<<endl;
  return 0;
}