#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;
}