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

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

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