AtCoder Grand Contest 039
C
Division by Two with Something
AtCoder
⌀ 2379
原题
← BD →
翻译中…

Problem Statement

翻译中…

Given are integers $N$ and $X$. For each integer $k$ between $0$ and $X$ (inclusive), find the answer to the following question, then compute the sum of all those answers, modulo $998244353$.

翻译中…
  • Let us repeat the following operation on the integer $k$. Operation: if the integer is currently odd, subtract $1$ from it and divide it by $2$; otherwise, divide it by $2$ and add $2^{N-1}$ to it. How many operations need to be performed until $k$ returns to its original value? (The answer is considered to be $0$ if $k$ never returns to its original value.)
翻译中…

Constraints

翻译中…
  • $1 \leq N \leq 2\times 10^5$
  • $0 \leq X < 2^N$
  • $X$ is given in binary and has exactly $N$ digits. (In case $X$ has less than $N$ digits, it is given with leading zeroes.)
  • All values in input are integers.
翻译中…

Input

翻译中…

Input is given from Standard Input in the following format:

翻译中…

N
X

翻译中…

Output

翻译中…

Print the sum of the answers to the questions for the integers between $0$ and $X$ (inclusive), modulo $998244353$.

翻译中…

样例

Input #1
3
111
Output #1
40
For example, for $k=3$, the operation changes $k$ as follows: $1,0,4,6,7,3$. Therefore the answer for $k=3$ is $6$.
Input #2
6
110101
Output #2
616
Input #3
30
001110011011011101010111011100
Output #3
549320998
题目信息
题号
agc039_c
时间限制
2 s
内存限制
1024 MB

题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。