CF666C.Codeword

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The famous sculptor Cicasso is a Reberlandian spy!

These is breaking news in Berlandian papers today. And now the sculptor is hiding. This time you give the shelter to the maestro. You have a protected bunker and you provide it to your friend. You set the security system in such way that only you can open the bunker. To open it one should solve the problem which is hard for others but is simple for you.

Every day the bunker generates a codeword ss . Every time someone wants to enter the bunker, integer nn appears on the screen. As the answer one should enter another integer — the residue modulo 109+710^{9}+7 of the number of strings of length nn that consist only of lowercase English letters and contain the string ss as the subsequence.

The subsequence of string aa is a string bb that can be derived from the string aa by removing some symbols from it (maybe none or all of them). In particular any string is the subsequence of itself. For example, the string "cfo" is the subsequence of the string "codeforces".

You haven't implemented the algorithm that calculates the correct answers yet and you should do that ASAP.

输入格式

The first line contains integer mm ( 1<=m<=1051<=m<=10^{5} ) — the number of the events in the test case.

The second line contains nonempty string ss — the string generated by the bunker for the current day.

The next mm lines contain the description of the events. The description starts from integer tt — the type of the event.

If t=1t=1 consider a new day has come and now a new string ss is used. In that case the same line contains a new value of the string ss .

If t=2t=2 integer nn is given (1<=n<=105(1<=n<=10^{5} ). This event means that it's needed to find the answer for the current string ss and the value nn .

The sum of lengths of all generated strings doesn't exceed 10510^{5} . All of the given strings consist only of lowercase English letters.

输出格式

For each query of the type 22 print the answer modulo 109+710^{9}+7 on the separate line.

输入输出样例

  • 输入#1

    3
    a
    2 2
    1 bc
    2 5
    

    输出#1

    51
    162626
    

说明/提示

In the first event words of the form "a?" and "?a" are counted, where ? is an arbitrary symbol. There are 2626 words of each of these types, but the word "aa" satisfies both patterns, so the answer is 5151 .

首页