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

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

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