This is the heart of the simulation code.

mRange = ((double) nMen)/(nMen+nWomen);
showStatus("Simulation: 0% complete.");
for (int i = 0; i < nVisits; i++) {
   if (Math.random() <= mRange) {     // Male
      scheme1.work += 2;
      if (!scheme2.seatUp) {
	  scheme2.seatUp = true;
	  scheme2.work++;
      }
   } else {                           // Female
      if (scheme2.seatUp) {
	  scheme2.seatUp = false;
	  scheme2.work++;
      }
   }
   if (i % 1000 == 0)
      showStatus("Simulation: " + 100*i/nVisits +"% complete.");
}