rt
#include<bits/stdc++.h>
using namespace std;
struct dx{
int x,y;
};
bool cmp(dx a,dx b){
if(a.x==b.x){
return a.y<b.y;
}
return a.x<b.x;
}
dx a[200005],b[200005];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i].x;
}
for(int i=0;i<n;i++){
cin>>a[i].y;
}
for(int i=0;i<m;i++){
cin>>b[i].x;
}
for(int i=0;i<m;i++){
cin>>b[i].y;
}
sort(a,a+n,cmp);
sort(b,b+m,cmp);
int j=0;
for(int i=0;i<n;i++){
while(j<m){
if(a[i].x<=b[j].x&&a[i].y<=b[j].y) break;
j++;
}
if(j==m){
cout<<"No\n";
return 0;
}
j++;
}
cout<<"Yes\n";
return 0;
}
QAQ