import sys MOD = 998244353 def main(): S = sys.stdin.readline().strip() # 'A' pozitsiyalarini topish positions = [] for i, ch in enumerate(S): if ch == 'A': positions.append(i) n = len(positions) if n == 0: print(1) return # Har bir 'A' uchun B qiymatini hisoblash B = [0] * n for i in range(n): # pozitsiya - oldingi 'A' lar soni B[i] = positions[i] + 1 - i # DP: dp[x] = oxirgi qiymati x bo'lgan ketma-ketliklar soni max_val = max(B) dp = [0] * (max_val + 2) # Birinchi 'A' uchun start = 0 # A[0] = 0 end = B[0] for x in range(start, end): dp[x] = 1 # Prefix sum massivi prefix = [0] * (max_val + 2) # Keyingi 'A' lar uchun for i in range(1, n): # Prefix sumni yangilash prefix[0] = 0 for x in range(max_val + 1): prefix[x + 1] = (prefix[x] + dp[x]) % MOD # Yangi DP qiymatlarini hisoblash new_dp = [0] * (max_val + 2) start = 0 # A[i] = 0 (masala shartiga ko'ra) end = B[i] for x in range(start, end): new_dp[x] = prefix[x + 1] # barcha <= x qiymatlari yig'indisi dp = new_dp # Natija result = sum(dp) % MOD print(result) if __name__ == "__main__": main()