#include using namespace std; using ll = long long; using uint = unsigned int; #define rep(i,n) for(int i=0;i=0;i--) #define per1(i,n) for(int i=int(n);i>0;i--) #define all(c) c.begin(),c.end() #define si(x) int(x.size()) #define pb emplace_back #define fs first #define sc second template using V = vector; template using VV = vector>; template void chmax(T& x, U y){if(x void chmin(T& x, U y){if(y void mkuni(V& v){sort(all(v));v.erase(unique(all(v)),v.end());} template ostream& operator<<(ostream& o,const pair &p){ return o<<"("< ostream& operator<<(ostream& o,const vector &vc){ o<<"{"; for(const T& v:vc) o<> N; V A(N); rep(i,N) cin >> A[i]; V B(N); rep(i,N) cin >> B[i]; ll d = accumulate(all(A),0LL) - accumulate(all(B),0LL); if(N == 2){ if(d == 0) return abs(A[0]-B[0]); return -1; } if(d<0 || d%(N-2)!=0) return -1; d /= N-2; ll f = 0; rep(i,N){ ll t = B[i]-(A[i]-d); if(t < 0 || t%2!=0) return -1; f += t/2; } if(f == d) return d; return -1; } int main(){ cin.tie(0); ios::sync_with_stdio(false); //DON'T USE scanf/printf/puts !! cout << fixed << setprecision(20); cout << solve() << endl; }