#define rep(i,n) for(int i=0;i<(int)(n);i++) #define ALL(v) v.begin(),v.end() typedef long long ll; #include using namespace std; ll dp[200200][3]; const int MOD=998244353; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); int n; string s; cin>>n>>s; rep(i,n){ if(s[i]!='?'){ int x=s[i]-'0'; rep(j,3) dp[i+1][(j*10+x)%3]=(dp[i+1][(j*10+x)%3]+dp[i][j])%MOD; dp[i+1][x%3]=(dp[i+1][x%3]+1)%MOD; } else{ rep(k,10){ rep(j,3) dp[i+1][(j*10+k)%3]=(dp[i+1][(j*10+k)%3]+dp[i][j])%MOD; dp[i+1][k%3]=(dp[i+1][k%3]+1)%MOD; } } } ll ans=0; for(int i=1;i<=n;i++) ans=(ans+dp[i][0])%MOD; cout<