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

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

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