#include using namespace std; #define REP(i,st,ed) for(register int i=st,i##end=ed;i<=i##end;++i) #define DREP(i,st,ed) for(register int i=st,i##end=ed;i>=i##end;--i) templateinline bool chkmin(T &x,T y){return (yinline bool chkmax(T &x,T y){return (y>x)?(x=y,1):0;} typedef long long ll; inline int read(){ static int x,f;f=1; static char c; while((c=getchar())!='-' && (c>'9' || c<'0')); if(c=='-') f=-1,c=getchar(); x=(c^'0'); while((c=getchar())>='0' && c<='9') x=(x<<1)+(x<<3)+(c^'0'); return x*f; } const int maxn=400+10; double p[maxn],dp[5][maxn]; int main(){ int T=read(); REP(i,60,61) p[i]=1; REP(i,62,64) p[i]=1.7; REP(i,65,66) p[i]=2; REP(i,67,69) p[i]=2.3; REP(i,70,74) p[i]=2.7; REP(i,75,79) p[i]=3.0; REP(i,80,84) p[i]=3.3; REP(i,85,89) p[i]=3.7; REP(i,90,94) p[i]=4; REP(i,95,100) p[i]=4.3; REP(i,1,4) REP(j,1,400) REP(k,0,min((int)j,100)) chkmax(dp[i][j],dp[i-1][j-k]+p[k]); while(T--){ int x=read(); printf("%.1lf\n",dp[4][x]); } return 0; }