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: Wrong Answer

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(10, i8)
    p_stack = 0
    for d in a:
        if p[d] > 2:
            stack[p_stack] = p[d]
            p_stack += 1
            d //= p[d]
            while p[d] > 2:
                if p[d] < stack[p_stack - 1]:
                    stack[p_stack] = p[d]
                    p_stack += 1
                d //= p[d]
            while True:
                p_stack -= 1
                if p_stack == 0:
                    break
                check[stack[p_stack]] += 1
        else:
            if p[d] == 0:
                check[d] += 1
            else:
                check[2] += 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: Wrong Answer

Solution code:
from math import gcd

"""
pairwise coprimeであるための条件は、全てのAに関して素因数に重複がないことである。
したがって、各Aに関して素因数分解を行う⇒各数の素因数の種類数をカウントし総和する。⇒全体の素因数の種類数をカウントし、先ほどの総和と比較する。
"""
N = int(input())
A = list(map(int,input().split()))
primes = []
def primeFinder(n):
    memo = [1]*(n+1)
    memo[0] = 0
    memo[1] = 0
    for i in range(2,n+1):
        if memo[i] == 1:
            primes.append(i)
            for j in range(i*2,n+1,i):
                memo[j] = 0
primeFinder(1000000)

primeMemo = set()
cnt = 0
for i in range(N):
    a = A[i]
    for p in primes:
        if p*p > a:
            break
        if a%p == 0:
            cnt += 1
            primeMemo.add(p)
        while a%p==0:
            a //= p
    if a != 1:
        cnt += 1
        primeMemo.add(a)

if cnt == len(primes):
    print('pairwise coprime')
    exit()
g = A[0]
for i in range(1,N):
    g = gcd(g,A[i])
if g == 1:
    print('setwise coprime')
else:
    print('not coprime')

Submission status: Wrong Answer

Solution code:
from math import gcd

"""
pairwise coprimeであるための条件は、全てのAに関して素因数に重複がないことである。
したがって、各Aに関して素因数分解を行う⇒各数の素因数の種類数をカウントし総和する。⇒全体の素因数の種類数をカウントし、先ほどの総和と比較する。
"""
N = int(input())
A = list(map(int,input().split()))
primes = set()
cnt = 0
for i in range(N):
    a = A[i]
    d = 2
    ceil = int(a**0.5)+1
    for d in range(2,ceil):
        if a % d == 0:
            cnt += 1
            primes.add(d)
            for _ in range(100):
                if a % d==0:
                    a //= d
                else:
                    break
        d += 1

if cnt == len(primes):
    print('pairwise coprime')
    exit()
g = A[0]
for i in range(1,N):
    g = gcd(g,A[i])
if g == 1:
    print('setwise coprime')
else:
    print('not coprime')

Submission status: Wrong Answer

Solution code:
from math import gcd

"""
pairwise coprimeであるための条件は、全てのAに関して素因数に重複がないことである。
したがって、各Aに関して素因数分解を行う⇒各数の素因数の種類数をカウントし総和する。⇒全体の素因数の種類数をカウントし、先ほどの総和と比較する。
"""
N = int(input())
A = list(map(int,input().split()))
primes = set()
cnt = 0
for i in range(N):
    a = A[i]
    d = 2
    while d*d <= a:
        if a % d == 0:
            cnt += 1
            primes.add(d)
            while a%d == 0:
                a //= d
        d += 1

if cnt == len(primes):
    print('pairwise coprime')
    exit()
g = A[0]
for i in range(1,N):
    g = gcd(g,A[i])
if g == 1:
    print('setwise coprime')
else:
    print('not coprime')

Submission status: Wrong Answer

Solution code:
import math
from functools import reduce
n=int(input())
a=list(map(int,input().split()))
arr = [0]*(10**6+1)
def factorization(n):
    arr = []
    temp = n
    for i in range(2, int(-(-n**0.5//1))+1):
        if temp%i==0:
            while temp%i==0:
                temp //= i
            arr.append(i)

    if temp!=1:
        arr.append(temp)

    if arr==[]:
        arr.append(n)

    return arr
for num in a:
    if num==1:arr[1]+=1
    else:
        for s in factorization(num):
            arr[s]+=1
gcd=reduce(math.gcd,a)
ans=max(arr)
if ans==1 or ans==arr[1]:
    print("pairwise coprime")
else:

    if gcd==1:
        print("setwise coprime")
    else:
        print("not coprime")