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

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

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