# すべての石をマス0に移動できる場合、A[i] < i のようなマスiがあれば、 # j > iの範囲にA[j] == j であるようなjが必ずなければならない。 # そのような最大のjを操作した場合、i < j の範囲に一律1が加えられる。 # j > iでの総操作回数をsとしたとき、A[i] + s % i == 0であれば、そのマスの石を0にすることができる。 # (A[i] > iの場合であっても、操作順序を変えて同じ結果にできる) # Aの後ろから順に0にすることができるかを確認すればよい N = gets.to_i A = gets.split.map(&:to_i) ans = A.reverse.each_with_index.inject(0) do |s, (a, i)| j = N - i r,m = (a + s).divmod(j) break false if m > 0 s + r end puts ans ? 'Yes' : 'No'