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

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

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