#include <bits/stdc++.h>
using namespace std;
using pii = pair<int,int>;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int n, m;
cin >> n >> m;
vector<vector<int>> adj(n+1);
for (int i = 0; i < m; i++) {
int u, v;
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
// 1) Build a DFS‐tree (iterative) to record parent & depth
vector<int> parent(n+1, 0), depth(n+1, 0);
vector<bool> vis(n+1, false);
int maxd = 0, maxdNode = 1;
// stack for (node, next_child_index)
vector<pair<int,int>> st;
st.reserve(n);
st.emplace_back(1, 0);
vis[1] = true;
parent[1] = 0;
depth[1] = 1;
maxd = 1;
while (!st.empty()) {
auto &top = st.back();
int u = top.first;
int &ci = top.second;
if (ci < (int)adj[u].size()) {
int v = adj[u][ci++];
if (!vis[v]) {
vis[v] = true;
parent[v] = u;
depth[v] = depth[u] + 1;
if (depth[v] > maxd) {
maxd = depth[v];
maxdNode = v;
}
st.emplace_back(v, 0);
}
// else already visited: skip
} else {
st.pop_back();
}
}
int need = (n + 1) / 2; // ceil(n/2)
// 2) If we found a node at depth >= need, output that root→node path
if (maxd >= need) {
cout << "PATH\n" << maxd << "\n";
vector<int> path;
int cur = maxdNode;
while (cur != 0) {
path.push_back(cur);
cur = parent[cur];
}
reverse(path.begin(), path.end());
for (int x : path) {
cout << x << " ";
}
cout << "\n";
continue;
}
// 3) Otherwise, group nodes by depth and pair within each depth
vector<vector<int>> byDepth(maxd+1);
for (int u = 1; u <= n; u++) {
byDepth[depth[u]].push_back(u);
}
vector<pii> pairs;
pairs.reserve(need);
for (int d = 1; d <= maxd; d++) {
auto &bucket = byDepth[d];
// pair off in index‐order
for (int i = 0; i + 1 < (int)bucket.size(); i += 2) {
pairs.emplace_back(bucket[i], bucket[i+1]);
}
}
// by the argument, we paired at least need nodes ⇒ pairs.size()*2 >= need
cout << "PAIRING\n" << pairs.size() << "\n";
for (auto &pr : pairs) {
cout << pr.first << " " << pr.second << "\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIHBpaSA9IHBhaXI8aW50LGludD47CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOwogICAgd2hpbGUgKFQtLSkgewogICAgICAgIGludCBuLCBtOwogICAgICAgIGNpbiA+PiBuID4+IG07CiAgICAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBhZGoobisxKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgewogICAgICAgICAgICBpbnQgdSwgdjsKICAgICAgICAgICAgY2luID4+IHUgPj4gdjsKICAgICAgICAgICAgYWRqW3VdLnB1c2hfYmFjayh2KTsKICAgICAgICAgICAgYWRqW3ZdLnB1c2hfYmFjayh1KTsKICAgICAgICB9CgogICAgICAgIC8vIDEpIEJ1aWxkIGEgREZT4oCQdHJlZSAoaXRlcmF0aXZlKSB0byByZWNvcmQgcGFyZW50ICYgZGVwdGgKICAgICAgICB2ZWN0b3I8aW50PiBwYXJlbnQobisxLCAwKSwgZGVwdGgobisxLCAwKTsKICAgICAgICB2ZWN0b3I8Ym9vbD4gdmlzKG4rMSwgZmFsc2UpOwogICAgICAgIGludCBtYXhkID0gMCwgbWF4ZE5vZGUgPSAxOwoKICAgICAgICAvLyBzdGFjayBmb3IgKG5vZGUsIG5leHRfY2hpbGRfaW5kZXgpCiAgICAgICAgdmVjdG9yPHBhaXI8aW50LGludD4+IHN0OwogICAgICAgIHN0LnJlc2VydmUobik7CiAgICAgICAgc3QuZW1wbGFjZV9iYWNrKDEsIDApOwogICAgICAgIHZpc1sxXSA9IHRydWU7CiAgICAgICAgcGFyZW50WzFdID0gMDsKICAgICAgICBkZXB0aFsxXSA9IDE7CiAgICAgICAgbWF4ZCA9IDE7CgogICAgICAgIHdoaWxlICghc3QuZW1wdHkoKSkgewogICAgICAgICAgICBhdXRvICZ0b3AgPSBzdC5iYWNrKCk7CiAgICAgICAgICAgIGludCB1ID0gdG9wLmZpcnN0OwogICAgICAgICAgICBpbnQgJmNpID0gdG9wLnNlY29uZDsKICAgICAgICAgICAgaWYgKGNpIDwgKGludClhZGpbdV0uc2l6ZSgpKSB7CiAgICAgICAgICAgICAgICBpbnQgdiA9IGFkalt1XVtjaSsrXTsKICAgICAgICAgICAgICAgIGlmICghdmlzW3ZdKSB7CiAgICAgICAgICAgICAgICAgICAgdmlzW3ZdID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBwYXJlbnRbdl0gPSB1OwogICAgICAgICAgICAgICAgICAgIGRlcHRoW3ZdID0gZGVwdGhbdV0gKyAxOwogICAgICAgICAgICAgICAgICAgIGlmIChkZXB0aFt2XSA+IG1heGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbWF4ZCA9IGRlcHRoW3ZdOwogICAgICAgICAgICAgICAgICAgICAgICBtYXhkTm9kZSA9IHY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHN0LmVtcGxhY2VfYmFjayh2LCAwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIC8vIGVsc2UgYWxyZWFkeSB2aXNpdGVkOiBza2lwCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzdC5wb3BfYmFjaygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpbnQgbmVlZCA9IChuICsgMSkgLyAyOyAgLy8gY2VpbChuLzIpCgogICAgICAgIC8vIDIpIElmIHdlIGZvdW5kIGEgbm9kZSBhdCBkZXB0aCA+PSBuZWVkLCBvdXRwdXQgdGhhdCByb2904oaSbm9kZSBwYXRoCiAgICAgICAgaWYgKG1heGQgPj0gbmVlZCkgewogICAgICAgICAgICBjb3V0IDw8ICJQQVRIXG4iIDw8IG1heGQgPDwgIlxuIjsKICAgICAgICAgICAgdmVjdG9yPGludD4gcGF0aDsKICAgICAgICAgICAgaW50IGN1ciA9IG1heGROb2RlOwogICAgICAgICAgICB3aGlsZSAoY3VyICE9IDApIHsKICAgICAgICAgICAgICAgIHBhdGgucHVzaF9iYWNrKGN1cik7CiAgICAgICAgICAgICAgICBjdXIgPSBwYXJlbnRbY3VyXTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXZlcnNlKHBhdGguYmVnaW4oKSwgcGF0aC5lbmQoKSk7CiAgICAgICAgICAgIGZvciAoaW50IHggOiBwYXRoKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IHggPDwgIiAiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgIlxuIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICAvLyAzKSBPdGhlcndpc2UsIGdyb3VwIG5vZGVzIGJ5IGRlcHRoIGFuZCBwYWlyIHdpdGhpbiBlYWNoIGRlcHRoCiAgICAgICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBieURlcHRoKG1heGQrMSk7CiAgICAgICAgZm9yIChpbnQgdSA9IDE7IHUgPD0gbjsgdSsrKSB7CiAgICAgICAgICAgIGJ5RGVwdGhbZGVwdGhbdV1dLnB1c2hfYmFjayh1KTsKICAgICAgICB9CiAgICAgICAgdmVjdG9yPHBpaT4gcGFpcnM7CiAgICAgICAgcGFpcnMucmVzZXJ2ZShuZWVkKTsKCiAgICAgICAgZm9yIChpbnQgZCA9IDE7IGQgPD0gbWF4ZDsgZCsrKSB7CiAgICAgICAgICAgIGF1dG8gJmJ1Y2tldCA9IGJ5RGVwdGhbZF07CiAgICAgICAgICAgIC8vIHBhaXIgb2ZmIGluIGluZGV44oCQb3JkZXIKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgKyAxIDwgKGludClidWNrZXQuc2l6ZSgpOyBpICs9IDIpIHsKICAgICAgICAgICAgICAgIHBhaXJzLmVtcGxhY2VfYmFjayhidWNrZXRbaV0sIGJ1Y2tldFtpKzFdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gYnkgdGhlIGFyZ3VtZW50LCB3ZSBwYWlyZWQgYXQgbGVhc3QgbmVlZCBub2RlcyDih5IgcGFpcnMuc2l6ZSgpKjIgPj0gbmVlZAogICAgICAgIGNvdXQgPDwgIlBBSVJJTkdcbiIgPDwgcGFpcnMuc2l6ZSgpIDw8ICJcbiI7CiAgICAgICAgZm9yIChhdXRvICZwciA6IHBhaXJzKSB7CiAgICAgICAgICAgIGNvdXQgPDwgcHIuZmlyc3QgPDwgIiAiIDw8IHByLnNlY29uZCA8PCAiXG4iOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
NAo2IDUKMSA0CjIgNQozIDYKMSA1CjMgNQo2IDUKMSA0CjIgNQozIDYKMSA1CjMgNQoxMiAxNAoxIDIKMiAzCjMgNAo0IDEKMSA1CjEgMTIKMiA2CjIgNwozIDgKMyA5CjQgMTAKNCAxMQoyIDQKMSAzCjEyIDE0CjEgMgoyIDMKMyA0CjQgMQoxIDUKMSAxMgoyIDYKMiA3CjMgOAozIDkKNCAxMAo0IDExCjIgNAoxIDMK
4
6 5
1 4
2 5
3 6
1 5
3 5
6 5
1 4
2 5
3 6
1 5
3 5
12 14
1 2
2 3
3 4
4 1
1 5
1 12
2 6
2 7
3 8
3 9
4 10
4 11
2 4
1 3
12 14
1 2
2 3
3 4
4 1
1 5
1 12
2 6
2 7
3 8
3 9
4 10
4 11
2 4
1 3