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

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

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