#agc020e. [agc020_e]Encoding Subsets

[agc020_e]Encoding Subsets

Problem Statement

Consider the following set of rules for encoding strings consisting of 0 and 1:

  • Strings 0 and 1 can be encoded as 0 and 1, respectively.
  • If strings AA and BB can be encoded as PP and QQ, respectively, then string ABAB can be encoded as PQPQ.
  • If string AA can be encoded as PP and Kgeq2K \\geq 2 is a positive integer, then string AA...AAA...A (AA repeated KK times) can be encoded as (PPxKK).

For example, string 001001001, among other possibilities, can be encoded as 001001001, 00(1(0x2)x2)1 and (001x3).

Let's call string AA a subset of string BB if:

  • AA and BB are equal in length and consist of 0 and 1;
  • for all indices ii such that AiA_i = 1, it's also true that BiB_i = 1.

You are given string SS consisting of 0 and 1. Find the total number of distinct encodings of all subsets of SS, modulo 998244353998244353.

Constraints

  • 1leqSleq1001 \\leq |S| \\leq 100
  • SS consists of 0 and 1.

Input

Input is given from Standard Input in the following format:

SS

Output

Print the total number of distinct encodings of all subsets of SS modulo 998244353998244353.


Sample Input 1

011

Sample Output 1

9

There are four subsets of SS:

  • 011 can be encoded as 011 and 0(1x2);
  • 010 can be encoded as 010;
  • 001 can be encoded as 001 and (0x2)1;
  • 000 can be encoded as 000, 0(0x2), (0x2)0 and (0x3).

Thus, the total number of encodings of all subsets of SS is 2+1+2+4=92 + 1 + 2 + 4 = 9.


Sample Input 2

0000

Sample Output 2

10

This time SS has only one subset, but it can be encoded in 1010 different ways.


Sample Input 3

101110

Sample Output 3

156

Sample Input 4

001110111010110001100000100111

Sample Output 4

363383189

Don't forget to take the result modulo 998244353998244353.