#P15854. [蓝桥杯第二届国际赛] 基因子序列

[蓝桥杯第二届国际赛] 基因子序列

说明

生物的基因都是由 44 种不同的碱基组成,一般用 A、T、G、C 表示这 44 种碱基。基因可以用按顺序表达的一串碱基来表示,例如 ATCACAGGT。

小明最近在关注一个特别的碱基序列 SSSS 也是由 A、T、G、C 组成),他发现,如果一个基因中可以按出现的顺序提取出一些碱基和 SS 正好相等,则这个基因可能具备某种性质。例如,当 S=TCGS=\text{TCG} 时,我们可以从基因 ATCACAGGT 中提出出第 223377 个碱基和 SS 相等,而无法从基因 CGT 提取出一部分碱基与 SS 相等。

当然,能提取的位置可能是多样的,比如我们可以从基因 ATCACAGGT 中提取出第 225588 个碱基和 SS 相等。小明想知道,在相等时从基因中提取的最后一个碱基的序号最小是多少。

输入格式

输入的第一行包含一个字符串 SS,表示给定的碱基序列。

输入的第二行包含一个字符串 DD,表示给定约定的基因。

输出格式

如果无法找到对应的提取方式,输出 1-1,否则输出在相等时从基因中提取的最后一个碱基的序号。

TCG
ATCACAGGT
7

提示

【样例说明】

本题要找最小的答案,如果输出 88 是不正确的。

【数据规模与约定】

对于 40%40\% 的评测用例,给定的两个字符串的长度均不超过 10001000

对于所有评测用例,给定的两个字符串的长度均不超过 100000100000。出现的字符仅为 A、T、C、G。