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

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

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