#!/usr/bin/perl

@p1;
@p2;

open FILE, "<p1.sorted";
foreach (<FILE>) {
  chomp;
  push @p1, $_;
}
close FILE;
open FILE, "<p2.sorted";
foreach (<FILE>) {
  chomp;
  push @p2, $_;
}
close FILE;

$num = scalar @p1;

open F1, ">disjoint.txt";
open F2, ">disjoint.only.txt";
foreach $s1 (@p1) {
  foreach $s2 (@p2) {
    $fail = 0;
    @crap = split('',$s1.$s2);
    %seen = ();
    foreach (@crap) {
      $fail = 1 if (defined $seen{$_});
      $seen{$_} = 1;
      last if ($fail == 1);
    }
    next if ($fail == 1);
    foreach ('A'..'Z') {
      print F1 $_ unless (defined $seen{$_});
      print F2 $_ unless (defined $seen{$_});
    }
    print F1 " $s1 $s2\n";
    print F2 "\n";
  }
  $num--;
  print STDERR "$num left...\n";
}
