AT_xmascon21_c Count Me

题目描述

给定一个长度为 $N$ 的由 `0`,`1`,`?` 组成的字符串 $S$,`?` 可能是 `0` 或者 `1`。你需要求出每个 `?` 分别取 `0` 或 `1` 的每一种情况下,满足下列条件的由 `0` 或 `1` 组成的字符串序列 $t_0,t_1, t_2, \ldots, t_n$ 的数量之和,答案对 $998244353$ 取模: 1. $t_i$ 的长度是 $i$,也就是说,$t_0$ 是空串。 2. 对于所有 $0 \leq i < n$,$t_i$ 是 $t_{i+1}$ 的子序列。 3. $t_n=S$

输入格式

第一行一个正整数 $N$,第二行一个 `0`,`1`,`?` 组成的长度为 $N$ 的字符串 $S$。

输出格式

一行一个正整数表示数量之和对 $998244353$ 取模的结果。

说明/提示

对于所有的数据,$1 \leq N \leq 250\,000$。 Subtask (10分):$1 \leq N \leq 5\,000$。