#include<stdio.h>
#include<stdlib.h>
typedef struct r{int d,p;}r;
r R[10005];
int N,M,i,res;
int c(const void * a,const void *b)
{
	return (*(r*)b).p-(*(r*)a).p;
}

int main()
{
	for(;scanf("%d%d",&N,&M),N;)
	{
		for(i=0;i<N;i++)
			scanf("%d%d",&R[i].d,&R[i].p);
		qsort(R,N,sizeof(r),c);
		for(i=res=0;i<N;i++)
		{
			if(M>R[i].d)
				M-=R[i].d;
			else
			{
				res+=(R[i].d-M)*R[i].p;
				M=0;
			}
		}
		printf("%d\n",res);
	}
	return 0;
}