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

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

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