#!/usr/bin/env perl
use strict; use warnings;
 
my (%recs, @heads); 
while (<>) {
    my ($head, $tail) = split /\s+/;
    push @heads, $head unless $recs{$head};
    push @{$recs{$head}}, $tail;
}
 
for my $head (@heads) {
    my $vals = $recs{$head};
    for my $i (0 .. $#$vals-1) {
		for my $j ($i+1 .. $#$vals) {
	    	print $head,"\t",$vals->[$i],"\t",$vals->[$j],"\n"
		}
    }
}