휘파람을 불지 못하는 시루는 휘파람을 불기 위해 수없이 많이 시도했지만 항상 실패한다. 시루의 휘파람 연습을 도와주고 있는 루시는, 시루가 휘파람과 비슷한 소리를 낼 때마다 사탕을 주기로 했다.
시루의 입에서 나온 소리는 대문자로 구성된 문자열 S로 나타낼 수 있다. 루시는 문자열 S에서 휘파람과 비슷한 소리, 즉 '유사 휘파람 문자열'의 개수를 구해야 한다. '유사 휘파람 문자열'은 다음과 같이 정의한다.
WHEE는 '유사 휘파람 문자열'이다.E를 붙인 것 또한 '유사 휘파람 문자열'이다.'유사 휘파람 문자열'은 문자열 S 상에서 연속하지 않아도 된다. 즉, S에서 '유사 휘파람 문자열'인 부분 수열(subsequence)의 개수를 구하면 된다.
시루는 수없이 많이 시도했기 때문에 S의 길이가 너무 길어졌다. 루시를 도와 시루에게 사탕을 몇 개 줘야 할지 계산해주자.
첫째 줄에 문자열 S의 길이 N이 주어진다.
둘째 줄에 대문자로만 구성된 문자열 S가 주어진다.
'유사 휘파람 문자열'인 부분 수열의 개수를 1,000,000,007(=109+7)로 나눈 나머지를 출력한다.