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

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

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