CF1090J Two Prefixes

题目描述

米莎今天又没有完成数学作业。作为惩罚,老师 Dr. Andrew 决定给他一个很难但毫无用处的任务。 Dr. Andrew 在黑板上写了两个仅由小写英文字母组成的字符串 $s$ 和 $t$。他提醒米莎,字符串的前缀是指通过去掉若干(可能为零)个末尾字符后得到的字符串;两个字符串的连接是指将第二个字符串接在第一个字符串右侧形成的新字符串。 老师要求米莎在黑板上写出所有由 $s$ 的某个非空前缀和 $t$ 的某个非空前缀连接而成的字符串。当米莎完成后,Dr. Andrew 问他一共有多少个不同的字符串。米莎花了几乎整节课才完成这个任务。 现在他请求你写一个程序自动完成这个任务。

输入格式

第一行是仅包含小写英文字母的字符串 $s$。 第二行是仅包含小写英文字母的字符串 $t$。 两个字符串的长度均不超过 $10^5$。

输出格式

输出一个整数,表示可以由 $s$ 的某个非空前缀和 $t$ 的某个非空前缀连接而成的不同字符串的数量。

说明/提示

在第一个样例中,字符串 $s$ 有三个非空前缀:{a, ab, aba}。字符串 $t$ 有两个非空前缀:{a, aa}。总共,米莎写出了五个不同的字符串:{aa, aaa, aba, abaa, abaaa}。字符串 abaa 被写了两次。 在第二个样例中,米莎写出了八个不同的字符串:{aa, aaa, aaaa, aaaaa, aaaaaa, aaaaaaa, aaaaaaaa, aaaaaaaaa}。 由 ChatGPT 4.1 翻译