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

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

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