#include <bits/stdc++.h>
using namespace std;
double pi = 3.1415926535898;
const long long M = 1e9 + 7;
const int N = (1 << 24) + 10;
const long long X = 1e10;
int n, m, k;
int mxmsk;
long long mem[20][1 << 20];
int x, y, c;
long long a[20];
long long d[20][20];
long long dp(int l, int msk) {
  if (__builtin_popcount(msk) == m) return 0;
  long long &r = mem[l][msk];
  if (r != -1) return r;
  r = 0;
  for (int i = 0; i < n; i++) {
    if (!(msk & (1 << i))) {
      r = max(r, a[i] + d[i][l] + dp(i, msk | (1 << i)));
    }
  }
  return r;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  cin >> n >> m >> k;
  for (int i = 0; i < int(n); i++) {
    cin >> a[i];
  }
  for (int i = 0; i < int(k); i++) {
    cin >> x >> y >> c;
    x--;
    y--;
    d[x][y] = c;
  }
  memset(mem, -1LL, sizeof(mem));
  cout << dp(19, 0);
  return 0;
  ;
}
