*SUPPORT*
IN: wif tufa zup gazzer zup OUT: BLUE RED BLUE RED
IN: zup zup blicket kiki wif OUT: PURPLE BLUE RED RED RED RED
IN: dax tufa zup blicket zup OUT: RED PINK RED PINK PINK RED PINK
IN: dax tufa kiki gazzer zup OUT: PINK PURPLE PINK RED
IN: dax OUT: PINK
IN: zup tufa wif OUT: RED BLUE RED
IN: wif tufa wif OUT: BLUE BLUE BLUE
IN: kiki tufa wif OUT: PURPLE BLUE PURPLE
IN: kiki gazzer wif blicket wif tufa wif OUT: BLUE BLUE BLUE PURPLE BLUE PURPLE BLUE
IN: wif tufa zup OUT: BLUE RED BLUE
IN: kiki gazzer wif OUT: PURPLE BLUE
IN: kiki tufa kiki OUT: PURPLE PURPLE PURPLE
IN: kiki tufa dax gazzer dax OUT: PURPLE PINK PURPLE PINK
IN: wif gazzer kiki OUT: BLUE PURPLE

*QUERY*
IN: kiki dax blicket dax tufa dax gazzer wif OUT: PINK PINK PINK BLUE PURPLE PINK PURPLE PINK
IN: zup OUT: RED
IN: wif OUT: BLUE
IN: kiki OUT: PURPLE
IN: dax tufa wif OUT: PINK BLUE PINK
IN: dax kiki tufa zup OUT: PINK PURPLE RED PURPLE
IN: kiki dax tufa wif OUT: PURPLE PINK BLUE PINK
IN: wif dax zup dax gazzer dax OUT: BLUE PINK RED PINK PINK
IN: zup blicket kiki tufa kiki OUT: PURPLE PURPLE PURPLE RED RED
IN: wif tufa kiki gazzer kiki OUT: BLUE PURPLE BLUE PURPLE

*GRAMMAR*
zup -> RED 
 wif -> BLUE 
 kiki -> PURPLE 
 dax -> PINK 
 u1 tufa u2 -> [u1] [u2] [u1] 
 x1 blicket x2 -> [x2] [x1] [x1] 
 x1 gazzer u1 -> [x1] [u1] 
 u1 x1 -> [u1] [x1] 
 