Problem:
Score : 500 points

Problem Statement

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.

Sample Input 1

3
3 4 5

Sample Output 1

pairwise coprime

GCD(3,4)=GCD(3,5)=GCD(4,5)=1, so they are pairwise coprime.

Sample Input 2

3
6 10 15

Sample Output 2

setwise coprime

Since GCD(6,10)=2, they are not pairwise coprime. However, since GCD(6,10,15)=1, they are setwise coprime.

Sample Input 3

3
6 10 16

Sample Output 3

not coprime

GCD(6,10,16)=2, so they are neither pairwise coprime nor setwise coprime.

Solution in Python (3.8.2) (judge verdict: Wrong Answer)

N = int(input())
A = list(map(int, input().split()))
ans = [0, 0]
gcd = [1]
gcda = []
ansp = 0
for i in range(N-1):
    for j in range(i+1, N):
        if A[i] > A[j]:
            a = A[i]
            b = A[j]
        else:
            a = A[j]
            b = A[i]
        c = a % b
        if c == 0:
            gcd.append(b)
            break
        elif c == 1:
            ansp += 1
            break
        for k in range(c):
            a = b
            b = c
            c = a % b
            if c == 0:
                gcd.append(b)
                break
            if c == 1:
                ansp += 1
                break
# print(gcd)            
if ansp == N * (N-1) // 2:
    ans[0] = 1
else:
    gcd.sort()
    if len(gcd) > 1:
        for i in range(1,len(gcd)-1):
            a = gcd[i]
            b = gcd[i+1]
            c = b % a
        if c == 0:
            gcda.append(a)
        elif c == 1:
            pass
        else:   
            for k in range(c):
                b = a
                a = c
                c = b % a
            if c == 1:
                pass
            if c == 0:
                gcda.append(a)
    d = len(gcda)
    if d == 0:
        ans[1] = 1
    else:
        D = gcda[0]
        r = gcda.count(D)
        if r == d:
            pass
        else:
            ans[1] = 1              



if ans[0] == 1:
    print("pairwise comprime")
elif ans[1] == 1:
    print("setwise comprime")
else:
    print("not comprime")