#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define VFOR(x,begin,num) for(int x=(begin);x<((begin)+(num));x++)
#define INF__ ((long long)1 << 60)
vector<int> Fr[100010], Bl[100010];int group[100010];int grsize[100010];
void grouping(int gr, int mem);
int main(){
    int N, M, K;
    cin >> N >> M >> K;
    VFOR(i,0,M){
        int a, b; cin >> a >> b;
        Fr[a].push_back(b);
        Fr[b].push_back(a);
    }
    VFOR(i,0,K){
        int a, b; cin >> a >> b;
        Bl[a].push_back(b);
        Bl[b].push_back(a);
    }
    int gr = 1;
    VFOR(i,1,N){
        if(group[i]==0) {group[i]=gr;grsize[gr]++;grouping(gr,i);gr++;}
    }
    VFOR(i,1,N){
        int ans = grsize[group[i]] - 1;
        for(auto j : Bl[i]){
            if(group[i]==group[j]) ans--;
        }
        ans -= Fr[i].size();
        printf("%d ",ans)//cout << ans << " ";
    }
    cout << endl;
    //VFOR(i,1,N) cout << grouping[i] << " ";
    return 0;
}
void grouping(int gr, int mem){
    for(auto x : Fr[mem]){
        if(group[x]==0) {group[x] = gr;grsize[gr]++;grouping(gr,x);}
    }
}