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

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

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