package answer01;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class StringMatching {
public static void main(String[] args) {
//输入两组字符串
Scanner in = new Scanner(System.in);
String A = in.nextLine();
String B = in.nextLine();
//匹配字符串
String str ="";
int i = 0;
Set<String> result = new HashSet<>();
while(i<A.length()) {
//拆分字符串,转换成字符数组
char[] a = A.toCharArray();
char[] b = B.toCharArray();
//进行匹配
if(i<B.length() && (a[i] == b[i] || b[i] == '?')) {
//若匹配成功,则拼接字符串.这里最好用StringBuffer
str+=a[i];
if(str.length() == B.length()) {
result.add(str);
}
i++;
} else {
//如果拼接不成功,成将A字符串裁剪一位,并将i赋值为0,字符串str赋值为空.
A = A.substring(1);
i = 0;
str = "";
}
}
//输出结果
System.out.println(result.size());
for (String s : result) {
System.out.println(s);
}
}
}