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

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

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