void kaprekarNumbers(long long p, long long q) {
static int counter =0;
for(long long i=p; i<=q; i++)
{
std::string i_str = to_string(i);
int d = i_str.length();
long long sq = i*i;
std::string sq_str = to_string(sq);
std::string l = sq_str.substr(0,sq_str.length()-d);
std::string r = sq_str.substr(sq_str.length()-d, d);
int left = atoll(l.c_str());
int right = atoll(r.c_str());
if ( (left + right) == i)
{ std::cout << i <<" ";
counter++;
}
}
if(counter == 0)
std::cout << "INVALID RANGE" <<std::endl;
else
std::cout << std::endl;
}