#include<bits/stdc++.h>
using namespace std;
typedef long long int lli;
vector < vector <bool> > grid(1001, vector <bool> (1001));
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int t;
cin >> t;
while (t--)
{
int n, m;
cin >> n >> m;
int j = 0, i = 0;
vector <lli> v;
v.push_back(n * m);
for (int k = 1; k <= n * m - 1; k++)
{
lli curans = 0;
for (; j < m;)
{
grid[i][j] = 1;
curans++;
j += (k + 1) % m;
i += (k + 1) / m;
}
j = 0, i = 0;
for (; i < n;)
{
if (i < 0 or i >= grid.size() or j < 0 or j >= grid[i].size())
cout << "out-of-range error:",
cout << " i = " << i,
cout << ", j = " << j,
cout << ", k = " << k,
exit(0);
if (!grid[i][j])
{
grid[i][j] = 1;
curans++;
}
j += (k + 1) / n;
i += (k + 1) % n;
}
v.push_back(curans);
for (; j < m;)
{
grid[i][j] = 0;
int diff = k + 1;
j += diff % m;
i += diff / m;
}
j = 0, i = 0;
for (; i < n;)
{
grid[i][j] = 0;
int diff = k + 1;
j += diff / n;
i += diff % n;
}
}
for (auto x : v)
{
cout << x << " ";
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsaTsKCnZlY3RvciA8IHZlY3RvciA8Ym9vbD4gPiBncmlkKDEwMDEsIHZlY3RvciA8Ym9vbD4gKDEwMDEpKTsKCmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKE5VTEwpOwoJY291dC50aWUoTlVMTCk7CgoJaW50IHQ7CgljaW4gPj4gdDsKCXdoaWxlICh0LS0pCgl7CgkJaW50IG4sIG07CgkJY2luID4+IG4gPj4gbTsKCQlpbnQgaiA9IDAsIGkgPSAwOwoJCXZlY3RvciA8bGxpPiB2OwoJCXYucHVzaF9iYWNrKG4gKiBtKTsKCQlmb3IgKGludCBrID0gMTsgayA8PSBuICogbSAtIDE7IGsrKykKCQl7CgkJCWxsaSBjdXJhbnMgPSAwOwoJCQlmb3IgKDsgaiA8IG07KQoJCQl7CgkJCQlncmlkW2ldW2pdID0gMTsKCQkJCWN1cmFucysrOwoJCQkJaiArPSAoayArIDEpICUgbTsKCQkJCWkgKz0gKGsgKyAxKSAvIG07CgkJCX0KCQkJaiA9IDAsIGkgPSAwOwoJCQlmb3IgKDsgaSA8IG47KQoJCQl7CgkJCSAgICBpZiAoaSA8IDAgb3IgaSA+PSBncmlkLnNpemUoKSBvciBqIDwgMCBvciBqID49IGdyaWRbaV0uc2l6ZSgpKQogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIm91dC1vZi1yYW5nZSBlcnJvcjoiLAogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIiAgaSA9ICIgPDwgaSwKICAgICAgICAgICAgICAgICAgICBjb3V0IDw8ICIsIGogPSAiIDw8IGosCiAgICAgICAgICAgICAgICAgICAgY291dCA8PCAiLCBrID0gIiA8PCBrLCAKICAgICAgICAgICAgICAgICAgICBleGl0KDApOyAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmICghZ3JpZFtpXVtqXSkKCQkJCXsKCQkJCQlncmlkW2ldW2pdID0gMTsKCQkJCQljdXJhbnMrKzsKCQkJCX0KCQkJCWogKz0gKGsgKyAxKSAvIG47CgkJCQlpICs9IChrICsgMSkgJSBuOwoJCQl9CgoJCQl2LnB1c2hfYmFjayhjdXJhbnMpOwoKCQkJZm9yICg7IGogPCBtOykKCQkJewoJCQkJZ3JpZFtpXVtqXSA9IDA7CgkJCQlpbnQgZGlmZiA9IGsgKyAxOwoJCQkJaiArPSBkaWZmICUgbTsKCQkJCWkgKz0gZGlmZiAvIG07CgkJCX0KCQkJaiA9IDAsIGkgPSAwOwoJCQlmb3IgKDsgaSA8IG47KQoJCQl7CgkJCQlncmlkW2ldW2pdID0gMDsKCQkJCWludCBkaWZmID0gayArIDE7CgkJCQlqICs9IGRpZmYgLyBuOwoJCQkJaSArPSBkaWZmICUgbjsKCQkJfQoJCX0KCQlmb3IgKGF1dG8geCA6IHYpCgkJewoJCQljb3V0IDw8IHggPDwgIiAiOwoJCX0KCX0KCglyZXR1cm4gMDsKfQ==