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

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

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