#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
typedef struct
{
int h;
int w;
int all;
}matrix;
matrix side[6];
const int MAXSIZE= 20000;
bool compare(matrix a,matrix b)
{
if(a.h<b.h) return a.h>b.h;
else if(a.h == b.h)
{
return a.w>b.w;
}
}
int main()
{
while(cin>>side[0].h>>side[0].w>>side[1].h>>side[1].w>>side[2].h>>side[2].w>>side[3].h>>side[3].w>>side[4].h>>side[4].w>>side[5].h>>side[5].w)
{
for(int i=0;i<6;i++)
{
if(side[i].h<side[i].w)
{
int t=side[i].h;
side[i].h=side[i].w;
side[i].w=t;
}
side[i].all=side[i].h+side[i].w;
}
sort(side,side+6,compare);
int k=0;
for(int i=1;i<4;i++)
{
if(side[0].h !=side[i].h)
{
k=1;
}
}
for(int i=3;i<6;i++)
{
if(side[2].w !=side[i].w)
{
k=1;
}
}
if(side[4].h == side[5].h && side[5].h == side[0].w && side[0].w == side[1].w)
{
}
else
{
k=1;
}
if(k !=1)
{
cout<<"POSSIBLE"<<endl;
}
else
{
cout<<"IMPOSSIBLE"<<endl;
}
}
return 0;
}