1S/512M
给定两个字符串 和 。考虑字符串 的所有不同的重排列(即包含所有字符、考虑重复性的所有可能的排列方式)。对于每一个 的重排列,统计其中 作为子序列的个数。请求出所有这些统计个数之和。
由于结果可能非常大,请输出最终答案对 取模后的值。
一个字符串的重排列是通过重新排列其字符顺序得到的新字符串(例如,字符串 aab 的重排列包括 aab, aba, baa)。
子序列是指从排列中删除某些字符(也可以不删除)而不改变剩余字符的相对顺序形成的新序列。例如,在字符串 aab 中,子序列 ab 可以通过选择第一个和第二个字符,或者第一个和第三个字符,得到两次出现。
第一行包含一个字符串 。
第二行包含一个字符串 。
输出一个整数,表示满足条件的无序对的数量。
aabb
ab
12
字符串 aabb 的所有重排列共有 6 种:
aabb(出现 4 次), abab(出现 3 次), abba(出现 2 次),
baab(出现 2 次), baba(出现 1 次), bbaa(出现 0 次)。
总次数为 。
对于 的数据,。
对于 的数据,。
对于 的数据,,,字符串 和 仅由小写字母组成。