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

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

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