#include<bits/stdc++.h>
using namespace std;
struct tre{
int num;
int n;
int v;
double pro;
};
bool px(tre x,tre y);
int main(){
int a,b,c=1,i,j,max,y=0;
double x=0;
cin>>a;
for(i=0;i<a;i++){
tre sur[10001]={0};
cin>>max;
cin>>b;
for(j=0;j<b;j++){
cin>>sur[j].n>>sur[j].v;
sur[j].pro=(sur[j].v*1.0)/(sur[j].n*1.0);
}
sort(sur,sur+b,px);
for(j=0;j<b;j++){
if(max>=sur[j].n){
x=x+sur[j].v;
max=max-sur[j].n;
}
else{
if(max>0){
x=x+max*sur[j].pro;
break;
}
}
}
printf("%.2lf",x);
cout<<endl;
c=1;
y=0;
x=0;
}
}
bool px(tre x,tre y){
return x.pro>y.pro;
}
感谢各位的阅读