#include <bits/stdc++.h>
using namespace std;
const int maxn = 4e5 + 1;
const int mod = 10007;
long long dp[1 << 18][18];
int a[20];
int g[20][20];
int bitCount(int n) {
  int ans = 0;
  while (n) {
    ans++;
    n &= (n - 1);
  }
  return ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < k; i++) {
    int u, v, c;
    cin >> u >> v >> c;
    g[u - 1][v - 1] = c;
  }
  for (int i = 0; i < n; i++) {
    int mask = 1 << i;
    dp[mask][i] = a[i];
  }
  for (int mask = 0; mask < (1 << n); mask++) {
    for (int i = 0; i < n; i++) {
      if (mask & (1 << i)) {
        for (int j = 0; j < n; j++) {
          if ((mask & (1 << j)) == 0) {
            int nmask = mask | (1 << j);
            dp[nmask][j] = max(dp[nmask][j], dp[mask][i] + g[i][j] + a[j]);
          }
        }
      }
    }
  }
  long long ans = 0;
  for (int mask = 0; mask < 1 << n; mask++) {
    for (int i = 0; i < n; i++) {
      if (bitCount(mask) == m) ans = max(ans, dp[mask][i]);
    }
  }
  cout << ans;
  return 0;
}
