use proconio::input; const HAPPY: &str = "HAPPY"; fn main() { input! { n: usize, s: String, } let (head, tail) = s.split_at(n - HAPPY.len()); let mut head_cost = 0; for i in 0..head.len() { if i + HAPPY.len() > head.len() { break; } head_cost += (&head[i..i + HAPPY.len()] == HAPPY) as usize; } let tail_cost = tail .chars() .zip(HAPPY.chars()) .filter(|&(ch1, ch2)| ch1 != ch2) .count(); println!("{}", head_cost + tail_cost); }