#checker

N,K,M=map(int,input().split())

assert 1<=N<=2*10**5,"Nが制約外(N={})".format(N)
assert 1<=K<=10**9,"Kが制約外(K={})".format(K)
assert 1<=M<=10**9,"Mが制約外(M={})".format(M)

P=list(map(int,input().split()))
assert len(P)==N,"Pの長さがおかしい(長さ:{})".format(len(P))
for i,x in enumerate(P,1):
    assert 0<=x<=10**9,"P_{}が制約外(P_{}={})".format(i,i,x)

E=list(map(int,input().split()))
assert len(E)==N,"Eの長さがおかしい(長さ:{})".format(len(E))
for i,x in enumerate(E,1):
    assert 0<=x<=10**9,"E_{}が制約外(E_{}={})".format(i,i,x)

A=list(map(int,input().split()))
assert len(A)==N,"Aの長さがおかしい(長さ:{})".format(len(A))
for i,x in enumerate(A,1):
    assert 0<=x<=10**9,"A_{}が制約外(A_{}={})".format(i,i,x)

H=list(map(int,input().split()))
assert len(H)==N,"Hの長さがおかしい(長さ:{})".format(len(H))
for i,x in enumerate(H,1):
    assert 0<=x<=10**9,"H_{}が制約外(H_{}={})".format(i,i,x)

print("OK")