a secret santa library that supports contraints (i.e. participants which must not be assigned other ones, or themselves)