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

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

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