#include<fstream.h>


struct Rec{
	int w;
	int h;
};


int main()
{
ifstream input("box.in");
ofstream output("box.out");


Rec rec[6];
int i,j;

for(i=0;i<6;i++)input>>rec[i].h>>rec[i].w;

bool take[6],con;
for(i=0;i<6;i++)take[i]=false;

int taken=0,index;
int side[3];


while(true){

	for(i=0;i<6;i++)if(take[i]==false){index=i; take[index]=true; break;}
	
	con=false;
	for(j=0;j<6;j++)if(take[j]==false)
		if((rec[j].w==rec[index].w && rec[j].h==rec[index].h) ||
			(rec[j].w==rec[index].h && rec[j].h==rec[index].w)
			)
		{side[taken++]=index; con=true; take[j]=true; break;}

		if(!con){output<<"IMPOSSIBLE\n"; return 0;}

		if(taken==3)break;
}


int x,y;
bool first=true;

while(first){
con=false;
if(rec[side[0]].h==rec[side[2]].h || rec[side[0]].h==rec[side[2]].w)con=true;
if(!con){first=false; break;}

if(rec[side[0]].h==rec[side[2]].h)x=rec[side[2]].w;
else x=rec[side[2]].h;

con=false;
if(rec[side[0]].w==rec[side[1]].h || rec[side[0]].w==rec[side[1]].w)con=true;
if(!con){first=false; break;}

if(rec[side[0]].w==rec[side[1]].h)y=rec[side[1]].w;
else y=rec[side[1]].h; 

if(y!=x){first=false; break;}

output<<"POSSIBLE\n";
return 0;
}


while(!first){

int hold=side[2]; side[2]=side[1]; side[1]=hold;

con=false;
if(rec[side[0]].h==rec[side[2]].h || rec[side[0]].h==rec[side[2]].w)con=true;
if(!con)break;

if(rec[side[0]].h==rec[side[2]].h)x=rec[side[2]].w;
else x=rec[side[2]].h;

con=false;
if(rec[side[0]].w==rec[side[1]].h || rec[side[0]].w==rec[side[1]].w)con=true;
if(!con)break;

if(rec[side[0]].w==rec[side[1]].h)y=rec[side[1]].w;
else y=rec[side[1]].h; 

if(y!=x)break;

output<<"POSSIBLE\n";
return 0;
}


output<<"IMPOSSIBLE\n";
return 0;
}