- define variables, `ugly` initialisation -

The compiler treats constants as int by default. If you're using larger types, you will need to designate your constants appropriately. For long, use an 'L' suffix, i.e. 1000L, not 1000. Unsigned long is 'UL'.