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

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

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