#CF1056E. Check Transcription

Check Transcription

markdown E. 检查转录

每个测试点的时限:33
每个测试点的内存限制:256256 MB
输入:标准输入
输出:标准输出

阿尔卡迪的一位朋友在一台巨大的射电望远镜工作。几十年前,望远镜向一个遥远的星系发送了一个信号。最近,他们收到了一个回复,他们认为这是来自外星人的回应!科学家们现在想检查这个回复信号是否与原始信号相似。

原始信号 ss 是一个由 0011 组成的序列(众所周知,二进制代码是全宇宙通用的语言)。然而,收到的信号 tt 看起来不像 ss 那样简单,但科学家们并没有放弃!他们将 tt 表示为一个由英文字母组成的序列,并认为 ttss 相似,如果可以将 ss 中的所有 00 替换为某个字符串 r0r_0,并将 ss 中的所有 11 替换为另一个字符串 r1r_1,从而得到 tt。字符串 r0r_0r1r_1 必须不同且非空。

请帮助阿尔卡迪的朋友,找出有多少种可能的替换方式(即有多少对字符串 r0r_0r1r_1)可以将 ss 转换为 tt

输入
第一行包含一个由 0011 组成的字符串 ss1s1051 \le |s| \le 10^5)——原始信号。
第二行包含一个仅由小写英文字母组成的字符串 tt1t1061 \le |t| \le 10^6)——收到的信号。
数据保证字符串 ss 中至少包含一个 00 和一个 11

输出
输出一个整数——能够将 ss 转换为 tt 的字符串对 (r0,r1)(r_0, r_1) 的数量。
如果不存在这样的对,则输出 00

示例
输入示例

01
aaaaaa

输出示例

4

输入示例

001
kokokokotlin

输出示例

2

注释
在第一个示例中,可能的 (r0,r1)(r_0, r_1) 对如下:

  • r0=“a”r_0 = \text{“a”}r1=“aaaaa”r_1 = \text{“aaaaa”}
  • r0=“aa”r_0 = \text{“aa”}r1=“aaaa”r_1 = \text{“aaaa”}
  • r0=“aaaa”r_0 = \text{“aaaa”}r1=“aa”r_1 = \text{“aa”}
  • r0=“aaaaa”r_0 = \text{“aaaaa”}r1=“a”r_1 = \text{“a”}

r0=“aaa”r_0 = \text{“aaa”}r1=“aaa”r_1 = \text{“aaa”} 是不允许的,因为 r0r_0r1r_1 必须不同。

在第二个示例中,可能的对如下:

  • r0=“ko”r_0 = \text{“ko”}r1=“kokotlin”r_1 = \text{“kokotlin”}
  • r0=“koko”r_0 = \text{“koko”}r1=“tlin”r_1 = \text{“tlin”}