{"trustable":false,"prependHtml":"\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 async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"HTML","content":"\u003cscript type\u003d\u0027text/x-mathjax-config\u0027\u003eMathJax.Hub.Config({tex2jax: { inlineMath: [[\u0027$\u0027,\u0027$\u0027]] } }); \u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027 src\u003d\u0027https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\u0027\u003e\u003c/script\u003e\n\u003cscript type\u003d\u0027text/javascript\u0027\u003esetTimeout(function(){MathJax.Hub.Queue([\u0027Typeset\u0027, MathJax.Hub, \u0027left_view\u0027]);}, 2000);\u003c/script\u003e\n\u003cdiv class\u003d\"panel_content\"\u003e\n 今天是SF的生日,因此VS送了两个字符串S1和S2给SF做生日礼物。\n据说这两个字符串蕴含了一个大秘密,SF很感兴趣,问VS如何获取这个秘密,VS说道:\n\u003cp\u003e\n后缀的定义是Suffix(S2,i)\u003dS2[i....len].Ni是后缀Suffix(S2,i)在S1中出现的次数,Li是后缀Suffix(S2,i)的长度。秘密就是每个Ni和Li的乘积的和。\u003c/p\u003e\n \u003cbr\u003e\u0026nbsp;\u0026nbsp;现在SF想要你帮助它找到这个秘密,答案可能很大,对1000000007取模。\n\u003c/div\u003e\n"}},{"title":"Input","value":{"format":"HTML","content":"输入包含多组样例。\n\u003cbr\u003e\u0026nbsp;\u0026nbsp;第一行包含一个整数T,表示样例数.接下来T组样例.\n\u003cbr\u003e\u0026nbsp;\u0026nbsp;每组样例两行.第一行包含字符串 S1.第二行包含字符串 S2.\n\u003cbr\u003e\u0026nbsp;\u0026nbsp;1\u0026lt;\u003dT\u0026lt;\u003d10.1\u0026lt;\u003d|S1|,|S2|\u0026lt;\u003d1e6.S1 和 S2 仅包含字母。"}},{"title":"Output","value":{"format":"HTML","content":"对于每个测试样例,输出一行,表示结果。\n\u003cbr\u003e\u0026nbsp;\u0026nbsp;答案可能很大,对 1e9+7取模."}},{"title":"Sample Input","value":{"format":"HTML","content":"\u003cpre\u003e2\naaaaa\naa\nabababab\naba\u003c/pre\u003e"}},{"title":"Sample Output","value":{"format":"HTML","content":"\u003cpre\u003e13\n19\n\n \u003ci style\u003d\"font-size:1px\"\u003e \u003c/i\u003e\u003c/pre\u003e"}},{"title":"Hint","value":{"format":"HTML","content":"\u003cpre\u003e\ncase 2: \nSuffix(S2,1) \u003d \"aba\",\nSuffix(S2,2) \u003d \"ba\",\nSuffix(S2,3) \u003d \"a\".\nN1 \u003d 3,\nN2 \u003d 3,\nN3 \u003d 4.\nL1 \u003d 3,\nL2 \u003d 2,\nL3 \u003d 1.\nans \u003d (3*3+3*2+4*1)%1000000007.\n\n \u003c/pre\u003e"}}]}