4431: Absolute Difference Equation

内存限制:128 MB 时间限制:5 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:0 通过:0

题目描述

For a sequence a1, a2, …, an, consider the following operation f(a) = {b1, b2, …, bn-1}, where bi = |aiai+1|.

After applying the operation f for n − 1 times, denoted by n−1(a), the sequence will become a single element.

Bobo has a sequence a of length n filled with 0, 1 and ?. He would like to know the number of ways modulo (109 + 7) to replace ? to 0 or 1 such that n−1(a) = {1}.

输入格式

The input consists of several test cases terminated by end-of-file. For each test case:

The first line contains a nonempty string a consisting only of 0, 1 and ?, denoting the given sequence.

  • 1 ≤ |a| ≤ 106
  • The sum of |a| does not exceed 107.

输出格式

For each test case, print an integer which denotes the result.

输入样例 复制

1
?????
1010?1?0

输出样例 复制

1
16
2