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

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

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