*SUPPORT*
IN: dax dax dax wif tufa fep OUT: PURPLE PURPLE GREEN RED PURPLE
IN: fep wif kiki wif kiki gazzer OUT: BLUE BLUE RED BLUE BLUE RED
IN: fep gazzer zup kiki OUT: BLUE BLUE BLUE RED RED BLUE
IN: kiki OUT: BLUE
IN: fep fep gazzer OUT: RED RED RED RED
IN: tufa OUT: GREEN
IN: kiki gazzer OUT: BLUE BLUE
IN: tufa wif dax OUT: PURPLE GREEN
IN: fep gazzer OUT: RED RED
IN: fep zup fep OUT: RED RED RED RED RED
IN: dax dax tufa OUT: PURPLE PURPLE GREEN
IN: tufa wif kiki gazzer OUT: BLUE GREEN BLUE GREEN
IN: dax OUT: PURPLE
IN: dax gazzer OUT: PURPLE PURPLE

*QUERY*
IN: tufa wif dax dax tufa gazzer OUT: PURPLE PURPLE GREEN GREEN PURPLE PURPLE GREEN GREEN
IN: tufa kiki gazzer OUT: GREEN BLUE GREEN BLUE
IN: tufa kiki gazzer gazzer OUT: GREEN BLUE GREEN BLUE GREEN BLUE GREEN BLUE
IN: fep wif dax fep fep OUT: PURPLE RED RED RED
IN: fep wif dax dax kiki wif fep OUT: PURPLE PURPLE RED BLUE RED
IN: kiki kiki tufa OUT: BLUE BLUE GREEN
IN: dax fep gazzer OUT: PURPLE RED PURPLE RED
IN: fep OUT: RED
IN: fep kiki tufa OUT: RED BLUE GREEN
IN: dax wif dax OUT: PURPLE PURPLE

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