#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <stack>
#define M 10000
using namespace std;
char str1[500010][25];
char str2[500010][25];
int cnt1,cnt2;
int cmp(const void *a,const void *b)
{
return strcmp((char *)a,(char *)b);
}
void To_str(int x,int y)
{
int len;
if(x < y)
{
sprintf(str1[cnt1],"%d",x);
len = strlen(str1[cnt1]);
str1[cnt1][len] = ' ';
sprintf(&str1[cnt1][len+1],"%d",y);
// printf("%s\n",str1[cnt1]);
cnt1++;
}
else{
sprintf(str2[cnt2],"%d",y);
len = strlen(str2[cnt2]);
str2[cnt2][len] = ' ';
sprintf(&str2[cnt2][len+1],"%d",x);
// printf("%s\n",str2[cnt2]);
cnt2++;
}
}
bool Judge()
{
if(cnt1 != cnt2) return false;
for(int i = 0;i < cnt1;i++)
if(strcmp(str1[i],str2[i]) != 0)
return false;
return true;
}
int main()
{
//freopen("in.in","r",stdin);
int n;
while(scanf("%d",&n) == 1 && n)
{
int x,y;
cnt1 = cnt2 = 0;
for(int i = 0;i < n;i++)
{
scanf("%d%d",&x,&y);
To_str(x,y);
}
qsort(str1,cnt1,sizeof(str1[0]),cmp);
qsort(str2,cnt2,sizeof(str2[0]),cmp);
int temp = Judge();
if(temp)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}