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

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

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