#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
#define LL long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
typedef pair<int,int> pii;
const int inf=0x3f3f3f3f;
const int mod=1e9+7;

int n;
pii a[maxn],b[maxn];
int f[maxn];
int find(int x){
	if(x!=f[x]) f[x]=find(f[x]);
	return f[x];
}

int main(){
	//freopen("test.txt","r",stdin);
	
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i].fi),a[i].se=i;
	for(int i=1;i<=n;i++) scanf("%d",&b[i].fi),b[i].se=i;
	sort(a+1,a+n+1);
	sort(b+1,b+n+1);
	for(int i=1;i<=n;i++)if(a[i].fi>b[i].fi){
		puts("No");
		return 0;
	}
	for(int i=1;i<=n;i++) f[i]=i;
	for(int i=1;i<=n;i++){
		find(a[i].se);
		find(b[i].se);
		f[f[a[i].se]]=f[b[i].se];
	}
	int cnt=0;
	for(int i=1;i<=n;i++)if(f[i]==i) cnt++;
	if(cnt>1){
		puts("Yes");
	}else{
		bool flag=false;
		for(int i=1;i<n;i++)
			if(a[i+1].first<=b[i].fi) flag=true;
		if(flag) puts("Yes");
		else puts("No");
	}
		
	return 0;
} 