3918 - 曲谱

题目描述

在中国古代音乐传承中,有一套隐秘的“音律编码”用于记录琴曲。

该系统将 26 个基本音符与英文字母 az 一一对应。

每个音符都有一个固定的位序值:

  • a 对应 1
  • b 对应 2
  • \dots
  • z 对应 26

一段乐谱可以通过将其每个音符替换为对应的位序值,并按顺序连接起来,转化为一段由数字组成的“音律编码”。

例如,琴曲片段 faf 转换过程如下:

  • f 是第 6 个字母 \to 6
  • a 是第 1 个字母 \to 1
  • f 是第 6 个字母 \to 6,最终得到编码 616

然而,同一个编码可能对应多种不同的乐谱。例如,编码 616 既可以解读为 faf (6, 1, 6),也可以解读为 fp (6, 16)。

现在,给定一段在残卷中发现的音律编码,请你计算共有多少种可能的原始乐谱解读方案。由于结果可能很大,请对 10^9 + 7 取模。

输入

输入一个整数 t,表示有 t 组测试数据。

输入 t 行,每行一串数字表示一段乐谱转化的音律编码。

输出

对于每组测试数据,输出一行,表示对应的解读方案数。

样例

输入

1
616

输出

2

输入

1
200

输出

0

输入

2
123412
121212

输出

6
13
说明

样例输入 4

3
102
1501
120510

样例输出 4

1
0
1

样例 1 解释

请参考题目描述。

样例 2 解释

每个音对应的位序范围为 1 \sim 26,因此只能按 1 位或 2 位进行尝试。

所以 200 可以划分为 3 种情况:

  • 情况 1:2+0+0

  • 情况 2:2+00

  • 情况3:20+0

但是这几种都不存在 1 \sim 26 合法范围内的音,所以方案数为 0

数据规模

对于 30 \% 的数据,输入的音律编码长度不超过 10 位。

对于 60 \% 的数据,输入的音律编码长度不超过 10^3 位。

对于 100 \% 的数据,输入的音律编码长度不超过 10^5 位。

数据保证 1 \leq t \leq 10 ,音律编码中仅包含数字字符。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 19
通过人数 9
金币数量 2 枚
难度 入门


上一题 下一题