*SUPPORT*
IN: zup fep kiki gazzer kiki blicket kiki OUT: BLUE BLUE GREEN BLUE
IN: kiki fep wif OUT: YELLOW BLUE
IN: dax OUT: PURPLE
IN: dax kiki blicket kiki blicket zup OUT: GREEN BLUE PURPLE BLUE
IN: kiki fep wif blicket wif OUT: YELLOW YELLOW BLUE
IN: kiki fep dax gazzer dax OUT: PURPLE BLUE PURPLE
IN: zup OUT: GREEN
IN: dax wif dax wif gazzer dax blicket kiki OUT: BLUE PURPLE YELLOW PURPLE YELLOW PURPLE
IN: kiki wif blicket dax gazzer dax OUT: PURPLE BLUE YELLOW PURPLE
IN: dax gazzer zup blicket zup blicket wif OUT: YELLOW GREEN PURPLE GREEN
IN: wif fep kiki blicket wif OUT: YELLOW BLUE YELLOW
IN: dax fep wif gazzer kiki OUT: YELLOW PURPLE BLUE
IN: wif gazzer kiki OUT: YELLOW BLUE
IN: dax fep wif OUT: YELLOW PURPLE

*QUERY*
IN: zup fep wif OUT: YELLOW GREEN
IN: zup fep wif gazzer kiki OUT: YELLOW GREEN BLUE
IN: dax fep zup OUT: GREEN PURPLE
IN: kiki fep kiki gazzer zup OUT: BLUE BLUE GREEN
IN: zup gazzer dax OUT: GREEN PURPLE
IN: kiki fep kiki OUT: BLUE BLUE
IN: kiki OUT: BLUE
IN: dax dax fep kiki gazzer wif OUT: PURPLE BLUE PURPLE YELLOW
IN: kiki blicket wif OUT: YELLOW BLUE
IN: zup kiki fep zup gazzer zup OUT: GREEN GREEN BLUE GREEN

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