/*
TASK:stairs
LANG:C
*/
#include <stdio.h>
#define MAXN 101
int fcomp(void * a, void* b);
double sqr[MAXN], steph[MAXN], stepw[MAXN];

main()
{
int i, N, K;
int p[MAXN];
float h, w;
double sum=0.0;

for(i=0; i<MAXN; i++)p[i]=i;
scanf("%i %i", &N, &K);
for(i=0; i<N; i++)
{
    scanf("%f %f", &h, &w);
    steph[i]=h; stepw[i]=w;
}
/*for(i=0; i<N-1; i++)sqr[i]=stepw[i]*steph[i+1];
//for(i=0; i<N-1; i++)printf("%f ", sqr[i]);printf("\n");
qsort(p, N-1, sizeof(int), (void*)fcomp);
//for(i=0; i<N-1; i++)printf("%f ", sqr[p[i]]);*/

for(i=0; i<N-K; i++)
{
    for(i=0; i<N-1; i++)sqr[i]=stepw[i]*steph[i+1];
    qsort(p, N-1, sizeof(int), (void*)fcomp);
    sum+=sqr[p[0]];
    if(p[0])steph[p[0]-1]+=steph[p[0]];
    if(p[0]<N-1-1)stepw[p[0]+1]+=stepw[p[0]+1];
    for(i=p[0]+1; i<N-1; i++){steph[i-1]=steph[i]; stepw[i-1]=stepw[i]; }
    N--; K--;
}
printf("%0.3f\n", sum);
return 0;
    
}

int fcomp(void * a, void* b)
{
double ret=sqr[*(int*)a]-sqr[*(int*)b];
    
    return (ret)?((ret<0)?-1:1):0;
}
