#include<bits/stdc++.h> using namespace std; struct node{ int w; double al,mo; }a[100010]; int c(node A,node B){ return A.mo>B.mo; } int n,an,w1,s; int main() { cin>>n; for(int i=1;i<=n;i++){ an=0; cin>>w1>>s; for(int j=1;j<=s;j++){ cin>>a[j].w>>a[j].al; a[j].mo=a[j].al/a[j].w; } sort(a+1,a+1+s,c); /* for(int ii=0;ii<=n;ii++) cout<<a[ii].w<<" "<<*/ int k=1; while((w1-a[k].w)>=0&&k<=s){ an+=a[k].al; w1-=a[k].w; k++; } if(w1<a[k].w&&k<s){ an+=w1*a[k].mo; } printf("%.2lf\n",an); } return 0; }