#include<iostream>
#include<cstring>
#include<algorithm>
#include<math.h>
#include<cmath>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<cstdio>
#include<string>//完整头文件
#include<ctime>
using namespace std;
double round(double val)
{
return (val>0.0)?floor(val+0.5):ceil(val-0.5);
}//案例给的都是目标的两位,但题目是未保证所以有这样的案例
int a[5];
int goal;
int main ()
{
for(int i=1;i<=4;++i)
{
double k;
cin>>k;
a[i]=round(k*100);
}
sort(a+1,a+5);//确定两位精度运算,即可先转化为整型(防精度问题)
double k;
cin>>k;
goal=round(k*100);
int t=goal*3-a[2]-a[3];
if(t<a[1])
{
cout<<"impossible";
}
else if(t>=a[4])
{
cout<<"infinite";
}
else {
double ans=t*1.0/100.0;
printf("%.2lf",ans);//固定输出两位
}
return 0;
}
07-30
840
09-06
1148
11-03
494