prints 'B' if thing1 <= 10 evaluates to be true.
if thing1 > 200 is true.
if thing1 > 200. the first 'if-statement' is executed, thus the 'else if' statement is not. as the 'else' fails.
if not(thing1 > 10 and thing1 < 10) is true
(thing1 > 10 and thing1 <10) is never true
so the 'not' of something which is never true, is always true.
so it always prints 'B.'