*SUPPORT*
IN: gazzer blicket dax OUT: BLUE RED PURPLE
IN: gazzer gazzer blicket dax tufa lug OUT: BLUE BLUE RED PURPLE GREEN
IN: lug OUT: GREEN
IN: lug zup tufa blicket OUT: GREEN GREEN RED
IN: dax zup wif blicket OUT: PURPLE PURPLE RED
IN: lug gazzer zup wif gazzer OUT: GREEN BLUE BLUE BLUE
IN: dax zup tufa lug OUT: PURPLE PURPLE GREEN
IN: gazzer zup wif lug OUT: BLUE BLUE GREEN
IN: blicket zup OUT: RED RED
IN: dax zup OUT: PURPLE PURPLE
IN: dax OUT: PURPLE
IN: gazzer zup OUT: BLUE BLUE
IN: dax tufa dax tufa lug zup OUT: PURPLE PURPLE GREEN GREEN
IN: blicket wif gazzer tufa dax dax zup OUT: RED BLUE PURPLE PURPLE PURPLE

*QUERY*
IN: lug zup tufa dax tufa blicket zup OUT: GREEN GREEN PURPLE RED RED
IN: dax wif dax tufa blicket zup OUT: PURPLE PURPLE RED RED
IN: gazzer gazzer gazzer OUT: BLUE BLUE BLUE
IN: lug tufa gazzer zup tufa blicket zup OUT: GREEN BLUE BLUE RED RED
IN: dax wif blicket OUT: PURPLE RED
IN: blicket OUT: RED
IN: gazzer zup wif gazzer OUT: BLUE BLUE BLUE
IN: blicket gazzer zup wif gazzer OUT: RED BLUE BLUE BLUE
IN: gazzer OUT: BLUE
IN: dax zup wif lug OUT: PURPLE PURPLE GREEN

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