#!/usr/ug/bin/perl5

my $linecount = 48;

my @lines;
my $head;
my @groups;

$groups[0][0] = "A";
$groups[0][1] = "B";
$groups[0][2] = "C";
$groups[0][3] = "D";
$groups[0][4] = "E";
$groups[0][5] = "F";
#$groups[1][2] = "G";
#$groups[1][3] = "H";
#$groups[1][4] = "I";
#$groups[1][5] = "J";
my $numgroups = 1;

my $lx;
my $ly; my $char;
my $line;

while (1) {
  last if eof(STDIN);
  $head = <STDIN>;
  last if eof(STDIN);
  my $ln;
  foreach $ln (1..$linecount) {
    $lines[$ln] = <STDIN>;
    last if eof(STDIN);
  }
  last if eof(STDIN);

  my $ok;
  $ok = 1;

  my $groupnum;
  my $item1; my $item2;
  my $ix1; my $ix2; my @group;

#print STDERR $head;

  foreach $groupnum (0..($numgroups-1)) {
#print STDERR $groupnum, "\n";
    @group = @{$groups[$groupnum]};    
    foreach $ix1 (0..($#group-1)) {
      foreach $ix2 (($ix1+1)..$#group) {
        $item1 = $group[$ix1];
        $item2 = $group[$ix2];
#print STDERR "Woo $item1$item2\n";

        # horizontal?
        foreach $ln (1..$linecount) {
          $line = $lines[$ln];
          $ok = 0 if $line =~ /$item1$item2/;
          last if ($ok == 0);
          $ok = 0 if $line =~ /$item2$item1/;
          last if ($ok == 0);
        }
#print STDERR "Passes horiz test\n";

        last if ($ok == 0);
        # vertical?
        foreach $ln (2..$linecount) {
          last if ($ok == 0);
          $lx = $lines[$ln-1];
          $ly = $lines[$ln];
          my $short = length($lx) < length($ly) ? length($lx) : length($ly);
          for $char (0..$short-1) {
            $ok = 0 if (substr($lx,$char,1) eq $item1 
                    and substr($ly,$char,1) eq $item2);
            $ok = 0 if (substr($lx,$char,1) eq $item2 
                    and substr($ly,$char,1) eq $item1);
            last if ($ok == 0);
          }
        }      
#print STDERR "Passes vert test\n";

        last if ($ok == 0);
      }
      last if ($ok == 0);
    }
    last if ($ok == 0);
  }


  if ($ok == 1) {
    print $head;
    print @lines;
  }
}

