#include <iostream>
#include <cstdio>
#include <algorithm>
#define MAX 1000
using namespace std;
struct Room{
int j;
int f;
double rate;
};
bool cmp(Room a, Room b){
return a.rate > b.rate;
}
Room rooms[MAX];
int main(){
int m, n;
int ans;
while (cin >> m >> n) {
int j[MAX], f[MAX];
double ans = 0;
if(m == -1 || n == -1) return 0;
for(int i = 0; i < n; i++){
cin >> rooms[i].j >> rooms[i].f;
rooms[i].rate = rooms[i].j / (rooms[i].f * 1.0);
}
sort(rooms, rooms + n, cmp);
for(int i = 0; i < n; i++){
//cout << rooms[i].j << rooms[i].f << endl;
if(m == 0){
break;
}else if(m >= rooms[i].f){
m -= rooms[i].f;
ans += rooms[i].j;
//printf("%.3f\n", ans);
}else{
ans += m / (rooms[i].f * 1.0) * rooms[i].j ;
m = 0;
}
}
printf("%.3f\n", ans);
}
return 0;
}