*SUPPORT*
IN: fep zup dax wif dax fep dax wif OUT: BLUE YELLOW BLUE YELLOW PINK
IN: zup blicket OUT: PINK GREEN
IN: wif dax fep OUT: YELLOW BLUE
IN: blicket fep dax wif dax wif OUT: BLUE BLUE GREEN YELLOW
IN: zup OUT: PINK
IN: zup wif kiki dax fep OUT: YELLOW PINK BLUE PINK BLUE
IN: wif zup wif blicket dax blicket lug wif OUT: GREEN BLUE PINK BLUE GREEN BLUE
IN: fep dax blicket lug wif OUT: GREEN YELLOW BLUE
IN: wif fep kiki OUT: BLUE YELLOW BLUE YELLOW
IN: fep lug fep kiki OUT: YELLOW YELLOW YELLOW YELLOW
IN: blicket OUT: GREEN
IN: wif lug wif zup dax wif dax wif OUT: BLUE BLUE BLUE BLUE PINK
IN: wif blicket dax blicket kiki OUT: GREEN BLUE GREEN GREEN BLUE GREEN
IN: fep OUT: YELLOW

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

*GRAMMAR*
wif -> BLUE 
 zup -> PINK 
 blicket -> GREEN 
 fep -> YELLOW 
 x1 kiki -> [x1] [x1] 
 x1 lug x2 -> [x1] [x2] 
 x1 dax u1 -> [u1] [x1] 
 u1 x1 -> [u1] [x1] 
 