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

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

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