algorithm S