El Shaarawy out for three weeks