#include <bits/stdc++.h>
#define NMAX 200005
#define LOG 18
using namespace std;
struct edge{
int u ;
int limited;
int infinite ;
};
int n;
vector<edge> graph[NMAX];
int high[NMAX],LCA[NMAX][LOG+1],cnt[NMAX];
long long result=0;
void enter()
{
cin>>n;
for(int i=1;i<n;i++)
{
int u ,v,c1,c2;
cin>>u>>v>>c1>>c2;
graph[u].push_back({v,c1,c2});
graph[v].push_back({u,c1,c2});
}
}
void DFS(int top)
{
for(edge bot:graph[top])
{
if(LCA[top][0]!=bot.u)
{
LCA[bot.u][0]=top;
high[bot.u]=high[top]+1;
DFS(bot.u);
}
}
}
void prepare()
{
for(int j=1;j<=LOG;j++)
{
for(int i=1;i<=n;i++)
{
LCA[i][j]=LCA[LCA[i][j-1]][j-1];
}
}
}
int binary_lifting(int u ,int v)
{
if(high[u]<high[v])
{
return binary_lifting(v,u);
}
for(int i=LOG;i>=0;i--)
{
if(high[u] - (1<<i) >= high[v])
{
u=LCA[u][i];
}
}
if(u==v)
{
return u;
}
for(int i=LOG;i>=0;i--)
{
if(LCA[u][i]!=LCA[v][i])
{
u=LCA[u][i];
v=LCA[v][i];
}
}
return LCA[u][0];
}
void DFS_result(int top)
{
for(edge bot:graph[top])
{
if(LCA[top][0]!=bot.u)
{
DFS_result(bot.u);
cnt[top]+=cnt[bot.u];
result+=min(1ll*cnt[bot.u]*bot.limited,1ll*bot.infinite);
}
}
}
void process()
{
for(int i=2;i<=n;i++)
{
cnt[i-1]++;
cnt[i]++;
cnt[binary_lifting(i,i-1)]-=2;
}
DFS_result(1);
cout<<result;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
enter();
DFS(1);
prepare();
process();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTk1BWCAyMDAwMDUKI2RlZmluZSBMT0cgMTgKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IGVkZ2V7CiAgICAgIGludCB1IDsKICAgICAgaW50IGxpbWl0ZWQ7CiAgICAgIGludCBpbmZpbml0ZSA7Cgp9OwppbnQgbjsKdmVjdG9yPGVkZ2U+IGdyYXBoW05NQVhdOwppbnQgaGlnaFtOTUFYXSxMQ0FbTk1BWF1bTE9HKzFdLGNudFtOTUFYXTsKbG9uZyBsb25nIHJlc3VsdD0wOwp2b2lkIGVudGVyKCkKewogICAgY2luPj5uOwogICAgZm9yKGludCBpPTE7aTxuO2krKykKICAgIHsKICAgICAgICBpbnQgdSAsdixjMSxjMjsKICAgICAgICBjaW4+PnU+PnY+PmMxPj5jMjsKICAgICAgICBncmFwaFt1XS5wdXNoX2JhY2soe3YsYzEsYzJ9KTsKICAgICAgICBncmFwaFt2XS5wdXNoX2JhY2soe3UsYzEsYzJ9KTsKICAgIH0KfQp2b2lkIERGUyhpbnQgdG9wKQp7CiAgICBmb3IoZWRnZSBib3Q6Z3JhcGhbdG9wXSkKICAgIHsKICAgICAgICBpZihMQ0FbdG9wXVswXSE9Ym90LnUpCiAgICAgICAgewogICAgICAgICAgICBMQ0FbYm90LnVdWzBdPXRvcDsKICAgICAgICAgICAgaGlnaFtib3QudV09aGlnaFt0b3BdKzE7CiAgICAgICAgICAgIERGUyhib3QudSk7CiAgICAgICAgfQogICAgfQp9CnZvaWQgcHJlcGFyZSgpCnsKICAgIGZvcihpbnQgaj0xO2o8PUxPRztqKyspCiAgICB7CiAgICAgICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBMQ0FbaV1bal09TENBW0xDQVtpXVtqLTFdXVtqLTFdOwogICAgICAgIH0KICAgIH0KfQppbnQgYmluYXJ5X2xpZnRpbmcoaW50IHUgLGludCB2KQp7CiAgICBpZihoaWdoW3VdPGhpZ2hbdl0pCiAgICB7CiAgICAgICAgcmV0dXJuIGJpbmFyeV9saWZ0aW5nKHYsdSk7CiAgICB9CiAgICBmb3IoaW50IGk9TE9HO2k+PTA7aS0tKQogICAgewogICAgICAgIGlmKGhpZ2hbdV0gLSAoMTw8aSkgPj0gaGlnaFt2XSkKICAgICAgICB7CiAgICAgICAgICAgIHU9TENBW3VdW2ldOwogICAgICAgIH0KICAgIH0KICAgIGlmKHU9PXYpCiAgICB7CiAgICAgICAgcmV0dXJuIHU7CiAgICB9CiAgICBmb3IoaW50IGk9TE9HO2k+PTA7aS0tKQogICAgewogICAgICAgIGlmKExDQVt1XVtpXSE9TENBW3ZdW2ldKQogICAgICAgIHsKICAgICAgICAgICAgdT1MQ0FbdV1baV07CiAgICAgICAgICAgIHY9TENBW3ZdW2ldOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBMQ0FbdV1bMF07Cn0Kdm9pZCBERlNfcmVzdWx0KGludCB0b3ApCnsKICAgIGZvcihlZGdlIGJvdDpncmFwaFt0b3BdKQogICAgewogICAgICAgIGlmKExDQVt0b3BdWzBdIT1ib3QudSkKICAgICAgICB7CiAgICAgICAgICAgIERGU19yZXN1bHQoYm90LnUpOwogICAgICAgICAgICBjbnRbdG9wXSs9Y250W2JvdC51XTsKICAgICAgICAgICAgcmVzdWx0Kz1taW4oMWxsKmNudFtib3QudV0qYm90LmxpbWl0ZWQsMWxsKmJvdC5pbmZpbml0ZSk7CiAgICAgICAgfQogICAgfQp9CnZvaWQgcHJvY2VzcygpCnsKICAgICAgZm9yKGludCBpPTI7aTw9bjtpKyspCiAgICAgIHsKICAgICAgICAgIGNudFtpLTFdKys7CiAgICAgICAgICBjbnRbaV0rKzsKICAgICAgICAgIGNudFtiaW5hcnlfbGlmdGluZyhpLGktMSldLT0yOwogICAgICB9CiAgICAgIERGU19yZXN1bHQoMSk7CiAgICAgIGNvdXQ8PHJlc3VsdDsKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgY291dC50aWUoMCk7CiAgICBlbnRlcigpOwogICAgREZTKDEpOwogICAgcHJlcGFyZSgpOwogICAgcHJvY2VzcygpOwogICAgcmV0dXJuIDA7Cn0K