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

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

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