#!/usr/bin/perl -w

use strict;

my ($line, $time, $int, $firsttime, $freq, $i, $j);
my @vals;
my @table;

my $totalint = 0;
my $first = 1;
foreach my $file (@ARGV) {

  open(SPEC, $file) || die "Failed to open $file: $!\n";

  $line = <SPEC>;
  
  die "Empty file ($_)!\n" if (!defined $line);
  
  ($time, $int) = split ' ', $line;
  $firsttime = $time if ($first);
  $totalint += $int;


  $i = 0;
  while (<SPEC>) {
    @vals = split;

    # Scale values by integration 
    foreach (@vals[1..$#vals]) {
      $_ *= $int;
    }

    if ($first) {
      push @table, [@vals];
    } else {
      die "Mismatch line $i in $file\n" if ($table[$i]->[0] ne $vals[0]);
      die "Mismatch line $i in $file\n" if (scalar(@vals) != scalar(@{$table[$i]}));

      for ($j=1; $j<scalar(@vals); $j++) {
	$table[$i]->[$j] += $vals[$j];
      }
    }
    $i++;
  }
  close(SPEC);
  $first = 0;
}

# Re-normalise values

print "$time $totalint\n";

foreach (@table) {
  foreach (@$_[1..$#{$_}]) {
    $_ /= $totalint;
  }
  print join(' ', @$_), "\n";
}
