#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const long long INFF = 0x3f3f3f3f3f3f3f3f;
const double pi = acos(-1.0);
const double eps = 1e-9;
const long long mod = 1e9 + 7;
int n;
struct node {
  int b, c;
};
vector<node> vec[2010];
int maxx = -1;
void dfs(int u, int fa, int sum) {
  if (vec[u].size() == 1 && vec[u][0].b == fa) {
    maxx = max(maxx, sum);
    return;
  }
  for (int i = 0; i < vec[u].size(); i++) {
    node e = vec[u][i];
    if (e.b != fa) {
      dfs(e.b, u, sum + e.c);
    }
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i < n; i++) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    vec[a].push_back({b, c});
    vec[b].push_back({a, c});
  }
  dfs(0, -1, 0);
  printf("%d\n", maxx);
  return 0;
}
