#include <bits/stdc++.h>
using namespace std;
const int maxn = 20 + 2;
vector<int> v;
int n, k, t;
int d[maxn][maxn];
int vis[maxn];
inline vector<int> make(int start, int w) {
  vector<int> ret;
  if (start == n) {
    ret.push_back(d[start][w]);
    return ret;
  }
  for (int i = 0; i <= n; ++i)
    if ((d[start + 1][i] != 0 && vis[i] == 0) || i == 0) {
      vis[i] = 1;
      vector<int> help;
      help = make(start + 1, i);
      vis[i] = 0;
      for (int j = 0; j < help.size(); ++j)
        ret.push_back(help[j] + d[start][w]);
    }
  return ret;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> k >> t;
  for (int i = 0; i < k; ++i) {
    int v1, v2, w;
    cin >> v1 >> v2 >> w;
    d[v1][v2] = w;
  }
  for (int i = 0; i <= n; ++i) {
    if (i == 0 || d[1][i] != 0) {
      vis[i] = 1;
      vector<int> help = make(1, i);
      vis[i] = 0;
      for (int j = 0; j < help.size(); ++j) v.push_back(help[j]);
    }
  }
  sort(v.begin(), v.end());
  cout << v[t - 1] << endl;
  return 0;
}
