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

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

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