用set判断一下
#include<iostream>
#include<cstdio>
#include<set>
#include<string>
#include<string.h>
#include<cstring>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<cctype>
#include<algorithm>
#include<sstream>
#include<utility>
#include<cmath>
#include<functional>
#define mt(a) memset(a,0,sizeof (a))
#define fl(a,b,c) fill(a,b,c)
#define SWAP(a,b,t) (t=a,a=b,b=t)
#define inf 1000000000+7
using namespace std;
typedef long long ll;
ll a[120];
int main()
{
int n;
while(cin>>n)
{
set<ll>fa,fb;
set<ll>::iterator pa,pb;
for(int i=0;i<n;i++)
{
ll x;
scanf("%lld",&x);
fa.insert(x);
}
for(int i=0;i<n;i++)
{
ll x;
scanf("%lld",&x);
fb.insert(x);
}
if(fa.size()!=fb.size())
{
printf("NO\n");
continue;
}
int flag =1;
for(pa=fa.begin(),pb=fb.begin();pa!=fa.end();pa++,pb++)
{
if(*pa!=*pb)flag=0;
}
if(flag)printf("YES\n");
else printf("NO\n");
}
return 0;
}