fn main() { let last_days = vec![31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; let mut count = 0; for m in 1..=12 { for d in 1..=(last_days[m-1]) { let digit_sum: i32 = if d < 10 { d } else { d.to_string().chars().fold(0, |sum, i| sum + i.to_digit(10).unwrap() as i32) }; if digit_sum == m as i32 { count += 1; } } } println!("{}", count); }