N=int(input()) assert 2<=N<=10**5,"Nが制約違反(N={})".format(N) A=list(map(int,input().split())) B=list(map(int,input().split())) P=list(map(int,input().split())) assert len(A)==N,"Aの長さがNではない(長さ:{})".format(len(A)) assert len(B)==N,"Bの長さがNではない(長さ:{})".format(len(B)) assert len(P)==N,"Pの長さがNではない(長さ:{})".format(len(P)) for i in range(N): assert 0<=A[i]<=1000,"{}人目のAが制約違反(A_i={})".format(i+1,A[i]) assert 0<=B[i]<=1000,"{}人目のBが制約違反(B_i={})".format(i+1,B[i]) assert 0<=P[i]<=100,"{}人目のPが制約違反(P_i={})".format(i+1,P[i]) Q=int(input()) assert 1<=Q<=2*10**5,"Qが制約違反(Q={})".format(Q) for i in range(Q): X,Y=map(int,input().split()) assert 1<=X<=N,"X_{}が制約違反(X_{}={})".format(i+1,i+1,X) assert 1<=Y<=N,"Y_{}が制約違反(Y_{}={})".format(i+1,i+1,Y) assert X!=Y,"X_{}=Y_{}(={})".format(i+1,i+1,X) print("OK")