#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=1e5+10;
int a[N];
int st[N];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
int ans=0;
for(int i=1,j=1;i<=n;i++)
{
st[a[i]]++;
while(st[a[i]]>1)//出现重复数
{
st[a[j]]--;//删掉j所在的位置
j++;//更新j的位置
}
ans=max(ans,i-j+1);//求个数
}
//思想就是优化朴素, 最多只需要两个指针走完 复杂度为n
cout<<ans;
}
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=1e5+10;
int a[N];
int b[N];
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,m,x;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=m;i++)
cin>>b[i];
int check=0;
for(int i=1,j=1;i<=n,j<=m;j++)
{
if(i==n and a[i]==b[j])
check=1;
if(a[i]==b[j])
i++;
}
if(check==1) cout<<"Yes";
else cout<<"No";
}