wordle-cli

Golang implementation of wordle in CLI.
git clone http://git.hanabi.in/repos/wordle-cli.git
Log | Files | Refs | README | LICENSE

commit 2b0b4dc45efc2fca17fff63841421d526c781f10
Author: Agastya Chandrakant <me@hanabi.in>
Date:   Wed, 16 Feb 2022 23:55:12 +0530

Initial commit of wordle cli game (minus the algo Sahiba wrote).

Diffstat:
A.gitignore | 1+
ALICENSE | 661+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ago.mod | 3+++
Amakefile | 2++
Asrc/algos/arr-algo.go | 32++++++++++++++++++++++++++++++++
Asrc/colours/colours.go | 29+++++++++++++++++++++++++++++
Asrc/data/words.go | 12950+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/main.go | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/utils/fns.go | 142+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9 files changed, 13871 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -0,0 +1 @@ +wordle diff --git a/LICENSE b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +<https://www.gnu.org/licenses/>. diff --git a/go.mod b/go.mod @@ -0,0 +1,3 @@ +module git.hanabi.in/dev/wordle-cli + +go 1.17 diff --git a/makefile b/makefile @@ -0,0 +1,2 @@ +build: + go build -o wordle src/main.go diff --git a/src/algos/arr-algo.go b/src/algos/arr-algo.go @@ -0,0 +1,32 @@ +package algos + +import ( + "math/rand" + "time" +) + +// Fischer-Yates in-place shuffle. +func Shuffle(arr []string) { + rand.Seed(time.Now().UnixNano()) + arr_len := len(arr) + for i := arr_len - 1; i > 0; i-- { + j := rand.Intn(i + 1) + arr[j], arr[i] = arr[i], arr[j] + } +} + +// Return index of element, or -1 if not found. +func BinarySearch(arr []string, val string) int { + low, high := 0, len(arr)-1 + for low <= high { + mid := (low + high) >> 1 + if arr[mid] == val { + return mid + } else if arr[mid] > val { + high = mid - 1 + } else { + low = mid + 1 + } + } + return -1 +} diff --git a/src/colours/colours.go b/src/colours/colours.go @@ -0,0 +1,29 @@ +package colours + +const reset = "\033[0m" +const ( + Code_grey = -2 + Code_red = -1 + Code_yellow = 0 + Code_green = 1 +) + +func Bold(str string) string { + return "\033[1m" + str + reset +} + +func Red(str string) string { + return "\033[31m" + str + reset +} + +func Green(str string) string { + return "\033[32m" + str + reset +} + +func Yellow(str string) string { + return "\033[33m" + str + reset +} + +func Grey(str string) string { + return "\033[37m" + str + reset +} diff --git a/src/data/words.go b/src/data/words.go @@ -0,0 +1,12950 @@ +package data + +var Words = []string{ + "aahed", + "aalii", + "aargh", + "aarti", + "abaca", + "abaci", + "aback", + "abacs", + "abaft", + "abaka", + "abamp", + "aband", + "abase", + "abash", + "abask", + "abate", + "abaya", + "abbas", + "abbed", + "abbes", + "abbey", + "abbot", + "abcee", + "abeam", + "abear", + "abele", + "abers", + "abets", + "abhor", + "abide", + "abies", + "abled", + "abler", + "ables", + "ablet", + "ablow", + "abmho", + "abode", + "abohm", + "aboil", + "aboma", + "aboon", + "abord", + "abore", + "abort", + "about", + "above", + "abram", + "abray", + "abrim", + "abrin", + "abris", + "absey", + "absit", + "abuna", + "abune", + "abuse", + "abuts", + "abuzz", + "abyes", + "abysm", + "abyss", + "acais", + "acari", + "accas", + "accoy", + "acerb", + "acers", + "aceta", + "achar", + "ached", + "aches", + "achoo", + "acids", + "acidy", + "acing", + "acini", + "ackee", + "acker", + "acmes", + "acmic", + "acned", + "acnes", + "acock", + "acold", + "acorn", + "acred", + "acres", + "acrid", + "acros", + "acted", + "actin", + "acton", + "actor", + "acute", + "acyls", + "adage", + "adapt", + "adaws", + "adays", + "adbot", + "addax", + "added", + "adder", + "addio", + "addle", + "adeem", + "adept", + "adhan", + "adieu", + "adios", + "adits", + "adman", + "admen", + "admin", + "admit", + "admix", + "adobe", + "adobo", + "adopt", + "adore", + "adorn", + "adown", + "adoze", + "adrad", + "adred", + "adsum", + "aduki", + "adult", + "adunc", + "adust", + "advew", + "adyta", + "adzed", + "adzes", + "aecia", + "aedes", + "aegis", + "aeons", + "aerie", + "aeros", + "aesir", + "afald", + "afara", + "afars", + "afear", + "affix", + "afire", + "aflaj", + "afoot", + "afore", + "afoul", + "afrit", + "afros", + "after", + "again", + "agama", + "agami", + "agape", + "agars", + "agast", + "agate", + "agave", + "agaze", + "agene", + "agent", + "agers", + "agger", + "aggie", + "aggri", + "aggro", + "aggry", + "aghas", + "agila", + "agile", + "aging", + "agios", + "agism", + "agist", + "agita", + "aglee", + "aglet", + "agley", + "agloo", + "aglow", + "aglus", + "agmas", + "agoge", + "agone", + "agons", + "agony", + "agood", + "agree", + "agria", + "agrin", + "agros", + "agued", + "agues", + "aguna", + "aguti", + "ahead", + "aheap", + "ahent", + "ahigh", + "ahind", + "ahing", + "ahint", + "ahold", + "ahull", + "ahuru", + "aidas", + "aided", + "aider", + "aides", + "aidoi", + "aidos", + "aiery", + "aigas", + "aight", + "ailed", + "aimed", + "aimer", + "ainee", + "ainga", + "aioli", + "aired", + "airer", + "airns", + "airth", + "airts", + "aisle", + "aitch", + "aitus", + "aiver", + "aiyee", + "aizle", + "ajies", + "ajiva", + "ajuga", + "ajwan", + "akees", + "akela", + "akene", + "aking", + "akita", + "akkas", + "alaap", + "alack", + "alamo", + "aland", + "alane", + "alang", + "alans", + "alant", + "alapa", + "alaps", + "alarm", + "alary", + "alate", + "alays", + "albas", + "albee", + "album", + "alcid", + "alcos", + "aldea", + "alder", + "aldol", + "aleck", + "alecs", + "alefs", + "aleft", + "aleph", + "alert", + "alews", + "aleye", + "alfas", + "algae", + "algal", + "algas", + "algid", + "algin", + "algor", + "algum", + "alias", + "alibi", + "alien", + "alifs", + "align", + "alike", + "aline", + "alist", + "alive", + "aliya", + "alkie", + "alkos", + "alkyd", + "alkyl", + "allay", + "allee", + "allel", + "alley", + "allis", + "allod", + "allot", + "allow", + "alloy", + "allyl", + "almah", + "almas", + "almeh", + "almes", + "almud", + "almug", + "alods", + "aloed", + "aloes", + "aloft", + "aloha", + "aloin", + "alone", + "along", + "aloof", + "aloos", + "aloud", + "alowe", + "alpha", + "altar", + "alter", + "altho", + "altos", + "alula", + "alums", + "alure", + "alvar", + "alway", + "amahs", + "amain", + "amass", + "amate", + "amaut", + "amaze", + "amban", + "amber", + "ambit", + "amble", + "ambos", + "ambry", + "ameba", + "ameer", + "amend", + "amene", + "amens", + "ament", + "amias", + "amice", + "amici", + "amide", + "amido", + "amids", + "amies", + "amiga", + "amigo", + "amine", + "amino", + "amins", + "amirs", + "amiss", + "amity", + "amlas", + "amman", + "ammon", + "ammos", + "amnia", + "amnic", + "amnio", + "amoks", + "amole", + "among", + "amort", + "amour", + "amove", + "amowt", + "amped", + "ample", + "amply", + "ampul", + "amrit", + "amuck", + "amuse", + "amyls", + "anana", + "anata", + "ancho", + "ancle", + "ancon", + "andro", + "anear", + "anele", + "anent", + "angas", + "angel", + "anger", + "angle", + "anglo", + "angry", + "angst", + "anigh", + "anile", + "anils", + "anima", + "anime", + "animi", + "anion", + "anise", + "anker", + "ankhs", + "ankle", + "ankus", + "anlas", + "annal", + "annas", + "annat", + "annex", + "annoy", + "annul", + "anoas", + "anode", + "anole", + "anomy", + "ansae", + "antae", + "antar", + "antas", + "anted", + "antes", + "antic", + "antis", + "antra", + "antre", + "antsy", + "anura", + "anvil", + "anyon", + "aorta", + "apace", + "apage", + "apaid", + "apart", + "apayd", + "apays", + "apeak", + "apeek", + "apers", + "apert", + "apery", + "apgar", + "aphid", + "aphis", + "apian", + "aping", + "apiol", + "apish", + "apism", + "apnea", + "apode", + "apods", + "apoop", + "aport", + "appal", + "appay", + "appel", + "apple", + "apply", + "appro", + "appui", + "appuy", + "apres", + "apron", + "apses", + "apsis", + "apsos", + "apted", + "apter", + "aptly", + "aquae", + "aquas", + "araba", + "araks", + "arame", + "arars", + "arbas", + "arbor", + "arced", + "archi", + "arcos", + "arcus", + "ardeb", + "ardor", + "ardri", + "aread", + "areae", + "areal", + "arear", + "areas", + "areca", + "aredd", + "arede", + "arefy", + "areic", + "arena", + "arene", + "arepa", + "arere", + "arete", + "arets", + "arett", + "argal", + "argan", + "argil", + "argle", + "argol", + "argon", + "argot", + "argue", + "argus", + "arhat", + "arias", + "ariel", + "ariki", + "arils", + "ariot", + "arise", + "arish", + "arked", + "arled", + "arles", + "armed", + "armer", + "armet", + "armil", + "armor", + "arnas", + "arnut", + "aroba", + "aroha", + "aroid", + "aroma", + "arose", + "arpas", + "arpen", + "arrah", + "arras", + "array", + "arret", + "arris", + "arrow", + "arroz", + "arsed", + "arses", + "arsey", + "arsis", + "arson", + "artal", + "artel", + "artic", + "artis", + "artsy", + "aruhe", + "arums", + "arval", + "arvee", + "arvos", + "aryls", + "asana", + "ascon", + "ascot", + "ascus", + "asdic", + "ashed", + "ashen", + "ashes", + "ashet", + "aside", + "asked", + "asker", + "askew", + "askoi", + "askos", + "aspen", + "asper", + "aspic", + "aspie", + "aspis", + "aspro", + "assai", + "assam", + "assay", + "asses", + "asset", + "assez", + "assot", + "aster", + "astir", + "astun", + "asura", + "asway", + "aswim", + "asyla", + "ataps", + "ataxy", + "atigi", + "atilt", + "atimy", + "atlas", + "atman", + "atmas", + "atmos", + "atocs", + "atoke", + "atoks", + "atoll", + "atoms", + "atomy", + "atone", + "atony", + "atopy", + "atria", + "atrip", + "attap", + "attar", + "attic", + "atuas", + "audad", + "audio", + "audit", + "auger", + "aught", + "augur", + "aulas", + "aulic", + "auloi", + "aulos", + "aumil", + "aunes", + "aunts", + "aunty", + "aurae", + "aural", + "aurar", + "auras", + "aurei", + "aures", + "auric", + "auris", + "aurum", + "autos", + "auxin", + "avail", + "avale", + "avant", + "avast", + "avels", + "avens", + "avers", + "avert", + "avgas", + "avian", + "avine", + "avion", + "avise", + "aviso", + "avize", + "avoid", + "avows", + "avyze", + "await", + "awake", + "award", + "aware", + "awarn", + "awash", + "awato", + "awave", + "aways", + "awdls", + "aweel", + "aweto", + "awful", + "awing", + "awmry", + "awned", + "awner", + "awoke", + "awols", + "awork", + "axels", + "axial", + "axile", + "axils", + "axing", + "axiom", + "axion", + "axite", + "axled", + "axles", + "axman", + "axmen", + "axoid", + "axone", + "axons", + "ayahs", + "ayaya", + "ayelp", + "aygre", + "ayins", + "ayont", + "ayres", + "ayrie", + "azans", + "azide", + "azido", + "azine", + "azlon", + "azoic", + "azole", + "azons", + "azote", + "azoth", + "azuki", + "azure", + "azurn", + "azury", + "azygy", + "azyme", + "azyms", + "baaed", + "baals", + "babas", + "babel", + "babes", + "babka", + "baboo", + "babul", + "babus", + "bacca", + "bacco", + "baccy", + "bacha", + "bachs", + "backs", + "bacon", + "baddy", + "badge", + "badly", + "baels", + "baffs", + "baffy", + "bafts", + "bagel", + "baggy", + "baghs", + "bagie", + "bahts", + "bahus", + "bahut", + "bails", + "bairn", + "baisa", + "baith", + "baits", + "baiza", + "baize", + "bajan", + "bajra", + "bajri", + "bajus", + "baked", + "baken", + "baker", + "bakes", + "bakra", + "balas", + "balds", + "baldy", + "baled", + "baler", + "bales", + "balks", + "balky", + "balls", + "bally", + "balms", + "balmy", + "baloo", + "balsa", + "balti", + "balun", + "balus", + "bambi", + "banak", + "banal", + "banco", + "bancs", + "banda", + "bandh", + "bands", + "bandy", + "baned", + "banes", + "bangs", + "bania", + "banjo", + "banks", + "banns", + "bants", + "bantu", + "banty", + "banya", + "bapus", + "barbe", + "barbs", + "barby", + "barca", + "barde", + "bardo", + "bards", + "bardy", + "bared", + "barer", + "bares", + "barfi", + "barfs", + "barge", + "baric", + "barks", + "barky", + "barms", + "barmy", + "barns", + "barny", + "baron", + "barps", + "barra", + "barre", + "barro", + "barry", + "barye", + "basal", + "basan", + "based", + "basen", + "baser", + "bases", + "basho", + "basic", + "basij", + "basil", + "basin", + "basis", + "basks", + "bason", + "basse", + "bassi", + "basso", + "bassy", + "basta", + "baste", + "basti", + "basto", + "basts", + "batch", + "bated", + "bates", + "bathe", + "baths", + "batik", + "baton", + "batta", + "batts", + "battu", + "batty", + "bauds", + "bauks", + "baulk", + "baurs", + "bavin", + "bawds", + "bawdy", + "bawks", + "bawls", + "bawns", + "bawrs", + "bawty", + "bayed", + "bayer", + "bayes", + "bayle", + "bayou", + "bayts", + "bazar", + "bazoo", + "beach", + "beads", + "beady", + "beaks", + "beaky", + "beals", + "beams", + "beamy", + "beano", + "beans", + "beany", + "beard", + "beare", + "bears", + "beast", + "beath", + "beats", + "beaty", + "beaus", + "beaut", + "beaux", + "bebop", + "becap", + "becke", + "becks", + "bedad", + "bedel", + "bedes", + "bedew", + "bedim", + "bedye", + "beech", + "beedi", + "beefs", + "beefy", + "beeps", + "beers", + "beery", + "beets", + "befit", + "befog", + "begad", + "began", + "begar", + "begat", + "begem", + "beget", + "begin", + "begot", + "begum", + "begun", + "beige", + "beigy", + "being", + "beins", + "bekah", + "belah", + "belar", + "belay", + "belch", + "belee", + "belga", + "belie", + "belle", + "bells", + "belly", + "belon", + "below", + "belts", + "bemad", + "bemas", + "bemix", + "bemud", + "bench", + "bends", + "bendy", + "benes", + "benet", + "benga", + "benis", + "benne", + "benni", + "benny", + "bento", + "bents", + "benty", + "bepat", + "beray", + "beres", + "beret", + "bergs", + "berko", + "berks", + "berme", + "berms", + "berob", + "berry", + "berth", + "beryl", + "besat", + "besaw", + "besee", + "beses", + "beset", + "besit", + "besom", + "besot", + "besti", + "bests", + "betas", + "beted", + "betel", + "betes", + "beths", + "betid", + "beton", + "betta", + "betty", + "bevel", + "bever", + "bevor", + "bevue", + "bevvy", + "bewet", + "bewig", + "bezel", + "bezes", + "bezil", + "bezzy", + "bhais", + "bhaji", + "bhang", + "bhats", + "bhels", + "bhoot", + "bhuna", + "bhuts", + "biach", + "biali", + "bialy", + "bibbs", + "bibes", + "bible", + "biccy", + "bicep", + "bices", + "biddy", + "bided", + "bider", + "bides", + "bidet", + "bidis", + "bidon", + "bield", + "biers", + "biffo", + "biffs", + "biffy", + "bifid", + "bigae", + "biggs", + "biggy", + "bigha", + "bight", + "bigly", + "bigos", + "bigot", + "bijou", + "biked", + "biker", + "bikes", + "bikie", + "bilbo", + "bilby", + "biled", + "biles", + "bilge", + "bilgy", + "bilks", + "bills", + "billy", + "bimah", + "bimas", + "bimbo", + "binal", + "bindi", + "binds", + "biner", + "bines", + "binge", + "bingo", + "bings", + "bingy", + "binit", + "binks", + "bints", + "biogs", + "biome", + "biont", + "biota", + "biped", + "bipod", + "birch", + "birds", + "birks", + "birle", + "birls", + "biros", + "birrs", + "birse", + "birsy", + "birth", + "bises", + "bisks", + "bisom", + "bison", + "biter", + "bites", + "bitos", + "bitou", + "bitsy", + "bitte", + "bitts", + "bitty", + "bivia", + "bivvy", + "bizes", + "bizzo", + "bizzy", + "blabs", + "black", + "blade", + "blads", + "blady", + "blaer", + "blaes", + "blaff", + "blags", + "blahs", + "blain", + "blame", + "blams", + "bland", + "blank", + "blare", + "blart", + "blase", + "blash", + "blast", + "blate", + "blats", + "blatt", + "blaud", + "blawn", + "blaws", + "blays", + "blaze", + "bleak", + "blear", + "bleat", + "blebs", + "blech", + "bleed", + "bleep", + "blees", + "blend", + "blent", + "blert", + "bless", + "blest", + "blets", + "bleys", + "blimp", + "blimy", + "blind", + "bling", + "blini", + "blink", + "blins", + "bliny", + "blips", + "bliss", + "blist", + "blite", + "blits", + "blitz", + "blive", + "bloat", + "blobs", + "block", + "blocs", + "blogs", + "bloke", + "blond", + "blood", + "blook", + "bloom", + "bloop", + "blore", + "blots", + "blown", + "blows", + "blowy", + "blubs", + "blude", + "bluds", + "bludy", + "blued", + "bluer", + "blues", + "bluet", + "bluey", + "bluff", + "bluid", + "blume", + "blunk", + "blunt", + "blurb", + "blurs", + "blurt", + "blush", + "blype", + "boabs", + "boaks", + "board", + "boars", + "boart", + "boast", + "boats", + "bobac", + "bobak", + "bobas", + "bobby", + "bobol", + "bobos", + "bocca", + "bocce", + "bocci", + "boche", + "bocks", + "boded", + "bodes", + "bodge", + "bodhi", + "bodle", + "boeps", + "boets", + "boeuf", + "boffo", + "boffs", + "bogan", + "bogey", + "boggy", + "bogie", + "bogle", + "bogue", + "bogus", + "bohea", + "bohos", + "boils", + "boing", + "boink", + "boite", + "boked", + "bokeh", + "bokes", + "bokos", + "bolar", + "bolas", + "bolds", + "boles", + "bolix", + "bolls", + "bolos", + "bolts", + "bolus", + "bomas", + "bombe", + "bombo", + "bombs", + "bonce", + "bonds", + "boned", + "boner", + "bones", + "boney", + "bongo", + "bongs", + "bonie", + "bonks", + "bonne", + "bonny", + "bonus", + "bonza", + "bonze", + "booai", + "booay", + "boobs", + "booby", + "boody", + "booed", + "boofy", + "boogy", + "boohs", + "books", + "booky", + "bools", + "booms", + "boomy", + "boong", + "boons", + "boord", + "boors", + "boose", + "boost", + "booth", + "boots", + "booty", + "booze", + "boozy", + "boppy", + "borak", + "boral", + "boras", + "borax", + "borde", + "bords", + "bored", + "boree", + "borel", + "borer", + "bores", + "borgo", + "boric", + "borks", + "borms", + "borna", + "borne", + "boron", + "borts", + "borty", + "bortz", + "bosie", + "bosks", + "bosky", + "bosom", + "boson", + "bossy", + "bosun", + "botas", + "botch", + "botel", + "botes", + "bothy", + "botte", + "botts", + "botty", + "bouge", + "bough", + "bouks", + "boule", + "boult", + "bound", + "bouns", + "bourd", + "bourg", + "bourn", + "bouse", + "bousy", + "bouts", + "bovid", + "bowat", + "bowed", + "bowel", + "bower", + "bowes", + "bowet", + "bowie", + "bowls", + "bowne", + "bowrs", + "bowse", + "boxed", + "boxen", + "boxer", + "boxes", + "boxla", + "boxty", + "boyar", + "boyau", + "boyed", + "boyfs", + "boygs", + "boyla", + "boyos", + "boysy", + "bozos", + "braai", + "brace", + "brach", + "brack", + "bract", + "brads", + "braes", + "brags", + "braid", + "brail", + "brain", + "brake", + "braks", + "braky", + "brame", + "brand", + "brane", + "brank", + "brans", + "brant", + "brash", + "brass", + "brast", + "brats", + "brava", + "brave", + "bravi", + "bravo", + "brawl", + "brawn", + "braws", + "braxy", + "brays", + "braza", + "braze", + "bread", + "break", + "bream", + "brede", + "breds", + "breed", + "breem", + "breer", + "brees", + "breid", + "breis", + "breme", + "brens", + "brent", + "brere", + "brers", + "breve", + "brews", + "breys", + "briar", + "bribe", + "brick", + "bride", + "brief", + "brier", + "bries", + "brigs", + "briki", + "briks", + "brill", + "brims", + "brine", + "bring", + "brink", + "brins", + "briny", + "brios", + "brise", + "brisk", + "briss", + "brith", + "brits", + "britt", + "brize", + "broad", + "broch", + "brock", + "brods", + "brogh", + "brogs", + "broil", + "broke", + "brome", + "bromo", + "bronc", + "brond", + "brood", + "brook", + "brool", + "broom", + "broos", + "brose", + "brosy", + "broth", + "brown", + "brows", + "brugh", + "bruin", + "bruit", + "brule", + "brume", + "brung", + "brunt", + "brush", + "brusk", + "brust", + "brute", + "bruts", + "buats", + "buaze", + "bubal", + "bubas", + "bubba", + "bubbe", + "bubby", + "bubus", + "buchu", + "bucko", + "bucks", + "bucku", + "budas", + "buddy", + "budge", + "budis", + "budos", + "buffa", + "buffe", + "buffi", + "buffo", + "buffs", + "buffy", + "bufos", + "bufty", + "buggy", + "bugle", + "buhls", + "buhrs", + "buiks", + "build", + "built", + "buist", + "bukes", + "bulbs", + "bulge", + "bulgy", + "bulks", + "bulky", + "bulla", + "bulls", + "bully", + "bulse", + "bumbo", + "bumfs", + "bumph", + "bumps", + "bumpy", + "bunas", + "bunce", + "bunch", + "bunco", + "bunde", + "bundh", + "bunds", + "bundt", + "bundu", + "bundy", + "bungs", + "bungy", + "bunia", + "bunje", + "bunjy", + "bunko", + "bunks", + "bunns", + "bunny", + "bunts", + "bunty", + "bunya", + "buoys", + "buppy", + "buran", + "buras", + "burbs", + "burds", + "buret", + "burfi", + "burgh", + "burgs", + "burin", + "burka", + "burke", + "burks", + "burls", + "burly", + "burns", + "burnt", + "buroo", + "burps", + "burqa", + "burro", + "burrs", + "burry", + "bursa", + "burse", + "burst", + "busby", + "bused", + "buses", + "bushy", + "busks", + "busky", + "bussu", + "busti", + "busts", + "busty", + "butch", + "buteo", + "butes", + "butle", + "butoh", + "butte", + "butts", + "butty", + "butut", + "butyl", + "buxom", + "buyer", + "buzzy", + "bwana", + "bwazi", + "byded", + "bydes", + "byked", + "bykes", + "bylaw", + "byres", + "byrls", + "byssi", + "bytes", + "byway", + "caaed", + "cabal", + "cabas", + "cabby", + "caber", + "cabin", + "cable", + "cabob", + "caboc", + "cabre", + "cacao", + "cacas", + "cache", + "cacks", + "cacky", + "cacti", + "caddy", + "cadee", + "cades", + "cadet", + "cadge", + "cadgy", + "cadie", + "cadis", + "cadre", + "caeca", + "caese", + "cafes", + "caffs", + "caged", + "cager", + "cages", + "cagey", + "cagot", + "cahow", + "caids", + "cains", + "caird", + "cairn", + "cajon", + "cajun", + "caked", + "cakes", + "cakey", + "calfs", + "calid", + "calif", + "calix", + "calks", + "calla", + "calls", + "calms", + "calmy", + "calos", + "calpa", + "calps", + "calve", + "calyx", + "caman", + "camas", + "camel", + "cameo", + "cames", + "camis", + "camos", + "campi", + "campo", + "camps", + "campy", + "camus", + "canal", + "candy", + "caned", + "caneh", + "caner", + "canes", + "cangs", + "canid", + "canna", + "canns", + "canny", + "canoe", + "canon", + "canso", + "canst", + "canto", + "cants", + "canty", + "capas", + "caped", + "caper", + "capes", + "capex", + "caphs", + "capiz", + "caple", + "capon", + "capos", + "capot", + "capri", + "capul", + "caput", + "carap", + "carat", + "carbo", + "carbs", + "carby", + "cardi", + "cards", + "cardy", + "cared", + "carer", + "cares", + "caret", + "carex", + "cargo", + "carks", + "carle", + "carls", + "carns", + "carny", + "carob", + "carol", + "carom", + "caron", + "carpi", + "carps", + "carrs", + "carry", + "carse", + "carta", + "carte", + "carts", + "carve", + "carvy", + "casas", + "casco", + "cased", + "cases", + "casks", + "casky", + "caste", + "casts", + "casus", + "catch", + "cater", + "cates", + "catty", + "cauda", + "cauks", + "cauld", + "caulk", + "cauls", + "caums", + "caups", + "cauri", + "causa", + "cause", + "cavas", + "caved", + "cavel", + "caver", + "caves", + "cavie", + "cavil", + "cawed", + "cawks", + "caxon", + "cease", + "ceaze", + "cebid", + "cecal", + "cecum", + "cedar", + "ceded", + "ceder", + "cedes", + "cedis", + "ceiba", + "ceili", + "ceils", + "celeb", + "cella", + "celli", + "cello", + "cells", + "celom", + "celts", + "cense", + "cento", + "cents", + "centu", + "ceorl", + "cepes", + "cerci", + "cered", + "ceres", + "cerge", + "ceria", + "ceric", + "cerne", + "ceroc", + "ceros", + "certs", + "certy", + "cesse", + "cesta", + "cesti", + "cetes", + "cetyl", + "cezve", + "chace", + "chack", + "chaco", + "chado", + "chads", + "chafe", + "chaff", + "chaft", + "chain", + "chair", + "chais", + "chalk", + "chals", + "champ", + "chams", + "chana", + "chang", + "chank", + "chant", + "chaos", + "chape", + "chaps", + "chapt", + "chara", + "chard", + "chare", + "chark", + "charm", + "charr", + "chars", + "chart", + "chary", + "chase", + "chasm", + "chats", + "chave", + "chavs", + "chawk", + "chaws", + "chaya", + "chays", + "cheap", + "cheat", + "check", + "cheek", + "cheep", + "cheer", + "chefs", + "cheka", + "chela", + "chelp", + "chemo", + "chems", + "chere", + "chert", + "chess", + "chest", + "cheth", + "chevy", + "chews", + "chewy", + "chiao", + "chias", + "chibs", + "chica", + "chich", + "chick", + "chico", + "chics", + "chide", + "chief", + "chiel", + "chiks", + "child", + "chile", + "chili", + "chill", + "chimb", + "chime", + "chimo", + "chimp", + "china", + "chine", + "ching", + "chino", + "chins", + "chips", + "chirk", + "chirl", + "chirm", + "chiro", + "chirp", + "chirr", + "chirt", + "chiru", + "chits", + "chive", + "chivs", + "chivy", + "chizz", + "chock", + "choco", + "chocs", + "chode", + "chogs", + "choil", + "choir", + "choke", + "choko", + "choky", + "chola", + "choli", + "cholo", + "chomp", + "chons", + "choof", + "chook", + "choom", + "choon", + "chops", + "chord", + "chore", + "chose", + "chota", + "chott", + "chout", + "choux", + "chowk", + "chows", + "chubs", + "chuck", + "chufa", + "chuff", + "chugs", + "chump", + "chums", + "chunk", + "churl", + "churn", + "churr", + "chuse", + "chute", + "chuts", + "chyle", + "chyme", + "chynd", + "cibol", + "cided", + "cider", + "cides", + "ciels", + "cigar", + "ciggy", + "cilia", + "cills", + "cimar", + "cimex", + "cinch", + "cinct", + "cines", + "cinqs", + "cions", + "cippi", + "circa", + "circs", + "cires", + "cirls", + "cirri", + "cisco", + "cissy", + "cists", + "cital", + "cited", + "citer", + "cites", + "cives", + "civet", + "civic", + "civie", + "civil", + "civvy", + "clach", + "clack", + "clade", + "clads", + "claes", + "clags", + "claim", + "clame", + "clamp", + "clams", + "clang", + "clank", + "clans", + "claps", + "clapt", + "claro", + "clart", + "clary", + "clash", + "clasp", + "class", + "clast", + "clats", + "claut", + "clave", + "clavi", + "claws", + "clays", + "clean", + "clear", + "cleat", + "cleck", + "cleek", + "cleep", + "clefs", + "cleft", + "clegs", + "cleik", + "clems", + "clepe", + "clept", + "clerk", + "cleve", + "clews", + "click", + "clied", + "clies", + "cliff", + "clift", + "climb", + "clime", + "cline", + "cling", + "clink", + "clint", + "clipe", + "clips", + "clipt", + "clits", + "cloak", + "cloam", + "clock", + "clods", + "cloff", + "clogs", + "cloke", + "clomb", + "clomp", + "clone", + "clonk", + "clons", + "cloop", + "cloot", + "clops", + "close", + "clote", + "cloth", + "clots", + "cloud", + "clour", + "clous", + "clout", + "clove", + "clown", + "clows", + "cloye", + "cloys", + "cloze", + "clubs", + "cluck", + "clued", + "clues", + "cluey", + "clump", + "clung", + "clunk", + "clype", + "cnida", + "coach", + "coact", + "coady", + "coala", + "coals", + "coaly", + "coapt", + "coarb", + "coast", + "coate", + "coati", + "coats", + "cobbs", + "cobby", + "cobia", + "coble", + "cobra", + "cobza", + "cocas", + "cocci", + "cocco", + "cocks", + "cocky", + "cocoa", + "cocos", + "codas", + "codec", + "coded", + "coden", + "coder", + "codes", + "codex", + "codon", + "coeds", + "coffs", + "cogie", + "cogon", + "cogue", + "cohab", + "cohen", + "cohoe", + "cohog", + "cohos", + "coifs", + "coign", + "coils", + "coins", + "coirs", + "coits", + "coked", + "cokes", + "colas", + "colby", + "colds", + "coled", + "coles", + "coley", + "colic", + "colin", + "colls", + "colly", + "colog", + "colon", + "color", + "colts", + "colza", + "comae", + "comal", + "comas", + "combe", + "combi", + "combo", + "combs", + "comby", + "comer", + "comes", + "comet", + "comfy", + "comic", + "comix", + "comma", + "commo", + "comms", + "commy", + "compo", + "comps", + "compt", + "comte", + "comus", + "conch", + "condo", + "coned", + "cones", + "coney", + "confs", + "conga", + "conge", + "congo", + "conia", + "conic", + "conin", + "conks", + "conky", + "conne", + "conns", + "conte", + "conto", + "conus", + "convo", + "cooch", + "cooed", + "cooee", + "cooer", + "cooey", + "coofs", + "cooks", + "cooky", + "cools", + "cooly", + "coomb", + "cooms", + "coomy", + "coops", + "coopt", + "coost", + "coots", + "cooze", + "copal", + "copay", + "coped", + "copen", + "coper", + "copes", + "coppy", + "copra", + "copse", + "copsy", + "coqui", + "coral", + "coram", + "corbe", + "corby", + "cords", + "cored", + "corer", + "cores", + "corey", + "corgi", + "coria", + "corks", + "corky", + "corms", + "corni", + "corno", + "corns", + "cornu", + "corny", + "corps", + "corse", + "corso", + "cosec", + "cosed", + "coses", + "coset", + "cosey", + "cosie", + "costa", + "coste", + "costs", + "cotan", + "coted", + "cotes", + "coths", + "cotta", + "cotts", + "couch", + "coude", + "cough", + "could", + "count", + "coupe", + "coups", + "courb", + "courd", + "coure", + "cours", + "court", + "couta", + "couth", + "coved", + "coven", + "cover", + "coves", + "covet", + "covey", + "covin", + "cowal", + "cowan", + "cowed", + "cower", + "cowks", + "cowls", + "cowps", + "cowry", + "coxae", + "coxal", + "coxed", + "coxes", + "coxib", + "coyau", + "coyed", + "coyer", + "coyly", + "coypu", + "cozed", + "cozen", + "cozes", + "cozey", + "cozie", + "craal", + "crabs", + "crack", + "craft", + "crags", + "craic", + "craig", + "crake", + "crame", + "cramp", + "crams", + "crane", + "crank", + "crans", + "crape", + "craps", + "crapy", + "crare", + "crash", + "crass", + "crate", + "crave", + "crawl", + "craws", + "crays", + "craze", + "crazy", + "creak", + "cream", + "credo", + "creds", + "creed", + "creek", + "creel", + "creep", + "crees", + "creme", + "crems", + "crena", + "crepe", + "creps", + "crept", + "crepy", + "cress", + "crest", + "crewe", + "crews", + "crias", + "cribs", + "crick", + "cried", + "crier", + "cries", + "crime", + "crimp", + "crims", + "crine", + "crios", + "cripe", + "crips", + "crise", + "crisp", + "crith", + "crits", + "croak", + "croci", + "crock", + "crocs", + "croft", + "crogs", + "cromb", + "crome", + "crone", + "cronk", + "crons", + "crony", + "crook", + "crool", + "croon", + "crops", + "crore", + "cross", + "crost", + "croup", + "crout", + "crowd", + "crown", + "crows", + "croze", + "cruck", + "crude", + "crudo", + "cruds", + "crudy", + "cruel", + "crues", + "cruet", + "cruft", + "crumb", + "crump", + "crunk", + "cruor", + "crura", + "cruse", + "crush", + "crust", + "crusy", + "cruve", + "crwth", + "cryer", + "crypt", + "ctene", + "cubby", + "cubeb", + "cubed", + "cuber", + "cubes", + "cubic", + "cubit", + "cuddy", + "cuffo", + "cuffs", + "cuifs", + "cuing", + "cuish", + "cuits", + "cukes", + "culch", + "culet", + "culex", + "culls", + "cully", + "culms", + "culpa", + "culti", + "cults", + "culty", + "cumec", + "cumin", + "cundy", + "cunei", + "cunit", + "cunts", + "cupel", + "cupid", + "cuppa", + "cuppy", + "curat", + "curbs", + "curch", + "curds", + "curdy", + "cured", + "curer", + "cures", + "curet", + "curfs", + "curia", + "curie", + "curio", + "curli", + "curls", + "curly", + "curns", + "curny", + "currs", + "curry", + "curse", + "cursi", + "curst", + "curve", + "curvy", + "cusec", + "cushy", + "cusks", + "cusps", + "cuspy", + "cusso", + "cusum", + "cutch", + "cuter", + "cutes", + "cutey", + "cutie", + "cutin", + "cutis", + "cutto", + "cutty", + "cutup", + "cuvee", + "cuzes", + "cwtch", + "cyano", + "cyans", + "cyber", + "cycad", + "cycas", + "cycle", + "cyclo", + "cyder", + "cylix", + "cymae", + "cymar", + "cymas", + "cymes", + "cymol", + "cynic", + "cysts", + "cytes", + "cyton", + "czars", + "daals", + "dabba", + "daces", + "dacha", + "dacks", + "dadah", + "dadas", + "daddy", + "dados", + "daffs", + "daffy", + "dagga", + "daggy", + "dagos", + "dahls", + "daiko", + "daily", + "daine", + "daint", + "dairy", + "daisy", + "daker", + "daled", + "dales", + "dalis", + "dalle", + "dally", + "dalts", + "daman", + "damar", + "dames", + "damme", + "damns", + "damps", + "dampy", + "dance", + "dancy", + "dandy", + "dangs", + "danio", + "danks", + "danny", + "dants", + "daraf", + "darbs", + "darcy", + "dared", + "darer", + "dares", + "darga", + "dargs", + "daric", + "daris", + "darks", + "darns", + "darre", + "darts", + "darzi", + "dashi", + "dashy", + "datal", + "dated", + "dater", + "dates", + "datos", + "datto", + "datum", + "daube", + "daubs", + "dauby", + "dauds", + "dault", + "daunt", + "daurs", + "dauts", + "daven", + "davit", + "dawah", + "dawds", + "dawed", + "dawen", + "dawks", + "dawns", + "dawts", + "dayan", + "daych", + "daynt", + "dazed", + "dazer", + "dazes", + "deads", + "deair", + "deals", + "dealt", + "deans", + "deare", + "dearn", + "dears", + "deary", + "deash", + "death", + "deave", + "deaws", + "deawy", + "debag", + "debar", + "debby", + "debel", + "debes", + "debit", + "debts", + "debud", + "debug", + "debur", + "debus", + "debut", + "debye", + "decad", + "decaf", + "decal", + "decan", + "decay", + "decko", + "decks", + "decor", + "decos", + "decoy", + "decry", + "dedal", + "deeds", + "deedy", + "deely", + "deems", + "deens", + "deeps", + "deere", + "deers", + "deets", + "deeve", + "deevs", + "defat", + "defer", + "deffo", + "defis", + "defog", + "degas", + "degum", + "degus", + "deice", + "deids", + "deify", + "deign", + "deils", + "deism", + "deist", + "deity", + "deked", + "dekes", + "dekko", + "delay", + "deled", + "deles", + "delfs", + "delft", + "delis", + "dells", + "delly", + "delos", + "delph", + "delta", + "delts", + "delve", + "deman", + "demes", + "demic", + "demit", + "demob", + "demoi", + "demon", + "demos", + "dempt", + "demur", + "denar", + "denay", + "dench", + "denes", + "denet", + "denim", + "denis", + "dense", + "dents", + "deoxy", + "depot", + "depth", + "derat", + "deray", + "derby", + "dered", + "deres", + "derig", + "derma", + "derms", + "derns", + "derny", + "deros", + "derro", + "derry", + "derth", + "dervs", + "desex", + "deshi", + "desis", + "desks", + "desse", + "deter", + "detox", + "deuce", + "devas", + "devel", + "devil", + "devis", + "devon", + "devos", + "devot", + "dewan", + "dewar", + "dewax", + "dewed", + "dexes", + "dexie", + "dhaba", + "dhaks", + "dhals", + "dhikr", + "dhobi", + "dhole", + "dholl", + "dhols", + "dhoti", + "dhows", + "dhuti", + "diact", + "dials", + "diane", + "diary", + "diazo", + "dibbs", + "diced", + "dicer", + "dices", + "dicey", + "dicht", + "dicks", + "dicky", + "dicot", + "dicta", + "dicts", + "dicty", + "diddy", + "didie", + "didos", + "didst", + "diebs", + "diels", + "diene", + "diets", + "diffs", + "dight", + "digit", + "dikas", + "diked", + "diker", + "dikes", + "dikey", + "dildo", + "dilli", + "dills", + "dilly", + "dimbo", + "dimer", + "dimes", + "dimly", + "dimps", + "dinar", + "dined", + "diner", + "dines", + "dinge", + "dingo", + "dings", + "dingy", + "dinic", + "dinks", + "dinky", + "dinna", + "dinos", + "dints", + "diode", + "diols", + "diota", + "dippy", + "dipso", + "diram", + "direr", + "dirge", + "dirke", + "dirks", + "dirls", + "dirts", + "dirty", + "disas", + "disci", + "disco", + "discs", + "dishy", + "disks", + "disme", + "dital", + "ditas", + "ditch", + "dited", + "dites", + "ditsy", + "ditto", + "ditts", + "ditty", + "ditzy", + "divan", + "divas", + "dived", + "diver", + "dives", + "divis", + "divna", + "divos", + "divot", + "divvy", + "diwan", + "dixie", + "dixit", + "diyas", + "dizen", + "dizzy", + "djinn", + "djins", + "doabs", + "doats", + "dobby", + "dobes", + "dobie", + "dobla", + "dobra", + "dobro", + "docht", + "docks", + "docos", + "docus", + "doddy", + "dodge", + "dodgy", + "dodos", + "doeks", + "doers", + "doest", + "doeth", + "doffs", + "dogan", + "doges", + "dogey", + "doggo", + "doggy", + "dogie", + "dogma", + "dohyo", + "doilt", + "doily", + "doing", + "doits", + "dojos", + "dolce", + "dolci", + "doled", + "doles", + "dolia", + "dolls", + "dolly", + "dolma", + "dolor", + "dolos", + "dolts", + "domal", + "domed", + "domes", + "domic", + "donah", + "donas", + "donee", + "doner", + "donga", + "dongs", + "donko", + "donna", + "donne", + "donny", + "donor", + "donsy", + "donut", + "doobs", + "dooce", + "doody", + "dooks", + "doole", + "dools", + "dooly", + "dooms", + "doomy", + "doona", + "doorn", + "doors", + "doozy", + "dopas", + "doped", + "doper", + "dopes", + "dopey", + "dorad", + "dorba", + "dorbs", + "doree", + "dores", + "doric", + "doris", + "dorks", + "dorky", + "dorms", + "dormy", + "dorps", + "dorrs", + "dorsa", + "dorse", + "dorts", + "dorty", + "dosai", + "dosas", + "dosed", + "doseh", + "doser", + "doses", + "dosha", + "dotal", + "doted", + "doter", + "dotes", + "dotty", + "douar", + "doubt", + "douce", + "doucs", + "dough", + "douks", + "doula", + "douma", + "doums", + "doups", + "doura", + "douse", + "douts", + "doved", + "doven", + "dover", + "doves", + "dovie", + "dowar", + "dowds", + "dowdy", + "dowed", + "dowel", + "dower", + "dowie", + "dowle", + "dowls", + "dowly", + "downa", + "downs", + "downy", + "dowps", + "dowry", + "dowse", + "dowts", + "doxed", + "doxes", + "doxie", + "doyen", + "doyly", + "dozed", + "dozen", + "dozer", + "dozes", + "drabs", + "drack", + "draco", + "draff", + "draft", + "drags", + "drail", + "drain", + "drake", + "drama", + "drams", + "drank", + "drant", + "drape", + "draps", + "drats", + "drave", + "drawl", + "drawn", + "draws", + "drays", + "dread", + "dream", + "drear", + "dreck", + "dreed", + "dreer", + "drees", + "dregs", + "dreks", + "drent", + "drere", + "dress", + "drest", + "dreys", + "dribs", + "drice", + "dried", + "drier", + "dries", + "drift", + "drill", + "drily", + "drink", + "drips", + "dript", + "drive", + "droid", + "droil", + "droit", + "droke", + "drole", + "droll", + "drome", + "drone", + "drony", + "droob", + "droog", + "drook", + "drool", + "droop", + "drops", + "dropt", + "dross", + "drouk", + "drove", + "drown", + "drows", + "drubs", + "drugs", + "druid", + "drums", + "drunk", + "drupe", + "druse", + "drusy", + "druxy", + "dryad", + "dryas", + "dryer", + "dryly", + "dsobo", + "dsomo", + "duads", + "duals", + "duans", + "duars", + "dubbo", + "ducal", + "ducat", + "duces", + "duchy", + "ducks", + "ducky", + "ducts", + "duddy", + "duded", + "dudes", + "duels", + "duets", + "duett", + "duffs", + "dufus", + "duing", + "duits", + "dukas", + "duked", + "dukes", + "dukka", + "dulce", + "dules", + "dulia", + "dulls", + "dully", + "dulse", + "dumas", + "dumbo", + "dumbs", + "dumka", + "dumky", + "dummy", + "dumps", + "dumpy", + "dunam", + "dunce", + "dunch", + "dunes", + "dungs", + "dungy", + "dunks", + "dunno", + "dunny", + "dunsh", + "dunts", + "duomi", + "duomo", + "duped", + "duper", + "dupes", + "duple", + "duply", + "duppy", + "dural", + "duras", + "dured", + "dures", + "durgy", + "durns", + "duroc", + "duros", + "duroy", + "durra", + "durrs", + "durry", + "durst", + "durum", + "durzi", + "dusks", + "dusky", + "dusts", + "dusty", + "dutch", + "duvet", + "duxes", + "dwaal", + "dwale", + "dwalm", + "dwams", + "dwang", + "dwarf", + "dwaum", + "dweeb", + "dwell", + "dwelt", + "dwile", + "dwine", + "dyads", + "dyers", + "dying", + "dykon", + "dynel", + "dynes", + "dzhos", + "eager", + "eagle", + "eagre", + "ealed", + "eales", + "eaned", + "eards", + "eared", + "earls", + "early", + "earns", + "earnt", + "earst", + "earth", + "eased", + "easel", + "easer", + "eases", + "easle", + "easts", + "eaten", + "eater", + "eathe", + "eaved", + "eaves", + "ebbed", + "ebbet", + "ebons", + "ebony", + "ebook", + "ecads", + "eched", + "eches", + "echos", + "eclat", + "ecrus", + "edema", + "edged", + "edger", + "edges", + "edict", + "edify", + "edile", + "edits", + "educe", + "educt", + "eejit", + "eensy", + "eerie", + "eeven", + "eevns", + "effed", + "egads", + "egers", + "egest", + "eggar", + "egged", + "egger", + "egmas", + "egret", + "ehing", + "eider", + "eidos", + "eight", + "eigne", + "eiked", + "eikon", + "eilds", + "eisel", + "eject", + "ejido", + "eking", + "ekkas", + "elain", + "eland", + "elans", + "elate", + "elbow", + "elchi", + "elder", + "eldin", + "elect", + "elegy", + "elemi", + "elfed", + "elfin", + "eliad", + "elide", + "elint", + "elite", + "elmen", + "eloge", + "elogy", + "eloin", + "elope", + "elops", + "elpee", + "elsin", + "elude", + "elute", + "elvan", + "elven", + "elver", + "elves", + "emacs", + "email", + "embar", + "embay", + "embed", + "ember", + "embog", + "embow", + "embox", + "embus", + "emcee", + "emeer", + "emend", + "emerg", + "emery", + "emeus", + "emics", + "emirs", + "emits", + "emmas", + "emmer", + "emmet", + "emmew", + "emmys", + "emoji", + "emong", + "emote", + "emove", + "empts", + "empty", + "emule", + "emure", + "emyde", + "emyds", + "enact", + "enarm", + "enate", + "ended", + "ender", + "endew", + "endow", + "endue", + "enema", + "enemy", + "enews", + "enfix", + "eniac", + "enjoy", + "enlit", + "enmew", + "ennog", + "ennui", + "enoki", + "enols", + "enorm", + "enows", + "enrol", + "ensew", + "ensky", + "ensue", + "enter", + "entia", + "entry", + "enure", + "enurn", + "envoi", + "envoy", + "enzym", + "eorls", + "eosin", + "epact", + "epees", + "ephah", + "ephas", + "ephod", + "ephor", + "epics", + "epoch", + "epode", + "epopt", + "epoxy", + "epris", + "equal", + "eques", + "equid", + "equip", + "erase", + "erbia", + "erect", + "erevs", + "ergon", + "ergos", + "ergot", + "erhus", + "erica", + "erick", + "erics", + "ering", + "erned", + "ernes", + "erode", + "erose", + "erred", + "error", + "erses", + "eruct", + "erugo", + "erupt", + "eruvs", + "erven", + "ervil", + "escar", + "escot", + "esile", + "eskar", + "esker", + "esnes", + "essay", + "esses", + "ester", + "estoc", + "estop", + "estro", + "etage", + "etape", + "etats", + "etens", + "ethal", + "ether", + "ethic", + "ethne", + "ethos", + "ethyl", + "etics", + "etnas", + "ettin", + "ettle", + "etude", + "etuis", + "etwee", + "etyma", + "eughs", + "euked", + "eupad", + "euros", + "eusol", + "evade", + "evens", + "event", + "evert", + "every", + "evets", + "evhoe", + "evict", + "evils", + "evite", + "evohe", + "evoke", + "ewers", + "ewest", + "ewhow", + "ewked", + "exact", + "exalt", + "exams", + "excel", + "exeat", + "execs", + "exeem", + "exeme", + "exert", + "exfil", + "exies", + "exile", + "exine", + "exing", + "exist", + "exits", + "exode", + "exome", + "exons", + "expat", + "expel", + "expos", + "extol", + "extra", + "exude", + "exuls", + "exult", + "exurb", + "eyass", + "eyers", + "eying", + "eyots", + "eyras", + "eyres", + "eyrie", + "eyrir", + "ezine", + "fabby", + "fable", + "faced", + "facer", + "faces", + "facet", + "facia", + "facta", + "facts", + "faddy", + "faded", + "fader", + "fades", + "fadge", + "fados", + "faena", + "faery", + "faffs", + "faffy", + "fagin", + "faiks", + "fails", + "faine", + "fains", + "faint", + "fairs", + "fairy", + "faith", + "faked", + "faker", + "fakes", + "fakey", + "fakie", + "fakir", + "falaj", + "falls", + "false", + "famed", + "fames", + "fanal", + "fancy", + "fands", + "fanes", + "fanga", + "fango", + "fangs", + "fanks", + "fanny", + "fanon", + "fanos", + "fanum", + "faqir", + "farad", + "farce", + "farci", + "farcy", + "fards", + "fared", + "farer", + "fares", + "farle", + "farls", + "farms", + "faros", + "farro", + "farse", + "farts", + "fasci", + "fasti", + "fasts", + "fatal", + "fated", + "fates", + "fatly", + "fatso", + "fatty", + "fatwa", + "faugh", + "fauld", + "fault", + "fauna", + "fauns", + "faurd", + "fauts", + "fauve", + "favas", + "favel", + "faver", + "faves", + "favor", + "favus", + "fawns", + "fawny", + "faxed", + "faxes", + "fayed", + "fayer", + "fayne", + "fayre", + "fazed", + "fazes", + "feals", + "feare", + "fears", + "feart", + "fease", + "feast", + "feats", + "feaze", + "fecal", + "feces", + "fecht", + "fecit", + "fecks", + "fedex", + "feebs", + "feeds", + "feels", + "feens", + "feers", + "feese", + "feeze", + "fehme", + "feign", + "feint", + "feist", + "felch", + "felid", + "fella", + "fells", + "felly", + "felon", + "felts", + "felty", + "femal", + "femes", + "femme", + "femmy", + "femur", + "fence", + "fends", + "fendy", + "fenis", + "fenks", + "fenny", + "fents", + "feods", + "feoff", + "feral", + "ferer", + "feres", + "feria", + "ferly", + "fermi", + "ferms", + "ferns", + "ferny", + "ferry", + "fesse", + "festa", + "fests", + "festy", + "fetal", + "fetas", + "fetch", + "feted", + "fetes", + "fetid", + "fetor", + "fetta", + "fetts", + "fetus", + "fetwa", + "feuar", + "feuds", + "feued", + "fever", + "fewer", + "feyed", + "feyer", + "feyly", + "fezes", + "fezzy", + "fiars", + "fiats", + "fiber", + "fibro", + "fices", + "fiche", + "fichu", + "ficin", + "ficos", + "ficus", + "fides", + "fidge", + "fidos", + "fiefs", + "field", + "fiend", + "fient", + "fiere", + "fiers", + "fiery", + "fiest", + "fifed", + "fifer", + "fifes", + "fifis", + "fifth", + "fifty", + "figgy", + "fight", + "figos", + "fiked", + "fikes", + "filar", + "filch", + "filed", + "filer", + "files", + "filet", + "filii", + "filks", + "fille", + "fillo", + "fills", + "filly", + "filmi", + "films", + "filmy", + "filos", + "filth", + "filum", + "final", + "finca", + "finch", + "finds", + "fined", + "finer", + "fines", + "finis", + "finks", + "finny", + "finos", + "fiord", + "fiqhs", + "fique", + "fired", + "firer", + "fires", + "firie", + "firks", + "firms", + "firns", + "firry", + "first", + "firth", + "fiscs", + "fishy", + "fisks", + "fists", + "fisty", + "fitch", + "fitly", + "fitna", + "fitte", + "fitts", + "fiver", + "fives", + "fixed", + "fixer", + "fixes", + "fixit", + "fizzy", + "fjeld", + "fjord", + "flabs", + "flack", + "flaff", + "flags", + "flail", + "flair", + "flake", + "flaks", + "flaky", + "flame", + "flamm", + "flams", + "flamy", + "flane", + "flank", + "flans", + "flaps", + "flare", + "flary", + "flash", + "flask", + "flats", + "flava", + "flawn", + "flaws", + "flawy", + "flaxy", + "flays", + "fleam", + "fleas", + "fleck", + "fleek", + "fleer", + "flees", + "fleet", + "flegs", + "fleme", + "flesh", + "fleur", + "flews", + "flexi", + "flexo", + "fleys", + "flick", + "flics", + "flied", + "flier", + "flies", + "flimp", + "flims", + "fling", + "flint", + "flips", + "flirs", + "flirt", + "flisk", + "flite", + "flits", + "flitt", + "float", + "flobs", + "flock", + "flocs", + "floes", + "flogs", + "flong", + "flood", + "floor", + "flops", + "flora", + "flors", + "flory", + "flosh", + "floss", + "flota", + "flote", + "flour", + "flout", + "flown", + "flows", + "flubs", + "flued", + "flues", + "fluey", + "fluff", + "fluid", + "fluke", + "fluky", + "flume", + "flump", + "flung", + "flunk", + "fluor", + "flurr", + "flush", + "flute", + "fluty", + "fluyt", + "flyby", + "flyer", + "flype", + "flyte", + "foals", + "foams", + "foamy", + "focal", + "focus", + "foehn", + "fogey", + "foggy", + "fogie", + "fogle", + "fogou", + "fohns", + "foids", + "foils", + "foins", + "foist", + "folds", + "foley", + "folia", + "folic", + "folie", + "folio", + "folks", + "folky", + "folly", + "fomes", + "fonda", + "fonds", + "fondu", + "fones", + "fonly", + "fonts", + "foods", + "foody", + "fools", + "foots", + "footy", + "foram", + "foray", + "forbs", + "forby", + "force", + "fordo", + "fords", + "forel", + "fores", + "forex", + "forge", + "forgo", + "forks", + "forky", + "forme", + "forms", + "forte", + "forth", + "forts", + "forty", + "forum", + "forza", + "forze", + "fossa", + "fosse", + "fouat", + "fouds", + "fouer", + "fouet", + "foule", + "fouls", + "found", + "fount", + "fours", + "fouth", + "fovea", + "fowls", + "fowth", + "foxed", + "foxes", + "foxie", + "foyer", + "foyle", + "foyne", + "frabs", + "frack", + "fract", + "frags", + "frail", + "fraim", + "frame", + "franc", + "frank", + "frape", + "fraps", + "frass", + "frate", + "frati", + "frats", + "fraud", + "fraus", + "frays", + "freak", + "freed", + "freer", + "frees", + "freet", + "freit", + "fremd", + "frena", + "freon", + "frere", + "fresh", + "frets", + "friar", + "fribs", + "fried", + "frier", + "fries", + "frigs", + "frill", + "frise", + "frisk", + "frist", + "frith", + "frits", + "fritt", + "fritz", + "frize", + "frizz", + "frock", + "froes", + "frogs", + "frond", + "frons", + "front", + "frore", + "frorn", + "frory", + "frosh", + "frost", + "froth", + "frown", + "frows", + "frowy", + "froze", + "frugs", + "fruit", + "frump", + "frush", + "frust", + "fryer", + "fubar", + "fubby", + "fubsy", + "fucks", + "fucus", + "fuddy", + "fudge", + "fudgy", + "fuels", + "fuero", + "fuffs", + "fuffy", + "fugal", + "fuggy", + "fugie", + "fugio", + "fugle", + "fugly", + "fugue", + "fugus", + "fujis", + "fulls", + "fully", + "fumed", + "fumer", + "fumes", + "fumet", + "fundi", + "funds", + "fundy", + "fungi", + "fungo", + "fungs", + "funks", + "funky", + "funny", + "fural", + "furan", + "furca", + "furls", + "furol", + "furor", + "furrs", + "furry", + "furth", + "furze", + "furzy", + "fused", + "fusee", + "fusel", + "fuses", + "fusil", + "fusks", + "fussy", + "fusts", + "fusty", + "futon", + "fuzed", + "fuzee", + "fuzes", + "fuzil", + "fuzzy", + "fyces", + "fyked", + "fykes", + "fyles", + "fyrds", + "fytte", + "gabba", + "gabby", + "gable", + "gaddi", + "gades", + "gadge", + "gadid", + "gadis", + "gadje", + "gadjo", + "gadso", + "gaffe", + "gaffs", + "gaged", + "gager", + "gages", + "gaids", + "gaily", + "gains", + "gairs", + "gaita", + "gaits", + "gaitt", + "gajos", + "galah", + "galas", + "galax", + "galea", + "galed", + "gales", + "galls", + "gally", + "galop", + "galut", + "galvo", + "gamas", + "gamay", + "gamba", + "gambe", + "gambo", + "gambs", + "gamed", + "gamer", + "games", + "gamey", + "gamic", + "gamin", + "gamma", + "gamme", + "gammy", + "gamps", + "gamut", + "ganch", + "gandy", + "ganef", + "ganev", + "gangs", + "ganja", + "ganof", + "gants", + "gaols", + "gaped", + "gaper", + "gapes", + "gapos", + "gappy", + "garbe", + "garbo", + "garbs", + "garda", + "gares", + "garis", + "garms", + "garni", + "garre", + "garth", + "garum", + "gases", + "gasps", + "gaspy", + "gassy", + "gasts", + "gatch", + "gated", + "gater", + "gates", + "gaths", + "gator", + "gauch", + "gaucy", + "gauds", + "gaudy", + "gauge", + "gauje", + "gault", + "gaums", + "gaumy", + "gaunt", + "gaups", + "gaurs", + "gauss", + "gauze", + "gauzy", + "gavel", + "gavot", + "gawcy", + "gawds", + "gawks", + "gawky", + "gawps", + "gawsy", + "gayal", + "gayer", + "gayly", + "gazal", + "gazar", + "gazed", + "gazer", + "gazes", + "gazon", + "gazoo", + "geals", + "geans", + "geare", + "gears", + "geats", + "gebur", + "gecko", + "gecks", + "geeks", + "geeky", + "geeps", + "geese", + "geest", + "geist", + "geits", + "gelds", + "gelee", + "gelid", + "gelly", + "gelts", + "gemel", + "gemma", + "gemmy", + "gemot", + "genal", + "genas", + "genes", + "genet", + "genic", + "genie", + "genii", + "genip", + "genny", + "genoa", + "genom", + "genre", + "genro", + "gents", + "genty", + "genua", + "genus", + "geode", + "geoid", + "gerah", + "gerbe", + "geres", + "gerle", + "germs", + "germy", + "gerne", + "gesse", + "gesso", + "geste", + "gests", + "getas", + "getup", + "geums", + "geyan", + "geyer", + "ghast", + "ghats", + "ghaut", + "ghazi", + "ghees", + "ghest", + "ghost", + "ghoul", + "ghyll", + "giant", + "gibed", + "gibel", + "giber", + "gibes", + "gibli", + "gibus", + "giddy", + "gifts", + "gigas", + "gighe", + "gigot", + "gigue", + "gilas", + "gilds", + "gilet", + "gills", + "gilly", + "gilpy", + "gilts", + "gimel", + "gimme", + "gimps", + "gimpy", + "ginch", + "ginge", + "gings", + "ginks", + "ginny", + "ginzo", + "gipon", + "gippo", + "gippy", + "gipsy", + "girds", + "girls", + "girly", + "girns", + "giron", + "giros", + "girrs", + "girsh", + "girth", + "girts", + "gismo", + "gisms", + "gists", + "gitch", + "gites", + "giust", + "gived", + "given", + "giver", + "gives", + "gizmo", + "glace", + "glade", + "glads", + "glady", + "glaik", + "glair", + "glams", + "gland", + "glans", + "glare", + "glary", + "glass", + "glaum", + "glaur", + "glaze", + "glazy", + "gleam", + "glean", + "gleba", + "glebe", + "gleby", + "glede", + "gleds", + "gleed", + "gleek", + "glees", + "gleet", + "gleis", + "glens", + "glent", + "gleys", + "glial", + "glias", + "glibs", + "glide", + "gliff", + "glift", + "glike", + "glime", + "glims", + "glint", + "glisk", + "glits", + "glitz", + "gloam", + "gloat", + "globe", + "globi", + "globs", + "globy", + "glode", + "glogg", + "gloms", + "gloom", + "gloop", + "glops", + "glory", + "gloss", + "glost", + "glout", + "glove", + "glows", + "gloze", + "glued", + "gluer", + "glues", + "gluey", + "glugs", + "glume", + "glums", + "gluon", + "glute", + "gluts", + "glyph", + "gnarl", + "gnarr", + "gnars", + "gnash", + "gnats", + "gnawn", + "gnaws", + "gnome", + "gnows", + "goads", + "goafs", + "goals", + "goary", + "goats", + "goaty", + "goban", + "gobar", + "gobbi", + "gobbo", + "gobby", + "gobis", + "gobos", + "godet", + "godly", + "godso", + "goels", + "goers", + "goest", + "goeth", + "goety", + "gofer", + "goffs", + "gogga", + "gogos", + "goier", + "going", + "gojis", + "golds", + "goldy", + "golem", + "goles", + "golfs", + "golly", + "golpe", + "golps", + "gombo", + "gomer", + "gompa", + "gonad", + "gonch", + "gonef", + "goner", + "gongs", + "gonia", + "gonif", + "gonks", + "gonna", + "gonof", + "gonys", + "gonzo", + "gooby", + "goods", + "goody", + "gooey", + "goofs", + "goofy", + "googs", + "gooky", + "goold", + "gools", + "gooly", + "goons", + "goony", + "goops", + "goopy", + "goors", + "goory", + "goose", + "goosy", + "gopak", + "gopik", + "goral", + "goras", + "gored", + "gores", + "gorge", + "goris", + "gorms", + "gormy", + "gorps", + "gorse", + "gorsy", + "gosht", + "gosse", + "gotch", + "goths", + "gothy", + "gotta", + "gouch", + "gouge", + "gouks", + "goura", + "gourd", + "gouts", + "gouty", + "gowan", + "gowds", + "gowfs", + "gowks", + "gowls", + "gowns", + "goxes", + "goyim", + "goyle", + "graal", + "grabs", + "grace", + "grade", + "grads", + "graff", + "graft", + "grail", + "grain", + "graip", + "grama", + "grame", + "gramp", + "grams", + "grana", + "grand", + "grans", + "grant", + "grape", + "graph", + "grapy", + "grasp", + "grass", + "grate", + "grave", + "gravs", + "gravy", + "grays", + "graze", + "great", + "grebe", + "grebo", + "grece", + "greed", + "greek", + "green", + "grees", + "greet", + "grege", + "grego", + "grein", + "grens", + "grese", + "greve", + "grews", + "greys", + "grice", + "gride", + "grids", + "grief", + "griff", + "grift", + "grigs", + "grike", + "grill", + "grime", + "grimy", + "grind", + "grins", + "griot", + "gripe", + "grips", + "gript", + "gripy", + "grise", + "grist", + "grisy", + "grith", + "grits", + "grize", + "groan", + "groat", + "grody", + "grogs", + "groin", + "groks", + "groma", + "grone", + "groof", + "groom", + "grope", + "gross", + "grosz", + "grots", + "grouf", + "group", + "grout", + "grove", + "grovy", + "growl", + "grown", + "grows", + "grrls", + "grrrl", + "grubs", + "grued", + "gruel", + "grues", + "grufe", + "gruff", + "grume", + "grump", + "grund", + "grunt", + "gryce", + "gryde", + "gryke", + "grype", + "grypt", + "guaco", + "guana", + "guano", + "guans", + "guard", + "guars", + "guava", + "gucks", + "gucky", + "gudes", + "guess", + "guest", + "guffs", + "gugas", + "guide", + "guids", + "guild", + "guile", + "guilt", + "guimp", + "guiro", + "guise", + "gulag", + "gular", + "gulas", + "gulch", + "gules", + "gulet", + "gulfs", + "gulfy", + "gulls", + "gully", + "gulph", + "gulps", + "gulpy", + "gumbo", + "gumma", + "gummi", + "gummy", + "gumps", + "gundy", + "gunge", + "gungy", + "gunks", + "gunky", + "gunny", + "guppy", + "guqin", + "gurdy", + "gurge", + "gurls", + "gurly", + "gurns", + "gurry", + "gursh", + "gurus", + "gushy", + "gusla", + "gusle", + "gusli", + "gussy", + "gusto", + "gusts", + "gusty", + "gutsy", + "gutta", + "gutty", + "guyed", + "guyle", + "guyot", + "guyse", + "gwine", + "gyals", + "gyans", + "gybed", + "gybes", + "gyeld", + "gymps", + "gynae", + "gynie", + "gynny", + "gynos", + "gyoza", + "gypos", + "gyppo", + "gyppy", + "gypsy", + "gyral", + "gyred", + "gyres", + "gyron", + "gyros", + "gyrus", + "gytes", + "gyved", + "gyves", + "haafs", + "haars", + "habit", + "hable", + "habus", + "hacek", + "hacks", + "hadal", + "haded", + "hades", + "hadji", + "hadst", + "haems", + "haets", + "haffs", + "hafiz", + "hafts", + "haggs", + "hahas", + "haick", + "haika", + "haiks", + "haiku", + "hails", + "haily", + "hains", + "haint", + "hairs", + "hairy", + "haith", + "hajes", + "hajis", + "hajji", + "hakam", + "hakas", + "hakea", + "hakes", + "hakim", + "hakus", + "halal", + "haled", + "haler", + "hales", + "halfa", + "halfs", + "halid", + "hallo", + "halls", + "halma", + "halms", + "halon", + "halos", + "halse", + "halts", + "halva", + "halve", + "halwa", + "hamal", + "hamba", + "hamed", + "hames", + "hammy", + "hamza", + "hanap", + "hance", + "hanch", + "hands", + "handy", + "hangi", + "hangs", + "hanks", + "hanky", + "hansa", + "hanse", + "hants", + "haole", + "haoma", + "hapax", + "haply", + "happi", + "happy", + "hapus", + "haram", + "hards", + "hardy", + "hared", + "harem", + "hares", + "harim", + "harks", + "harls", + "harms", + "harns", + "haros", + "harps", + "harpy", + "harry", + "harsh", + "harts", + "hashy", + "hasks", + "hasps", + "hasta", + "haste", + "hasty", + "hatch", + "hated", + "hater", + "hates", + "hatha", + "hauds", + "haufs", + "haugh", + "hauld", + "haulm", + "hauls", + "hault", + "hauns", + "haunt", + "hause", + "haute", + "haven", + "haver", + "haves", + "havoc", + "hawed", + "hawks", + "hawms", + "hawse", + "hayed", + "hayer", + "hayey", + "hayle", + "hazan", + "hazed", + "hazel", + "hazer", + "hazes", + "heads", + "heady", + "heald", + "heals", + "heame", + "heaps", + "heapy", + "heard", + "heare", + "hears", + "heart", + "heast", + "heath", + "heats", + "heave", + "heavy", + "heben", + "hebes", + "hecht", + "hecks", + "heder", + "hedge", + "hedgy", + "heeds", + "heedy", + "heels", + "heeze", + "hefte", + "hefts", + "hefty", + "heids", + "heigh", + "heils", + "heirs", + "heist", + "hejab", + "hejra", + "heled", + "heles", + "helio", + "helix", + "hello", + "hells", + "helms", + "helos", + "helot", + "helps", + "helve", + "hemal", + "hemes", + "hemic", + "hemin", + "hemps", + "hempy", + "hence", + "hench", + "hends", + "henge", + "henna", + "henny", + "henry", + "hents", + "hepar", + "herbs", + "herby", + "herds", + "heres", + "herls", + "herma", + "herms", + "herns", + "heron", + "heros", + "herry", + "herse", + "hertz", + "herye", + "hesps", + "hests", + "hetes", + "heths", + "heuch", + "heugh", + "hevea", + "hewed", + "hewer", + "hewgh", + "hexad", + "hexed", + "hexer", + "hexes", + "hexyl", + "heyed", + "hiant", + "hicks", + "hided", + "hider", + "hides", + "hiems", + "highs", + "hight", + "hijab", + "hijra", + "hiked", + "hiker", + "hikes", + "hikoi", + "hilar", + "hilch", + "hillo", + "hills", + "hilly", + "hilts", + "hilum", + "hilus", + "himbo", + "hinau", + "hinds", + "hinge", + "hings", + "hinky", + "hinny", + "hints", + "hiois", + "hiply", + "hippo", + "hippy", + "hired", + "hiree", + "hirer", + "hires", + "hissy", + "hists", + "hitch", + "hithe", + "hived", + "hiver", + "hives", + "hizen", + "hoaed", + "hoagy", + "hoard", + "hoars", + "hoary", + "hoast", + "hobby", + "hobos", + "hocks", + "hocus", + "hodad", + "hodja", + "hoers", + "hogan", + "hogen", + "hoggs", + "hoghs", + "hohed", + "hoick", + "hoied", + "hoiks", + "hoing", + "hoise", + "hoist", + "hokas", + "hoked", + "hokes", + "hokey", + "hokis", + "hokku", + "hokum", + "holds", + "holed", + "holes", + "holey", + "holks", + "holla", + "hollo", + "holly", + "holme", + "holms", + "holon", + "holos", + "holts", + "homas", + "homed", + "homer", + "homes", + "homey", + "homie", + "homme", + "honan", + "honda", + "honds", + "honed", + "honer", + "hones", + "honey", + "hongi", + "hongs", + "honks", + "honky", + "honor", + "hooch", + "hoods", + "hoody", + "hooey", + "hoofs", + "hooka", + "hooks", + "hooky", + "hooly", + "hoons", + "hoops", + "hoord", + "hoors", + "hoosh", + "hoots", + "hooty", + "hoove", + "hopak", + "hoped", + "hoper", + "hopes", + "hoppy", + "horah", + "horal", + "horas", + "horde", + "horis", + "horks", + "horme", + "horns", + "horny", + "horse", + "horst", + "horsy", + "hosed", + "hosel", + "hosen", + "hoser", + "hoses", + "hosey", + "hosta", + "hosts", + "hotch", + "hotel", + "hoten", + "hotly", + "hotty", + "houff", + "houfs", + "hough", + "hound", + "houri", + "hours", + "house", + "houts", + "hovea", + "hoved", + "hovel", + "hoven", + "hover", + "hoves", + "howbe", + "howdy", + "howes", + "howff", + "howfs", + "howks", + "howls", + "howre", + "howso", + "hoxed", + "hoxes", + "hoyas", + "hoyed", + "hoyle", + "hubby", + "hucks", + "hudna", + "hudud", + "huers", + "huffs", + "huffy", + "huger", + "huggy", + "huhus", + "huias", + "hulas", + "hules", + "hulks", + "hulky", + "hullo", + "hulls", + "hully", + "human", + "humas", + "humfs", + "humic", + "humid", + "humor", + "humph", + "humps", + "humpy", + "humus", + "hunch", + "hunks", + "hunky", + "hunts", + "hurds", + "hurls", + "hurly", + "hurra", + "hurry", + "hurst", + "hurts", + "hushy", + "husks", + "husky", + "husos", + "hussy", + "hutch", + "hutia", + "huzza", + "huzzy", + "hwyls", + "hydra", + "hydro", + "hyena", + "hyens", + "hygge", + "hying", + "hykes", + "hylas", + "hyleg", + "hyles", + "hylic", + "hymen", + "hymns", + "hynde", + "hyoid", + "hyped", + "hyper", + "hypes", + "hypha", + "hyphy", + "hypos", + "hyrax", + "hyson", + "hythe", + "iambi", + "iambs", + "ibrik", + "icers", + "iched", + "iches", + "ichor", + "icier", + "icily", + "icing", + "icker", + "ickle", + "icons", + "ictal", + "ictic", + "ictus", + "idant", + "ideal", + "ideas", + "idees", + "ident", + "idiom", + "idiot", + "idled", + "idler", + "idles", + "idola", + "idols", + "idyll", + "idyls", + "iftar", + "igapo", + "igged", + "igloo", + "iglus", + "ihram", + "ikans", + "ikats", + "ikons", + "ileac", + "ileal", + "ileum", + "ileus", + "iliac", + "iliad", + "ilial", + "ilium", + "iller", + "illth", + "image", + "imago", + "imams", + "imari", + "imaum", + "imbar", + "imbed", + "imbue", + "imide", + "imido", + "imids", + "imine", + "imino", + "immew", + "immit", + "immix", + "imped", + "impel", + "impis", + "imply", + "impot", + "impro", + "imshi", + "imshy", + "inane", + "inapt", + "inarm", + "inbox", + "inbye", + "incel", + "incle", + "incog", + "incur", + "incus", + "incut", + "indew", + "index", + "india", + "indie", + "indol", + "indow", + "indri", + "indue", + "inept", + "inerm", + "inert", + "infer", + "infix", + "infos", + "infra", + "ingan", + "ingle", + "ingot", + "inion", + "inked", + "inker", + "inkle", + "inlay", + "inlet", + "inned", + "inner", + "innit", + "inorb", + "input", + "inrun", + "inset", + "inspo", + "intel", + "inter", + "intil", + "intis", + "intra", + "intro", + "inula", + "inure", + "inurn", + "inust", + "invar", + "inwit", + "iodic", + "iodid", + "iodin", + "ionic", + "iotas", + "ippon", + "irade", + "irate", + "irids", + "iring", + "irked", + "iroko", + "irone", + "irons", + "irony", + "isbas", + "ishes", + "isled", + "isles", + "islet", + "isnae", + "issei", + "issue", + "istle", + "itchy", + "items", + "ither", + "ivied", + "ivies", + "ivory", + "ixias", + "ixnay", + "ixora", + "ixtle", + "izard", + "izars", + "izzat", + "jaaps", + "jabot", + "jacal", + "jacks", + "jacky", + "jaded", + "jades", + "jafas", + "jaffa", + "jagas", + "jager", + "jaggs", + "jaggy", + "jagir", + "jagra", + "jails", + "jaker", + "jakes", + "jakey", + "jalap", + "jalop", + "jambe", + "jambo", + "jambs", + "jambu", + "james", + "jammy", + "jamon", + "janes", + "janns", + "janny", + "janty", + "japan", + "japed", + "japer", + "japes", + "jarks", + "jarls", + "jarps", + "jarta", + "jarul", + "jasey", + "jaspe", + "jasps", + "jatos", + "jauks", + "jaunt", + "jaups", + "javas", + "javel", + "jawan", + "jawed", + "jaxie", + "jazzy", + "jeans", + "jeats", + "jebel", + "jedis", + "jeels", + "jeely", + "jeeps", + "jeers", + "jeeze", + "jefes", + "jeffs", + "jehad", + "jehus", + "jelab", + "jello", + "jells", + "jelly", + "jembe", + "jemmy", + "jenny", + "jeons", + "jerid", + "jerks", + "jerky", + "jerry", + "jesse", + "jests", + "jesus", + "jetes", + "jeton", + "jetty", + "jeune", + "jewed", + "jewel", + "jewie", + "jhala", + "jiaos", + "jibba", + "jibbs", + "jibed", + "jiber", + "jibes", + "jiffs", + "jiffy", + "jiggy", + "jigot", + "jihad", + "jills", + "jilts", + "jimmy", + "jimpy", + "jingo", + "jinks", + "jinne", + "jinni", + "jinns", + "jirds", + "jirga", + "jirre", + "jisms", + "jived", + "jiver", + "jives", + "jivey", + "jnana", + "jobed", + "jobes", + "jocko", + "jocks", + "jocky", + "jocos", + "jodel", + "joeys", + "johns", + "joins", + "joint", + "joist", + "joked", + "joker", + "jokes", + "jokey", + "jokol", + "joled", + "joles", + "jolls", + "jolly", + "jolts", + "jolty", + "jomon", + "jomos", + "jones", + "jongs", + "jonty", + "jooks", + "joram", + "jorum", + "jotas", + "jotty", + "jotun", + "joual", + "jougs", + "jouks", + "joule", + "jours", + "joust", + "jowar", + "jowed", + "jowls", + "jowly", + "joyed", + "jubas", + "jubes", + "jucos", + "judas", + "judge", + "judgy", + "judos", + "jugal", + "jugum", + "juice", + "juicy", + "jujus", + "juked", + "jukes", + "jukus", + "julep", + "jumar", + "jumbo", + "jumby", + "jumps", + "jumpy", + "junco", + "junks", + "junky", + "junta", + "junto", + "jupes", + "jupon", + "jural", + "jurat", + "jurel", + "jures", + "juror", + "justs", + "jutes", + "jutty", + "juves", + "juvie", + "kaama", + "kabab", + "kabar", + "kabob", + "kacha", + "kacks", + "kadai", + "kades", + "kadis", + "kafir", + "kagos", + "kagus", + "kahal", + "kaiak", + "kaids", + "kaies", + "kaifs", + "kaika", + "kaiks", + "kails", + "kaims", + "kaing", + "kains", + "kakas", + "kakis", + "kalam", + "kales", + "kalif", + "kalis", + "kalpa", + "kamas", + "kames", + "kamik", + "kamis", + "kamme", + "kanae", + "kanas", + "kandy", + "kaneh", + "kanes", + "kanga", + "kangs", + "kanji", + "kants", + "kanzu", + "kaons", + "kapas", + "kaphs", + "kapok", + "kapow", + "kappa", + "kapus", + "kaput", + "karas", + "karat", + "karks", + "karma", + "karns", + "karoo", + "karos", + "karri", + "karst", + "karsy", + "karts", + "karzy", + "kasha", + "kasme", + "katal", + "katas", + "katis", + "katti", + "kaugh", + "kauri", + "kauru", + "kaury", + "kaval", + "kavas", + "kawas", + "kawau", + "kawed", + "kayak", + "kayle", + "kayos", + "kazis", + "kazoo", + "kbars", + "kebab", + "kebar", + "kebob", + "kecks", + "kedge", + "kedgy", + "keech", + "keefs", + "keeks", + "keels", + "keema", + "keeno", + "keens", + "keeps", + "keets", + "keeve", + "kefir", + "kehua", + "keirs", + "kelep", + "kelim", + "kells", + "kelly", + "kelps", + "kelpy", + "kelts", + "kelty", + "kembo", + "kembs", + "kemps", + "kempt", + "kempy", + "kenaf", + "kench", + "kendo", + "kenos", + "kente", + "kents", + "kepis", + "kerbs", + "kerel", + "kerfs", + "kerky", + "kerma", + "kerne", + "kerns", + "keros", + "kerry", + "kerve", + "kesar", + "kests", + "ketas", + "ketch", + "ketes", + "ketol", + "kevel", + "kevil", + "kexes", + "keyed", + "keyer", + "khadi", + "khafs", + "khaki", + "khans", + "khaph", + "khats", + "khaya", + "khazi", + "kheda", + "kheth", + "khets", + "khoja", + "khors", + "khoum", + "khuds", + "kiaat", + "kiack", + "kiang", + "kibbe", + "kibbi", + "kibei", + "kibes", + "kibla", + "kicks", + "kicky", + "kiddo", + "kiddy", + "kidel", + "kidge", + "kiefs", + "kiers", + "kieve", + "kievs", + "kight", + "kikoi", + "kiley", + "kilim", + "kills", + "kilns", + "kilos", + "kilps", + "kilts", + "kilty", + "kimbo", + "kinas", + "kinda", + "kinds", + "kindy", + "kines", + "kings", + "kinin", + "kinks", + "kinky", + "kinos", + "kiore", + "kiosk", + "kipes", + "kippa", + "kipps", + "kirby", + "kirks", + "kirns", + "kirri", + "kisan", + "kissy", + "kists", + "kited", + "kiter", + "kites", + "kithe", + "kiths", + "kitty", + "kitul", + "kivas", + "kiwis", + "klang", + "klaps", + "klett", + "klick", + "klieg", + "kliks", + "klong", + "kloof", + "kluge", + "klutz", + "knack", + "knags", + "knaps", + "knarl", + "knars", + "knaur", + "knave", + "knawe", + "knead", + "kneed", + "kneel", + "knees", + "knell", + "knelt", + "knife", + "knish", + "knits", + "knive", + "knobs", + "knock", + "knoll", + "knops", + "knosp", + "knots", + "knout", + "knowe", + "known", + "knows", + "knubs", + "knurl", + "knurr", + "knurs", + "knuts", + "koala", + "koans", + "koaps", + "koban", + "kobos", + "koels", + "koffs", + "kofta", + "kogal", + "kohas", + "kohen", + "kohls", + "koine", + "kojis", + "kokam", + "kokas", + "koker", + "kokra", + "kokum", + "kolas", + "kolos", + "kombu", + "konbu", + "kondo", + "konks", + "kooks", + "kooky", + "koori", + "kopek", + "kophs", + "kopje", + "koppa", + "korai", + "koras", + "korat", + "kores", + "korma", + "koros", + "korun", + "korus", + "koses", + "kotch", + "kotos", + "kotow", + "koura", + "kraal", + "krabs", + "kraft", + "krais", + "krait", + "krang", + "krans", + "kranz", + "kraut", + "krays", + "kreep", + "kreng", + "krewe", + "krill", + "krona", + "krone", + "kroon", + "krubi", + "krunk", + "ksars", + "kubie", + "kudos", + "kudus", + "kudzu", + "kufis", + "kugel", + "kuias", + "kukri", + "kukus", + "kulak", + "kulan", + "kulas", + "kulfi", + "kumis", + "kumys", + "kuris", + "kurre", + "kurta", + "kurus", + "kusso", + "kutas", + "kutch", + "kutis", + "kutus", + "kuzus", + "kvass", + "kvell", + "kwela", + "kyack", + "kyaks", + "kyang", + "kyars", + "kyats", + "kybos", + "kydst", + "kyles", + "kylie", + "kylin", + "kylix", + "kyloe", + "kynde", + "kynds", + "kypes", + "kyrie", + "kytes", + "kythe", + "laari", + "labda", + "label", + "labia", + "labis", + "labor", + "labra", + "laced", + "lacer", + "laces", + "lacet", + "lacey", + "lacks", + "laddy", + "laded", + "laden", + "lader", + "lades", + "ladle", + "laers", + "laevo", + "lagan", + "lager", + "lahal", + "lahar", + "laich", + "laics", + "laids", + "laigh", + "laika", + "laiks", + "laird", + "lairs", + "lairy", + "laith", + "laity", + "laked", + "laker", + "lakes", + "lakhs", + "lakin", + "laksa", + "laldy", + "lalls", + "lamas", + "lambs", + "lamby", + "lamed", + "lamer", + "lames", + "lamia", + "lammy", + "lamps", + "lanai", + "lanas", + "lance", + "lanch", + "lande", + "lands", + "lanes", + "lanks", + "lanky", + "lants", + "lapel", + "lapin", + "lapis", + "lapje", + "lapse", + "larch", + "lards", + "lardy", + "laree", + "lares", + "large", + "largo", + "laris", + "larks", + "larky", + "larns", + "larnt", + "larum", + "larva", + "lased", + "laser", + "lases", + "lassi", + "lasso", + "lassu", + "lassy", + "lasts", + "latah", + "latch", + "lated", + "laten", + "later", + "latex", + "lathe", + "lathi", + "laths", + "lathy", + "latke", + "latte", + "latus", + "lauan", + "lauch", + "lauds", + "laufs", + "laugh", + "laund", + "laura", + "laval", + "lavas", + "laved", + "laver", + "laves", + "lavra", + "lavvy", + "lawed", + "lawer", + "lawin", + "lawks", + "lawns", + "lawny", + "laxed", + "laxer", + "laxes", + "laxly", + "layed", + "layer", + "layin", + "layup", + "lazar", + "lazed", + "lazes", + "lazos", + "lazzi", + "lazzo", + "leach", + "leads", + "leady", + "leafs", + "leafy", + "leaks", + "leaky", + "leams", + "leans", + "leant", + "leany", + "leaps", + "leapt", + "leare", + "learn", + "lears", + "leary", + "lease", + "leash", + "least", + "leats", + "leave", + "leavy", + "leaze", + "leben", + "leccy", + "ledes", + "ledge", + "ledgy", + "ledum", + "leear", + "leech", + "leeks", + "leeps", + "leers", + "leery", + "leese", + "leets", + "leeze", + "lefte", + "lefts", + "lefty", + "legal", + "leger", + "leges", + "legge", + "leggo", + "leggy", + "legit", + "lehrs", + "lehua", + "leirs", + "leish", + "leman", + "lemed", + "lemel", + "lemes", + "lemma", + "lemme", + "lemon", + "lemur", + "lends", + "lenes", + "lengs", + "lenis", + "lenos", + "lense", + "lenti", + "lento", + "leone", + "leper", + "lepid", + "lepra", + "lepta", + "lered", + "leres", + "lerps", + "leses", + "lests", + "letch", + "lethe", + "letup", + "leuch", + "leuco", + "leuds", + "leugh", + "levas", + "levee", + "level", + "lever", + "leves", + "levin", + "levis", + "lewis", + "lexes", + "lexis", + "lezes", + "lezza", + "lezzy", + "liana", + "liane", + "liang", + "liard", + "liars", + "liart", + "libel", + "liber", + "libra", + "libri", + "lichi", + "licht", + "licit", + "licks", + "lidar", + "lidos", + "liefs", + "liege", + "liens", + "liers", + "lieus", + "lieve", + "lifer", + "lifes", + "lifts", + "ligan", + "liger", + "ligge", + "light", + "ligne", + "liked", + "liken", + "liker", + "likes", + "likin", + "lilac", + "lills", + "lilos", + "lilts", + "liman", + "limas", + "limax", + "limba", + "limbi", + "limbo", + "limbs", + "limby", + "limed", + "limen", + "limes", + "limey", + "limit", + "limma", + "limns", + "limos", + "limpa", + "limps", + "linac", + "linch", + "linds", + "lindy", + "lined", + "linen", + "liner", + "lines", + "liney", + "linga", + "lingo", + "lings", + "lingy", + "linin", + "links", + "linky", + "linns", + "linny", + "linos", + "lints", + "linty", + "linum", + "linux", + "lions", + "lipas", + "lipes", + "lipid", + "lipin", + "lipos", + "lippy", + "liras", + "lirks", + "lirot", + "lisks", + "lisle", + "lisps", + "lists", + "litai", + "litas", + "lited", + "liter", + "lites", + "lithe", + "litho", + "liths", + "litre", + "lived", + "liven", + "liver", + "lives", + "livid", + "livor", + "livre", + "llama", + "llano", + "loach", + "loads", + "loafs", + "loams", + "loamy", + "loans", + "loast", + "loath", + "loave", + "lobar", + "lobby", + "lobed", + "lobes", + "lobos", + "lobus", + "local", + "loche", + "lochs", + "locie", + "locis", + "locks", + "locos", + "locum", + "locus", + "loden", + "lodes", + "lodge", + "loess", + "lofts", + "lofty", + "logan", + "loges", + "loggy", + "logia", + "logic", + "logie", + "login", + "logoi", + "logon", + "logos", + "lohan", + "loids", + "loins", + "loipe", + "loirs", + "lokes", + "lolls", + "lolly", + "lolog", + "lomas", + "lomed", + "lomes", + "loner", + "longa", + "longe", + "longs", + "looby", + "looed", + "looey", + "loofa", + "loofs", + "looie", + "looks", + "looky", + "looms", + "loons", + "loony", + "loops", + "loopy", + "loord", + "loose", + "loots", + "loped", + "loper", + "lopes", + "loppy", + "loral", + "loran", + "lords", + "lordy", + "lorel", + "lores", + "loric", + "loris", + "lorry", + "losed", + "losel", + "losen", + "loser", + "loses", + "lossy", + "lotah", + "lotas", + "lotes", + "lotic", + "lotos", + "lotsa", + "lotta", + "lotte", + "lotto", + "lotus", + "loued", + "lough", + "louie", + "louis", + "louma", + "lound", + "louns", + "loupe", + "loups", + "loure", + "lours", + "loury", + "louse", + "lousy", + "louts", + "lovat", + "loved", + "lover", + "loves", + "lovey", + "lovie", + "lowan", + "lowed", + "lower", + "lowes", + "lowly", + "lownd", + "lowne", + "lowns", + "lowps", + "lowry", + "lowse", + "lowts", + "loxed", + "loxes", + "loyal", + "lozen", + "luach", + "luaus", + "lubed", + "lubes", + "lubra", + "luces", + "lucid", + "lucks", + "lucky", + "lucre", + "ludes", + "ludic", + "ludos", + "luffa", + "luffs", + "luged", + "luger", + "luges", + "lulls", + "lulus", + "lumas", + "lumbi", + "lumen", + "lumme", + "lummy", + "lumps", + "lumpy", + "lunar", + "lunas", + "lunch", + "lunes", + "lunet", + "lunge", + "lungi", + "lungs", + "lunks", + "lunts", + "lupin", + "lupus", + "lurch", + "lured", + "lurer", + "lures", + "lurex", + "lurgi", + "lurgy", + "lurid", + "lurks", + "lurry", + "lurve", + "luser", + "lushy", + "lusks", + "lusts", + "lusty", + "lusus", + "lutea", + "luted", + "luter", + "lutes", + "luvvy", + "luxed", + "luxer", + "luxes", + "lweis", + "lyams", + "lyard", + "lyart", + "lyase", + "lycea", + "lycee", + "lycra", + "lying", + "lymes", + "lymph", + "lynes", + "lyres", + "lyric", + "lysed", + "lyses", + "lysin", + "lysis", + "lysol", + "lyssa", + "lyted", + "lytes", + "lythe", + "lytic", + "lytta", + "maaed", + "maare", + "maars", + "mabes", + "macas", + "macaw", + "maced", + "macer", + "maces", + "mache", + "machi", + "macho", + "machs", + "macks", + "macle", + "macon", + "macro", + "madam", + "madge", + "madid", + "madly", + "madre", + "maerl", + "mafia", + "mafic", + "mages", + "maggs", + "magic", + "magma", + "magot", + "magus", + "mahoe", + "mahua", + "mahwa", + "maids", + "maiko", + "maiks", + "maile", + "maill", + "mails", + "maims", + "mains", + "maire", + "mairs", + "maise", + "maist", + "maize", + "major", + "makar", + "maker", + "makes", + "makis", + "makos", + "malam", + "malar", + "malas", + "malax", + "males", + "malic", + "malik", + "malis", + "malls", + "malms", + "malmy", + "malts", + "malty", + "malus", + "malva", + "malwa", + "mamas", + "mamba", + "mambo", + "mamee", + "mamey", + "mamie", + "mamma", + "mammy", + "manas", + "manat", + "mandi", + "maneb", + "maned", + "maneh", + "manes", + "manet", + "manga", + "mange", + "mango", + "mangs", + "mangy", + "mania", + "manic", + "manis", + "manky", + "manly", + "manna", + "manor", + "manos", + "manse", + "manta", + "manto", + "manty", + "manul", + "manus", + "mapau", + "maple", + "maqui", + "marae", + "marah", + "maras", + "march", + "marcs", + "mardy", + "mares", + "marge", + "margs", + "maria", + "marid", + "marka", + "marks", + "marle", + "marls", + "marly", + "marms", + "maron", + "maror", + "marra", + "marri", + "marry", + "marse", + "marsh", + "marts", + "marvy", + "masas", + "mased", + "maser", + "mases", + "mashy", + "masks", + "mason", + "massa", + "masse", + "massy", + "masts", + "masty", + "masus", + "matai", + "match", + "mated", + "mater", + "mates", + "matey", + "maths", + "matin", + "matlo", + "matte", + "matts", + "matza", + "matzo", + "mauby", + "mauds", + "mauls", + "maund", + "mauri", + "mausy", + "mauts", + "mauve", + "mauzy", + "maven", + "mavie", + "mavin", + "mavis", + "mawed", + "mawks", + "mawky", + "mawns", + "mawrs", + "maxed", + "maxes", + "maxim", + "maxis", + "mayan", + "mayas", + "maybe", + "mayed", + "mayor", + "mayos", + "mayst", + "mazed", + "mazer", + "mazes", + "mazey", + "mazut", + "mbira", + "meads", + "meals", + "mealy", + "meane", + "means", + "meant", + "meany", + "meare", + "mease", + "meath", + "meats", + "meaty", + "mebos", + "mecca", + "mechs", + "mecks", + "medal", + "media", + "medic", + "medii", + "medle", + "meeds", + "meers", + "meets", + "meffs", + "meins", + "meint", + "meiny", + "meith", + "mekka", + "melas", + "melba", + "melds", + "melee", + "melic", + "melik", + "mells", + "melon", + "melts", + "melty", + "memes", + "memos", + "menad", + "mends", + "mened", + "menes", + "menge", + "mengs", + "mensa", + "mense", + "mensh", + "menta", + "mento", + "menus", + "meous", + "meows", + "merch", + "mercs", + "mercy", + "merde", + "mered", + "merel", + "merer", + "meres", + "merge", + "meril", + "meris", + "merit", + "merks", + "merle", + "merls", + "merry", + "merse", + "mesal", + "mesas", + "mesel", + "meses", + "meshy", + "mesic", + "mesne", + "meson", + "messy", + "mesto", + "metal", + "meted", + "meter", + "metes", + "metho", + "meths", + "metic", + "metif", + "metis", + "metol", + "metre", + "metro", + "meuse", + "meved", + "meves", + "mewed", + "mewls", + "meynt", + "mezes", + "mezze", + "mezzo", + "mhorr", + "miaou", + "miaow", + "miasm", + "miaul", + "micas", + "miche", + "micht", + "micks", + "micky", + "micos", + "micra", + "micro", + "middy", + "midge", + "midgy", + "midis", + "midst", + "miens", + "mieve", + "miffs", + "miffy", + "mifty", + "miggs", + "might", + "mihas", + "mihis", + "miked", + "mikes", + "mikra", + "mikva", + "milch", + "milds", + "miler", + "miles", + "milfs", + "milia", + "milko", + "milks", + "milky", + "mille", + "mills", + "milor", + "milos", + "milpa", + "milts", + "milty", + "miltz", + "mimed", + "mimeo", + "mimer", + "mimes", + "mimic", + "mimsy", + "minae", + "minar", + "minas", + "mince", + "mincy", + "minds", + "mined", + "miner", + "mines", + "minge", + "mings", + "mingy", + "minim", + "minis", + "minke", + "minks", + "minny", + "minor", + "minos", + "mints", + "minty", + "minus", + "mired", + "mires", + "mirex", + "mirid", + "mirin", + "mirks", + "mirky", + "mirly", + "miros", + "mirth", + "mirvs", + "mirza", + "misch", + "misdo", + "miser", + "mises", + "misgo", + "misos", + "missa", + "missy", + "mists", + "misty", + "mitch", + "miter", + "mites", + "mitis", + "mitre", + "mitts", + "mixed", + "mixen", + "mixer", + "mixes", + "mixte", + "mixup", + "mizen", + "mizzy", + "mneme", + "moans", + "moats", + "mobby", + "mobes", + "mobey", + "mobie", + "moble", + "mocha", + "mochi", + "mochs", + "mochy", + "mocks", + "modal", + "model", + "modem", + "moder", + "modes", + "modge", + "modii", + "modus", + "moers", + "mofos", + "moggy", + "mogul", + "mohel", + "mohos", + "mohrs", + "mohua", + "mohur", + "moile", + "moils", + "moira", + "moire", + "moist", + "moits", + "mojos", + "mokes", + "mokis", + "mokos", + "molal", + "molar", + "molas", + "molds", + "moldy", + "moled", + "moles", + "molla", + "molls", + "molly", + "molto", + "molts", + "molys", + "momes", + "momma", + "mommy", + "momus", + "monad", + "monal", + "monas", + "monde", + "mondo", + "moner", + "money", + "mongo", + "mongs", + "monic", + "monie", + "monks", + "monos", + "monte", + "month", + "monty", + "moobs", + "mooch", + "moods", + "moody", + "mooed", + "mooks", + "moola", + "mooli", + "mools", + "mooly", + "moong", + "moons", + "moony", + "moops", + "moors", + "moory", + "moose", + "moots", + "moove", + "moped", + "moper", + "mopes", + "mopey", + "moppy", + "mopsy", + "mopus", + "morae", + "moral", + "moras", + "morat", + "moray", + "morel", + "mores", + "moria", + "morne", + "morns", + "moron", + "morph", + "morra", + "morro", + "morse", + "morts", + "mosed", + "moses", + "mosey", + "mosks", + "mosso", + "mossy", + "moste", + "mosts", + "moted", + "motel", + "moten", + "motes", + "motet", + "motey", + "moths", + "mothy", + "motif", + "motis", + "motor", + "motte", + "motto", + "motts", + "motty", + "motus", + "motza", + "mouch", + "moues", + "mould", + "mouls", + "moult", + "mound", + "mount", + "moups", + "mourn", + "mouse", + "moust", + "mousy", + "mouth", + "moved", + "mover", + "moves", + "movie", + "mowas", + "mowed", + "mower", + "mowra", + "moxas", + "moxie", + "moyas", + "moyle", + "moyls", + "mozed", + "mozes", + "mozos", + "mpret", + "mucho", + "mucic", + "mucid", + "mucin", + "mucks", + "mucky", + "mucor", + "mucro", + "mucus", + "muddy", + "mudge", + "mudir", + "mudra", + "muffs", + "mufti", + "mugga", + "muggs", + "muggy", + "muhly", + "muids", + "muils", + "muirs", + "muist", + "mujik", + "mulch", + "mulct", + "muled", + "mules", + "muley", + "mulga", + "mulie", + "mulla", + "mulls", + "mulse", + "mulsh", + "mumms", + "mummy", + "mumps", + "mumsy", + "mumus", + "munch", + "munga", + "munge", + "mungo", + "mungs", + "munis", + "munts", + "muntu", + "muons", + "mural", + "muras", + "mured", + "mures", + "murex", + "murid", + "murks", + "murky", + "murls", + "murly", + "murra", + "murre", + "murri", + "murrs", + "murry", + "murti", + "murva", + "musar", + "musca", + "mused", + "muser", + "muses", + "muset", + "musha", + "mushy", + "music", + "musit", + "musks", + "musky", + "musos", + "musse", + "mussy", + "musth", + "musts", + "musty", + "mutch", + "muted", + "muter", + "mutes", + "mutha", + "mutis", + "muton", + "mutts", + "muxed", + "muxes", + "muzak", + "muzzy", + "mvule", + "myall", + "mylar", + "mynah", + "mynas", + "myoid", + "myoma", + "myope", + "myops", + "myopy", + "myrrh", + "mysid", + "mythi", + "myths", + "mythy", + "myxos", + "mzees", + "naams", + "naans", + "nabes", + "nabis", + "nabks", + "nabla", + "nabob", + "nache", + "nacho", + "nacre", + "nadas", + "nadir", + "naeve", + "naevi", + "naffs", + "nagas", + "naggy", + "nagor", + "nahal", + "naiad", + "naifs", + "naiks", + "nails", + "naira", + "nairu", + "naive", + "naked", + "naker", + "nakfa", + "nalas", + "naled", + "nalla", + "named", + "namer", + "names", + "namma", + "namus", + "nanas", + "nance", + "nancy", + "nandu", + "nanna", + "nanny", + "nanos", + "nanua", + "napas", + "naped", + "napes", + "napoo", + "nappa", + "nappe", + "nappy", + "naras", + "narco", + "narcs", + "nards", + "nares", + "naric", + "naris", + "narks", + "narky", + "narre", + "nasal", + "nashi", + "nasty", + "natal", + "natch", + "nates", + "natis", + "natty", + "nauch", + "naunt", + "naval", + "navar", + "navel", + "naves", + "navew", + "navvy", + "nawab", + "nazes", + "nazir", + "nazis", + "nduja", + "neafe", + "neals", + "neaps", + "nears", + "neath", + "neats", + "nebek", + "nebel", + "necks", + "neddy", + "needs", + "needy", + "neeld", + "neele", + "neemb", + "neems", + "neeps", + "neese", + "neeze", + "negro", + "negus", + "neifs", + "neigh", + "neist", + "neive", + "nelis", + "nelly", + "nemas", + "nemns", + "nempt", + "nenes", + "neons", + "neper", + "nepit", + "neral", + "nerds", + "nerdy", + "nerka", + "nerks", + "nerol", + "nerts", + "nertz", + "nerve", + "nervy", + "nests", + "netes", + "netop", + "netts", + "netty", + "neuks", + "neume", + "neums", + "nevel", + "never", + "neves", + "nevus", + "newbs", + "newed", + "newel", + "newer", + "newie", + "newly", + "newsy", + "newts", + "nexts", + "nexus", + "ngaio", + "ngana", + "ngati", + "ngoma", + "ngwee", + "nicad", + "nicer", + "niche", + "nicht", + "nicks", + "nicol", + "nidal", + "nided", + "nides", + "nidor", + "nidus", + "niece", + "niefs", + "nieve", + "nifes", + "niffs", + "niffy", + "nifty", + "niger", + "nighs", + "night", + "nihil", + "nikab", + "nikah", + "nikau", + "nills", + "nimbi", + "nimbs", + "nimps", + "niner", + "nines", + "ninja", + "ninny", + "ninon", + "ninth", + "nipas", + "nippy", + "niqab", + "nirls", + "nirly", + "nisei", + "nisse", + "nisus", + "niter", + "nites", + "nitid", + "niton", + "nitre", + "nitro", + "nitry", + "nitty", + "nival", + "nixed", + "nixer", + "nixes", + "nixie", + "nizam", + "nkosi", + "noahs", + "nobby", + "noble", + "nobly", + "nocks", + "nodal", + "noddy", + "nodes", + "nodus", + "noels", + "noggs", + "nohow", + "noils", + "noily", + "noint", + "noirs", + "noise", + "noisy", + "noles", + "nolls", + "nolos", + "nomad", + "nomas", + "nomen", + "nomes", + "nomic", + "nomoi", + "nomos", + "nonas", + "nonce", + "nones", + "nonet", + "nongs", + "nonis", + "nonny", + "nonyl", + "noobs", + "nooit", + "nooks", + "nooky", + "noons", + "noops", + "noose", + "nopal", + "noria", + "noris", + "norks", + "norma", + "norms", + "north", + "nosed", + "noser", + "noses", + "nosey", + "notal", + "notch", + "noted", + "noter", + "notes", + "notum", + "nould", + "noule", + "nouls", + "nouns", + "nouny", + "noups", + "novae", + "novas", + "novel", + "novum", + "noway", + "nowed", + "nowls", + "nowts", + "nowty", + "noxal", + "noxes", + "noyau", + "noyed", + "noyes", + "nubby", + "nubia", + "nucha", + "nuddy", + "nuder", + "nudes", + "nudge", + "nudie", + "nudzh", + "nuffs", + "nugae", + "nuked", + "nukes", + "nulla", + "nulls", + "numbs", + "numen", + "nummy", + "nunny", + "nurds", + "nurdy", + "nurls", + "nurrs", + "nurse", + "nutso", + "nutsy", + "nutty", + "nyaff", + "nyala", + "nying", + "nylon", + "nymph", + "nyssa", + "oaked", + "oaken", + "oaker", + "oakum", + "oared", + "oases", + "oasis", + "oasts", + "oaten", + "oater", + "oaths", + "oaves", + "obang", + "obeah", + "obeli", + "obese", + "obeys", + "obias", + "obied", + "obiit", + "obits", + "objet", + "oboes", + "obole", + "oboli", + "obols", + "occam", + "occur", + "ocean", + "ocher", + "oches", + "ochre", + "ochry", + "ocker", + "ocrea", + "octad", + "octal", + "octan", + "octas", + "octet", + "octyl", + "oculi", + "odahs", + "odals", + "odder", + "oddly", + "odeon", + "odeum", + "odism", + "odist", + "odium", + "odors", + "odour", + "odyle", + "odyls", + "ofays", + "offal", + "offed", + "offer", + "offie", + "oflag", + "often", + "ofter", + "ogams", + "ogeed", + "ogees", + "oggin", + "ogham", + "ogive", + "ogled", + "ogler", + "ogles", + "ogmic", + "ogres", + "ohias", + "ohing", + "ohmic", + "ohone", + "oidia", + "oiled", + "oiler", + "oinks", + "oints", + "ojime", + "okapi", + "okays", + "okehs", + "okras", + "oktas", + "olden", + "older", + "oldie", + "oleic", + "olein", + "olent", + "oleos", + "oleum", + "olios", + "olive", + "ollas", + "ollav", + "oller", + "ollie", + "ology", + "olpae", + "olpes", + "omasa", + "omber", + "ombre", + "ombus", + "omega", + "omens", + "omers", + "omits", + "omlah", + "omovs", + "omrah", + "oncer", + "onces", + "oncet", + "oncus", + "onely", + "oners", + "onery", + "onion", + "onium", + "onkus", + "onlay", + "onned", + "onset", + "ontic", + "oobit", + "oohed", + "oomph", + "oonts", + "ooped", + "oorie", + "ooses", + "ootid", + "oozed", + "oozes", + "opahs", + "opals", + "opens", + "opepe", + "opera", + "opine", + "oping", + "opium", + "oppos", + "opsin", + "opted", + "opter", + "optic", + "orach", + "oracy", + "orals", + "orang", + "orant", + "orate", + "orbed", + "orbit", + "orcas", + "orcin", + "order", + "ordos", + "oread", + "orfes", + "organ", + "orgia", + "orgic", + "orgue", + "oribi", + "oriel", + "orixa", + "orles", + "orlon", + "orlop", + "ormer", + "ornis", + "orpin", + "orris", + "ortho", + "orval", + "orzos", + "oscar", + "oshac", + "osier", + "osmic", + "osmol", + "ossia", + "ostia", + "otaku", + "otary", + "other", + "ottar", + "otter", + "ottos", + "oubit", + "oucht", + "ouens", + "ought", + "ouija", + "oulks", + "oumas", + "ounce", + "oundy", + "oupas", + "ouped", + "ouphe", + "ouphs", + "ourie", + "ousel", + "ousts", + "outby", + "outdo", + "outed", + "outer", + "outgo", + "outre", + "outro", + "outta", + "ouzel", + "ouzos", + "ovals", + "ovary", + "ovate", + "ovels", + "ovens", + "overs", + "overt", + "ovine", + "ovist", + "ovoid", + "ovoli", + "ovolo", + "ovule", + "owche", + "owies", + "owing", + "owled", + "owler", + "owlet", + "owned", + "owner", + "owres", + "owrie", + "owsen", + "oxbow", + "oxers", + "oxeye", + "oxide", + "oxids", + "oxies", + "oxime", + "oxims", + "oxlip", + "oxter", + "oyers", + "ozeki", + "ozone", + "ozzie", + "paals", + "paans", + "pacas", + "paced", + "pacer", + "paces", + "pacey", + "pacha", + "packs", + "pacos", + "pacta", + "pacts", + "paddy", + "padis", + "padle", + "padma", + "padre", + "padri", + "paean", + "paedo", + "paeon", + "pagan", + "paged", + "pager", + "pages", + "pagle", + "pagod", + "pagri", + "paiks", + "pails", + "pains", + "paint", + "paire", + "pairs", + "paisa", + "paise", + "pakka", + "palas", + "palay", + "palea", + "paled", + "paler", + "pales", + "palet", + "palis", + "palki", + "palla", + "palls", + "pally", + "palms", + "palmy", + "palpi", + "palps", + "palsa", + "palsy", + "pampa", + "panax", + "pance", + "panda", + "pands", + "pandy", + "paned", + "panel", + "panes", + "panga", + "pangs", + "panic", + "panim", + "panko", + "panne", + "panni", + "pansy", + "panto", + "pants", + "panty", + "paoli", + "paolo", + "papal", + "papas", + "papaw", + "paper", + "papes", + "pappi", + "pappy", + "parae", + "paras", + "parch", + "pardi", + "pards", + "pardy", + "pared", + "paren", + "pareo", + "parer", + "pares", + "pareu", + "parev", + "parge", + "pargo", + "paris", + "parka", + "parki", + "parks", + "parky", + "parle", + "parly", + "parma", + "parol", + "parps", + "parra", + "parrs", + "parry", + "parse", + "parti", + "parts", + "party", + "parve", + "parvo", + "paseo", + "pases", + "pasha", + "pashm", + "paska", + "paspy", + "passe", + "pasta", + "paste", + "pasts", + "pasty", + "patch", + "pated", + "paten", + "pater", + "pates", + "paths", + "patin", + "patio", + "patka", + "patly", + "patsy", + "patte", + "patty", + "patus", + "pauas", + "pauls", + "pause", + "pavan", + "paved", + "paven", + "paver", + "paves", + "pavid", + "pavin", + "pavis", + "pawas", + "pawaw", + "pawed", + "pawer", + "pawks", + "pawky", + "pawls", + "pawns", + "paxes", + "payed", + "payee", + "payer", + "payor", + "paysd", + "peace", + "peach", + "peage", + "peags", + "peaks", + "peaky", + "peals", + "peans", + "peare", + "pearl", + "pears", + "peart", + "pease", + "peats", + "peaty", + "peavy", + "peaze", + "pebas", + "pecan", + "pechs", + "pecke", + "pecks", + "pecky", + "pedal", + "pedes", + "pedis", + "pedro", + "peece", + "peeks", + "peels", + "peens", + "peeoy", + "peepe", + "peeps", + "peers", + "peery", + "peeve", + "peggy", + "peghs", + "peins", + "peise", + "peize", + "pekan", + "pekes", + "pekin", + "pekoe", + "pelas", + "pelau", + "peles", + "pelfs", + "pells", + "pelma", + "pelon", + "pelta", + "pelts", + "penal", + "pence", + "pends", + "pendu", + "pened", + "penes", + "pengo", + "penie", + "penis", + "penks", + "penna", + "penne", + "penni", + "penny", + "pents", + "peons", + "peony", + "pepla", + "pepos", + "peppy", + "pepsi", + "perai", + "perce", + "perch", + "percs", + "perdu", + "perdy", + "perea", + "peres", + "peril", + "peris", + "perks", + "perky", + "perms", + "perns", + "perog", + "perps", + "perry", + "perse", + "perst", + "perts", + "perve", + "pervo", + "pervs", + "pervy", + "pesky", + "pesos", + "pesto", + "pests", + "pesty", + "petal", + "petar", + "peter", + "petit", + "petre", + "petri", + "petti", + "petto", + "petty", + "pewee", + "pewit", + "peyse", + "phage", + "phang", + "phare", + "pharm", + "phase", + "pheer", + "phene", + "pheon", + "phese", + "phial", + "phish", + "phizz", + "phlox", + "phoca", + "phone", + "phono", + "phons", + "phony", + "photo", + "phots", + "phpht", + "phuts", + "phyla", + "phyle", + "piani", + "piano", + "pians", + "pibal", + "pical", + "picas", + "piccy", + "picks", + "picky", + "picot", + "picra", + "picul", + "piece", + "piend", + "piers", + "piert", + "pieta", + "piets", + "piety", + "piezo", + "piggy", + "pight", + "pigmy", + "piing", + "pikas", + "pikau", + "piked", + "piker", + "pikes", + "pikey", + "pikis", + "pikul", + "pilae", + "pilaf", + "pilao", + "pilar", + "pilau", + "pilaw", + "pilch", + "pilea", + "piled", + "pilei", + "piler", + "piles", + "pilis", + "pills", + "pilot", + "pilow", + "pilum", + "pilus", + "pimas", + "pimps", + "pinas", + "pinch", + "pined", + "pines", + "piney", + "pingo", + "pings", + "pinko", + "pinks", + "pinky", + "pinna", + "pinny", + "pinon", + "pinot", + "pinta", + "pinto", + "pints", + "pinup", + "pions", + "piony", + "pious", + "pioye", + "pioys", + "pipal", + "pipas", + "piped", + "piper", + "pipes", + "pipet", + "pipis", + "pipit", + "pippy", + "pipul", + "pique", + "pirai", + "pirls", + "pirns", + "pirog", + "pisco", + "pises", + "pisky", + "pisos", + "pissy", + "piste", + "pitas", + "pitch", + "piths", + "pithy", + "piton", + "pitot", + "pitta", + "piums", + "pivot", + "pixel", + "pixes", + "pixie", + "pized", + "pizes", + "pizza", + "plaas", + "place", + "plack", + "plage", + "plaid", + "plain", + "plait", + "plane", + "plank", + "plans", + "plant", + "plaps", + "plash", + "plasm", + "plast", + "plate", + "plats", + "platt", + "platy", + "playa", + "plays", + "plaza", + "plead", + "pleas", + "pleat", + "plebe", + "plebs", + "plena", + "pleon", + "plesh", + "plews", + "plica", + "plied", + "plier", + "plies", + "plims", + "pling", + "plink", + "ploat", + "plods", + "plong", + "plonk", + "plook", + "plops", + "plots", + "plotz", + "plouk", + "plows", + "ploye", + "ploys", + "pluck", + "plues", + "pluff", + "plugs", + "plumb", + "plume", + "plump", + "plums", + "plumy", + "plunk", + "pluot", + "plush", + "pluto", + "plyer", + "poach", + "poaka", + "poake", + "poboy", + "pocks", + "pocky", + "podal", + "poddy", + "podex", + "podge", + "podgy", + "podia", + "poems", + "poeps", + "poesy", + "poets", + "pogey", + "pogge", + "pogos", + "pohed", + "poilu", + "poind", + "point", + "poise", + "pokal", + "poked", + "poker", + "pokes", + "pokey", + "pokie", + "polar", + "poled", + "poler", + "poles", + "poley", + "polio", + "polis", + "polje", + "polka", + "polks", + "polls", + "polly", + "polos", + "polts", + "polyp", + "polys", + "pombe", + "pomes", + "pommy", + "pomos", + "pomps", + "ponce", + "poncy", + "ponds", + "pones", + "poney", + "ponga", + "pongo", + "pongs", + "pongy", + "ponks", + "ponts", + "ponty", + "ponzu", + "pooch", + "poods", + "pooed", + "poofs", + "poofy", + "poohs", + "pooja", + "pooka", + "pooks", + "pools", + "poons", + "poops", + "poopy", + "poori", + "poort", + "poots", + "poove", + "poovy", + "popes", + "poppa", + "poppy", + "popsy", + "porae", + "poral", + "porch", + "pored", + "porer", + "pores", + "porge", + "porgy", + "porin", + "porks", + "porky", + "porno", + "porns", + "porny", + "porta", + "ports", + "porty", + "posed", + "poser", + "poses", + "posey", + "posho", + "posit", + "posse", + "posts", + "potae", + "potch", + "poted", + "potes", + "potin", + "potoo", + "potsy", + "potto", + "potts", + "potty", + "pouch", + "pouff", + "poufs", + "pouke", + "pouks", + "poule", + "poulp", + "poult", + "pound", + "poupe", + "poupt", + "pours", + "pouts", + "pouty", + "powan", + "power", + "powin", + "pownd", + "powns", + "powny", + "powre", + "poxed", + "poxes", + "poynt", + "poyou", + "poyse", + "pozzy", + "praam", + "prads", + "prahu", + "prams", + "prana", + "prang", + "prank", + "praos", + "prase", + "prate", + "prats", + "pratt", + "praty", + "praus", + "prawn", + "prays", + "predy", + "preed", + "preen", + "prees", + "preif", + "prems", + "premy", + "prent", + "preon", + "preop", + "preps", + "presa", + "prese", + "press", + "prest", + "preve", + "prexy", + "preys", + "prial", + "price", + "prick", + "pricy", + "pride", + "pried", + "prief", + "prier", + "pries", + "prigs", + "prill", + "prima", + "prime", + "primi", + "primo", + "primp", + "prims", + "primy", + "prink", + "print", + "prion", + "prior", + "prise", + "prism", + "priss", + "privy", + "prize", + "proas", + "probe", + "probs", + "prods", + "proem", + "profs", + "progs", + "proin", + "proke", + "prole", + "proll", + "promo", + "proms", + "prone", + "prong", + "pronk", + "proof", + "props", + "prore", + "prose", + "proso", + "pross", + "prost", + "prosy", + "proto", + "proud", + "proul", + "prove", + "prowl", + "prows", + "proxy", + "proyn", + "prude", + "prune", + "prunt", + "pruta", + "pryer", + "pryse", + "psalm", + "pseud", + "pshaw", + "psion", + "psoae", + "psoai", + "psoas", + "psora", + "psych", + "psyop", + "pubco", + "pubes", + "pubic", + "pubis", + "pucan", + "pucer", + "puces", + "pucka", + "pucks", + "puddy", + "pudge", + "pudgy", + "pudic", + "pudor", + "pudsy", + "pudus", + "puers", + "puffa", + "puffs", + "puffy", + "puggy", + "pugil", + "puhas", + "pujah", + "pujas", + "pukas", + "puked", + "puker", + "pukes", + "pukey", + "pukka", + "pukus", + "pulao", + "pulas", + "puled", + "puler", + "pules", + "pulik", + "pulis", + "pulka", + "pulks", + "pulli", + "pulls", + "pully", + "pulmo", + "pulps", + "pulpy", + "pulse", + "pulus", + "pumas", + "pumie", + "pumps", + "punas", + "punce", + "punch", + "punga", + "pungs", + "punji", + "punka", + "punks", + "punky", + "punny", + "punto", + "punts", + "punty", + "pupae", + "pupas", + "pupil", + "puppy", + "pupus", + "purda", + "pured", + "puree", + "purer", + "pures", + "purge", + "purin", + "puris", + "purls", + "purpy", + "purrs", + "purse", + "pursy", + "purty", + "puses", + "pushy", + "pusle", + "putid", + "puton", + "putti", + "putto", + "putts", + "putty", + "puzel", + "pwned", + "pyats", + "pyets", + "pygal", + "pygmy", + "pyins", + "pylon", + "pyned", + "pynes", + "pyoid", + "pyots", + "pyral", + "pyran", + "pyres", + "pyrex", + "pyric", + "pyros", + "pyxed", + "pyxes", + "pyxie", + "pyxis", + "pzazz", + "qadis", + "qaids", + "qajaq", + "qanat", + "qapik", + "qibla", + "qophs", + "qorma", + "quack", + "quads", + "quaff", + "quags", + "quail", + "quair", + "quais", + "quake", + "quaky", + "quale", + "qualm", + "quant", + "quare", + "quark", + "quart", + "quash", + "quasi", + "quass", + "quate", + "quats", + "quayd", + "quays", + "qubit", + "quean", + "queen", + "queer", + "quell", + "queme", + "quena", + "quern", + "query", + "quest", + "queue", + "queyn", + "queys", + "quich", + "quick", + "quids", + "quiet", + "quiff", + "quill", + "quilt", + "quims", + "quina", + "quine", + "quino", + "quins", + "quint", + "quipo", + "quips", + "quipu", + "quire", + "quirk", + "quirt", + "quist", + "quite", + "quits", + "quoad", + "quods", + "quoif", + "quoin", + "quoit", + "quoll", + "quonk", + "quops", + "quota", + "quote", + "quoth", + "qursh", + "quyte", + "rabat", + "rabbi", + "rabic", + "rabid", + "rabis", + "raced", + "racer", + "races", + "rache", + "racks", + "racon", + "radar", + "radge", + "radii", + "radio", + "radix", + "radon", + "raffs", + "rafts", + "ragas", + "ragde", + "raged", + "ragee", + "rager", + "rages", + "ragga", + "raggs", + "raggy", + "ragis", + "ragus", + "rahed", + "rahui", + "raias", + "raids", + "raiks", + "raile", + "rails", + "raine", + "rains", + "rainy", + "raird", + "raise", + "raita", + "raits", + "rajah", + "rajas", + "rajes", + "raked", + "rakee", + "raker", + "rakes", + "rakia", + "rakis", + "rakus", + "rales", + "rally", + "ralph", + "ramal", + "ramee", + "ramen", + "ramet", + "ramie", + "ramin", + "ramis", + "rammy", + "ramps", + "ramus", + "ranas", + "rance", + "ranch", + "rands", + "randy", + "ranee", + "ranga", + "range", + "rangi", + "rangs", + "rangy", + "ranid", + "ranis", + "ranke", + "ranks", + "rants", + "raped", + "raper", + "rapes", + "raphe", + "rapid", + "rappe", + "rared", + "raree", + "rarer", + "rares", + "rarks", + "rased", + "raser", + "rases", + "rasps", + "raspy", + "rasse", + "rasta", + "ratal", + "ratan", + "ratas", + "ratch", + "rated", + "ratel", + "rater", + "rates", + "ratha", + "rathe", + "raths", + "ratio", + "ratoo", + "ratos", + "ratty", + "ratus", + "rauns", + "raupo", + "raved", + "ravel", + "raven", + "raver", + "raves", + "ravey", + "ravin", + "rawer", + "rawin", + "rawly", + "rawns", + "raxed", + "raxes", + "rayah", + "rayas", + "rayed", + "rayle", + "rayne", + "rayon", + "razed", + "razee", + "razer", + "razes", + "razoo", + "razor", + "reach", + "react", + "readd", + "reads", + "ready", + "reais", + "reaks", + "realm", + "realo", + "reals", + "reame", + "reams", + "reamy", + "reans", + "reaps", + "rearm", + "rears", + "reast", + "reata", + "reate", + "reave", + "rebar", + "rebbe", + "rebec", + "rebel", + "rebid", + "rebit", + "rebop", + "rebus", + "rebut", + "rebuy", + "recal", + "recap", + "recce", + "recco", + "reccy", + "recit", + "recks", + "recon", + "recta", + "recti", + "recto", + "recur", + "recut", + "redan", + "redds", + "reddy", + "reded", + "redes", + "redia", + "redid", + "redip", + "redly", + "redon", + "redos", + "redox", + "redry", + "redub", + "redux", + "redye", + "reech", + "reede", + "reeds", + "reedy", + "reefs", + "reefy", + "reeks", + "reeky", + "reels", + "reens", + "reest", + "reeve", + "refed", + "refel", + "refer", + "reffo", + "refis", + "refit", + "refix", + "refly", + "refry", + "regal", + "regar", + "reges", + "reggo", + "regie", + "regma", + "regna", + "regos", + "regur", + "rehab", + "rehem", + "reifs", + "reify", + "reign", + "reiki", + "reiks", + "reink", + "reins", + "reird", + "reist", + "reive", + "rejig", + "rejon", + "reked", + "rekes", + "rekey", + "relax", + "relay", + "relet", + "relic", + "relie", + "relit", + "rello", + "reman", + "remap", + "remen", + "remet", + "remex", + "remit", + "remix", + "renal", + "renay", + "rends", + "renew", + "reney", + "renga", + "renig", + "renin", + "renne", + "renos", + "rente", + "rents", + "reoil", + "reorg", + "repay", + "repeg", + "repel", + "repin", + "repla", + "reply", + "repos", + "repot", + "repps", + "repro", + "reran", + "rerig", + "rerun", + "resat", + "resaw", + "resay", + "resee", + "reses", + "reset", + "resew", + "resid", + "resin", + "resit", + "resod", + "resow", + "resto", + "rests", + "resty", + "resus", + "retag", + "retax", + "retch", + "retem", + "retia", + "retie", + "retox", + "retro", + "retry", + "reuse", + "revel", + "revet", + "revie", + "revue", + "rewan", + "rewax", + "rewed", + "rewet", + "rewin", + "rewon", + "rewth", + "rexes", + "rezes", + "rheas", + "rheme", + "rheum", + "rhies", + "rhime", + "rhine", + "rhino", + "rhody", + "rhomb", + "rhone", + "rhumb", + "rhyme", + "rhyne", + "rhyta", + "riads", + "rials", + "riant", + "riata", + "ribas", + "ribby", + "ribes", + "riced", + "ricer", + "rices", + "ricey", + "richt", + "ricin", + "ricks", + "rider", + "rides", + "ridge", + "ridgy", + "ridic", + "riels", + "riems", + "rieve", + "rifer", + "riffs", + "rifle", + "rifte", + "rifts", + "rifty", + "riggs", + "right", + "rigid", + "rigol", + "rigor", + "riled", + "riles", + "riley", + "rille", + "rills", + "rimae", + "rimed", + "rimer", + "rimes", + "rimus", + "rinds", + "rindy", + "rines", + "rings", + "rinks", + "rinse", + "rioja", + "riots", + "riped", + "ripen", + "riper", + "ripes", + "ripps", + "risen", + "riser", + "rises", + "rishi", + "risks", + "risky", + "risps", + "risus", + "rites", + "ritts", + "ritzy", + "rival", + "rivas", + "rived", + "rivel", + "riven", + "river", + "rives", + "rivet", + "riyal", + "rizas", + "roach", + "roads", + "roams", + "roans", + "roars", + "roary", + "roast", + "roate", + "robed", + "robes", + "robin", + "roble", + "robot", + "rocks", + "rocky", + "roded", + "rodeo", + "rodes", + "roger", + "rogue", + "roguy", + "rohes", + "roids", + "roils", + "roily", + "roins", + "roist", + "rojak", + "rojis", + "roked", + "roker", + "rokes", + "rolag", + "roles", + "rolfs", + "rolls", + "romal", + "roman", + "romeo", + "romps", + "ronde", + "rondo", + "roneo", + "rones", + "ronin", + "ronne", + "ronte", + "ronts", + "roods", + "roofs", + "roofy", + "rooks", + "rooky", + "rooms", + "roomy", + "roons", + "roops", + "roopy", + "roosa", + "roose", + "roost", + "roots", + "rooty", + "roped", + "roper", + "ropes", + "ropey", + "roque", + "roral", + "rores", + "roric", + "rorid", + "rorie", + "rorts", + "rorty", + "rosed", + "roses", + "roset", + "roshi", + "rosin", + "rosit", + "rosti", + "rosts", + "rotal", + "rotan", + "rotas", + "rotch", + "roted", + "rotes", + "rotis", + "rotls", + "roton", + "rotor", + "rotos", + "rotte", + "rouen", + "roues", + "rouge", + "rough", + "roule", + "rouls", + "roums", + "round", + "roups", + "roupy", + "rouse", + "roust", + "route", + "routh", + "routs", + "roved", + "roven", + "rover", + "roves", + "rowan", + "rowdy", + "rowed", + "rowel", + "rowen", + "rower", + "rowie", + "rowme", + "rownd", + "rowth", + "rowts", + "royal", + "royne", + "royst", + "rozet", + "rozit", + "ruana", + "rubai", + "rubby", + "rubel", + "rubes", + "rubin", + "ruble", + "rubli", + "rubus", + "ruche", + "rucks", + "rudas", + "rudds", + "ruddy", + "ruder", + "rudes", + "rudie", + "rudis", + "rueda", + "ruers", + "ruffe", + "ruffs", + "rugae", + "rugal", + "rugby", + "ruggy", + "ruing", + "ruins", + "rukhs", + "ruled", + "ruler", + "rules", + "rumal", + "rumba", + "rumbo", + "rumen", + "rumes", + "rumly", + "rummy", + "rumor", + "rumpo", + "rumps", + "rumpy", + "runch", + "runds", + "runed", + "runes", + "rungs", + "runic", + "runny", + "runts", + "runty", + "rupee", + "rupia", + "rural", + "rurps", + "rurus", + "rusas", + "ruses", + "rushy", + "rusks", + "rusma", + "russe", + "rusts", + "rusty", + "ruths", + "rutin", + "rutty", + "ryals", + "rybat", + "ryked", + "rykes", + "rymme", + "rynds", + "ryots", + "ryper", + "saags", + "sabal", + "sabed", + "saber", + "sabes", + "sabha", + "sabin", + "sabir", + "sable", + "sabot", + "sabra", + "sabre", + "sacks", + "sacra", + "saddo", + "sades", + "sadhe", + "sadhu", + "sadis", + "sadly", + "sados", + "sadza", + "safed", + "safer", + "safes", + "sagas", + "sager", + "sages", + "saggy", + "sagos", + "sagum", + "saheb", + "sahib", + "saice", + "saick", + "saics", + "saids", + "saiga", + "sails", + "saims", + "saine", + "sains", + "saint", + "sairs", + "saist", + "saith", + "sajou", + "sakai", + "saker", + "sakes", + "sakia", + "sakis", + "sakti", + "salad", + "salal", + "salat", + "salep", + "sales", + "salet", + "salic", + "salix", + "salle", + "sally", + "salmi", + "salol", + "salon", + "salop", + "salpa", + "salps", + "salsa", + "salse", + "salto", + "salts", + "salty", + "salue", + "salut", + "salve", + "salvo", + "saman", + "samas", + "samba", + "sambo", + "samek", + "samel", + "samen", + "sames", + "samey", + "samfu", + "sammy", + "sampi", + "samps", + "sands", + "sandy", + "saned", + "saner", + "sanes", + "sanga", + "sangh", + "sango", + "sangs", + "sanko", + "sansa", + "santo", + "sants", + "saola", + "sapan", + "sapid", + "sapor", + "sappy", + "saran", + "sards", + "sared", + "saree", + "sarge", + "sargo", + "sarin", + "saris", + "sarks", + "sarky", + "sarod", + "saros", + "sarus", + "saser", + "sasin", + "sasse", + "sassy", + "satai", + "satay", + "sated", + "satem", + "sates", + "satin", + "satis", + "satyr", + "sauba", + "sauce", + "sauch", + "saucy", + "saugh", + "sauls", + "sault", + "sauna", + "saunt", + "saury", + "saute", + "sauts", + "saved", + "saver", + "saves", + "savey", + "savin", + "savor", + "savoy", + "savvy", + "sawah", + "sawed", + "sawer", + "saxes", + "sayed", + "sayer", + "sayid", + "sayne", + "sayon", + "sayst", + "sazes", + "scabs", + "scads", + "scaff", + "scags", + "scail", + "scala", + "scald", + "scale", + "scall", + "scalp", + "scaly", + "scamp", + "scams", + "scand", + "scans", + "scant", + "scapa", + "scape", + "scapi", + "scare", + "scarf", + "scarp", + "scars", + "scart", + "scary", + "scath", + "scats", + "scatt", + "scaud", + "scaup", + "scaur", + "scaws", + "sceat", + "scena", + "scend", + "scene", + "scent", + "schav", + "schmo", + "schul", + "schwa", + "scion", + "sclim", + "scody", + "scoff", + "scogs", + "scold", + "scone", + "scoog", + "scoop", + "scoot", + "scopa", + "scope", + "scops", + "score", + "scorn", + "scots", + "scoug", + "scoup", + "scour", + "scout", + "scowl", + "scowp", + "scows", + "scrab", + "scrae", + "scrag", + "scram", + "scran", + "scrap", + "scrat", + "scraw", + "scray", + "scree", + "screw", + "scrim", + "scrip", + "scrob", + "scrod", + "scrog", + "scrow", + "scrub", + "scrum", + "scuba", + "scudi", + "scudo", + "scuds", + "scuff", + "scuft", + "scugs", + "sculk", + "scull", + "sculp", + "sculs", + "scums", + "scups", + "scurf", + "scurs", + "scuse", + "scuta", + "scute", + "scuts", + "scuzz", + "scyes", + "sdayn", + "sdein", + "seals", + "seame", + "seams", + "seamy", + "seans", + "seare", + "sears", + "sease", + "seats", + "seaze", + "sebum", + "secco", + "sechs", + "sects", + "sedan", + "seder", + "sedes", + "sedge", + "sedgy", + "sedum", + "seeds", + "seedy", + "seeks", + "seeld", + "seels", + "seely", + "seems", + "seeps", + "seepy", + "seers", + "sefer", + "segar", + "segni", + "segno", + "segol", + "segos", + "segue", + "sehri", + "seifs", + "seils", + "seine", + "seirs", + "seise", + "seism", + "seity", + "seiza", + "seize", + "sekos", + "sekts", + "selah", + "seles", + "selfs", + "sella", + "selle", + "sells", + "selva", + "semee", + "semen", + "semes", + "semie", + "semis", + "senas", + "sends", + "senes", + "sengi", + "senna", + "senor", + "sensa", + "sense", + "sensi", + "sente", + "senti", + "sents", + "senvy", + "senza", + "sepad", + "sepal", + "sepia", + "sepic", + "sepoy", + "septa", + "septs", + "serac", + "serai", + "seral", + "sered", + "serer", + "seres", + "serfs", + "serge", + "seric", + "serif", + "serin", + "serks", + "seron", + "serow", + "serra", + "serre", + "serrs", + "serry", + "serum", + "serve", + "servo", + "sesey", + "sessa", + "setae", + "setal", + "seton", + "setts", + "setup", + "seven", + "sever", + "sewan", + "sewar", + "sewed", + "sewel", + "sewen", + "sewer", + "sewin", + "sexed", + "sexer", + "sexes", + "sexto", + "sexts", + "seyen", + "shack", + "shade", + "shads", + "shady", + "shaft", + "shags", + "shahs", + "shake", + "shako", + "shakt", + "shaky", + "shale", + "shall", + "shalm", + "shalt", + "shaly", + "shama", + "shame", + "shams", + "shand", + "shank", + "shans", + "shape", + "shaps", + "shard", + "share", + "shark", + "sharn", + "sharp", + "shash", + "shaul", + "shave", + "shawl", + "shawm", + "shawn", + "shaws", + "shaya", + "shays", + "shchi", + "sheaf", + "sheal", + "shear", + "sheas", + "sheds", + "sheel", + "sheen", + "sheep", + "sheer", + "sheet", + "sheik", + "shelf", + "shell", + "shend", + "shent", + "sheol", + "sherd", + "shere", + "shero", + "shets", + "sheva", + "shewn", + "shews", + "shiai", + "shied", + "shiel", + "shier", + "shies", + "shift", + "shill", + "shily", + "shims", + "shine", + "shins", + "shiny", + "ships", + "shire", + "shirk", + "shirr", + "shirs", + "shirt", + "shish", + "shiso", + "shist", + "shite", + "shits", + "shiur", + "shiva", + "shive", + "shivs", + "shlep", + "shlub", + "shmek", + "shmoe", + "shoal", + "shoat", + "shock", + "shoed", + "shoer", + "shoes", + "shogi", + "shogs", + "shoji", + "shojo", + "shola", + "shone", + "shook", + "shool", + "shoon", + "shoos", + "shoot", + "shope", + "shops", + "shore", + "shorl", + "shorn", + "short", + "shote", + "shots", + "shott", + "shout", + "shove", + "showd", + "shown", + "shows", + "showy", + "shoyu", + "shred", + "shrew", + "shris", + "shrow", + "shrub", + "shrug", + "shtik", + "shtum", + "shtup", + "shuck", + "shule", + "shuln", + "shuls", + "shuns", + "shunt", + "shura", + "shush", + "shute", + "shuts", + "shwas", + "shyer", + "shyly", + "sials", + "sibbs", + "sibyl", + "sices", + "sicht", + "sicko", + "sicks", + "sicky", + "sidas", + "sided", + "sider", + "sides", + "sidha", + "sidhe", + "sidle", + "siege", + "sield", + "siens", + "sient", + "sieth", + "sieur", + "sieve", + "sifts", + "sighs", + "sight", + "sigil", + "sigla", + "sigma", + "signa", + "signs", + "sijos", + "sikas", + "siker", + "sikes", + "silds", + "siled", + "silen", + "siler", + "siles", + "silex", + "silks", + "silky", + "sills", + "silly", + "silos", + "silts", + "silty", + "silva", + "simar", + "simas", + "simba", + "simis", + "simps", + "simul", + "since", + "sinds", + "sined", + "sines", + "sinew", + "singe", + "sings", + "sinhs", + "sinks", + "sinky", + "sinus", + "siped", + "sipes", + "sippy", + "sired", + "siree", + "siren", + "sires", + "sirih", + "siris", + "siroc", + "sirra", + "sirup", + "sisal", + "sises", + "sissy", + "sista", + "sists", + "sitar", + "sited", + "sites", + "sithe", + "sitka", + "situp", + "situs", + "siver", + "sixer", + "sixes", + "sixmo", + "sixte", + "sixth", + "sixty", + "sizar", + "sized", + "sizel", + "sizer", + "sizes", + "skags", + "skail", + "skald", + "skank", + "skart", + "skate", + "skats", + "skatt", + "skaws", + "skean", + "skear", + "skeds", + "skeed", + "skeef", + "skeen", + "skeer", + "skees", + "skeet", + "skegg", + "skegs", + "skein", + "skelf", + "skell", + "skelm", + "skelp", + "skene", + "skens", + "skeos", + "skeps", + "skers", + "skets", + "skews", + "skids", + "skied", + "skier", + "skies", + "skiey", + "skiff", + "skill", + "skimo", + "skimp", + "skims", + "skink", + "skins", + "skint", + "skios", + "skips", + "skirl", + "skirr", + "skirt", + "skite", + "skits", + "skive", + "skivy", + "sklim", + "skoal", + "skody", + "skoff", + "skogs", + "skols", + "skool", + "skort", + "skosh", + "skran", + "skrik", + "skuas", + "skugs", + "skulk", + "skull", + "skunk", + "skyed", + "skyer", + "skyey", + "skyfs", + "skyre", + "skyrs", + "skyte", + "slabs", + "slack", + "slade", + "slaes", + "slags", + "slaid", + "slain", + "slake", + "slams", + "slane", + "slang", + "slank", + "slant", + "slaps", + "slart", + "slash", + "slate", + "slats", + "slaty", + "slaws", + "slays", + "slebs", + "sleds", + "sleek", + "sleep", + "sleer", + "sleet", + "slept", + "slews", + "sleys", + "slice", + "slick", + "slide", + "slier", + "slily", + "slime", + "slims", + "slimy", + "sling", + "slink", + "slipe", + "slips", + "slipt", + "slish", + "slits", + "slive", + "sloan", + "slobs", + "sloes", + "slogs", + "sloid", + "slojd", + "slomo", + "sloom", + "sloop", + "sloot", + "slope", + "slops", + "slopy", + "slorm", + "slosh", + "sloth", + "slots", + "slove", + "slows", + "sloyd", + "slubb", + "slubs", + "slued", + "slues", + "sluff", + "slugs", + "sluit", + "slump", + "slums", + "slung", + "slunk", + "slurb", + "slurp", + "slurs", + "sluse", + "slush", + "slyer", + "slyly", + "slype", + "smaak", + "smack", + "smaik", + "small", + "smalm", + "smalt", + "smarm", + "smart", + "smash", + "smaze", + "smear", + "smeek", + "smees", + "smeik", + "smeke", + "smell", + "smelt", + "smerk", + "smews", + "smile", + "smirk", + "smirr", + "smirs", + "smite", + "smith", + "smits", + "smock", + "smogs", + "smoke", + "smoko", + "smoky", + "smolt", + "smoor", + "smoot", + "smore", + "smorg", + "smote", + "smout", + "smowt", + "smugs", + "smurs", + "smush", + "smuts", + "snabs", + "snack", + "snafu", + "snags", + "snail", + "snake", + "snaky", + "snaps", + "snare", + "snarf", + "snark", + "snarl", + "snars", + "snary", + "snash", + "snath", + "snaws", + "snead", + "sneak", + "sneap", + "snebs", + "sneck", + "sneds", + "sneed", + "sneer", + "snees", + "snell", + "snibs", + "snick", + "snide", + "snies", + "sniff", + "snift", + "snigs", + "snipe", + "snips", + "snipy", + "snirt", + "snits", + "snobs", + "snods", + "snoek", + "snoep", + "snogs", + "snoke", + "snood", + "snook", + "snool", + "snoop", + "snoot", + "snore", + "snort", + "snots", + "snout", + "snowk", + "snows", + "snowy", + "snubs", + "snuck", + "snuff", + "snugs", + "snush", + "snyes", + "soaks", + "soaps", + "soapy", + "soare", + "soars", + "soave", + "sobas", + "sober", + "socas", + "soces", + "socko", + "socks", + "socle", + "sodas", + "soddy", + "sodic", + "sodom", + "sofar", + "sofas", + "softa", + "softs", + "softy", + "soger", + "soggy", + "sohur", + "soils", + "soily", + "sojas", + "sojus", + "sokah", + "soken", + "sokes", + "sokol", + "solah", + "solan", + "solar", + "solas", + "solde", + "soldi", + "soldo", + "solds", + "soled", + "solei", + "soler", + "soles", + "solid", + "solon", + "solos", + "solum", + "solus", + "solve", + "soman", + "somas", + "sonar", + "sonce", + "sonde", + "sones", + "songs", + "sonic", + "sonly", + "sonne", + "sonny", + "sonse", + "sonsy", + "sooey", + "sooks", + "sooky", + "soole", + "sools", + "sooms", + "soops", + "soote", + "sooth", + "soots", + "sooty", + "sophs", + "sophy", + "sopor", + "soppy", + "sopra", + "soral", + "soras", + "sorbo", + "sorbs", + "sorda", + "sordo", + "sords", + "sored", + "soree", + "sorel", + "sorer", + "sores", + "sorex", + "sorgo", + "sorns", + "sorra", + "sorry", + "sorta", + "sorts", + "sorus", + "soths", + "sotol", + "souce", + "souct", + "sough", + "souks", + "souls", + "soums", + "sound", + "soups", + "soupy", + "sours", + "souse", + "south", + "souts", + "sowar", + "sowce", + "sowed", + "sower", + "sowff", + "sowfs", + "sowle", + "sowls", + "sowms", + "sownd", + "sowne", + "sowps", + "sowse", + "sowth", + "soyas", + "soyle", + "soyuz", + "sozin", + "space", + "spacy", + "spade", + "spado", + "spaed", + "spaer", + "spaes", + "spags", + "spahi", + "spail", + "spain", + "spait", + "spake", + "spald", + "spale", + "spall", + "spalt", + "spams", + "spane", + "spang", + "spank", + "spans", + "spard", + "spare", + "spark", + "spars", + "spart", + "spasm", + "spate", + "spats", + "spaul", + "spawl", + "spawn", + "spaws", + "spayd", + "spays", + "spaza", + "spazz", + "speak", + "speal", + "spean", + "spear", + "speat", + "speck", + "specs", + "spect", + "speed", + "speel", + "speer", + "speil", + "speir", + "speks", + "speld", + "spelk", + "spell", + "spelt", + "spend", + "spent", + "speos", + "sperm", + "spets", + "speug", + "spews", + "spewy", + "spial", + "spica", + "spice", + "spicy", + "spide", + "spied", + "spiel", + "spier", + "spies", + "spiff", + "spifs", + "spike", + "spiky", + "spile", + "spill", + "spilt", + "spims", + "spina", + "spine", + "spink", + "spins", + "spiny", + "spire", + "spirt", + "spiry", + "spite", + "spits", + "spitz", + "spivs", + "splat", + "splay", + "split", + "splog", + "spode", + "spods", + "spoil", + "spoke", + "spoof", + "spook", + "spool", + "spoom", + "spoon", + "spoor", + "spoot", + "spore", + "spork", + "sport", + "sposh", + "spots", + "spout", + "sprad", + "sprag", + "sprat", + "spray", + "spred", + "spree", + "sprew", + "sprig", + "sprit", + "sprod", + "sprog", + "sprue", + "sprug", + "spuds", + "spued", + "spuer", + "spues", + "spugs", + "spule", + "spume", + "spumy", + "spunk", + "spurn", + "spurs", + "spurt", + "sputa", + "spyal", + "spyre", + "squab", + "squad", + "squat", + "squaw", + "squeg", + "squib", + "squid", + "squit", + "squiz", + "stabs", + "stack", + "stade", + "staff", + "stage", + "stags", + "stagy", + "staid", + "staig", + "stain", + "stair", + "stake", + "stale", + "stalk", + "stall", + "stamp", + "stand", + "stane", + "stang", + "stank", + "staph", + "staps", + "stare", + "stark", + "starn", + "starr", + "stars", + "start", + "stash", + "state", + "stats", + "staun", + "stave", + "staws", + "stays", + "stead", + "steak", + "steal", + "steam", + "stean", + "stear", + "stedd", + "stede", + "steds", + "steed", + "steek", + "steel", + "steem", + "steen", + "steep", + "steer", + "steil", + "stein", + "stela", + "stele", + "stell", + "steme", + "stems", + "stend", + "steno", + "stens", + "stent", + "steps", + "stept", + "stere", + "stern", + "stets", + "stews", + "stewy", + "steys", + "stich", + "stick", + "stied", + "sties", + "stiff", + "stilb", + "stile", + "still", + "stilt", + "stime", + "stims", + "stimy", + "sting", + "stink", + "stint", + "stipa", + "stipe", + "stire", + "stirk", + "stirp", + "stirs", + "stive", + "stivy", + "stoae", + "stoai", + "stoas", + "stoat", + "stobs", + "stock", + "stoep", + "stogy", + "stoic", + "stoit", + "stoke", + "stole", + "stoln", + "stoma", + "stomp", + "stond", + "stone", + "stong", + "stonk", + "stonn", + "stony", + "stood", + "stook", + "stool", + "stoop", + "stoor", + "stope", + "stops", + "stopt", + "store", + "stork", + "storm", + "story", + "stoss", + "stots", + "stott", + "stoun", + "stoup", + "stour", + "stout", + "stove", + "stown", + "stowp", + "stows", + "strad", + "strae", + "strag", + "strak", + "strap", + "straw", + "stray", + "strep", + "strew", + "stria", + "strig", + "strim", + "strip", + "strop", + "strow", + "stroy", + "strum", + "strut", + "stubs", + "stuck", + "stude", + "studs", + "study", + "stuff", + "stull", + "stulm", + "stumm", + "stump", + "stums", + "stung", + "stunk", + "stuns", + "stunt", + "stupa", + "stupe", + "sture", + "sturt", + "styed", + "styes", + "style", + "styli", + "stylo", + "styme", + "stymy", + "styre", + "styte", + "suave", + "subah", + "subas", + "subby", + "suber", + "subha", + "succi", + "sucks", + "sucky", + "sucre", + "sudds", + "sudor", + "sudsy", + "suede", + "suent", + "suers", + "suete", + "suets", + "suety", + "sugan", + "sugar", + "sughs", + "sugos", + "suhur", + "suids", + "suing", + "suint", + "suite", + "suits", + "sujee", + "sukhs", + "sukuk", + "sulci", + "sulfa", + "sulfo", + "sulks", + "sulky", + "sully", + "sulph", + "sulus", + "sumac", + "sumis", + "summa", + "sumos", + "sumph", + "sumps", + "sunis", + "sunks", + "sunna", + "sunns", + "sunny", + "sunup", + "super", + "supes", + "supra", + "surah", + "sural", + "suras", + "surat", + "surds", + "sured", + "surer", + "sures", + "surfs", + "surfy", + "surge", + "surgy", + "surly", + "surra", + "sused", + "suses", + "sushi", + "susus", + "sutor", + "sutra", + "sutta", + "swabs", + "swack", + "swads", + "swage", + "swags", + "swail", + "swain", + "swale", + "swaly", + "swami", + "swamp", + "swamy", + "swang", + "swank", + "swans", + "swaps", + "swapt", + "sward", + "sware", + "swarf", + "swarm", + "swart", + "swash", + "swath", + "swats", + "swayl", + "sways", + "sweal", + "swear", + "sweat", + "swede", + "sweed", + "sweel", + "sweep", + "sweer", + "swees", + "sweet", + "sweir", + "swell", + "swelt", + "swept", + "swerf", + "sweys", + "swies", + "swift", + "swigs", + "swile", + "swill", + "swims", + "swine", + "swing", + "swink", + "swipe", + "swire", + "swirl", + "swish", + "swiss", + "swith", + "swits", + "swive", + "swizz", + "swobs", + "swole", + "swoln", + "swoon", + "swoop", + "swops", + "swopt", + "sword", + "swore", + "sworn", + "swots", + "swoun", + "swung", + "sybbe", + "sybil", + "syboe", + "sybow", + "sycee", + "syces", + "sycon", + "syens", + "syker", + "sykes", + "sylis", + "sylph", + "sylva", + "symar", + "synch", + "syncs", + "synds", + "syned", + "synes", + "synod", + "synth", + "syped", + "sypes", + "syphs", + "syrah", + "syren", + "syrup", + "sysop", + "sythe", + "syver", + "taals", + "taata", + "tabby", + "taber", + "tabes", + "tabid", + "tabis", + "tabla", + "table", + "taboo", + "tabor", + "tabun", + "tabus", + "tacan", + "taces", + "tacet", + "tache", + "tacho", + "tachs", + "tacit", + "tacks", + "tacky", + "tacos", + "tacts", + "taels", + "taffy", + "tafia", + "taggy", + "tagma", + "tahas", + "tahrs", + "taiga", + "taigs", + "taiko", + "tails", + "tains", + "taint", + "taira", + "taish", + "taits", + "tajes", + "takas", + "taken", + "taker", + "takes", + "takhi", + "takin", + "takis", + "takky", + "talak", + "talaq", + "talar", + "talas", + "talcs", + "talcy", + "talea", + "taler", + "tales", + "talks", + "talky", + "talls", + "tally", + "talma", + "talon", + "talpa", + "taluk", + "talus", + "tamal", + "tamed", + "tamer", + "tames", + "tamin", + "tamis", + "tammy", + "tamps", + "tanas", + "tanga", + "tangi", + "tango", + "tangs", + "tangy", + "tanhs", + "tanka", + "tanks", + "tanky", + "tanna", + "tansy", + "tanti", + "tanto", + "tanty", + "tapas", + "taped", + "tapen", + "taper", + "tapes", + "tapet", + "tapir", + "tapis", + "tappa", + "tapus", + "taras", + "tardo", + "tardy", + "tared", + "tares", + "targa", + "targe", + "tarns", + "taroc", + "tarok", + "taros", + "tarot", + "tarps", + "tarre", + "tarry", + "tarsi", + "tarts", + "tarty", + "tasar", + "tased", + "taser", + "tases", + "tasks", + "tassa", + "tasse", + "tasso", + "taste", + "tasty", + "tatar", + "tater", + "tates", + "taths", + "tatie", + "tatou", + "tatts", + "tatty", + "tatus", + "taube", + "tauld", + "taunt", + "tauon", + "taupe", + "tauts", + "tavah", + "tavas", + "taver", + "tawai", + "tawas", + "tawed", + "tawer", + "tawie", + "tawny", + "tawse", + "tawts", + "taxed", + "taxer", + "taxes", + "taxis", + "taxol", + "taxon", + "taxor", + "taxus", + "tayra", + "tazza", + "tazze", + "teach", + "teade", + "teads", + "teaed", + "teaks", + "teals", + "teams", + "tears", + "teary", + "tease", + "teats", + "teaze", + "techs", + "techy", + "tecta", + "teddy", + "teels", + "teems", + "teend", + "teene", + "teens", + "teeny", + "teers", + "teeth", + "teffs", + "teggs", + "tegua", + "tegus", + "tehrs", + "teiid", + "teils", + "teind", + "teins", + "telae", + "telco", + "teles", + "telex", + "telia", + "telic", + "tells", + "telly", + "teloi", + "telos", + "temed", + "temes", + "tempi", + "tempo", + "temps", + "tempt", + "temse", + "tench", + "tends", + "tendu", + "tenes", + "tenet", + "tenge", + "tenia", + "tenne", + "tenno", + "tenny", + "tenon", + "tenor", + "tense", + "tenth", + "tents", + "tenty", + "tenue", + "tepal", + "tepas", + "tepee", + "tepid", + "tepoy", + "terai", + "teras", + "terce", + "terek", + "teres", + "terfe", + "terfs", + "terga", + "terms", + "terne", + "terns", + "terra", + "terry", + "terse", + "terts", + "tesla", + "testa", + "teste", + "tests", + "testy", + "tetes", + "teths", + "tetra", + "tetri", + "teuch", + "teugh", + "tewed", + "tewel", + "tewit", + "texas", + "texes", + "texts", + "thack", + "thagi", + "thaim", + "thale", + "thali", + "thana", + "thane", + "thang", + "thank", + "thans", + "thanx", + "tharm", + "thars", + "thaws", + "thawy", + "thebe", + "theca", + "theed", + "theek", + "thees", + "theft", + "thegn", + "theic", + "thein", + "their", + "thelf", + "thema", + "theme", + "thens", + "theow", + "there", + "therm", + "these", + "thesp", + "theta", + "thete", + "thews", + "thewy", + "thick", + "thief", + "thigh", + "thigs", + "thilk", + "thill", + "thine", + "thing", + "think", + "thins", + "thiol", + "third", + "thirl", + "thoft", + "thole", + "tholi", + "thong", + "thorn", + "thoro", + "thorp", + "those", + "thous", + "thowl", + "thrae", + "thraw", + "three", + "threw", + "thrid", + "thrip", + "throb", + "throe", + "throw", + "thrum", + "thuds", + "thugs", + "thuja", + "thumb", + "thump", + "thunk", + "thurl", + "thuya", + "thyme", + "thymi", + "thymy", + "tians", + "tiara", + "tiars", + "tibia", + "tical", + "ticca", + "ticed", + "tices", + "tichy", + "ticks", + "ticky", + "tidal", + "tiddy", + "tided", + "tides", + "tiers", + "tiffs", + "tifos", + "tifts", + "tiger", + "tiges", + "tight", + "tigon", + "tikas", + "tikes", + "tikis", + "tikka", + "tilak", + "tilde", + "tiled", + "tiler", + "tiles", + "tills", + "tilly", + "tilth", + "tilts", + "timbo", + "timed", + "timer", + "times", + "timid", + "timon", + "timps", + "tinas", + "tinct", + "tinds", + "tinea", + "tined", + "tines", + "tinge", + "tings", + "tinks", + "tinny", + "tints", + "tinty", + "tipis", + "tippy", + "tipsy", + "tired", + "tires", + "tirls", + "tiros", + "tirrs", + "titan", + "titch", + "titer", + "tithe", + "titis", + "title", + "titre", + "titty", + "titup", + "tiyin", + "tiyns", + "tizes", + "tizzy", + "toads", + "toady", + "toast", + "toaze", + "tocks", + "tocky", + "tocos", + "today", + "todde", + "toddy", + "toeas", + "toffs", + "toffy", + "tofts", + "tofus", + "togae", + "togas", + "toged", + "toges", + "togue", + "tohos", + "toile", + "toils", + "toing", + "toise", + "toits", + "tokay", + "toked", + "token", + "toker", + "tokes", + "tokos", + "tolan", + "tolar", + "tolas", + "toled", + "toles", + "tolls", + "tolly", + "tolts", + "tolus", + "tolyl", + "toman", + "tombs", + "tomes", + "tomia", + "tommy", + "tomos", + "tonal", + "tondi", + "tondo", + "toned", + "toner", + "tones", + "toney", + "tonga", + "tongs", + "tonic", + "tonka", + "tonks", + "tonne", + "tonus", + "tools", + "tooms", + "toons", + "tooth", + "toots", + "topaz", + "toped", + "topee", + "topek", + "toper", + "topes", + "tophe", + "tophi", + "tophs", + "topic", + "topis", + "topoi", + "topos", + "toppy", + "toque", + "torah", + "toran", + "toras", + "torch", + "torcs", + "tores", + "toric", + "torii", + "toros", + "torot", + "torrs", + "torse", + "torsi", + "torsk", + "torso", + "torta", + "torte", + "torts", + "torus", + "tosas", + "tosed", + "toses", + "toshy", + "tossy", + "total", + "toted", + "totem", + "toter", + "totes", + "totty", + "touch", + "tough", + "touks", + "touns", + "tours", + "touse", + "tousy", + "touts", + "touze", + "touzy", + "towed", + "towel", + "tower", + "towie", + "towns", + "towny", + "towse", + "towsy", + "towts", + "towze", + "towzy", + "toxic", + "toxin", + "toyed", + "toyer", + "toyon", + "toyos", + "tozed", + "tozes", + "tozie", + "trabs", + "trace", + "track", + "tract", + "trade", + "trads", + "tragi", + "traik", + "trail", + "train", + "trait", + "tramp", + "trams", + "trank", + "tranq", + "trans", + "trant", + "trape", + "traps", + "trapt", + "trash", + "trass", + "trats", + "tratt", + "trave", + "trawl", + "trayf", + "trays", + "tread", + "treat", + "treck", + "treed", + "treen", + "trees", + "trefa", + "treif", + "treks", + "trema", + "trems", + "trend", + "tress", + "trest", + "trets", + "trews", + "treyf", + "treys", + "triac", + "triad", + "trial", + "tribe", + "trice", + "trick", + "tride", + "tried", + "trier", + "tries", + "triff", + "trigo", + "trigs", + "trike", + "trild", + "trill", + "trims", + "trine", + "trins", + "triol", + "trior", + "trios", + "tripe", + "trips", + "tripy", + "trist", + "trite", + "troad", + "troak", + "troat", + "trock", + "trode", + "trods", + "trogs", + "trois", + "troke", + "troll", + "tromp", + "trona", + "tronc", + "trone", + "tronk", + "trons", + "troop", + "trooz", + "trope", + "troth", + "trots", + "trout", + "trove", + "trows", + "troys", + "truce", + "truck", + "trued", + "truer", + "trues", + "trugo", + "trugs", + "trull", + "truly", + "trump", + "trunk", + "truss", + "trust", + "truth", + "tryer", + "tryke", + "tryma", + "tryps", + "tryst", + "tsade", + "tsadi", + "tsars", + "tsked", + "tsuba", + "tsubo", + "tuans", + "tuart", + "tuath", + "tubae", + "tubal", + "tubar", + "tubas", + "tubby", + "tubed", + "tuber", + "tubes", + "tucks", + "tufas", + "tuffe", + "tuffs", + "tufts", + "tufty", + "tugra", + "tuile", + "tuina", + "tuism", + "tuktu", + "tules", + "tulip", + "tulle", + "tulpa", + "tulsi", + "tumid", + "tummy", + "tumor", + "tumps", + "tumpy", + "tunas", + "tunds", + "tuned", + "tuner", + "tunes", + "tungs", + "tunic", + "tunny", + "tupek", + "tupik", + "tuple", + "tuque", + "turbo", + "turds", + "turfs", + "turfy", + "turks", + "turme", + "turms", + "turns", + "turnt", + "turps", + "turrs", + "tushy", + "tusks", + "tusky", + "tutee", + "tutor", + "tutti", + "tutty", + "tutus", + "tuxes", + "tuyer", + "twaes", + "twain", + "twals", + "twang", + "twank", + "twats", + "tways", + "tweak", + "tweed", + "tweel", + "tween", + "tweep", + "tweer", + "tweet", + "twerk", + "twerp", + "twice", + "twier", + "twigs", + "twill", + "twilt", + "twine", + "twink", + "twins", + "twiny", + "twire", + "twirl", + "twirp", + "twist", + "twite", + "twits", + "twixt", + "twoer", + "twyer", + "tyees", + "tyers", + "tying", + "tyiyn", + "tykes", + "tyler", + "tymps", + "tynde", + "tyned", + "tynes", + "typal", + "typed", + "types", + "typey", + "typic", + "typos", + "typps", + "typto", + "tyran", + "tyred", + "tyres", + "tyros", + "tythe", + "tzars", + "udals", + "udder", + "udons", + "ugali", + "ugged", + "uhlan", + "uhuru", + "ukase", + "ulama", + "ulans", + "ulcer", + "ulema", + "ulmin", + "ulnad", + "ulnae", + "ulnar", + "ulnas", + "ulpan", + "ultra", + "ulvas", + "ulyie", + "ulzie", + "umami", + "umbel", + "umber", + "umble", + "umbos", + "umbra", + "umbre", + "umiac", + "umiak", + "umiaq", + "ummah", + "ummas", + "ummed", + "umped", + "umphs", + "umpie", + "umpty", + "umrah", + "umras", + "unais", + "unapt", + "unarm", + "unary", + "unaus", + "unbag", + "unban", + "unbar", + "unbed", + "unbid", + "unbox", + "uncap", + "unces", + "uncia", + "uncle", + "uncos", + "uncoy", + "uncus", + "uncut", + "undam", + "undee", + "under", + "undid", + "undos", + "undue", + "undug", + "uneth", + "unfed", + "unfit", + "unfix", + "ungag", + "unget", + "ungod", + "ungot", + "ungum", + "unhat", + "unhip", + "unica", + "unify", + "union", + "unite", + "units", + "unity", + "unjam", + "unked", + "unket", + "unkid", + "unlaw", + "unlay", + "unled", + "unlet", + "unlid", + "unlit", + "unman", + "unmet", + "unmew", + "unmix", + "unpay", + "unpeg", + "unpen", + "unpin", + "unred", + "unrid", + "unrig", + "unrip", + "unsaw", + "unsay", + "unsee", + "unset", + "unsew", + "unsex", + "unsod", + "untax", + "untie", + "until", + "untin", + "unwed", + "unwet", + "unwit", + "unwon", + "unzip", + "upbow", + "upbye", + "updos", + "updry", + "upend", + "upjet", + "uplay", + "upled", + "uplit", + "upped", + "upper", + "upran", + "uprun", + "upsee", + "upset", + "upsey", + "uptak", + "upter", + "uptie", + "uraei", + "urali", + "uraos", + "urare", + "urari", + "urase", + "urate", + "urban", + "urbex", + "urbia", + "urdee", + "ureal", + "ureas", + "uredo", + "ureic", + "urena", + "urent", + "urged", + "urger", + "urges", + "urial", + "urine", + "urite", + "urman", + "urnal", + "urned", + "urped", + "ursae", + "ursid", + "urson", + "urubu", + "urvas", + "usage", + "users", + "usher", + "using", + "usnea", + "usque", + "usual", + "usure", + "usurp", + "usury", + "uteri", + "utile", + "utter", + "uveal", + "uveas", + "uvula", + "vacua", + "vaded", + "vades", + "vagal", + "vague", + "vagus", + "vails", + "vaire", + "vairs", + "vairy", + "vakas", + "vakil", + "vales", + "valet", + "valid", + "valis", + "valor", + "valse", + "value", + "valve", + "vamps", + "vampy", + "vanda", + "vaned", + "vanes", + "vangs", + "vants", + "vaped", + "vaper", + "vapes", + "vapid", + "vapor", + "varan", + "varas", + "vardy", + "varec", + "vares", + "varia", + "varix", + "varna", + "varus", + "varve", + "vasal", + "vases", + "vasts", + "vasty", + "vatic", + "vatus", + "vauch", + "vault", + "vaunt", + "vaute", + "vauts", + "vawte", + "vaxes", + "veale", + "veals", + "vealy", + "veena", + "veeps", + "veers", + "veery", + "vegan", + "vegas", + "veges", + "vegie", + "vegos", + "vehme", + "veils", + "veily", + "veins", + "veiny", + "velar", + "velds", + "veldt", + "veles", + "vells", + "velum", + "venae", + "venal", + "vends", + "vendu", + "veney", + "venge", + "venin", + "venom", + "vents", + "venue", + "venus", + "verbs", + "verge", + "verra", + "verry", + "verse", + "verso", + "verst", + "verts", + "vertu", + "verve", + "vespa", + "vesta", + "vests", + "vetch", + "vexed", + "vexer", + "vexes", + "vexil", + "vezir", + "vials", + "viand", + "vibes", + "vibex", + "vibey", + "vicar", + "viced", + "vices", + "vichy", + "video", + "viers", + "views", + "viewy", + "vifda", + "viffs", + "vigas", + "vigia", + "vigil", + "vigor", + "vilde", + "viler", + "villa", + "villi", + "vills", + "vimen", + "vinal", + "vinas", + "vinca", + "vined", + "viner", + "vines", + "vinew", + "vinic", + "vinos", + "vints", + "vinyl", + "viola", + "viold", + "viols", + "viper", + "viral", + "vired", + "vireo", + "vires", + "virga", + "virge", + "virid", + "virls", + "virtu", + "virus", + "visas", + "vised", + "vises", + "visie", + "visit", + "visne", + "vison", + "visor", + "vista", + "visto", + "vitae", + "vital", + "vitas", + "vitex", + "vitro", + "vitta", + "vivas", + "vivat", + "vivda", + "viver", + "vives", + "vivid", + "vixen", + "vizir", + "vizor", + "vleis", + "vlies", + "vlogs", + "voars", + "vocab", + "vocal", + "voces", + "voddy", + "vodka", + "vodou", + "vodun", + "voema", + "vogie", + "vogue", + "voice", + "voids", + "voila", + "voile", + "voips", + "volae", + "volar", + "voled", + "voles", + "volet", + "volks", + "volta", + "volte", + "volti", + "volts", + "volva", + "volve", + "vomer", + "vomit", + "voted", + "voter", + "votes", + "vouch", + "vouge", + "voulu", + "vowed", + "vowel", + "vower", + "voxel", + "vozhd", + "vraic", + "vrils", + "vroom", + "vrous", + "vrouw", + "vrows", + "vuggs", + "vuggy", + "vughs", + "vughy", + "vulgo", + "vulns", + "vulva", + "vutty", + "vying", + "waacs", + "wacke", + "wacko", + "wacks", + "wacky", + "wadds", + "waddy", + "waded", + "wader", + "wades", + "wadge", + "wadis", + "wadts", + "wafer", + "waffs", + "wafts", + "waged", + "wager", + "wages", + "wagga", + "wagon", + "wagyu", + "wahoo", + "waide", + "waifs", + "waift", + "wails", + "wains", + "wairs", + "waist", + "waite", + "waits", + "waive", + "wakas", + "waked", + "waken", + "waker", + "wakes", + "wakfs", + "waldo", + "walds", + "waled", + "waler", + "wales", + "walie", + "walis", + "walks", + "walla", + "walls", + "wally", + "walty", + "waltz", + "wamed", + "wames", + "wamus", + "wands", + "waned", + "wanes", + "waney", + "wangs", + "wanks", + "wanky", + "wanle", + "wanly", + "wanna", + "wants", + "wanty", + "wanze", + "waqfs", + "warbs", + "warby", + "wards", + "wared", + "wares", + "warez", + "warks", + "warms", + "warns", + "warps", + "warre", + "warst", + "warts", + "warty", + "wases", + "washy", + "wasms", + "wasps", + "waspy", + "waste", + "wasts", + "watap", + "watch", + "water", + "watts", + "wauff", + "waugh", + "wauks", + "waulk", + "wauls", + "waurs", + "waved", + "waver", + "waves", + "wavey", + "wawas", + "wawes", + "wawls", + "waxed", + "waxen", + "waxer", + "waxes", + "wayed", + "wazir", + "wazoo", + "weald", + "weals", + "weamb", + "weans", + "wears", + "weary", + "weave", + "webby", + "weber", + "wecht", + "wedel", + "wedge", + "wedgy", + "weeds", + "weedy", + "weeke", + "weeks", + "weels", + "weems", + "weens", + "weeny", + "weeps", + "weepy", + "weest", + "weete", + "weets", + "wefte", + "wefts", + "weids", + "weigh", + "weils", + "weird", + "weirs", + "weise", + "weize", + "wekas", + "welch", + "welds", + "welke", + "welks", + "welkt", + "wells", + "welly", + "welsh", + "welts", + "wembs", + "wends", + "wenge", + "wenny", + "wents", + "weros", + "wersh", + "wests", + "wetas", + "wetly", + "wexed", + "wexes", + "whack", + "whale", + "whamo", + "whams", + "whang", + "whaps", + "whare", + "wharf", + "whata", + "whats", + "whaup", + "whaur", + "wheal", + "whear", + "wheat", + "wheel", + "wheen", + "wheep", + "wheft", + "whelk", + "whelm", + "whelp", + "whens", + "where", + "whets", + "whews", + "wheys", + "which", + "whids", + "whiff", + "whift", + "whigs", + "while", + "whilk", + "whims", + "whine", + "whins", + "whiny", + "whios", + "whips", + "whipt", + "whirl", + "whirr", + "whirs", + "whish", + "whisk", + "whiss", + "whist", + "white", + "whits", + "whity", + "whizz", + "whole", + "whomp", + "whoof", + "whoop", + "whoot", + "whops", + "whorl", + "whort", + "whose", + "whoso", + "whows", + "whump", + "whups", + "whyda", + "wicca", + "wicks", + "wicky", + "widdy", + "widen", + "wider", + "wides", + "widow", + "width", + "wield", + "wiels", + "wifed", + "wifes", + "wifey", + "wifie", + "wifty", + "wigan", + "wigga", + "wiggy", + "wight", + "wikis", + "wilco", + "wilds", + "wiled", + "wiles", + "wilga", + "wilis", + "wilja", + "wills", + "willy", + "wilts", + "wimps", + "wimpy", + "wince", + "winch", + "winds", + "windy", + "wined", + "wines", + "winey", + "winge", + "wings", + "wingy", + "winks", + "winna", + "winns", + "winos", + "winze", + "wiped", + "wiper", + "wipes", + "wired", + "wirer", + "wires", + "wirra", + "wised", + "wiser", + "wises", + "wisha", + "wisht", + "wisps", + "wispy", + "wists", + "witan", + "witch", + "wited", + "wites", + "withe", + "withs", + "withy", + "witty", + "wived", + "wiver", + "wives", + "wizen", + "wizes", + "woads", + "woald", + "wocks", + "wodge", + "woful", + "wojus", + "woken", + "woker", + "wokka", + "wolds", + "wolfs", + "wolly", + "wolve", + "woman", + "wombs", + "womby", + "women", + "womyn", + "wonga", + "wongi", + "wonks", + "wonky", + "wonts", + "woods", + "woody", + "wooed", + "wooer", + "woofs", + "woofy", + "woold", + "wools", + "wooly", + "woons", + "woops", + "woopy", + "woose", + "woosh", + "wootz", + "woozy", + "words", + "wordy", + "works", + "world", + "worms", + "wormy", + "worry", + "worse", + "worst", + "worth", + "worts", + "would", + "wound", + "woven", + "wowed", + "wowee", + "woxen", + "wrack", + "wrang", + "wraps", + "wrapt", + "wrast", + "wrate", + "wrath", + "wrawl", + "wreak", + "wreck", + "wrens", + "wrest", + "wrick", + "wried", + "wrier", + "wries", + "wring", + "wrist", + "write", + "writs", + "wroke", + "wrong", + "wroot", + "wrote", + "wroth", + "wrung", + "wryer", + "wryly", + "wuddy", + "wudus", + "wulls", + "wurst", + "wuses", + "wushu", + "wussy", + "wuxia", + "wyled", + "wyles", + "wynds", + "wynns", + "wyted", + "wytes", + "xebec", + "xenia", + "xenic", + "xenon", + "xeric", + "xerox", + "xerus", + "xoana", + "xrays", + "xylan", + "xylem", + "xylic", + "xylol", + "xylyl", + "xysti", + "xysts", + "yaars", + "yabas", + "yabba", + "yabby", + "yacca", + "yacht", + "yacka", + "yacks", + "yaffs", + "yager", + "yages", + "yagis", + "yahoo", + "yaird", + "yakka", + "yakow", + "yales", + "yamen", + "yampy", + "yamun", + "yangs", + "yanks", + "yapok", + "yapon", + "yapps", + "yappy", + "yarak", + "yarco", + "yards", + "yarer", + "yarfa", + "yarks", + "yarns", + "yarrs", + "yarta", + "yarto", + "yates", + "yauds", + "yauld", + "yaups", + "yawed", + "yawey", + "yawls", + "yawns", + "yawny", + "yawps", + "ybore", + "yclad", + "ycled", + "ycond", + "ydrad", + "ydred", + "yeads", + "yeahs", + "yealm", + "yeans", + "yeard", + "yearn", + "years", + "yeast", + "yecch", + "yechs", + "yechy", + "yedes", + "yeeds", + "yeesh", + "yeggs", + "yelks", + "yells", + "yelms", + "yelps", + "yelts", + "yenta", + "yente", + "yerba", + "yerds", + "yerks", + "yeses", + "yesks", + "yests", + "yesty", + "yetis", + "yetts", + "yeuks", + "yeuky", + "yeven", + "yeves", + "yewen", + "yexed", + "yexes", + "yfere", + "yield", + "yiked", + "yikes", + "yills", + "yince", + "yipes", + "yippy", + "yirds", + "yirks", + "yirrs", + "yirth", + "yites", + "yitie", + "ylems", + "ylike", + "ylkes", + "ymolt", + "ympes", + "yobbo", + "yobby", + "yocks", + "yodel", + "yodhs", + "yodle", + "yogas", + "yogee", + "yoghs", + "yogic", + "yogin", + "yogis", + "yoick", + "yojan", + "yoked", + "yokel", + "yoker", + "yokes", + "yokul", + "yolks", + "yolky", + "yomim", + "yomps", + "yonic", + "yonis", + "yonks", + "yoofs", + "yoops", + "yores", + "yorks", + "yorps", + "youks", + "young", + "yourn", + "yours", + "yourt", + "youse", + "youth", + "yowed", + "yowes", + "yowie", + "yowls", + "yowza", + "yrapt", + "yrent", + "yrivd", + "yrneh", + "ysame", + "ytost", + "yuans", + "yucas", + "yucca", + "yucch", + "yucko", + "yucks", + "yucky", + "yufts", + "yugas", + "yuked", + "yukes", + "yukky", + "yukos", + "yulan", + "yules", + "yummo", + "yummy", + "yumps", + "yupon", + "yuppy", + "yurta", + "yurts", + "yuzus", + "zabra", + "zacks", + "zaida", + "zaidy", + "zaire", + "zakat", + "zaman", + "zambo", + "zamia", + "zanja", + "zante", + "zanza", + "zanze", + "zappy", + "zarfs", + "zaris", + "zatis", + "zaxes", + "zayin", + "zazen", + "zeals", + "zebec", + "zebra", + "zebub", + "zebus", + "zedas", + "zeins", + "zendo", + "zerda", + "zerks", + "zeros", + "zests", + "zesty", + "zetas", + "zexes", + "zezes", + "zhomo", + "zibet", + "ziffs", + "zigan", + "zilas", + "zilch", + "zilla", + "zills", + "zimbi", + "zimbs", + "zinco", + "zincs", + "zincy", + "zineb", + "zines", + "zings", + "zingy", + "zinke", + "zinky", + "zippo", + "zippy", + "ziram", + "zitis", + "zizel", + "zizit", + "zlote", + "zloty", + "zoaea", + "zobos", + "zobus", + "zocco", + "zoeae", + "zoeal", + "zoeas", + "zoism", + "zoist", + "zombi", + "zonae", + "zonal", + "zonda", + "zoned", + "zoner", + "zones", + "zonks", + "zooea", + "zooey", + "zooid", + "zooks", + "zooms", + "zoons", + "zooty", + "zoppa", + "zoppo", + "zoril", + "zoris", + "zorro", + "zouks", + "zowee", + "zowie", + "zulus", + "zupan", + "zupas", + "zuppa", + "zurfs", + "zuzim", + "zygal", + "zygon", + "zymes", + "zymic"} diff --git a/src/main.go b/src/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "fmt" + + "git.hanabi.in/dev/wordle-cli/src/algos" + "git.hanabi.in/dev/wordle-cli/src/utils" +) + +const ( + chances = 6 + word_size = 5 +) + +func main() { + answer := utils.SelectAnswer() + guesses := startGuessing(answer) + fmt.Printf("Answer was: %s.\n", answer) + utils.PrintShare(guesses) +} + +func startGuessing(answer string) []string { + + var alphabet = utils.InitAlphabetTable() + var anslookup = algos.GenAnsLookup(answer) + var colouredChoices = []string{} + fmt.Printf("Guess a %d-letter word. You have %d tries.\n", word_size, chances) + + for i := 0; i < chances; i++ { // not range, because i is being modified. + utils.GuessPrompt(i + 1) // 1-based indexing + guess, err := utils.GetValidGuess(word_size) + if err != nil { + i-- // Invalid input, reset current chance counter + fmt.Printf("%v", err) + continue + } + if guess != answer { + colour_string := algos.GetColours(answer, guess, anslookup, alphabet) + colouredChoices = append(colouredChoices, colour_string) + utils.PrintColouredGuess(colour_string, guess) + utils.PrintColouredAlpha(alphabet) + } + if guess == answer { + colour_string := "GGGGG" // If the answer was correct, GetColours is not called, hence hard-coding. + colouredChoices = append(colouredChoices, colour_string) + fmt.Println("Correct guess!") + return colouredChoices + } + } + return colouredChoices +} diff --git a/src/utils/fns.go b/src/utils/fns.go @@ -0,0 +1,142 @@ +package utils + +import ( + "fmt" + "math/rand" + "strings" + + "git.hanabi.in/dev/wordle-cli/src/algos" + "git.hanabi.in/dev/wordle-cli/src/colours" + "git.hanabi.in/dev/wordle-cli/src/data" +) + +// From a pre-defined sorted list of words, pick a random word which is the answer. +func SelectAnswer() string { + words := []string{} + for _, elem := range data.Words { + words = append(words, elem) + } + algos.Shuffle(words) + index := rand.Intn(len(words)) + return words[index] +} + +// Create a lookup table for alphabet, initialise them to grey colour. +func InitAlphabetTable() algos.Lookup { + var alphabet_table = make(algos.Lookup, 0) + letters := "abcdefghijklmnopqrstuvwxyz" + for _, elem := range letters { + letter_char := string(elem) + alphabet_table[letter_char] = colours.Code_grey + } + return alphabet_table +} + +// Check if the word is of the size of answer. Returns true if size mismatch. +func IsWrongGuessSize(guess string, word_size int) bool { + return len(guess) != word_size +} + +// Get user input for the guess, and process it (lower case) +func FetchGuess() string { + var guess string + fmt.Scanf("%s", &guess) + guess = strings.ToLower(guess) + return guess +} + +// Check if guessed word is not in the list of possible words. Returns true if not found. +func IsNotValidWord(guess string) bool { + idx := algos.BinarySearch(data.Words, guess) + return idx == -1 +} + +// returns either a valid guess, XOR an error. +func GetValidGuess(word_size int) (string, error) { + guess := FetchGuess() + if IsWrongGuessSize(guess, word_size) { + error_msg := fmt.Errorf("Word should be of length %d.\n", word_size) + return guess, error_msg + } + if IsNotValidWord(guess) { + error_msg := fmt.Errorf("Not a valid word.\n") + return guess, error_msg + } + return guess, nil +} + +// Print the guess prompt. +func GuessPrompt(chance int) { + msg := colours.Bold(fmt.Sprintf("Guess #%d?: ", chance)) + fmt.Print(msg) +} + +// Look at colour_string (Y,G,R) and print the characters of word in colour. +func PrintColouredGuess(colour_string, word string) { + for idx, word_elem := range word { + col_str_char := string(colour_string[idx]) + word_char := string(word_elem) + if col_str_char == "R" { + fmt.Print(colours.Red(word_char)) + } else if col_str_char == "Y" { + fmt.Print(colours.Yellow(word_char)) + } else if col_str_char == "G" { + fmt.Print(colours.Green(word_char)) + } + } + fmt.Println() +} + +// Print coloured alphabet for aiding which words to guess. +func PrintColouredAlpha(alphabet algos.Lookup) { + kbd_rows := []string{"qwertyuiop", "asdfghjkl", "zxcvbnm"} // keyboard layout printing. + for _, kbd_row := range kbd_rows { + for _, kbd_key := range kbd_row { + kbd_key_char := string(kbd_key) + char_col_code := alphabet[kbd_key_char] + if char_col_code == colours.Code_grey { + fmt.Print(colours.Grey(kbd_key_char)) + } else if char_col_code == colours.Code_red { + fmt.Print(colours.Red(kbd_key_char)) + } else if char_col_code == colours.Code_yellow { + fmt.Print(colours.Yellow(kbd_key_char)) + } else if char_col_code == colours.Code_green { + fmt.Print(colours.Green(kbd_key_char)) + } + fmt.Print(" ") + } + fmt.Println() + } + fmt.Println() +} + +// Print share emoji. +func PrintShare(guesses []string) { + if shouldPrintShareEmojis() { + fmt.Println() + for _, row := range guesses { + for _, elem_byte := range row { + elem := string(elem_byte) + if elem == "R" { + fmt.Print("🌑") + } else if elem == "Y" { + fmt.Print("🌕") + } else if elem == "G" { + fmt.Print("✅") + } + } + fmt.Println() + } + } +} + +// Prompt if the share emojies be printed. +func shouldPrintShareEmojis() bool { + var ans string + fmt.Print(colours.Bold("Share your results?[yN]: ")) + fmt.Scanf("%s", &ans) + if ans == "Y" || ans == "y" { + return true + } + return false +}