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

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

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