#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int c(const void *v1,const void *v2){
    return ((int *)v1)[0]-((int *)v2)[0];
}
int main(void){
    int N,M,map[20000][3],inf[20001],i,sum;
    for(;memset(inf,0,sizeof(inf)),sum=1,inf[1]=1,scanf("%d %d",&N,&M),N+M;){
        for(i=0;i<M;i++)
            scanf("%d %d %d",&map[i][0],&map[i][1],&map[i][2]);
        qsort(map,M,sizeof(int)*3,c);
        for(i=0;i<M;i++)
            if(inf[map[i][1]] && !inf[map[i][2]]){
                inf[map[i][2]]=1;
                sum++;
            }
        printf("%d\n",sum);
    }
    return 0;
}