MOD = 1000000007 def solve(s): n = len(s) left = [0] * n right = [0] * n gold = 0 for i in range(n): if s[i] == '<': gold -= 1 elif s[i] == '>': gold += 1 elif s[i] == 'o': gold += 1 left[i] = gold gold = 0 for i in range(n - 1, -1, -1): if s[i] == '<': gold += 1 elif s[i] == '>': gold -= 1 elif s[i] == 'o': gold += 1 right[i] = gold total = sum(1 for c in s if c == '.') result = pow(2, total, MOD) for i in range(n): if s[i] == '=': result = result * pow(2, total - 1, MOD) % MOD elif s[i] == '<': result = result * pow(2, total - right[i], MOD) % MOD elif s[i] == '>': result = result * pow(2, total - left[i], MOD) % MOD elif s[i] == 'o': result = result * pow(2, total - left[i] - right[i] + 1, MOD) % MOD return result T = int(input()) for t in range(1, T + 1): s = input() result = solve(s) print("Case #{}: {}".format(t, result))