#!/usr/local/bin/perl
unshift(@INC,"/usr/games/bin/empperl/");
require "empversion";
@prod=();
while(<>)
 {
 chop;
 next if (/^prod /o);
 next if (/^PRODUCTION SIMULATION$/o);
 next if (/^[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9]* [0-9]*:[0-9]*:[0-9]* [0-9][0-9][0-9][0-9]$/o);
 next if (/^ *[0-9]* *sectors$/o);
 if (/^ *sect *des *eff *wkfc/o)
  {
  $header=$_;
  next;
  }
 unshift(@prod,$_);
 }
 
@prod = sort bytype @prod;

$im=0;
$iu=0;
$dm=0;
$du=0;
$hm=0;
$hu=0;
$lm=0;
$lu=0;
$fm=0;
$fu=0;
$rm=0;
$ru=0;
$om=0;
$ou=0;
$pm=0;
$bm=0;
$sm=0;
$gm=0;
$mm=0;
$edum=0; $techm=0; $hapm=0; $medm=0;$moneyu=0;

foreach (@prod)
 {
 split;
 $moneyu += substr($_[8],1);
 if ($_[2] eq "m")
  {
  $im += $_[5];
  }
 elsif ($_[2] eq "g")
  {
  $dm += $_[5];
  }
 elsif ($_[2] eq "u")
  {
  $rm += $_[5];
  }
 elsif ($_[2] eq "o")
  {
  $om += $_[5];
  }
 elsif ($_[2] eq "a")
  {
  $fm += $_[5];
  }
 elsif ($_[2] eq "e")
  {
  $mm += $_[5];
  }
 elsif ($_[2] eq "b")
  {
  $bm += $_[5];
  chop $_[9];
  $du += $_[9];
  }
 elsif ($_[2] eq "k")
  {
  $hm += $_[5];
  chop $_[9];
  $iu += $_[9];
  }
 elsif ($_[2] eq "j")
  {
  $lm += $_[5];
  chop $_[9];
  $iu += $_[9];
  }
 elsif ($_[2] eq "%")
  {
  $pm += $_[5];
  chop $_[9];
  $ou += $_[9];
  }
 elsif ($_[2] eq "d")
  {
  $gm += $_[5];
  chop $_[9];
  chop $_[10];
  chop $_[11];
  $ou += $_[9];
  $lu += $_[10];
  $hu += $_[11];
  }
 elsif ($_[2] eq "i")
  {
  $sm += $_[5];
  chop $_[9];
  chop $_[10];
  $lu += $_[9];
  $hu += $_[10];
  }
 elsif ($_[2] eq "t")
  {
  s/ ([0-9.][0-9.][0-9.][0-9.])[0-9.]/ \1/g;
  $techm += $_[5];
  chop $_[9];
  chop $_[10];
  chop $_[11];
  $du += $_[9];
  $ou += $_[10];
  $lu += $_[11];
  }
 elsif ($_[2] eq "r")
  {
  $medm += $_[5];
  chop $_[9];
  chop $_[10];
  chop $_[11];
  $du += $_[9];
  $ou += $_[10];
  $lu += $_[11];
  }
 elsif ($_[2] eq "l")
  {
  $edum += $_[5];
  chop $_[9];
  $lu += $_[9];
  }
 elsif ($_[2] eq "p")
  {
  $hapm += $_[5];
  chop $_[9];
  $lu += $_[9];
  }
 else
  {
  die "Unrecognized sector type:" . $_[2] . "\n";
  }
 }

$id = $im - $iu;
$dd = $dm - $du;
$hd = $hm - $hu;
$ld = $lm - $lu;
$fd = $fm - $fu;
$rd = $rm - $ru;
$od = $om - $ou;
$techeff = $techm if $techm<$easy_tech;
$techeff = $easy_tech if $easy_tech<=$techm && $techm<$easy_tech+1;
$techeff = $easy_tech + log($techm-$easytech)/log($tech_log_base) if $easy_tech+1<=$techm;

#$pm=0;
#$bm=0;
#$sm=0;
#$gm=0;
#$mm=0;
#$edum=0; $techm=0; $hapm=0; $medm=0;$moneyu=0;

print "\nFood: + $fm - $fu = $fd\n" if ($fm!=0 || $fu!=0);
do dumptype("a");

print "\nMils: + $mm\n" if $mm!=0;
do dumptype("e");

print "\nDust: + $dm - $du = $dd\n" if $du!=0 || $dm!=0 ;
do dumptype("g");
print "\nBars: + $bm\n" if $bm!=0;
do dumptype("b");

print "\nOil: + $om - $ou = $od\n" if $om!=0 || $ou!=0;
do dumptype("o");
print "\nPet: + $pm\n" if $pm!=0;
do dumptype("%");

print "\nIron: + $im - $iu = $id\n" if $im!=0 || $iu!=0;
do dumptype("m");
print "\nLcms: + $lm - $lu = $ld\n" if $lm!=0 || $lu!=0;
do dumptype("j");
print "\nHcms: + $hm - $hu = $hd\n" if $hm!=0 || $hu!=0;
do dumptype("k");

print "\nGuns: + $gm\n" if $gm!=0;
do dumptype("d");
print "\nShells: + $sm \n" if $sm!=0;
do dumptype("i");

print "\nEdu: + $edum\n" if $edum!=0;
do dumptype("l");

print "\nHap: + $hapm\n" if $hapm!=0;
do dumptype("p");

print "\nTech: + $techm = $techeff\n" if $techm!=0;
do dumptype("t");
print "\nMed: + $medm\n" if $medm!=0;
do dumptype("r");

print "\nRad: + $rm - $ru = $rd\n" if $rm!=0 || $ru!=0;
do dumptype("u");

print "\nMoney: - \$$moneyu\n";

sub bytype
 {
 $c = substr($a,10,1) cmp substr($b,10,1);
 return $c unless $c == 0;
 return substr($b,22,5) <=> substr($a,22,5);
 }
 
sub dumptype
 {
 foreach (@prod)
  {
  print $_ . "\n" if (substr($_,10,1) eq $_[0]);
  }
 }
