title: Multiplying within #define gives strange values
body: <p>I write a code for Arduino Nano and I experience this weird behaviour:</p>
  <pre class="lang-cpp prettyprint-override"><code>#define     GREAT      (60 * 60000)
  #define     STRANGE     (60 * 6000)
  #define     ZERO_X      (60 * 1000)
  
  void setup() {
      Serial.begin(115200);
      Serial.println(GREAT);      // Prints 3600000, that's correct
      Serial.println(STRANGE);    // Prints 32320, thats wrong
      long zerox = ZERO_X;
      Serial.println(zerox);      // Prints -5536, thats also wrong, obviously
  }
  
  void loop() {}
  </code></pre>
  <p>What is going on?</p>
  <p>I use MSVS2019 Comunity with vMicro</p>