from atcoder.dsu import DSU N,M=map(int,input().split()) uni=DSU(M) color=[[] for i in range(N+1)] for i in range(N): b,c=map(int,input().split()) color[c].append(b-1) for c in color: for i in range(len(c)-1): uni.merge(c[i],c[i+1]) ans=M for i in range(M): if uni.leader(i)==i: ans-=1 print(ans)