#include<bits/stdc++.h>
using namespace std;
int n,m,pre[105];
struct rr{
int x,y,z,w;
}r[10020];
bool cmp(rr a,rr b){
if(a.w!=b.w) return a.w>b.w;
return a.z<b.z;
}
int find(int x){
if(pre[x]==-1) return x;
return pre[x]=find(pre[x]);
}
int main(){
int x,y,ans;
while(scanf("%d",&n)){
if(n==0) break;
m=n*(n-1)/2;
ans=0;
memset(pre,-1,sizeof(pre));
for(int i=0;i<m;i++){
scanf("%d%d%d%d",&r[i].x,&r[i].y,&r[i].z,&r[i].w);
}
sort(r,r+m,cmp);
for(int i=0;i<m;i++){
int fx=find(r[i].x),fy=find(r[i].y);
if(fx==fy) continue;
pre[fx]=fy;
if(r[i].w==0) ans+=r[i].z;
}
printf("%d\n",ans);
}
}