import java.io.*;
import java.util.*;
import java.math.*;
 
public class main {
    public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public static PrintWriter pw = new PrintWriter(System.out);
    public static String line;
    public static StringTokenizer st;
    public static ArrayList<ArrayList<Integer>> adjList;
    public static int[] dx = {-1, 0, 1, 0, -1, 1, 1, -1, 0};
    public static int[] dy = {0, 1, 0, -1, 1, 1, -1, -1, 0};
    public static int INF = 0x3f3f3f3f;
    public static int MOD = 1000000007;
    public static long LINF = 0x3f3f3f3f3f3f3f3fL;

    public static void main(String[] args) throws Exception {
        st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

        ArrayList<Pair> A = new ArrayList<Pair>();
        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int a = Integer.parseInt(st.nextToken());
            int b = Integer.parseInt(st.nextToken());
            A.add(new Pair(b, a));
        }
        TreeMap<Integer, Integer> d = new TreeMap<Integer, Integer>();

        Collections.sort(A);
        long totalLength = 0;

        long ans = 0;
        int taken = 0;
        for (int i = N-1; i >= 0; i--) {
            Pair p = A.get(i);
            if (!d.containsKey(p.y)) {
                d.put(p.y, 0);
            }
            d.put(p.y, d.get(p.y) + 1);
            totalLength += p.y;
            taken++;
            if (taken > K) {
                int min = d.firstKey();
                totalLength -= min;
                if (d.get(min) == 1) {
                    d.remove(min);
                } else {
                    d.put(min, d.get(min) - 1);
                }
                taken--;
            }
            ans = Math.max(ans, totalLength * p.x);
        }

        pw.println(ans);

        pw.close(); 
        br.close();
    }
}

class Pair implements Comparable<Pair>{
    public int x, y;

    Pair(int _x, int _y){
        x = _x;
        y = _y;
    }
 
    public String toString(){
        return x + " " + y;
    }

    public int compareTo(Pair p){
        if (x != p.x) return x < p.x ? -1 : 1;
        if (y != p.y) return y < p.y ? -1 : 1;
        return 0;
    }
} 