#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <map>

using namespace std;
int inf = 0x3f3f3f3f;

int maps[50][50];
//int dis[50],vis[50];
int n;
void floyd()
{
    for(int k = 0; k<n; k++)
        for(int i = 0; i<n; i++)
            for(int j = 0; j<n; j++)
                if(maps[i][j]>maps[i][k]+maps[k][j])
                    maps[i][j]=maps[i][k]+maps[k][j];
}
int main(void)
{
    while(scanf("%d",&n)&&n)
    {
        memset(maps,inf,sizeof(maps));
        //memset(dis,inf,sizeof(dis));
        int ma = 0;
        for(int i = 0; i<n; i++)
        {
            int x,y,w;
            scanf("%d%d%d",&x,&y,&w);
            maps[x][y] = maps[y][x] = w;
            maps[i][i] = 0;
            x = max(x,y);
            ma = max(x,y);
        }
        floyd();
        int mi = inf,b=0;
        for(int i = 0;i <=ma; i++)
            {
                int sum = 0;
                for(int j = 0; j<=ma; j++)
                {
                    sum += maps[i][j];
                }
                if(sum<mi)   b = i,mi=sum;

            }

        printf("%d %d\n",b,mi);
    }
    return 0;
}