|
|
|
@ -59,17 +59,18 @@ signed main() {
|
|
|
|
|
s *= p[j];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int nn = n / s;
|
|
|
|
|
int pt = (nn) % mod * (nn + 1) % mod * (2 * nn + 1) % mod * Six % mod;
|
|
|
|
|
// 这里没看懂
|
|
|
|
|
int k = n / s;
|
|
|
|
|
int pt = (k) % mod * (k + 1) % mod * (2 * k + 1) % mod * Six % mod;
|
|
|
|
|
pt = pt * s % mod * s % mod;
|
|
|
|
|
pt = (pt + nn * (s + s * nn) % mod * Two % mod) % mod;
|
|
|
|
|
|
|
|
|
|
pt = (pt + k * (s + s * k) % mod * Two % mod) % mod;
|
|
|
|
|
|
|
|
|
|
if (cnt & 1)
|
|
|
|
|
res = (res - pt + mod) % mod;
|
|
|
|
|
else
|
|
|
|
|
res = (res + pt) % mod;
|
|
|
|
|
}
|
|
|
|
|
// 补集,标准取模动作
|
|
|
|
|
// 输出
|
|
|
|
|
cout << res << endl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|