#include <bits/stdc++.h>
using namespace std;
int long long gcd(int long long a, int long long b) {
  return b ? gcd(b, a % b) : a;
}
int long long lcm(int long long a, int long long b) {
  return a / gcd(a, b) * b;
}
int long long GetDigit(int long long num) {
  int long long digit = 0;
  while (num != 0) {
    num /= 10;
    digit++;
  }
  return digit;
}
int long long GetDigitN(int long long num, int long long N) {
  int long long digit = 0;
  while (num != 0) {
    num /= N;
    digit++;
  }
  return digit;
}
int long long GetDigitSum(int long long n) {
  if (n < 10) {
    return n;
  }
  return GetDigitSum(n / 10) + n % 10;
}
unsigned int long long unsignedGetDigitSum(unsigned int long long n) {
  if (n < 10) {
    return n;
  }
  return unsignedGetDigitSum(n / 10) + n % 10;
}
int long long divisorcount(int long long n) {
  int long long ans = 1;
  vector<int> x(n + 1);
  int long long num = n;
  for (int long long i = 2; i <= n; i++) {
    while (num % i == 0) {
      x.at(i)++;
      num /= i;
    }
  }
  for (int i = 2; i <= n; i++) {
    ans *= x.at(i) + 1;
  }
  return ans;
}
int main() {
  unsigned int long long N;
  cin >> N;
  vector<int> V(N);
  for (unsigned int long long i = 0; i < N; i++) {
    cin >> V.at(i);
  }
  int ans = 0;
  for (unsigned int long long i = 0; i < N - 1; i++) {
    for (unsigned int long long j = 0; j < N - 2; j++) {
      if (i != j) {
        if (gcd(V.at(i), V.at(j)) != 1) {
          ans = 1;
        }
      }
    }
  }
  unsigned int long long C;
  if (ans != 0) {
    for (int i = 0; i < N - 1; i++) {
      C = gcd(C, V.at(i));
    }
    if (C != 1) {
      ans = 2;
    }
  }
  if (ans == 2) {
    cout << "not coprime" << endl;
  } else if (ans == 1) {
    cout << "setwise coprime" << endl;
  } else {
    cout << "pairwise coprime" << endl;
  }
  return 0;
}
