fn main() { let mut nmpq = String::new(); std::io::stdin().read_line(&mut nmpq).ok(); let nmpq: Vec = nmpq.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let mut n = nmpq[0]; let m = nmpq[1]; let p = nmpq[2]; let q = nmpq[3]; let one_year_leaves = (12 + q) * m; let years = n / one_year_leaves; n = n % one_year_leaves; let mut months = 0; if n > 0 { for i in 1..12 { let leave_leaves: usize = if p <= i && i < p + q { 2 * m } else { m }; if n <= leave_leaves { months = i; break; } else { n -= leave_leaves; } } } println!("{}", years * 12 + months); }