#include<stdio.h>
#include<stdlib.h>
int gcd(m,n){
if (n==0){
return m;
}
else{
return gcd(n,m%n);
}
}
void process(int y1,int m1,int b1,int y2,int m2,int b2,double *smx, double *bgx, int ind, int *smallind, int *bigind, double *savex, double *savey){
int div,lcm
,first
,second
,temp1
,temp
; double x,y;
first=lcm/y1;
second=lcm/y2;
m1=m1*first;
b1=b1*first;
y1=y1*first;
m2=m2*second;
b2=b2*second;
y2=y2*second;
if(y1>0&&y2>0){
temp1=m1-m2;
temp=b2-b1;
x=((float)temp)/((float)temp1);
y=(((float)m1*x)+((float)b1))/((float)lcm);
}
else if(y1!=y2){
temp1=m1+m2;
temp=b2+b1;
x=((float)temp)/((float)temp1);
y=0-(((float)m1*x)+((float)b1))/((float)lcm);
}
if(x<*smx){
*smx=x;
*smallind=ind;
}
if(x>*bgx){
*bgx=x;
*bigind=ind;
}
*savex=x;
*savey=y;
}
int main(){
int type
,testcase
,x1
,y1
,x2
,y2
,numm
,denm
,numb
,denb
,div,div2
; int save[3][3];
if(type==1){
for(int a=0;a<testcase;a++){
scanf("%d %d %d %d",&x1
,&y1
,&x2
,&y2
); numm=y1-y2;
denm=x1-x2;
if(numm<0 && denm<0){
}
numb=((x2*y1)-(x1*y2));
denb=x2-x1;
if(numb<0 && denb<0){
}
div2=gcd(numb,denb);
if(denm<0&&numm>0){
numm=0-numm;
}
if(denb<0&&numb>0){
numb=0-numb;
}
if((numm!=0)&&(numm!=-1)&&(numm!=1)&&(denm==1||denm==-1)) {
numm=numm*denm;
}
else if(numm==1&&denm==1){
}
else if(numm==-1&&denm==1){
}
else if((denm<0&&numm>0)||(denm>0&&numm<0)){
}
else if(denm>0&&numm>0){
}
if(numb!=0&&numm!=0){
if((numb<0)){
}
else{
}
}
if((numb!=0)&&(denb==1)){
numb=numb*denb;
}
else if(numb!=0){
}
}
}
/*
for(int i=0;i<testcase;i++){
printf("%d %d %d\n",save[i][0],save[i][1],save[i][2]);
}
*/
double ansx,ansy,smallx=100.00,bigx=-100.00,ans[3][3],savex,savey;
if(type==2){
for(int i=0;i<3;i++){
scanf("%d %d %d",&save
[i
][0],&save
[i
][1],&save
[i
][2]); }
int ind=0,smallind,bigind;
process(save[0][0],save[0][1],save[0][2],save[1][0],save[1][1],save[1][2],&smallx,&bigx,ind,&smallind,&bigind,&savex,&savey);
ans[ind][0]=savex;
ans[ind][1]=savey;
ind++;
process(save[0][0],save[0][1],save[0][2],save[2][0],save[2][1],save[2][2],&smallx,&bigx,ind,&smallind,&bigind,&savex,&savey);
ans[ind][0]=savex;
ans[ind][1]=savey;
ind++;
process(save[1][0],save[1][1],save[1][2],save[2][0],save[2][1],save[2][2],&smallx,&bigx,ind,&smallind,&bigind,&savex,&savey);
ans[ind][0]=savex;
ans[ind][1]=savey;
int middle=3-smallind-bigind;
printf("(%.2f, %.2f)\n",ans
[smallind
][0],ans
[smallind
][1]); printf("(%.2f, %.2f)\n",ans
[middle
][0],ans
[middle
][1]); printf("(%.2f, %.2f)\n",ans
[bigind
][0],ans
[bigind
][1]);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgppbnQgZ2NkKG0sbil7CiAgICAKICAgIGlmIChuPT0wKXsKICAgICAgICByZXR1cm4gbTsKICAgIH0KICAgIGVsc2V7CiAgICAgICAgcmV0dXJuIGdjZChuLG0lbik7CiAgICB9Cn0KCnZvaWQgcHJvY2VzcyhpbnQgeTEsaW50IG0xLGludCBiMSxpbnQgeTIsaW50IG0yLGludCBiMixkb3VibGUgKnNteCwgZG91YmxlICpiZ3gsIGludCBpbmQsIGludCAqc21hbGxpbmQsIGludCAqYmlnaW5kLCBkb3VibGUgKnNhdmV4LCBkb3VibGUgKnNhdmV5KXsKICAgIGludCBkaXYsbGNtLGZpcnN0LHNlY29uZCx0ZW1wMSx0ZW1wOwogICAgZG91YmxlIHgseTsKICAgIGRpdj1hYnMoZ2NkKHkxLHkyKSk7CiAgICBsY209KHkxKnkyKS9kaXY7CiAgICBmaXJzdD1sY20veTE7CiAgICBzZWNvbmQ9bGNtL3kyOwoKICAgIG0xPW0xKmZpcnN0OwogICAgYjE9YjEqZmlyc3Q7CiAgICB5MT15MSpmaXJzdDsKICAgIG0yPW0yKnNlY29uZDsKICAgIGIyPWIyKnNlY29uZDsKICAgIHkyPXkyKnNlY29uZDsKCiAgICBpZih5MT4wJiZ5Mj4wKXsKICAgICAgICB0ZW1wMT1tMS1tMjsKICAgICAgICB0ZW1wPWIyLWIxOwogICAgICAgIHg9KChmbG9hdCl0ZW1wKS8oKGZsb2F0KXRlbXAxKTsKICAgICAgICB5PSgoKGZsb2F0KW0xKngpKygoZmxvYXQpYjEpKS8oKGZsb2F0KWxjbSk7CiAgICB9CiAgICBlbHNlIGlmKHkxIT15Mil7CiAgICAgICAgdGVtcDE9bTErbTI7CiAgICAgICAgdGVtcD1iMitiMTsKICAgICAgICB4PSgoZmxvYXQpdGVtcCkvKChmbG9hdCl0ZW1wMSk7CiAgICAgICAgeT0wLSgoKGZsb2F0KW0xKngpKygoZmxvYXQpYjEpKS8oKGZsb2F0KWxjbSk7CiAgICB9CiAgICBpZih4PCpzbXgpewogICAgICAgICpzbXg9eDsKICAgICAgICAqc21hbGxpbmQ9aW5kOwogICAgfQogICAgaWYoeD4qYmd4KXsKICAgICAgICAqYmd4PXg7CiAgICAgICAgKmJpZ2luZD1pbmQ7CiAgICB9CiAgICAqc2F2ZXg9eDsKICAgICpzYXZleT15Owp9CgppbnQgbWFpbigpewogICAgaW50IHR5cGUsdGVzdGNhc2UseDEseTEseDIseTIsbnVtbSxkZW5tLG51bWIsZGVuYixkaXYsZGl2MjsKICAgIGludCBzYXZlWzNdWzNdOwogICAgc2NhbmYoIiVkIiwmdHlwZSk7CiAgICBpZih0eXBlPT0xKXsKICAgICAgICBzY2FuZigiJWQiLCZ0ZXN0Y2FzZSk7CiAgICAKICAgICAgICBmb3IoaW50IGE9MDthPHRlc3RjYXNlO2ErKyl7CiAgICAgICAgICAgIHNjYW5mKCIlZCAlZCAlZCAlZCIsJngxLCZ5MSwmeDIsJnkyKTsKICAgICAgICAgICAgbnVtbT15MS15MjsKICAgICAgICAgICAgZGVubT14MS14MjsKICAgICAgICAgICAgaWYobnVtbTwwICYmIGRlbm08MCl7CiAgICAgICAgICAgICAgICBudW1tPWFicyhudW1tKTsKICAgICAgICAgICAgICAgIGRlbm09YWJzKGRlbm0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG51bWI9KCh4Mip5MSktKHgxKnkyKSk7CiAgICAgICAgICAgIGRlbmI9eDIteDE7CiAgICAgICAgICAgIGlmKG51bWI8MCAmJiBkZW5iPDApewogICAgICAgICAgICAgICAgbnVtYj1hYnMobnVtYik7CiAgICAgICAgICAgICAgICBkZW5iPWFicyhkZW5iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBkaXY9Z2NkKG51bW0sZGVubSk7CiAgICAgICAgICAgIG51bW09bnVtbS9kaXY7CiAgICAgICAgICAgIGRlbm09ZGVubS9kaXY7CiAgICAgICAgICAgIGRpdjI9Z2NkKG51bWIsZGVuYik7CiAgICAgICAgICAgIG51bWI9bnVtYi9kaXY7CiAgICAgICAgICAgIGRlbmI9ZGVuYi9kaXY7CiAgICAgICAgICAgIGlmKGRlbm08MCYmbnVtbT4wKXsKICAgICAgICAgICAgICAgIG51bW09MC1udW1tOwogICAgICAgICAgICAgICAgZGVubT1hYnMoZGVubSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoZGVuYjwwJiZudW1iPjApewogICAgICAgICAgICAgICAgbnVtYj0wLW51bWI7CiAgICAgICAgICAgICAgICBkZW5iPWFicyhkZW5iKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHByaW50ZigieSA9ICIpOwogICAgICAgICAgICAgICAgaWYoKG51bW0hPTApJiYobnVtbSE9LTEpJiYobnVtbSE9MSkmJihkZW5tPT0xfHxkZW5tPT0tMSkpIHsKICAgICAgICAgICAgICAgICAgICBudW1tPW51bW0qZGVubTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkeCIsbnVtbSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKG51bW09PTEmJmRlbm09PTEpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigieCIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihudW1tPT0tMSYmZGVubT09MSl7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCIteCIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZigoZGVubTwwJiZudW1tPjApfHwoZGVubT4wJiZudW1tPDApKXsKICAgICAgICAgICAgICAgICAgICBkZW5tPWFicyhkZW5tKTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkLyVkeCIsbnVtbSxkZW5tKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYoZGVubT4wJiZudW1tPjApewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQvJWR4IixhYnMobnVtbSksYWJzKGRlbm0pKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYobnVtYiE9MCYmbnVtbSE9MCl7CiAgICAgICAgICAgICAgICAgICAgaWYoKG51bWI8MCkpewogICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiAtICIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgICAgICAgICBwcmludGYoIiArICIpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKChudW1iIT0wKSYmKGRlbmI9PTEpKXsKICAgICAgICAgICAgICAgICAgICBudW1iPW51bWIqZGVuYjsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkIixhYnMobnVtYikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSBpZihudW1iIT0wKXsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVkLyVkIixhYnMobnVtYiksYWJzKGRlbmIpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHByaW50ZigiXG4iKTsKICAgICAgICAgICAgfQoKCiAgICAgICAgCiAgICB9CiAgICAvKgogICAgZm9yKGludCBpPTA7aTx0ZXN0Y2FzZTtpKyspewogICAgICAgIHByaW50ZigiJWQgJWQgJWRcbiIsc2F2ZVtpXVswXSxzYXZlW2ldWzFdLHNhdmVbaV1bMl0pOwogICAgfQogICAgKi8KICAgIGRvdWJsZSBhbnN4LGFuc3ksc21hbGx4PTEwMC4wMCxiaWd4PS0xMDAuMDAsYW5zWzNdWzNdLHNhdmV4LHNhdmV5OwogICAgaWYodHlwZT09Mil7CiAgICAgICAgZm9yKGludCBpPTA7aTwzO2krKyl7CiAgICAgICAgICAgIHNjYW5mKCIlZCAlZCAlZCIsJnNhdmVbaV1bMF0sJnNhdmVbaV1bMV0sJnNhdmVbaV1bMl0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBpbnQgaW5kPTAsc21hbGxpbmQsYmlnaW5kOwogICAgICAgIHByb2Nlc3Moc2F2ZVswXVswXSxzYXZlWzBdWzFdLHNhdmVbMF1bMl0sc2F2ZVsxXVswXSxzYXZlWzFdWzFdLHNhdmVbMV1bMl0sJnNtYWxseCwmYmlneCxpbmQsJnNtYWxsaW5kLCZiaWdpbmQsJnNhdmV4LCZzYXZleSk7CiAgICAgICAgYW5zW2luZF1bMF09c2F2ZXg7CiAgICAgICAgYW5zW2luZF1bMV09c2F2ZXk7CiAgICAgICAgaW5kKys7CiAgICAgICAgcHJvY2VzcyhzYXZlWzBdWzBdLHNhdmVbMF1bMV0sc2F2ZVswXVsyXSxzYXZlWzJdWzBdLHNhdmVbMl1bMV0sc2F2ZVsyXVsyXSwmc21hbGx4LCZiaWd4LGluZCwmc21hbGxpbmQsJmJpZ2luZCwmc2F2ZXgsJnNhdmV5KTsKICAgICAgICBhbnNbaW5kXVswXT1zYXZleDsKICAgICAgICBhbnNbaW5kXVsxXT1zYXZleTsKICAgICAgICBpbmQrKzsKICAgICAgICBwcm9jZXNzKHNhdmVbMV1bMF0sc2F2ZVsxXVsxXSxzYXZlWzFdWzJdLHNhdmVbMl1bMF0sc2F2ZVsyXVsxXSxzYXZlWzJdWzJdLCZzbWFsbHgsJmJpZ3gsaW5kLCZzbWFsbGluZCwmYmlnaW5kLCZzYXZleCwmc2F2ZXkpOwogICAgICAgIGFuc1tpbmRdWzBdPXNhdmV4OwogICAgICAgIGFuc1tpbmRdWzFdPXNhdmV5OwogICAgICAgIGludCBtaWRkbGU9My1zbWFsbGluZC1iaWdpbmQ7CiAgICAgICAgCiAgICAgICAgcHJpbnRmKCIoJS4yZiwgJS4yZilcbiIsYW5zW3NtYWxsaW5kXVswXSxhbnNbc21hbGxpbmRdWzFdKTsKICAgICAgICBwcmludGYoIiglLjJmLCAlLjJmKVxuIixhbnNbbWlkZGxlXVswXSxhbnNbbWlkZGxlXVsxXSk7CiAgICAgICAgcHJpbnRmKCIoJS4yZiwgJS4yZilcbiIsYW5zW2JpZ2luZF1bMF0sYW5zW2JpZ2luZF1bMV0pOwogICAgICAgIAogICAgfQogICAgCgogICAgcmV0dXJuIDA7Cn0=