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

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

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