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

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

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