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

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

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