#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 5;
const int MOD = 1e9 + 7;
const int N = 1e5 + 5;
int n, m, k;
int f[N], sz[N], cnt[N];
int find(int x) {
  if (x == f[x]) return x;
  return find(f[x]);
}
void merge(int x, int y) {
  int fx = find(x), fy = find(y);
  if (fx != fy) {
    if (sz[fx] > sz[fy]) swap(fx, fy);
    f[fx] = fy;
    sz[fy] += sz[fx];
  }
}
void solve() {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 0; i < n; ++i) {
    sz[i] = cnt[i] = 1, f[i] = i;
  }
  for (int i = 0; i < m; ++i) {
    int u, v;
    cin >> u >> v;
    u--, v--;
    merge(u, v);
    cnt[u]++, cnt[v]++;
  }
  for (int i = 0; i < k; ++i) {
    int u, v;
    cin >> u >> v;
    u--, v--;
    int fx = find(u), fy = find(v);
    if (fx == fy) cnt[u]++, cnt[v]++;
  }
  for (int i = 0; i < n; ++i) {
    cout << max(0, sz[find(i)] - cnt[i]) << ' ';
  }
  cout << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int t = 1;
  while (t--) solve();
  return 0;
}
