#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
struct nd {
  int a, b, w, is;
  bool operator<(const nd &r) const { return w < r.w; }
} g[10005];
int C[10005];
int spa(int M, int N) {
  int S = 0, W = N - 1;
  sort(g, g + M);
  for (int i(0); i < M && W; i++)
    if (!C[g[i].b]) S += g[i].w, C[g[i].b] = 1, --W;
  return W ? -1 : S;
}
int N, M, A[10005], a, b, c;
int main(void) {
  scanf("%d", &N), ga(N, A);
  scanf("%d", &M);
  for (int i(0); i < M; i++)
    scanf("%d%d%d", &a, &b, &c), g[i] = {--a, --b, c, 0};
  printf("%d\n", spa(M, N));
  return 0;
}
