*SUPPORT*
IN: wif wif lug lug OUT: PINK PINK BLUE BLUE
IN: lug blicket zup OUT: YELLOW BLUE
IN: zup tufa wif zup wif OUT: YELLOW YELLOW PINK YELLOW PINK YELLOW YELLOW
IN: zup OUT: YELLOW
IN: zup wif OUT: YELLOW PINK
IN: lug tufa dax OUT: BLUE BLUE RED BLUE BLUE
IN: dax OUT: RED
IN: lug wif lug OUT: BLUE PINK BLUE
IN: lug blicket lug blicket lug OUT: BLUE BLUE BLUE
IN: dax blicket dax tufa zup dax dax OUT: RED RED YELLOW RED RED RED RED RED
IN: lug tufa lug zup OUT: BLUE BLUE BLUE YELLOW BLUE BLUE
IN: wif wif tufa dax OUT: PINK PINK PINK RED PINK PINK
IN: dax zup wif blicket dax OUT: RED YELLOW RED PINK
IN: dax blicket lug OUT: BLUE RED

*QUERY*
IN: lug blicket dax OUT: RED BLUE
IN: wif zup OUT: PINK YELLOW
IN: dax dax gazzer zup OUT: RED RED YELLOW YELLOW
IN: lug blicket dax wif blicket zup gazzer wif OUT: RED YELLOW PINK PINK PINK BLUE
IN: zup blicket wif zup OUT: PINK YELLOW YELLOW
IN: wif blicket zup OUT: YELLOW PINK
IN: lug blicket lug tufa lug OUT: BLUE BLUE BLUE BLUE BLUE BLUE
IN: wif tufa lug OUT: PINK PINK BLUE PINK PINK
IN: wif OUT: PINK
IN: lug OUT: BLUE

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