from collections import deque import math import sys input = sys.stdin.readline N = int(input()) A = list(map(int, input().split())) ans = [] if N==2: g = math.gcd(A[0], A[1]) ans.append((1, 2)) if g==1: m = (A[0]-1)*(A[1]-1) else: m = 0 print(m) for i, j in ans: print(i, j) elif N==3: g = math.gcd(A[0], A[1]) if g==1: m = (A[0]-1)*(A[1]-1) else: m = 0 g = math.gcd(m, A[2]) if g==1: m = (m-1)*(A[2]-1) else: m = 0 g = math.gcd(A[0], A[2]) if g==1: m2 = (A[0]-1)*(A[2]-1) else: m2 = 0 g = math.gcd(m2, A[1]) if g==1: m2 = (m2-1)*(A[1]-1) else: m2 = 0 g = math.gcd(A[1], A[2]) if g==1: m3 = (A[1]-1)*(A[2]-1) else: m3 = 0 g = math.gcd(m3, A[0]) if g==1: m3 = (m3-1)*(A[0]-1) else: m3 = 0 if m1: ai = A.popleft() aj = A.popleft() ans.append((1, 2)) g = math.gcd(ai, aj) if g==1: m = (ai-1)*(aj-1) else: m = 0 A.append(m) print(A[0]) for i, j in ans: print(i, j)