#include<stdio.h>
int main()
{
int w, h, t;
int rect[6][2];
while (scanf("%d%d", &w, &h) == 2) {
if (w < h) {
t = w; w = h; h = t;
}
rect[0][0] = w;
rect[0][1] = h;
for (int i = 1; i < 6; ++i) {
scanf("%d%d", &w, &h);
if (w < h) {
t = w; w = h; h = t;
}
rect[i][0] = w;
rect[i][1] = h;
}
// 给矩形排序
for (int i = 0; i < 6; ++i) {
for (int j = i + 1; j < 6; ++j) {
if (rect[j][0] > rect[i][0] || rect[j][0] == rect[i][0] && rect[j][1] > rect[i][1]) {
t = rect[j][0]; rect[j][0] = rect[i][0]; rect[i][0] = t;
t = rect[j][1]; rect[j][1] = rect[i][1]; rect[i][1] = t;
}
}
}
int flag = 1;
// 长方体有3个对面长宽相同
for (int i = 0; i < 6; i += 2) {
if (rect[i][0] != rect[i + 1][0] || rect[i][1] != rect[i + 1][1]) {
flag = 0;
break;
}
}
// 长方体三个对面之间的联系
if (rect[0][0] != rect[2][0] || rect[2][1] != rect[4][1] || rect[4][0] != rect[0][1])
flag = 0;
if (flag)
printf("POSSIBLE\n");
else
printf("IMPOSSIBLE\n");
}
return 0;
}