use proconio::input; fn main() { input! { a: [i64; 4], } let g = a.iter().fold(0_i64, |acc, &x| gcd(acc, x)); let abs_det = (a[0] * a[3] - a[1] * a[2]).abs(); let a22 = if g == 0 { abs_det } else { abs_det / g }; println!("{} {}", g, a22); } fn gcd(a: i64, b: i64) -> i64 { let mut a = a.abs(); let mut b = b.abs(); while b != 0 { let r = a % b; a = b; b = r; } a }