RandomInt::RandomInt(int ia, int ib) : a(ia), b(ib) {}
int RandomInt::operator()()
{ return a + rand() % (b - a + 1); }
int RandomInt::operator()(int nb)
{ return a + rand() % (nb - a + 1); }
int RandomInt::operator()(int na, int nb)
{ return na + rand() % (nb - na + 1); }