#include <vector>
#include <cassert>
#include <numeric>
#include <iostream>
// 可変引数で最大公約数を求める関数
template <class T>
T vgcd(T m, T n) {
  return std::gcd(m, n);
}

template <class T, class... Args>
T vgcd(T a, Args... args) {
  return vgcd(a, vgcd(args...));
}

int main() {
  int N;
  std::cin >> N;
  std::vector<int> A(N);
  std::vector<int> G(N*(N-1));
  std::vector<int> one(N*(N-1));
  bool B=true;
  for (int i=0;i<N-1;i++)
  {
    for (int j=i+1;j<N;j++)
    {
      G.at(i*N-(int)i*(i+1)/2+j-i)=vgcd(A.at(i), A.at(j));
    }
  }
  for (int i=0;i<N*(N-1)/2;i++) {
    if(G.at(i)==1) {
      continue;
    }
    else {
      B=false;
      break;
    }
  }
  if (B)
    std::cout << "pairwise coprime" << std::endl;
  else {
    int r = accumulate(A.begin(), A.end(), 0, [](int m, int n) {
      return std::gcd(m, n);
    });
    if (r==1)
      std::cout << "setwise coprime" << std::endl;
    else {
      std::cout << "not coprime" << std::endl;
    }
  }
  
  
}