#include using namespace std; #define REP(i,a,b) for(i=a;i'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);} void reader(ll *x){int k,m=0;*x=0;for(;;){mygc(k);if(k=='-'){m=1;break;}if('0'<=k&&k<='9'){*x=k-'0';break;}}for(;;){mygc(k);if(k<'0'||k>'9')break;*x=(*x)*10+k-'0';}if(m)(*x)=-(*x);} int N; int A[200000]; ll K; int main(){ int i, j, loop; double a, b, c; ll val; reader(&N); rep(i,N) reader(A+i); reader(&K); a = 0; b = 1e10; rep(loop,100){ c = (a+b)/2; val = 0; rep(i,N) val += (ll)(A[i]/c); if(val >= K) a = c; else b = c; } printf("%.15f\n",(a+b)/2); return 0; }