pub fn lcm<T>(a: T, b: T) -> Twhere T: Copy + PartialOrd + From<u8> + Mul<Output = T> + Div<Output = T> + Rem<Output = T> + Eq,