#include <bits/stdc++.h>
using namespace std;
long long int t[1000000];
long long int b[1000000];
pair<long long int, long long int> p[1000000];
unordered_map<long long int, long long int> mp;
int main() {
  int n, k;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> t[i];
    cin >> b[i];
    p[i] = make_pair(b[i], t[i]);
  }
  sort(p, p + n);
  set<pair<long long int, long long int>> s;
  long long int su = 0;
  long long int ans = INT_MIN;
  for (int i = n - 1; i >= 0; i--) {
    s.insert(make_pair(p[i].second, i));
    su += p[i].second;
    if (s.size() > k) {
      auto it = s.begin();
      su -= it->first;
      s.erase(s.begin());
    }
    ans = max(ans, su * (p[i].first));
  }
  cout << ans << endl;
}
