#exec({'RUBY_THREAD_VM_STACK_SIZE'=>'100000000'},'/usr/bin/ruby', $0) if !ENV['RUBY_THREAD_VM_STACK_SIZE']

def inpf() a=gets.chomp.split(" ").map(&:to_f)end

def inps() a=gets.chomp.split(" ")end

def copy(a) Marshal.load(Marshal.dump(a)) end

def kaijo(n,r = 10**9+7)(n < 2)? 1 : (2..n).inject{|memo,u|memo=(memo*u)%r} end

def na(n,d=0) Array.new(n,d)end

def na2(n,m,d=0) Array.new(n){Array.new(m,d)}end

def na3(n,m,l,d=0) Array.new(n){Array.new(m){Array.new(l,d)}}end

def inp() a=gets.chomp.split(" ").map(&:to_i)end

def r_up(a, b) (a+b-1)/b end

def sum(a) a.inject(:+) end
n = inp[0]
a = inp
b = inp
ind = 0
turn = 0
while ind < n
  i = ind % n
  r = (i+1)%n
  l = (i-1)%n
  if(a[i] != b[i] and b[i] > b[l]+b[r])
    sum = b[l]+b[r]
    o = b[i]
    b[ind] %= sum
    if(b[i] < a[i])
      if((a[i]-b[i])%sum != 0)
        p -1
        exit
      else
        b[i] = a[i]
      end
    end
    turn += (o-b[i])/sum
    ind -= 1
  else
    ind += 1
  end
end
if(a.join != b.join)
  p -1
  exit
end
p turn