20250502
//#include<stdio.h>
//#include<string.h>
//int main()
//{
// char a[10001]={}, b[10001]={}, str[10001]={}, c[10001]={},d[10001]={};
// int i, j, l1,l2,temp1,temp2,temp=0;
// scanf("%s %s", c, d);
// l1 = strlen(c);
// l2 = strlen(d);
// for(i=0,j=l1-1;i<l1;i++,j--)
// {
// a[i] = c[j];
// }
// for(i=0,j=l2-1;i<l2;i++,j--)
// {
// b[i] = d[j];
// }
// for (i=0,j=(l1 > l2 ? l1 : l2);i<=(l1 > l2 ? l1 : l2);i++,j--)
// {
// if (a[i]==0)
// {
// a[i] = 48;
// }
// if (b[i]==0)
// {
// b[i]=48;
// }
// temp1 = a[i]-48;
// temp2 = b[i]-48;
// str[j] = (temp1+temp2+temp)%10+48;
// temp = (temp1+temp2+temp)/10;
// }
// if (str[0]==48)
// {
// str[0] = 0;
// for(i=1;!(str[i]>57 || str[i]<48);i++)
// {
// printf("%c", str[i]);
// }
// }
// else
// {
// printf("%s", str);
// }
// return 0;
//}
#include<stdio.h>
void f(int i, j)
{
if (arr[i][j]==-1)
{
arr[i][j] = x;
}
f(i,j+1);
f(i,j-1);
return;
}
int main()
{
int arr[10001][10001]={}, n, m, i, j,a,b,x=0;
scanf("%d %d", &n, &m);
for(i=1;i<=n;i++)
{
arr[i] = i;
}
for(i=1;i<=m;i++)
{
scanf("%d %d", &a, &b);
arr[a][b] = -1;
arr[b][a] = -1;
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if (arr[i][j]==1)
{
x++;
f(i, j);
}
}
}
return 0;
}




