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.



Sample input:
3
3 4 5


Sample output:
pairwise coprime

Submission status: Accepted

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64


def get_primes(p):
    N = p.shape[0]
    n_max = int(np.sqrt(N - 1)) + 1
    p[0] = 1
    p[1] = 1
    for i in range(2, n_max):
        if p[i] == 0:
            j = i * 2
            while j < N:
                p[j] = i
                j += i


def gcd(a, b):
    '''Computes the greatest common divisor of integers a and b using
    Euclid's Algorithm.
    '''
    while b != 0:
        a, b = b, a % b
    return a


def solve(A):
    a = np.sort(A)
    g = a[0]
    for i in range(1, a.shape[0]):
        g = gcd(a[i], g)
    if g > 1:
        return 2
    p_max = a[-1]
    p = np.zeros(p_max + 1, i8)
    get_primes(p)
    primes = np.where(p == 0)[0]
    a_start = 0
    while a[a_start] == 1:
        a_start += 1
        if a_start == a.shape[0]:
            return 0
    a = a[a_start: ]
    if len(a) > len(primes):
        return 1
    check = np.zeros(p_max + 1, i8)
    stack = np.empty(20, i8)
    p_stack = 0
    for d in a:
        x = p[d]
        while x > 0:
            for i in range(p_stack):
                if stack[i] == x:
                    break
            else:
                stack[p_stack] = x
                p_stack += 1
            d //= x
            x = p[d]

        for i in range(p_stack):
            if stack[i] == d:
                break
        else:
            stack[p_stack] = d
            p_stack += 1

        while p_stack > 0:
            p_stack -= 1
            check[stack[p_stack]] += 1

    if check.max() > 1:
        return 1
    else:
        return 0


def main(in_file):
    stdin = open(in_file)
    stdin.readline()
    A = np.array([int(x) for x in stdin.readline().split()])
    ans = solve(A)
    p = ['pairwise coprime', 'setwise coprime', 'not coprime']
    print(p[ans])


def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'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'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)

Submission status: Accepted

Solution code:
# E - Coprime
from math import gcd

N = int(input())
A = list(map(int,input().split()))
MAX = 10**6
p = [0]*(MAX+1)

for i in range(2,MAX+1):
    if p[i]>0:
        continue
    tmp = i
    while tmp<=MAX:
        p[tmp] = i
        tmp += i

pairwise = True
g = -1
q = [N]*(MAX+1)

for i in range(N):
    a = A[i]
    g = a if g<0 else gcd(g,a)
    while pairwise and a>1:
        pairwise = False if q[p[a]]<i else True
        q[p[a]] = i
        a //= p[a]

if pairwise:
    print('pairwise coprime')
elif g==1:
    print('setwise coprime')
else:
    print('not coprime')

Submission status: Accepted

Solution code:
# E - Coprime
from math import gcd

N = int(input())
A = list(map(int,input().split()))
MAX = 10**6
p = [0]*(MAX+1)

for i in range(2,MAX+1):
    if p[i]>0:
        continue
    tmp = i
    while tmp<=MAX:
        p[tmp] = i
        tmp += i

pairwise = True
g = -1
q = [-1]*(MAX+1)

for i in range(N):
    a = A[i]
    g = a if g<0 else gcd(g,a)
    while pairwise and a>1:
        pairwise = True if q[p[a]] in [-1,i] else False
        q[p[a]] = i
        a //= p[a]

if pairwise:
    print('pairwise coprime')
elif g==1:
    print('setwise coprime')
else:
    print('not coprime')

Submission status: Accepted

Solution code:
from math import gcd
from functools import reduce

N, *A = map(int, open(0).read().split())

def f():
    t = [0] * (10 ** 6 + 1)
    for a in A:
        t[a] += 1

    c = 0
    for j in range(2, 10 ** 6 + 1, 2):
        c += t[j]
    if c > 1:
        return False

    for i in range(3, 10 ** 6 + 1, 2):
        c = 0
        for j in range(i, 10 ** 6 + 1, i):
            c += t[j]
        if c > 1:
            return False

    return True

if f():
    print('pairwise coprime')
elif reduce(gcd, A) == 1:
    print('setwise coprime')
else:
    print('not coprime')