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

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

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