#include <bits/stdc++.h>
using namespace std;
inline int read();
const int maxn = 50 + 2;
const int inf = 2147483647;
int n, m, c, s, tim;
bool leaf[maxn];
int he[maxn], ne[maxn << 1], to[maxn << 1], w[maxn << 1];
int siz[maxn], dp[maxn << 1][maxn][maxn];
void Add_Edge(int x, int y, int z) {
  ne[++c] = he[x];
  he[x] = c;
  to[c] = y;
  w[c] = z;
  ne[++c] = he[y];
  he[y] = c;
  to[c] = x;
  w[c] = z;
}
void Get_Size(int p, int f) {
  int cnt = 0;
  for (int i = he[p]; i; i = ne[i]) {
    ++cnt;
    if (to[i] == f) continue;
    Get_Size(to[i], p);
    siz[p] += siz[to[i]];
  }
  if (cnt == 1) leaf[p] = 1;
}
int Search(int p, int front, int tot) {
  if (!tot) return 0;
  if (dp[p][front][tot] != -1) return dp[p][front][tot];
  if (leaf[to[p]]) {
    if (front == tot) return 0;
    dp[p][front][tot] = Search(p ^ 1, tot - front, tot - front) + w[p];
    return dp[p][front][tot];
  }
  int bag[maxn][maxn], cnt = 0;
  for (int i = 1; i <= front; ++i) bag[0][i] = 0;
  bag[0][0] = inf;
  for (int i = he[to[p]]; i; i = ne[i]) {
    if ((i ^ 1) == p) continue;
    ++cnt;
    for (int j = front; j >= 0; --j) {
      bag[cnt][j] = bag[cnt - 1][j];
      for (int k = j; k >= 1; --k) {
        bag[cnt][j] = max(bag[cnt][j],
                          min(bag[cnt - 1][j - k], w[i] + Search(i, k, tot)));
      }
    }
  }
  return dp[p][front][tot] = bag[cnt][front];
}
void Work() {
  memset(dp, -1, sizeof(dp));
  n = read();
  c = 1;
  for (int i = 1; i < n; ++i) {
    int x = read(), y = read(), z = read();
    Add_Edge(x, y, z);
  }
  s = read();
  m = read();
  for (int i = 1; i <= m; ++i) ++siz[read()];
  Get_Size(s, 0);
  tim = inf;
  for (int i = he[s]; i; i = ne[i]) {
    tim = min(tim, w[i] + Search(i, siz[to[i]], m));
  }
  printf("%d", tim);
}
int main() {
  Work();
  return 0;
}
inline int read() {
  char c;
  bool type = 1;
  while ((c = getchar()) < '0' || c > '9')
    if (c == '-') type = 0;
  int ans = c ^ 48;
  while ((c = getchar()) >= '0' && c <= '9')
    ans = (ans << 3) + (ans << 1) + (c ^ 48);
  return type ? ans : -ans;
}
