S = `1^3 + 2^3 + 3^3 + .... + n^3`
`=>` S = `(1 + 2 + 3 + .... + n)^2`
`=>` r = S mod 2017 = `((1 + 2 + 3 + ... + n) mod 2017)^2 mod 2017`
`=>` r = `((n.(n+1))/2 mod 2017)^2 mod 2017`
code:
uses crt;
var n:qword;
begin
clrscr;
readln(n);
n:=n*(n+1) div 2;
n:=n mod 2017;
writeln(n*n mod 2017);
readln;
end.