At least 46 dead in Iraq blasts