#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
template <typename T>
struct Edge {
  int u, v;
  T cost;
  Edge(int u, int v, T c) : u(u), v(v), cost(c) {}
  bool operator<(const Edge &e) const { return cost < e.cost; }
};
static const long long MOD = 1000000007;
static const long long LINF = (long long)(1e18 + 99);
static const int MAX = 20;
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
long long ans;
int main(void) {
  int N;
  cin >> N;
  vector<long long> A(N, 0);
  for (int i = (0); i < (N); i++) cin >> A[i];
  long long g = A[0];
  for (int i = (0); i < (N); i++) g = gcd(g, A[i]);
  if (g != 1) {
    puts("not coprime");
    return 0;
  }
  sort((A).begin(), (A).end());
  vector<bool> x(MAX, false);
  for (int i = (0); i < (N); i++) x[A[i]] = true;
  for (int i = (2); i < (MAX + 1); i++) {
    int cnt = 0;
    for (int j = i; j <= MAX; j += i) {
      if (x[j]) cnt++;
    }
    if (cnt > 1) {
      puts("setwise coprime");
      return 0;
    }
  }
  puts("pairwise coprime");
  return 0;
}
