import sys MOD = 998244353 def main(): S = sys.stdin.readline().strip() # 'A' lar uchun B qiymatlarini hisoblash B = [] cnt = 0 for i, ch in enumerate(S): if ch == 'A': # i+1 - cnt = pozitsiya - oldingi 'A' lar soni B.append(i + 1 - cnt) cnt += 1 N = len(B) if N == 0: print(1) return # A massivini yaratish (eng kichik qiymatlar) A = [0] * N for i in range(1, N): A[i] = max(A[i], A[i - 1]) # DP[j] = oxirgi elementi j bo'lgan ketma-ketliklar soni max_val = B[-1] dp = [0] * (max_val + 2) # Birinchi 'A' uchun boshlang'ich holat for j in range(A[0], B[0]): dp[j] = 1 # Har bir keyingi 'A' uchun for i in range(1, N): new_dp = [0] * (max_val + 2) # Prefix sum hisoblash prefix = [0] * (max_val + 2) for j in range(max_val + 1): prefix[j + 1] = (prefix[j] + dp[j]) % MOD # Yangi qiymatlarni hisoblash for j in range(A[i], B[i]): # Barcha oldingi qiymatlar <= j uchun new_dp[j] = prefix[j + 1] % MOD dp = new_dp # Natijani hisoblash result = sum(dp) % MOD print(result) if __name__ == "__main__": main()