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

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

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