#include<iostream>
#include<cmath>
#include<stack>
#include<algorithm>
#include<cstring>
#include<queue>
using namespace std;

const double eps = 1e-4;

long long L[100005];
int n, m;

bool fun(double len) {
    int sum = 0;
    for(int i = 0; i < n; i++) {
        sum += (int)(L[i] * 1.0 / len);
        if(sum >= m) {
            return true;
        }
    }
    return false;
}

bool cmp(long long a, long long b) {
    return a > b;
}

int main() {
    while(cin >> n >> m) {
        long long sum = 0;
        for(int i = 0; i < n; i++) {
            cin >> L[i];
            sum += L[i];
        }
        sort(L, L + n, cmp);
        double r = (double)sum / (m * 1.0);
        double l = 0;
        while(r - l >= eps) {
            double m = (l + r) / 2.0;
            if(fun(m)) {
                l = m;
            } else {
                r = m;
            }
        }
        printf("%.2lf\n", l);
    }
}