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

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

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