#include <bits/stdc++.h>   using namespace std;   int n, m, k, a[33][33], vis[33];   int dfs(int u, int sum, int lim) {     if (sum > lim) return 0;     if (u > n) return 1;     int ans = dfs(u + 1, sum, lim);     for (int v = 1; v <= n && ans < k; v++)       if (!vis[v] && a[u][v])         vis[v] = 1, ans += dfs(u + 1, sum + a[u][v], lim), vis[v] = 0;     return ans;   }   int main() {     cin >> n >> m >> k;     while (m--) {       int x, y, z;       cin >> x >> y >> z;       a[x][y] = z;     }     int l = 0, r = 20000, ans = 0;     while (l <= r) {       m = (l + r) / 2;       if (dfs(1, 0, m) >= k)         ans = m, r = m - 1;       else         l = m + 1;     }     cout << ans <<   n ;   }   