Ambush kills more than 40 Algerian soldiers