#include<bits/stdc++.h>
using namespace std;
#define int long long
#define f(i,j,k) for(register int i=j;i<=k;++i)
#define g(i,j,k) for(register int i=j;i>=k;--i)
int n,m,s,l;
const int mo=998244353;
char a[202020];
int dp[202020];
signed main(){
cin>>n;
scanf("%s",a+1);
//dp[i]=dp[j]*num(j+1,i)
//s:dp[j]*num(j+1,i)
f(i,1,n){
l=a[i]^48;m=(m*10+l)%mo;
s=(s*10+dp[i-1]*l)%mo;
dp[i]=(dp[i-1]+s+m)%mo;
}
printf("%lld\n",(dp[n]+mo-dp[n-1])%mo);
return 0;
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:15:4: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
15 | f(i,1,n){
| ^
./Main.cpp:4:35: note: in definition of macro ‘f’
4 | #define f(i,j,k) for(register int i=j;i<=k;++i)
| ^
./Main.cpp:12:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
12 | scanf("%s",a+1);
| ~~~~~^~~~~~~~~~