n,Q = map(int,input().split()) *a, = map(int,input().split()) *b, = map(int,input().split()) L = [0]*Q R = [0]*Q l,r = 1,n def check(v,a,b): return (v != a and v != b) and not(v-1 in lst and v in lst and v+1 in lst) for i in range(Q)[::-1]: lst = [l-1,l-2,r+1,r+2] for l in range(max(l-1,1),l+3): if check(l,a[i],b[i]): break for r in range(min(n,r+1),r-3,-1): if check(r,a[i],b[i]): break L[i], R[i] = l,r if l > r: print("NO") exit() print("YES") print(l) for i in range(Q): for l in [l-1,l,l+1]: if L[i] <= l <= R[i] and l != a[i] and l != b[i]: break print(l)