#include<iostream>#include<cmath>#include<algorithm>#define ll long longusingnamespacestd;constintN=5e4+10;intblen,blo[N];structQuery{intl,r,id;inlinebooloperator<(constQuery&other)const{if(blo[l]^blo[other.l])returnblo[l]<blo[other.l];if(blo[l]&1)returnr<other.r;returnr>other.r;}}q[N];llc_ans;intcl,cr;llcnt[N];intn,m;inta[N];llans[N][2];voidupdate(intpos,intw){ll&cur=cnt[a[pos]];c_ans-=cur*(cur-1);c_ans+=(cur+w)*(cur+w-1);cur+=w;}intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m;blen=max(1,(int)(n/sqrt(m)));for(inti=1;i<=n;i++)blo[i]=(i+blen-1)/blen;for(inti=1;i<=n;i++){cin>>a[i];}for(inti=1;i<=m;i++){cin>>q[i].l>>q[i].r;q[i].id=i;}sort(q+1,q+1+m);cl=1,cr=0;for(inti=1;i<=m;i++){while(cr<q[i].r)update(++cr,1);while(cl>q[i].l)update(--cl,1);while(cr>q[i].r)update(cr--,-1);while(cl<q[i].l)update(cl++,-1);ans[q[i].id][0]=c_ans;ans[q[i].id][1]=2*max(1ll,((ll)cr-cl+1)*(cr-cl)/2);}for(inti=1;i<=m;i++){if(ans[i][0]==0){cout<<"0/1\n";continue;}llg=__gcd(ans[i][0],ans[i][1]);ans[i][0]/=g;ans[i][1]/=g;cout<<ans[i][0]<<'/'<<ans[i][1]<<'\n';}return0;}
#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#define ll long longusingnamespacestd;constintN=2e5+10;inlinellqpow(lla,intb,intp){llres=1;while(b){if(b&1)res=res*a%p;a=a*a%p;b>>=1;}returnres;}voidlisanhua(ll*a,intn){llnum[N],nn=n;for(inti=1;i<=n;i++)num[i]=a[i];sort(num+1,num+1+nn);nn=unique(num+1,num+1+nn)-(num+1);for(inti=1;i<=n;i++){a[i]=lower_bound(num+1,num+1+nn,a[i])-num;}}intblen,block[N];structQuery{intl,r,id;inlinebooloperator<(constQuery&other)const{if(block[l]!=block[other.l])returnblock[l]<block[other.l];if(block[l]&1)returnr<other.r;returnr>other.r;}}q[N];stringbuf;intn,m,p;lla[N],s[N],s1[N],ans[N];llpw10[N];intcl,cr;llc_ans;intcnt[N];inlinevoidupdate(intpos,intw){if(w>0){c_ans+=cnt[s[pos]];++cnt[s[pos]];}else{--cnt[s[pos]];c_ans-=cnt[s[pos]];}}signedmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>p>>buf;n=buf.size();for(inti=1;i<=n;i++)a[i]=buf[i-1]-'0';cin>>m;blen=n/sqrt(m);for(inti=1;i<=n;i++)block[i]=(i+blen-1)/blen;for(inti=1;i<=m;i++){cin>>q[i].l>>q[i].r;q[i].id=i;}if(p==2||p==5){for(inti=1;i<=n;i++){s[i]=s[i-1]+(a[i]%p==0);s1[i]=s1[i-1]+(a[i]%p==0)*i;}for(inti=1;i<=m;i++){intl=q[i].l,r=q[i].r;cout<<(s1[r]-s1[l-1]+(1-l)*(s[r]-s[l-1]))<<'\n';}return0;}pw10[0]=1;pw10[1]=10;for(inti=2;i<=n;i++){pw10[i]=pw10[i-1]*pw10[1]%p;}for(inti=n;i>=1;i--)s[i]=(s[i+1]+a[i]*pw10[n-i])%p;lisanhua(s,n+1);sort(q+1,q+1+m);cl=1,cr=0;for(inti=1;i<=m;i++){++q[i].r;while(q[i].r>cr)update(++cr,1);while(q[i].l<cl)update(--cl,1);while(q[i].r<cr)update(cr--,-1);while(q[i].l>cl)update(cl++,-1);ans[q[i].id]=c_ans;}for(inti=1;i<=m;i++){cout<<ans[i]<<'\n';}return0;}
#include<iostream>#include<bitset>#include<cmath>#include<algorithm>#define ll long longusingnamespacestd;constintN=1e5+10;constintV=1e5;constintL=2e2;intblen,blo[N];structQuery{intop,l,r,x,id;inlinebooloperator<(constQuery&other)const{if(blo[l]!=blo[other.l])returnblo[l]<blo[other.l];if(blo[l]&1)returnr<other.r;returnr>other.r;}}q[N];intn,m;inta[N];boolans[N];namespacework_4{intpre[N][L+5];intlst[N];voidwork(){for(inti=1;i<=n;i++){lst[a[i]]=i;for(intj=1;j<=L;j++){if(a[i]%j==0)pre[i][j]=lst[a[i]/j];if((ll)a[i]*j<=V)pre[i][j]=max(pre[i][j],lst[a[i]*j]);pre[i][j]=max(pre[i][j],pre[i-1][j]);}}for(inti=1;i<=m;i++){if(q[i].op==4&&q[i].x<=L){ans[q[i].id]=pre[q[i].r][q[i].x]>=q[i].l;}}}}intc_l,c_r;intcnt[N];bitset<2*N+5>bs,rbs;voidupdate(intpos,intw){cnt[a[pos]]+=w;if(w>0&&cnt[a[pos]]==1)bs[a[pos]]=1,rbs[2*N-a[pos]]=1;if(w<0&&cnt[a[pos]]==0)bs[a[pos]]=0,rbs[2*N-a[pos]]=0;}intmain(){cin>>n>>m;for(inti=1;i<=n;i++)cin>>a[i];for(inti=1;i<=m;i++)cin>>q[i].op>>q[i].l>>q[i].r>>q[i].x;for(inti=1;i<=m;i++)q[i].id=i;blen=max(1,(int)(n/sqrt(m)));for(inti=1;i<=n;i++)blo[i]=(i+blen-1)/blen;sort(q+1,q+1+m);work_4::work();c_l=1,c_r=0;for(inti=1;i<=m;i++){intl=q[i].l,r=q[i].r,x=q[i].x,id=q[i].id;if(q[i].op==4&&q[i].x<=L)continue;while(l<c_l)update(--c_l,1);while(c_r<r)update(++c_r,1);while(c_l<l)update(c_l++,-1);while(r<c_r)update(c_r--,-1);switch(q[i].op){case1:ans[id]=(bs&(bs>>x)).count();break;case2:ans[id]=(bs&(rbs>>(2*N-x))).count();break;case3:{for(intj=1;j*j<=x;j++){if(x%j)continue;if(bs[j]&&bs[x/j]){ans[id]=true;break;}}};break;case4:{for(intj=x;j<=N;j+=x){if(bs[j]&&bs[j/x]){ans[id]=true;break;}}};break;}}for(inti=1;i<=m;i++){cout<<(ans[i]?"yuno\n":"yumi\n");}return0;}