*SUPPORT*
IN: dax kiki blicket OUT: RED YELLOW
IN: dax OUT: RED
IN: blicket OUT: YELLOW
IN: blicket wif OUT: YELLOW BLUE
IN: blicket kiki wif zup blicket OUT: YELLOW BLUE YELLOW BLUE YELLOW
IN: wif kiki wif OUT: BLUE BLUE
IN: blicket kiki dax lug dax OUT: YELLOW RED RED YELLOW RED YELLOW RED
IN: wif lug blicket OUT: BLUE YELLOW BLUE BLUE
IN: dax dax lug wif OUT: RED RED BLUE RED RED RED RED
IN: tufa blicket OUT: GREEN YELLOW
IN: dax kiki blicket zup dax OUT: RED YELLOW RED YELLOW RED
IN: wif wif zup dax OUT: BLUE BLUE BLUE BLUE RED
IN: blicket dax kiki tufa OUT: YELLOW RED GREEN
IN: wif lug tufa zup blicket OUT: BLUE GREEN GREEN YELLOW BLUE BLUE

*QUERY*
IN: tufa kiki blicket OUT: GREEN YELLOW
IN: wif lug tufa dax kiki blicket OUT: BLUE GREEN RED YELLOW BLUE BLUE
IN: tufa kiki blicket zup blicket OUT: GREEN YELLOW GREEN YELLOW YELLOW
IN: tufa kiki tufa OUT: GREEN GREEN
IN: blicket kiki dax OUT: YELLOW RED
IN: tufa wif zup wif OUT: GREEN BLUE GREEN BLUE BLUE
IN: dax kiki tufa OUT: RED GREEN
IN: blicket kiki blicket OUT: YELLOW YELLOW
IN: wif kiki dax lug dax kiki dax OUT: BLUE RED RED RED BLUE RED BLUE RED
IN: tufa lug wif kiki dax OUT: GREEN BLUE RED GREEN GREEN

*GRAMMAR*
blicket -> YELLOW 
 tufa -> GREEN 
 dax -> RED 
 wif -> BLUE 
 x1 lug x2 -> [x1] [x2] [x1] [x1] 
 u1 kiki u2 -> [u1] [u2] 
 x1 zup u1 -> [x1] [x1] [u1] 
 u1 x1 -> [u1] [x1] 
 