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

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

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