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

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

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