pub trait IntegerMathOps<T: Integer<T>> { // Required methods fn gcd(self, b: T) -> T; fn lcm(self, b: T) -> T; fn mod_pow(self, e: T, m: T) -> T; }