#include<iostream>#include<cstdio>#include<cstring>#define maxn 205using namespace std;int map[maxn][maxn];int n,a,b;int main(){ char ch[30]; while(scanf("%d",&n),n){ memset(map,0,sizeof(map)); while(scanf("%d%d",&a,&b),a+b){ scanf("%s",ch); for(int i=0;ch[i]!=' ';i++) map[a][b]|=1<<(ch[i]-'a'); } for(int k=1;k<=n;++k) for(int i=1;i<=n;++i) for(int j=1;j<=n;++j){ map[i][j]|=(map[i][k]&map[k][j]); } while(scanf("%d%d",&a,&b),a+b){ for(int i=0;i<26;++i){ if(map[a][b]&(1<<i)) printf("%c",i+'a'); } if(!map[a][b]) printf("-"); printf("n"); } printf("n"); } return 0;}