use std::io::*; use std::str::*; #[allow(dead_code)] fn get_line(sl: &mut StdinLock) -> String { let mut line = String::new(); sl.read_line(&mut line).expect("cannot read line"); line.trim().to_string() } #[allow(dead_code)] fn cast(s: &str) -> T { s.parse().ok().expect("cannot cast from str") } #[allow(dead_code)] fn get_vec(sl: &mut StdinLock) -> Vec { (&get_line(sl)).split(' ').map(cast::).collect() } fn run(sl: &mut StdinLock) { let vec = get_vec::(sl); let am = vec[3] * (vec[0] - 1); let ah = (vec[2] + am) / 60; let h = (vec[1] + ah) % 24; let m = (vec[2] + am) % 60; println!("{}", h); println!("{}", m); } fn main() { let s = stdin(); let mut sl = s.lock(); run(&mut sl); }