//题意自己看,不会度娘,很裸的贪心,没啥好说的
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
using namespace std;struct node
{double jb;double ds;double num;
}a[1005];
//定义结构体 分别为JavaBean,数量,兑换比例;
int cmp(node a,node b)
{if(a.num==b.num)return a.jb>b.jb;elsereturn a.num>b.num;
}
//按兑换比例从大到小排序,因为肯定是先换兑换比例大的,如果兑换比例相同就优先把数量多的放前面
int main(int argc, char *argv[])
{double sum;int n,m;int i,j;while(scanf("%d %d",&n,&m)!=EOF){if(n==-1&&m==-1)break;sum=0; for(i=0;i<m;i++){scanf("%lf %lf",&a[i].jb,&a[i].ds);a[i].num=a[i].jb/a[i].ds; }//输入的同时把比例求出来 sort(a,a+m,cmp);for(i=0;i<m;i++){if(n>=a[i].ds){sum+=a[i].jb;n-=a[i].ds;}//能完整的换完 else{sum+=a[i].num*n;break; }//不能完整的换完,同时也代表没钱了,所以换完就break } printf("%.3lf\n",sum); } return 0;
}
//Start-ZJ
//2017/12/5/11:17