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

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

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