Steelers defeat Bengals 18-16