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

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

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