my $terminal = 1;
my $maxpain = ?;
my $minaccept = 100;
my $can_ignore = 100;
my $endoftime= 1000000000000000000000000000;
my $time;
my $sometime = $time + 30;
my $moretime = $sometime+ 30;
my $accept_last = "0";
my $i;
if ($terminal) {
my $pain;
my $hope;
for ($i=0; $i < $endoftime; $i++) {
my $solutions_to_try = &SearchForOptions;
if ($solutions_to_try) {$hope++;}
$pain = "1";
$time++;
if ($time > $sometime) {$pain = "2";}
$can_ignore--;
$hope--;
$accept_last++;
if ($time > $moretime) {$pain = "3"; undef $solutions_to_try;}
if (! $solutions_to_try &&
$pain > $maxpain &&
$can_ignore < 0 &&
$accept_last > $minaccept) {last;}
}
}