#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=998244353; ll mypow(int x,ll n){ if(n==0) return 1; if(n%2==1) return mypow(x,n-1)*x%mod; ll res=mypow(x,n/2); return res*res%mod; } ll inv(int x){ return mypow(x,mod-2); } int main(){ int n; string s; cin>>n>>s; int ans1=0,tmp1=0,tmp2=1; for(auto x:s){ if(x=='?') tmp2=tmp2*10ll%mod; (tmp1+=tmp2)%=mod; } for(auto x:s){ (ans1+=tmp1)%=mod; if(x=='?') tmp1=tmp1*inv(10)%mod; (tmp1+=mod-1)%=mod; } ll tmp3=(n+1ll)*n/2; (ans1+=mod-tmp3%mod)%=mod; ans1=ans1*inv(3)%mod; int ans2=0,cnt[3]={1,0,0},sum=0; for(auto x:s){ (sum+=x)%=3; (ans2+=cnt[sum])%=mod; cnt[sum]++; } cout<<(ans1+ans2)%mod<