#!/usr/bin/python3 import sys import re sciezki = {}; stanyakceptujace = []; f = open(sys.argv[1], "r"); lines = f.readlines(); for line in lines: answer = re.match('^([0-9]+) ([0-9]+) ([a-z]*|)$', line); if answer: try: try: sciezki[answer.group(1)][answer.group(3)].add(answer.group(2)); except KeyError: sciezki[answer.group(1)][answer.group(3)] = {answer.group(2)}; except KeyError: sciezki.update({answer.group(1):{}}) sciezki[answer.group(1)][answer.group(3)] = {answer.group(2)}; else: stanyakceptujace.append(line[:-1]); for input in sys.stdin.readlines(): act = {str(0)}; for char in input[:-1]: tca = set(); for z in act: try: if sciezki[z].__contains__(''): tca.update(sciezki[z]['']); except KeyError: pass; act.update(tca); tca = set(); for z in act: try: tca.update(sciezki[z][char]); except KeyError: pass; act = tca; tca = set(); for z in act: try: if sciezki[z].__contains__(''): tca.update(sciezki[z]['']); except KeyError: pass; act.update(tca); if len(act.intersection(stanyakceptujace))>0: print("TRUE "+input[:-1]) else: print("FALSE "+input[:-1])