#include <stdio.h>
#include <vector>
using namespace std;
#define PB push_back
struct b{
    int h;
    int w;
    bool operator ==(const b &a){return (h==a.h&&w==a.w)||(h==a.w&&w==a.h);}
    void in(){
        scanf("%d%d",&h,&w);
        return ;
    }
    void reset(){
        h=w=0;
        return ;
    }
    bool check(){return h!=0&&w!=0;}
    void operator =(const b &a){
        h=a.h;
        w=a.w;
        return ;
    }
};
void swap(const b &a,const b &r){
    b temp=a;
    a=r;
    r=temp;
    return ;
}
int main(){
    vector<b> v;
    b a[6];
    bool f;
    for(int i=0;i<6;i++)a[i].in();
    for(int i=0;i<6;i++)if(a[i].check()){
        f=false;
        for(int j=i+1;j<6;j++)if(a[j]==a[i]){
            f=true;
            v.PB(a[i]);
            a[i].reset();
            a[j].reset();
            break;
        }
        if(!f){
            printf("no\n");
            return 0;
        }
    }
    for(int i=0;i<2;i++){
    if(v[0].h==v[1].h&&v[1].w==v[2].h&&v[2].w==v[0].w){
        printf("yes\n");
        return 0;
    }
    else if(v[0].h==v[1].h&&v[1].w==v[2].w&&v[2].h==v[0].w){
        printf("yes\n");
        return 0;
    }
    else if(v[0].h==v[1].w&&v[1].h==v[2].h&&v[2].w==v[0].w){
        printf("yes\n");
        return 0;
    }
    else if(v[0].h==v[1].w&&v[1].h==v[2].w&&v[2].h==v[0].w){
        printf("yes\n");
        return 0;
    }
        swap(v[1],v[2]);
    }
    printf("no\n");
}
