#include<iostream>#include<stdlib.h>#include<stdio.h>#include<string.h>#include<map>usingnamespace std;map<pair<int, int >, int >list;intmain(){int n, a, b;while(scanf("%d",&n)!= EOF && n){
list.clear();int cnt =0;for(int i =0; i < n; i++){scanf("%d %d",&a ,&b);if(!list[make_pair(a, b)])
list[make_pair(a, b)]=1;else
list[make_pair(a, b)]++;}
map<pair<int,int>,int>::iteratorit;bool flag =true;for( it = list.begin(); it != list.end(); it++){int a = it->first.first;int b = it->first.second;if(it->second != list[make_pair(b,a)]){
flag =false;break;}}//cout<<cnt<<" "<<ans<<endl;if(flag)printf("YES\n");elseprintf("NO\n");}return0;}