#include<bits/stdc++.h> //题目定义n<m
using namespace std;
const int N =1e5+10;
int a[N],b[N];
int n,m;
int main(){
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i]; //a短b长
for(int j=0;j<m;j++) cin>>b[j]; //子序列:只要a的值都在b中出现过
int i=0,j=0;
while(i<n&&j<m){ //j依次走 a[i] b[j]相等时 在j中不一定是连续相邻的
if(a[i]==b[j]) i++; // 如果i移动到尾巴 则说明所有元素都在大数列中存在过
j++; //j指针是始终移动的
}
if(i==n) puts("Yes");
else puts("No");
return 0;
}