[HEOI2015]最短不公共子串
题号:NC20018
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在虐各种最长公共子串、子序列的题虐的不耐烦了之后,你决定反其道而行之。 
一个串的“子串”指的是它的连续的一段,例如bcd是abcdef的子串,但bde不是。 
一个串的“子序列”指的是它的可以不连续的一段,例如bde是abcdef的子串,但bdd不是。 
下面,给两个小写字母串A,B,请你计算: 
(1) A的一个最短的子串,它不是B的子串
(2) A的一个最短的子串,它不是B的子序列
(3) A的一个最短的子序列,它不是B的子串
(4) A的一个最短的子序列,它不是B的子序列

输入描述:

有两行,每行一个小写字母组成的字符串,分别代表A和B。

输出描述:

输出4行,每行一个整数,表示以上4个问题的答案的长度。如果没有符合要求的答案,输出-1.
示例1

输入

复制
aabbcc
abcabc

输出

复制
2
4
2
4

备注:

对于20%的数据,保证a和b的长度都不超过20。
对于50%的数据,保证a和b的长度都不超过500。
对于100%的数据,保证a和b的长度都不超过2000。