#include using namespace std; // // map,int> mp; // int f(vector a){ // if(mp.find(a)!=mp.end()){return mp[a];} // int cur=-1; // for(int i=1;cur==-1 && i b=a; // while(b[i]>0){ // b[i]--; // b[i-j]++; // if(f(b)==-1){cur=1;break;} // } // } // } // mp[a]=cur; // return cur; // } // // void rep(int n,int m,vector &a){ // if(n==0){ // f(a); // return; // } // for(int i=0;i<=m;i++){ // a.push_back(i); // rep(n-1,m-i,a); // a.pop_back(); // } // } // // int main(){ // int n,m; // cin >> n >> m; // vector ini={}; // rep(n,m,ini); // // for(auto &nx : mp){ // if(nx.second==-1){ // for(auto &ny : nx.first){cout << ny << " ";} // cout << "\n"; // } // } // return 0; // } int main(){ int n; cin >> n; vector a(n); for(auto &nx : a){cin >> nx;} int g=0; for(int i=1;i