*SUPPORT*
IN: wif dax dax OUT: YELLOW PURPLE PURPLE
IN: wif zup wif zup fep gazzer zup tufa OUT: YELLOW YELLOW RED RED RED BLUE
IN: tufa gazzer OUT: BLUE BLUE BLUE
IN: wif blicket zup wif tufa gazzer OUT: YELLOW YELLOW YELLOW BLUE BLUE BLUE
IN: dax fep gazzer blicket OUT: PURPLE RED RED RED PURPLE RED RED RED
IN: wif OUT: YELLOW
IN: wif gazzer zup wif gazzer OUT: YELLOW YELLOW YELLOW YELLOW YELLOW YELLOW
IN: dax dax gazzer OUT: PURPLE PURPLE PURPLE PURPLE
IN: tufa OUT: BLUE
IN: dax blicket OUT: PURPLE PURPLE
IN: wif gazzer OUT: YELLOW YELLOW YELLOW
IN: tufa tufa blicket OUT: BLUE BLUE BLUE BLUE
IN: fep tufa gazzer OUT: RED BLUE BLUE BLUE
IN: fep zup dax tufa gazzer OUT: RED PURPLE BLUE BLUE BLUE

*QUERY*
IN: tufa gazzer zup tufa gazzer zup wif OUT: BLUE BLUE BLUE BLUE BLUE BLUE YELLOW
IN: tufa wif gazzer OUT: BLUE YELLOW YELLOW YELLOW
IN: fep blicket blicket blicket OUT: RED RED RED RED RED RED RED RED
IN: dax gazzer OUT: PURPLE PURPLE PURPLE
IN: fep gazzer OUT: RED RED RED
IN: wif zup wif blicket blicket OUT: YELLOW YELLOW YELLOW YELLOW YELLOW
IN: fep tufa gazzer blicket OUT: RED BLUE BLUE BLUE RED BLUE BLUE BLUE
IN: wif gazzer zup dax gazzer OUT: YELLOW YELLOW YELLOW PURPLE PURPLE PURPLE
IN: fep OUT: RED
IN: fep blicket OUT: RED RED

*GRAMMAR*
wif -> YELLOW 
 dax -> PURPLE 
 fep -> RED 
 tufa -> BLUE 
 x1 zup x2 -> [x1] [x2] 
 x1 blicket -> [x1] [x1] 
 u1 gazzer -> [u1] [u1] [u1] 
 u1 x1 -> [u1] [x1] 
 