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

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

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