#include using namespace std; typedef long long ll; #define rep(i, a, b) for(int i = a; i < (b); ++i) #define trav(a, x) for(auto& a : x) #define all(x) x.begin(), x.end() #define sz(x) (int)(x).size() typedef long long ll; typedef pair pii; typedef pair pll; typedef vector vi; typedef vector vl; int main() { int n; cin >> n; int sum = 0; int ma = 0; vector A; rep(c1,0,n){ int a; cin >> a; A.push_back({a,c1}); sum += a; ma = max(ma, a); } if(sum%2 == 1 || 2*ma > sum){ cout << "NO\n"; } else{ cout << "YES\n"; rep(_,0,sum/2){ sort(all(A)); reverse(all(A)); A[0].first--; A[1].first--; cout << A[0].second+1 << " " << A[1].second+1 << "\n"; } } return 0; }