#include <bits/stdc++.h>
int value[21][21];
int yes[21][21];
int hash[21];
int seq[1 << 21], tot = 0;
int N, M, K;
void dfs(int x, int count, int limit) {
  int i, j;
  if (x <= N) {
    dfs(x + 1, count, limit);
    for (i = 1; i <= N; ++i)
      if (hash[i] == 0 && yes[x][i] == 1 && count + value[x][i] <= limit &&
          tot <= K + 2) {
        hash[i] = 1;
        dfs(x + 1, count + value[x][i], limit);
        hash[i] = 0;
      }
  } else {
    seq[++tot] = count;
  }
}
bool judge(int limit) {
  tot = 0;
  dfs(1, 0, limit);
  return tot < K;
}
int main() {
  int i, j, sc, sv, t;
  int l, r, mid, total = 0;
  scanf("%d%d%d", &N, &M, &K);
  for (i = 1; i <= M; ++i) {
    scanf("%d%d%d", &sc, &sv, &t);
    total += t;
    value[sc][sv] = t;
    yes[sc][sv] = 1;
  }
  l = 0, r = total;
  while (l < r) {
    mid = (l + r) / 2;
    if (judge(mid))
      l = mid + 1;
    else
      r = mid;
  }
  judge(l);
  std::sort(seq + 1, seq + tot + 1);
  printf("%d\n", seq[K]);
  return 0;
}
