Parejas Espejos
El Dr. Lucas B-Tree trabaja con palabras grandes y sus propiedades, más precisamente propiedades palindrómicas.
Una palabra palíndromo es una palabra que se puede leer igual de izquierda a derecha y de derecha a izquierda: "aabcbaa" es palíndromo mientras que "aassab" no lo es; eso también significa que el primer carácter coincide con el último, y el segundo coincide con el anterior al último y así sucesivamente... más precisamente [
] =
[
] para una cadena
indexada en base
de longitud
. Decimos que el índice
es un espejo del índice
, y viceversa, por lo tanto, definamos que son una pareja espejo; (nótese que si la palabra tiene una longitud impar, el índice
es un espejo de sí mismo). Obviamente en una palabra palíndromo todas las parejas espejo tienen el mismo valor.
Un casi palíndromo de grado es una cadena
para la cual exactamente
parejas espejo tienen el mismo valor. Como un entero puede representarse como una cadena de caracteres, el Dr. B-Tree quiere encontrar cuántas cadenas de longitud
, que constan solo de dígitos, son casi palíndromos de grado
. También quiere que la respuesta se module con
.
Entrada
La primera línea de entrada contiene un entero
que indica el número de casos de prueba. Siguen
líneas, cada una de las cuales contiene dos enteros separados por espacios
y
que representan la longitud de las cadenas casi palíndromos y el número de pares de espejos que deberían tener respectivamente.
Salida
Para cada caso, genere una línea con un entero que represente el número de cadenas de longitud que son casi palíndromos de grado
y constan solo de dígitos, modulado
.
Ejemplo de Entrada
2
1 1
3 2
Ejemplo de Salida
10
100
Comments