//一共有4部分
//第一 输入背包和宝物数量
//第二 输入宝物重量和宝物价值 计算单价
//第三 排序 计算边界 和钱数
//第四 到了边界输出
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
struct f{
double jz,zl,dj;
};
bool cmp(f a,f f){
return a.dj>f.dj;
}
int main()
{
int n,m,bb=0,bj=0;
double zq;
cin>>n;
f a[10000];
for(int i=1;i<=n;i++){
zq=0.0;
bj=0;
cin>>bb;
cin>>m;
for(int j=1;j<=m;j++){
cin>>a[j].zl>>a[j].jz;
a[j].dj=a[j].jz/a[j].zl;
}
sort(a+1,a+m+1,cmp);
for(int k=1;k<=m;k++){
if(bb-bj<a[k].zl){
zq+=a[k].dj*(bb-bj);
bj+=bb-bj;
}
else{
zq+=a[k].jz;
bj+=a[k].zl;
}
}
cout<<setprecision(2)<<setiosflags(ios::fixed)<<zq<<"\n";
}
return 0;
}