#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define ull unsigned ll
#define db double
#define pint pair<int,int>
#define mk make_pair
#define pb push_back
#define eb emplace_back
#define ins insert
#define fi first
#define se second
#define Rep(x,y,z) for(int x=y;x<=z;x++)
#define Red(x,y,z) for(int x=y;x>=z;x--)
using namespace std;
const int Mod=998244353,MAXN=3e7+5;
char buf[1<<12],*pp1=buf,*pp2=buf,nc;int ny;
inline char gc() {return pp1==pp2&&(pp2=(pp1=buf)+fread(buf,1,1<<12,stdin),pp1==pp2)?EOF:*pp1++;}
//inline char gc(){return getchar();}
inline int read(){
int x=0;for(ny=1;nc=gc(),(nc<48||nc>57)&&nc!=EOF;)if(nc==45)ny=-1;if(nc<0)return nc;
for(x=nc-48;nc=gc(),47<nc&&nc<58&&nc!=EOF;x=(x<<3)+(x<<1)+(nc^48));return x*ny;
}
int n,m,r,Fac[MAXN],iFac[MAXN],*F1;
inline int M(int x){return (x>=Mod)?(x-Mod):x;}
inline int Fp(int x,int k){int ans=1;for(;k;k>>=1,x=1ll*x*x%Mod)if(k&1)ans=1ll*ans*x%Mod;return ans;}
inline void Init(int n=3e7){
Fac[0]=1;Rep(i,1,n)Fac[i]=1ll*Fac[i-1]*i%Mod;
iFac[n]=Fp(Fac[n],Mod-2);Red(i,n,1)iFac[i-1]=1ll*iFac[i]*i%Mod;
}
inline int C(int n,int m){return n<0||m<0||n<m?0:1ll*Fac[n]*iFac[m]%Mod*iFac[n-m]%Mod;}
int main(){
// freopen("std.in","r",stdin);
// freopen("std.out","w",stdout);
//n=read(),m=read(),r=read();
n=1.5e7;m=1.5e7;F1=Fac+n-1;
Init();int ans=0;
cerr<<clock()<<endl;
for(int i=0;i<=m;i++)F1[i]=1ll*F1[i]*iFac[i]%Mod;
for(int i=1;i<=n;i++)
{
int res=0;
for(int *p1=F1+m-i,j=i;j<=m;p1-=i,j+=i)res=M(res+*p1);ans^=res;
}
cerr<<ans;
/* int ans=0;
Rep(i,r+1,n){
int t1=0,t2=0;
Rep(j,1,m)if(i*j<=m)t1=(t1+C(m-i*j+n-1,n-1))%Mod;else break;
Rep(k,1,r)t2=(t2+1ll*(i-k&1?Mod-1:1)*C(i-1,k-1))%Mod;
ans=(ans+1ll*t1*t2%Mod*C(n,i))%Mod;
}
int i=1;
int t1=0,t2=0;
Rep(j,1,m)t1=(t1+C(m-i*j+n-1,n-1))%Mod;
Rep(k,1,min(r,i))t2=(t2+1ll*(i-k&1?Mod-1:1)*C(i-1,k-1))%Mod;
ans=(ans+1ll*t1*t2%Mod*C(n,i))%Mod;
cout<<(1ll*ans*Fp(C(n+m-1,n-1),Mod-2)%Mod+r)%Mod<<"\n";
return 0;*/
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Subtask #1 Testcase #1 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #2 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #3 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #4 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #5 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #6 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #7 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #8 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #9 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #10 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #11 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #12 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Subtask #1 Testcase #13 | 1 s | 228 MB + 944 KB | Time Limit Exceeded | Score: 0 | 显示更多 |