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

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

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