unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
Maximum value of long long: 9223372036854775807
Minimum value of long long: -9223372036854775808
Maximum value of unsigned long long: 18446744073709551615