#include <cstring>
//#include <fstream>
using namespace std;
//ifstream fin("in.txt");
//#define cin fin
#define PARENT(i) i/2
#define LEFT(i) 2*i
#define RIGHT(i) 2*i+1
int tree[300];
int people[300];
int visit[300];
int find(int i, int deep)
{
if(i == 0 || visit[i])
return 0;
visit[i] = 1;
int count = people[i]*deep;
count += find(tree[PARENT(i)], deep+1);
count += find(tree[LEFT(i)], deep+1);
count += find(tree[RIGHT(i)], deep+1);
return count;
}
int main()
{
int N;
cin >> N;
tree[1] = 1;
for(int i = 1; i <= N; i++)
{
int n, l, r;
cin >> n >> l >> r;
people[i] = n;
tree[LEFT(i)] = l;
tree[RIGHT(i)] = r;
}
int min = 1000000000;
for(int i = 1; i <= N; i++)
{
memset(visit, 0, sizeof(visit));
int count = find(i, 0);
if(count < min)
min = count;
}
cout << min << endl;
return 0;
}