#include using namespace std; using ll = long long; #define rep(i,n) for(int i=0;i<(int)(n);i++) constexpr int mxsz = 4098; using bst = bitset; vector v(mxsz); unordered_map mp; bst dfs(ll x){ auto itr=mp.find(x); if(itr!=mp.end()) return itr->second; int shf=v.end()-upper_bound(v.begin(),v.end(),x); if(!shf) return mp[x]=0; bst res; res.set(); res>>=shf; res|=dfs(x*7); res|=dfs(x*5); res|=dfs(x*3); res|=dfs(x*2); res.flip(); return mp[x]=res; } int main(){ int t; cin>>t; vector vv(t); rep(i,t) cin>>vv[i]; vector ans(t); vector p(t); iota(p.begin(),p.end(),0); sort(p.begin(),p.end(),[&](int a,int b){ return vv[a]t){ for(int j=t;j