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

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

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