飞天德(Darkwing Duck)又遇到麻烦了!他刚到达位于大圆湖(Great Circle Lake)畔的香蕉天堂(Banana Paradise)度假村准备休息,就传来消息称香蕉脑先生(Mr Banana Brain)正在袭击这个地方。像所有坏蛋一样,他计划抢劫一连串相邻的房屋,然后带着赃物逃跑。
从湖中心看去,香蕉天堂的全景可以用一个循环字符串 $A$ 表示(请务必阅读“说明”部分以避免误解),其中每个字符代表对应建筑的外观。不同的建筑可能具有相同的外观,因此在字符串中用相同的字符表示。香蕉脑先生在这个循环字符串中选择了一个未知的子串 $B$。当然,$B$ 的长度不会大于 $A$ 的长度,因为把同一栋房子抢两次是没有意义的。
幸运的是,警方得到了关于这起棘手案件的线索。有传言称,这个坏蛋给他的助手送了一个手链,上面印有他们准备抢劫的房屋外观序列。由于香蕉脑先生不擅长设计,因此无法得知初始子串的起点在哪里。
在一次交火中,警方成功获取了某个手链的一块碎片,警方推测这就是印有抢劫计划的手链。碎片上写着某个字符串 $C$。如果推测正确,则存在一个由循环字符串 $A$ 的子串得到的循环字符串 $B$,使得 $C$ 是 $B$ 的子串。
你的任务是确定合法的子串 $B$ 的最大可能长度,或者检测到手链的这一部分与正在策划的犯罪无关,换句话说,不存在满足所有要求的循环字符串 $B$。
输入格式
输入的第一行包含一个非空字符串,由英文大小写字母、数字以及字符 ,、!、_、. 和 - 组成,按顺时针方向表示香蕉天堂中的房屋。
输入的第二行包含一个非空字符串,由英文大小写字母、数字以及字符 ,、!、_、. 和 - 组成,表示找到的手链碎片。
每个字符串的长度不超过 $5 \cdot 10^5$ 个字符。请注意,大写和小写英文字母被视为不同的字符。
输出格式
输出一个整数:可以写在整个手链上的香蕉天堂最大部分的长度,如果不存在这样的部分,则输出 -1。
样例
输入样例 1
BananaParadise BP
输出样例 1
9
输入样例 2
Desinformation Banana
输出样例 2
-1
说明
在第一个样例中,香蕉脑先生可以抢劫片段 ParadiseB,其长度为 9。
在本题中,循环字符串可以看作是写在圆圈上的字符串。正式地,考虑一个包含某个字符串的所有循环移位的集合。如果两个循环字符串的所有循环移位集合相等,则认为它们相等。如果一个字符串是给定循环字符串的任意一个循环移位的子串,则称该字符串是该循环字符串的子串。