AT_arc193_b [ARC193B] Broken Wheel

Description

You are given a positive integer $ N $ and a length- $ N $ string $ s_0s_1\ldots s_{N-1} $ consisting only of `0` and `1`. Consider a simple undirected graph $ G $ with $ (N+1) $ vertices numbered $ 0, 1, 2, \ldots, N $ , and the following edges: - For each $ i = 0, 1, \ldots, N-1 $ , there is an undirected edge between vertices $ i $ and $ (i+1)\bmod N $ . - For each $ i = 0, 1, \ldots, N-1 $ , there is an undirected edge between vertices $ i $ and $ N $ if and only if $ s_i = $ `1`. - There are no other edges. Furthermore, create a directed graph $ G' $ by assigning a direction to each edge of $ G $ . That is, for each undirected edge $ \lbrace u, v \rbrace $ in $ G $ , replace it with either a directed edge $ (u, v) $ from $ u $ to $ v $ or a directed edge $ (v, u) $ from $ v $ to $ u $ . For each $ i = 0, 1, \ldots, N $ , let $ d_i $ be the in-degree of vertex $ i $ in $ G' $ . Print the number, modulo $ 998244353 $ , of distinct sequences $ (d_0, d_1, \ldots, d_N) $ that can be obtained.

Input Format

The input is given from Standard Input in the following format: > $ N $ $ s_0s_1\ldots s_{N-1} $

Output Format

Print the answer.

Explanation/Hint

### Sample Explanation 1 $ G $ has four undirected edges: $ \lbrace 0, 1 \rbrace, \lbrace 0, 2 \rbrace, \lbrace 1, 2 \rbrace, \lbrace 1, 3 \rbrace $ . For example, if we assign directions to each edge as $ 0 \to 1 $ , $ 2 \to 0 $ , $ 2 \to 1 $ , $ 1 \to 3 $ , then $ (d_0, d_1, d_2, d_3) = (1, 2, 0, 1) $ is obtained. The possible sequences $ (d_0, d_1, d_2, d_3) $ are $ (0, 1, 2, 1) $ , $ (0, 2, 1, 1) $ , $ (0, 2, 2, 0) $ , $ (0, 3, 1, 0) $ , $ (1, 0, 2, 1) $ , $ (1, 1, 1, 1) $ , $ (1, 1, 2, 0) $ , $ (1, 2, 0, 1) $ , $ (1, 2, 1, 0) $ , $ (1, 3, 0, 0) $ , $ (2, 0, 1, 1) $ , $ (2, 1, 0, 1) $ , $ (2, 1, 1, 0) $ , $ (2, 2, 0, 0) $ , for a total of $ 14 $ . ### Constraints - $ 3 \leq N \leq 10^6 $ - $ N $ is an integer. - Each $ s_i $ is `0` or `1`.