n,m=map(int,input().split())
t=[0]*n
ans=0
temp=0
for i in range(n):
  at,bt=map(int,input().split())
  t[i]=[at,bt]
t.sort()
i=0
while True:
  if temp+t[i][1]>=m:
    ans=ans+t[i][0]*(m-temp)
    break
  else:
    ans=ans+t[i][0]*t[i][1]
    temp=temp+t[i][1]
    i=i+1
print(ans) n,m=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m t=[0]*n t [0]*n [0] 0 n ans=0 ans 0 temp=0 temp 0 for i in range(n):
  at,bt=map(int,input().split())
  t[i]=[at,bt] i range(n) range n at,bt=map(int,input().split()) at map(int,input().split()) map int input().split() ().split () input split bt t[i]=[at,bt] t[i] t i [at,bt] at bt t.sort() t.sort t sort i=0 i 0 while True:
  if temp+t[i][1]>=m:
    ans=ans+t[i][0]*(m-temp)
    break
  else:
    ans=ans+t[i][0]*t[i][1]
    temp=temp+t[i][1]
    i=i+1 True if temp+t[i][1]>=m:
    ans=ans+t[i][0]*(m-temp)
    break
  else:
    ans=ans+t[i][0]*t[i][1]
    temp=temp+t[i][1]
    i=i+1 temp+t[i][1]>=m temp+t[i][1] temp t[i][1] [i] t i 1 m ans=ans+t[i][0]*(m-temp) ans ans+t[i][0]*(m-temp) ans t[i][0]*(m-temp) t[i][0] [i] t i 0 m-temp m temp break ans=ans+t[i][0]*t[i][1] ans ans+t[i][0]*t[i][1] ans t[i][0]*t[i][1] t[i][0] [i] t i 0 t[i][1] [i] t i 1 temp=temp+t[i][1] temp temp+t[i][1] temp t[i][1] [i] t i 1 i=i+1 i i+1 i 1 print(ans) print ans ans=ans+t[i][0]*t[i][1] ans+t[i][0]*t[i][1] ans m=map(int,input().split()) map(int,input().split()) m temp=0 0 temp i=0 0 i temp=temp+t[i][1] temp+t[i][1] temp t=[0]*n [0]*n t bt=map(int,input().split()) map(int,input().split()) bt i=i+1 i+1 i n,m=map(int,input().split()) map(int,input().split()) n ans=0 0 ans at,bt=map(int,input().split()) map(int,input().split()) at ans=ans+t[i][0]*(m-temp) ans+t[i][0]*(m-temp) ans
n,m=map(int,input().split())
t=[0]*n
ans=0
temp=0
for i in range(n):
  at,bt=map(int,input().split())
  t[i]=[at,bt]
t.sort()
i=0
while True:
  if temp+t[i][1]>=m:
    ans=ans+t[i][0]*(m-temp)
    break
  else:
    ans=ans+t[i][0]*t[i][1]
    temp=temp+t[i][1]
    i=i+1
print(ans)