#include <bits/stdc++.h>
using namespace std;
template <class T>
inline T ceil(T a, T b) {
  return a / b + (a % b ? 1 : 0);
}
template <class T>
string to_string(T a) {
  stringstream ss;
  ss << a;
  return ss.str();
}
bool good(long long x, long long y, long long n) {
  return x >= 0 && x < n && y >= 0 && y < n;
}
long long a[1001][1001];
long long sq;
void _main() {
  long long t;
  cin >> t;
  for (long long a = 0; a < (long long)(t); a++) {
    long long n, p, k;
    cin >> n >> p, k = (2 * n + p);
    for (long long i = 0; i < n && k; i++)
      for (long long j = i + 1; j < n && k; j++, k--)
        cout << i + 1 << " " << j + 1 << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  _main();
  return 0;
}
