#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i<(n);i++) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define sz(x) ((int)(x).size()) #define pb push_back using ll = long long; using namespace std; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> N; vector A(N); rep(i,N) cin >> A[i]; if(N==2){ ll g = gcd(A[0],A[1]); if(g!=1){ cout << 0 << '\n'; } else{ cout << (A[0]-1)*(A[1]-1) << '\n'; } cout << "1 2\n"; } else if(N==3){ ll a012 = f(A[2],f(A[0],A[1])); ll a021 = f(A[1],f(A[0],A[2])); ll a120 = f(A[0],f(A[1],A[2])); ll mn = min({a012,a021,a120}); cout << mn << '\n'; if(mn==a012){ cout << "1 2\n"; } else if(mn==a021){ cout << "1 3\n"; } else{ cout << "2 3\n"; } cout << "1 2\n"; } else{ cout << 0 << '\n'; rep(i,N-1){ cout << "1 2\n"; } } return 0; }