#!/usr/bin/perl

while(<>) {
	if(/^(\d+) (\d+) (\d+) (\d+)/) {
	    $time = $1;

	    if($last_time{$2} != 0 &&
	       $time - $last_time{$2} > $max_timediff{$2}) {
		$max_timediff{$2} = $time - $last_time{$2};
		$max_timediff_time{$2} = $time;
	    }
	    $last_time{$2} = $time;
	    $seqno = $3;

	    if(! defined $first_seqno{$2}) {
		$first_seqno{$2} = $seqno;
	    }

	    if($seqno < $last_seqno{$2}) {
		$seqno_add{$2} += $last_seqno{$2} + 1;
	    }
	    if($last_seqno{$2} == $seqno) {
		$dup{$2}++;
	    }
	    $last_seqno{$2} = $seqno;
	    $hops{$2} += $4;
	    $num{$2}++;
	}
}


foreach $n (sort {$a <=> $b} keys %hops) {
    print "Node $n packets " . ($num{$n} - $dup{$n}) .
	" duplicates $dup{$n} dropped " .
	((1 + $last_seqno{$n} + $seqno_add{$n} - $first_seqno{$n}) - ($num{$n} - $dup{$n}));
    print " ratio ";
    printf "%.2f", ($num{$n} - $dup{$n}) / (1 + $last_seqno{$n} + $seqno_add{$n}  - $first_seqno{$n});
#    print " max timediff " . $max_timediff{$n}/20;
    print "\n";
}