read_line.to_i.times do puts solve() end def solve n = read_line.to_i a = read_line.split.map(&.to_i64) vs = a[1..].each.map do |v| while v != 0 && v < 1_000_000_000i64 v *= 10i64 end v end.select { |v| v > 0 }.to_a return 1 if vs.empty? gcd = vs.reduce(10_000_000_000i64) { |a, v| a.gcd(v) } puts vs puts gcd 10_000_000_000i64 // gcd end