#include <bits/stdc++.h>
using namespace std;
mt19937 rng(std::chrono::system_clock::now().time_since_epoch().count());
const int N = 5e6 + 1;
char c[N + 5];
string a,b;
int z[N + 1];
long long ans;
int main(){
	// freopen("input.txt","r",stdin);
	freopen("ultron.in","r",stdin);
	freopen("ultron.out","w",stdout);
	scanf("%s",c);
	a = c;
	scanf("%s",c);
	b = c;
	for(auto &i : a)i = tolower(i);
	for(auto &i : b)i = tolower(i);
	string s = a + '#' + b;
	int l = 0,r = 0;
	for(int i = 1;i < s.size();i++)
		if(r < i){
			l = r = i;
			while(r < s.size() && s[r] == s[r - l])r++;
			z[i] = r - l;
			r--;
		}
		else{
			int x = i + z[i - l];
			if(x > r){
				l = i;
				while(r && s[r] == s[r - l])r++;
				z[i] = r - l;
				r--;
			}
			else z[i] = z[i - l];
		}
	for(int j = a.size() + 1;j < s.size();j++){
		int bst = z[j];
		int i = j - a.size() - 1;
		if(bst != -1)ans+=(bst + 1LL)*bst/2 + bst*1LL*(b.size() - i - bst);
	}
	printf("%lld\n",ans);
}