use proconio::{fastout, input}; #[fastout] fn main() { input! { n: u16, } println!("{}", output(solve(n))); } fn solve(n: u16) -> u32 { let mut ans = 0; for a in 0..=n { for b in (a..=n).filter(|&b| a.count_ones() == b.count_ones()) { ans = (ans + (a & b) as u32) % 998244353; } } ans } fn output(ans: u32) -> u32 { ans }