#include<bits/stdc++.h>
#pragma GCC optimize("O2")
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define int long long
#define pii pair<int,int>
#define ii int,int
#define fi first
#define se second
#define pb push_back
#define lb lower_bound
#define ub upper_bound
#define umap unordered_map
#define BIT(mask, i) ((mask >> i)&1)
#define ALL(c) c.begin(), c.end()
using namespace std;
mt19937 rd(chrono::high_resolution_clock::now().time_since_epoch().count());
int rand(int l, int r){
return l + rd()*rd()%(r-l+1);
}
const int N = 1e6+7;
const int M = 1e3+3;
const int MOD = 1e9+7;
const int inf = 3e18;
int n, m, a[100005];
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("PRIZE.INP", "r", stdin);
freopen("PRIZE.OUT", "w", stdout);
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> a[i];
}
map<int,int> mp;
vector<int> v;
for(int i = 1; i <= n; i++){
mp[a[i]]++;
}
// mp[a[i]] là số lần xuất hiện của a[i]
for(auto i : mp){
for(int j = 1; j <= i.second; j++){
v.push_back(i.first);
}
}
reverse(v.begin(), v.end());
int lim = min(m, n);
int ans = 0;
for(int k = 1; k <= lim; k++){
ans = max(ans, k * v[k-1]);
}
cout << ans;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPMiIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPMyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJPZmFzdCIpCgojZGVmaW5lIGludCBsb25nIGxvbmcKCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSBpaSBpbnQsaW50CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBsYiBsb3dlcl9ib3VuZAojZGVmaW5lIHViIHVwcGVyX2JvdW5kCiNkZWZpbmUgdW1hcCB1bm9yZGVyZWRfbWFwCiNkZWZpbmUgQklUKG1hc2ssIGkpICgobWFzayA+PiBpKSYxKQojZGVmaW5lIEFMTChjKSBjLmJlZ2luKCksIGMuZW5kKCkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgptdDE5OTM3IHJkKGNocm9ubzo6aGlnaF9yZXNvbHV0aW9uX2Nsb2NrOjpub3coKS50aW1lX3NpbmNlX2Vwb2NoKCkuY291bnQoKSk7CmludCByYW5kKGludCBsLCBpbnQgcil7CiAgICByZXR1cm4gIGwgKyByZCgpKnJkKCklKHItbCsxKTsKfQoKY29uc3QgaW50IE4gPSAxZTYrNzsKY29uc3QgaW50IE0gPSAxZTMrMzsKY29uc3QgaW50IE1PRCA9IDFlOSs3Owpjb25zdCBpbnQgaW5mID0gM2UxODsKCmludCBuLCBtLCBhWzEwMDAwNV07CgpzaWduZWQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKCiAgICBmcmVvcGVuKCJQUklaRS5JTlAiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIlBSSVpFLk9VVCIsICJ3Iiwgc3Rkb3V0KTsKCiAgICBjaW4gPj4gbiA+PiBtOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQogICAgbWFwPGludCxpbnQ+IG1wOwogICAgdmVjdG9yPGludD4gdjsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICBtcFthW2ldXSsrOwogICAgfQogICAgLy8gbXBbYVtpXV0gbMOgIHPhu5EgbOG6p24geHXhuqV0IGhp4buHbiBj4bunYSBhW2ldCiAgICBmb3IoYXV0byBpIDogbXApewogICAgICAgIGZvcihpbnQgaiA9IDE7IGogPD0gaS5zZWNvbmQ7IGorKyl7CiAgICAgICAgICAgIHYucHVzaF9iYWNrKGkuZmlyc3QpOwogICAgICAgIH0KICAgIH0KICAgIHJldmVyc2Uodi5iZWdpbigpLCB2LmVuZCgpKTsKICAgIGludCBsaW0gPSBtaW4obSwgbik7CiAgICBpbnQgYW5zID0gMDsKICAgIGZvcihpbnQgayA9IDE7IGsgPD0gbGltOyBrKyspewogICAgICAgIGFucyA9IG1heChhbnMsIGsgKiB2W2stMV0pOwogICAgfQogICAgY291dCA8PCBhbnM7Cn0KCg==