/*
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, y, N, K, rep, mini;
float h, w;
double sum=0.0;

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]]);*/
rep=N-K;
for(y=0; y<rep; y++)
{
    for(i=0; i<N-1; i++)sqr[i]=stepw[i]*steph[i+1];
    mini=getmini(N-1);
    sum+=sqr[mini];
    if(mini<N-1-1)
    {
        steph[mini]+=steph[mini+1];
        stepw[mini]+=stepw[mini+1];
    }
    for(i=mini+2; i<N-1; i++){steph[i-1]=steph[i]; stepw[i-1]=stepw[i]; }
    N--;
}
printf("%0.3f\n", sum);
return 0;
}

int getmini(int all)
{
int i, mini=0;
    for(i=1; i<all; i++)if(sqr[mini]>sqr[i])mini=i;
return mini;
}
