#include "bits/stdc++.h" using namespace std; const int N = 5e4+5; int t, n, m; int src[N], dst[N]; char tp[N]; int tp1[N], tp2[N], ans[N]; int tree[2][4*N], laz[2][4*N]; int out[N]; vector< pair > cry[N]; int get(char c){ if(c == 'E' || c == 'C')return 0; return 1; } void push(int node, int s, int e){ tree[0][node] += laz[0][node]; tree[1][node] += laz[1][node]; if(s!=e){ laz[0][node<<1] += laz[0][node]; laz[0][node<<1|1] += laz[0][node]; laz[1][node<<1] += laz[1][node]; laz[1][node<<1|1] += laz[1][node]; } laz[0][node] = laz[1][node] = 0; } void upd(int node, int s, int e, int l, int r, int tp){ push(node,s,e); if(r>1; upd(node << 1, s, md, l, r, tp); upd(node << 1 | 1, md + 1, e, l, r, tp); tree[0][node] = max(tree[0][node<<1], tree[0][node<<1|1]); tree[1][node] = max(tree[1][node<<1], tree[1][node<<1|1]); } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> t; while(t--){ cin >> n >> m; for(int i = 0; i < m; i++)cin >> tp[i]; for(int i = 0; i < m; i++)cin >> src[i]; for(int i = 0; i < m; i++)cin >> dst[i]; for(int i = 0; i < m; i++)if(src[i]=cur) out[cur++] = i; } for(int i = 1; i <= m; i++) cout << out[i] << " \n"[i==m]; } return 0; }