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

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

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