Banner Home Page DIY Contests Problems Ranklist Status Statistics

String

Time Limit : 3000/1500ms (Java/Other)   Memory Limit : 524288/524288K (Java/Other)
Total Submission(s) : 0   Accepted Submission(s) : 0

Font: Times New Roman | Verdana | Georgia

Font Size:

Problem Description

There is a string of length $n$, $S[l..r]$ represents the string concatenated from the lth character to the rth character, and $S_{len}$ is the length of the string($S[1..S_{len}]$ represents the whole $S$ string).

We define $F_G$ as the number of positive integers x that satisfy the following conditions:

1. $1\leq x\leq G_{len}$

2. $G[1,x]=G[G_{len}-x+1,G_{len}]$

3. The length of the common part of the intervals $[1,x]$ and $[G_{len}-x+1,G_{len}]$ is greater than $0$ and is divisible by $k$.

Now ask for the value of $\prod_{i=1}^n (F_{S[1..i]}+1)$ modulo $998244353$.

Input

The first line of input is a positive integer $T(T\leq 10)$ representing the number of data cases.

For each cases:

first line input a string $S$ of lowercase letters, no longer than $10^6$.

second line input a positive integer $k(1 \leq k \leq S_{len})$.

Output

For each cases, output a line with a positive integer representing the answer.

Sample Input

1
abababac
2

Sample Output

24

Hint

Note that the stack space of the judge system is a bit small, please pay attention to the reasonable allocation of memory.

Source

2022“杭电杯”中国大学生算法设计超级联赛(1)

Statistic | Submit | Back