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

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

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