#include <bits/stdc++.h>
using namespace std;
pair<int, int> min_swap(pair<int, int> p) {
  if (p.second < p.first) {
    return make_pair(p.second, p.first);
  }
  return p;
}
void f() {
  int n, p;
  set<pair<int, int>> s;
  scanf("%d %d", &n, &p);
  for (int(i) = 0; (i) < (int)(n); (i)++)
    for (int(j) = 0; (j) < (int)(n); (j)++)
      if (i != j) {
        s.insert(min_swap(make_pair(i + 1, j + 1)));
      }
  int cnt = 0;
  for (auto x : s) {
    cnt++;
    if (cnt <= 2 * n + p) {
      cout << x.first << ' ' << x.second << endl;
    }
  }
}
int main() {
  int t;
  scanf("%d", &t);
  for (int(i) = 0; (i) < (int)(t); (i)++) f();
  return 0;
}
