#include <bits/stdc++.h>
using namespace std;
using vi=vector<int>;
using vvi=vector<vi>;
using vs=vector<string>;
using msi=map<string,int>;
using mii=map<int,int>;
using pii=pair<int,int>;
using vlai=valarray<int>;
using ll=long long;
#define rep(i,n) for(int i=0;i<n;i++)
#define range(i,s,n) for(int i=s;i<n;i++)
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define fs first
#define sc second
int main(void){
    int n,m;
    while(cin>>n>>m,n){
        map<int,pii> mp;
        vi infect(20001,0);
        infect[1]=1;
        rep(i,m){
            int t,s,d;
            cin>>t>>s>>d;
            mp[t]=make_pair(s,d);
        }
        for(auto p:mp){
            infect[p.sc.sc]=infect[p.sc.sc] | infect[p.sc.fs];
        }
        cout<<accumulate(all(infect),0)<<endl;
    }
}