#include <iostream>
#include <iomanip>
#include<algorithm>
#define MAX 1000
using namespace std;
struct room{
int javabeen;
int catfood;
double price;
};
room a[MAX];
int M,N,n0,n1;
bool rule(room x,room y){
return x.price<y.price;
}
int main(){
while(cin>>M>>N && !(M==-1 && N==-1)){
for(int i=0;i<N;i++){
cin>>n0>>n1;
a[i].javabeen=n0;
a[i].catfood=n1;
if(n0==0) a[i].price=-1;
a[i].price=(double)n1/n0;
}
sort(a,a+N,rule);
double get=0.0;
for(int i=0;i<N;i++){
if(a[i].price==-1) break;
if(M>=a[i].catfood){
M-=a[i].catfood;
get+=a[i].javabeen;
}
else{
get=get+(double)M/a[i].price;
M=0;
break;
}
}
cout<<fixed<<setprecision(3)<<get<<endl;
}
system ("pause");
return 0;
}