P24896 [AtCoder] Secret Passage
省选
题目描述

Problem Statement

Given is a string S consisting of 0 and 1. Find the number of strings, modulo 998244353, that can result from applying the following operation on S zero or more times:

  • Remove the two characters at the beginning of S, erase one of them, and reinsert the other somewhere in S. This operation can be applied only when S has two or more characters.

Input

Input is given from Standard Input in the following format:
S

Output

Print the number of strings, modulo 998244353, that can result from applying the operation on S zero or more times.

Constraints

  • $1 \leq |S| \leq 300$
  • S consists of 0 and 1.

Sample Input 1

0001

Sample Output 1

8

Eight strings, 0001, 001, 010, 00, 01, 10, 0, and 1, can result.

Sample Input 2

110001

Sample Output 2

24

Sample Input 3

11101111011111000000000110000001111100011111000000001111111110000000111111111

Sample Output 3

697354558

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
0001
样例输出
8