#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const long long LINF = 0x3f3f3f3f3f3f3f3f;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n, k;
  cin >> n >> k;
  vector<pair<int, int> > v(n);
  for (pair<int, int> &i : v) cin >> i.second >> i.first;
  sort(v.begin(), v.end(), greater<pair<int, int> >());
  multiset<long long> h, h_k;
  long long ans = 0, sum_l = 0;
  for (pair<int, int> i : v) {
    if (!h.empty() && h.size() == k) sum_l -= (*h.begin());
    sum_l += i.second;
    ans = max(ans, sum_l * i.first);
    if (!h.empty() && h.size() == k) sum_l += (*h.begin());
    h.insert(i.second);
    if (h.size() == k + 1) {
      auto it = h.begin();
      sum_l -= *it;
      h.erase(it);
    }
  }
  cout << ans << '\n';
  exit(0);
}
