*SUPPORT*
IN: dax dax gazzer OUT: BLUE BLUE YELLOW
IN: gazzer gazzer wif OUT: YELLOW YELLOW PURPLE
IN: gazzer zup gazzer dax fep wif OUT: PURPLE YELLOW BLUE YELLOW YELLOW BLUE YELLOW
IN: wif fep dax OUT: BLUE PURPLE PURPLE
IN: kiki gazzer OUT: PINK YELLOW
IN: gazzer zup wif wif OUT: PURPLE PURPLE YELLOW
IN: wif OUT: PURPLE
IN: kiki fep dax OUT: BLUE PINK PINK
IN: kiki OUT: PINK
IN: dax zup kiki OUT: PINK BLUE
IN: gazzer lug kiki dax OUT: YELLOW PINK BLUE
IN: gazzer zup wif kiki OUT: PURPLE PINK YELLOW
IN: dax wif OUT: BLUE PURPLE
IN: kiki zup gazzer zup kiki gazzer OUT: PINK YELLOW YELLOW PINK

*QUERY*
IN: kiki wif dax OUT: PINK PURPLE BLUE
IN: gazzer fep wif OUT: PURPLE YELLOW YELLOW
IN: gazzer OUT: YELLOW
IN: kiki fep gazzer fep dax OUT: BLUE YELLOW PINK PINK YELLOW PINK PINK
IN: kiki zup kiki zup wif OUT: PURPLE PINK PINK
IN: wif zup wif dax zup gazzer lug gazzer OUT: PURPLE YELLOW BLUE PURPLE YELLOW
IN: dax OUT: BLUE
IN: gazzer fep kiki OUT: PINK YELLOW YELLOW
IN: kiki lug kiki fep wif fep wif OUT: PINK PURPLE PURPLE PINK PINK PURPLE PINK PINK
IN: kiki zup kiki gazzer OUT: PINK YELLOW PINK

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