use proconio::input; fn main() { input! { n:usize, mut x:usize, mut y:usize, } if x > y { (x, y) = (y, x); } if x != 1 { x += 1; } if y != n { y -= 1; } const MOD: usize = 998244353; let m = 1 + y - x; if m == 0 { println!("0"); return; } let mut dp = vec![0; m]; dp[0] = 1; for i in 0..m { if i + 1 < m { dp[i + 1] += dp[i]; dp[i + 1] %= MOD; } if i + 3 < m { dp[i + 3] += dp[i]; dp[i + 3] %= MOD; } } let ans = dp[m - 1]; println!("{}", ans) }