Limak is a polar bear who often chats online with his friends. Nowadays, bears often use emoticons to express their feelings. While most emoticons are short and boring, there is one exception.
Crying emoticon is made of any positive number of underscores between two semicolons.
So the shortest example is ;_;
but it can also be e.g. ;__;
or ;_____________;
.
Limak sent you a message of length N
consisting of underscores and semicolons.
Polar bears are easily distracted so Limak could have typed some characters by mistake.
You wonder how many ways there are to ignore some (maybe none) characters and obtain a crying emoticon.
This number could be big so find it modulo 10^9+7
.
Input format:
The only line contains one string consisting of N
characters, denoting a message from Limak.
Each character of string is either ;
(semicolon) or _
(underscore).
Output format:
In the single line print the answer modulo 10^9+7
.
Constraints:
1 <= N <= 10^5