UNIST는 무엇의 약자일까?
시간 제한1초메모리 제한512 MB
N개 단어 각각에서 앞부분 일부를 잘라 이어 붙여 UNIST를 만드는 경우의 수를 1,000,000,007로 나눈 나머지로 구한다.
문제
UNIST는 Ulsan National Institute of Science and Technology의 약자이다. 어느 날 원이는 약자가 UNIST가 되는 다른 단어가 있는지 궁금해졌다.
단어 의 길이를 로 표기하자. 개의 단어 이 주어질 때, 단어 에서 앞에서 0글자 이상 글자 이하를 택해 만든 문자열을 라 하자. 다시 말해, 는 의 길이 인 접두사이다.
들을 적당히 정하여 이 UNIST가 되도록 하는 경우의 수를 구해보자. 단, 연산 는 문자열 연결(string concatenation) 연산이다.
입력
첫 줄에 단어의 수 이 주어진다.
이후 개의 줄에 한 줄에 하나씩 개의 단어 가 주어진다.
는 1개 이상의 영문 대문자로만 이루어진 문자열이다.
출력
이 UNIST가 되도록 을 결정하는 경우의 수를 1,000,000,007로 나눈 나머지를 출력한다.