#include using namespace std; int T, n, m, pos; int dp[100010]; int main() { scanf("%d", &T); while (T--) { memset(dp, ~0x3f, sizeof dp); scanf("%d%d%d", &n, &m, &pos); dp[pos] = 0; for (int i = 1; i <= m; i++) { int u, v; scanf("%d%d", &u, &v); int tmp = dp[v]; dp[v] = max(dp[v], dp[u] + 1); dp[u] = max(dp[u], tmp + 1); dp[u]--, dp[v]--; } for (int i = 1; i <= n; i++) dp[i] += m; for (int i = 1; i <= n; i++) printf("%d%c", dp[i] < 0 ? -1 : m - dp[i], " \n"[i == n]); } }