#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
int n,m;
vector<int> fri[501];
int ff[501];
main(){
  while(1){
    scanf("%d",&n);
    scanf("%d",&m);
    if(n==0 && m==0) break;
    memset(ff,0,sizeof(ff));
    for(int i=0;i<=501;i++)
      fri[i].clear();
    for(int i=0;i<m;i++){
      int a,b;
      scanf("%d %d",&a,&b);
      fri[a].push_back(b);
      fri[b].push_back(a);
    }
    int M=fri[1].size();
    for(int i=0;i<M;i++){
      int N=fri[fri[1][i]].size();
      for(int j=0;j<N;j++){
	ff[fri[fri[1][i]][j]]=1;
      }
      ff[fri[1][i]]=1;
    }
    int res=0;
    for(int i=2;i<=n;i++){
      if(ff[i]==1)res++;
      //    printf("%d ",ff[i]);
    }
    printf("%d\n",res);
  }
}
#include<bits/stdc++.h>
using namespace std;
    long long stu[510],memo[510][510],m,n,sum,a,b;
int main(){


    while(1){

    cin >> n >> m;
    if(n==0)break;

    for(int i=0;i<m;i++){
        cin >> a >> b;
        if(a==1&&stu[b]==0){
            stu[b]=1;
            sum++;
        }else memo[a][b]=5;
    }

    for(int i=2;i<n+1;i++){
        for(int j=2;j<n+1;j++){

            if(memo[i][j]==5){
                if(stu[i]==1&&stu[j]==0){
                        stu[j]=2;
                        sum++;
                }
            }

        }
    }
    for(int i=2;i<n+1;i++){
        for(int j=2;j<n+1;j++){

            if(memo[i][j]==5){
                if(stu[i]==0&&stu[j]==1){
                        stu[i]=2;
                        sum++;
                }
            }

        }
    }

     cout << sum << endl;

     for(int i=0;i<n+1;i++){
        for(int j=0;j<n+1;j++){
            memo[i][j]=0;
        }
     }
     for(int i=0;i<n+1;i++){
            stu[i]=0;
     }
     sum=0;

    }
return 0;
    }