 import java.util.*;
    import java.lang.*;
    import java.io.*;
    public class C{

        public static void main(String[] args){
            InputStream inputStream = System.in;
            InputReader in = new InputReader(inputStream);
            int n = in.nextInt();
            int k = in.nextInt();
            ArrayList<ArrayList<Integer>> arr = new ArrayList<ArrayList<Integer>>();
            // int arr[][] = new int[n][2];
            for(int i=0;i<n;i++){
                ArrayList<Integer> temp = new ArrayList<Integer>();
                temp.add(in.nextInt());   //length
                temp.add(in.nextInt());   //beauty  
                arr.add(temp);
            }
            //Sort in descending order of beauty.
            Collections.sort(arr,new Comparator<ArrayList<Integer>>(){
                @Override
                public int compare(ArrayList<Integer> o1, ArrayList<Integer> o2){
                    return o2.get(1)-o1.get(1); 
                } 
            });
            
            //Priority queue in ascending order.
            PriorityQueue<Integer> p = new PriorityQueue<Integer>(k,new Comparator<Integer>(){
                @Override
                public int compare(Integer a,Integer b){
                    return a-b;
                }
            });
            long sum = 0;
            long ans = 1;
            for(int i=0;i<k;i++){
                p.add(arr.get(i).get(0));
                // System.out.println(p);
                sum += arr.get(i).get(0);
                ans = Math.max(ans,sum*(arr.get(i).get(1)));
            }
            for(int i=k;i<n;i++){
                int top = p.peek();
                int length = arr.get(i).get(0);
                if(top<length){
                    p.poll();
                    sum -= top;
                    p.add(length);
                    sum += length;
                    ans = Math.max(ans,sum*(arr.get(i).get(1)));
                }
            }
            System.out.println(ans);
        }

        static class InputReader {
            public BufferedReader reader;
            public StringTokenizer tokenizer;

            public InputReader(InputStream stream) {
                reader = new BufferedReader(new InputStreamReader(stream), 32768);
                tokenizer = null;
            }

            public String next() {
                while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                    try {
                        tokenizer = new StringTokenizer(reader.readLine());
                    } catch (IOException e) {
                        throw new RuntimeException(e);
                    }
                }
                return tokenizer.nextToken();
            }

            public long nextLong() {
                return Long.parseLong(next());
            }
            public int nextInt() {
                return Integer.parseInt(next());
            }
        }
    }