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

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

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