[ [ ( PreprocessorTok , "#include " ) , ( ImportTok , "" ) ] , [ ( PreprocessorTok , "#include " ) , ( ImportTok , "" ) ] , [ ( PreprocessorTok , "#include " ) , ( ImportTok , "" ) ] , [ ( PreprocessorTok , "#include " ) , ( ImportTok , "" ) ] , [ ( PreprocessorTok , "#include " ) , ( ImportTok , "" ) ] , [] , [] , [ ( KeywordTok , "typedef" ) , ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "pair<" ) , ( DataTypeTok , "char" ) , ( NormalTok , "," ) , ( DataTypeTok , "char" ) , ( NormalTok , "> " ) , ( DataTypeTok , "item_t" ) , ( NormalTok , ";" ) ] , [ ( KeywordTok , "typedef" ) , ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "vector<" ) , ( DataTypeTok , "item_t" ) , ( NormalTok , "> " ) , ( DataTypeTok , "list_t" ) , ( NormalTok , ";" ) ] , [] , [ ( DataTypeTok , "bool" ) , ( NormalTok , " can_make_word(" ) , ( AttributeTok , "const" ) , ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "string& w, " ) , ( AttributeTok , "const" ) , ( NormalTok , " " ) , ( DataTypeTok , "list_t" ) , ( NormalTok , "& vals) {" ) ] , [ ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "set<" ) , ( DataTypeTok , "uint32_t" ) , ( NormalTok , "> used;" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "while" ) , ( NormalTok , " (used.size() < w.size()) {" ) ] , [ ( NormalTok , " " ) , ( AttributeTok , "const" ) , ( NormalTok , " " ) , ( DataTypeTok , "char" ) , ( NormalTok , " c = toupper(w[used.size()]);" ) ] , [ ( NormalTok , " " ) , ( DataTypeTok , "uint32_t" ) , ( NormalTok , " x = used.size();" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "for" ) , ( NormalTok , " (" ) , ( DataTypeTok , "uint32_t" ) , ( NormalTok , " i = " ) , ( DecValTok , "0" ) , ( NormalTok , ", ii = vals.size(); i < ii; ++i) {" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "if" ) , ( NormalTok , " (used.find(i) == used.end()) {" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "if" ) , ( NormalTok , " (toupper(vals[i].first) == c || toupper(vals[i].second) == c) {" ) ] , [ ( NormalTok , " used.insert(i);" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "break" ) , ( NormalTok , ";" ) ] , [ ( NormalTok , " }" ) ] , [ ( NormalTok , " }" ) ] , [ ( NormalTok , " }" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "if" ) , ( NormalTok , " (x == used.size()) " ) , ( ControlFlowTok , "break" ) , ( NormalTok , ";" ) ] , [ ( NormalTok , " }" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "return" ) , ( NormalTok , " used.size() == w.size();" ) ] , [ ( NormalTok , "}" ) ] , [] , [] , [ ( DataTypeTok , "int" ) , ( NormalTok , " main() {" ) ] , [ ( NormalTok , " " ) , ( DataTypeTok , "list_t" ) , ( NormalTok , " vals{ {" ) , ( CharTok , "'B'" ) , ( NormalTok , "," ) , ( CharTok , "'O'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'X'" ) , ( NormalTok , "," ) , ( CharTok , "'K'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'D'" ) , ( NormalTok , "," ) , ( CharTok , "'Q'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'C'" ) , ( NormalTok , "," ) , ( CharTok , "'P'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'N'" ) , ( NormalTok , "," ) , ( CharTok , "'A'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'G'" ) , ( NormalTok , "," ) , ( CharTok , "'T'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'R'" ) , ( NormalTok , "," ) , ( CharTok , "'E'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'T'" ) , ( NormalTok , "," ) , ( CharTok , "'G'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'Q'" ) , ( NormalTok , "," ) , ( CharTok , "'D'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'F'" ) , ( NormalTok , "," ) , ( CharTok , "'S'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'J'" ) , ( NormalTok , "," ) , ( CharTok , "'W'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'H'" ) , ( NormalTok , "," ) , ( CharTok , "'U'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'V'" ) , ( NormalTok , "," ) , ( CharTok , "'I'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'A'" ) , ( NormalTok , "," ) , ( CharTok , "'N'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'O'" ) , ( NormalTok , "," ) , ( CharTok , "'B'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'E'" ) , ( NormalTok , "," ) , ( CharTok , "'R'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'F'" ) , ( NormalTok , "," ) , ( CharTok , "'S'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'L'" ) , ( NormalTok , "," ) , ( CharTok , "'Y'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'P'" ) , ( NormalTok , "," ) , ( CharTok , "'C'" ) , ( NormalTok , "}, {" ) , ( CharTok , "'Z'" ) , ( NormalTok , "," ) , ( CharTok , "'M'" ) , ( NormalTok , "} };" ) ] , [ ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "vector<" ) , ( BuiltInTok , "std::" ) , ( NormalTok , "string> words{" ) , ( StringTok , "\"A\"" ) , ( NormalTok , "," ) , ( StringTok , "\"BARK\"" ) , ( NormalTok , "," ) , ( StringTok , "\"BOOK\"" ) , ( NormalTok , "," ) , ( StringTok , "\"TREAT\"" ) , ( NormalTok , "," ) , ( StringTok , "\"COMMON\"" ) , ( NormalTok , "," ) , ( StringTok , "\"SQUAD\"" ) , ( NormalTok , "," ) , ( StringTok , "\"CONFUSE\"" ) , ( NormalTok , "};" ) ] , [ ( NormalTok , " " ) , ( ControlFlowTok , "for" ) , ( NormalTok , " (" ) , ( AttributeTok , "const" ) , ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "string& w : words) {" ) ] , [ ( NormalTok , " " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "cout << w << " ) , ( StringTok , "\": \"" ) , ( NormalTok , " << " ) , ( BuiltInTok , "std::" ) , ( NormalTok , "boolalpha << can_make_word(w,vals) << " ) , ( StringTok , "\"." ) , ( SpecialCharTok , "\\n" ) , ( StringTok , "\"" ) , ( NormalTok , ";" ) ] , [ ( NormalTok , " }" ) ] , [] , [ ( NormalTok , "}" ) ] ]