#include using namespace std; typedef pair mpair; typedef vector pvec; typedef long long int ll; #define f first #define s second ll dp[101]; int main(){ int n,m; cin>>n>>m; vector need(n+1,0); vector lib(n+1); for(int i=0;i>p>>q>>r; lib[r].push_back(make_pair(p,q)); need[p]++; } dp[n]=1; queue q; for(int i=1;i<=n;i++){ if(need[i]==0) q.push(i); } while(!q.empty()){ int now=q.front(); q.pop(); for(int i=0;i<(int)lib[now].size();i++){ dp[lib[now][i].f]+=dp[now]*lib[now][i].s; need[lib[now][i].f]--; if(need[lib[now][i].f]==0) q.push(lib[now][i].f); } if(lib[now].size()!=0) dp[now]=0; } for(int i=1;i