#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a map factorize(T x){ map res; for(Int i=2;i*i<=x;i++){ while(x%i==0){ x/=i; res[i]++; } } if(x!=1) res[x]++; return res; } //INSERT ABOVE HERE const Int MOD = 100000009; signed main(){ Int T; cin>>T; while(T--){ Int s,n,k,b; cin>>s>>n>>k>>b; vector x(n+1,s); for(Int i=1;i<=n;i++) x[i]=1+(x[i-1]*x[i-1]+x[i-1]*12345)%MOD; for(Int i=0;i<=n;i++){ if(x[i]==0){ cout<<0< cnt(40); for(Int i=0;i<=n;i++){ Int k=x[i],c=0; while(k%p.first==0){ k/=p.first; c++; } cnt[c]++; } Int res=0,num=0; for(Int i=0;i<(Int)cnt.size();i++){ Int d=min(k-num,cnt[i]); num+=d; res+=d*i; } chmin(ans,res/p.second); } cout<