#include <bits/stdc++.h>
using namespace std;
const int inf = 1000000000;
const int MOD = 1000000007;
vector<pair<int, int> > g[22];
int n, mx = inf, t;
vector<int> q;
vector<int> f;
void go(int idd, int mask, int sum) {
  if (idd == n) {
    q.push_back(sum);
    if ((int)(q).size() > 2 * t) {
      sort(q.begin(), q.end());
      while ((int)(q).size() > t) {
        mx = min(mx, q[(int)(q).size() - 1]);
        q.pop_back();
      }
    }
    return;
  }
  if (sum >= mx) return;
  int id = f[idd];
  go(idd + 1, mask, sum);
  for (int i = 0; i <= (int)(g[id]).size() - 1; ++i) {
    int to = g[id][i].second;
    if (mask & (1 << (to - 1))) {
    } else {
      go(idd + 1, mask | (1 << (to - 1)), sum + g[id][i].first);
    }
  }
}
int main() {
  int k;
  cin >> n >> k >> t;
  for (int i = 1; i <= k; ++i) {
    int x, y, z;
    cin >> x >> y >> z;
    g[x].push_back(make_pair(z, y));
  }
  f.clear();
  for (int i = 1; i <= n; ++i) f.push_back(i);
  random_shuffle(f.begin(), f.end());
  for (int i = 1; i <= n; ++i) sort(g[i].begin(), g[i].end());
  q.clear();
  go(0, 0, 0);
  sort(q.begin(), q.end());
  cout << q[t - 1] << endl;
}
