#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

const int maxn=1e5+5;
struct node{
	int a,b;
	bool operator<(node x)const{
		return a<x.a;
	}
}v[maxn];

int main()
{
	int n,m;
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++)scanf("%d %d",&v[i].a,&v[i].b);
	sort(v+1,v+1+n);
	ll ans=0;
	for(int i=1;i<=n;i++){
		int t=min(m,v[i].b);
		ans+=(ll)t*v[i].a;
		m-=t;
		if(m==0)break;
	}
	printf("%lld\n",ans);
	return 0;
}