use List::Util qw/uniq/;

@data = map { chop $_; @row= split / /, $_;
        [ join('_', splice(@row,0,4)), @row ] } <>;

do {
 my ($k,@r) = @{shift @data};

   if ($kref eq $k) {
    push @rref, @r;
    push @rr, \@r;
   }
   else {
    if ($kref) {
      print "$kref :\t", join(' ', uniq(@rref)), "\n";
      print "\t\t@$_\n" for @rr;
      undef @rr;
    }
    ($kref,@rref) = ($k, @r);
   }
}
while (@data);