#include <bits/stdc++.h>
using namespace std;
#define int __int128
const int MOD(998244353);
int qpow(int x, int k=MOD-2){
int res(1);
x %= MOD;
for (; k; k>>=1){
if (k & 1) (res *= x) %= MOD;
(x *= x) %= MOD;
}
return res;
}
long long n, k;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
for (int i(n); i; i/=10) ++k;
int res((qpow(10, (n%(MOD-1))*k)-1+MOD)%MOD), res2(qpow((qpow(10, k)-1+MOD)%MOD));
cout << (long long)(n*(res*res2%MOD)%MOD);
return 0;
}
如果把上面的 #define int __int128 改成 #define int long long,就会 WA。为什么?