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

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

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