const MOD: usize = 998244353; fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); let s = s.trim().chars().map(|c| c as usize - 'a' as usize).collect::>(); let mut edp = vec![vec![0usize; 2]; n+1]; let mut ldp = vec![vec![0usize; 2]; n+1]; edp[1][if s[0] == 0 { 1 } else { 0 }] = 1; ldp[1][0] = if s[0] > 1 { s[0] - 1 } else { 0 }; ldp[1][1] = if s[0] != 0 { 1 } else { 0 }; for i in 1..n { if s[i] == 0 { edp[i+1][1] += edp[i][0]; } else { edp[i+1][0] += edp[i][0]; edp[i+1][1] += edp[i][1]; } ldp[i+1][0] += ldp[i][0] * 25 % MOD; ldp[i+1][1] += ldp[i][1] * 25 % MOD + ldp[i][0]; if s[i] > 0 { ldp[i+1][0] += edp[i][0] * (s[i] - 1) % MOD; ldp[i+1][1] += edp[i][0]; ldp[i+1][1] += edp[i][1] * (s[i] - 1) % MOD; } ldp[i+1][0] %= MOD; ldp[i+1][1] %= MOD; } println!("{}", ldp[n][1]); }