만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

혼긱대학교

면접 대비

시간 제한1초메모리 제한1024 MB

요약
단어를 연속된 구간으로 나눌 때 각 구간에 모음이 하나씩 들어가는 방법의 수를 10^9+7로 나눈 나머지로 구합니다. 모음이 없으면 -1을 출력합니다.
난이도

쉬움10점 중 3점

유형
문자열, 수학
정답자
아직 제출이 없습니다

문제

홍익대학교의 영어 이름은 hongik university이다. 하지만 읽는 사람에 따라 이를 hong/ik이 아니라 hon/gik으로 발음해서 혼긱대학교가 되는 웃지 못할 상황이 종종 벌어진다.

동현이는 자음이 앞 모음에 붙는지 뒤 모음에 붙는지에 따라 단어의 발음이 달라지는 점을 신기하게 여겼다. 그래서 비슷한 상황의 영어 단어들을 조사해 발음이 얼마나 다양해질 수 있는지 알아보려 한다. 영어를 잘 못하는 동현이는 아래 규칙에 따라서만 발음을 파악한다.

  • 영어 모음은 a, e, i, o, u 다섯 개이고, 자음은 모음을 제외한 나머지 21개의 알파벳이다.
  • 한 모음에 0개 이상의 자음이 앞뒤로 붙어 하나의 음이 되고, 음들이 모여 단어의 발음이 된다.
    • 예: h, o, n, g, i, k → hong, ik → hongik
  • 자음과 자음, 자음과 모음은 인접했을 때만 한 음으로 모일 수 있다.
  • 음을 구성하는 알파벳의 개수, 구성, 순서가 다르면 다른 음으로 취급한다.
    • 예: ab, abb, ba는 모두 다른 음이다.
  • 주어진 단어의 알파벳을 각각 한 번씩만 사용해서 발음을 만들어야 한다.
  • 각 음의 구성이 다르면 단어의 발음도 다른 것으로 본다.

이 규칙에 따라 단어를 발음할 수 있는 경우의 수를 출력하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤100 000)(1 \le T \le 100\,000)

둘째 줄부터 TT개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어 SS가 주어진다. (1≤∣S∣≤300 000)(1 \le |S| \le 300\,000)

모든 테스트 케이스의 단어 길이의 합은 1 000 0001\,000\,000 이하이다.

출력

각 테스트 케이스마다 단어를 발음하는 경우의 수를 109+710^9+7로 나눈 나머지를 한 줄에 하나씩 출력한다.

모음이 없어서 발음할 수 없는 경우에는 -1을 출력한다.

힌트

hongik은 ho/ngik, hon/gik, hong/ik 세 가지로 발음할 수 있다.

예제1

  1. 예제 1

    입력
    3
    hongik
    hicon
    rhythm
    
    예상 출력
    3
    2
    -1