/*
TASK:stairs
LANG:C
*/
#include<stdio.h>
#include<stdlib.h>
 struct R{double x,y;};
 int main()
 {
  int n,k,i,j,l;
  struct R *a;
  double sum=0,*A;
  scanf("%d %d",&n,&k);
  A=(double *)malloc(n*(sizeof(double)));
  a=(struct R*)malloc(n*(sizeof(struct R)));
  for(i=0;i<n;i++)A[i]=0;
  scanf("%lf",&A[0]);
  for(i=0;i<n-1;i++)
   {
    scanf("%lf",&a[i].x);
    scanf("%lf",&a[i].y);
    A[i]=a[i].x*a[i].y;
   }
   scanf("%lf",&sum);
   sum=0;
   for(i=k;i<n;i++)
    {
     l=0;
     for(j=1;j<n-1;j++)
      if(A[l]>A[j])l=j;
     sum+=A[l];
     if(l>1)
     A[l-1]=a[l-1].x*(a[l].y+a[l-1].y);
     A[l]=100000;
    }
   printf("%.3lf\n",sum);
   return 0;
 }
