//hdu 1009 FatMouse' Trade
//题意是:胖老鼠有M磅猫食,想用它与守仓库的猫换取它最喜欢的食物Javabean。仓库有n个房间,第i个房间有j[i]磅Javabean
//全部换取需要f[i]磅猫食。但是它可以不换整个房间的Javabean,如果它有f[i]*a%的猫食,就可以换取j[i]*a%的Javabean
//求它最多可以得到多少Javabean
//这是一个简单的贪心问题,以(j[i]/f[i])的大小从大到小排序即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=1005;
struct node
{
double j,f;
};
node p[maxn];
bool cmp(node a,node b)
{
return (a.j/a.f)>(b.j/b.f);
}
int main()
{
int m,n;
double sum;
while(~scanf("%d%d",&m,&n))
{
if(m==-1&&n==-1)
break;
sum=0;
for(int i=0;i<n;i++)
scanf("%lf%lf",&p[i].j,&p[i].f);
sort(p,p+n,cmp);
//printf("*%lf %lf\n",p[0].j,p[0].f);
for(int i=0;i<n;i++)
{
if(m==0)
break;
else if(m>=p[i].f)
{
sum+=p[i].j;
m-=p[i].f;
}
else if(m<p[i].f)
{
sum=sum+p[i].j*(m/p[i].f);
m=0;
}
}
printf("%.3f\n",sum);
}
return 0;
}