#include #include #include #include #include #include #include #include using namespace std; using ll = long long; using vi = vector; #define in(v) v; cin >> v; void ins() {} templatevoid ins(T& v,Rest&... rest){cin>>v;ins(rest...);} #define rep(i,n) for(int i=0,_i=(n);i<_i;++i) #define rrep(i,n) for(long long i=(n);i>=0;--i) #define all(f,c,...) (([&](decltype((c)) cccc) { return (f)(begin(cccc), end(cccc), ## __VA_ARGS__); })(c)) // ========== debug ========== templateostream& operator<<(ostream& os,const vector& vec){os<<"{";for(size_t i=0;i&v){for(size_t i=0;iostream& operator<<(ostream& os,const pair& rhs){os<<"("< void debug(const First& first) {cerr< void debug(const First& first, const Rest&... rest) {cerr< void debug2(const First& first) {cerr< void debug2(const First& first, const Rest&... rest) {cerr<> A[i]; } rep(i, N) { cin >> B[i]; } ll sum1 = 0, sum2 = 0; rep(i, N) { sum1 += A[i]; sum2 += B[i]; } if (N == 2) { return 0; } if (sum1 < sum2 || (sum1 - sum2) % (N-2) != 0) { cout << -1 << endl; return 0; } ll ans = (sum1 - sum2) / (N-2); ll sum = 0; rep(i, N) { if ((B[i] - (A[i] - ans)) % 2 != 0) { cout << -1 << endl; return 0; } sum += (B[i] - (A[i] - ans)); } if (sum == ans * 2) cout << ans << endl; else cout << -1 << endl; return 0; }