# Background
Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
# Challenge
Write a program that translates a mathematical expression using English with the following specifications:
- The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- If the target character(s) is a/are number(s):
- The number range can only be from `-999` up to `999`.
- When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- If the target character is a letter:
- The input should only take 1 letter.
- When put on the result, the letter must be capitalized.
- If the target character is a symbol:
- `+` is `plus`.
- `-` is `minus`.
- `*` is `times`.
- `/` is `divided by`.
- `=` is `equals` or `is equal to`.
- Parentheses shouldn't be inputted.
- Whitespaces are ignored.
- Any character that's not part of the specification is ignored.
- Trailing whitespaces and newlines are allowed.
- This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
# Test Cases
```none
// Input
# Output
14
fourteen
1+2
one plus two
53 /3
fifty-three divided by three
6 +2* 7 =20
six plus two times seven equals twenty
8*8*8 * 8 * 8 -1
eight times eight times eight times eight times eight minus one
= 4
is equal to four
x + y = z
X plus Y equals Z
-5 +- 6
negative five plus negative six
Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
500
five hundred
129
one hundred and twenty-nine
0+0=0
zero plus zero equals zero
0 -- 0 = 0
zero minus negative zero equals zero
```