#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <cmath>
#include <queue>
#include <set>

using namespace std;
const int maxn=110;
const int INF=99999999;
int n,m;
int Map[maxn][maxn];
int Min(int x,int y)
{return x<y ? x:y;}

int main()
{
    while(cin>>m&&m!=0)
    {
        for(int i=1;i<maxn;i++)
            for(int j=1;j<maxn;j++)
            if(i==j)Map[i][j]=0;
            else Map[i][j]=INF;
        n=0;
        for(int i=0;i<m;i++)
        {
            int a,b,c;
            scanf("%d%d%d",&a,&b,&c);
            if(a+1>n)n=a+1;
            if(b+1>n)n=b+1;
            Map[a+1][b+1]=Map[b+1][a+1]=c;
        }

        for(int k=1;k<=n;k++)
            for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                if(i!=j&&j!=k&&k!=i)
            Map[i][j]=Min(Map[i][j],Map[i][k]+Map[k][j]);
        int mm=INT_MAX;
        int ans;
        for(int i=1;i<=n;i++)
        {
            int step=0;
            for(int j=1;j<=n;j++)
                step+=Map[i][j];
            if(step<mm)
            {
                mm=step;
                ans=i;
            }
        }
        cout<<ans-1<<' '<<mm<<endl;
    }
}

