#include <fstream>
#include <iostream>
#include <cmath>
#include <queue>
#include <string>

using namespace std;

int airport[26][26][26];

int main()
{
    ifstream fin("DATA5.txt");
    ofstream fout("OUT5.txt");
    string input;
    int r,c,a,b,price;
    int cost[50][50];
    for(int t=0;t<5;t++){
        for(int i=0;i<26;i++){
            for(int j=0;j<26;j++){
                for(int k=0;k<26;k++) airport[i][j][k]=-1;
            }
        }
        for(int i=0;i<50;i++){
            for(int j=0;j<50;j++) cost[i][j]=9999999;
        }
        c=0;
        fin>>r;
        for(int i=0;i<r;i++){
            fin>>input;
            if (airport[int(input[0])-65][int(input[1])-65][int(input[2])-65]==-1){
                airport[int(input[0])-65][int(input[1])-65][int(input[2])-65]=c;
                c++;
            }
            a=airport[int(input[0])-65][int(input[1])-65][int(input[2])-65];
            fin>>input;
            if (airport[int(input[0])-65][int(input[1])-65][int(input[2])-65]==-1){
                airport[int(input[0])-65][int(input[1])-65][int(input[2])-65]=c;
                c++;
            }
            b=airport[int(input[0])-65][int(input[1])-65][int(input[2])-65];
            fin>>price;
            cost[a][b]=min(price,cost[a][b]);
        }
        for(int i=0;i<50;i++){
            for(int j=0;j<50;j++){
                for(int k=0;k<50;k++){
                    cost[j][k]=min(cost[j][i]+cost[i][k],cost[j][k]);
                }
            }
        }
        fout<<cost[airport[24][24][25]][airport[18][4][0]]<<endl;
    }
    return 0;
}

