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

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

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