Kevin has a permutation P of N integers 1, 2, ..., N, but he doesn't like it. Kevin wants to get a permutation Q.

Also he believes that there are M good pairs of integers (ai , bi). Kevin can perform following operation with his permutation:
Swap Px and Py only if (x, y) is a good pair.

Help him and tell if Kevin can obtain permutation Q using such operations.

Input format:

The first line of input will contain an integer T, denoting the number of test cases. 

Each test case starts with two space-separated integers N and M. The next line contains N space-separated integers Pi. The next line contains N space-separated integers Qi.  Each of the next M lines contains two space-separated integers ai and bi. 

Output format:

For every test case output "YES" (without quotes) if Kevin can obtain permutation Q and "NO" otherwise.

Constraints:
1 ≤ T ≤ 10
2 ≤ N ≤ 10^5
1 ≤ M ≤ 10^5
1 ≤ Pi,  Qi ≤ N. Pi and Qi are all distinct.
1 ≤ ai < bi ≤ N
N, M ≤ 100 in test data worth 20% of all points

SAMPLE INPUT
2
4 1
1 3 2 4
1 4 2 3
3 4
4 1
1 3 2 4
1 4 2 3
2 4

SAMPLE OUTPUT
NO
YES
def dfs(v):
    global mark,c_c
    q=[]
    q.append(v)
    
    while q:
        top=q.pop()
        mark[top]=c_c
        for j in G[top]:
            if mark[j]==-1:
                q.append(j)
                mark[j]=mark[top]
    #d[c_c]=s
                
t=input()
while t!=0:
    n,m=map(int,raw_input().split())
    G=[[] for i in xrange(n+1)]
    P=map(int,raw_input().split())
    Q=map(int,raw_input().split())
    for k in xrange(m):
        x,y=map(int,raw_input().split())
        G[x].append(y)
        G[y].append(x)
   
    mark=[-1]*(n+1)
    #d=[-1]*(n+1)
    c_c=1
    #dfs(1)
    t_p={}
    #t_q={}
    for v in xrange(1,n+1):
        t_p[P[v-1]]=v-1
        #t_q[Q[v-1]]=v-1
        if G[v]:
            if mark[v]==-1:
             dfs(v)
             c_c+=1
        else:
            #c_c+=1
            mark[v]=c_c
            c_c+=1    
    k=True 
    #print t_p,t_q 
    #print mark      
    for i in xrange(n):
        if P[i]!=Q[i]:
            #print "i",i,P[i],Q[i]
            #print t_p[P[i]],t_q[Q[i]]
            #print mark[t_p[P[i]]],mark[t_p[Q[i]]]
            if (mark[t_p[P[i]]+1]!=mark[t_p[Q[i]]+1]) :
                k=False
                break
    if k==False:
        print "NO"
    else:
         print "YES" 
    t-=1