/*
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
*/
/**

**/
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <unordered_set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define fori(n) for ( int i = 0; i < (n);i++)
#define forj(n) for ( int j = 0; j < (n);j++)
#define fork(n) for ( int k = 0; k < (n);k++)
#define forghj(n) for ( int ghj = 0; ghj < (n);ghj++)
#define fori1(n) for ( int i = (n)-1; i >= 0;i--)
#define all(vector) (vector).begin(),(vector).end()
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define INF 1e9+7
#define EPS 1e-6
#pragma GCC optimize("Ofast")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native")
#pragma GCC optimize("fast-math")
#pragma GCC optimize "-O3"
vector < int > a, b;
int n;
int ind(int i) {
    return ((i + n) % n);
}
bool ok(int i) {
    return (b[i] - a[i] >= b[ind(i - 1)] + b[ind(i + 1)]);
}
ll ans = 0;
int mod, kol;
void relax(int i) {
    mod = b[ind(i - 1)] + b[ind(i + 1)];
    kol = ((b[i] - a[i]) / mod);
    ans += kol;
    b[i] -= mod * kol;
    return ;
}
int main() {
    cin >> n;
    a.resize(n);
    b.resize(n);
    fori(n) cin >> a[i];
    fori(n) cin >> b[i];
    vector < int > que;
    fori(n) {
        if (ok(i)) que.push_back(i);
    }
    while (true) {
        if (que.size() == 0) break;
        int i = que.back();
        que.pop_back();
        if (ok(i)) {
            relax(i);
            que.pb(ind(i + 1));
            que.pb(ind(i - 1));
        }
    }
    fori(n) {
        if (a[i] != b[i]) {
            cout << -1;
            return 0;
        }
    }
    cout << ans;
}



Measured memory_bytes: 2428