#!/usr/bin/perl

sub trans {
  return "ZERO" if ($_[0] == 0);
  return "ONE" if ($_[0] == 1);
  return "TWO" if ($_[0] == 2);
  return "THREE" if ($_[0] == 3);
  return "FOUR" if ($_[0] == 4);
  return "FIVE" if ($_[0] == 5);
  return "SIX" if ($_[0] == 6);
  return "SEVEN" if ($_[0] == 7);
  return "EIGHT" if ($_[0] == 8);
  return "NINE" if ($_[0] == 9);
  return "TEN" if ($_[0] == 10);
  return "ELEVEN" if ($_[0] == 11);
  return "TWELVE" if ($_[0] == 12);
  return "THIRTEEN" if ($_[0] == 13);
  return "FOURTEEN" if ($_[0] == 14);
  return "FIFTEEN" if ($_[0] == 15);
  return "SIXTEEN" if ($_[0] == 16);
  return "SEVENTEEN" if ($_[0] == 17);
  return "EIGHTEEN" if ($_[0] == 18);
  return "NINETEEN" if ($_[0] == 19);
  return "TWENTY" if ($_[0] == 20);
  return "THIRTY" if ($_[0] == 30);
  return "FORTY" if ($_[0] == 40);
  return "FIFTY" if ($_[0] == 50);
  return "SIXTY" if ($_[0] == 60);
  return "SEVENTY" if ($_[0] == 70);
  return "EIGHTY" if ($_[0] == 80);
  return "NINETY" if ($_[0] == 90);
  return "HUNDRED" if ($_[0] == 100);
  return (trans($_[0]-($_[0] % 10)).trans($_[0] % 10)) if ($_[0] < 100);
}

for $sum (23..200) {
  for $a (0..int($sum/2)) {
    for $b (($a+1)..int($sum/2)) {
print STDERR "$sum $a $b\n";
    $blah = join('',sort(split('',trans($a)),split('',trans($sum-$a))));
    $blbh = join('',sort(split('',trans($b)),split('',trans($sum-$b))));
    if ($blah eq $blbh) {
      print STDERR "Skipping $blah = $blbh\n";
      next;
    }
    unlink "temp";
    open FHAND, ">temp";
    print FHAND trans($a);
    print FHAND " ";
    print FHAND trans($sum - $a);
    print FHAND "\n";
    print FHAND trans($b);
    print FHAND " ";
    print FHAND trans($sum - $b);
    print FHAND "\n";
    close FHAND;
    @foo = `./cryptsum.pl < temp`;
    if (scalar(@foo) != 0) {
      print join(" ",scalar(@foo),trans($a),"+",trans($sum-$a),"=",
                                  trans($b),"+",trans($sum-$b));
      print "\n";
      print STDERR join(" ",scalar(@foo),trans($a),"+",trans($sum-$a),"=",
                                  trans($b),"+",trans($sum-$b));
      print STDERR "\n";
    }
  }}
}
