시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 0 0 0 0.000%

문제

Konkotenacją słów A i B nazwiemy słowo AkotB. Przykładowo konkotenacją słów "mas" oraz "ka" jest słowo "maskotka". Operację tę można zdefiniować dla całych ciągów słów - konkotenujemy wtedy ze sobą wszystkie słowa zgodnie z kolejnością, z jaką w danym ciągu występują. I tak po skonkotenowaniu ciągu słów ( "aa", "b", "cc", "d" ) otrzymujemy słowo "aakotbkotcckotd".

Ile różnych ciągów złożonych z niepustych słów daje po skonkotenowaniu dane słowo W?

입력

W pierwszej linii znajduje się jedna liczba naturalna Z ( 1 <= Z <= 10 ) oznaczająca liczbę zestawów testowych. W kolejnych liniach opisywane są kolejne zestawy.

Pojedynczy zestaw składa się z jednego niepustego słowa W złożonego z małych liter alfabetu angielskiego. Długość słowa W nie przekracza 1 000 000.

출력

Dla każdego słowa podanego na wejściu należy wypisać w osobnej linii jedną nieujemną liczbę całkowitą - resztę z dzielenia liczby różnych ciągów dających po skonkotenowaniu dane słowo przez 1 000 000 007.

제한

Słowo "maskotka" można otrzymać z dwóch ciągów słów: ( "mas", "ka" ) oraz ( "maskotka" ).

Słowo "akotkot" również można otrzymać z dokładnie dwóch ciągów słów: ( "a", "kot" ) oraz ( "akotkot" ).

예제 입력 1

2
maskotka
akotkot

예제 출력 1

2
2