#include #include #include #include #include #include #include using i64 = std::int64_t; std::valarray solve() { int n; std::cin >> n; std::valarray a(n); for(i64& x : a) std::cin >> x; std::valarray diff(n), prefix_gcd(n), ans(n); std::adjacent_difference(std::begin(a), std::end(a), std::begin(diff)); std::inclusive_scan(std::next(std::begin(diff)), std::end(diff), std::next(std::begin(prefix_gcd)), std::gcd); std::transform(std::begin(prefix_gcd), std::end(prefix_gcd), std::begin(ans), [&](const i64 v) { return std::abs(v); }); return ans; } int main() { for(i64 x : solve()) std::cout << x << "\n"; return 0; } __attribute__((constructor)) inline void fast_io() { std::ios::sync_with_stdio(false), std::cin.tie(nullptr); }