#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <cstdio>
#include <math.h>
#define pi 3.141592653589793
using namespace std;
/*已知两点(x1,y1)(x2,y2)求直线方程(ax+by+c=0) :
解得:a=y1-y2,b=x2-x1,c=x1*y2-x2*y1;*/
//x=(c1-b1c1+b1c2)/(a1b1-a2b1-a1)
//y=-[a1*(c1-c1b1+b1c2)/(a1b1-a2b1-a1)+c1]/b1
int main(){
int n,i=0;
cin>>n;
double x1,y1,x2,y2,x3,y3,x4,y4;
cout<<"INTERSECTING LINES OUTPUT"<<endl;
for (;i<n;i++)
{
cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
double a1=y1-y2,b1=x2-x1,c1=x1*y2-x2*y1;
double a2=y3-y4,b2=x4-x3,c2=x3*y4-x4*y3;
// cout<<"First line:"<<a1<<"x"<<"+"<<b1<<"y+"<<c1<<"=0"<<endl;
//cout<<"Second line:"<<a2<<"x"<<"+"<<b2<<"y+"<<c2<<"=0"<<endl;
//cout<<endl;
if ((a1/a2)==(b1/b2)||(a1==0&&a2==0)||(b1==0&&b2==0))
{
if ((a1/a2)==(c1/c2)&&(b1/b2)==(c1/c2))
cout<<"LINE"<<endl;//重合
else if (c1==0&&c2==0)
cout<<"LINE"<<endl;//重合
else
cout<<"NONE"<<endl;//平行
}
else
{
double x=(b2*c1-b1*c2)/(b1*a2-b2*a1);
double y=(a2*c1-a1*c2)/(a1*b2-a2*b1);
printf("POINT %.2lf %.2lf\n",x,y);
}
//cout<<endl;
}
cout<<"END OF OUTPUT"<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxjc3RkaW8+CiNpbmNsdWRlIDxtYXRoLmg+CgojZGVmaW5lIHBpIDMuMTQxNTkyNjUzNTg5NzkzCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8q5bey55+l5Lik54K5KHgxLHkxKSh4Mix5MinmsYLnm7Tnur/mlrnnqIsoYXgrYnkrYz0wKSDvvJoK6Kej5b6X77yaYT15MS15MixiPXgyLXgxLGM9eDEqeTIteDIqeTE7Ki8KLy94PShjMS1iMWMxK2IxYzIpLyhhMWIxLWEyYjEtYTEpCi8veT0tW2ExKihjMS1jMWIxK2IxYzIpLyhhMWIxLWEyYjEtYTEpK2MxXS9iMQppbnQgbWFpbigpewogICAgaW50IG4saT0wOwogICAgY2luPj5uOwpkb3VibGUgeDEseTEseDIseTIseDMseTMseDQseTQ7CmNvdXQ8PCJJTlRFUlNFQ1RJTkcgTElORVMgT1VUUFVUIjw8ZW5kbDsKCWZvciAoO2k8bjtpKyspCiAgICB7CiAgICAgICAgY2luPj54MT4+eTE+PngyPj55Mj4+eDM+PnkzPj54ND4+eTQ7CiAgICAgICAgZG91YmxlIGExPXkxLXkyLGIxPXgyLXgxLGMxPXgxKnkyLXgyKnkxOwogICAgICAgIGRvdWJsZSBhMj15My15NCxiMj14NC14MyxjMj14Myp5NC14NCp5MzsKICAgICAgIC8vIGNvdXQ8PCJGaXJzdCBsaW5lOiI8PGExPDwieCI8PCIrIjw8YjE8PCJ5KyI8PGMxPDwiPTAiPDxlbmRsOwogICAgICAgIC8vY291dDw8IlNlY29uZCBsaW5lOiI8PGEyPDwieCI8PCIrIjw8YjI8PCJ5KyI8PGMyPDwiPTAiPDxlbmRsOwogICAgICAgIC8vY291dDw8ZW5kbDsKICAgICAgICBpZiAoKGExL2EyKT09KGIxL2IyKXx8KGExPT0wJiZhMj09MCl8fChiMT09MCYmYjI9PTApKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKChhMS9hMik9PShjMS9jMikmJihiMS9iMik9PShjMS9jMikpCiAgICAgICAgICAgICAgICBjb3V0PDwiTElORSI8PGVuZGw7Ly/ph43lkIgKICAgICAgICAgICAgZWxzZSBpZiAoYzE9PTAmJmMyPT0wKQogICAgICAgICAgICAgICAgY291dDw8IkxJTkUiPDxlbmRsOy8v6YeN5ZCICiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGNvdXQ8PCJOT05FIjw8ZW5kbDsvL+W5s+ihjAogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgIGRvdWJsZSB4PShiMipjMS1iMSpjMikvKGIxKmEyLWIyKmExKTsKICAgICAgICAgICBkb3VibGUgeT0oYTIqYzEtYTEqYzIpLyhhMSpiMi1hMipiMSk7CiAgICAgICAgICAgIAogICAgICAgICAgIHByaW50ZigiUE9JTlQgJS4ybGYgJS4ybGZcbiIseCx5KTsKICAgICAgICB9CiAgICAgICAgLy9jb3V0PDxlbmRsOwogICAgfQogICAgY291dDw8IkVORCBPRiBPVVRQVVQiPDxlbmRsOwoJcmV0dXJuIDA7Cn0K
MTAgCjAgMCA0IDQgMCA0IDQgMCAKNSAwIDcgNiAxIDAgMiAzIAo1IDAgNyA2IDMgLTYgNCAtMyAKMiAwIDIgMjcgMSA1IDE4IDUgCjAgMyA0IDAgMSAyIDIgNSAKMCAwIDEgMSAwIDAgMSAxIAo0IDAgNiAwIDEgMiA2IDkgCjEgMCA1IDAgOCA1IDQgNSAKMSAwIDUgMCA1IDAgMSAwIAowIDEgMCA1IDAgNSAwIDEK
10
0 0 4 4 0 4 4 0
5 0 7 6 1 0 2 3
5 0 7 6 3 -6 4 -3
2 0 2 27 1 5 18 5
0 3 4 0 1 2 2 5
0 0 1 1 0 0 1 1
4 0 6 0 1 2 6 9
1 0 5 0 8 5 4 5
1 0 5 0 5 0 1 0
0 1 0 5 0 5 0 1