One day *n* cells of some array decided to play the following game. Initially each cell contains a number which is equal to it's ordinal number (starting from 1). Also each cell determined it's favourite number. On it's move *i*-th cell can exchange it's value with the value of some other *j*-th cell, if |*i* - *j*| = *d*<sub class="lower-index">*i*</sub>, where *d*<sub class="lower-index">*i*</sub> is a favourite number of *i*-th cell. Cells make moves in any order, the number of moves is unlimited.

The favourite number of each cell will be given to you. You will also be given a permutation of numbers from 1 to *n*. You are to determine whether the game could move to this state.
The first line contains positive integer *n* (1 ≤ *n* ≤ 100) — the number of cells in the array. The second line contains *n* distinct integers from 1 to *n* — permutation. The last line contains *n* integers from 1 to *n* — favourite numbers of the cells.
import sys
input = lambda: sys.stdin.readline().rstrip()

from collections import defaultdict,Counter

N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
D = [i for i in range(1,N+1)]

P = [[] for _ in range(N)]
for i in range(N):
    b = B[i]
    if i-b>=0:
        P[i].append(i-b)
        P[i-b].append(i)
    if i+b<N:
        P[i].append(i+b)
        P[i+b].append(i)
        
seen = [0]*N
def paint(idx, color):
    v = [idx]
    while v:
        i = v.pop()
        if seen[i]:continue
        seen[i] = color
        for j in P[i]:
            if seen[j]:continue
            v.append(j)
    
color = 0
for i in range(N):
    if seen[i]==0:
        color+=1
        paint(i,color)

lib = defaultdict(Counter)
for i in range(N):
    lib[seen[i]][A[i]]+=1
    lib[seen[i]][D[i]]+=1

for k,v in lib.items():
    for k2,v2 in v.items():
        if v2!=2:
            exit(print('NO'))
            
print('YES')
