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

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

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