#include<bits/stdc++.h>
using namespace std;
#define pll pair<long long, long long>
pair<long long, long long>x[100005];
long long sum[100005];
int upper(int l,int r,long long num)
{
int ans = -1;
while (l <= r)
{
int mid = (l + r) >> 1;
if (x[mid].first > num)
{
ans = mid;
l = mid + 1;
}
else r = mid - 1;
}
return ans;
}
int main()
{
int t;
cin >> t;
while (t--)
{
int n, m;
cin >> n >> m;
int i;
for (i = 0; i < m; i++)
{
cin >> x[i].first >> x[i].second;
sum[i] = 0;
}
sort(x, x + m, greater<pair<long long, long long>>());
for (i = 0; i < m; i++)
{
//cout << x[i].first << ' ' << x[i].second << endl;
if (i)sum[i] = x[i].first + sum[i - 1];
else sum[i] = x[i].first;
}
long long ans = 0;
for (i = 0; i < m; i++)
{
int p = upper(0, m-1, x[i].second);
if (p != -1)
{
ans = max(ans, sum[min(p, n-1)] + (p < i ? max(0, n - p - 2) * x[i].second + (n>p+1?x[i].first:0) : max(0, n - p-1) * x[i].second));
}
else
{
ans = max(ans, (n-1) * x[i].second + x[i].first);
}
}
long long ans2 = 0;
for (i = 0; i < m && n; i++)
{
ans2 += x[i].first;
n--;
}
cout << max(ans2, ans) << endl;
}
return 0;
}