#include <bits/stdc++.h>
using namespace std;
const int N=2e6+10;
const int mod = 998244353;
typedef long long ll;
typedef unsigned long long ull;
int n,a1,m;
int a[N];
ll b[N];
void solve()
{
cin>>n>>a[1]>>m;
for(int i=2;i<=n;i++)
{
a[i] = (a[i-1]+7*i)%m;
}
int ans = 0;
for(int i=1;i<=n;i++)
{
for(int j=i;j<=n;j+=i)
{
b[j]+=a[i];
}
}
for(int i=1;i<=n;i++)
{
ans ^= b[i];
}
cout<<ans<<'\n';
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t=1;
// cin>>t;
while(t--)
{
solve();
}
return 0;
}
暴力枚举

京公网安备 11010502036488号