*SUPPORT*
IN: blicket blicket dax blicket OUT: YELLOW YELLOW YELLOW YELLOW
IN: zup dax kiki OUT: RED GREEN GREEN
IN: kiki zup kiki dax zup OUT: RED GREEN GREEN RED RED
IN: fep OUT: PINK
IN: kiki gazzer zup OUT: RED GREEN GREEN
IN: zup zup OUT: GREEN GREEN
IN: blicket kiki dax kiki wif blicket OUT: YELLOW RED RED RED YELLOW
IN: zup OUT: GREEN
IN: kiki wif fep OUT: RED PINK
IN: fep kiki OUT: PINK RED
IN: kiki fep dax fep OUT: RED PINK PINK PINK
IN: kiki fep wif zup wif fep OUT: RED PINK GREEN PINK
IN: kiki dax zup OUT: GREEN RED RED
IN: kiki OUT: RED

*QUERY*
IN: blicket dax fep OUT: PINK YELLOW YELLOW
IN: blicket blicket dax zup gazzer fep OUT: YELLOW GREEN YELLOW YELLOW PINK PINK
IN: kiki dax kiki OUT: RED RED RED
IN: blicket zup OUT: YELLOW GREEN
IN: blicket OUT: YELLOW
IN: zup fep dax kiki OUT: GREEN RED PINK PINK
IN: blicket dax zup OUT: GREEN YELLOW YELLOW
IN: blicket dax blicket wif zup OUT: YELLOW YELLOW YELLOW GREEN
IN: fep zup gazzer zup gazzer kiki wif kiki OUT: PINK GREEN GREEN GREEN RED RED RED
IN: zup wif fep OUT: GREEN PINK

*GRAMMAR*
zup -> GREEN 
 blicket -> YELLOW 
 fep -> PINK 
 kiki -> RED 
 x1 wif u1 -> [x1] [u1] 
 x1 gazzer x2 -> [x1] [x2] [x2] 
 u1 dax u2 -> [u2] [u1] [u1] 
 u1 x1 -> [u1] [x1] 
 