Serial.print a duration

All variables related to millis() should be unsigned long.

I think you want to print the value of millis() - temp

I also think it would make the code much more obvious if the variable temp was renamed startTimeMillis or something similar.

...R