//参考大佬的意见

    public static void main(String[] args) {   
 
        Scanner sin=new Scanner(System.in);
        while (sin.hasNext()) {
           
            String s=sin.nextLine();//母串
            String t=sin.nextLine();//字串
         long startTime=System.currentTimeMillis();   //获取开始时间

            if (t.length() > s.length() || s.length() == 0 || t.length() == 0) {
            } else {
                char[] S = s.toCharArray();
                char[] T = t.toCharArray();
                int sum = 0; //输出两个字符串的距离
                int count_b = 0, count_a = 0;
                int lenS = S.length, lenT = T.length;
                for (int i = 0; i <= lenS - lenT; i++) {
                    count_a = S[i] == 'a' ? count_a + 1 : count_a;
                    count_b = S[i] == 'b' ? count_b + 1 : count_b;
                    //其中,count_b 是S[i]...S[i+|S|-|T|]中的b字符的数量
                }
 
                for (int i = 0; i + lenS - lenT < lenS; i++) {
                    //1.怎么计算T[i]对答案的贡献
                    //  T[i]会与S[i]...S[i+|S|-|T|]比较,i取0...|T|-1
                    //  因为是计算距离,并且字符只会是'a'或者'b',所以T[i]对答案的贡献是
                    sum += T[i] == 'a' ? count_b : count_a;
                    //2.T[i+1]对答案的贡献与T[i]的递推关系
                    //  T[i+1]时只需要在T[i]统计的基础上,考虑减掉S[i],加上S[i+1+|S|-|T|]
                    if (S[i] == 'a') {
                        --count_a;
                    } else {
                        --count_b;
                    }
                    //i取lenT-1时,S[]会超范围
                    if (i + lenS - lenT + 1 == lenS) {
                    } else {
                        if (S[i + lenS - lenT + 1] == 'a') {
                            ++count_a;
                        } else {
                            ++count_b;
                        }
                    }
                }
                System.out.println(sum);
                long endTime = System.currentTimeMillis(); //获取结束时间
                System.out.println("程序运行时间: " + (endTime - startTime) + "ms");
            }
        }
    }