Вам мешало переполнение s. Для него хорошо подойдёт тип longword - и беззнаковый, и целый, и 32-битный.
Для 1000 элементов s=500499 - в word (16-бит) никак не влезает, в longint влезет.