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

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

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