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

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

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