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

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

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