# by the authority of GOD   author: manhar singh sachdev #

import os,sys
from io import BytesIO,IOBase
from heapq import *

def main():
    n,k = map(int,input().split())
    le,be = [],[]
    for _ in range(n):
        a,b = map(int,input().split())
        le.append(a)
        be.append(b)
    rr = sorted(range(n),key=lambda xx:le[xx],reverse=1)
    su,mini,ans,he = 0,10**9,0,[]
    for i in rr:
        su += le[i]
        mini = min(mini,be[i])
        heappush(he,(be[i],le[i]))
        ans = max(ans,su*mini)
        if len(he) == k:
            while len(he):
                a,b = he[0]
                if a != mini:
                    break
                heappop(he)
                su -= b
            mini = he[0][0] if len(he) else 10**9
            ans = max(ans,su*mini)
    while len(he):
        while len(he):
            a,b = he[0]
            if a != mini:
                break
            heappop(he)
            su -= b
        mini = he[0][0] if len(he) else 10**9
        ans = max(ans,su*mini)
    print(ans)

# Fast IO Region
BUFSIZE = 8192
class FastIO(IOBase):
    newlines = 0
    def __init__(self,file):
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
    def read(self):
        while True:
            b = os.read(self._fd,max(os.fstat(self._fd).st_size,BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0,2),self.buffer.write(b),self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd,max(os.fstat(self._fd).st_size,BUFSIZE))
            self.newlines = b.count(b"\n")+(not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0,2),self.buffer.write(b),self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
    def flush(self):
        if self.writable:
            os.write(self._fd,self.buffer.getvalue())
            self.buffer.truncate(0),self.buffer.seek(0)
class IOWrapper(IOBase):
    def __init__(self,file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s:self.buffer.write(s.encode("ascii"))
        self.read = lambda:self.buffer.read().decode("ascii")
        self.readline = lambda:self.buffer.readline().decode("ascii")
sys.stdin,sys.stdout = IOWrapper(sys.stdin),IOWrapper(sys.stdout)
input = lambda:sys.stdin.readline().rstrip("\r\n")
if __name__ == "__main__":
    main()