#include <iostream>
#include <cstdlib>
#include <cerrno>
using std::cout;
using std::endl;

int main() 
{
    {
	    errno = 0;
	    unsigned long long ullval = std::strtoull("-18446744073709551615", nullptr, 10);
	    cout << "errno:  " << errno   << endl;
	    cout << "ullval: " << ullval  << endl;
	
	    cout << -18446744073709551615ULL << endl;
    }
    cout << endl;
    {
	    errno = 0;
	    unsigned long long ullval = std::strtoull("-18446744073709551616", nullptr, 10);
	    cout << "errno:  " << errno   << endl;
	    cout << "ullval: " << ullval  << endl;
    }
    cout << endl;
    {
	    errno = 0;
	    long long llval = std::strtoll("-9223372036854775808", nullptr, 10);
	    cout << "errno: " << errno  << endl;
	    cout << "llval: " << llval  << endl;
    }
}