diff options
| author | Niels van Dijke <perlboy@cpan.org> | 2020-09-06 09:17:08 +0000 |
|---|---|---|
| committer | Niels van Dijke <perlboy@cpan.org> | 2020-09-06 09:17:08 +0000 |
| commit | 639dee2a424730fa8e4856df3f5eb25c937320c0 (patch) | |
| tree | d37aec42450894fb679c6132c89a5e6c00de1eff | |
| parent | d344f7c9bff76b5b8864fb38d813611aef729ef8 (diff) | |
| download | perlweeklychallenge-club-639dee2a424730fa8e4856df3f5eb25c937320c0.tar.gz perlweeklychallenge-club-639dee2a424730fa8e4856df3f5eb25c937320c0.tar.bz2 perlweeklychallenge-club-639dee2a424730fa8e4856df3f5eb25c937320c0.zip | |
Task 2
Files 'grid' and 'words' are the defaults for ch-2.pl.
Files 'grid2' and 'words2' are smaller test files.
| -rwxr-xr-x | challenge-076/perlboy1967/perl/ch-2.pl | 195 | ||||
| -rw-r--r-- | challenge-076/perlboy1967/perl/grid | 19 | ||||
| -rw-r--r-- | challenge-076/perlboy1967/perl/grid2 | 11 | ||||
| -rw-r--r-- | challenge-076/perlboy1967/perl/words | 346254 | ||||
| -rw-r--r-- | challenge-076/perlboy1967/perl/words2 | 54 |
5 files changed, 346533 insertions, 0 deletions
diff --git a/challenge-076/perlboy1967/perl/ch-2.pl b/challenge-076/perlboy1967/perl/ch-2.pl new file mode 100755 index 0000000000..4cabd20746 --- /dev/null +++ b/challenge-076/perlboy1967/perl/ch-2.pl @@ -0,0 +1,195 @@ +#!/usr/bin/perl + +# Perl Weekly Challenge - 076 +# - https://perlweeklychallenge.org/blog/perl-weekly-challenge-076/ +# +# Task 2 - Word Search +# +# Author: Niels 'PerlBoy' van Dijke + +use strict; +use warnings; + +use List::Util qw(max); + +my ($gridFilename, $wordsFilename) = @ARGV; + +$gridFilename //= 'grid.txt'; +$wordsFilename //= 'words'; # A copy of /usr/share/dict/words + +my $minLength = 5; + +my @words; +my %wordsFound; +my %gridStrings; + +my %directions = ( + HLR => 'Horizontal (left to right)', + HRL => 'Horizontal (right to left)', + VTB => 'Vertical (top to bottom)', + VBT => 'Vertical (bottom to top)', + DLRTB => 'Diagonal (left to right and top to bottom)', + DLRBT => 'Diagonal (left to right and bottom to top)', + DRLTB => 'Diagonal (right to left and top to bottom)', + DRLBT => 'Diagonal (right to left and bottom to top)', +); + + +sub readWordsFile { + my ($fileName, $minL, $arWords) = @_; + + if (!open(fhWords,"< $fileName")) { + die "Can't read words from '$fileName' ($!)"; + } else { + while (<fhWords>) { + push(@$arWords, $1) + if (/^([a-z]{$minL,})$/); + } + close(fhWords); + } +} + + +sub readGridFile { + my ($fileName, $hrGridStrings) = @_; + + my @grid; + my @strings; + + if (!open(fhGrid, "< $fileName")) { + die "Can't read grid from '$fileName' ($!)"; + } else { + + # Read and verify grid width input + my $gWidth; + my $gHeight; + while (<fhGrid>) { + $_ = lc($_); + s/[^a-z]//g; + + $gWidth //= length($_); + + die "Length of line $. of grid file '$fileName' <> $gWidth [$_]" + unless (length($_) == $gWidth); + + push(@grid, [split(//, $_)]); + } + + close(fhWords); + + $gHeight = scalar @grid; + + # Get horizontal,vertical and diagonal strings + + my @colStr; + + # Get horizontal and vertical strings + for my $row (0 .. scalar @grid - 1) { + my $s = join('', @{$grid[$row]}); + push(@{$hrGridStrings->{HLR}}, $s); + push(@{$hrGridStrings->{HRL}}, scalar reverse $s); + + # Get vertical chars + for my $col (0 .. $gWidth - 1) { + $colStr[$row] .= $grid[$row][$col]; + } + } + + # Push vertical strings + for my $row (0 .. scalar @grid - 1) { + push(@{$hrGridStrings->{VTB}}, $colStr[$row]); + push(@{$hrGridStrings->{VBT}}, scalar reverse $colStr[$row]); + } + + # Get four diagonal direction strings + for my $y ($minLength - $gWidth .. $gHeight - $minLength) { + my $diaTBLR; + my $diaTBRL; + for my $x (0 .. $gWidth - 1) { + my $row = $y + $x; + next if ($row < 0 or $row > $gHeight - 1); + + $diaTBLR .= $grid[$row][$x]; + $diaTBRL .= $grid[$row][$gWidth - 1 - $x]; + } + push(@{$hrGridStrings->{DLRTB}}, $diaTBLR); + push(@{$hrGridStrings->{DRLBT}}, scalar reverse $diaTBLR); + push(@{$hrGridStrings->{DRLTB}}, $diaTBRL); + push(@{$hrGridStrings->{DLRBT}}, scalar reverse $diaTBRL); + } + } +} + + +sub findWords { + my ($hrGS, $arW, $hrWF) = @_; + + my @directions = keys %$hrGS; + + my $nWords = scalar(@$arW); + my $n; + + print STDERR "Finding Words Progress: "; + foreach my $word (@$arW) { + print STDERR '.' if ($n++ % int($nWords / 50) == 0); + foreach my $direction (@directions) { + foreach my $str (@{$hrGS->{$direction}}) { + $hrWF->{$word}{$direction}++ + if ($str =~ m#$word#); + } + } + } + print STDERR "\n"; +} + + +sub printReport { + my ($arWords, $minL, $hrWordsFound) = @_; + + my @directions = sort keys %directions; + my $maxWlen = max(map { length $_} keys %$hrWordsFound); + + my $rowFmt = "%-${maxWlen}s | %5s | %5s | %5s | %5s | %5s | %5s | %5s | %5s\n"; + + my $sepFmt = $rowFmt; $sepFmt =~ tr/\|/+/; + my $sep = sprintf $sepFmt, '-' x $maxWlen, map { '-' x 5 } @directions; + + printf "\n%d uniq words found in grid of length %d or more (using dictionary containing %d words).\n\n", + scalar keys %$hrWordsFound, $minL, scalar @$arWords; + + printf $rowFmt, 'Word', @directions; + print $sep; + + foreach my $word (sort keys %$hrWordsFound) { + my @values = map { $hrWordsFound->{$word}{$_} // '' } @directions; + printf $rowFmt, + $word, + @values; + } + printf "$sep\n"; + + my @legendW = ( + max(map { length } @directions), + max(map { length } values %directions) + ); + my $legendFmt = sprintf("%%-%ds | %%-%ds\n", @legendW); + $sepFmt = $legendFmt; $sepFmt =~ tr/\|/+/; + $sep = sprintf $sepFmt, map { '-' x $_ } @legendW; + + print "Legend:\n"; + print "=======\n"; + print "\n"; + printf $legendFmt, qw(Key Description); + printf $sep; + foreach my $direction (@directions) { + printf $legendFmt, $direction, $directions{$direction}; + } + printf $sep; +} + + +readWordsFile($wordsFilename, $minLength, \@words); +readGridFile($gridFilename, \%gridStrings); +findWords(\%gridStrings, \@words, \%wordsFound); +printReport(\@words, $minLength, \%wordsFound); + diff --git a/challenge-076/perlboy1967/perl/grid b/challenge-076/perlboy1967/perl/grid new file mode 100644 index 0000000000..31cf2e0fd8 --- /dev/null +++ b/challenge-076/perlboy1967/perl/grid @@ -0,0 +1,19 @@ +B I D E M I A T S U C C O R S T +L D E G G I W Q H O D E E H D P +U S E I R U B U T E A S L A G U +N G N I Z I L A I C O S C N U D +T G M I D S T S A R A R E I F G +S R E N M D C H A S I V E E L I +S C S H A E U E B R O A D M T E +H W O V L P E D D L A I U L S S +R Y O N L A S F C S T A O G O T +I G U S S R R U G O V A R Y O C +N R G P A T N A N G I L A M O O +E I H A C E I V I R U S E S E D +S E T S U D T T G A R L I C N H +H V R M X L W I U M S N S O T B +A E A O F I L C H T O D C A E U +Z S C D F E C A A I I R L N R F +A R I I A N Y U T O O O U T P F +R S E C I S N A B O S C N E R A +D R S M P C U U N E L T E S I L diff --git a/challenge-076/perlboy1967/perl/grid2 b/challenge-076/perlboy1967/perl/grid2 new file mode 100644 index 0000000000..5e8a457b37 --- /dev/null +++ b/challenge-076/perlboy1967/perl/grid2 @@ -0,0 +1,11 @@ +B I D E M I A T +L D E G G I W Q +U S E I R U B U +N G N I Z I L A +T G M I D S T S +V R E N M D C I +S I S H A E C E +H W R V L A E D +R Y O U R A S F +I G U T S R R U +N R G P A T N A diff --git a/challenge-076/perlboy1967/perl/words b/challenge-076/perlboy1967/perl/words new file mode 100644 index 0000000000..0b3dfcce5b --- /dev/null +++ b/challenge-076/perlboy1967/perl/words @@ -0,0 +1,346254 @@ +aahed +aahing +aalii +aaliis +aardvark +aardvarks +aardwolf +aardwolves +aargh +aaron +aaronic +aarrgh +aarrghh +aasvogel +aasvogels +abaca +abacas +abacate +abacaxi +abacay +abaci +abacinate +abacination +abacisci +abaciscus +abacist +aback +abacli +abacot +abacterial +abactinal +abactinally +abaction +abactor +abaculi +abaculus +abacus +abacuses +abada +abaddon +abadejo +abadengo +abadia +abaff +abaft +abaisance +abaised +abaiser +abaisse +abaissed +abaka +abakas +abalation +abalienate +abalienated +abalienating +abalienation +abalone +abalones +abamp +abampere +abamperes +abamps +aband +abandon +abandonable +abandoned +abandonedly +abandonee +abandoner +abandoners +abandoning +abandonment +abandonments +abandons +abandum +abanet +abanga +abannition +abapical +abaptiston +abaptistum +abarthrosis +abarticular +abarticulation +abase +abased +abasedly +abasedness +abasement +abasements +abaser +abasers +abases +abash +abashed +abashedly +abashedness +abashes +abashing +abashless +abashlessly +abashment +abashments +abasia +abasias +abasic +abasing +abasio +abask +abassi +abastard +abastardize +abastral +abatable +abatage +abate +abated +abatement +abatements +abater +abaters +abates +abatic +abating +abatis +abatised +abatises +abatjour +abatjours +abaton +abator +abators +abattage +abattis +abattised +abattises +abattoir +abattoirs +abattu +abattue +abature +abaue +abave +abaxial +abaxile +abayah +abaze +abbacies +abbacomes +abbacy +abbandono +abbas +abbasi +abbasid +abbassi +abbate +abbatial +abbatical +abbatie +abbaye +abbes +abbess +abbesses +abbest +abbevillian +abbey +abbeys +abbeystead +abbeystede +abboccato +abbogada +abbot +abbotcies +abbotcy +abbotnullius +abbotric +abbots +abbotship +abbotships +abbott +abbozzo +abbrev +abbreviatable +abbreviate +abbreviated +abbreviately +abbreviates +abbreviating +abbreviation +abbreviations +abbreviator +abbreviators +abbreviatory +abbreviature +abbroachment +abcess +abcissa +abcoulomb +abdal +abdali +abdaria +abdat +abdest +abdicable +abdicant +abdicate +abdicated +abdicates +abdicating +abdication +abdications +abdicative +abdicator +abditive +abditory +abdom +abdomen +abdomens +abdomina +abdominal +abdominales +abdominalia +abdominalian +abdominally +abdominals +abdominoanterior +abdominocardiac +abdominocentesis +abdominocystic +abdominogenital +abdominohysterectomy +abdominohysterotomy +abdominoposterior +abdominoscope +abdominoscopy +abdominothoracic +abdominous +abdominovaginal +abdominovesical +abduce +abduced +abducens +abducent +abducentes +abduces +abducing +abduct +abducted +abducting +abduction +abductions +abductor +abductores +abductors +abducts +abeam +abear +abearance +abecedaire +abecedaria +abecedarian +abecedarians +abecedaries +abecedarium +abecedarius +abecedary +abede +abedge +abegge +abeigh +abele +abeles +abelian +abelite +abelmosk +abelmosks +abelmusk +abeltree +abend +abends +abenteric +abepithymia +aberdavine +aberdeen +aberdevine +aberduvine +abernethy +aberr +aberrance +aberrancies +aberrancy +aberrant +aberrantly +aberrants +aberrate +aberrated +aberrating +aberration +aberrational +aberrations +aberrative +aberrator +aberrometer +aberroscope +aberuncate +aberuncator +abesse +abessive +abetment +abetments +abets +abettal +abettals +abetted +abetter +abetters +abetting +abettor +abettors +abevacuation +abeyance +abeyances +abeyancies +abeyancy +abeyant +abfarad +abfarads +abhenries +abhenry +abhenrys +abhinaya +abhiseka +abhominable +abhor +abhorred +abhorrence +abhorrences +abhorrency +abhorrent +abhorrently +abhorrer +abhorrers +abhorrible +abhorring +abhors +abichite +abidal +abidance +abidances +abidden +abide +abided +abider +abiders +abides +abidi +abiding +abidingly +abidingness +abied +abiegh +abience +abient +abies +abietate +abietene +abietic +abietin +abietineous +abietinic +abietite +abigail +abigails +abigailship +abigeat +abigei +abigeus +abilao +abilene +abiliment +abilitable +abilities +ability +abilla +abilo +abime +abintestate +abiogeneses +abiogenesis +abiogenesist +abiogenetic +abiogenetical +abiogenetically +abiogenist +abiogenous +abiogeny +abiological +abiologically +abiology +abioses +abiosis +abiotic +abiotical +abiotically +abiotrophic +abiotrophy +abirritant +abirritate +abirritated +abirritating +abirritation +abirritative +abiston +abiuret +abject +abjectedness +abjection +abjections +abjective +abjectly +abjectness +abjectnesses +abjoint +abjudge +abjudged +abjudging +abjudicate +abjudicated +abjudicating +abjudication +abjudicator +abjugate +abjunct +abjunction +abjunctive +abjuration +abjurations +abjuratory +abjure +abjured +abjurement +abjurer +abjurers +abjures +abjuring +abkar +abkari +abkary +ablach +ablactate +ablactated +ablactating +ablactation +ablaqueate +ablare +ablastemic +ablastin +ablastous +ablate +ablated +ablates +ablating +ablation +ablations +ablatitious +ablatival +ablative +ablatively +ablatives +ablator +ablaut +ablauts +ablaze +ableeze +ablegate +ablegates +ablegation +ablend +ableness +ablepharia +ablepharon +ablepharous +ablepsia +ablepsy +ableptical +ableptically +abler +ables +ablesse +ablest +ablet +ablewhackets +ablings +ablins +ablock +abloom +ablow +ablude +abluent +abluents +ablush +ablute +abluted +ablution +ablutionary +ablutions +abluvion +abmho +abmhos +abmodalities +abmodality +abnegate +abnegated +abnegates +abnegating +abnegation +abnegations +abnegative +abnegator +abnegators +abner +abnerval +abnet +abneural +abnormal +abnormalcies +abnormalcy +abnormalise +abnormalised +abnormalising +abnormalism +abnormalist +abnormalities +abnormality +abnormalize +abnormalized +abnormalizing +abnormally +abnormalness +abnormals +abnormities +abnormity +abnormous +abnumerable +aboard +aboardage +abococket +abodah +abode +aboded +abodement +abodes +aboding +abody +abogado +abogados +abohm +abohms +aboideau +aboideaus +aboideaux +aboil +aboiteau +aboiteaus +aboiteaux +abolete +abolish +abolishable +abolished +abolisher +abolishers +abolishes +abolishing +abolishment +abolishments +abolition +abolitionary +abolitionise +abolitionised +abolitionising +abolitionism +abolitionist +abolitionists +abolitionize +abolitionized +abolitionizing +abolitions +abolla +abollae +aboma +abomas +abomasa +abomasal +abomasi +abomasum +abomasus +abomasusi +abominability +abominable +abominableness +abominably +abominate +abominated +abominates +abominating +abomination +abominations +abominator +abominators +abomine +abondance +abonne +abonnement +aboon +aborad +aboral +aborally +abord +aboriginal +aboriginality +aboriginally +aboriginals +aboriginary +aborigine +aborigines +aborning +aborsement +aborsive +abort +aborted +aborter +aborters +aborticide +abortient +abortifacient +abortin +aborting +abortion +abortional +abortionist +abortionists +abortions +abortive +abortively +abortiveness +abortogenic +aborts +abortus +abortuses +abote +abouchement +aboudikro +abought +aboulia +aboulias +aboulic +abound +abounded +abounder +abounding +aboundingly +abounds +about +abouts +above +aboveboard +abovedeck +aboveground +abovementioned +aboveproof +aboves +abovesaid +abovestairs +abracadabra +abrachia +abrachias +abradable +abradant +abradants +abrade +abraded +abrader +abraders +abrades +abrading +abraham +abraid +abranchial +abranchialism +abranchian +abranchiate +abranchious +abrasax +abrase +abrased +abraser +abrash +abrasing +abrasiometer +abrasion +abrasions +abrasive +abrasively +abrasiveness +abrasivenesses +abrasives +abrastol +abraum +abraxas +abray +abrazite +abrazitic +abrazo +abrazos +abreact +abreacted +abreacting +abreaction +abreactions +abreacts +abreast +abreed +abrege +abreid +abrenounce +abrenunciate +abrenunciation +abreption +abret +abreuvoir +abrico +abricock +abricot +abridgable +abridge +abridgeable +abridged +abridgedly +abridgement +abridgements +abridger +abridgers +abridges +abridging +abridgment +abridgments +abrim +abrin +abrine +abris +abristle +abroach +abroad +abrocome +abrogable +abrogate +abrogated +abrogates +abrogating +abrogation +abrogations +abrogative +abrogator +abrogators +abronia +abrood +abrook +abrosia +abrosias +abrotanum +abrotin +abrotine +abrupt +abruptedly +abrupter +abruptest +abruptio +abruption +abruptiones +abruptly +abruptness +absampere +absarokite +abscam +abscess +abscessed +abscesses +abscessing +abscession +abscessroot +abscind +abscise +abscised +abscises +abscisin +abscising +abscisins +abscision +absciss +abscissa +abscissae +abscissas +abscisse +abscissin +abscission +abscissions +absconce +abscond +absconded +abscondedly +abscondence +absconder +absconders +absconding +absconds +absconsa +abscoulomb +abscound +absee +abseil +abseiled +abseiling +abseils +absence +absences +absent +absentation +absented +absentee +absenteeism +absentees +absenteeship +absenter +absenters +absentia +absenting +absently +absentment +absentminded +absentmindedly +absentmindedness +absentmindednesses +absentness +absents +absey +absfarad +abshenry +absinth +absinthe +absinthes +absinthial +absinthian +absinthiate +absinthiated +absinthiating +absinthic +absinthiin +absinthin +absinthine +absinthism +absinthismic +absinthium +absinthol +absinthole +absinths +absis +absist +absistos +absit +absmho +absohm +absoil +absolent +absolute +absolutely +absoluteness +absoluter +absolutes +absolutest +absolution +absolutions +absolutism +absolutist +absolutista +absolutistic +absolutistically +absolutists +absolutive +absolutization +absolutize +absolutory +absolvable +absolvatory +absolve +absolved +absolvent +absolver +absolvers +absolves +absolving +absolvitor +absolvitory +absonant +absonous +absorb +absorbability +absorbable +absorbance +absorbancy +absorbant +absorbed +absorbedly +absorbedness +absorbefacient +absorbencies +absorbency +absorbent +absorbents +absorber +absorbers +absorbing +absorbingly +absorbition +absorbs +absorbtion +absorpt +absorptance +absorptiometer +absorptiometric +absorption +absorptional +absorptions +absorptive +absorptively +absorptiveness +absorptivity +absquatulate +absquatulation +abstain +abstained +abstainer +abstainers +abstaining +abstainment +abstains +abstemious +abstemiously +abstemiousness +abstention +abstentionism +abstentionist +abstentions +abstentious +absterge +absterged +abstergent +absterges +absterging +absterse +abstersion +abstersive +abstersiveness +abstertion +abstinence +abstinences +abstinency +abstinent +abstinential +abstinently +abstort +abstr +abstract +abstractable +abstracted +abstractedly +abstractedness +abstracter +abstracters +abstractest +abstracting +abstraction +abstractional +abstractionism +abstractionist +abstractionists +abstractions +abstractitious +abstractive +abstractively +abstractiveness +abstractly +abstractness +abstractnesses +abstractor +abstractors +abstracts +abstrahent +abstrict +abstricted +abstricting +abstriction +abstricts +abstrude +abstruse +abstrusely +abstruseness +abstrusenesses +abstruser +abstrusest +abstrusion +abstrusities +abstrusity +absume +absumption +absurd +absurder +absurdest +absurdism +absurdist +absurdities +absurdity +absurdly +absurdness +absurds +absurdum +absvolt +abterminal +abthain +abthainrie +abthainry +abthanage +abtruse +abubble +abucco +abuilding +abuleia +abulia +abulias +abulic +abulomania +abulyeit +abumbral +abumbrellar +abuna +abundance +abundances +abundancy +abundant +abundantly +abune +abura +aburabozu +aburagiri +aburban +aburst +aburton +abusable +abusage +abuse +abused +abusedly +abusee +abuseful +abusefully +abusefulness +abuser +abusers +abuses +abush +abusing +abusion +abusious +abusive +abusively +abusiveness +abusivenesses +abutilon +abutilons +abutment +abutments +abuts +abuttal +abuttals +abutted +abutter +abutters +abutting +abuzz +abvolt +abvolts +abwab +abwatt +abwatts +abyed +abyes +abying +abysm +abysmal +abysmally +abysms +abyss +abyssa +abyssal +abysses +abyssinia +abyssinian +abyssinians +abyssobenthonic +abyssolith +abyssopelagic +abyssus +acacatechin +acacatechol +acacetin +acacia +acacias +acaciin +acacin +acacine +academe +academes +academia +academial +academian +academias +academic +academical +academically +academicals +academician +academicians +academicianship +academicism +academics +academie +academies +academise +academised +academising +academism +academist +academite +academization +academize +academized +academizing +academy +acadia +acadialite +acadian +acaena +acajou +acajous +acalculia +acale +acaleph +acalepha +acalephae +acalephan +acalephe +acalephes +acalephoid +acalephs +acalycal +acalycine +acalycinous +acalyculate +acalyptrate +acampsia +acana +acanaceous +acanonical +acanth +acantha +acanthaceous +acanthad +acanthi +acanthial +acanthin +acanthine +acanthion +acanthite +acanthocarpous +acanthocephalan +acanthocephalous +acanthocladous +acanthodean +acanthodian +acanthoid +acanthological +acanthology +acantholysis +acanthoma +acanthomas +acanthon +acanthophorous +acanthopod +acanthopodous +acanthopomatous +acanthopore +acanthopteran +acanthopterous +acanthopterygian +acanthoses +acanthosis +acanthotic +acanthous +acanthus +acanthuses +acanthuthi +acapnia +acapnial +acapnias +acappella +acapsular +acapu +acapulco +acara +acarari +acardia +acardiac +acardite +acari +acarian +acariasis +acariatre +acaricidal +acaricide +acarid +acaridae +acaridan +acaridans +acaridean +acaridomatia +acaridomatium +acarids +acariform +acarine +acarines +acarinosis +acarocecidia +acarocecidium +acarodermatitis +acaroid +acarol +acarologist +acarology +acarophilous +acarophobia +acarotoxic +acarpellous +acarpelous +acarpous +acarus +acast +acatalectic +acatalepsia +acatalepsy +acataleptic +acatallactic +acatamathesia +acataphasia +acataposis +acatastasia +acatastatic +acate +acategorical +acater +acatery +acates +acatharsia +acatharsy +acatholic +acaudal +acaudate +acaudelescent +acaulescence +acaulescent +acauline +acaulose +acaulous +accable +accademia +accadian +accede +acceded +accedence +acceder +acceders +accedes +acceding +accel +accelerable +accelerando +accelerant +accelerate +accelerated +acceleratedly +accelerates +accelerating +acceleratingly +acceleration +accelerations +accelerative +accelerator +acceleratorh +accelerators +acceleratory +accelerograph +accelerometer +accelerometers +accend +accendibility +accendible +accensed +accension +accensor +accent +accented +accenting +accentless +accentor +accentors +accents +accentuable +accentual +accentuality +accentually +accentuate +accentuated +accentuates +accentuating +accentuation +accentuations +accentuator +accentus +accept +acceptabilities +acceptability +acceptable +acceptableness +acceptably +acceptance +acceptances +acceptancies |
