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

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

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