#!/usr/bin/python3 import sys import re class automata: def __init__(self): self.storage = [] self.accepting_states = [] self.state = '0' def add_node(self, line): node = line.split(' ') if len(node) == 3: self.storage.append([[node[0], node[2]], node[1]]) elif len(node) == 1: self.accepting_states.append(node) def test_string(self, text): for i in text: self.state = self.get_node_transition([self.state, i]) if self.state == None: return 'FALSE' if self.state in self.accepting_states: return 'TRUE' else: return 'FALSE' def get_node_transition(self, query): for i in self.storage: if i[0] == query: return i[1] return None auto = automata() for line in sys.stdin: auto.add_node(line) f = open(sys.argv[1], 'r') for line in f: print(auto.test_string(line))