题意就是 给你 n个点 m条边 每条边有些公司支持 问 a点到b点的路径有哪些公司可以支持 这里是一条路径中要每段路上都要有该公司支持 才算合格的一个公司
// floyd 加 位运算
// 将每个字符当成二进制中的一位就好
#include <iostream>
#include <map>
#include <algorithm>
#include <queue>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <vector>
using namespace std;
#define MOD 1000000007
#define maxn 210
int dp[maxn][maxn];
int main(){
int n;
int A,B;
char ch[29];
int i,j,k;
while(scanf("%d",&n),n){
memset(dp,0,sizeof(dp));
while(scanf("%d %d",&A,&B),A|B){
scanf("%s",ch);
for(i=0;ch[i]!='