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

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

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