#include <cstdio> #include <iostream> #include <algorithm> using namespace std; const int MAX=1001; typedef struct { int f,j; double ans; }change; change food[MAX]; double cmp(const change &a,const change &b) { return a.ans<b.ans; } int main() { int m,n,i; double max; while(scanf("%d%d",&m,&n)) { if(m==-1&&n==-1) break; max=0; for(i=0;i<n;i++) { scanf("%d%d",&food[i].j,&food[i].f); food[i].ans=(double)food[i].f/(double)food[i].j; } sort(food,food+n,cmp); for(i=0;i<n;i++) { if(m>=food[i].f) { max+=food[i].j; m-=food[i].f; } else { max+=((double)m/food[i].f)*food[i].j; break; } } printf("%.3f\n",max); } return 0; }