#!/usr/bin/perl

$cmd = "./combo.pl " . join(" ", @ARGV) . " > temp1";

print STDERR $cmd, "\n";

system $cmd;

$cmd = 'grep -v \'[\\.ei].*=\' temp1 | sort -n > temp2'; 

print STDERR $cmd, "\n";

system $cmd;

open FHAND, "<temp2";

while ($line = <FHAND>) {
  $line =~ /(.*)( \= .*)/;
  $num = $1;
  $expr = $2;
  $count{$num}++;
  $values{$num} .= $expr; 
  $values{$num} .= "\n"; 
}

close FHAND;

sub bycount {
  my $ans = 0;
  return -1 if $a eq "nan";
  return 1 if $b eq "nan";
  if ($count{$b} == $count{$a}) {
    $ans = ($a <=> $b);
  } else {
    $ans = ($count{$b} <=> $count{$a});
  }
  if ($ans * 1 ne $ans) {
    print "ERROR ANS:$ans A:$a B:$b\n";
  }
  return $ans;
}

$rootlevel = shift @ARGV;

$fname = "out" . $rootlevel . "_" . (join "", @ARGV) . ".txt";

open FHAND, ">$fname";

for (sort bycount keys %count) {

  print FHAND "$_ (", $count{$_}, " ways)\n", $values{$_};

}
