! and |