{"trustable":true,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e在英语课上,尼克无事可做,想起了一种叫做\u003cspan class\u003d\"tex-font-style-underline\"\u003e回文串\u003c/span\u003e的奇妙字符串。我们应该提醒你,如果一个字符串从左往右读和从右往左读是一样的,那么它就是一个回文串。以下是一些例子:«\u003cspan class\u003d\"tex-font-style-tt\"\u003eeye\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003epop\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003elevel\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003eaba\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003edeed\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003eracecar\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003erotor\u003c/span\u003e»、«\u003cspan class\u003d\"tex-font-style-tt\"\u003emadam\u003c/span\u003e»。\u003c/p\u003e\u003cp\u003e尼克开始仔细寻找文本中所有的回文串。对于文本中每个回文串的每次出现,他都记录了一对 —— 这次出现在文本中的起始位置和结束位置。尼克称他在文本中找到的每个回文串的每次出现为\u003cspan class\u003d\"tex-font-style-underline\"\u003e子回文串\u003c/span\u003e。当他找到所有子回文串后,他决定找出有多少不同的子回文串对是交叉的。如果两个子回文串覆盖了文本中的相同位置,则它们是交叉的。没有回文串可以与自己交叉。\u003c/p\u003e\u003cp\u003e让我们通过文本«\u003cspan class\u003d\"tex-font-style-tt\"\u003ebabb\u003c/span\u003e»的例子来看一下尼克的操作。首先,他列出了所有的子回文串:\u003c/p\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003eb\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e1..1\u003c/span\u003e \u003c/center\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003ebab\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e1..3\u003c/span\u003e \u003c/center\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003ea\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e2..2\u003c/span\u003e \u003c/center\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003eb\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e3..3\u003c/span\u003e \u003c/center\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003ebb\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e3..4\u003c/span\u003e \u003c/center\u003e\u003ccenter\u003e• «\u003cspan class\u003d\"tex-font-style-tt\"\u003eb\u003c/span\u003e» — \u003cspan class\u003d\"tex-span\"\u003e4..4\u003c/span\u003e \u003c/center\u003e\u003cp\u003e然后尼克计算了这些子回文串中有多少不同的对是交叉的。这些对一共有六个:\u003c/p\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e1.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e1..1\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e1..3\u003c/span\u003e 交叉 \u003c/center\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e2.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e1..3\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e2..2\u003c/span\u003e 交叉 \u003c/center\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e3.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e1..3\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e3..3\u003c/span\u003e 交叉 \u003c/center\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e4.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e1..3\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e3..4\u003c/span\u003e 交叉 \u003c/center\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e5.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e3..3\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e3..4\u003c/span\u003e 交叉 \u003c/center\u003e\u003ccenter\u003e \u003cspan class\u003d\"tex-font-style-tt\"\u003e6.\u003c/span\u003e \u003cspan class\u003d\"tex-span\"\u003e3..4\u003c/span\u003e 与 \u003cspan class\u003d\"tex-span\"\u003e4..4\u003c/span\u003e 交叉 \u003c/center\u003e\u003cp\u003e由于手动执行所有上述操作非常繁琐,尼克请你帮忙编写一个程序,能够找出有多少不同的子回文串对是交叉的。如果一对子回文串中有一个包含另一个没有的子回文串,则它们被视为不同的。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e第一行输入一个整数 \u003cspan class\u003d\"tex-span\"\u003e\u003ci\u003en\u003c/i\u003e\u003c/span\u003e (\u003cspan class\u003d\"tex-span\"\u003e1 ≤ \u003ci\u003en\u003c/i\u003e ≤ 2·10\u003csup class\u003d\"upper-index\"\u003e6\u003c/sup\u003e\u003c/span\u003e) —— 文本的长度。接下来一行包含 \u003cspan class\u003d\"tex-span\"\u003e\u003ci\u003en\u003c/i\u003e\u003c/span\u003e 个小写拉丁字母(从\u003cspan class\u003d\"tex-font-style-tt\"\u003ea\u003c/span\u003e到\u003cspan class\u003d\"tex-font-style-tt\"\u003ez\u003c/span\u003e)。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e在一行中输出有多少不同的两个子回文串对是交叉的。输出答案对 \u003cspan class\u003d\"tex-span\"\u003e51123987\u003c/span\u003e 取模。\u003c/p\u003e"}},{"title":"示例 1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\nbabb\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e6\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"示例 2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2\naa\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e2\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}