def gcd(a, b): while b: a, b = b, a % b return a N = int(input()) A = [int(a) for a in input().split()] nn = (N - 1).bit_length() X = [A] + [[0] * N for _ in range(nn)] for i in range(nn): for j in range(N - (1 << i + 1) + 1): X[i+1][j] = gcd(X[i][j], X[i][j + (1 << i)]) def calc(i, j): if i == j: return 0 a = (i - j).bit_length() - 1 return gcd(X[a][j], X[a][i-(1<