#!/vol/gnu/bin/perl5.6 -w
#!/usr/local/bin/perl -w
#!/usr/bin/perl -w

use strict;

my $n='[0-9e\.\+\-]+'; # a number
my $s='[ \t]'; # a separator

my $x = 0.0;
my $f = 0.0;

my @x;
my @f;
my @fsym;

my $l = 0;
$x[1] = -1e10;
my $eps = 1e-12;

 LINE: while (<STDIN>) {
   SWITCH: {
       /^\#/ && do {
	   next LINE;
       };
       /^$/ && do {
	   next LINE;
       };
       /^($s*)($n)($s+)($n)/ && do {
	   $x = $2;
	   $f = $4;
	   if (abs($x) < $eps) { $x = 0.0; }
	   if ($l == 0) { $l = 1; }
	   else { if (abs($x[$l]-$x) > $eps) { $l++; } }
	   $x[$l] = $x;
	   $f[$l] = $f;
	   next LINE;
       };
       next LINE;
   };
 };

my $z = 0;
if (abs($l % 2) == 1) { $z = ($l+1)/2; }
if (abs($l % 2) == 0) { $z =  $l   /2; }

for (my $i=1; $i<=$z; $i++) {
    if (abs($x[$i] + $x[$l-$i+1]) > 1e-10) {
	die "Sorry, interval [", $x[1], ", ", $x[$l], "] seems not to be symmetric:\n",
	"i=", $i, " ", " ", $x[$i], " != ", $x[$l-$i+1], "\n";
    }
}

for (my $i=1; $i<=$z; $i++) {
    $fsym[$i] = $fsym[$l-$i+1] = $f[$i] + $f[$l-$i+1];
}

print "# Found $l values in [", $x[1], ", ", $x[$l], "].\n";

for (my $i=1; $i<=$l; $i++) {
    printf("%18.12f\t%18.12f\n", $x[$i], $fsym[$i]);
}