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

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

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