#[allow(unused_imports)] use proconio::{ input, marker::{Bytes, Chars, Usize1}, }; fn gcd(a: i64, b: i64) -> i64 { if b == 0 { a } else { gcd(b, a % b) } } fn main() { input! { n: usize, a: [i64; n], } let mut g = 0; for i in 0..n { if i > 0 { g = gcd(g, (a[i - 1] - a[i]).abs()); } println!("{}", g); } }