#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; int a[100010]; vector

f[100010]; int mx[1000010], p1[1000010]; int main() { int n; cin>>n; vector w; unordered_map mp; for(int i=0; i f1; for(auto q:f[i]){ if(mx[q.first]==q.second) f1.push_back(p1[q.first]); } int m=f1.size(); vector vd{1}; for(int k=0; k vd1=vd, vd2=vd; for(auto &x:vd2) x*=f1[k]; copy(vd2.begin(), vd2.end(), back_inserter(vd1)); swap(vd1, vd); } for(auto x:vd) mp[x]++; } queue

que; for(int i=0; i v; for(int i=0; i