/*
#include <stdio.h>
int arr[101][101]={};
int visited[101]={},n;
void dfs(int node)
{
visited[node]=1;
for(int i=1;i<=n;i++)
{
if(arr[node][i]==1 && visited[i]==0){
dfs(i);
}
}
return ;
}
int main()
{
int ssang, c1, c2, i, j, sum=0;
scanf("%d %d",&n, &ssang);
//인접행렬 만들기 ( 노드간int arr[101][101]={};의 연결상태)
for(i=1;i<=ssang;i++)
{
scanf("%d %d", &c1, &c2);
arr[c1][c2]=1;
arr[c2][c1]=1;int arr[101][101]={};
}
dfs(1); // 1번 노드에서 연결된 모든 노드를 dfs로 탐색
//인접행렬 출력
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
for(i=2;i<=n;i++)
{
sum+=visited[i];
}
printf("%d", sum);
return 0;
}
*/
/*
dfs : 연결 ok, 방문 x
*/