#include <bits/stdc++.h>
using namespace std;
int n, m, k;
int t[22][22];
priority_queue<int> s;
int v[22], tt;
bool vis[22];
void dfs(int deep) {
  if (deep > n) {
    int sum = 0;
    for (int i = 1; i <= n; ++i)
      if (t[i][v[i]] == -1)
        return;
      else
        sum += t[i][v[i]];
    if (tt < k) {
      s.push(sum);
      ++tt;
    } else if (s.top() > sum) {
      s.pop();
      s.push(sum);
    }
    return;
  }
  for (int i = 0; i <= n; ++i)
    if (!vis[i]) {
      if (i) vis[i] = true;
      v[deep] = i;
      dfs(deep + 1);
      v[deep] = 0;
      vis[i] = false;
    }
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m >> k;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= n; ++j) t[i][j] = -1;
  for (int i = 0; i < m; ++i) {
    int x, y, d;
    cin >> x >> y >> d;
    t[x][y] = d;
  }
  dfs(1);
  cout << s.top() << endl;
  return 0;
}
