fn g() -> usize { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().unwrap() } fn main() { let (d, mut r, mut e) = (998244353u64, vec![0; 200001], vec![0; 200001]); (r[1], r[2], e[1], e[2]) = (1, 1, 1, 3); for i in 3..r.len() { r[i] = (r[i - 1] + r[i - 2]) % d; e[i] = (e[i - 1] + e[i - 2]) % d; } for _ in 0..g() { let n = g(); println!("{}", ((5 * r[n] * r[n] + d) - e[n] * e[n] % d) % d) } }