#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  if (b == 0) {
    return a;
  }
  return gcd(b, a % b);
}
const long long int L = 3e5 + 5;
vector<pair<long long int, long long int> > p;
multiset<long long int> s;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, k;
  cin >> n >> k;
  for (long long int i = 0; i < n; i++) {
    long long int a, c;
    cin >> a >> c;
    p.push_back(make_pair(c, a));
  }
  sort(p.begin(), p.end());
  reverse(p.begin(), p.end());
  long long int ans = 0;
  long long int cur = 0;
  for (long long int i = 0; i < n; i++) {
    cur += p[i].second;
    s.insert(p[i].second);
    if ((long long int)(s.size()) > k) {
      cur -= *s.begin();
      s.erase(s.begin());
    }
    ans = max(ans, p[i].first * cur);
  }
  cout << ans << "\n";
  return 0;
}
