#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char a[20000010];
int alen;
char b[20000010];
int blen;
int z[20000010];
int p[20000010];
unsigned long long zres;
unsigned long long pres;
int main() {
freopen("z.in", "r", stdin);
scanf("%s%s", a+1, b+1);
alen = strlen(a+1);
blen = strlen(b+1);
for (int i = 1; i <= blen; i++) {
for (int j = i; j <= blen; j++) {
if (b[j]==b[j-i+1]) {
z[i]++;
continue;
}
break;
}
}
for (int i = 1; i <= blen; i++) {
zres = zres^i*(z[i]+1);
}
for (int i = 1; i <= alen; i++) {
for (int j = i; j <= alen && j-i+1 <= blen; j++) {
if (a[j]==b[j-i+1]) {
p[i]++;
continue;
}
break;
}
}
for (unsigned long long i = 1; i <= alen; i++) {
pres = pres^i*(p[i]+1);
}
printf("%llu\n%llu\n", zres, pres);
fclose(stdin);
return 0;
}
O(n2) 暴力程序,提交时文件输入输出已注释