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

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

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