//题意自己看,不会度娘,很裸的贪心,没啥好说的
#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;
else
return 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