coding decoding reasoning tricks