#include #include #include using namespace std; int n, m, k, d[1010], visited[101][1010]; unordered_set cost[101][101]; set res; void dfs(int p, int i) { if (i==k) { res.insert(p); return; } visited[p][i]=1; for(int j=1;j<=n;++j) if (cost[p][j].count(d[i]) and !visited[j][i+1]) dfs(j, i+1); } int main() { cin>>n>>m>>k; for(int i=0;i>a>>b>>c; cost[a][b].insert(c); cost[b][a].insert(c); } for(int i=0;i>d[i]; for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) if (cost[i][j].count(d[0])) dfs(i, 1); cout<