#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<iomanip>
#include<cstdio>
#include<vector>
#include<queue>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
using namespace std;

struct pp
{
	int first,second;
	bool operator < (const pp &p)
	{
		return first!=p.first?first<p.first:second<p.second;
	}
	bool operator == (const pp &p)
	{
		return first==p.first&&second==p.second;
	}
};

int main()
{
	pp a[7];
	for(int i=0;i<6;i++)
	{
		int s,t;cin>>s>>t;
		a[i].first=min(s,t);
		a[i].second=max(s,t);
	}
	sort(&a[0],&a[6]);
	int f=0;
	for(int i=0;i<3;i++)
	{
		if(a[i*2]==a[i*2+1])f++;
	}
	int x1,x2,y1,y2,z1,z2;
	x1=a[0].first,x2=a[0].second;
	y1=a[2].first,y2=a[2].second;
	z1=a[4].first,z2=a[4].second;
	if(x1==y1&&y2==z2&&z1==x1)f++;
	else if(x1==y1&&y2==z1&&z2==x1)f++;
	else if(x1==y2&&y1==z2&&z1==x1)f++;
	else if(x1==y2&&y1==z1&&z2==x1)f++;
	else if(x2==y1&&y2==z2&&z1==x2)f++;
	else if(x2==y1&&y2==z1&&z2==x2)f++;
	else if(x2==y2&&y1==z2&&z1==x2)f++;
	else if(x2==y2&&y1==z1&&z2==x2)f++;
	if(f==4)cout<<"yes"<<endl;
	else cout<<"no"<<endl;
	return 0;
}