The line
Int16 answer = firstNo + secondNo;
is interpreted as
Int16 answer = (Int32) (firstNo + secondNo);
Simply because there is no such thing as Int16 arithmetic.
The simple solution: Do not use Int16. Use Int32 or simply int.
int is your default integer type. short and long are only used in special cases.