aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Westerberg <drclaw@mac.com>2019-04-28 23:07:51 +1000
committerRuben Westerberg <drclaw@mac.com>2019-04-28 23:07:51 +1000
commitb504c8012a2856b8229bd7ee3399ff905fc7e5e8 (patch)
tree72ce17b491014522b7431624cf846735da511a06
parent1000c6c958f646bd6d3842aa310aa90c56ee2dc4 (diff)
downloadperlweeklychallenge-club-b504c8012a2856b8229bd7ee3399ff905fc7e5e8.tar.gz
perlweeklychallenge-club-b504c8012a2856b8229bd7ee3399ff905fc7e5e8.tar.bz2
perlweeklychallenge-club-b504c8012a2856b8229bd7ee3399ff905fc7e5e8.zip
Added perl5 solutions for W5 ch1 and ch2
Simplifed usage of existing solutions
-rw-r--r--challenge-005/ruben-westerberg/README9
-rw-r--r--challenge-005/ruben-westerberg/perl5/.ch-2.pl.swpbin0 -> 12288 bytes
-rwxr-xr-xchallenge-005/ruben-westerberg/perl5/ch-1.pl55
-rwxr-xr-xchallenge-005/ruben-westerberg/perl5/ch-2.pl24
-rw-r--r--challenge-005/ruben-westerberg/perl5/p5.txt135
-rw-r--r--challenge-005/ruben-westerberg/perl5/p6.txt720
-rw-r--r--challenge-005/ruben-westerberg/perl6/.ch-1.p6.swpbin0 -> 12288 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.ch-2.p6.swpbin0 -> 12288 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/.lock0
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BAbin0 -> 10435 bytes
-rw-r--r--challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id1
-rw-r--r--challenge-005/ruben-westerberg/perl6/anagram.pm61
-rwxr-xr-xchallenge-005/ruben-westerberg/perl6/ch-1.p69
-rwxr-xr-xchallenge-005/ruben-westerberg/perl6/ch-2.p65
-rw-r--r--challenge-005/ruben-westerberg/perl6/short.txt3
-rw-r--r--challenge-005/ruben-westerberg/words_alpha.txt740198
16 files changed, 371049 insertions, 370111 deletions
diff --git a/challenge-005/ruben-westerberg/README b/challenge-005/ruben-westerberg/README
index 562c87853c..52df0a72a3 100644
--- a/challenge-005/ruben-westerberg/README
+++ b/challenge-005/ruben-westerberg/README
@@ -1,9 +1,10 @@
Solution by Ruben Westerberg
+These solutions use the words list/dictionary sourced from https://github.com/dwyl/english-words.
+End of line was changed from dos to unix for the purpose of these programs
+
#Challenge 1: Write a program which prints out all anagrams for a given word.
+Usage: give a single command line argument which is the word/sequence to find anagrams for
#Challenge 2: Write a program to find the sequence of characters that has the most anagrams
-
-All solutions use an optional command line argument to specify a dictionary (one word per line) to check against.
-
-By default the words list/dictionary used is words_aplha.txt, which was sourced from https://github.com/dwyl/english-words
+Run without commandline arguments.
diff --git a/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp b/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp
new file mode 100644
index 0000000000..d11770bb3d
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl5/.ch-2.pl.swp
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl5/ch-1.pl b/challenge-005/ruben-westerberg/perl5/ch-1.pl
new file mode 100755
index 0000000000..12cd8f88e6
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl5/ch-1.pl
@@ -0,0 +1,55 @@
+#!/usr/bin/env perl
+#
+use warnings;
+use strict;
+use FindBin;
+my $wordsFile= $FindBin::Bin."/../words_alpha.txt";
+open my $wfh, "<" , $wordsFile;
+my @words;
+while (<$wfh>) {
+ chomp;
+ push @words, $_;
+}
+close $wfh;
+
+sub findAnagrams {
+ my $word=shift;
+ my $ref=shift;
+ my @words=@$ref;;
+ my @a=sort(split('', lc $word));
+
+ my @anagrams;
+ my $test;
+ while (1){
+ $test=join '',@a;
+ #print "$test\n";
+ my @res=grep {$_ eq $test} @words;
+
+ push @anagrams, @res;
+ my $k=0;
+ my $l=0;
+ my $maxK=-1;
+ my $maxL=-1;
+ while ($k < $#a) {
+ $maxK= $k if (($a[$k] lt $a[$k+1]) && ($k > $maxK));
+ $k++;
+ }
+ last unless $maxK >= 0;
+ $maxL=$maxK+1;
+ while ($l <= $#a) {
+ $maxL= $l if (($a[$maxK] lt $a[$l]) && ($l > $maxL));
+ $l++;
+ }
+ my $tmp=$a[$maxK];
+ $a[$maxK]=$a[$maxL];
+ $a[$maxL]=$tmp;
+ my @b= reverse(splice @a, $maxK+1);
+ push @a, @b;
+ }
+
+ return @anagrams;
+}
+
+my $word=$ARGV[0];
+my @anagrams=findAnagrams($word, \@words);
+print "Anagrams: @anagrams ","\n";
diff --git a/challenge-005/ruben-westerberg/perl5/ch-2.pl b/challenge-005/ruben-westerberg/perl5/ch-2.pl
new file mode 100755
index 0000000000..9839c7442a
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl5/ch-2.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use FindBin;
+my $wordsFile = $ARGV[0] // $FindBin::Bin.'/../words_alpha.txt';
+open my $wfh ,"<", $wordsFile;
+my @words;
+my %bag;
+my $maxLetters;
+my $maxCount=-1;
+while (<$wfh>) {
+ chomp;
+ my $key= join '', sort split '';
+ $bag{$key}++;
+ if ( $bag{$key} > $maxCount) {
+ $maxLetters = $key;
+ $maxCount= $bag{$key};
+ }
+}
+
+close $wfh;
+print "$maxLetters has $maxCount anagrams\n";
+
+
diff --git a/challenge-005/ruben-westerberg/perl5/p5.txt b/challenge-005/ruben-westerberg/perl5/p5.txt
new file mode 100644
index 0000000000..2c084c6f7e
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl5/p5.txt
@@ -0,0 +1,135 @@
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 1
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+
diff --git a/challenge-005/ruben-westerberg/perl5/p6.txt b/challenge-005/ruben-westerberg/perl5/p6.txt
new file mode 100644
index 0000000000..47705240c6
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl5/p6.txt
@@ -0,0 +1,720 @@
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 0 MaxL: 1
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 1 MaxL: 2
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+MaxK: 2 MaxL: 3
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 5
+MaxK: 4 MaxL: 5
+MaxK: 3 MaxL: 4
+MaxK: 4 MaxL: 5
+Anagrams: [enlist inlets listen silent slinte tinsel]
diff --git a/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp
new file mode 100644
index 0000000000..435426945c
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/.ch-1.p6.swp
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp b/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp
new file mode 100644
index 0000000000..a0673fa496
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/.ch-2.p6.swp
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/.lock b/challenge-005/ruben-westerberg/perl6/.precomp/.lock
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/.precomp/.lock
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA
new file mode 100644
index 0000000000..90d5f7521d
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA
Binary files differ
diff --git a/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id
new file mode 100644
index 0000000000..2b400f7316
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/.precomp/E8252BAA8CCA5C482BDD1088C325C513F7B95D46/8E/8EC489C474F22D0612C0E178FCE69EABDC1889BA.repo-id
@@ -0,0 +1 @@
+C545466C5B3B71D462733C373F50078A3AD53B64 \ No newline at end of file
diff --git a/challenge-005/ruben-westerberg/perl6/anagram.pm6 b/challenge-005/ruben-westerberg/perl6/anagram.pm6
index ddb0d0e530..645d70e485 100644
--- a/challenge-005/ruben-westerberg/perl6/anagram.pm6
+++ b/challenge-005/ruben-westerberg/perl6/anagram.pm6
@@ -29,7 +29,6 @@ sub findAnangrams(@letters, @words) is export {
@a[$maxL]=$tmp;
my @b=@a.splice($maxK+1).reverse;
@a.=append(@b);
-
}
@anagrams;
}
diff --git a/challenge-005/ruben-westerberg/perl6/ch-1.p6 b/challenge-005/ruben-westerberg/perl6/ch-1.p6
index c3ad9302a1..79a8554a51 100755
--- a/challenge-005/ruben-westerberg/perl6/ch-1.p6
+++ b/challenge-005/ruben-westerberg/perl6/ch-1.p6
@@ -2,11 +2,10 @@
#
use lib $?FILE.IO.dirname;
use anagram;
-my $wordsFile= @*ARGS[0] // $?FILE.IO.dirname ~ "/../words_alpha.txt";
+my $wordsFile= $?FILE.IO.dirname ~ "/../words_alpha.txt";
my @word-list=$wordsFile.IO.lines;
-while my $input=prompt "Give me a word: " {
- my @letters=$input.trim.lc.split("")[1..*-2];
- say "Anagrams: ",findAnangrams(@letters,@word-list);
-}
+my $input= @*ARGS[0];
+my @letters=$input.trim.lc.split("")[1..*-2];
+say "Anagrams: ",findAnangrams(@letters,@word-list).join: ' ';
diff --git a/challenge-005/ruben-westerberg/perl6/ch-2.p6 b/challenge-005/ruben-westerberg/perl6/ch-2.p6
index 5ebbce1a8c..37c932fb1b 100755
--- a/challenge-005/ruben-westerberg/perl6/ch-2.p6
+++ b/challenge-005/ruben-westerberg/perl6/ch-2.p6
@@ -1,5 +1,6 @@
#!/usr/bin/env perl6
-my $wordsFile=$*ARGS[0] // $?FILE.IO.dirname~"/../words_alpha.txt";
-say $wordsFile.IO.lines.hyper(degree=>4, batch=>50000).map({
+my $wordsFile=$?FILE.IO.dirname~"/../words_alpha.txt";
+my $max=$wordsFile.IO.lines.race(degree=>4, batch=>50000).map({
.split("")[1..*-2].sort.join;
}).Bag.antipairs.max;
+say "$max.value() has $max.key() anagrams";
diff --git a/challenge-005/ruben-westerberg/perl6/short.txt b/challenge-005/ruben-westerberg/perl6/short.txt
new file mode 100644
index 0000000000..f107a30510
--- /dev/null
+++ b/challenge-005/ruben-westerberg/perl6/short.txt
@@ -0,0 +1,3 @@
+loop
+pool
+
diff --git a/challenge-005/ruben-westerberg/words_alpha.txt b/challenge-005/ruben-westerberg/words_alpha.txt
index 1d9abced5d..8902fa2503 100644
--- a/challenge-005/ruben-westerberg/words_alpha.txt
+++ b/challenge-005/ruben-westerberg/words_alpha.txt
@@ -1,370099 +1,370099 @@
-a
-aa
-aaa
-aah
-aahed
-aahing
-aahs
-aal
-aalii
-aaliis
-aals
-aam
-aani
-aardvark
-aardvarks
-aardwolf
-aardwolves
-aargh
-aaron
-aaronic
-aaronical
-aaronite
-aaronitic
-aarrgh
-aarrghh
-aaru
-aas
-aasvogel
-aasvogels
-ab
-aba
-ababdeh
-ababua
-abac
-abaca
-abacay
-abacas
-abacate
-abacaxi
-abaci
-abacinate
-abacination
-abacisci
-abaciscus
-abacist
-aback
-abacli
-abacot
-abacterial
-abactinal
-abactinally
-abaction
-abactor
-abaculi
-abaculus
-abacus
-abacuses
-abada
-abaddon
-abadejo
-abadengo
-abadia
-abadite
-abaff
-abaft
-abay
-abayah
-abaisance
-abaised
-abaiser
-abaisse
-abaissed
-abaka
-abakas
-abalation
-abalienate
-abalienated
-abalienating
-abalienation
-abalone
-abalones
-abama
-abamp
-abampere
-abamperes
-abamps
-aband
-abandon
-aban