//aneesh bose #include using namespace std; const int N=1234567; bool visited[N]; #define loop(i,n) for(int i=0;i=0;i--) #define all(x) (x).begin(),(x).end() #define sz(x) (int)(x).size() #define fi first #define se second #define mp make_pair #define pb push_back #define yolo "debug_statement" typedef unsigned long long ull; typedef long long ll; typedef long double ld; typedef pair pii; typedef vector vpii; typedef vector vi; const ll inf = 1e9; const ld eps = 1e-9; const ld pi=acos(-1); const ll mod=1000000007; //ll modular_pow(ll a,ll b) {ll res=1;a%=mod; assert(b>=0); for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;} /*void dfs(int source){ visited[source] = true; for(auto it: adj[source]) if(!visited[it]) dfs(it); }*/ ull a[N],prime[N]; ull findfactors(ull n) { ull sum=1LL; //int k=0; while(n%2==0) { //cout<<2<<" "; sum+=n; n/=2; } for(ull i=3;i<=sqrt(n);i+=2LL) { while(n%i==0) { //cout<2) //cout<>n; ull ways=0LL; for(int i=0;i>sticks[i]; for(int i=0;i