#include <stdio.h>
int visited[101]= {};
int queue[101]= {};
int front=-1, rear=-1;
void enq(int d)
{
queue[++rear]=d;
}
int deq()
{
if(front==rear)
return -1;
return queue[++front];
}
int main()
{
int i, n, k, a, b, x, cnt=0;
int data[101][101]= {};
scanf("%d %d", &n, &k);
for(i=1; i<=k; i++)
{
scanf("%d %d", &a, &b);
data[a][b]=data[b][a]=1;
}
x=1;
visited[x]=1;
enq(1);
do
{
x=deq();
for(i=1; i<=n; i++)
{
if(data[x][i]==1&&visited[i]==0)
{
enq(i);
visited[i]=1;
}
}
}while(front!=rear);
for(i=2; i<=n; i++)
{
cnt+=visited[i];
}
printf("%d", cnt);
return 0;
}