#include using namespace std; using pii = pair; using ll = long long; const int N = 2000010, MOD = 998244353, INF = 0x3f3f3f3f; int n, m, w[N]; char s[N]; ll f[N][3]; void solve() { scanf("%d%s", &n, s + 1); if (s[1] == '0') f[1][0] = f[1][2] = 1; else f[1][1] = 1; for (int i = 2; i < n + 1; i++) { if (s[i] == '0') { f[i][0] = (f[i - 1][0] + f[i - 1][1]) % MOD; f[i][2] = (f[i - 1][0] + f[i - 1][1] + f[i - 1][2]) % MOD; } else { f[i][0] = f[i - 1][0] % MOD; f[i][1] = (f[i - 1][0] + f[i - 1][1] + f[i - 1][2]) % MOD; } } printf("%lld\n", (f[n][0] + f[n][1]) % MOD); } int main() { int T = 1; // cin >> T; while (T--) solve(); return 0; }