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

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

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