#include using namespace std; int n, m, k, f[100005]; void solve() { scanf("%d %d %d", &n, &m, &k); memset(f, 0x3f, sizeof f); f[k] = 0; for (int i = 1; i <= m; i++) { int u, v; scanf("%d %d", &u, &v); int fu = f[u], fv = f[v]; f[u] = min(fu + 1, fv); f[v] = min(fv + 1, fu); } for (int i = 1; i <= n; i++) { printf("%d%c", f[i] > m ? -1 : f[i], " \n"[i == n]); } } int main() { int t; scanf("%d", &t); while (t--) { solve(); } return 0; }