//简单贪心
#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
typedef struct
{
int j, f;
double rate;
}Trade;
bool cmp(Trade &a, Trade &b)
{
return a.rate > b.rate;
}
Trade fat[10010];
int main(void)
{
int m, n;
while(cin>>m>>n && m != -1 && n != -1)
{
for(int i = 0; i < n; i++)
{
cin>>fat[i].j>>fat[i].f;
fat[i].rate = fat[i].j * 1.0 / fat[i].f; //注意精度的控制
}
sort(fat, fat + n, cmp);
double got = 0.0;
for(int i = 0; i < n; i++)
{
if(fat[i].f > m)
{
got += m * fat[i].rate;
break;
}
else
{
got += fat[i].j;
m -= fat[i].f;
}
}
cout<<setiosflags(ios::fixed)<<setprecision(3)<<got<<endl;
}
return 0;
}