#include <iostream>
struct ss{
int a;
int b;
}q[1000];
int ww(ss x, ss y){
if((float(x.a)/float(x.b)) >= (float(y.a)/float(y.b)))
return 1;
else
return 0;
}
using namespace std;
int main(){
int m, n, i;
float sum;
while(scanf("%d%d", &m, &n) && (m != -1 && n != -1)){
for(i = 0; i < n; i++){
scanf("%d%d", &q[i].a, &q[i].b);
}
sort(q, q+n, ww);
for( sum = 0, i =0; i < n; i++){
if(m >= q[i].b){
m -= q[i].b;
sum += q[i].a;
}
else
{
sum +=((float (m)/(q[i].b)) * q[i].a);
m = 0;}
if(m == 0){
break;}
}
printf("%.3lf\n", sum);
}
return 0;
}