#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
int n, k, t, my[22], cnt;
vector<pair<int, int> > ke[22];
bool check(int u, int sum, int ub) {
  if (cnt >= t) return true;
  if (u == n + 1) {
    ++cnt;
    if (cnt >= t)
      return true;
    else
      return false;
  }
  if (check(u + 1, sum, ub)) return true;
  for (int i = 0, _a = (ke[u].size()); i < _a; i++) {
    int v = ke[u][i].first;
    if (my[v] || sum + ke[u][i].second > ub) continue;
    my[v] = u;
    if (check(u + 1, sum + ke[u][i].second, ub)) return true;
    my[v] = 0;
  }
  return false;
}
int main() {
  while (scanf("%d%d%d", &n, &k, &t) == 3) {
    for (int i = (1), _b = (n); i <= _b; i++) ke[i].clear();
    while (k--) {
      int u, v, c;
      scanf("%d%d%d", &u, &v, &c);
      ke[u].push_back(make_pair(v, c));
    }
    int l = 0, r = 20111, res = 20111;
    while (l <= r) {
      int mid = (l + r) >> 1;
      memset(my, 0, sizeof my);
      cnt = 0;
      if (check(1, 0, mid)) {
        res = mid;
        r = mid - 1;
      } else
        l = mid + 1;
    }
    printf("%d\n", res);
  }
  return 0;
}
