#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int t;
vector<pair<long long, long long> > v;
vector<long long> fir;
long long suf[maxn];
int main() {
  scanf("%d", &t);
  while (t--) {
    fir.clear();
    v.clear();
    long long n, m, x, y;
    scanf("%lld%lld", &n, &m);
    for (int i = 1; i <= m; i++) {
      scanf("%lld%lld", &x, &y);
      v.push_back(make_pair(x, y));
      fir.push_back(x);
    }
    sort(fir.begin(), fir.end());
    for (int i = 0; i < m; i++) suf[i] = fir[i];
    for (int i = 1; i < m; i++) suf[i] += suf[i - 1];
    long long ans = 0;
    for (int i = 0; i < m; i++) {
      int cntn = n;
      long long fi = v[i].first;
      long long se = v[i].second;
      int pos = upper_bound(fir.begin(), fir.end(), se) - fir.begin();
      if (m - pos >= cntn) {
        long long aans = suf[m - 1];
        if (m - cntn >= 1) aans -= suf[m - cntn - 1];
        ans = max(ans, aans);
      } else {
        long long aans = suf[m - 1];
        if (pos > 0) aans -= suf[pos - 1];
        cntn -= m - pos;
        if (pos != m) {
          if (fi < fir[pos]) {
            aans += fi;
            cntn--;
          }
        } else {
          aans += fi;
          cntn--;
        }
        aans += (se * cntn);
        ans = max(ans, aans);
      }
    }
    printf("%lld\n", ans);
  }
  return 0;
}
