*SUPPORT*
IN: zup OUT: RED
IN: lug gazzer gazzer OUT: YELLOW YELLOW YELLOW YELLOW
IN: wif zup OUT: PINK RED
IN: wif kiki zup OUT: RED RED PINK RED PINK PINK
IN: dax gazzer tufa wif kiki dax OUT: PURPLE PURPLE PURPLE PURPLE PINK PURPLE PINK PINK
IN: lug gazzer OUT: YELLOW YELLOW
IN: lug OUT: YELLOW
IN: dax lug lug gazzer OUT: PURPLE YELLOW YELLOW PURPLE YELLOW YELLOW
IN: wif wif OUT: PINK PINK
IN: wif OUT: PINK
IN: zup kiki lug OUT: YELLOW YELLOW RED YELLOW RED RED
IN: dax zup gazzer gazzer OUT: PURPLE RED PURPLE RED PURPLE RED PURPLE RED
IN: lug tufa lug gazzer OUT: YELLOW YELLOW YELLOW
IN: dax lug gazzer OUT: PURPLE YELLOW PURPLE YELLOW

*QUERY*
IN: zup gazzer OUT: RED RED
IN: wif gazzer OUT: PINK PINK
IN: lug lug OUT: YELLOW YELLOW
IN: lug dax tufa wif lug tufa lug OUT: YELLOW PURPLE PINK YELLOW YELLOW
IN: zup wif gazzer gazzer OUT: RED PINK RED PINK RED PINK RED PINK
IN: zup gazzer gazzer OUT: RED RED RED RED
IN: dax kiki lug OUT: YELLOW YELLOW PURPLE YELLOW PURPLE PURPLE
IN: dax dax dax OUT: PURPLE PURPLE PURPLE
IN: dax OUT: PURPLE
IN: dax tufa zup OUT: PURPLE RED

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