回文串的交集
题号:NC14684
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给一个长为 的只含小写字母的字符串

设总共有 个回文连续子串

在这 个子串中任选不同的两个,有公共部分的方案数

答案对 1000000007 取模

输入描述:

第一行一个正整数n
第二行一个长为n的字符串

输出描述:

输出一个整数表示答案
示例1

输入

复制
4
babb

输出

复制
6

说明

样例解释:
有如下所有回文连续子串
"b"—[1,1]
"bab"—[1,3]
"a"—[2,2]
"b"—[3,3]
"bb"—[3,4]
"b"—[4,4]
有如下6对有交的子串
1. [1,1]和[1,3]
2. [1,3]和[2,2]
3. [1,3]和[3,3]
4. [1,3]和[3,4]
5. [3,3]和[3,4]
6. [3,4]和[4,4]

备注:

对于100%的数据,有n<=2000000