#!/usr/bin/perl

open F, "r/alt12dicts/2of12id.txt" or die;

while (<F>) {
  s/\r?\n$// or die;
  # (uncommon flag, base word, part of speach, inflected forms)
  ($d,$w,$p,$a) = /^([-@\+]?)(\w+) (.).*: ?(.*?)$/ or die;
  $d =~ tr/+//d;
  next if $d; #
  @a0 = split /  /, $a;
  splice @a0, -1, 0, "'" if $p eq 'V' && @a0 >= 3; # insert placeholder
  @a = ();
  foreach (@a0) {
    s/ {.+?}//g; s/ \(.+?\)//g; 
    s/ \| / /g; s/ \/ / /g;
    push @a, (split / /, $_);
  }
  @a = grep {!/^[@~!-]/} @a;  # remove questionable entries
  # @a now conatins a list of valid inflected forms
  @a0 = grep {$_ ne "'"} @a;
  # @a0 is now the same as @a except for the placeholder entries
  next unless @a0;
  $words = join("\n",$w, @a0)."\n";
  if ($p eq 'V' && @a >= 4) {
    while ($a[0] ne "'") {local $_ = shift @a; $lookup{$_} .= $words}
    shift @a;
  }
  push @a, "$w\'s" if $p eq 'N';
  $words = join("\n",$w, @a)."\n";
  foreach (@a) {$lookup{$_} .= $words}
}

open F, "working/possessive-also.lst";

while (<F>) {
  chop;
  $lookup{"$_\'s"} .= "$_\n";
}

while (<STDIN>) {
  print;
  chop;
  print $lookup{$_};
}
