#include using namespace std; using LL = long long; const int mo = 1e9 + 7; const int maxn = 1e5 + 5; int ans[maxn]; const int inf = 0x3f3f3f3f; int main() { int T; scanf("%d", &T); while(T--) { int n, m, k; memset(ans, 0x3f, sizeof(ans)); scanf("%d%d%d", &n, &m, &k); ans[k] = 0; int x, y; for(int i = 0; i < m; i++) { scanf("%d%d", &x, &y); int tmpx = ans[x], tmpy = ans[y]; if(tmpx < inf) { ans[y] = min(ans[y] + 1, tmpx); } else { ans[y]++; } if(tmpy < inf) { ans[x] = min(ans[x] + 1, tmpy); } else { ans[x]++; } } for(int i = 1; i < n; i++) { printf("%d ", ans[i] >= inf? -1: ans[i]); } //cout <<(ans[n]) << ' ' << inf <= inf? -1: ans[n]); } return 0; }