题目描述
Consider the following set of rules for encoding strings consisting of 0 and 1:
- Strings
0and1can be encoded as0and1, respectively. - If strings A and B can be encoded as P and Q, respectively, then string AB can be encoded as PQ.
- If string A can be encoded as P and $K \geq 2$ is a positive integer, then string AA...A (A repeated K times) can be encoded as
(PxK).
For example, string 001001001, among other possibilities, can be encoded as 001001001, 00(1(0x2)x2)1 and (001x3).
Let's call string A a subset of string B if:
- A and B are equal in length and consist of
0and1; - for all indices i such that A_i =
1, it's also true that B_i =1.
You are given string S consisting of 0 and 1. Find the total number of distinct encodings of all subsets of S, modulo 998244353.
Constraints
- $1 \leq |S| \leq 100$
- S consists of
0and1.
Input
Input is given from Standard Input in the following format:
S
Output
Print the total number of distinct encodings of all subsets of S modulo 998244353.
Examples
Input
011
Output
9
Input
0000
Output
10
Input
101110
Output
156
Input
001110111010110001100000100111
Output
363383189
输入格式
见题面
输出格式
见题面
样例输入
101110
样例输出
156