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

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

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