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

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

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