
#include<stdio.h>
double dfs(double n, double n1, double n2, double x)
{
if (n < (n1 + x) && n< (n2 + x)&& n >0 ) return n;
double ret1 = dfs(n - (n1 + x), n1, n2, x);
double ret2 = dfs(n - (n2 + x), n1, n2, x);
return (ret1 < ret2?ret1 : ret2);
}
int main() {
double n;
double n1, n2, m, x;
int t;
scanf("%d", &t);
while (t--)
{
scanf("%lf %lf %lf %lf %lf", &n, &n1, &n2, &m, &x);
n -= m * (n1 + n2 + x + x);
if (n<0)
{
printf("-1\n");
continue;
}
printf("%.1f\n", dfs(n, n1, n2, x));
}
}
#include<stdio.h>
#define N 1e-10
int isTriangle(double a, double b, double c)
{
if (a + b > c && a + c > b && b + c > a)
return 1;
else return 0;
}
int type1(double a, double b, double c)
{
if (a == b && b == c) return 1;
else if (a == b || b == c || a == c) return 2;
else return 3;
}
int type2(double a, double b, double c)
{
if (a == b && b == c) return 1;
else if (a == b || b == c || a == c) return 2;
else return 3;
}
int main() {
double a, b, c;
while (scanf("%lf %lf %lf", &a, &b, &c) == 3)
{
if (a < 1 || a>100 || b < 1 || b>100 || c < 1 || c>100)
{
printf("Can't form a triangle.\n");
continue;
}
if (!isTriangle(a, b, c))printf("error\n");
else
{
int ret = type1(a, b, c);
if (ret == 1)printf("equilateral\n");
else if (ret == 2)printf("isosceles\n");
else printf("general\n");
}
}
}