#include using namespace std; struct animal{ int type; int source; int dest; }data[1005]; int dp[1005][1005]; int m,n; int cc[1005]={-1}; bool foo(animal x, animal y){ if(x.dest == y.dest) return x.source > y.source; return x.destn) return; //include animal x if(y==0 || (data[y].dest<=data[x].source) || (data[x].type == data[y].type)) solve(x+1,x,c+1); //exclude animal x solve(x+1,y,c); } int main() { int tc; char ty; cin>>tc; while(tc--){ cin>>m>>n; for(int i=1;i<=n;i++){ cin>> ty; if(ty=='E' || ty=='C') data[i].type = 1; else data[i].type = 2; } for(int i=1;i<=n;i++) cin>>data[i].source; for(int i=1;i<=n;i++) cin>>data[i].dest; sort(data+1,data+n+1,foo); /*for(int i=1;i<=n;i++){ cout<< data[i].type << " " << data[i].source << " " << data[i].dest; cout<=1;i--){ if(ans[i]==-1) ans[i]=ans[i+1]; } for(int i=1;i<=n;i++) cout<< ans[i] << " "; cout << endl; } }