https://www.acmicpc.net/problem/1260
def dfs(mlist, v, visited):
visited[v]=True
for i in mlist[v]:
if not visited[i]:
dfs(mlist, i, visited)
n=int(input())
x=int(input())
mlist=[[] for _ in range(n+1)]
for i in range(x):
a,b=map(int, input().split())
mlist[a].append(b)
mlist[b].append(a)
visited=[False]*(n+1)
dfs(mlist, 1, visited)
print(visited)
print(visited.count(True)-1)