using System; namespace GoldPlacement { class Program { static int Mod = 1000000007; static int GetGoldPlacements(string s) { int n = s.Length; int[] dp = new int[n + 1]; dp[n] = 1; for (int i = n - 1; i >= 0; i--) { if (s[i] == 'o') { dp[i] = dp[i + 1]; } else if (s[i] == '=' || s[i] == '.') { dp[i] = (2 * dp[i + 1]) % Mod; } else if (s[i] == '<' || s[i] == '>') { int j = i + 1; while (j < n && s[j] == '.') { j++; } dp[i] = dp[j]; } } return dp[0]; } static void Main(string[] args) { int t = Convert.ToInt32(Console.ReadLine()); for (int i = 1; i <= t; i++) { string s = Console.ReadLine(); int result = GetGoldPlacements(s); Console.WriteLine("Case #" + i + ": " + result); } } } }