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

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

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