From aec18683851add39e4b8c91ae04237ef9778afd8 Mon Sep 17 00:00:00 2001 From: Sundeep Agarwal Date: Mon, 4 Jul 2022 09:22:31 +0530 Subject: [PATCH 1/4] added another testimonial --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 492fe19..37755e0 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,12 @@ For web version of the book, visit https://learnbyexample.github.io/learn_gnuawk > > — [feedback on twitter](https://twitter.com/killchain/status/1246820137455452163) +>I consider myself pretty experienced at shell-fu and capable of doing most things I set out to achieve in either bash scripts or fearless one-liners. However, my awk is rudimentary at best, I think mostly because it's such an unforgiving environment to experiment in. +> +>These books you've written are great for a bit of first principles insight and then quickly building up to functional usage. I will have no hesitation in referring colleagues to them! +> +> — [feedback on Hacker News](https://news.ycombinator.com/item?id=31930840) +
# Feedback From 96b8442fc372303f1be838bf01a2210ded152b58 Mon Sep 17 00:00:00 2001 From: Sundeep Agarwal Date: Tue, 22 Aug 2023 09:17:19 +0530 Subject: [PATCH 2/4] updates for version 2.0 --- LICENSE | 2 +- README.md | 65 +- Version_changes.md | 14 + code_snippets/Builtin_functions.sh | 8 +- code_snippets/Control_Structures.sh | 4 +- code_snippets/Field_separators.sh | 16 +- code_snippets/Gotchas_and_Tips.sh | 20 +- .../Installation_and_Documentation.sh | 8 +- code_snippets/Processing_multiple_records.sh | 6 +- code_snippets/Record_separators.sh | 14 +- code_snippets/Regular_Expressions.sh | 124 +- code_snippets/Two_file_processing.sh | 14 +- code_snippets/Using_shell_variables.sh | 6 +- code_snippets/awk_introduction.sh | 2 + .../{word_anchors.txt => anchors.txt} | 0 .../{color_list1.txt => colors_1.txt} | 0 .../{color_list2.txt => colors_2.txt} | 0 example_files/para.txt | 15 + example_files/programming_quotes.txt | 12 - example_files/words.txt | 98927 ++++++++++++++++ exercises/Exercise_solutions.md | 768 +- exercises/Exercises.md | 709 +- exercises/anchors.txt | 1 + exercises/criteria.txt | 5 + exercises/fields.txt | 5 + exercises/hex.txt | 2 + exercises/ip.txt | 20 + exercises/items.txt | 3 + exercises/mixed_fs.txt | 1 + exercises/names.txt | 3 + exercises/patterns.txt | 53 + exercises/quoted.txt | 2 + exercises/result.csv | 9 + exercises/sum.txt | 3 + exercises/varying_fields.txt | 2 + gnu_awk.md | 2669 +- images/awk_exercises.png | Bin 0 -> 27266 bytes images/gawk.png | Bin 106922 -> 0 bytes images/gawk_ls.png | Bin 0 -> 36374 bytes sample_chapters/gnu_awk_sample.pdf | Bin 333849 -> 368711 bytes 40 files changed, 101994 insertions(+), 1518 deletions(-) rename example_files/{word_anchors.txt => anchors.txt} (100%) rename example_files/{color_list1.txt => colors_1.txt} (100%) rename example_files/{color_list2.txt => colors_2.txt} (100%) create mode 100644 example_files/para.txt delete mode 100644 example_files/programming_quotes.txt create mode 100644 example_files/words.txt create mode 100644 exercises/criteria.txt create mode 100644 exercises/fields.txt create mode 100644 exercises/hex.txt create mode 100644 exercises/ip.txt create mode 100644 exercises/items.txt create mode 100644 exercises/names.txt create mode 100644 exercises/patterns.txt create mode 100644 exercises/quoted.txt create mode 100644 exercises/result.csv create mode 100644 exercises/sum.txt create mode 100644 exercises/varying_fields.txt create mode 100644 images/awk_exercises.png delete mode 100644 images/gawk.png create mode 100644 images/gawk_ls.png diff --git a/LICENSE b/LICENSE index d38e615..640b3d6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020 Sundeep Agarwal +Copyright (c) 2023 Sundeep Agarwal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 37755e0..e162aaa 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,36 @@ -# GNU AWK +# CLI text processing with GNU awk -Example based guide to mastering GNU awk. +Example based guide to mastering GNU awk. Visit https://youtu.be/KIa_EaYwGDI for a short video about the book. -

- -

+

CLI text processing with GNU awk ebook cover image

-The book also includes exercises to test your understanding, which is presented together as a single file in this repo - [Exercises.md](./exercises/Exercises.md) +The book also includes exercises to test your understanding, which are presented together as a single file in this repo — [Exercises.md](./exercises/Exercises.md). For solutions to the exercises, see [Exercise_solutions.md](./exercises/Exercise_solutions.md). +You can also use [this interactive TUI app](https://github.com/learnbyexample/TUI-apps/blob/main/AwkExercises) to practice some of the exercises from the book. + See [Version_changes.md](./Version_changes.md) to keep track of changes made to the book.
# E-book -You can purchase the pdf/epub versions of the book using these links: - -* https://learnbyexample.gumroad.com/l/gnu_awk -* https://leanpub.com/gnu_awk - -You can also get the book as part of these bundles: - -* **Magical one-liners** bundle from https://learnbyexample.gumroad.com/l/oneliners or https://leanpub.com/b/oneliners -* **Awesome Regex** bundle from https://learnbyexample.gumroad.com/l/regex or https://leanpub.com/b/regex -* **All books bundle** bundle from https://learnbyexample.gumroad.com/l/all-books - * Includes all my programming books - -See https://learnbyexample.github.io/books/ for list of other books +* You can purchase the pdf/epub versions of the book using these links: + * https://learnbyexample.gumroad.com/l/gnu_awk + * https://leanpub.com/gnu_awk +* You can also get the book as part of these bundles: + * **All books bundle** bundle from https://learnbyexample.gumroad.com/l/all-books + * Includes all my programming books + * **Magical one-liners** bundle from https://learnbyexample.gumroad.com/l/oneliners or https://leanpub.com/b/oneliners + * **Awesome Regex** bundle from https://learnbyexample.gumroad.com/l/regex or https://leanpub.com/b/regex +* See https://learnbyexample.github.io/books/ for a list of other books -For a preview of the book, see [sample chapters](https://github.com/learnbyexample/learn_gnuawk/blob/master/sample_chapters/gnu_awk_sample.pdf) +For a preview of the book, see [sample chapters](./sample_chapters/gnu_awk_sample.pdf). -The book can also be [viewed as a single markdown file in this repo](./gnu_awk.md). See my blogpost on [generating pdf from markdown using pandoc](https://learnbyexample.github.io/tutorial/ebook-generation/customizing-pandoc/) if you are interested in the ebook creation process. +The book can also be [viewed as a single markdown file in this repo](./gnu_awk.md). See my blogpost on [generating pdfs from markdown using pandoc](https://learnbyexample.github.io/customizing-pandoc/) if you are interested in the ebook creation process. -For web version of the book, visit https://learnbyexample.github.io/learn_gnuawk/ +For the web version of the book, visit https://learnbyexample.github.io/learn_gnuawk/
@@ -52,15 +48,17 @@ For web version of the book, visit https://learnbyexample.github.io/learn_gnuawk
-# Feedback +# Feedback and Contributing -[Open an issue](https://github.com/learnbyexample/learn_gnuawk/issues) if you spot any typo/errors. +⚠️ ⚠️ Please DO NOT submit pull requests. Main reason being any modification requires changes in multiple places. -:warning: :warning: Please DO NOT submit pull requests. Main reason being any modification requires changes in multiple places. +I would highly appreciate it if you'd let me know how you felt about this book. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors. -I'd also highly appreciate your feedback about the book. +You can reach me via: -Twitter: https://twitter.com/learn_byexample +* Issue Manager: [https://github.com/learnbyexample/learn_gnuawk/issues](https://github.com/learnbyexample/learn_gnuawk/issues) +* E-mail: `echo 'bGVhcm5ieWV4YW1wbGUubmV0QGdtYWlsLmNvbQo=' | base64 --decode` +* Twitter: [https://twitter.com/learn_byexample](https://twitter.com/learn_byexample)
@@ -89,13 +87,14 @@ Twitter: https://twitter.com/learn_byexample # Acknowledgements * [GNU awk documentation](https://www.gnu.org/software/gawk/manual/) — manual and examples -* [stackoverflow](https://stackoverflow.com/) and [unix.stackexchange](https://unix.stackexchange.com/) — for getting answers to pertinent questions on `bash`, `awk` and other commands +* [stackoverflow](https://stackoverflow.com/) and [unix.stackexchange](https://unix.stackexchange.com/) — for getting answers to pertinent questions on `awk` and related commands * [tex.stackexchange](https://tex.stackexchange.com/) — for help on [pandoc](https://github.com/jgm/pandoc/) and `tex` related questions -* [LibreOffice Draw](https://www.libreoffice.org/discover/draw/) — cover image -* [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) for optimizing images -* [softwareengineering.stackexchange](https://softwareengineering.stackexchange.com/questions/39/whats-your-favourite-quote-about-programming) and [skolakoda](https://skolakoda.org/programming-quotes) for programming quotes +* [/r/commandline/](https://old.reddit.com/r/commandline), [/r/linux4noobs/](https://old.reddit.com/r/linux4noobs/), [/r/linuxquestions/](https://old.reddit.com/r/linuxquestions/) and [/r/linux/](https://old.reddit.com/r/linux/) — helpful forums +* [canva](https://www.canva.com/) — cover image +* [oxipng](https://github.com/shssoichiro/oxipng), [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) — optimizing images * [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain * [arifmahmudrana](https://github.com/arifmahmudrana) for spotting an ambiguous explanation +* [Pound-Hash](https://github.com/Pound-Hash) for critical feedback * [mdBook](https://github.com/rust-lang/mdBook) — for web version of the book * [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc) — for adding table of contents for each chapter * [minify-html](https://github.com/wilsonzlin/minify-html) — for minifying html files @@ -106,7 +105,7 @@ Special thanks to all my friends and online acquaintances for their help, suppor # License -The book is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/) +The book is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). -The code snippets are licensed under MIT, see [LICENSE](./LICENSE) file +The code snippets are licensed under MIT, see [LICENSE](./LICENSE) file. diff --git a/Version_changes.md b/Version_changes.md index 5f46399..25490ed 100644 --- a/Version_changes.md +++ b/Version_changes.md @@ -1,5 +1,19 @@
+### 2.0 + +* Command version updated to **GNU awk 5.2.2** +* Many more exercises added, and you can practice some of them using this [interactive TUI app](https://github.com/learnbyexample/TUI-apps/blob/main/AwkExercises) +* Long sections split into smaller ones +* In general, many of the examples, exercises, solutions, descriptions and external links were updated/corrected +* Updated Acknowledgements section +* Code snippets related to info/warning sections will now appear as a single block +* Book title changed to **CLI text processing with GNU awk** +* New cover image +* Images centered for EPUB format + +
+ ### 1.4 * Added example for `NF` value when input line doesn't contain the input field separator or if it is empty. diff --git a/code_snippets/Builtin_functions.sh b/code_snippets/Builtin_functions.sh index 981cd42..8c5360e 100644 --- a/code_snippets/Builtin_functions.sh +++ b/code_snippets/Builtin_functions.sh @@ -74,17 +74,17 @@ echo 'abcdefghij' | awk -v FS= '{print $3, $5}' ## match -s='051 035 154 12 26 98234' +s='051 035 154 12 26 98234 3' echo "$s" | awk 'match($0, /[0-9]{4,}/){print substr($0, RSTART, RLENGTH)}' echo "$s" | awk 'match($0, /0*[1-9][0-9]{2,}/, m){print m[0]}' -echo 'foo=42, baz=314' | awk 'match($0, /baz=([0-9]+)/, m){print m[0]}' +echo 'apple=42, fig=314' | awk 'match($0, /fig=([0-9]+)/, m){print m[0]}' -echo 'foo=42, baz=314' | awk 'match($0, /baz=([0-9]+)/, m){print m[1]}' +echo 'apple=42, fig=314' | awk 'match($0, /fig=([0-9]+)/, m){print m[1]}' -s='42 foo-5, baz3; x-83, y-20: f12' +s='42 apple-5, fig3; x-83, y-20: f12' echo "$s" | awk '{ while( match($0, /([0-9]+),/, m) ){print m[1]; $0=substr($0, RSTART+RLENGTH)} }' diff --git a/code_snippets/Control_Structures.sh b/code_snippets/Control_Structures.sh index 336f416..0057f28 100644 --- a/code_snippets/Control_Structures.sh +++ b/code_snippets/Control_Structures.sh @@ -28,7 +28,7 @@ echo 'titillate' | awk '{do{print} while(gsub(/til/, ""))}' ## next -awk '/\/, ":")} 1' -## Relying on default initial value +## Relying on the default initial value awk '{sum += $NF} END{print sum}' table.txt @@ -46,7 +46,7 @@ awk '{sum += $NF} ENDFILE{print FILENAME ":" sum}' table.txt marks.txt awk '{sum += $NF} ENDFILE{print FILENAME ":" sum; sum=0}' table.txt marks.txt -## Code in replacement section +## Code in the replacement section awk '{sub(/^(br|ye)/, ++c ") &")} 1' table.txt @@ -64,6 +64,8 @@ awk '{sum += $1} END{print sum}' /dev/null awk '{sum += $1} END{print +sum}' /dev/null +## Locale based numbers + echo '3.14' | awk '{$0++} 1' echo '3,14' | awk '{$0++} 1' @@ -90,11 +92,11 @@ awk 'NF>2{print $(NF-2)}' varying.txt ## Faster execution -time awk '/^([a-d][r-z]){3}$/' /usr/share/dict/words > f1 +time awk '/^([a-d][r-z]){3}$/' words.txt > f1 -time LC_ALL=C awk '/^([a-d][r-z]){3}$/' /usr/share/dict/words > f2 +time LC_ALL=C awk '/^([a-d][r-z]){3}$/' words.txt > f2 -time mawk '/^[a-d][r-z][a-d][r-z][a-d][r-z]$/' /usr/share/dict/words > f3 +time mawk '/^[a-d][r-z][a-d][r-z][a-d][r-z]$/' words.txt > f3 diff -s f1 f2 @@ -102,9 +104,9 @@ diff -s f2 f3 rm f[123] -time awk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words +time awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt -time LC_ALL=C awk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words +time LC_ALL=C awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt -time mawk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words +time mawk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt diff --git a/code_snippets/Installation_and_Documentation.sh b/code_snippets/Installation_and_Documentation.sh index 06d00c1..bf4d3b5 100644 --- a/code_snippets/Installation_and_Documentation.sh +++ b/code_snippets/Installation_and_Documentation.sh @@ -1,10 +1,10 @@ ## Installation -wget https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz +wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz -tar -Jxf gawk-5.1.0.tar.xz +tar -Jxf gawk-5.2.2.tar.xz -cd gawk-5.1.0/ +cd gawk-5.2.2/ ./configure @@ -12,8 +12,6 @@ make sudo make install -type -a awk - awk --version | head -n1 ## Documentation diff --git a/code_snippets/Processing_multiple_records.sh b/code_snippets/Processing_multiple_records.sh index cc92a0d..02daecf 100644 --- a/code_snippets/Processing_multiple_records.sh +++ b/code_snippets/Processing_multiple_records.sh @@ -1,10 +1,10 @@ ## Processing consecutive records -awk 'p ~ /as/ && /not/{print p ORS $0} {p=$0}' programming_quotes.txt +awk 'p ~ /he/ && /you/{print p ORS $0} {p=$0}' para.txt -awk 'p ~ /as/ && /not/{print p} {p=$0}' programming_quotes.txt +awk 'p ~ /he/ && /you/{print p} {p=$0}' para.txt -awk 'p ~ /as/ && /not/; {p=$0}' programming_quotes.txt +awk 'p ~ /he/ && /you/; {p=$0}' para.txt ## Context matching diff --git a/code_snippets/Record_separators.sh b/code_snippets/Record_separators.sh index 0fd5f87..229a290 100644 --- a/code_snippets/Record_separators.sh +++ b/code_snippets/Record_separators.sh @@ -1,8 +1,8 @@ ## Input record separator -printf 'this,is\na,sample' | awk -v RS=, '{print NR ")", $0}' +printf 'this,is\na,sample,text' | awk -v RS=, '{print NR ")", $0}' -s=' a\t\tb:1000\n\n\n\n123 7777:x y \n \n z ' +s=' a\t\tb:1000\n\n\t \n\n123 7777:x y \n \n z :apple banana cherry' printf '%b' "$s" | awk -v RS=: -v OFS=, '{$1=$1} 1' @@ -18,7 +18,7 @@ awk -v IGNORECASE=1 -v RS='[e]' 'NR==1' report.log ## Output record separator -printf 'foo\0bar\0' | awk -v RS='\0' -v ORS='.\n' '1' +printf 'apple\0banana\0cherry\0' | awk -v RS='\0' -v ORS='.\n' '1' cat msg.txt @@ -44,11 +44,11 @@ echo 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '{print NR, RT}' ## Paragraph mode -cat programming_quotes.txt +cat para.txt -awk -v RS= -v ORS='\n\n' '/you/' programming_quotes.txt +awk -v RS= -v ORS='\n\n' '/do/' para.txt -awk -v RS= '/you/{print s $0; s="\n"}' programming_quotes.txt +awk -v RS= '/do/{print s $0; s="\n"}' para.txt s='\n\n\na\nb\n\n12\n34\n\nhi\nhello\n' @@ -66,7 +66,7 @@ s='a:b\nc:d\n\n1\n2\n3' printf '%b' "$s" | awk -F: -v RS= -v ORS='\n---\n' '{$1=$1} 1' -printf '%b' "$s" | awk -F':+' -v RS= -v ORS='\n---\n' '{$1=$1} 1' +printf '%b' "$s" | awk -F'[:]' -v RS= -v ORS='\n---\n' '{$1=$1} 1' printf '%b' "$s" | awk -F: -v RS='\n\n+' -v ORS='\n---\n' '{$1=$1} 1' diff --git a/code_snippets/Regular_Expressions.sh b/code_snippets/Regular_Expressions.sh index c93129e..be00eda 100644 --- a/code_snippets/Regular_Expressions.sh +++ b/code_snippets/Regular_Expressions.sh @@ -6,11 +6,13 @@ printf 'spared no one\ngrasped\nspar\n' | awk 'BEGIN{r = @/ed/} $0 ~ r' ## String Anchors -printf 'spared no one\ngrasped\nspar\n' | awk '/^sp/' +cat anchors.txt -printf 'spared no one\ngrasped\nspar\n' | awk '/ar$/' +awk '/^sp/' anchors.txt -printf 'spared no one\ngrasped\nspar\n' | awk '{sub(/^spar$/, "123")} 1' +awk '/ar$/' anchors.txt + +printf 'spared no one\npar\nspar\n' | awk '{sub(/^spar$/, "123")} 1' printf 'spared no one\ngrasped\nspar\n' | awk '{gsub(/^/, "* ")} 1' @@ -18,19 +20,21 @@ printf 'spared no one\ngrasped\nspar\n' | awk '!/ /{gsub(/$/, ".")} 1' ## Word Anchors -cat word_anchors.txt +cat anchors.txt + +awk '/\/' anchors.txt -awk '/par\>/' word_anchors.txt +awk 'gsub(/\/, "***")' anchors.txt -awk 'gsub(/\/, "***")' word_anchors.txt +## Opposite Word Anchor -awk '/\Bpar\B/' word_anchors.txt +awk '/\Bpar\B/' anchors.txt -awk '/\Bpar/' word_anchors.txt +awk '/\Bpar/' anchors.txt -awk '/par\B/' word_anchors.txt +awk '/par\B/' anchors.txt echo 'copper' | awk '{gsub(/\y/, ":")} 1' @@ -44,10 +48,12 @@ awk '$1 ~ /low/ || $NF<0' table.txt ## Alternation -awk '/\|s$/' word_anchors.txt +awk '/\|s$/' anchors.txt echo 'cats dog bee parrot foxed' | awk '{gsub(/cat|dog|fox/, "--")} 1' +## Alternation precedence + echo 'cats dog bee parrot foxed' | awk '{sub(/bee|parrot|at/, "--")} 1' echo 'cats dog bee parrot foxed' | awk '{sub(/parrot|at|bee/, "--")} 1' @@ -64,21 +70,21 @@ printf 'red\nreform\nread\narrest\n' | awk '/reform|rest/' printf 'red\nreform\nread\narrest\n' | awk '/re(form|st)/' -printf 'sub par\nspare\npart time\n' | awk '/\|\/' +awk '/\|\/' anchors.txt -printf 'sub par\nspare\npart time\n' | awk '/\<(par|part)\>/' +awk '/\<(par|part)\>/' anchors.txt -printf 'sub par\nspare\npart time\n' | awk '/\/' +awk '/\/' anchors.txt ## Matching the metacharacters -echo 'a^2 + b^2 - C*3' | awk '/b\^2/' +printf 'a^2 + b^2 - C*3\nd = c^2' | awk '/b\^2/' echo '(a*b) + c' | awk '{gsub(/\(|)/, "")} 1' echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' -## Using string literal as regexp +## Using string literal as a regexp p='/home/learnbyexample/reports' @@ -86,15 +92,15 @@ echo "$p" | awk '{sub(/\/home\/learnbyexample\//, "~/")} 1' echo "$p" | awk '{sub("/home/learnbyexample/", "~/")} 1' -printf '/foo/bar/1\n/foo/baz/1\n' | awk '/\/foo\/bar\//' +printf '/home/joe/1\n/home/john/1\n' | awk '/\/home\/joe\//' -printf '/foo/bar/1\n/foo/baz/1\n' | awk '$0 ~ "/foo/bar/"' +printf '/home/joe/1\n/home/john/1\n' | awk '$0 ~ "/home/joe/"' -awk 'gsub("\", "X")' word_anchors.txt +awk 'gsub("\", "X")' anchors.txt -awk 'gsub("\\", "X")' word_anchors.txt +awk 'gsub("\\", "X")' anchors.txt -awk 'gsub(/\/, "X")' word_anchors.txt +awk 'gsub(/\/, "X")' anchors.txt echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' @@ -104,7 +110,7 @@ echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' echo 'tac tin cot abc:tyz excited' | awk '{gsub(/c.t/, "-")} 1' -printf '4\t35x\n' | awk '{gsub(/.3./, "")} 1' +printf '42\t3500\n' | awk '{gsub(/.3./, ":")} 1' awk 'BEGIN{s="abc\nxyz"; sub(/c.x/, " ", s); print s}' @@ -112,13 +118,13 @@ awk 'BEGIN{s="abc\nxyz"; sub(/c.x/, " ", s); print s}' echo 'fed fold fe:d feeder' | awk '{gsub(/\/, "X")} 1' -printf 'sub par\nspare\npart time\n' | awk '/\/' +awk '/\/' anchors.txt echo 'par part parrot parent' | awk '{gsub(/par(ro)?t/, "X")} 1' echo 'par part parrot parent' | awk '{gsub(/par(en|ro)?t/, "X")} 1' -echo 'blah \< foo bar < blah baz <' | awk '{gsub(/\\?/, "X")} 1' -awk '/^[on]{2,}$/' /usr/share/dict/words +awk '/^[on]{2,}$/' words.txt + +## Character class metacharacters echo 'Sample123string42with777numbers' | awk '{gsub(/[0-9]+/, "-")} 1' @@ -184,18 +196,24 @@ echo '0501 035 154 12 26 98234' | awk '{gsub(/\<0*[1-9][0-9]{2,}\>/, "X")} 1' echo 'Sample123string42with777numbers' | awk '{gsub(/[^0-9]+/, "-")} 1' -echo 'foo:123:bar:baz' | awk '{sub(/(:[^:]+){2}$/, "")} 1' +echo 'apple:123:banana:cherry' | awk '{sub(/(:[^:]+){2}$/, "")} 1' echo 'I like "mango" and "guava"' | awk '{gsub(/"[^"]+"/, "X")} 1' printf 'tryst\nfun\nglyph\npity\nwhy\n' | awk '!/[aeiou]/' -echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "-")} 1' +echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' printf 'hi \v\f there.\thave \ra nice\t\tday\n' | awk '{gsub(/\s+/, " ")} 1' echo 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' +echo '42\d123' | awk '{gsub(/\d+/, "-")} 1' + +echo '42\d123' | perl -pe 's/\d+/-/g' + +## Named character sets + s='err_msg xerox ant m_2 P2 load1 eel' echo "$s" | awk '{gsub(/\<[[:lower:]]+\>/, "X")} 1' @@ -206,15 +224,19 @@ echo "$s" | awk '{gsub(/\<[[:alnum:]]+\>/, "X")} 1' echo ',pie tie#ink-eat_42' | awk '{gsub(/[^[:punct:]]+/, "")} 1' +## Matching character class metacharacters literally + echo 'ab-cd gh-c 12-423' | awk '{gsub(/[a-z-]{2,}/, "X")} 1' echo 'ab-cd gh-c 12-423' | awk '{gsub(/[a-z\-0-9]{2,}/, "X")} 1' -printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[=]]/' +printf 'int a[5]\nfig\n1+1=2\n' | awk '/[=]]/' + +printf 'int a[5]\nfig\n1+1=2\n' | awk '/[]=]/' -printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[]=]/' +echo 'int a[5].y' | awk '{gsub(/[x[y.]/, "")} 1' -printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[][]/' +printf 'int a[5]\nfig\n1+1=2\nwho]' | awk '/[][]/' echo 'f*(a^b) - 3*(a+b)/(a-b)' | awk '{gsub(/a[+^]b/, "c")} 1' @@ -224,25 +246,27 @@ echo 'int a[5]' | awk '/[x[y.]/' ## Escape sequences -printf 'foo\tbar\tbaz\n' | awk '{gsub(/\t/, " ")} 1' +printf 'apple\tbanana\tcherry\n' | awk '{gsub(/\t/, " ")} 1' printf 'a\t\r\fb\vc\n' | awk '{gsub(/[\t\v\f\r]+/, ":")} 1' echo "universe: '42'" | awk '{gsub(/\x27/, "")} 1' -printf 'cute\ncot\ncat\ncoat\n' | awk '/\x5eco/' +printf 'acorn\ncot\ncat\ncoat\n' | awk '/\x5eco/' echo 'hello world' | awk '{sub(/.*/, "[&]")} 1' echo 'hello world' | awk '{sub(/.*/, "[\x26]")} 1' -echo 'read' | awk '{sub(/a/, "\.")} 1' +echo 'read' | awk '{sub(/\d/, "l")} 1' ## Replace specific occurrence -echo 'foo:123:bar:baz' | awk '{print gensub(/:/, "-", 2)}' +s='apple:banana:cherry:fig:mango' -echo 'foo:123:bar:baz' | awk '{print gensub(/[^:]+/, "X", 3)}' +echo "$s" | awk '{print gensub(/:/, "-", 2)}' + +echo "$s" | awk '{print gensub(/[^:]+/, "123", 3)}' echo '1 good 2 apples' | awk '{$4 = gensub(/[aeiou]/, "X", "g", $4)} 1' @@ -256,9 +280,15 @@ echo 'one,2,3.14,42' | awk '{print gensub(/^([^,]+).*/, "&,\\1", 1)}' echo 'hello world' | awk '{sub(/.*/, "Hi. &. Have a nice day")} 1' -s='456:foo:123:bar:789:baz' +s='car,art,pot,tap,urn,ray,ear' + +echo "$s" | awk '{print gensub(/(.*),((.*,){2})/, "\\1[]\\2", 1)}' + +s='effort flee facade oddball rat tool' + +echo "$s" | awk '{gsub(/\w*(\w)\1\w*/, "X")} 1' -echo "$s" | awk '{print gensub(/(.*):((.*:){2})/, "\\1[]\\2", 1)}' +echo "$s" | sed -E 's/\w*(\w)\1\w*/X/g' s='one,2,3.14,42' @@ -270,17 +300,17 @@ echo "$s" | awk '{print gensub(/\<\w+\>|(\<[gp]\w*y\w*\>)/, "\\1", "g")}' echo "$s" | awk '{print gensub(/(\<[gp]\w*y\w*\>)|\<\w+\>/, "\\1", "g")}' -echo 'foo and bar' | awk '{sub(/and/, "[&]")} 1' +echo 'apple and fig' | awk '{sub(/and/, "[&]")} 1' -echo 'foo and bar' | awk '{sub(/and/, "[\\&]")} 1' +echo 'apple and fig' | awk '{sub(/and/, "[\\&]")} 1' -echo 'foo and bar' | awk '{sub(/and/, "\\")} 1' +echo 'apple and fig' | awk '{sub(/and/, "\\")} 1' ## Case insensitive matching printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk -v IGNORECASE=1 '/cat/' -printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk '{gsub(/[cC][aA][tT]/, "dog")} 1' +printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk '{gsub(/[cC][aA][tT]/, "(&)")} 1' printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk 'tolower($0) ~ /cat/' diff --git a/code_snippets/Two_file_processing.sh b/code_snippets/Two_file_processing.sh index ae5929b..6c3e76a 100644 --- a/code_snippets/Two_file_processing.sh +++ b/code_snippets/Two_file_processing.sh @@ -1,14 +1,18 @@ ## Comparing records -cat color_list1.txt +cat colors_1.txt -cat color_list2.txt +cat colors_2.txt -awk 'NR==FNR{a[$0]; next} $0 in a' color_list1.txt color_list2.txt +awk 'NR==FNR{a[$0]; next} $0 in a' colors_1.txt colors_2.txt -awk 'NR==FNR{a[$0]; next} !($0 in a)' color_list1.txt color_list2.txt +awk 'NR==FNR{a[$0]; next} !($0 in a)' colors_1.txt colors_2.txt -awk 'NR==FNR{a[$0]; next} !($0 in a)' color_list2.txt color_list1.txt +awk 'NR==FNR{a[$0]; next} !($0 in a)' colors_2.txt colors_1.txt + +awk 'NR==FNR{a[$0]; next} !($0 in a)' /dev/null greeting.txt + +awk '!f{a[$0]; next} !($0 in a)' /dev/null f=1 greeting.txt ## Comparing fields diff --git a/code_snippets/Using_shell_variables.sh b/code_snippets/Using_shell_variables.sh index 8bd4c6b..f94d42b 100644 --- a/code_snippets/Using_shell_variables.sh +++ b/code_snippets/Using_shell_variables.sh @@ -20,13 +20,13 @@ ip="$s" awk 'BEGIN{print ENVIRON["ip"]}' r='\Bpar\B' -awk -v rgx="$r" '$0 ~ rgx' word_anchors.txt +awk -v rgx="$r" '$0 ~ rgx' anchors.txt r='\\Bpar\\B' -awk -v rgx="$r" '$0 ~ rgx' word_anchors.txt +awk -v rgx="$r" '$0 ~ rgx' anchors.txt r='\Bpar\B' -rgx="$r" awk '$0 ~ ENVIRON["rgx"]' word_anchors.txt +rgx="$r" awk '$0 ~ ENVIRON["rgx"]' anchors.txt diff --git a/code_snippets/awk_introduction.sh b/code_snippets/awk_introduction.sh index 07b6e24..ef287cc 100644 --- a/code_snippets/awk_introduction.sh +++ b/code_snippets/awk_introduction.sh @@ -10,6 +10,8 @@ printf 'gate\napple\nwhat\nkite\n' | awk '$0 ~ /at/{print $0}' printf 'gate\napple\nwhat\nkite\n' | awk '$0 !~ /e/{print $0}' +## Idiomatic use of 1 + printf 'gate\napple\nwhat\nkite\n' | awk '1' ## Substitution diff --git a/example_files/word_anchors.txt b/example_files/anchors.txt similarity index 100% rename from example_files/word_anchors.txt rename to example_files/anchors.txt diff --git a/example_files/color_list1.txt b/example_files/colors_1.txt similarity index 100% rename from example_files/color_list1.txt rename to example_files/colors_1.txt diff --git a/example_files/color_list2.txt b/example_files/colors_2.txt similarity index 100% rename from example_files/color_list2.txt rename to example_files/colors_2.txt diff --git a/example_files/para.txt b/example_files/para.txt new file mode 100644 index 0000000..284b138 --- /dev/null +++ b/example_files/para.txt @@ -0,0 +1,15 @@ +Hello World + +Hi there +How are you + +Just do-it +Believe it + +banana +papaya +mango + +Much ado about nothing +He he he +Adios amigo diff --git a/example_files/programming_quotes.txt b/example_files/programming_quotes.txt deleted file mode 100644 index 1047ca5..0000000 --- a/example_files/programming_quotes.txt +++ /dev/null @@ -1,12 +0,0 @@ -Debugging is twice as hard as writing the code in the first place. -Therefore, if you write the code as cleverly as possible, you are, -by definition, not smart enough to debug it by Brian W. Kernighan - -Some people, when confronted with a problem, think - I know, I will -use regular expressions. Now they have two problems by Jamie Zawinski - -A language that does not affect the way you think about programming, -is not worth knowing by Alan Perlis - -There are 2 hard problems in computer science: cache invalidation, -naming things, and off-by-1 errors by Leon Bambrick diff --git a/example_files/words.txt b/example_files/words.txt new file mode 100644 index 0000000..451b91b --- /dev/null +++ b/example_files/words.txt @@ -0,0 +1,98927 @@ +A +A's +AA's +AB's +ABM's +AC's +ACTH's +AI's +AIDS's +AM's +AOL +AOL's +ASCII's +ASL's +ATM's +ATP's +AWOL's +AZ's +AZT's +Aachen +Aaliyah +Aaliyah's +Aaron +Abbas +Abbasid +Abbott +Abbott's +Abby +Abby's +Abdul +Abdul's +Abe +Abe's +Abel +Abel's +Abelard +Abelson +Abelson's +Aberdeen +Aberdeen's +Abernathy +Abernathy's +Abidjan +Abidjan's +Abigail +Abilene +Abner +Abner's +Abraham +Abraham's +Abram +Abram's +Abrams +Absalom +Abuja +Abyssinia +Abyssinia's +Abyssinian +Abyssinian's +Ac +Ac's +Acadia +Acadia's +Acapulco +Acapulco's +Accenture +Accenture's +Accra +Accra's +Acevedo +Acevedo's +Achaean +Achaean's +Achebe +Achebe's +Achernar +Acheson +Acheson's +Achilles +Achilles's +Aconcagua +Aconcagua's +Acosta +Acosta's +Acropolis +Acrux +Acrux's +Actaeon +Acton +Acts +Acuff +Acuff's +Ada +Ada's +Adam +Adam's +Adams +Adan +Adan's +Adana +Adar +Adar's +Addams +Adderley +Adderley's +Addie +Addie's +Addison +Adela +Adela's +Adelaide +Adelaide's +Adele +Adele's +Adeline +Adeline's +Aden +Aden's +Adenauer +Adhara +Adhara's +Adidas +Adidas's +Adirondack +Adirondack's +Adirondacks +Adirondacks's +Adkins +Adkins's +Adler +Adolf +Adolf's +Adolfo +Adolfo's +Adolph +Adolph's +Adonis +Adonis's +Adonises +Adrian +Adriana +Adriana's +Adriatic +Adriatic's +Adrienne +Adrienne's +Advent +Advent's +Adventist +Adventist's +Advents +Advil +Advil's +Aegean +Aegean's +Aelfric +Aelfric's +Aeneas +Aeneas's +Aeneid +Aeneid's +Aeolus +Aeolus's +Aeroflot +Aeroflot's +Aeschylus +Aeschylus's +Aesculapius +Aesculapius's +Aesop +Aesop's +Afghan +Afghan's +Afghanistan +Afghanistan's +Afghans +Africa +Africa's +African +African's +Africans +Afrikaans +Afrikaans's +Afrikaner +Afrikaner's +Afrikaners +Afro +Afro's +Afrocentrism +Afros +Ag +Ag's +Agamemnon +Agamemnon's +Agassi +Agassi's +Agassiz +Agassiz's +Agatha +Agatha's +Aggie +Aglaia +Agnes +Agnew +Agnew's +Agni +Agni's +Agra +Agricola +Agrippa +Agrippa's +Agrippina +Agrippina's +Aguilar +Aguilar's +Aguinaldo +Aguinaldo's +Aguirre +Aguirre's +Agustin +Agustin's +Ahab +Ahab's +Ahmad +Ahmad's +Ahmadabad +Ahmadinejad +Ahmadinejad's +Ahmed +Ahmed's +Ahriman +Ahriman's +Aida +Aida's +Aiken +Aileen +Aileen's +Aimee +Aimee's +Ainu +Airedale +Airedale's +Airedales +Aisha +Ajax +Ajax's +Akbar +Akhmatova +Akhmatova's +Akihito +Akita +Akiva +Akiva's +Akkad +Akron +Akron's +Al +Al's +Ala +Alabama +Alabama's +Alabaman +Alabaman's +Alabamans +Alabamian +Alabamian's +Alabamians +Aladdin +Aladdin's +Alamo +Alamo's +Alamogordo +Alamogordo's +Alan +Alan's +Alana +Alana's +Alar +Alar's +Alaric +Alaska +Alaska's +Alaskan +Alaskan's +Alaskans +Alba +Albania +Albania's +Albanian +Albanian's +Albanians +Albany +Albany's +Albee +Alberio +Alberio's +Albert +Alberta +Alberta's +Alberto +Alberto's +Albigensian +Albion +Albireo +Albireo's +Albuquerque +Albuquerque's +Alcatraz +Alcestis +Alcibiades +Alcindor +Alcindor's +Alcmena +Alcmena's +Alcoa +Alcoa's +Alcott +Alcuin +Alcyone +Aldan +Aldebaran +Aldebaran's +Alden +Alderamin +Alderamin's +Aldo +Aldo's +Aldrin +Aldrin's +Alec +Alec's +Aleichem +Aleichem's +Alejandra +Alejandra's +Alejandro +Alejandro's +Alembert +Alembert's +Aleppo +Aleppo's +Aleut +Aleut's +Aleutian +Aleutian's +Alex +Alex's +Alexander +Alexander's +Alexandra +Alexandria +Alexandria's +Alexei +Alexei's +Alexis +Alfonso +Alfonso's +Alfonzo +Alfonzo's +Alford +Alford's +Alfred +Alfreda +Alfreda's +Alfredo +Algenib +Algenib's +Alger +Algeria +Algeria's +Algerian +Algerian's +Algerians +Algieba +Algieba's +Algiers +Algiers's +Algol +Algol's +Algonquian +Algonquian's +Algonquians +Algonquin +Algonquin's +Alhambra +Alhena +Alhena's +Ali +Alice +Alice's +Alicia +Alicia's +Alighieri +Alighieri's +Aline +Aline's +Alioth +Alioth's +Alisa +Alisa's +Alisha +Alisha's +Alison +Alison's +Alissa +Alissa's +Alistair +Alistair's +Alkaid +Alkaid's +Allah +Allah's +Allahabad +Allan +Allan's +Alleghenies +Alleghenies's +Allegheny +Allegra +Allegra's +Allen +Allende +Allende's +Allentown +Allie +Allie's +Allison +Allison's +Allstate +Allstate's +Allyson +Allyson's +Alma +Alma's +Almach +Almach's +Almaty +Almaty's +Almighty +Almighty's +Almohad +Almohad's +Almoravid +Almoravid's +Alnilam +Alnilam's +Alnitak +Alnitak's +Alonzo +Alonzo's +Alpert +Alpert's +Alphard +Alphard's +Alphecca +Alphecca's +Alpheratz +Alpheratz's +Alphonse +Alphonse's +Alphonso +Alphonso's +Alpine +Alpo +Alpo's +Alps +Alps's +Alsace +Alsace's +Alsatian +Alsatian's +Alsop +Alsop's +Alston +Alston's +Alta +Altai +Altai's +Altaic +Altaic's +Altair +Altamira +Althea +Althea's +Altiplano +Altiplano's +Altman +Altman's +Altoids +Altoids's +Alton +Alton's +Aludra +Aludra's +Alva +Alvarado +Alvarado's +Alvarez +Alvarez's +Alvaro +Alvaro's +Alvin +Alvin's +Alyce +Alyce's +Alyson +Alyson's +Alyssa +Alyssa's +Alzheimer +Alzheimer's +Am +Am's +Amadeus +Amadeus's +Amado +Amado's +Amalia +Amalia's +Amanda +Amanda's +Amarillo +Amaru +Amaru's +Amaterasu +Amaterasu's +Amati +Amazon +Amazon's +Amazons +Amber +Amber's +Amelia +Amelia's +Amenhotep +Amenhotep's +Amerasian +America +America's +American +American's +Americana +Americana's +Americanism +Americanism's +Americanisms +Americanization +Americanization's +Americanizations +Americanize +Americanized +Americanizes +Americanizing +Americans +Americas +Amerind +Amerind's +Amerindian +Amerindian's +Amerindians +Amerinds +Ameslan +Ameslan's +Amharic +Amharic's +Amherst +Amie +Amie's +Amiga +Amiga's +Amish +Amish's +Amman +Amman's +Amoco +Amoco's +Amos +Amparo +Amparo's +Ampere +Ampere's +Amritsar +Amsterdam +Amsterdam's +Amtrak +Amundsen +Amur +Amur's +Amway +Amway's +Amy +Amy's +Ana +Ana's +Anabaptist +Anabaptist's +Anabel +Anabel's +Anacin +Anacin's +Anacreon +Anaheim +Analects +Analects's +Ananias +Ananias's +Anasazi +Anastasia +Anatole +Anatole's +Anatolia +Anatolia's +Anatolian +Anatolian's +Anaxagoras +Anchorage +Anchorage's +Andalusia +Andalusia's +Andalusian +Andaman +Andean +Andersen +Andersen's +Anderson +Andes +Andes's +Andorra +Andorra's +Andre +Andre's +Andrea +Andrea's +Andrei +Andrei's +Andres +Andretti +Andretti's +Andrew +Andrew's +Andrews +Andrianampoinimerina +Andrianampoinimerina's +Android +Android's +Andromache +Andromeda +Andromeda's +Andropov +Andy +Andy's +Angara +Angel +Angel's +Angela +Angela's +Angelia +Angelia's +Angelica +Angelico +Angelina +Angelina's +Angeline +Angeline's +Angelique +Angelique's +Angelita +Angelita's +Angelo +Angelo's +Angelou +Angevin +Angevin's +Angie +Angie's +Angkor +Anglia +Anglican +Anglican's +Anglicanism +Anglicanism's +Anglicanisms +Anglicans +Anglicize +Anglo +Anglophile +Angola +Angola's +Angolan +Angolan's +Angolans +Angora +Angora's +Angoras +Anguilla +Anguilla's +Angus +Angus's +Aniakchak +Aniakchak's +Anibal +Anibal's +Anita +Anita's +Ankara +Ankara's +Ann +Ann's +Anna +Annabel +Annabel's +Annabelle +Annabelle's +Annam +Annam's +Annapolis +Annapolis's +Annapurna +Annapurna's +Anne +Annette +Annette's +Annie +Annie's +Annmarie +Annmarie's +Anouilh +Anselm +Anselmo +Anselmo's +Anshan +Anshan's +Antaeus +Antananarivo +Antananarivo's +Antarctic +Antarctic's +Antarctica +Antarctica's +Antares +Antares's +Anthony +Antichrist +Antichrist's +Antichrists +Antietam +Antigone +Antigone's +Antigua +Antigua's +Antilles +Antilles's +Antioch +Antipas +Antipas's +Antofagasta +Antofagasta's +Antoine +Antoine's +Antoinette +Anton +Anton's +Antone +Antone's +Antonia +Antonia's +Antoninus +Antonio +Antonio's +Antonius +Antony +Antony's +Antwan +Antwan's +Antwerp +Antwerp's +Anubis +Anubis's +Anzac +Apache +Apache's +Apaches +Apalachicola +Apalachicola's +Apennines +Aphrodite +Aphrodite's +Apia +Apocrypha +Apocrypha's +Apollinaire +Apollo +Apollo's +Apollonian +Apollos +Appalachia +Appalachia's +Appalachian +Appalachians +Appaloosa +Appaloosa's +Apple +Apple's +Appleseed +Appleton +Appomattox +Apr +Apr's +April +April's +Aprils +Apuleius +Aquafresh +Aquafresh's +Aquarius +Aquarius's +Aquariuses +Aquila +Aquinas +Aquinas's +Aquino +Aquino's +Aquitaine +Aquitaine's +Ar +Ar's +Ara +Ara's +Arab +Arab's +Arabia +Arabia's +Arabian +Arabian's +Arabians +Arabic +Arabic's +Arabs +Araby +Araceli +Araceli's +Arafat +Arafat's +Araguaya +Araguaya's +Aral +Aral's +Aramaic +Aramaic's +Aramco +Aramco's +Arapaho +Arapaho's +Ararat +Ararat's +Araucanian +Arawak +Arawak's +Arawakan +Arawakan's +Arbitron +Arbitron's +Arcadia +Arcadia's +Arcadian +Arcadian's +Archean +Archibald +Archibald's +Archie +Archie's +Archimedes +Arctic +Arctic's +Arcturus +Arcturus's +Arden +Arequipa +Ares +Argentina +Argentina's +Argentine +Argentinian +Argentinian's +Argentinians +Argo +Argonaut +Argonaut's +Argonne +Argonne's +Argos +Argus +Argus's +Ariadne +Ariadne's +Arianism +Arianism's +Ariel +Aries +Aries's +Arieses +Ariosto +Aristarchus +Aristarchus's +Aristides +Aristophanes +Aristophanes's +Aristotelian +Aristotelian's +Aristotle +Aristotle's +Arius +Arius's +Ariz +Arizona +Arizona's +Arizonan +Arizonan's +Arizonans +Arizonian +Arizonian's +Arizonians +Arjuna +Ark +Arkansan +Arkansan's +Arkansas +Arkansas's +Arkhangelsk +Arkwright +Arlene +Arlene's +Arline +Arline's +Arlington +Armageddon +Armageddon's +Armageddons +Armagnac +Armagnac's +Armand +Armand's +Armando +Armando's +Armani +Armani's +Armenia +Armenia's +Armenian +Armenian's +Armenians +Arminius +Arminius's +Armonk +Armonk's +Armour +Armour's +Armstrong +Armstrong's +Arneb +Arneb's +Arnhem +Arno +Arno's +Arnold +Arnulfo +Arnulfo's +Aron +Aron's +Arrhenius +Arron +Arron's +Art +Art's +Artaxerxes +Artaxerxes's +Artemis +Artemis's +Arthur +Arthur's +Arthurian +Artie +Artie's +Arturo +Arturo's +Aruba +Aruba's +Aryan +Aryan's +Aryans +As +Asama +Asama's +Ascella +Ascella's +Asgard +Ashanti +Ashcroft +Ashe +Ashikaga +Ashikaga's +Ashkenazim +Ashkhabad +Ashkhabad's +Ashlee +Ashlee's +Ashley +Ashley's +Ashmolean +Ashmolean's +Ashurbanipal +Asia +Asia's +Asian +Asian's +Asians +Asiatic +Asiatic's +Asiatics +Asimov +Asmara +Asoka +Aspell +Aspell's +Aspen +Aspen's +Aspidiske +Aspidiske's +Asquith +Assad +Assad's +Assam +Assam's +Assamese +Assamese's +Assisi +Assyria +Assyria's +Assyrian +Assyrian's +Assyrians +Astaire +Astana +Astana's +Astarte +Astarte's +Aston +Astor +Astoria +Astrakhan +AstroTurf +Asturias +Aswan +Aswan's +At +At's +Atacama +Atacama's +Atahualpa +Atalanta +Atari +Atari's +Athabasca +Athabasca's +Athabascan +Athabascan's +Athena +Athena's +Athenian +Athenian's +Athenians +Athens +Athens's +Atkins +Atkins's +Atkinson +Atlanta +Atlanta's +Atlantes +Atlantic +Atlantic's +Atlantis +Atlantis's +Atlas +Atlas's +Atlases +Atman +Atreus +Atria +Atria's +Atropos +Atropos's +Ats +Attic +Attic's +Attica +Attica's +Attila +Attila's +Attlee +Attucks +Atwood +Atwood's +Au +Au's +Aubrey +Auckland +Auden +Auden's +Audi +Audi's +Audion +Audion's +Audra +Audra's +Audrey +Audrey's +Audubon +Aug +Aug's +Augean +Augsburg +August +August's +Augusta +Augusta's +Augustan +Augustine +Augustine's +Augusts +Augustus +Augustus's +Aurangzeb +Aurelia +Aurelia's +Aurelio +Aurelio's +Aurelius +Aureomycin +Aureomycin's +Auriga +Auriga's +Aurora +Aurora's +Auschwitz +Aussie +Aussie's +Aussies +Austen +Austerlitz +Austerlitz's +Austin +Austin's +Austins +Australasia +Australasia's +Australia +Australia's +Australian +Australian's +Australians +Australoid +Australopithecus +Australopithecus's +Austria +Austria's +Austrian +Austrian's +Austrians +Austronesian +Austronesian's +Autumn +Autumn's +Av +Av's +Ava +Ava's +Avalon +Ave +Aventine +Avernus +Averroes +Avery +Avery's +Avesta +Avesta's +Avicenna +Avignon +Avila +Avila's +Avior +Avior's +Avis +Avogadro +Avon +Axum +Ayala +Ayala's +Ayers +Aymara +Ayrshire +Ayrshire's +Ayurveda +Ayyubid +Ayyubid's +Azana +Azana's +Azania +Azania's +Azazel +Azerbaijan +Azerbaijan's +Azerbaijani +Azerbaijani's +Azores +Azores's +Azov +Aztec +Aztec's +Aztecan +Aztecan's +Aztecs +Aztlan +Aztlan's +B +B's +BA's +BASIC's +BB's +BC's +BLT's +BM's +BMW +BMW's +BS's +Ba +Ba's +Baal +Baal's +Baath +Baath's +Baathist +Babar +Babar's +Babbage +Babbitt +Babel +Babel's +Babels +Babur +Babylon +Babylon's +Babylonian +Babylonian's +Babylons +Bacall +Bacall's +Bacardi +Bacchanalia +Bacchanalia's +Bacchus +Bacchus's +Bach +Bach's +Backus +Backus's +Bacon +Bacon's +Bactria +Baden +Badlands +Badlands's +Baedeker +Baedeker's +Baez +Baffin +Baffin's +Baggies +Baghdad +Baghdad's +Baguio +Baha'i +Baha'ullah +Bahama +Bahama's +Bahamas +Bahamas's +Bahamian +Bahamian's +Bahamians +Bahia +Bahrain +Bahrain's +Baikal +Bailey +Bailey's +Baird +Bakelite +Bakelite's +Baker +Bakersfield +Baku +Baku's +Bakunin +Balanchine +Balaton +Balboa +Balder +Balder's +Baldwin +Baldwin's +Balearic +Balearic's +Balfour +Bali +Bali's +Balinese +Balinese's +Balkan +Balkans +Balkhash +Ball +Ballard +Ballard's +Balthazar +Baltic +Baltic's +Baltimore +Baltimore's +Baluchistan +Balzac +Balzac's +Bamako +Bamako's +Bambi +Bambi's +Banach +Banach's +Bancroft +Bancroft's +Bandung +Bandung's +Bangalore +Bangkok +Bangkok's +Bangladesh +Bangladesh's +Bangladeshi +Bangladeshi's +Bangladeshis +Bangor +Bangui +Bangui's +Banjarmasin +Banjarmasin's +Banjul +Banks +Banneker +Banneker's +Bannister +Banting +Bantu +Bantu's +Bantus +Baotou +Baotou's +Baptist +Baptist's +Baptiste +Baptiste's +Baptists +Barabbas +Barack +Barack's +Barbadian +Barbadian's +Barbadians +Barbados +Barbados's +Barbara +Barbara's +Barbarella +Barbarella's +Barbarossa +Barbarossa's +Barbary +Barbary's +Barber +Barbie +Barbour +Barbour's +Barbra +Barbra's +Barbuda +Barbuda's +Barcelona +Barcelona's +Barclay +Barclay's +Bardeen +Bardeen's +Barents +Barents's +Barker +Barker's +Barkley +Barkley's +Barlow +Barlow's +Barnabas +Barnaby +Barnaby's +Barnard +Barnaul +Barnes +Barnett +Barnett's +Barney +Barney's +Barnum +Baroda +Barquisimeto +Barr +Barr's +Barranquilla +Barrera +Barrera's +Barrett +Barrett's +Barrie +Barrie's +Barron +Barron's +Barry +Barrymore +Bart +Barth +Bartholdi +Bartholdi's +Bartholomew +Bartlett +Barton +Baruch +Baryshnikov +Basel +Basel's +Basho +Basho's +Basie +Basil +Basque +Basque's +Basques +Basra +Bass +Bass's +Basseterre +Basseterre's +Bastille +Bastille's +Bataan +Bataan's +Bates +Bathsheba +Batista +Batman +Batman's +Battle +Battle's +Batu +Batu's +Baudelaire +Baudelaire's +Baudouin +Baudouin's +Bauer +Bauhaus +Bauhaus's +Baum +Bavaria +Bavaria's +Bavarian +Baxter +Baxter's +Bayer +Bayer's +Bayes +Bayesian +Bayeux +Bayeux's +Baylor +Baylor's +Bayonne +Bayonne's +Bayreuth +Baywatch +Baywatch's +Be +Be's +Beach +Beach's +Beadle +Bean +Bean's +Beard +Beard's +Beardmore +Beardmore's +Beardsley +Bearnaise +Bearnaise's +Beasley +Beasley's +Beatlemania +Beatlemania's +Beatles +Beatles's +Beatrice +Beatrice's +Beatrix +Beatrix's +Beatriz +Beatriz's +Beau +Beau's +Beaufort +Beaujolais +Beaujolais's +Beaumarchais +Beaumont +Beauregard +Beauregard's +Beauvoir +Bechtel +Bechtel's +Beck +Beck's +Becker +Becker's +Becket +Becket's +Beckett +Beckett's +Becky +Becky's +Becquerel +Bede +Bedouin +Bedouin's +Bedouins +Beebe +Beebe's +Beecher +Beefaroni +Beefaroni's +Beelzebub +Beelzebub's +Beerbohm +Beethoven +Beethoven's +Beeton +Beeton's +Begin +Behan +Behring +Beiderbecke +Beijing +Beijing's +Beirut +Beirut's +Bekesy +Bekesy's +Bela +Bela's +Belarus +Belarus's +Belau +Belau's +Belem +Belem's +Belfast +Belfast's +Belgian +Belgian's +Belgians +Belgium +Belgium's +Belgrade +Belgrade's +Belinda +Belinda's +Belize +Belize's +Bell +Bell's +Bella +Bella's +Bellamy +Bellamy's +Bellatrix +Bellatrix's +Belleek +Bellini +Bellow +Belmont +Belmont's +Belmopan +Belshazzar +Belshazzar's +Beltane +Belushi +Belushi's +Ben +Ben's +Benacerraf +Benacerraf's +Benares +Benchley +Benchley's +Bender +Bender's +Bendix +Bendix's +Benedict +Benedict's +Benedictine +Benedictine's +Benelux +Benelux's +Benet +Benetton +Benetton's +Bengal +Bengal's +Bengali +Bengali's +Benghazi +Benghazi's +Benin +Benin's +Benita +Benita's +Benito +Benito's +Benjamin +Bennett +Bennie +Bennie's +Benny +Benny's +Benson +Benson's +Bentham +Bentley +Benton +Benz +Benzedrine +Benzedrine's +Beowulf +Berber +Berber's +Berbers +Berenice +Berenice's +Beretta +Beretta's +Berg +Bergen +Bergen's +Berger +Berger's +Bergerac +Bergman +Bergson +Beria +Bering +Berkeley +Berkeley's +Berkshire +Berkshire's +Berkshires +Berle +Berle's +Berlin +Berlin's +Berliner +Berliner's +Berlins +Berlioz +Berlitz +Berlitz's +Bermuda +Bermuda's +Bermudas +Bern +Bern's +Bernadette +Bernadine +Bernadine's +Bernanke +Bernanke's +Bernard +Bernardo +Bernardo's +Bernays +Bernays's +Bernbach +Bernbach's +Berne +Berne's +Bernhardt +Bernice +Bernice's +Bernie +Bernie's +Bernini +Bernoulli +Bernstein +Berra +Berra's +Berry +Bert +Bert's +Berta +Berta's +Bertelsmann +Bertelsmann's +Bertha +Bertha's +Bertie +Bertie's +Bertillon +Bertillon's +Bertram +Bertram's +Bertrand +Bertrand's +Beryl +Beryl's +Berzelius +Bess +Bessel +Bessemer +Bessemer's +Bessie +Best +Best's +Betelgeuse +Betelgeuse's +Beth +Beth's +Bethany +Bethe +Bethesda +Bethlehem +Bethune +Betsy +Betsy's +Bette +Bette's +Bettie +Bettie's +Betty +Betty's +Bettye +Bettye's +Beulah +Beverley +Beverley's +Beverly +Beverly's +Beyer +Bhopal +Bhutan +Bhutan's +Bhutto +Bhutto's +Bi +Bi's +Bialystok +Bianca +Bianca's +Bib +Bible +Bible's +Bibles +Biblical +Bic +Bic's +Biddle +Biden +Biden's +Bierce +Bigfoot +Bigfoot's +Biggles +Biggles's +Biko +Biko's +Bilbao +Bilbo +Bilbo's +Bill +Bill's +Billie +Billie's +Billings +Billings's +Billy +Billy's +Bimini +Bimini's +Bioko +Bioko's +Bird +Birdseye +Birdseye's +Birkenstock +Birmingham +Birmingham's +Biro +Biro's +Biscay +Biscayne +Biscayne's +Bishkek +Bishop +Bishop's +Bismarck +Bismarck's +Bismark +Bismark's +Bisquick +Bisquick's +Bissau +Bissau's +Bizet +Bjerknes +Bjerknes's +Bjork +Bjork's +Bk +Bk's +Black +Black's +Blackbeard +Blackbeard's +Blackburn +Blackburn's +Blackfoot +Blackfoot's +Blacks +Blackshirt +Blackshirt's +Blackstone +Blackwell +Blaine +Blaine's +Blair +Blair's +Blake +Blanca +Blanca's +Blanchard +Blanchard's +Blanche +Blanche's +Blankenship +Blankenship's +Blantyre +Blantyre's +Blatz +Blatz's +Blavatsky +Blenheim +Blenheim's +Blevins +Blevins's +Bligh +Bligh's +Bloch +Blockbuster +Blockbuster's +Bloemfontein +Bloemfontein's +Blondel +Blondel's +Blondie +Blondie's +Bloom +Bloom's +Bloomer +Bloomfield +Bloomingdale +Bloomingdale's +Bloomsbury +Blu +Blucher +Blucher's +Bluebeard +Bluebeard's +Bluetooth +Bluetooth's +Blvd +Blythe +Blythe's +Boas +Boas's +Bob +Bob's +Bobbi +Bobbi's +Bobbie +Bobbie's +Bobbitt +Bobbitt's +Bobby +Bobby's +Boccaccio +Bodhidharma +Bodhidharma's +Bodhisattva +Bodhisattva's +Boeing +Boeing's +Boeotia +Boeotia's +Boeotian +Boer +Boer's +Boers +Boethius +Bogart +Bogart's +Bohemia +Bohemian +Bohemian's +Bohemians +Bohr +Boise +Boise's +Bojangles +Bojangles's +Boleyn +Boleyn's +Bolivar +Bolivar's +Bolivia +Bolivia's +Bolivian +Bolivian's +Bolivians +Bollywood +Bollywood's +Bologna +Bologna's +Bolshevik +Bolshevik's +Bolsheviks +Bolshevism +Bolshevist +Bolshoi +Bolshoi's +Bolton +Boltzmann +Bombay +Bombay's +Bonaparte +Bonaventure +Bond +Bond's +Bonhoeffer +Bonhoeffer's +Boniface +Bonita +Bonita's +Bonn +Bonn's +Bonner +Bonner's +Bonneville +Bonneville's +Bonnie +Bonnie's +Bono +Bono's +Booker +Booker's +Boole +Boole's +Boolean +Boone +Boone's +Booth +Bordeaux +Bordeaux's +Borden +Borden's +Bordon +Bordon's +Boreas +Boreas's +Borg +Borg's +Borges +Borgia +Borglum +Boris +Bork +Bork's +Borlaug +Borlaug's +Born +Borneo +Borneo's +Borobudur +Borobudur's +Borodin +Boru +Boru's +Bosch +Bose +Bosnia +Bosnia's +Bosporus +Bosporus's +Boston +Boston's +Bostonian +Bostons +Boswell +Botswana +Botswana's +Botticelli +Boulder +Boulez +Boulez's +Bourbaki +Bourbaki's +Bourbon +Bourbon's +Bournemouth +Bovary +Bovary's +Bowditch +Bowditch's +Bowell +Bowell's +Bowen +Bowen's +Bowers +Bowery +Bowery's +Bowie +Bowman +Bowman's +Boyd +Boyer +Boyer's +Boyle +Br +Br's +Brad +Brad's +Bradbury +Braddock +Braddock's +Bradford +Bradley +Bradly +Bradly's +Bradshaw +Bradshaw's +Bradstreet +Bradstreet's +Brady +Bragg +Bragg's +Brahe +Brahma +Brahma's +Brahmagupta +Brahmagupta's +Brahman +Brahman's +Brahmanism +Brahmanism's +Brahmanisms +Brahmans +Brahmaputra +Brahmaputra's +Brahmas +Brahmin +Brahmin's +Brahmins +Brahms +Brahms's +Braille +Braille's +Brailles +Brain +Brain's +Brampton +Brampton's +Bran +Bran's +Branch +Branch's +Brandeis +Branden +Branden's +Brandenburg +Brandi +Brandi's +Brandie +Brandie's +Brando +Brandon +Brandon's +Brandt +Brandy +Brandy's +Brant +Brant's +Braque +Brasilia +Brasilia's +Bratislava +Brattain +Brattain's +Bray +Bray's +Brazil +Brazil's +Brazilian +Brazilian's +Brazilians +Brazos +Brazos's +Brazzaville +Brazzaville's +Breakspear +Breakspear's +Brecht +Breckenridge +Breckenridge's +Bremen +Brenda +Brenda's +Brendan +Brendan's +Brennan +Brennan's +Brenner +Brenner's +Brent +Brent's +Brenton +Brenton's +Brest +Bret +Bret's +Breton +Breton's +Brett +Brett's +Brewer +Brewer's +Brewster +Brezhnev +Brian +Brian's +Briana +Briana's +Brianna +Brianna's +Brice +Brice's +Bridalveil +Bridalveil's +Bridgeport +Bridgeport's +Bridger +Bridger's +Bridges +Bridget +Bridget's +Bridgetown +Bridgett +Bridgett's +Bridgette +Bridgette's +Bridgman +Brie +Brie's +Brigadoon +Briggs +Brigham +Brigham's +Bright +Brighton +Brighton's +Brigid +Brigid's +Brigitte +Brigitte's +Brillo +Brinkley +Brinkley's +Brisbane +Brisbane's +Bristol +Bristol's +Brit +Brit's +Britain +Britain's +Britannia +Britannic +Britannica +Britannica's +British +British's +Britisher +Britney +Britney's +Briton +Briton's +Britons +Brits +Britt +Britt's +Brittany +Brittany's +Britten +Brittney +Brittney's +Brno +Broadway +Broadway's +Broadways +Brobdingnag +Brobdingnag's +Brobdingnagian +Brock +Brock's +Brokaw +Brokaw's +Bronson +Bronson's +Bronte +Bronx +Bronx's +Brooke +Brooklyn +Brooklyn's +Brooks +Brown +Browne +Brownian +Brownian's +Brownie +Brownies +Browning +Brownshirt +Brownsville +Brubeck +Bruce +Bruce's +Bruckner +Brueghel +Brummel +Brummel's +Brunei +Brunei's +Brunelleschi +Brunhilde +Brunhilde's +Bruno +Brunswick +Brunswick's +Brussels +Brussels's +Brut +Brut's +Brutus +Brutus's +Bryan +Bryant +Bryce +Bryce's +Brynner +Brynner's +Bryon +Bryon's +Brzezinski +Brzezinski's +Btu +Btu's +Buber +Buchanan +Buchanan's +Bucharest +Bucharest's +Buchenwald +Buchwald +Buchwald's +Buck +Buckingham +Buckley +Buckley's +Buckner +Buckner's +Bud +Bud's +Budapest +Budapest's +Buddha +Buddha's +Buddhas +Buddhism +Buddhism's +Buddhisms +Buddhist +Buddhist's +Buddhists +Buddy +Buddy's +Budweiser +Budweiser's +Buffalo +Buffalo's +Buffy +Buffy's +Buford +Buford's +Bugatti +Bugatti's +Bugzilla +Bugzilla's +Buick +Buick's +Bujumbura +Bujumbura's +Bukhara +Bukharin +Bulawayo +Bulfinch +Bulganin +Bulgar +Bulgari +Bulgari's +Bulgaria +Bulgaria's +Bulgarian +Bulgarian's +Bulgarians +Bullock +Bullock's +Bullwinkle +Bullwinkle's +Bultmann +Bultmann's +Bumppo +Bumppo's +Bunche +Bundesbank +Bundesbank's +Bundestag +Bunin +Bunker +Bunker's +Bunsen +Bunyan +Bunyan's +Burbank +Burberry +Burberry's +Burch +Burch's +Burger +Burger's +Burgess +Burgoyne +Burgoyne's +Burgundian +Burgundies +Burgundy +Burgundy's +Burke +Burks +Burl +Burl's +Burma +Burma's +Burmese +Burmese's +Burnett +Burns +Burnside +Burr +Burris +Burris's +Burroughs +Bursa +Burt +Burt's +Burton +Burton's +Burundi +Burundi's +Busch +Busch's +Bush +Bush's +Bushido +Bushnell +Bushnell's +Butler +Butterfingers +Butterfingers's +Buxtehude +Byblos +Byblos's +Byelorussia +Byelorussia's +Byers +Byers's +Byrd +Byron +Byronic +Byzantine +Byzantine's +Byzantines +Byzantium +Byzantium's +C +C's +CD's +CEO's +CFC's +CIA's +CO's +COBOL's +CPA's +CPI's +CPR's +CPU's +CRT's +CST's +CT's +Ca +Ca's +Cabernet +Cabernet's +Cabinet +Cabot +Cabral +Cabrera +Cabrera's +Cabrini +Cadillac +Cadiz +Cadiz's +Caedmon +Caedmon's +Caerphilly +Caesar +Caesar's +Caesarean +Caesars +Cage +Cagney +Cagney's +Cahokia +Cahokia's +Caiaphas +Cain +Cain's +Cains +Cairo +Cairo's +Caitlin +Caitlin's +Cajun +Cajun's +Cajuns +Cal +Calais +Calcutta +Calcutta's +Calder +Calderon +Calderon's +Caldwell +Caleb +Caleb's +Caledonia +Calgary +Calgary's +Calhoun +Cali +Caliban +California +California's +Californian +Californian's +Californians +Caligula +Callaghan +Callahan +Callahan's +Callao +Callas +Callie +Callie's +Calliope +Calliope's +Callisto +Callisto's +Caloocan +Caloocan's +Calvary +Calvary's +Calvert +Calvin +Calvin's +Calvinism +Calvinism's +Calvinisms +Calvinist +Calvinist's +Calvinistic +Calvinists +Camacho +Camacho's +Cambodia +Cambodia's +Cambodian +Cambodian's +Cambodians +Cambrian +Cambrian's +Cambridge +Cambridge's +Camel +Camel's +Camelopardalis +Camelot +Camelot's +Camembert +Camembert's +Camemberts +Cameron +Cameron's +Cameroon +Cameroon's +Cameroons +Camilla +Camilla's +Camille +Camille's +Camoens +Camoens's +Campanella +Campanella's +Campbell +Campinas +Campos +Camry +Camry's +Camus +Canaan +Canaan's +Canada +Canada's +Canadian +Canadian's +Canadians +Canaletto +Canaries +Canaries's +Canaveral +Canberra +Canberra's +Cancer +Cancer's +Cancers +Cancun +Cancun's +Candace +Candace's +Candice +Candice's +Candide +Candide's +Candy +Candy's +Cannes +Cannes's +Cannon +Cannon's +Canon +Canon's +Canopus +Cantabrigian +Cantabrigian's +Canterbury +Canton +Canton's +Cantonese +Cantonese's +Cantor +Cantor's +Cantrell +Cantrell's +Cantu +Cantu's +Canute +Capablanca +Capek +Capek's +Capella +Capella's +Capet +Capetian +Capetown +Capetown's +Caph +Caph's +Capistrano +Capistrano's +Capitol +Capitol's +Capitoline +Capitols +Capone +Capote +Capra +Capra's +Capri +Capri's +Capricorn +Capricorn's +Capricorns +Capt +Capuchin +Capulet +Capulet's +Cara +Cara's +Caracalla +Caracas +Caracas's +Caravaggio +Carboloy +Carboloy's +Carboniferous +Carboniferous's +Carborundum +Cardenas +Cardenas's +Cardiff +Cardiff's +Cardin +Cardin's +Cardozo +Cardozo's +Carey +Carib +Carib's +Caribbean +Caribbean's +Caribbeans +Carina +Carissa +Carissa's +Carl +Carl's +Carla +Carla's +Carlene +Carlene's +Carlin +Carlin's +Carlo +Carlo's +Carlos +Carlsbad +Carlson +Carlson's +Carlton +Carly +Carly's +Carlyle +Carmela +Carmela's +Carmella +Carmella's +Carmelo +Carmelo's +Carmen +Carmen's +Carmichael +Carmichael's +Carmine +Carmine's +Carnap +Carnation +Carnation's +Carnegie +Carnegie's +Carney +Carney's +Carnot +Carol +Carol's +Carole +Carole's +Carolina +Caroline +Carolingian +Carolinian +Carolinian's +Carolyn +Carolyn's +Carpathian +Carpathian's +Carpathians +Carpenter +Carr +Carr's +Carranza +Carranza's +Carrie +Carrie's +Carrier +Carrier's +Carrillo +Carrillo's +Carroll +Carroll's +Carson +Carter +Carter's +Cartesian +Carthage +Carthage's +Carthaginian +Carthaginian's +Cartier +Cartwright +Caruso +Carver +Cary +Casablanca +Casablanca's +Casals +Casandra +Casandra's +Casanova +Casanova's +Casanovas +Cascades +Cascades's +Case +Case's +Casey +Casey's +Cash +Casio +Casio's +Caspar +Caspian +Cassandra +Cassandra's +Cassatt +Cassie +Cassie's +Cassiopeia +Cassiopeia's +Cassius +Cassius's +Castaneda +Castaneda's +Castillo +Castillo's +Castlereagh +Castor +Castor's +Castries +Castries's +Castro +Catalan +Catalan's +Catalina +Catalina's +Catalonia +Catalonia's +Catawba +Catawba's +Caterpillar +Caterpillar's +Cathay +Cathay's +Cather +Catherine +Catherine's +Cathleen +Cathleen's +Catholic +Catholic's +Catholicism +Catholicism's +Catholicisms +Catholics +Cathryn +Cathryn's +Cathy +Cathy's +Catiline +Cato +Catskill +Catskill's +Catskills +Catskills's +Catt +Catullus +Caucasian +Caucasian's +Caucasians +Caucasoid +Caucasus +Caucasus's +Cauchy +Cavendish +Cavour +Caxton +Cayenne +Cayman +Cayman's +Cayuga +Cayuga's +Cd +Cd's +Ceausescu +Ceausescu's +Cebu +Cebu's +Cebuano +Cebuano's +Cecelia +Cecelia's +Cecil +Cecile +Cecile's +Cecilia +Cecily +Cecily's +Cedric +Cedric's +Celebes +Celebes's +Celeste +Celeste's +Celia +Celia's +Celina +Celina's +Cellini +Celsius +Celt +Celt's +Celtic +Celtic's +Celtics +Celts +Cenozoic +Cenozoic's +Centaurus +Centaurus's +Centigrade +Cepheid +Cepheus +Cepheus's +Cerberus +Cerberus's +Cerenkov +Ceres +Ceres's +Cerf +Cerf's +Cervantes +Cervantes's +Cesar +Cesar's +Cesarean +Cessna +Cessna's +Cetus +Ceylon +Ceylon's +Cezanne +Cf +Cf's +Ch'in +Chablis +Chablis's +Chad +Chad's +Chadwick +Chagall +Chaitanya +Chaitanya's +Chaitin +Chaitin's +Chaldean +Challenger +Challenger's +Chamberlain +Chambers +Champlain +Champollion +Chan +Chan's +Chance +Chance's +Chancellorsville +Chancellorsville's +Chandigarh +Chandler +Chandon +Chandon's +Chandra +Chandra's +Chandragupta +Chandrasekhar +Chandrasekhar's +Chanel +Chaney +Chaney's +Chang +Chang's +Changchun +Changsha +Chantilly +Chanukah +Chanukah's +Chanukahs +Chaplin +Chapman +Chappaquiddick +Chappaquiddick's +Chapultepec +Chapultepec's +Charbray +Charbray's +Chardonnay +Chardonnay's +Charity +Charity's +Charlemagne +Charlemagne's +Charlene +Charlene's +Charles +Charles's +Charleston +Charleston's +Charlestons +Charley +Charlie +Charlotte +Charlotte's +Charlottetown +Charlottetown's +Charmaine +Charmaine's +Charmin +Charmin's +Charolais +Charolais's +Charon +Charon's +Chartism +Chartism's +Chartres +Charybdis +Charybdis's +Chase +Chasity +Chasity's +Chateaubriand +Chateaubriand's +Chattahoochee +Chattahoochee's +Chattanooga +Chattanooga's +Chatterley +Chatterley's +Chatterton +Chaucer +Chaucer's +Chauncey +Chauncey's +Chautauqua +Chavez +Chavez's +Chayefsky +Chayefsky's +Che +Che's +Chechen +Chechnya +Chechnya's +Cheddar +Cheer +Cheer's +Cheerios +Cheerios's +Cheetos +Cheetos's +Cheever +Chekhov +Chekhov's +Chelsea +Chelyabinsk +Chelyabinsk's +Chen +Chen's +Cheney +Cheney's +Chengdu +Chennai +Chennai's +Cheops +Cheri +Cheri's +Cherie +Cherie's +Chernenko +Chernenko's +Chernobyl +Chernobyl's +Chernomyrdin +Chernomyrdin's +Cherokee +Cherokee's +Cherokees +Cherry +Cherry's +Cheryl +Cheryl's +Chesapeake +Cheshire +Chester +Chester's +Chesterfield +Chesterton +Chevalier +Cheviot +Cheviot's +Chevrolet +Chevrolet's +Chevron +Chevron's +Chevy +Chevy's +Cheyenne +Cheyenne's +Cheyennes +Chi +Chi's +Chianti +Chianti's +Chiantis +Chiba +Chibcha +Chicago +Chicago's +Chicagoan +Chicana +Chicano +Chickasaw +Chickasaw's +Chiclets +Chiclets's +Chihuahua +Chihuahua's +Chihuahuas +Chile +Chile's +Chilean +Chilean's +Chileans +Chimborazo +Chimborazo's +Chimera +Chimera's +Chimu +Chimu's +China +China's +Chinatown +Chinese +Chinese's +Chinook +Chinook's +Chinooks +Chipewyan +Chipewyan's +Chippendale +Chippendale's +Chippewa +Chippewa's +Chiquita +Chiquita's +Chirico +Chisholm +Chisholm's +Chisinau +Chisinau's +Chittagong +Chivas +Chivas's +Chloe +Choctaw +Choctaw's +Chomsky +Chongqing +Chopin +Chopin's +Chopra +Chopra's +Chou +Chretien +Chretien's +Chris +Chris's +Christ +Christ's +Christa +Christa's +Christchurch +Christendom +Christendom's +Christendoms +Christensen +Christensen's +Christi +Christi's +Christian +Christian's +Christianities +Christianity +Christianity's +Christians +Christie +Christina +Christine +Christine's +Christmas +Christmas's +Christmases +Christoper +Christoper's +Christopher +Christopher's +Christs +Christy +Chrysler +Chrysler's +Chrysostom +Chrystal +Chrystal's +Chuck +Chuck's +Chukchi +Chumash +Chung +Chung's +Chungking +Chungking's +Church +Churchill +Churchill's +Churriguera +Churriguera's +Chuvash +Chuvash's +Ci +Cicero +Cicero's +Cid +Cimabue +Cimabue's +Cincinnati +Cinderella +Cinderella's +Cinderellas +Cindy +Cindy's +CinemaScope +CinemaScope's +Cinerama +Cipro +Cipro's +Circe +Circe's +Cisco +Cisco's +Citibank +Citibank's +Citigroup +Citigroup's +Citroen +Citroen's +Cl +Cl's +Claiborne +Claiborne's +Clair +Clair's +Claire +Claire's +Clairol +Clairol's +Clancy +Clancy's +Clapeyron +Clapeyron's +Clapton +Clapton's +Clara +Clara's +Clare +Clarence +Clarence's +Clarendon +Clarice +Clarice's +Clarissa +Clarissa's +Clark +Clarke +Clarke's +Claude +Claude's +Claudette +Claudette's +Claudia +Claudia's +Claudine +Claudine's +Claudio +Claudio's +Claudius +Claudius's +Claus +Claus's +Clausewitz +Clausius +Clay +Clayton +Clayton's +Clearasil +Clearasil's +Clem +Clem's +Clemenceau +Clemens +Clement +Clement's +Clementine +Clementine's +Clements +Clemons +Clemson +Clemson's +Cleo +Cleo's +Cleopatra +Cleopatra's +Cleveland +Cleveland's +Cliburn +Cliburn's +Cliff +Cliff's +Clifford +Clifton +Clifton's +Cline +Cline's +Clint +Clint's +Clinton +Clinton's +Clio +Clio's +Clive +Clorets +Clorets's +Clorox +Clorox's +Clotho +Clotho's +Clouseau +Clouseau's +Clovis +Clovis's +Clyde +Clydesdale +Clydesdale's +Clytemnestra +Cm +Cm's +Co +Co's +Cobain +Cobain's +Cobb +Cochabamba +Cochin +Cochise +Cochran +Cochran's +Cockney +Cockney's +Cocteau +Cody +Coffey +Coffey's +Cognac +Cognac's +Cohan +Cohen +Coimbatore +Cointreau +Coke +Coke's +Cokes +Col +Colbert +Colbert's +Colby +Cole +Coleen +Coleen's +Coleman +Coleman's +Coleridge +Coleridge's +Colette +Colfax +Colfax's +Colgate +Colgate's +Colin +Colin's +Colleen +Colleen's +Collier +Collier's +Collin +Collin's +Collins +Colo +Cologne +Cologne's +Colombia +Colombia's +Colombian +Colombian's +Colombians +Colombo +Colombo's +Colon +Colon's +Colorado +Colorado's +Colosseum +Colt +Colt's +Coltrane +Columbia +Columbia's +Columbine +Columbus +Columbus's +Com +Comanche +Comanche's +Comanches +Combs +Combs's +Comintern +Commons +Commonwealth +Communion +Communion's +Communions +Communism +Communist +Communist's +Communists +Como +Comoros +Comoros's +Compaq +Compaq's +Compton +CompuServe +CompuServe's +Comte +Conakry +Conakry's +Conan +Conan's +Concetta +Concetta's +Concord +Concord's +Concorde +Concords +Condillac +Condorcet +Conestoga +Conestoga's +Confederacy +Confederacy's +Confederate +Confederate's +Confederates +Confucian +Confucian's +Confucianism +Confucianism's +Confucianisms +Confucians +Confucius +Confucius's +Cong +Congo +Congo's +Congolese +Congolese's +Congregationalist +Congregationalist's +Congregationalists +Congress +Congress's +Congresses +Congreve +Conley +Conley's +Conn +Connecticut +Connecticut's +Connemara +Conner +Conner's +Connery +Connery's +Connie +Connie's +Connolly +Connolly's +Connors +Conrad +Conrail +Conrail's +Constable +Constance +Constantine +Constantinople +Constantinople's +Constitution +Consuelo +Consuelo's +Continent +Continent's +Continental +Contreras +Contreras's +Conway +Cook +Cooke +Cooke's +Cooley +Cooley's +Coolidge +Coolidge's +Cooper +Cooperstown +Cooperstown's +Coors +Coors's +Copacabana +Copacabana's +Copeland +Copeland's +Copenhagen +Copenhagen's +Copernican +Copernicus +Copernicus's +Copland +Copley +Copperfield +Copperfield's +Coppertone +Coppertone's +Coppola +Coppola's +Coptic +Coptic's +Cora +Cora's +Cordelia +Cordelia's +Cordilleras +Cordoba +Cordoba's +Corey +Corey's +Corfu +Corina +Corina's +Corine +Corine's +Corinne +Corinne's +Corinth +Corinth's +Corinthian +Corinthian's +Corinthians +Coriolanus +Coriolis +Coriolis's +Corleone +Corleone's +Cormack +Cormack's +Corneille +Cornelia +Cornelia's +Cornelius +Cornelius's +Cornell +Cornell's +Corning +Corning's +Cornish +Cornish's +Cornwall +Cornwall's +Cornwallis +Coronado +Corot +Correggio +Corrine +Corrine's +Corsica +Corsica's +Corsican +Cortes +Cortes's +Corteses +Cortez +Cortez's +Cortland +Cortland's +Corvallis +Corvallis's +Corvette +Corvette's +Corvus +Corvus's +Cory +Cory's +Cosby +Cosby's +Cossack +Costco +Costco's +Costello +Costello's +Costner +Costner's +Cote +Cote's +Cotonou +Cotopaxi +Cotopaxi's +Cotswold +Cotswold's +Cotton +Cotton's +Coulomb +Coulter +Coulter's +Couperin +Courbet +Courtney +Courtney's +Cousteau +Coventries +Coventry +Coventry's +Coward +Cowley +Cowper +Cox +Coy +Coy's +Cozumel +Cozumel's +Cr +Cr's +Crabbe +Craft +Craft's +Craig +Cranach +Crane +Cranmer +Crater +Crater's +Crawford +Crawford's +Cray +Cray's +Crayola +Crayola's +Creation +Creation's +Creator +Creator's +Crecy +Crecy's +Cree +Cree's +Creek +Creek's +Creighton +Creighton's +Creole +Creole's +Creoles +Creon +Crest +Crest's +Cretaceous +Cretaceous's +Cretan +Cretan's +Crete +Crete's +Crichton +Crick +Crimea +Crimea's +Crimean +Criollo +Crisco +Crisco's +Cristina +Cristina's +Croat +Croat's +Croatia +Croatia's +Croatian +Croatian's +Croatians +Croats +Croce +Crockett +Croesus +Cromwell +Cromwell's +Cromwellian +Cronin +Cronin's +Cronkite +Cronkite's +Cronus +Cronus's +Crookes +Crosby +Cross +Crowley +Crowley's +Cruikshank +Cruise +Cruise's +Crusades +Crusoe +Crusoe's +Crux +Crux's +Cruz +Cruz's +Cryptozoic +Cryptozoic's +Crystal +Crystal's +Cs +Csonka +Csonka's +Ctesiphon +Cthulhu +Cthulhu's +Cu +Cu's +Cuba +Cuba's +Cuban +Cuban's +Cubans +Cuchulain +Cuchulain's +Cuisinart +Culbertson +Cullen +Cullen's +Cumberland +Cumberland's +Cummings +Cunard +Cunard's +Cunningham +Cunningham's +Cupid +Cupid's +Curacao +Curacao's +Curie +Curitiba +Currier +Currier's +Curry +Curt +Curt's +Curtis +Curtis's +Custer +Cuvier +Cuvier's +Cuzco +Cybele +Cybele's +Cyclades +Cyclades's +Cyclops +Cyclops's +Cygnus +Cygnus's +Cymbeline +Cymbeline's +Cynthia +Cynthia's +Cyprian +Cyprian's +Cypriot +Cypriot's +Cypriots +Cyprus +Cyprus's +Cyrano +Cyrano's +Cyril +Cyrillic +Cyrillic's +Cyrus +Czech +Czech's +Czechoslovakia +Czechoslovakia's +Czechoslovakian +Czechoslovakian's +Czechoslovakians +Czechs +Czerny +D +D's +DA's +DAT's +DC's +DD's +DDS's +DNA's +DOS's +DP's +Dacca +Dacca's +Dachau +Dachau's +Dacron +Dacron's +Dacrons +Dada +Dada's +Dadaism +Dadaism's +Daedalus +Daedalus's +Daguerre +Dagwood +Dahomey +Dahomey's +Daimler +Daimler's +Daisy +Dakar +Dakar's +Dakota +Dakota's +Dakotan +Dakotas +Dale +Daley +Daley's +Dali +Dalian +Dalian's +Dallas +Dallas's +Dalmatian +Dalmatian's +Dalmatians +Dalton +Dalton's +Damascus +Damascus's +Damian +Damian's +Damien +Damion +Damion's +Damocles +Damon +Damon's +Dan +Dana +Dana's +Dane +Dane's +Danelaw +Danes +Dangerfield +Dangerfield's +Danial +Danial's +Daniel +Daniel's +Danielle +Danielle's +Daniels +Danish +Danish's +Dannie +Dannie's +Danny +Danny's +Danone +Danone's +Dante +Dante's +Danton +Danube +Danube's +Danubian +Daphne +Daphne's +Darby +Darby's +Darcy +Darcy's +Dardanelles +Dardanelles's +Dare +Daren +Daren's +Darfur +Darin +Darin's +Dario +Dario's +Darius +Darjeeling +Darla +Darla's +Darlene +Darlene's +Darling +Darling's +Darnell +Darnell's +Darrel +Darrel's +Darrell +Darrell's +Darren +Darren's +Darrin +Darrin's +Darrow +Darryl +Darryl's +Darth +Darth's +Dartmoor +Dartmouth +Darvon +Darvon's +Darwin +Darwin's +Darwinian +Darwinism +Darwinism's +Daryl +Daryl's +Daugherty +Daugherty's +Daumier +Davao +Dave +Dave's +Davenport +David +David's +Davids +Davidson +Davidson's +Davies +Davis +Davy +Dawes +Dawn +Dawn's +Dawson +Day +Dayton +DeGeneres +DeGeneres's +Deadhead +Deadhead's +Dean +Deana +Deana's +Deandre +Deandre's +Deann +Deann's +Deanna +Deanna's +Deanne +Deanne's +Debbie +Debbie's +Debby +Debby's +Debian +Debian's +Debora +Debora's +Deborah +Debouillet +Debouillet's +Debra +Debra's +Debs +Debussy +Dec +Dec's +Decalogue +Decalogue's +Decatur +Decca +Decca's +Deccan +December +December's +Decembers +Decker +Dedekind +Dedekind's +Dee +Deena +Deena's +Deere +Deere's +Defoe +Degas +Deidre +Deidre's +Deimos +Deirdre +Deity +Dejesus +Dejesus's +Del +Delacroix +Delacruz +Delacruz's +Delaney +Delaney's +Delano +Delano's +Delaware +Delaware's +Delawarean +Delawarean's +Delawareans +Delawares +Delbert +Delbert's +Deleon +Deleon's +Delgado +Delhi +Delhi's +Delia +Delia's +Delibes +Delicious +Delicious's +Delilah +Delilah's +Delius +Dell +Dell's +Della +Della's +Delmar +Delmar's +Delmarva +Delmarva's +Delmer +Delmer's +Delmonico +Delores +Delores's +Deloris +Deloris's +Delphi +Delphi's +Delphic +Delphinus +Delphinus's +Delta +Dem +Demavend +Demavend's +Demerol +Demerol's +Demeter +Demeter's +Demetrius +Demetrius's +Deming +Deming's +Democrat +Democrat's +Democratic +Democrats +Democritus +Demosthenes +Demosthenes's +Dempsey +Dena +Dena's +Deneb +Denebola +Denebola's +Deng +Deng's +Denis +Denise +Denise's +Denmark +Denmark's +Dennis +Denny +Denny's +Denver +Denver's +Deon +Deon's +Depp +Depp's +Derby +Derek +Derek's +Derick +Derick's +Derrick +Derrick's +Derrida +Derrida's +Descartes +Descartes's +Desdemona +Desdemona's +Desiree +Desiree's +Desmond +Desmond's +Detroit +Detroit's +Deuteronomy +Deuteronomy's +Devanagari +Devanagari's +Devi +Devi's +Devin +Devin's +Devon +Devon's +Devonian +Devonian's +Dewar +Dewar's +Dewayne +Dewayne's +Dewey +Dewey's +Dewitt +Dewitt's +Dexedrine +Dexedrine's +Dexter +Dhaka +Dhaka's +Dhaulagiri +Dhaulagiri's +Di +DiCaprio +DiCaprio's +DiMaggio +Diaghilev +Dial +Dial's +Diana +Diana's +Diane +Diane's +Diann +Diann's +Dianna +Dianna's +Dianne +Dianne's +Diaspora +Diaspora's +Diaz +Dick +Dickens +Dickerson +Dickerson's +Dickinson +Dickson +Dickson's +Dictaphone +Dictaphone's +Diderot +Dido +Dido's +Didrikson +Didrikson's +Diefenbaker +Diego +Diego's +Diem +Diem's +Diesel +Diesel's +Dietrich +Dijkstra +Dijkstra's +Dijon +Dilbert +Dilbert's +Dillard +Dillard's +Dillinger +Dillinger's +Dillon +Dillon's +Dina +Dina's +Dinah +Dino +Dino's +Diocletian +Diogenes +Dion +Dion's +Dionne +Dionne's +Dionysian +Dionysus +Dionysus's +Diophantine +Diophantine's +Dior +Dipper +Dipper's +Dirac +Dirichlet +Dirk +Dirk's +Dis +Dis's +Disney +Disneyland +Disraeli +Diwali +Diwali's +Dix +Dixie +Dixie's +Dixiecrat +Dixieland +Dixieland's +Dixielands +Dixon +Dixon's +Djakarta +Djakarta's +Djibouti +Djibouti's +Dmitri +Dmitri's +Dnepropetrovsk +Dnieper +Dniester +Dobbin +Dobbin's +Doberman +Doberman's +Dobro +Doctor +Doctorow +Doctorow's +Dodge +Dodge's +Dodgson +Dodgson's +Dodoma +Dodoma's +Dodson +Dodson's +Doe +Doha +Doha's +Dolby +Dole +Dole's +Dollie +Dollie's +Dolly +Dolly's +Dolores +Dolores's +Domesday +Domesday's +Domingo +Domingo's +Dominguez +Dominguez's +Dominic +Dominica +Dominica's +Dominican +Dominican's +Dominicans +Dominick +Dominick's +Dominique +Dominique's +Domitian +Don +Don's +Dona +Donahue +Donahue's +Donald +Donald's +Donaldson +Donaldson's +Donatello +Donetsk +Donetsk's +Donizetti +Donizetti's +Donn +Donn's +Donna +Donne +Donne's +Donnell +Donnell's +Donner +Donner's +Donnie +Donnie's +Donny +Donny's +Donovan +Donovan's +Dooley +Dooley's +Doolittle +Doonesbury +Doonesbury's +Doppler +Dora +Dora's +Dorcas +Doreen +Doreen's +Dorian +Dorian's +Doric +Doric's +Doris +Doris's +Doritos +Doritos's +Dorothea +Dorothea's +Dorothy +Dorothy's +Dorset +Dorsey +Dorsey's +Dorthy +Dorthy's +Dortmund +Dostoevsky +Dostoevsky's +Dot +Dot's +Dotson +Dotson's +Douala +Douala's +Douay +Douay's +Doubleday +Doubleday's +Doug +Doug's +Douglas +Douglass +Douro +Dover +Dover's +Dow +Downs +Downy +Downy's +Doyle +Dr +Draco +Draco's +Draconian +Dracula +Dracula's +Drake +Dramamine +Dramamine's +Drambuie +Drano +Drano's +Dravidian +Dravidian's +Dreiser +Dresden +Dresden's +Drew +Drew's +Dreyfus +Dreyfus's +Dristan +Dristan's +Drudge +Drudge's +Druid +Dryden +Dschubba +Dschubba's +DuPont +Duane +Duane's +Dubai +Dubcek +Dubcek's +Dubhe +Dubhe's +Dublin +Dublin's +Dubrovnik +Dubrovnik's +Duchamp +Dudley +Duffy +Duffy's +Duisburg +Duke +Duke's +Dulles +Duluth +Dumas +Dumbledore +Dumbledore's +Dumbo +Dumbo's +Dumpster +Dunant +Dunbar +Duncan +Dunedin +Dunkirk +Dunkirk's +Dunlap +Dunlap's +Dunn +Dunn's +Dunne +Dunne's +Duracell +Duracell's +Duran +Duran's +Durant +Durante +Durante's +Durban +Durex +Durex's +Durham +Durham's +Durhams +Durkheim +Duroc +Durocher +Durocher's +Duse +Duse's +Dushanbe +Dushanbe's +Dustbuster +Dustbuster's +Dustin +Dustin's +Dusty +Dusty's +Dutch +Dutch's +Dutchman +Dutchman's +Dutchmen +Duvalier +Dvina +Dwayne +Dwayne's +Dwight +Dwight's +Dyer +Dyer's +Dylan +Dylan's +Dyson +Dyson's +Dzerzhinsky +Dzerzhinsky's +Dzungaria +E +E's +ECG's +ECMAScript +ECMAScript's +EEC's +EEG's +EKG's +EPA's +ESP's +EST's +Eakins +Earhart +Earl +Earl's +Earle +Earle's +Earlene +Earlene's +Earline +Earline's +Earnest +Earnest's +Earnestine +Earnestine's +Earnhardt +Earnhardt's +Earp +Earp's +Earth +Earth's +East +East's +Easter +Easter's +Eastern +Easterner +Easters +Eastman +Easts +Eastwood +Eastwood's +Eaton +Eaton's +Eben +Eben's +Ebeneezer +Ebeneezer's +Ebert +Ebola +Ebonics +Ebonics's +Ebony +Ebony's +Ebro +Ebro's +Ecclesiastes +Eco +Eco's +Ecuador +Ecuador's +Ecuadoran +Ecuadoran's +Ecuadorans +Ecuadorian +Ecuadorian's +Ecuadorians +Ed +Ed's +Edam +Edam's +Edams +Edda +Eddie +Eddie's +Eddington +Eddington's +Eddy +Eddy's +Eden +Eden's +Edens +Edgar +Edgardo +Edgardo's +Edinburgh +Edinburgh's +Edison +Edison's +Edith +Edith's +Edmond +Edmond's +Edmonton +Edmonton's +Edmund +Edmund's +Edna +Edna's +Edsel +Eduardo +Eduardo's +Edward +Edward's +Edwardian +Edwardian's +Edwardo +Edwardo's +Edwards +Edwin +Edwina +Edwina's +Eeyore +Eeyore's +Effie +Effie's +Efrain +Efrain's +Efren +Efren's +Eggo +Eggo's +Egypt +Egypt's +Egyptian +Egyptian's +Egyptians +Egyptology +Egyptology's +Ehrenberg +Ehrenberg's +Ehrlich +Eichmann +Eiffel +Eileen +Eileen's +Einstein +Einstein's +Einsteins +Eire +Eire's +Eisenhower +Eisenhower's +Eisenstein +Eisner +Eisner's +Elaine +Elam +Elanor +Elanor's +Elastoplast +Elastoplast's +Elba +Elbe +Elbe's +Elbert +Elbrus +Eldon +Eldon's +Eleanor +Eleanor's +Eleazar +Eleazar's +Electra +Electra's +Elena +Elena's +Elgar +Eli +Elias +Elijah +Elijah's +Elinor +Elinor's +Eliot +Elisa +Elisa's +Elisabeth +Elise +Elise's +Eliseo +Eliseo's +Elisha +Eliza +Eliza's +Elizabeth +Elizabeth's +Elizabethan +Elizabethan's +Elizabethans +Ella +Ella's +Ellen +Ellen's +Ellesmere +Ellesmere's +Ellie +Ellie's +Ellington +Elliot +Elliot's +Elliott +Elliott's +Ellis +Ellison +Ellison's +Elma +Elma's +Elmer +Elmer's +Elmo +Elmo's +Elnath +Elnath's +Elnora +Elnora's +Elohim +Eloise +Eloise's +Eloy +Eloy's +Elroy +Elroy's +Elsa +Elsa's +Elsie +Elsie's +Elsinore +Eltanin +Eltanin's +Elton +Elton's +Elul +Elul's +Elva +Elva's +Elvia +Elvia's +Elvin +Elvin's +Elvira +Elvira's +Elvis +Elvis's +Elway +Elway's +Elwood +Elwood's +Elysian +Elysium +Elysium's +Elysiums +Emacs +Emacs's +Emanuel +Emanuel's +Emerson +Emery +Emery's +Emil +Emil's +Emile +Emile's +Emilia +Emilia's +Emilio +Emilio's +Emily +Emily's +Eminem +Eminem's +Emma +Emma's +Emmanuel +Emmett +Emmett's +Emmy +Emory +Emory's +Encarta +Encarta's +Endymion +Eng +Engels +Engels's +England +England's +English +English's +Englisher +Englishes +Englishman +Englishman's +Englishmen +Englishwoman +Englishwoman's +Englishwomen +Enid +Enif +Enif's +Eniwetok +Eniwetok's +Enkidu +Enkidu's +Enoch +Enos +Enrico +Enrico's +Enrique +Enrique's +Enron +Enron's +Enterprise +Enterprise's +Eocene +Eocene's +Epcot +Epcot's +Ephesian +Ephesus +Ephraim +Epictetus +Epicurean +Epicurus +Epicurus's +Epimethius +Epimethius's +Epiphanies +Epiphany +Epiphany's +Episcopal +Episcopalian +Episcopalian's +Episcopalians +Epsom +Epson +Epson's +Epstein +Equuleus +Er +Er's +Erasmus +Erasmus's +Erato +Erato's +Eratosthenes +Eratosthenes's +Erebus +Erebus's +Erector +Erewhon +Erewhon's +Erhard +Eric +Eric's +Erica +Erica's +Erich +Erich's +Erick +Erick's +Ericka +Ericka's +Erickson +Erickson's +Ericson +Ericsson +Eridanus +Erie +Erik +Erik's +Erika +Erika's +Erin +Eris +Eris's +Eritrea +Eritrea's +Erlenmeyer +Erlenmeyer's +Erma +Erma's +Erna +Erna's +Ernest +Ernest's +Ernestine +Ernestine's +Ernesto +Ernesto's +Ernie +Ernie's +Ernst +Eros +Eros's +Eroses +Errol +Errol's +Erse +Erse's +ErvIn +ErvIn's +Erwin +Erwin's +Es +Esau +Esau's +Escher +Escher's +Escherichia +Escherichia's +Eskimo +Eskimo's +Eskimos +Esmeralda +Esmeralda's +Esperanto +Esperanto's +Esperanza +Esperanza's +Espinoza +Espinoza's +Esq +Esq's +Essen +Essen's +Essene +Essequibo +Essex +Essie +Essie's +Establishment +Esteban +Esteban's +Estela +Estela's +Estella +Estella's +Estelle +Estelle's +Ester +Ester's +Estes +Esther +Esther's +Estonia +Estonia's +Estonian +Estonian's +Estonians +Estrada +Estrada's +Ethan +Ethan's +Ethel +Ethel's +Ethelred +Ethelred's +Ethernet +Ethiopia +Ethiopia's +Ethiopian +Ethiopian's +Ethiopians +Etna +Etna's +Eton +Etruria +Etruscan +Etta +Etta's +Eu +Eu's +Eucharist +Eucharist's +Eucharistic +Eucharists +Euclid +Euclid's +Euclidean +Eugene +Eugenia +Eugenia's +Eugenie +Eugenie's +Eugenio +Eugenio's +Eula +Eula's +Euler +Eumenides +Eumenides's +Eunice +Eunice's +Euphrates +Euphrates's +Eurasia +Eurasia's +Eurasian +Eurasian's +Eurasians +Euripides +Eurodollar +Eurodollar's +Eurodollars +Europa +Europa's +Europe +Europe's +European +European's +Europeans +Eurydice +Eurydice's +Eustachian +Eustachian's +Euterpe +Euterpe's +Eva +Eva's +Evan +Evan's +Evangelina +Evangelina's +Evangeline +Evangeline's +Evans +Evansville +Eve +Eve's +Evelyn +Evenki +Evenki's +EverReady +EverReady's +Everest +Everest's +Everett +Everett's +Everette +Everette's +Everglades +Everglades's +Evert +Evert's +Evian +Evian's +Evita +Evita's +Ewing +Ewing's +Excalibur +Excalibur's +Excedrin +Excedrin's +Excellencies +Excellency +Excellency's +Exercycle +Exocet +Exocet's +Exodus +Exodus's +Exxon +Exxon's +Eyck +Eyck's +Eyre +Eysenck +Eysenck's +Ezekiel +Ezra +F +F's +FBI's +FDIC's +FDR +FDR's +FHA's +FICA's +FM's +FNMA +FNMA's +FORTRAN's +Fabian +Fabian's +Facebook +Facebook's +Faeroe +Faeroe's +Fafnir +Fagin +Fagin's +Fahd +Fahd's +Fahrenheit +Fairbanks +Faisal +Faisal's +Faisalabad +Faith +Falasha +Falkland +Falkland's +Falklands +Fallopian +Fallopian's +Falstaff +Falstaff's +Falwell +Falwell's +Fannie +Fannie's +Fanny +Fanny's +Faraday +Faraday's +Fargo +Fargo's +Farley +Farley's +Farmer +Farragut +Farrakhan +Farrakhan's +Farrell +Farrell's +Farrow +Farrow's +Farsi +Farsi's +Fassbinder +Fassbinder's +Fatah +Fatah's +Fates +Father +Father's +Fathers +Fatima +Fatimid +Faulkner +Faulkner's +Faulknerian +Fauntleroy +Fauntleroy's +Faust +Faust's +Faustian +Faustino +Faustino's +Faustus +Faustus's +Fawkes +Fay +Fay's +Faye +Faye's +Fe +Fe's +Feb +Feb's +Februaries +February +February's +Fed +Fed's +FedEx +Federalist +Federalist's +Federico +Federico's +Feds +Felecia +Felecia's +Felice +Felice's +Felicia +Felicia's +Felicity +Felicity's +Felipe +Felipe's +Felix +Felix's +Fellini +Fenian +Ferber +Ferber's +Ferdinand +Fergus +Ferguson +Ferguson's +Ferlinghetti +Ferlinghetti's +Fermat +Fermat's +Fermi +Fern +Fern's +Fernandez +Fernandez's +Fernando +Fernando's +Ferrari +Ferrari's +Ferraro +Ferraro's +Ferrell +Ferrell's +Ferris +Feynman +Feynman's +Fez +Fiat +Fiat's +Fiberglas +Fibonacci +Fibonacci's +Fichte +Fidel +Fidel's +Fido +Fido's +Fielding +Fields +Figaro +Figaro's +Figueroa +Figueroa's +Fiji +Fiji's +Fijian +Fijian's +Fijians +Filipino +Filipino's +Filipinos +Fillmore +Fillmore's +Filofax +Finch +Finch's +Finland +Finland's +Finley +Finley's +Finn +Finn's +Finnbogadottir +Finnbogadottir's +Finnegan +Finnegan's +Finnish +Finnish's +Finns +Fiona +Fiona's +Firefox +Firefox's +Firestone +Firestone's +Fischer +Fisher +Fisk +Fisk's +Fitch +Fitch's +Fitzgerald +Fitzpatrick +Fitzpatrick's +Fitzroy +Fitzroy's +Fizeau +Fizeau's +Fla +Flanagan +Flanagan's +Flanders +Flanders's +Flatt +Flatt's +Flaubert +Fleischer +Fleischer's +Fleming +Flemish +Flemish's +Fletcher +Flint +Flintstones +Flo +Flo's +Flora +Florence +Florence's +Florentine +Flores +Florida +Florida's +Floridan +Florine +Florine's +Florsheim +Florsheim's +Flory +Flory's +Flossie +Flossie's +Flowers +Floyd +Flynn +Flynn's +Fm +Fm's +Foch +Fokker +Foley +Folgers +Folsom +Fomalhaut +Fonda +Foosball +Foosball's +Forbes +Ford +Ford's +Foreman +Foreman's +Forest +Forest's +Forester +Formica +Formica's +Formicas +Formosa +Formosa's +Formosan +Formosan's +Forrest +Forster +Fortaleza +Fosse +Fosse's +Foster +Fotomat +Fotomat's +Foucault +Fourier +Fourneyron +Fourneyron's +Fowler +Fox +Fox's +Fr +Fr's +Fragonard +Fran +Fran's +France +France's +Frances +Francesca +Francine +Francine's +Francis +Francisca +Francisca's +Franciscan +Franciscan's +Francisco +Francisco's +Franck +Franco +Francois +Francois's +Francoise +Francoise's +Franglais +Frank +Frank's +Frankel +Frankel's +Frankenstein +Frankfort +Frankfort's +Frankfurt +Frankfurt's +Frankfurter +Frankie +Frankie's +Franklin +Franks +Franny +Franny's +Franz +Franz's +Fraser +Frazier +Frazier's +Fred +Fred's +Freda +Freda's +Freddie +Freddie's +Freddy +Freddy's +Frederic +Frederic's +Frederick +Fredericton +Fredericton's +Fredric +Fredric's +Fredrick +Fredrick's +Freeman +Freeman's +Freemason +Freemason's +Freemasonries +Freemasonry +Freemasonry's +Freemasons +Freetown +Freetown's +Freida +Freida's +Fremont +French +French's +Frenches +Frenchman +Frenchman's +Frenchmen +Frenchwoman +Frenchwoman's +Frenchwomen +Freon +Fresnel +Fresnel's +Fresno +Fresno's +Freud +Freud's +Freudian +Frey +Frey's +Freya +Freya's +Fri +Fri's +Friday +Friday's +Fridays +Frieda +Frieda's +Friedan +Friedman +Frigga +Frigga's +Frigidaire +Frisbee +Frisco +Frisian +Frisian's +Frito +Frito's +Fritz +Fritz's +Frobisher +Froissart +Fromm +Fronde +Frontenac +Frontenac's +Frost +Frost's +Frostbelt +Fry +Frye +Frye's +Fuchs +Fuchs's +Fuentes +Fugger +Fuji +Fuji's +Fujitsu +Fujitsu's +Fujiwara +Fujiwara's +Fukuoka +Fukuoka's +Fulani +Fulani's +Fulbright +Fuller +Fulton +Fulton's +Funafuti +Fundy +Fushun +Fuzhou +Fuzhou's +Fuzzbuster +G +G's +GE +GE's +GHQ's +GMT's +GNP's +GOP's +GP's +GTE +GTE's +Ga +Ga's +Gable +Gabon +Gabon's +Gaborone +Gaborone's +Gabriel +Gabriela +Gabriela's +Gabrielle +Gabrielle's +Gacrux +Gacrux's +Gadsden +Gadsden's +Gaea +Gaea's +Gael +Gael's +Gaelic +Gaelic's +Gagarin +Gage +Gail +Gail's +Gaiman +Gaiman's +Gaines +Gaines's +Gainsborough +Gainsborough's +Galahad +Galahad's +Galahads +Galapagos +Galapagos's +Galatea +Galatia +Galatians +Galbraith +Gale +Gale's +Galen +Galibi +Galilean +Galilean's +Galilee +Galileo +Galileo's +Gall +Gall's +Gallagher +Gallagher's +Gallegos +Gallegos's +Gallic +Gallo +Gallo's +Galloway +Galloway's +Gallup +Galois +Galois's +Galsworthy +Galvani +Galveston +Galveston's +Gamay +Gambia +Gambia's +Gamble +Gamble's +Gamow +Gamow's +Gandhi +Gandhi's +Gandhian +Ganesha +Ganesha's +Ganges +Ganges's +Gangtok +Gangtok's +Gantry +Gantry's +Ganymede +Ganymede's +Gap +Gap's +Garbo +Garcia +Garcia's +Gardner +Gardner's +Gareth +Gareth's +Garfield +Garfield's +Garfunkel +Garfunkel's +Gargantua +Garibaldi +Garibaldi's +Garland +Garner +Garrett +Garrett's +Garrick +Garrison +Garry +Garry's +Garth +Garth's +Garvey +Gary +Garza +Garza's +Gascony +Gascony's +Gasser +Gates +Gatling +Gatling's +Gatorade +Gatorade's +Gatsby +Gatsby's +Gatun +Gatun's +Gauguin +Gauguin's +Gaul +Gaul's +Gauls +Gauss +Gauss's +Gaussian +Gautama +Gautama's +Gautier +Gavin +Gavin's +Gawain +Gawain's +Gay +Gayle +Gayle's +Gaza +Gaziantep +Gd +Gd's +Gdansk +Gdansk's +Ge +Ge's +Geffen +Geffen's +Gehenna +Gehenna's +Gehrig +Geiger +Geiger's +Gelbvieh +Gelbvieh's +Geller +Geller's +Gemini +Gemini's +Geminis +Gen +Gena +Gena's +Genaro +Genaro's +Gene +Gene's +Genesis +Genesis's +Genet +Genet's +Geneva +Geneva's +Genevieve +Genevieve's +Genghis +Genghis's +Genoa +Genoa's +Genoas +Gentoo +Gentry +Gentry's +Geo +Geo's +Geoffrey +Geoffrey's +George +George's +Georges +Georgetown +Georgetown's +Georgette +Georgia +Georgia's +Georgian +Georgian's +Georgians +Georgina +Georgina's +Ger +Gerald +Gerald's +Geraldine +Geraldine's +Gerard +Gerard's +Gerardo +Gerardo's +Gerber +Gerber's +Gere +Gere's +Geritol +Geritol's +German +German's +Germanic +Germanic's +Germans +Germany +Germany's +Geronimo +Gerry +Gerry's +Gershwin +Gertrude +Gertrude's +Gestapo +Gestapo's +Gestapos +Gethsemane +Getty +Gettysburg +Gettysburg's +Ghana +Ghana's +Ghanaian +Ghanian +Ghanian's +Ghanians +Ghats +Ghazvanid +Ghazvanid's +Ghent +Ghibelline +Giacometti +Giannini +Giannini's +Giauque +Giauque's +Gibbon +Gibbs +Gibraltar +Gibraltar's +Gibraltars +Gibson +Gide +Gideon +Gielgud +Gienah +Gienah's +Gil +Gil's +Gila +Gila's +Gilbert +Gilbert's +Gilberto +Gilberto's +Gilchrist +Gilchrist's +Gilda +Gilda's +Gilead +Giles +Gilgamesh +Gill +Gillespie +Gillette +Gillette's +Gilliam +Gilliam's +Gillian +Gillian's +Gilligan +Gilligan's +Gilmore +Gilmore's +Gina +Gina's +Ginger +Ginger's +Gingrich +Gingrich's +Ginny +Ginny's +Gino +Gino's +Ginsberg +Ginsburg +Ginsburg's +Ginsu +Ginsu's +Giorgione +Giotto +Giovanni +Giovanni's +Gipsies +Gipsy +Gipsy's +Giraudoux +Giselle +Giselle's +Gish +Giuliani +Giuliani's +Giuseppe +Giuseppe's +Giza +Giza's +Gladstone +Gladstone's +Gladstones +Gladys +Glaser +Glasgow +Glasgow's +Glass +Glass's +Glastonbury +Glastonbury's +Glaswegian +Glaswegian's +Glaxo +Glaxo's +Gleason +Gleason's +Glen +Glen's +Glenda +Glenda's +Glendale +Glenlivet +Glenlivet's +Glenn +Glenn's +Glenna +Glenna's +Gloria +Gloucester +Glover +Glover's +Gnostic +Gnosticism +Gnosticism's +Goa +Gobi +Gobi's +God +God's +Goddard +Godiva +Godiva's +Godot +Godot's +Godthaab +Godunov +Godzilla +Godzilla's +Goebbels +Goering +Goethals +Goethals's +Goethe +Goethe's +Goff +Goff's +Gog +Gogol +Goiania +Goiania's +Golan +Golan's +Golconda +Golda +Golda's +Goldberg +Goldberg's +Golden +Golden's +Goldie +Goldie's +Goldilocks +Goldilocks's +Golding +Goldman +Goldman's +Goldsmith +Goldwater +Goldwater's +Goldwyn +Golgi +Golgotha +Golgotha's +Goliath +Gomez +Gomez's +Gomorrah +Gomorrah's +Gompers +Gomulka +Gondwanaland +Gondwanaland's +Gonzales +Gonzalez +Gonzalez's +Gonzalo +Gonzalo's +Good +Good's +Goodall +Goodall's +Goodman +Goodrich +Goodrich's +Goodwill +Goodwill's +Goodwin +Goodwin's +Goodyear +Google +Google's +Goolagong +Goolagong's +Gopher +Gorbachev +Gordian +Gordian's +Gordimer +Gordon +Gore +Goren +Goren's +Gorey +Gorey's +Gorgas +Gorgonzola +Gorky +Gorky's +Gospel +Gospel's +Gospels +Goth +Goth's +Gotham +Gothic +Gothic's +Gothics +Goths +Gouda +Gouda's +Goudas +Gould +Gounod +Goya +Grable +Grable's +Gracchus +Grace +Graceland +Graceland's +Gracie +Gracie's +Graciela +Graciela's +Grady +Grady's +Graffias +Graffias's +Grafton +Grafton's +Graham +Grahame +Grail +Grammy +Grampians +Granada +Granada's +Grant +Grant's +Grass +Graves +Gray +Grecian +Greece +Greece's +Greek +Greek's +Greeks +Greeley +Green +Green's +Greene +Greenland +Greenland's +Greenpeace +Greenpeace's +Greensboro +Greensboro's +Greensleeves +Greensleeves's +Greenspan +Greenspan's +Greenwich +Greenwich's +Greer +Greer's +Greg +Greg's +Gregg +Gregg's +Gregorian +Gregorio +Gregorio's +Gregory +Gregory's +Grenada +Grenada's +Grenadines +Grendel +Grenoble +Gresham +Greta +Greta's +Gretchen +Gretchen's +Gretel +Gretel's +Gretzky +Gretzky's +Grey +Grieg +Griffin +Griffin's +Griffith +Grimes +Grimm +Grimm's +Grinch +Grinch's +Gris +Gromyko +Gropius +Gropius's +Gross +Grosz +Grotius +Grover +Grover's +Grumman +Grumman's +Grundy +Grus +Grus's +Gruyeres +Guadalajara +Guadalajara's +Guadalcanal +Guadalcanal's +Guadalquivir +Guadalupe +Guadalupe's +Guadeloupe +Guadeloupe's +Guallatiri +Guallatiri's +Guam +Guam's +Guangzhou +Guangzhou's +Guantanamo +Guantanamo's +Guarani +Guarani's +Guarnieri +Guarnieri's +Guatemala +Guatemala's +Guatemalan +Guatemalan's +Guatemalans +Guayaquil +Guayaquil's +Gucci +Gucci's +Guelph +Guernsey +Guernsey's +Guernseys +Guerra +Guerra's +Guerrero +Guevara +Guggenheim +Guiana +Guiana's +Guillermo +Guillermo's +Guinea +Guinea's +Guinean +Guinean's +Guineans +Guinevere +Guinevere's +Guinness +Guinness's +Guiyang +Guizot +Gujarat +Gujarat's +Gujarati +Gujarati's +Gujranwala +Gullah +Gulliver +Gulliver's +Gumbel +Gumbel's +Gunther +Guofeng +Guofeng's +Gupta +Gupta's +Gurkha +Gurkha's +Gus +Gus's +Gustav +Gustav's +Gustavo +Gustavo's +Gustavus +Gustavus's +Gutenberg +Guthrie +Gutierrez +Gutierrez's +Guy +Guy's +Guyana +Guyana's +Guyanese +Guyanese's +Guzman +Guzman's +Gwalior +Gwen +Gwen's +Gwendoline +Gwendoline's +Gwendolyn +Gwendolyn's +Gwyn +Gwyn's +Gypsies +Gypsy +Gypsy's +H +H's +HF's +HIV's +HMO's +HP's +HQ's +HSBC +HSBC's +HTML's +HUD's +Haas +Haas's +Habakkuk +Haber +Haber's +Hadar +Hadar's +Hades +Hades's +Hadrian +Hafiz +Hafiz's +Hagar +Haggai +Hagiographa +Hagiographa's +Hague +Hahn +Haifa +Haifa's +Haiphong +Haiti +Haiti's +Haitian +Haitian's +Haitians +Hakka +Hakka's +Hakluyt +Hal +Hal's +Haldane +Hale +Haleakala +Haley +Haley's +Halifax +Halifax's +Hall +Halley +Halliburton +Halliburton's +Hallie +Hallie's +Hallmark +Hallmark's +Hallowe'en +Halloween +Halloween's +Halloweens +Hallstatt +Halon +Halon's +Hals +Halsey +Ham +Ham's +Haman +Haman's +Hamburg +Hamburg's +Hamburgs +Hamhung +Hamilcar +Hamilcar's +Hamill +Hamill's +Hamilton +Hamilton's +Hamiltonian +Hamitic +Hamitic's +Hamlet +Hamlin +Hamlin's +Hammarskjold +Hammerstein +Hammett +Hammett's +Hammond +Hammurabi +Hampshire +Hampshire's +Hampton +Hamsun +Han +Hancock +Handel +Handel's +Handy +Haney +Haney's +Hangul +Hangul's +Hangzhou +Hangzhou's +Hank +Hank's +Hanna +Hanna's +Hannah +Hannibal +Hannibal's +Hanoi +Hanoi's +Hanover +Hanover's +Hanoverian +Hanoverian's +Hans +Hansel +Hansel's +Hansen +Hansen's +Hanson +Hanson's +Hanukkah +Hanukkah's +Hanukkahs +Hapsburg +Hapsburg's +Harare +Harare's +Harbin +Hardin +Hardin's +Harding +Harding's +Hardy +Hargreaves +Harlan +Harlan's +Harlem +Harlem's +Harlequin +Harley +Harlow +Harmon +Harmon's +Harold +Harold's +Harper +Harper's +Harrell +Harrell's +Harriet +Harriet's +Harriett +Harriett's +Harrington +Harrington's +Harris +Harrisburg +Harrisburg's +Harrison +Harrison's +Harrods +Harry +Harry's +Hart +Harte +Hartford +Hartford's +Hartline +Hartline's +Hartman +Hartman's +Harvard +Harvard's +Harvey +Hasbro +Hasbro's +Hasidim +Hastings +Hastings's +Hatfield +Hathaway +Hatsheput +Hatsheput's +Hatteras +Hattie +Hattie's +Hauptmann +Hausa +Hausa's +Hausdorff +Hausdorff's +Havana +Havana's +Havanas +Havarti +Havel +Havoline +Havoline's +Hawaii +Hawaii's +Hawaiian +Hawaiian's +Hawaiians +Hawking +Hawkins +Hawthorne +Hay +Hay's +Hayden +Hayden's +Haydn +Haydn's +Hayes +Hayes's +Haynes +Hays +Haywood +Haywood's +Hayworth +Hayworth's +Hazel +Hazel's +Hazlitt +He +He's +Head +Head's +Hearst +Heath +Heather +Heather's +Heaviside +Hebe +Hebert +Hebert's +Hebraic +Hebrew +Hebrew's +Hebrews +Hebrides +Hebrides's +Hecate +Hector +Hector's +Hecuba +Heep +Heep's +Hefner +Hefner's +Hegel +Hegel's +Hegelian +Hegira +Heidegger +Heidelberg +Heidi +Heidi's +Heifetz +Heimlich +Heimlich's +Heine +Heineken +Heineken's +Heinlein +Heinlein's +Heinrich +Heinrich's +Heinz +Heisenberg +Heisman +Heisman's +Helen +Helen's +Helena +Helena's +Helene +Helene's +Helga +Helga's +Helicon +Heliopolis +Helios +Helios's +Hell +Hell's +Hellenic +Hellenic's +Hellenism +Hellenism's +Hellenisms +Hellenistic +Hellenization +Hellenize +Heller +Hellespont +Hellespont's +Hellman +Hells +Helmholtz +Helmholtz's +Helsinki +Helsinki's +Helvetius +Helvetius's +Hemingway +Hemingway's +Hench +Hench's +Henderson +Henderson's +Hendricks +Hendrix +Henley +Hennessy +Hennessy's +Henri +Henri's +Henrietta +Henrietta's +Henry +Henry's +Hensley +Hensley's +Henson +Henson's +Hepburn +Hephaestus +Hephaestus's +Hepplewhite +Hera +Hera's +Heraclitus +Herbart +Herbert +Herculaneum +Herculaneum's +Hercules +Hercules's +Herder +Hereford +Hereford's +Herero +Heriberto +Heriberto's +Herman +Herman's +Hermaphroditus +Hermes +Hermes's +Herminia +Herminia's +Hermitage +Hermite +Hermite's +Hermosillo +Hermosillo's +Hernandez +Hernandez's +Herod +Herod's +Herodotus +Herodotus's +Herrera +Herrera's +Herrick +Herring +Herring's +Herschel +Hersey +Hersey's +Hershel +Hershel's +Hershey +Hershey's +Hertz +Hertz's +Hertzsprung +Hertzsprung's +Herzegovina +Herzl +Heshvan +Heshvan's +Hesiod +Hesperus +Hess +Hesse +Hessian +Hester +Hester's +Heston +Heston's +Hettie +Hettie's +Hewitt +Hewitt's +Hewlett +Hewlett's +Heyerdahl +Heywood +Hezbollah +Hezbollah's +Hezekiah +Hf +Hf's +Hg +Hg's +Hialeah +Hiawatha +Hiawatha's +Hibernia +Hibernia's +Hickman +Hickman's +Hickok +Hicks +Hicks's +Hieronymus +Higgins +Higgins's +Highlander +Highlander's +Highlanders +Highness +Highness's +Hilario +Hilario's +Hilary +Hilary's +Hilbert +Hilda +Hilda's +Hildebrand +Hilfiger +Hilfiger's +Hill +Hillary +Hillel +Hilton +Himalaya +Himalaya's +Himalayas +Himmler +Hinayana +Hinayana's +Hindemith +Hindenburg +Hindi +Hindu +Hindu's +Hinduism +Hinduism's +Hinduisms +Hindus +Hindustan +Hindustan's +Hindustani +Hindustani's +Hines +Hinton +Hinton's +Hipparchus +Hippocrates +Hippocrates's +Hippocratic +Hiram +Hirobumi +Hirobumi's +Hirohito +Hiroshima +Hiroshima's +Hispanic +Hispanic's +Hispanics +Hispaniola +Hispaniola's +Hiss +Hiss's +Hitachi +Hitachi's +Hitchcock +Hitler +Hitler's +Hitlers +Hittite +Hittite's +Hmong +Ho +Ho's +Hobart +Hobart's +Hobbes +Hobbs +Hockney +Hockney's +Hodge +Hodge's +Hodges +Hodgkin +Hoff +Hoff's +Hoffa +Hoffa's +Hoffman +Hoffman's +Hofstadter +Hofstadter's +Hogan +Hogan's +Hogarth +Hogwarts +Hogwarts's +Hohenlohe +Hohenstaufen +Hohenzollern +Hohenzollern's +Hohhot +Hohhot's +Hohokam +Hokkaido +Hokkaido's +Hokusai +Holbein +Holcomb +Holcomb's +Holden +Holden's +Holder +Holder's +Holiday +Holland +Holland's +Hollands +Hollerith +Hollerith's +Holley +Holley's +Hollie +Hollie's +Hollis +Holloway +Holloway's +Holly +Hollywood +Hollywood's +Holman +Holman's +Holmes +Holmes's +Holocaust +Holocene +Holocene's +Holst +Holstein +Holstein's +Holsteins +Holt +Homer +Homer's +Homeric +Hon +Honda +Honda's +Honduran +Honduran's +Hondurans +Honduras +Honduras's +Honecker +Honecker's +Honeywell +Honeywell's +Honiara +Honolulu +Honolulu's +Honshu +Honshu's +Hood +Hooke +Hooker +Hooper +Hooper's +Hoosier +Hoosier's +Hooters +Hooters's +Hoover +Hoover's +Hoovers +Hope +Hopewell +Hopewell's +Hopi +Hopi's +Hopkins +Hopper +Horace +Horacio +Horacio's +Horatio +Horatio's +Hormel +Hormel's +Hormuz +Horn +Hornblower +Hornblower's +Horne +Horne's +Horowitz +Horthy +Horton +Horton's +Horus +Horus's +Hosea +Hosea's +Hotpoint +Hotpoint's +Hottentot +Hottentot's +Houdini +House +Housman +Houston +Houston's +Houyhnhnm +Houyhnhnm's +Hovhaness +Hovhaness's +Howard +Howe +Howell +Howell's +Howells +Hoyle +Hrothgar +Hrothgar's +Huang +Hubbard +Hubble +Hubble's +Huber +Huber's +Hubert +Hubert's +Huck +Huck's +Hudson +Hudson's +Huerta +Huerta's +Huey +Huey's +Huff +Huff's +Huffman +Huffman's +Huggins +Hugh +Hugh's +Hughes +Hugo +Hugo's +Huguenot +Huguenot's +Huguenots +Hui +Huitzilopotchli +Huitzilopotchli's +Hull +Hull's +Humberto +Humberto's +Humboldt +Hume +Hummer +Hummer's +Humphrey +Humvee +Hun +Hun's +Hung +Hungarian +Hungarian's +Hungarians +Hungary +Hungary's +Huns +Hunspell +Hunspell's +Hunt +Hunter +Hunter's +Huntington +Huntington's +Huntley +Huntley's +Huntsville +Hurley +Hurley's +Huron +Hurst +Hurst's +Hus +Hussein +Husserl +Hussite +Huston +Hutchinson +Hutton +Hutton's +Hutu +Huxley +Huxley's +Huygens +Hyades +Hyades's +Hyde +Hyderabad +Hydra +Hydra's +Hymen +Hymen's +Hyperion +Hyperion's +Hyundai +Hyundai's +Hz +Hz's +I +I'd +I'll +I'm +I's +I've +IBM +IBM's +ICBM's +ID's +IMF's +ING +ING's +IOU's +IQ's +IRA's +IRS's +IV's +Iaccoca +Iaccoca's +Iago +Iago's +Ian +Ian's +Iapetus +Iapetus's +Ibadan +Iberia +Iberia's +Iberian +Ibiza +Iblis +Iblis's +Ibo +Ibsen +Ibsen's +Icahn +Icahn's +Icarus +Icarus's +Iceland +Iceland's +Icelander +Icelander's +Icelanders +Icelandic +Icelandic's +Ida +Idaho +Idaho's +Idahoan +Idahoan's +Idahoans +Idahoes +Idahos +Ieyasu +Ignacio +Ignacio's +Ignatius +Igor +Igor's +Iguassu +Iguassu's +Ijssel +Ijsselmeer +Ijsselmeer's +Ike +Ike's +Ikea +Ikea's +Ikhnaton +Ila +Ilene +Ilene's +Iliad +Iliad's +Ill +Illinois +Illinois's +Illuminati +Ilyushin +Ilyushin's +Imelda +Imelda's +Imhotep +Imhotep's +Imodium +Imodium's +Imogene +Imogene's +Imus +Imus's +In +In's +Ina +Ina's +Inc +Inca +Inca's +Incas +Inchon +Inchon's +Ind +Independence +Independence's +India +India's +Indian +Indian's +Indiana +Indiana's +Indianan +Indianan's +Indianans +Indianapolis +Indianapolis's +Indians +Indies +Indira +Indira's +Indochina +Indochina's +Indochinese +Indonesia +Indonesia's +Indonesian +Indonesian's +Indonesians +Indore +Indra +Indra's +Indus +Indus's +Indy +Indy's +Ines +Inez +Inez's +Inge +Inglewood +Ingram +Ingram's +Ingres +Ingrid +Ingrid's +Innocent +Innocent's +Inonu +Inonu's +Inquisition +Instamatic +Instamatic's +Intel +Intel's +Intelsat +Internationale +Internationale's +Internet +Interpol +Inuit +Inuit's +Inuits +Inuktitut +Inuktitut's +Invar +Invar's +Io +Io's +Ionesco +Ionian +Ionian's +Ionic +Ionic's +Ionics +Iowa +Iowa's +Iowan +Iowan's +Iowans +Iowas +Iphigenia +Iqaluit +Iqaluit's +Iqbal +Iquitos +Ir +Ir's +Ira +Ira's +Iran +Iran's +Iranian +Iranian's +Iranians +Iraq +Iraq's +Iraqi +Iraqi's +Iraqis +Ireland +Ireland's +Irene +Iris +Irish +Irish's +Irisher +Irishman +Irishman's +Irishmen +Irishwoman +Irishwoman's +Irishwomen +Irkutsk +Irma +Irma's +Iroquoian +Iroquoian's +Iroquois +Iroquois's +Irrawaddy +Irtish +Irtish's +Irvin +Irvin's +Irving +Irwin +Irwin's +Isaac +Isaac's +Isabel +Isabel's +Isabella +Isabelle +Isabelle's +Isaiah +Iscariot +Isfahan +Isherwood +Ishim +Ishim's +Ishmael +Ishtar +Ishtar's +Isiah +Isiah's +Isidro +Isidro's +Isis +Isis's +Islam +Islam's +Islamabad +Islamabad's +Islamic +Islamism +Islamism's +Islamist +Islams +Ismael +Ismael's +Ismail +Ismail's +Isolde +Ispell +Ispell's +Israel +Israel's +Israeli +Israeli's +Israelis +Israelite +Israels +Issac +Issac's +Issachar +Istanbul +Istanbul's +Isuzu +Isuzu's +It +Itaipu +Itaipu's +Italian +Italian's +Italians +Italy +Italy's +Itasca +Itasca's +Ithaca +Ithacan +Ito +Iva +Iva's +Ivan +Ivanhoe +Ivanhoe's +Ives +Ivory +Ivory's +Ivy +Iyar +Iyar's +Izaak +Izaak's +Izanagi +Izanagi's +Izanami +Izanami's +Izhevsk +Izmir +Izod +Izod's +Izvestia +Izvestia's +J +J's +JFK +JFK's +Jack +Jackie +Jackie's +Jacklyn +Jacklyn's +Jackson +Jackson's +Jacksonian +Jacksonville +Jacksonville's +Jacky +Jacky's +Jaclyn +Jaclyn's +Jacob +Jacob's +Jacobean +Jacobean's +Jacobi +Jacobin +Jacobin's +Jacobite +Jacobite's +Jacobs +Jacobson +Jacobson's +Jacquard +Jacqueline +Jacqueline's +Jacquelyn +Jacquelyn's +Jacques +Jacuzzi +Jagger +Jagger's +Jagiellon +Jagiellon's +Jaguar +Jaguar's +Jahangir +Jahangir's +Jaime +Jaime's +Jain +Jainism +Jainism's +Jaipur +Jakarta +Jakarta's +Jake +Jake's +Jamaal +Jamaal's +Jamaica +Jamaica's +Jamaican +Jamaican's +Jamaicans +Jamal +Jamal's +Jamar +Jamar's +Jame +Jame's +Jamel +Jamel's +James +James's +Jamestown +Jami +Jami's +Jamie +Jamie's +Jan +Jan's +Jana +Jana's +Janacek +Janacek's +Jane +Janell +Janell's +Janelle +Janelle's +Janet +Janette +Janette's +Janice +Janice's +Janie +Janie's +Janine +Janine's +Janis +Janis's +Janissary +Janissary's +Janjaweed +Janjaweed's +Janna +Janna's +Jannie +Jannie's +Jansen +Jansen's +Jansenist +Jansenist's +Januaries +January +January's +Janus +Janus's +Japan +Japan's +Japanese +Japanese's +Japaneses +Japura +Japura's +Jared +Jared's +Jarlsberg +Jarred +Jarred's +Jarrett +Jarrett's +Jarrod +Jarrod's +Jarvis +Jarvis's +Jasmine +Jasmine's +Jason +Jason's +Jasper +Jasper's +Jataka +Java +Java's +JavaScript +JavaScript's +Javanese +Javanese's +Javas +Javier +Javier's +Jaxartes +Jay +Jayapura +Jayapura's +Jayawardene +Jayawardene's +Jaycee +Jaycees +Jayne +Jayne's +Jayson +Jayson's +Jean +Jean's +Jeanette +Jeanette's +Jeanie +Jeanie's +Jeanine +Jeanine's +Jeanne +Jeanne's +Jeannette +Jeannette's +Jeannie +Jeannie's +Jeannine +Jeannine's +Jed +Jed's +Jedi +Jedi's +Jeep +Jeeves +Jeeves's +Jeff +Jeff's +Jefferey +Jefferey's +Jefferson +Jefferson's +Jeffersonian +Jeffery +Jeffery's +Jeffrey +Jeffry +Jeffry's +Jehoshaphat +Jehovah +Jehovah's +Jekyll +Jekyll's +Jenifer +Jenifer's +Jenkins +Jenna +Jenna's +Jenner +Jennie +Jennie's +Jennifer +Jennifer's +Jennings +Jennings's +Jenny +Jenny's +Jensen +Jensen's +Jephthah +Jerald +Jerald's +Jeremiah +Jeremiah's +Jeremiahs +Jeremy +Jeremy's +Jeri +Jeri's +Jericho +Jericho's +Jermaine +Jermaine's +Jeroboam +Jerold +Jerold's +Jerome +Jerri +Jerri's +Jerrod +Jerrod's +Jerrold +Jerrold's +Jerry +Jerry's +Jersey +Jersey's +Jerseys +Jerusalem +Jerusalem's +Jess +Jess's +Jesse +Jessica +Jessica's +Jessie +Jessie's +Jesuit +Jesuit's +Jesuits +Jesus +Jetway +Jew +Jew's +Jewel +Jewel's +Jewell +Jewell's +Jewish +Jewishness +Jewry +Jews +Jezebel +Jezebel's +Jezebels +Jidda +Jilin +Jill +Jillian +Jillian's +Jim +Jim's +Jimenez +Jimenez's +Jimmie +Jimmie's +Jimmy +Jimmy's +Jinan +Jinnah +Jinny +Jinny's +Jivaro +Jo +Jo's +Joan +Joann +Joann's +Joanna +Joanna's +Joanne +Joanne's +Joaquin +Joaquin's +Job +Job's +Jobs +Jocasta +Jocelyn +Jocelyn's +Jock +Jockey +Jodi +Jodi's +Jodie +Jodie's +Jody +Jody's +Joe +Joel +Joesph +Joesph's +Joey +Joey's +Jogjakarta +Jogjakarta's +Johann +Johann's +Johanna +Johanna's +Johannes +Johannesburg +Johannesburg's +John +John's +Johnathan +Johnathan's +Johnathon +Johnathon's +Johnie +Johnie's +Johnnie +Johnny +Johnny's +Johns +Johnson +Johnson's +Johnston +Johnston's +Jolene +Jolene's +Joliet +Jolson +Jon +Jon's +Jonah +Jonah's +Jonahs +Jonas +Jonathan +Jonathan's +Jonathon +Jonathon's +Jones +Joni +Joni's +Jonson +Joplin +Jordan +Jordan's +Jordanian +Jordanian's +Jordanians +Jorge +Jorge's +Jose +Jose's +Josef +Josef's +Josefa +Josefa's +Josefina +Josefina's +Joseph +Joseph's +Josephine +Josephs +Josephson +Josephson's +Josephus +Josh +Joshua +Joshua's +Josiah +Josie +Josie's +Josue +Josue's +Joule +Jove +Jove's +Jovian +Joy +Joy's +Joyce +Joycean +Joyner +Joyner's +Jr +Jr's +Juan +Juan's +Juana +Juana's +Juanita +Juanita's +Juarez +Juarez's +Jubal +Judah +Judaic +Judaism +Judaism's +Judaisms +Judas +Judas's +Judases +Judd +Judd's +Jude +Judea +Judith +Judith's +Judson +Judson's +Judy +Juggernaut +Juggernaut's +Jul +Jules +Julia +Julia's +Julian +Juliana +Julianne +Julianne's +Julie +Julie's +Julies +Juliet +Juliette +Juliette's +Julio +Julio's +Julius +Julius's +Julliard +Julliard's +July +July's +Jun +June +June's +Juneau +Juneau's +Junes +Jung +Jung's +Jungfrau +Jungian +Junior +Junior's +Juniors +Juno +Juno's +Jupiter +Jupiter's +Jurassic +Jurassic's +Jurua +Jurua's +Justice +Justice's +Justin +Justin's +Justine +Justine's +Justinian +Justinian's +Jutland +Jutland's +Juvenal +K +K's +KFC +KFC's +KKK's +Kaaba +Kabul +Kabul's +Kafka +Kafka's +Kafkaesque +Kagoshima +Kahlua +Kahlua's +Kaifeng +Kaiser +Kaiser's +Kaitlin +Kaitlin's +Kalahari +Kalahari's +Kalamazoo +Kalashnikov +Kalb +Kalb's +Kalevala +Kalgoorlie +Kali +Kali's +Kalmyk +Kama +Kama's +Kamchatka +Kamehameha +Kamehameha's +Kampala +Kampala's +Kampuchea +Kampuchea's +Kanchenjunga +Kanchenjunga's +Kandahar +Kandinsky +Kane +Kane's +Kannada +Kannada's +Kano +Kanpur +Kans +Kansan +Kansan's +Kansans +Kansas +Kant +Kant's +Kantian +Kaohsiung +Kaposi +Kaposi's +Kara +Kara's +Karachi +Karachi's +Karaganda +Karakorum +Karamazov +Karamazov's +Kareem +Kareem's +Karen +Karen's +Karenina +Karenina's +Kari +Kari's +Karin +Karin's +Karina +Karina's +Karl +Karl's +Karla +Karla's +Karloff +Karloff's +Karo +Karo's +Karol +Karol's +Karroo +Karroo's +Karyn +Karyn's +Kasai +Kasai's +Kasey +Kasey's +Kashmir +Kashmir's +Kasparov +Kasparov's +Kate +Kate's +Katelyn +Katelyn's +Katharine +Katharine's +Katherine +Katherine's +Katheryn +Katheryn's +Kathiawar +Kathie +Kathie's +Kathleen +Kathleen's +Kathrine +Kathrine's +Kathryn +Kathryn's +Kathy +Kathy's +Katie +Katie's +Katina +Katina's +Katmai +Katmandu +Katmandu's +Katowice +Katrina +Katrina's +Katy +Katy's +Kauai +Kauai's +Kaufman +Kaufman's +Kaunas +Kaunas's +Kaunda +Kaunda's +Kawabata +Kawabata's +Kawasaki +Kay +Kaye +Kaye's +Kayla +Kayla's +Kazakh +Kazakh's +Kazakhstan +Kazakhstan's +Kazan +Kazan's +Kazantzakis +Keaton +Keaton's +Keats +Keck +Keck's +Keenan +Keenan's +Keewatin +Keillor +Keillor's +Keisha +Keisha's +Keith +Keith's +Keller +Kelley +Kelley's +Kelli +Kelli's +Kellie +Kellie's +Kellogg +Kelly +Kelsey +Kelsey's +Kelvin +Kemerovo +Kemp +Kemp's +Kempis +Ken +Kendall +Kendall's +Kendra +Kendra's +Kendrick +Kendrick's +Kenmore +Kenmore's +Kennan +Kennan's +Kennedy +Kennedy's +Kenneth +Kenneth's +Kennith +Kennith's +Kenny +Kenny's +Kent +Kent's +Kenton +Kenton's +Kentuckian +Kentuckian's +Kentuckians +Kentucky +Kentucky's +Kenya +Kenya's +Kenyan +Kenyan's +Kenyans +Kenyatta +Kenyon +Kenyon's +Keogh +Keogh's +Keokuk +Keokuk's +Kepler +Kepler's +Kerensky +Kerensky's +Keri +Keri's +Kermit +Kermit's +Kern +Kerouac +Kerr +Kerri +Kerri's +Kerry +Kettering +Keven +Keven's +Kevin +Kevin's +Kevlar +Kevorkian +Kevorkian's +Kewpie +Key +Keynes +Keynes's +Keynesian +Khabarovsk +Khachaturian +Khalid +Khalid's +Khan +Khan's +Kharkov +Kharkov's +Khartoum +Khartoum's +Khayyam +Khayyam's +Khazar +Khazar's +Khmer +Khmer's +Khoikhoi +Khoikhoi's +Khoisan +Khoisan's +Khomeini +Khomeini's +Khorana +Khorana's +Khrushchev +Khufu +Khulna +Khulna's +Khwarizmi +Khwarizmi's +Khyber +Khyber's +Kickapoo +Kidd +Kidd's +Kiel +Kierkegaard +Kieth +Kieth's +Kiev +Kiev's +Kigali +Kigali's +Kikuyu +Kilauea +Kilimanjaro +Kilimanjaro's +Kilroy +Kilroy's +Kim +Kim's +Kimberley +Kimberly +Kimberly's +King +King's +Kingston +Kingston's +Kingstown +Kingstown's +Kinko's +Kinney +Kinney's +Kinsey +Kinshasa +Kinshasa's +Kiowa +Kiowa's +Kip +Kip's +Kipling +Kipling's +Kirby +Kirby's +Kirchhoff +Kirchner +Kirchner's +Kirghistan +Kirghistan's +Kirghiz +Kirghiz's +Kiribati +Kiribati's +Kirinyaga +Kirinyaga's +Kirk +Kirkland +Kirkland's +Kirkpatrick +Kirkpatrick's +Kirov +Kirsten +Kirsten's +Kisangani +Kishinev +Kishinev's +Kislev +Kislev's +Kissinger +Kit +Kit's +Kitakyushu +Kitakyushu's +Kitchener +Kitty +Kitty's +Kiwanis +Klan +Klan's +Klansman +Klansman's +Klaus +Klaus's +Klee +Kleenex +Kleenex's +Kleenexes +Klein +Klein's +Klimt +Kline +Klingon +Klingon's +Klondike +Klondike's +Klondikes +Kmart +Kmart's +Knapp +Knapp's +Knesset +Knesset's +Kngwarreye +Kngwarreye's +Knickerbocker +Knievel +Knievel's +Knight +Knopf +Knopf's +Knossos +Knowles +Knox +Knoxville +Knudsen +Knudsen's +Knuth +Knuth's +Kobe +Koch +Kochab +Kochab's +Kodachrome +Kodachrome's +Kodak +Kodaly +Kodaly's +Kodiak +Kodiak's +Koestler +Kohinoor +Kohl +Koizumi +Koizumi's +Kojak +Kojak's +Kolyma +Kommunizma +Kommunizma's +Kong +Kong's +Kongo +Kongo's +Konrad +Konrad's +Koontz +Koontz's +Koppel +Koppel's +Koran +Koran's +Korans +Korea +Korea's +Korean +Korean's +Koreans +Kornberg +Kornberg's +Kory +Kory's +Korzybski +Kosciusko +Kossuth +Kosygin +Koufax +Koufax's +Kowloon +Kr +Kr's +Kraft +Kraft's +Krakatoa +Krakatoa's +Krakow +Krakow's +Kramer +Kramer's +Krasnodar +Krasnoyarsk +Krebs +Kremlin +Kremlinologist +Kresge +Kresge's +Kringle +Kringle's +Kris +Kris's +Krishna +Krishna's +Krishnamurti +Krishnamurti's +Krista +Krista's +Kristen +Kristen's +Kristi +Kristi's +Kristie +Kristie's +Kristin +Kristin's +Kristina +Kristina's +Kristine +Kristine's +Kristopher +Kristopher's +Kristy +Kristy's +Kroc +Kroc's +Kroger +Kroger's +Kronecker +Kronecker's +Kropotkin +Kruger +Krugerrand +Krupp +Krystal +Krystal's +Kshatriya +Kshatriya's +Kublai +Kublai's +Kubrick +Kuhn +Kuhn's +Kuibyshev +Kulthumm +Kulthumm's +Kunming +Kuomintang +Kurd +Kurdish +Kurdish's +Kurdistan +Kurile +Kurosawa +Kurt +Kurt's +Kurtis +Kurtis's +Kusch +Kusch's +Kutuzov +Kuwait +Kuwait's +Kuwaiti +Kuwaiti's +Kuwaitis +Kuznets +Kuznets's +Kuznetsk +Kuznetsk's +Kwakiutl +Kwakiutl's +Kwan +Kwan's +Kwangju +Kwanzaa +Kwanzaa's +Kwanzaas +Kyle +Kyle's +Kyoto +Kyoto's +Kyrgyzstan +Kyushu +Kyushu's +L +L'Amour +L'Oreal +L'Ouverture +L's +LBJ +LBJ's +LCD's +LED's +LPN's +LSD's +La +La's +Laban +Labrador +Labrador's +Labradors +Lacey +Lacey's +Lachesis +Lachesis's +Lacy +Lacy's +Ladoga +Ladonna +Ladonna's +Lafayette +Lafitte +Lafitte's +Lagos +Lagos's +Lagrange +Lagrangian +Lahore +Laius +Lajos +Lajos's +Lakeisha +Lakeisha's +Lakewood +Lakisha +Lakisha's +Lakota +Lakshmi +Lakshmi's +Lamar +Lamar's +Lamarck +Lamarck's +Lamaze +Lamb +Lambert +Lamborghini +Lamborghini's +Lambrusco +Lamont +Lamont's +Lana +Lana's +Lanai +Lanai's +Lancashire +Lancaster +Lancaster's +Lance +Lance's +Lancelot +Lancelot's +Land +Landon +Landon's +Landry +Landry's +Landsat +Landsteiner +Landsteiner's +Lane +Lane's +Lang +Langerhans +Langerhans's +Langland +Langley +Langmuir +Lanny +Lanny's +Lansing +Lansing's +Lanzhou +Lanzhou's +Lao +Lao's +Laocoon +Laocoon's +Laos +Laotian +Laotian's +Laotians +Laplace +Lapland +Lapland's +Lapp +Lapp's +Lapps +Lara +Lara's +Laramie +Laramie's +Lardner +Lardner's +Laredo +Larousse +Larry +Larry's +Lars +Larsen +Larsen's +Larson +Larson's +Lascaux +Lascaux's +Lassa +Lassa's +Lassen +Lassen's +Lassie +Lassie's +Latasha +Latasha's +Lateran +Lateran's +Latin +Latin's +Latina +Latiner +Latino +Latino's +Latinos +Latins +Latisha +Latisha's +Latonya +Latonya's +Latoya +Latoya's +Latrobe +Latrobe's +Latvia +Latvia's +Latvian +Latvian's +Latvians +Laud +Lauder +Laue +Laundromat +Laura +Laura's +Laurasia +Laurasia's +Laurel +Laurel's +Lauren +Lauren's +Laurence +Laurence's +Laurent +Laurent's +Lauri +Lauri's +Laurie +Laurie's +Laval +Lavern +Lavern's +Laverne +Laverne's +Lavoisier +Lavonne +Lavonne's +Lawanda +Lawanda's +Lawrence +Lawson +Layamon +Layla +Layla's +Lazaro +Lazaro's +Lazarus +Lazarus's +Le +Le's +Lea +Lea's +Leach +Leach's +Leadbelly +Leah +Leakey +Leakey's +Lean +Lean's +Leander +Leann +Leann's +Leanna +Leanna's +Leanne +Leanne's +Lear +Lear's +Learjet +Learjet's +Leary +Leary's +Leavenworth +Lebanese +Lebanese's +Lebanon +Lebanon's +Lebesgue +Lebesgue's +Leblanc +Leblanc's +Leda +Lederberg +Lederberg's +Lee +Lee's +Leeds +Leeds's +Leeuwenhoek +Leeward +Leeward's +Left +Legendre +Leger +Leger's +Leghorn +Lego +Lego's +Legree +Legree's +Lehman +Lehman's +Leibniz +Leibniz's +Leicester +Leicester's +Leiden +Leiden's +Leif +Leif's +Leigh +Leila +Leila's +Leipzig +Leipzig's +Lela +Lela's +Leland +Leland's +Lelia +Lelia's +Lemaitre +Lemaitre's +Lemuel +Lemuel's +Lemuria +Lemuria's +Len +Len's +Lena +Lena's +Lenard +Lenard's +Lenin +Lenin's +Leningrad +Leningrad's +Leninism +Leninism's +Leninist +Lennon +Lennon's +Lenny +Lenny's +Leno +Leno's +Lenoir +Lenoir's +Lenora +Lenora's +Lenore +Lenore's +Lent +Lent's +Lenten +Lents +Leo +Leo's +Leola +Leola's +Leon +Leona +Leona's +Leonard +Leonard's +Leonardo +Leonardo's +Leoncavallo +Leonel +Leonel's +Leonid +Leonidas +Leonidas's +Leonor +Leonor's +Leopold +Leopold's +Leopoldo +Leopoldo's +Leos +Lepidus +Lepke +Lepke's +Lepus +Lepus's +Lerner +Leroy +Leroy's +Les +Lesa +Lesa's +Lesley +Lesley's +Leslie +Leslie's +Lesotho +Lesotho's +Lesseps +Lessie +Lessie's +Lester +Lester's +Lestrade +Lestrade's +Leta +Leta's +Letha +Letha's +Lethe +Lethe's +Leticia +Leticia's +Letitia +Letitia's +Letterman +Letterman's +Levant +Levant's +Levesque +Levesque's +Levi +Levi's +Leviathan +Levine +Levine's +Leviticus +Leviticus's +Levitt +Levitt's +Levy +Levy's +Lew +Lew's +Lewinsky +Lewinsky's +Lewis +Lexington +Lexington's +Lexus +Lexus's +Lhasa +Lhasa's +Lhotse +Lhotse's +Li +Li's +Libby +Liberace +Liberace's +Liberia +Liberia's +Liberian +Liberian's +Liberians +Libra +Libra's +Libras +Libreville +Libreville's +Librium +Librium's +Libya +Libya's +Libyan +Libyan's +Libyans +Lichtenstein +Lidia +Lidia's +Lie +Lieberman +Lieberman's +Liebfraumilch +Liechtenstein +Liechtenstein's +Liege +Liege's +Lila +Lila's +Lilia +Lilia's +Lilian +Lilian's +Liliana +Liliana's +Lilith +Lilith's +Liliuokalani +Lille +Lillian +Lillian's +Lillie +Lillie's +Lilliput +Lilliput's +Lilliputian +Lilliputian's +Lilliputians +Lilly +Lilly's +Lilongwe +Lilongwe's +Lily +Lily's +Lima +Lima's +Limbaugh +Limbaugh's +Limburger +Limoges +Limousin +Limousin's +Limpopo +Limpopo's +Lin +Lin's +Lina +Lina's +Lincoln +Lincoln's +Lincolns +Lind +Linda +Linda's +Lindbergh +Lindsay +Lindsey +Lindy +Linnaeus +Linnaeus's +Linotype +Linton +Linton's +Linus +Linus's +Linux +Linwood +Linwood's +Lionel +Lionel's +Lipizzaner +Lippi +Lippmann +Lipscomb +Lipscomb's +Lipton +Lipton's +Lisa +Lisa's +Lisbon +Lisbon's +Lissajous +Lissajous's +Lister +Lister's +Listerine +Listerine's +Liston +Liston's +Liszt +Lithuania +Lithuania's +Lithuanian +Lithuanian's +Lithuanians +Little +Little's +Litton +Litton's +Liverpool +Liverpool's +Liverpudlian +Liverpudlian's +Livia +Livia's +Livingston +Livingstone +Livonia +Livonia's +Livy +Liz +Liz's +Liza +Liza's +Lizzie +Lizzie's +Lizzy +Lizzy's +Ljubljana +Ljubljana's +Llewellyn +Lloyd +Ln +Loafer +Loafer's +Loafers +Lobachevsky +Lochinvar +Locke +Locke's +Lockean +Lockheed +Lockheed's +Lockwood +Lockwood's +Lodge +Lodz +Lodz's +Loewe +Loewi +Loews +Loews's +Logan +Logan's +Lohengrin +Loire +Loire's +Lois +Lois's +Loki +Loki's +Lola +Lola's +Lolita +Lollard +Lollobrigida +Lollobrigida's +Lombard +Lombard's +Lombardi +Lombardi's +Lombardy +Lombardy's +Lome +Lome's +Lon +Lon's +London +London's +Londoner +Londoner's +Long +Longfellow +Longfellow's +Longstreet +Longstreet's +Lonnie +Lonnie's +Lopez +Lopez's +Lora +Lora's +Loraine +Loraine's +Lord +Lord's +Lords +Lorelei +Lorelei's +Loren +Lorena +Lorena's +Lorene +Lorene's +Lorentz +Lorenz +Lorenzo +Lorenzo's +Loretta +Loretta's +Lori +Lori's +Lorie +Lorie's +Lorna +Lorna's +Lorraine +Lorraine's +Lorre +Lorre's +Lorrie +Lorrie's +Lot +Lot's +Lothario +Lothario's +Lott +Lott's +Lottie +Lottie's +Lou +Lou's +Louella +Louella's +Louie +Louie's +Louis +Louisa +Louisa's +Louise +Louise's +Louisiana +Louisiana's +Louisianan +Louisianan's +Louisianans +Louisianian +Louisianian's +Louisianians +Louisville +Louisville's +Lourdes +Louvre +Louvre's +Love +Love's +Lovecraft +Lovecraft's +Lovelace +Lowe +Lowe's +Lowell +Lowenbrau +Lowenbrau's +Lowery +Lowery's +Loyang +Loyang's +Loyd +Loyd's +Loyola +Lr +Lt +Ltd +Lu +Lu's +Luanda +Luanda's +Luann +Luann's +Lubavitcher +Lubbock +Lubumbashi +Lucas +Luce +Luce's +Lucia +Lucia's +Lucian +Luciano +Luciano's +Lucien +Lucien's +Lucifer +Lucifer's +Lucile +Lucile's +Lucille +Lucille's +Lucinda +Lucinda's +Lucio +Lucio's +Lucite +Lucite's +Lucius +Lucius's +Lucknow +Lucknow's +Lucretia +Lucretius +Lucy +Lucy's +Luddite +Luddite's +Ludhiana +Ludwig +Ludwig's +Luella +Luella's +Lufthansa +Lufthansa's +Luftwaffe +Luger +Luger's +Lugosi +Lugosi's +Luigi +Luigi's +Luis +Luis's +Luisa +Luisa's +Luke +Luke's +Lula +Lula's +Lully +Lulu +Lulu's +Luna +Luna's +Lupe +Lupe's +Lupercalia +Lupus +Lupus's +Luria +Luria's +Lusaka +Lusaka's +Lusitania +Lusitania's +Luther +Luther's +Lutheran +Lutheran's +Lutheranism +Lutheranism's +Lutherans +Luvs +Luvs's +Luxembourg +Luxembourg's +Luxembourger +Luxembourger's +Luxembourgers +Luz +Luz's +Luzon +Luzon's +Lvov +LyX +LyX's +Lycra +Lycurgus +Lydia +Lyell +Lyle +Lyle's +Lyly +Lyman +Lyman's +Lyme +Lyme's +Lynch +Lynda +Lynda's +Lyndon +Lyndon's +Lynette +Lynette's +Lynn +Lynne +Lynne's +Lynnette +Lynnette's +Lyon +Lyon's +Lyons +Lyra +Lyra's +Lysenko +Lysistrata +Lysistrata's +Lysol +Lysol's +M +M's +MA's +MB's +MBA's +MCI +MCI's +MD's +MGM +MGM's +MHz +MI's +MIT +MIT's +MP's +MRI's +MS's +MSG's +MST's +MT's +MVP's +Maalox +Maalox's +Mabel +Mabel's +Mable +Mable's +Mac +MacArthur +MacBride +MacBride's +MacDonald +MacLeish +MacLeish's +Macao +Macao's +Macaulay +Macbeth +Maccabeus +Maccabeus's +Mace +Macedon +Macedon's +Macedonia +Macedonia's +Macedonian +Macedonian's +Macedonians +Mach +Machiavelli +Machiavelli's +Machiavellian +Macias +Macias's +Macintosh +Macintosh's +Mack +Mack's +Mackenzie +Mackenzie's +Mackinac +Mackinac's +Mackinaw +Macmillan +Macon +Macumba +Macumba's +Macy +Macy's +Madagascan +Madagascan's +Madagascans +Madagascar +Madagascar's +Madden +Madden's +Maddox +Maddox's +Madeira +Madeira's +Madeiras +Madeleine +Madeleine's +Madeline +Madeline's +Madelyn +Madelyn's +Madge +Madge's +Madison +Madison's +Madonna +Madonna's +Madonnas +Madras +Madras's +Madrid +Madrid's +Madurai +Madurai's +Mae +Mae's +Maeterlinck +Maeterlinck's +Mafia +Mafia's +Mafias +Mafioso +Magdalena +Magdalene +Magdalene's +Magellan +Magellan's +Magellanic +Maggie +Maggie's +Maghreb +Maghreb's +Magi +Maginot +Maginot's +Magnitogorsk +Magog +Magoo +Magoo's +Magritte +Magsaysay +Magsaysay's +Magyar +Magyar's +Magyars +Mahabharata +Mahabharata's +Maharashtra +Maharashtra's +Mahavira +Mahavira's +Mahayana +Mahayana's +Mahayanist +Mahayanist's +Mahdi +Mahfouz +Mahfouz's +Mahican +Mahican's +Mahicans +Mahler +Mai +Mai's +Maidenform +Maidenform's +Maigret +Maigret's +Mailer +Maillol +Maiman +Maiman's +Maimonides +Maine +Maine's +Maisie +Maisie's +Maitreya +Maitreya's +Maj +Major +Majorca +Majorca's +Majuro +Makarios +Makarios's +Malabar +Malabar's +Malabo +Malabo's +Malacca +Malachi +Malagasy +Malamud +Malaprop +Malaprop's +Malawi +Malawi's +Malay +Malay's +Malayalam +Malayalam's +Malayan +Malayan's +Malays +Malaysia +Malaysia's +Malaysian +Malaysian's +Malaysians +Malcolm +Maldive +Maldive's +Maldives +Maldives's +Maldivian +Maldivian's +Maldivians +Maldonado +Maldonado's +Male +Male's +Mali +Malian +Malian's +Malians +Malibu +Malibu's +Malinda +Malinda's +Malinowski +Mallomars +Mallomars's +Mallory +Mallory's +Malone +Malone's +Malory +Malory's +Malplaquet +Malplaquet's +Malraux +Malta +Malta's +Maltese +Maltese's +Malthus +Malthus's +Malthusian +Malthusian's +Mameluke +Mamet +Mamie +Mamie's +Mammon +Mammon's +Mamore +Mamore's +Man +Man's +Managua +Managua's +Manama +Manama's +Manasseh +Manaus +Manchester +Manchester's +Manchu +Manchu's +Manchuria +Manchuria's +Manchurian +Mancini +Mancini's +Mandalay +Mandalay's +Mandarin +Mandarin's +Mandela +Mandelbrot +Mandingo +Mandrell +Mandrell's +Mandy +Mandy's +Manet +Manfred +Manfred's +Manhattan +Manhattan's +Manhattans +Mani +Manichean +Manila +Manila's +Manilas +Manilla +Manilla's +Manitoba +Manitoba's +Manitoulin +Manitoulin's +Manley +Manley's +Mann +Mannheim +Mannheim's +Manning +Mansfield +Manson +Manson's +Mantegna +Mantle +Mantle's +Manuel +Manuel's +Manuela +Manuela's +Manx +Manx's +Mao +Mao's +Maoism +Maoism's +Maoisms +Maoist +Maoist's +Maoists +Maori +Maori's +Maoris +Mapplethorpe +Mapplethorpe's +Maputo +Maputo's +Mar +Mar's +Mara +Mara's +Maracaibo +Marat +Maratha +Maratha's +Marathi +Marathi's +Marathon +Marathon's +Marc +Marceau +Marcel +Marcel's +Marcelino +Marcelino's +Marcella +Marcella's +Marcelo +Marcelo's +March +March's +Marches +Marci +Marci's +Marcia +Marcia's +Marciano +Marcie +Marcie's +Marco +Marco's +Marconi +Marcos +Marcus +Marcus's +Marcy +Marcy's +Marduk +Marduk's +Margaret +Margarita +Margarito +Margarito's +Marge +Marge's +Margery +Margery's +Margie +Margie's +Margo +Margo's +Margret +Margret's +Margrethe +Margrethe's +Marguerite +Marguerite's +Mari +Mari's +Maria +Maria's +Marian +Mariana +Mariana's +Marianas +Marianne +Mariano +Mariano's +Maribel +Maribel's +Maricela +Maricela's +Marie +Marie's +Marietta +Marietta's +Marilyn +Marilyn's +Marin +Marina +Marina's +Marine +Marine's +Marines +Mario +Mario's +Marion +Marion's +Maris +Marisa +Marisa's +Marisol +Marisol's +Marissa +Marissa's +Maritain +Maritza +Maritza's +Marius +Marjorie +Marjorie's +Marjory +Marjory's +Mark +Mark's +Markab +Markab's +Markham +Markov +Marks +Marla +Marla's +Marlboro +Marlboro's +Marlborough +Marlene +Marlene's +Marley +Marley's +Marlin +Marlon +Marlon's +Marlowe +Marmara +Marmara's +Marne +Maronite +Marple +Marple's +Marquesas +Marquesas's +Marquette +Marquez +Marquez's +Marquis +Marquita +Marquita's +Marrakesh +Marrakesh's +Marriott +Marriott's +Mars +Mars's +Marsala +Marsala's +Marseillaise +Marseillaise's +Marseilles +Marsh +Marsh's +Marsha +Marsha's +Marshall +Marshall's +Marta +Marta's +Martel +Martha +Martial +Martian +Martian's +Martians +Martin +Martina +Martina's +Martinez +Martinez's +Martinique +Martinique's +Marty +Marty's +Marva +Marva's +Marvell +Marvell's +Marvin +Marx +Marx's +Marxism +Marxism's +Marxisms +Marxist +Marxist's +Marxists +Mary +Mary's +Maryann +Maryann's +Maryanne +Maryanne's +Maryellen +Maryellen's +Maryland +Maryland's +Marylander +Marylou +Marylou's +Masada +Masada's +Masai +Masai's +Masaryk +Mascagni +Masefield +Maserati +Maserati's +Maseru +Maseru's +Mashhad +Mashhad's +Mason +Mason's +Masonic +Masonite +Masonite's +Masons +Mass +Mass's +Massachusetts +Massasoit +Massenet +Masses +Massey +MasterCard +MasterCard's +Masters +Mather +Mathew +Mathew's +Mathews +Mathewson +Mathewson's +Mathias +Mathis +Matilda +Matisse +Matt +Mattel +Mattel's +Matterhorn +Matterhorn's +Matthew +Matthew's +Matthews +Matthias +Mattie +Mattie's +Maud +Maud's +Maude +Maude's +Maugham +Maui +Maui's +Maupassant +Maura +Maura's +Maureen +Maureen's +Mauriac +Maurice +Mauricio +Mauricio's +Maurine +Maurine's +Mauritania +Mauritania's +Mauritius +Mauritius's +Mauro +Mauro's +Maurois +Mauryan +Mauryan's +Mauser +Mavis +Mavis's +Max +Max's +Maximilian +Maxine +Maxine's +Maxwell +May +May's +Maya +Maya's +Mayan +Mayan's +Mayans +Mayas +Mayer +Mayfair +Mayflower +Mayflower's +Maynard +Maynard's +Mayo +Mayra +Mayra's +Mays +Maytag +Maytag's +Mazama +Mazama's +Mazarin +Mazatlan +Mazatlan's +Mazda +Mazola +Mazola's +Mazzini +Mazzini's +Mb +Mbabane +Mbabane's +Mbini +Mbini's +McAdam +McAdam's +McBride +McBride's +McCain +McCain's +McCall +McCall's +McCarthy +McCarthyism +McCarthyism's +McCartney +McCartney's +McCarty +McCarty's +McClain +McClain's +McClellan +McClure +McClure's +McConnell +McConnell's +McCormick +McCoy +McCray +McCray's +McCullough +McCullough's +McDaniel +McDaniel's +McDonald +McDonald's +McDonnell +McDonnell's +McDowell +McDowell's +McEnroe +McEnroe's +McFadden +McFadden's +McFarland +McFarland's +McGee +McGee's +McGovern +McGovern's +McGowan +McGowan's +McGuffey +McGuffey's +McGuire +McGuire's +McIntosh +McIntosh's +McIntyre +McIntyre's +McKay +McKay's +McKee +McKee's +McKenzie +McKenzie's +McKinley +McKinley's +McKinney +McKinney's +McKnight +McKnight's +McLaughlin +McLaughlin's +McLean +McLean's +McLeod +McLeod's +McLuhan +McLuhan's +McMahon +McMahon's +McMillan +McMillan's +McNamara +McNamara's +McNaughton +McNaughton's +McNeil +McNeil's +McPherson +McPherson's +McQueen +McQueen's +McVeigh +McVeigh's +Md +Md's +Mead +Meade +Meadows +Meagan +Meagan's +Meany +Meany's +Mecca +Mecca's +Meccas +Medan +Medea +Medea's +Medellin +Media +Medicaid +Medicaid's +Medicaids +Medicare +Medicare's +Medicares +Medici +Medina +Mediterranean +Mediterranean's +Mediterraneans +Medusa +Medusa's +Meg +Meg's +Megan +Megan's +Meghan +Meghan's +Meier +Meier's +Meighen +Meighen's +Meiji +Meiji's +Meir +Mejia +Mejia's +Mekong +Mekong's +Mel +Mel's +Melanesia +Melanesia's +Melanesian +Melanie +Melanie's +Melba +Melbourne +Melbourne's +Melchior +Melchizedek +Melendez +Melendez's +Melinda +Melinda's +Melisa +Melisa's +Melisande +Melisande's +Melissa +Melissa's +Mellon +Melody +Melody's +Melpomene +Melpomene's +Melton +Melton's +Melva +Melva's +Melville +Melville's +Melvin +Melvin's +Memling +Memphis +Memphis's +Menander +Mencius +Mencken +Mendel +Mendel's +Mendeleev +Mendeleev's +Mendelian +Mendelssohn +Mendez +Mendez's +Mendocino +Mendocino's +Mendoza +Menelaus +Menelaus's +Menelik +Menelik's +Menes +Menkalinan +Menkalinan's +Menkar +Menkar's +Menkent +Menkent's +Mennen +Mennen's +Mennonite +Mennonite's +Mennonites +Menominee +Menominee's +Menotti +Mensa +Mentholatum +Mentholatum's +Menuhin +Menuhin's +Menzies +Mephistopheles +Merak +Merak's +Mercado +Mercado's +Mercator +Mercedes +Mercer +Mercer's +Mercia +Merck +Merck's +Mercuries +Mercurochrome +Mercurochrome's +Mercury +Mercury's +Meredith +Merino +Merle +Merle's +Merlin +Merlin's +Merlot +Merovingian +Merriam +Merriam's +Merrick +Merrick's +Merrill +Merrill's +Merrimack +Merrimack's +Merritt +Merritt's +Merthiolate +Merthiolate's +Merton +Mervin +Mervin's +Mesa +Mesabi +Mesabi's +Mesmer +Mesmer's +Mesolithic +Mesopotamia +Mesopotamia's +Mesozoic +Mesozoic's +Messerschmidt +Messerschmidt's +Messiaen +Messiah +Messiah's +Messiahs +Messianic +Metallica +Metallica's +Metamucil +Metamucil's +Methodism +Methodism's +Methodisms +Methodist +Methodist's +Methodists +Methuselah +Metternich +Meuse +Meuse's +Mexicali +Mexican +Mexican's +Mexicans +Mexico +Mexico's +Meyer +Meyer's +Meyerbeer +Meyers +Mfume +Mfume's +Mg +Mg's +MiG +Mia +Mia's +Miami +Miami's +Miamis +Miaplacidus +Miaplacidus's +Micah +Micawber +Mich +Michael +Micheal +Micheal's +Michel +Michel's +Michelangelo +Michelangelo's +Michele +Michele's +Michelin +Michelin's +Michelle +Michelle's +Michelob +Michelob's +Michelson +Michigan +Michigan's +Michigander +Michigander's +Michiganders +Mick +Mick's +Mickey +Mickey's +Mickie +Mickie's +Micky +Micky's +Micmac +Micmac's +Micronesia +Micronesia's +Micronesian +Microsoft +Microsoft's +Midas +Midas's +Middleton +Midland +Midway +Midway's +Midwest +Midwest's +Midwestern +Miguel +Miguel's +Mike +Mike's +Mikhail +Mikhail's +Mikoyan +Mikoyan's +Milagros +Milagros's +Milan +Milan's +Mildred +Mildred's +Miles +Milford +Milford's +Milken +Milken's +Mill +Millard +Millard's +Millay +Miller +Millet +Millicent +Millicent's +Millie +Millie's +Millikan +Mills +Milne +Milo +Milo's +Milosevic +Milosevic's +Milquetoast +Milquetoast's +Miltiades +Milton +Miltonic +Miltown +Miltown's +Milwaukee +Milwaukee's +Mimi +Mimi's +Mimosa +Mimosa's +Min +Min's +Minamoto +Minamoto's +Mindanao +Mindoro +Mindoro's +Mindy +Mindy's +Minerva +Minerva's +Ming +Mingus +Mingus's +Minn +Minneapolis +Minneapolis's +Minnelli +Minnelli's +Minnesota +Minnesota's +Minnesotan +Minnesotan's +Minnesotans +Minnie +Minnie's +Minoan +Minoan's +Minoans +Minolta +Minolta's +Minos +Minos's +Minot +Minot's +Minotaur +Minotaur's +Minsk +Minsk's +Minsky +Minsky's +Mintaka +Mintaka's +Minuit +Miocene +Miocene's +Mir +Mir's +Mira +Mira's +Mirabeau +Mirach +Mirach's +Miranda +Mirfak +Mirfak's +Miriam +Miriam's +Miro +Mirzam +Mirzam's +Miskito +Miss +Mississauga +Mississippi +Mississippi's +Mississippian +Mississippian's +Mississippians +Missouri +Missouri's +Missourian +Missourian's +Missourians +Missy +Missy's +Mistassini +Mister +Misty +Misty's +Mitch +Mitch's +Mitchel +Mitchel's +Mitchell +Mitford +Mitford's +Mithra +Mithra's +Mithridates +Mithridates's +Mitsubishi +Mitsubishi's +Mitterrand +Mitterrand's +Mitty +Mitty's +Mitzi +Mitzi's +Mixtec +Mizar +Mn +Mn's +Mnemosyne +Mnemosyne's +Mo +Mo's +Mobil +Mobil's +Mobile +Mobile's +Mobutu +Mobutu's +Modesto +Modigliani +Moe +Moe's +Moet +Moet's +Mogadishu +Mohacs +Mohacs's +Mohamed +Mohamed's +Mohammad +Mohammad's +Mohammed +Mohammed's +Mohammedan +Mohammedan's +Mohammedanism +Mohammedanism's +Mohammedanisms +Mohammedans +Mohawk +Mohawk's +Mohawks +Mohican +Mohican's +Mohicans +Moho +Moho's +Mohorovicic +Mohorovicic's +Moira +Moises +Moiseyev +Moiseyev's +Mojave +Mojave's +Moldavia +Moldavia's +Moldova +Moldova's +Moliere +Moliere's +Molina +Moll +Moll's +Mollie +Mollie's +Molly +Molly's +Molnar +Molnar's +Moloch +Moloch's +Molokai +Molokai's +Molotov +Molotov's +Moluccas +Mombasa +Mombasa's +Mon +Mon's +Mona +Mona's +Monaco +Monaco's +Mondale +Mondale's +Monday +Monday's +Mondays +Mondrian +Monera +Monera's +Monet +Mongol +Mongol's +Mongolia +Mongolia's +Mongolian +Mongolian's +Mongolians +Mongoloid +Mongols +Monica +Monica's +Monique +Monique's +Monk +Monk's +Monmouth +Monongahela +Monroe +Monroe's +Monrovia +Monrovia's +Mons +Monsanto +Monsanto's +Mont +Montague +Montaigne +Montana +Montana's +Montanan +Montanan's +Montanans +Montcalm +Monte +Monte's +Montenegrin +Montenegro +Montenegro's +Monterrey +Montesquieu +Montessori +Monteverdi +Montevideo +Montevideo's +Montezuma +Montezuma's +Montgolfier +Montgomery +Montgomery's +Monticello +Montoya +Montoya's +Montpelier +Montpelier's +Montrachet +Montreal +Montreal's +Montserrat +Montserrat's +Monty +Monty's +Moody +Moog +Moon +Moon's +Mooney +Mooney's +Moor +Moor's +Moore +Moorish +Moorish's +Moors +Morales +Morales's +Moran +Moran's +Moravia +Moravian +Mordred +More +Moreno +Moreno's +Morgan +Morgan's +Moriarty +Moriarty's +Morin +Morin's +Morison +Morison's +Morita +Morita's +Morley +Mormon +Mormon's +Mormonism +Mormonism's +Mormonisms +Mormons +Moro +Moroccan +Moroccan's +Moroccans +Morocco +Morocco's +Moroni +Morpheus +Morpheus's +Morphy +Morphy's +Morris +Morrison +Morrow +Morrow's +Morse +Morse's +Mort +Mort's +Mortimer +Morton +Morton's +Mosaic +Mosaic's +Moscow +Moscow's +Moseley +Moselle +Moselle's +Moses +Moses's +Moslem +Moslem's +Moslems +Mosley +Mosley's +Moss +Moss's +Mosul +Motorola +Motorola's +Motown +Motown's +Motrin +Motrin's +Mott +Mount +Mountbatten +Mountie +Mountie's +Mounties +Moussorgsky +Mouthe +Mouthe's +Mouton +Mouton's +Mowgli +Mowgli's +Mozambican +Mozambican's +Mozambicans +Mozambique +Mozambique's +Mozart +Mozart's +Mozilla +Mozilla's +Mr +Mr's +Mrs +Ms +Mt +Muawiya +Muawiya's +Mubarak +Mubarak's +Mueller +Mueller's +Muenster +Muenster's +Mugabe +Mugabe's +Muhammad +Muhammad's +Muhammadan +Muhammadan's +Muhammadanism +Muhammadanism's +Muhammadanisms +Muhammadans +Muir +Mujib +Mujib's +Mulder +Mulder's +Mullen +Mullen's +Muller +Muller's +Mulligan +Mulligan's +Mullikan +Mullikan's +Mullins +Mulroney +Mulroney's +Multan +Mumbai +Mumbai's +Mumford +Munch +Munich +Munich's +Munoz +Munoz's +Munro +Muppet +Muppet's +Murasaki +Murasaki's +Murat +Murchison +Murchison's +Murdoch +Muriel +Muriel's +Murillo +Murine +Murine's +Murmansk +Murphy +Murray +Murray's +Murrow +Murrow's +Murrumbidgee +Muscat +Muscat's +Muscovite +Muscovite's +Muscovy +Muscovy's +Muse +Muse's +Musharraf +Musharraf's +Musial +Musial's +Muskogee +Muskogee's +Muslim +Muslim's +Muslims +Mussolini +Mussolini's +Mussorgsky +Mutsuhito +Mutsuhito's +Muzak +MySpace +MySpace's +Myanmar +Myanmar's +Mycenae +Mycenae's +Mycenaean +Myers +Mylar +Mylar's +Mylars +Myles +Myles's +Myra +Myra's +Myrdal +Myrdal's +Myrna +Myrna's +Myron +Myrtle +Myrtle's +Mysore +Myst +Myst's +N +N's +NASA's +NASCAR +NASCAR's +NASDAQ's +NATO's +NE's +NORAD +NORAD's +NW's +Na +Na's +Nabisco +Nabisco's +Nabokov +Nader +Nadia +Nadia's +Nadine +Nadine's +Nagasaki +Nagasaki's +Nagoya +Nagpur +Nagy +Nahuatl +Nahuatl's +Nahum +Naipaul +Naipaul's +Nair +Nair's +Nairobi +Nairobi's +Naismith +Naismith's +Nam +Nam's +Namath +Namath's +Namibia +Namibia's +Namibian +Namibian's +Namibians +Nan +Nan's +Nanak +Nanchang +Nancy +Nanette +Nanette's +Nanjing +Nanjing's +Nanking +Nanking's +Nankings +Nannie +Nannie's +Nanook +Nanook's +Nansen +Nantes +Nantes's +Nantucket +Nantucket's +Naomi +Naomi's +Naphtali +Naphtali's +Napier +Napier's +Naples +Naples's +Napoleon +Napoleon's +Napoleonic +Napster +Napster's +Narcissus +Narcissus's +Narmada +Narmada's +Narnia +Narnia's +Narragansett +Nash +Nashua +Nashville +Nashville's +Nassau +Nassau's +Nasser +Nasser's +Nat +Nat's +Natalia +Natalia's +Natalie +Natalie's +Natasha +Natasha's +Natchez +Nate +Nate's +Nathan +Nathaniel +Nathaniel's +Nathans +Nation +Nationwide +Nationwide's +Naugahyde +Nauru +Nauru's +Nautilus +Navaho +Navaho's +Navahoes +Navahos +Navajo +Navajo's +Navajoes +Navajos +Navarre +Navarro +Navarro's +Navratilova +Navratilova's +Nazarene +Nazareth +Nazca +Nazi +Nazi's +Naziism +Naziism's +Naziisms +Nazis +Nazism +Nazism's +Nazisms +Nb +Nb's +Nd +Nd's +Ndjamena +Ndjamena's +Ne +Ne's +Neal +Neal's +Neanderthal +Neanderthal's +Neanderthals +Neapolitan +Nebraska +Nebraska's +Nebraskan +Nebraskan's +Nebraskans +Nebuchadnezzar +Ned +Ned's +Nefertiti +Negev +Negev's +Negro +Negro's +Negroes +Negroid +Negroid's +Negroids +Negros +Nehemiah +Nehru +Nehru's +Neil +Neil's +Nelda +Nelda's +Nell +Nell's +Nellie +Nellie's +Nelly +Nelly's +Nelsen +Nelsen's +Nelson +Nembutal +Nembutal's +Nemesis +Nemesis's +Neogene +Neolithic +Nepal +Nepal's +Nepalese +Nepalese's +Nepali +Nepali's +Neptune +Neptune's +Nereid +Nereid's +Nerf +Nero +Neruda +Nescafe +Nescafe's +Nesselrode +Nestle +Nestle's +Nestor +Nestor's +Nestorius +Netflix +Netflix's +Netherlander +Netherlander's +Netherlanders +Netherlands +Netscape +Netscape's +Nettie +Nettie's +Netzahualcoyotl +Netzahualcoyotl's +Nev +Neva +Nevada +Nevada's +Nevadan +Nevadan's +Nevadans +Nevis +Nevis's +Nevsky +Nevsky's +Newark +Newark's +Newcastle +Newcastle's +Newfoundland +Newfoundland's +Newfoundlands +Newman +Newport +Newport's +Newsweek +Newsweek's +Newton +Newton's +Newtonian +Newtonian's +Nexis +Ngaliema +Ngaliema's +Nguyen +Nguyen's +Ni +Niagara +Niagara's +Niamey +Niamey's +Nibelung +Nicaea +Nicaragua +Nicaragua's +Nicaraguan +Nicaraguan's +Nicaraguans +Niccolo +Niccolo's +Nice +Nice's +Nicene +Nichiren +Nichiren's +Nicholas +Nichole +Nichole's +Nichols +Nicholson +Nick +Nick's +Nickelodeon +Nickelodeon's +Nicklaus +Nickolas +Nicobar +Nicobar's +Nicodemus +Nicola +Nicola's +Nicolas +Nicole +Nicole's +Nicosia +Nicosia's +Niebuhr +Niebuhr's +Nielsen +Nietzsche +Nieves +Nieves's +Nigel +Nigel's +Niger +Niger's +Nigeria +Nigeria's +Nigerian +Nigerian's +Nigerians +Nightingale +Nightingale's +Nijinsky +Nike +Nike's +Nikita +Nikita's +Nikkei +Nikki +Nikki's +Nikolai +Nikolai's +Nikolayev +Nikon +Nikon's +Nile +Nile's +Nimitz +Nimrod +Nina +Nina's +Nineveh +Nineveh's +Nintendo +Niobe +Nippon +Nippon's +Nirenberg +Nirenberg's +Nirvana +Nisan +Nisan's +Nisei +Nissan +Nissan's +Nita +Nita's +Nivea +Nivea's +Nixon +Nixon's +Nkrumah +NoDoz +NoDoz's +Noah +Noah's +Nobel +Nobelist +Nobelist's +Nobelists +Noble +Noble's +Noe +Noe's +Noel +Noel's +Noelle +Noelle's +Noels +Noemi +Noemi's +Noh +Nokia +Nokia's +Nola +Nola's +Nolan +Nolan's +Nome +Nona +Nona's +Nootka +Nootka's +Nora +Nora's +Norbert +Norbert's +Norberto +Norberto's +Nordic +Nordic's +Nordics +Noreen +Noreen's +Norfolk +Norfolk's +Noriega +Noriega's +Norma +Norman +Norman's +Normand +Normand's +Normandy +Normandy's +Normans +Norplant +Norris +Norse +Norse's +Norseman +Norseman's +Norsemen +North +North's +Northampton +Northeast +Northeast's +Northeasts +Northerner +Northerner's +Northrop +Northrop's +Northrup +Northrup's +Norths +Northwest +Northwest's +Northwests +Norton +Norton's +Norway +Norway's +Norwegian +Norwegian's +Norwegians +Norwich +Nosferatu +Nosferatu's +Nostradamus +Nottingham +Nouakchott +Nouakchott's +Noumea +Noumea's +Nov +Nov's +Nova +Novartis +Novartis's +November +November's +Novembers +Novgorod +Novocain +Novocain's +Novocaine +Novokuznetsk +Novosibirsk +Novosibirsk's +Noxzema +Noxzema's +Noyce +Noyce's +Noyes +Noyes's +Np +Np's +Nubia +Nubian +Nukualofa +Numbers +Numbers's +Nunavut +Nunavut's +Nunez +Nunez's +Nunki +Nunki's +Nuremberg +Nureyev +NutraSweet +NutraSweet's +NyQuil +NyQuil's +Nyasa +Nyasa's +Nyerere +Nyerere's +O +O'Brien +O'Casey +O'Connell +O'Connor +O'Donnell +O'Hara +O'Higgins +O'Keeffe +O'Neil +O'Neill +O'Rourke +O'Toole +O's +OAS's +OD's +OHSA +OHSA's +OK +OK's +OKs +OPEC's +OSHA's +Oahu +Oahu's +Oakland +Oakland's +Oakley +Oates +Oaxaca +Oaxaca's +Ob +Ob's +Obadiah +Obama +Obama's +Oberlin +Oberlin's +Oberon +Occam +Occident +Occidental +Occidental's +Occidentals +Oceania +Oceania's +Oceanus +Oceanus's +Ochoa +Ochoa's +Oct +Oct's +Octavia +Octavio +Octavio's +October +October's +Octobers +Odell +Odell's +Oder +Oder's +Odessa +Odessa's +Odets +Odin +Odin's +Odis +Odis's +Odom +Odom's +Odysseus +Odysseus's +Odyssey +Odyssey's +Oedipal +Oedipus +Oedipus's +Oersted +Oersted's +Ofelia +Ofelia's +Offenbach +OfficeMax +OfficeMax's +Ogbomosho +Ogden +Ogden's +Ogilvy +Ogilvy's +Oglethorpe +Ohio +Ohio's +Ohioan +Ohioan's +Ohioans +Oise +Oise's +Ojibwa +Ojibwa's +Ojibwas +Okeechobee +Okefenokee +Okhotsk +Okinawa +Okinawa's +Okla +Oklahoma +Oklahoma's +Oklahoman +Oktoberfest +Ola +Ola's +Olaf +Olaf's +Olajuwon +Olajuwon's +Olav +Olav's +Oldenburg +Oldfield +Oldfield's +Oldsmobile +Oldsmobile's +Olduvai +Olduvai's +Olen +Olen's +Olenek +Olenek's +Olga +Olga's +Oligocene +Oligocene's +Olin +Olin's +Olive +Olive's +Oliver +Olivetti +Olivetti's +Olivia +Olivia's +Olivier +Ollie +Ollie's +Olmec +Olmsted +Olmsted's +Olsen +Olsen's +Olson +Olson's +Olympia +Olympia's +Olympiad +Olympiad's +Olympiads +Olympian +Olympian's +Olympians +Olympias +Olympic +Olympics +Olympus +Olympus's +Omaha +Omaha's +Omahas +Oman +Oman's +Omar +Omar's +Omayyad +Omdurman +Omdurman's +Omsk +Omsk's +Onassis +Oneal +Oneal's +Onega +Onegin +Onegin's +Oneida +Oneida's +Onion +Onion's +Ono +Ono's +Onondaga +Onondaga's +Onsager +Onsager's +Ontario +Ontario's +Oort +Oort's +Opal +Opal's +Opel +Opel's +Ophelia +Ophelia's +Ophiuchus +Oppenheimer +Oppenheimer's +Oprah +Oprah's +Ora +Ora's +Oracle +Oracle's +Oran +Oran's +Orange +Oranjestad +Oranjestad's +Orbison +Orbison's +Ordovician +Ordovician's +Oregon +Oregon's +Oregonian +Oregonian's +Oregonians +Oreo +Orestes +Orient +Oriental +Oriental's +Orientals +Orin +Orin's +Orinoco +Orinoco's +Orion +Orion's +Oriya +Oriya's +Orizaba +Orizaba's +Orkney +Orkney's +Orlando +Orlando's +Orleans +Orleans's +Orlon +Orlon's +Orlons +Orly +Orly's +Orpheus +Orpheus's +Orphic +Orr +Orr's +Ortega +Ortega's +Ortiz +Ortiz's +Orval +Orval's +Orville +Orville's +Orwell +Orwellian +Os +Osage +Osage's +Osaka +Osaka's +Osbert +Osbert's +Osborn +Osborn's +Osborne +Oscar +Oscar's +Oscars +Osceola +Osgood +Osgood's +Oshawa +Oshkosh +Oshkosh's +Osiris +Osiris's +Oslo +Oslo's +Osman +Osman's +Ostrogoth +Ostrogoth's +Ostwald +Osvaldo +Osvaldo's +Oswald +Othello +Othello's +Otis +Otis's +Ottawa +Ottawa's +Ottawas +Otto +Ottoman +Ouagadougou +Ouija +Ouija's +Ovid +Owen +Owens +Oxford +Oxford's +Oxfords +Oxnard +Oxonian +Oxonian's +Oxus +Oxycontin +Oxycontin's +Oz +Ozark +Ozark's +Ozarks +Ozarks's +Ozymandias +Ozymandias's +Ozzie +Ozzie's +P +P's +PA's +PAC's +PBS's +PC's +PM's +PMS's +POW's +PS's +PST's +PVC's +Pa +Pa's +Paar +Paar's +Pablo +Pablo's +Pablum +Pablum's +Pabst +Pabst's +Pace +Pace's +Pacheco +Pacheco's +Pacific +Pacific's +Pacino +Pacino's +Packard +Packard's +Paderewski +Padilla +Padilla's +Paganini +Page +Paglia +Paglia's +Pahlavi +Paige +Paige's +Paine +Pakistan +Pakistan's +Pakistani +Pakistani's +Pakistanis +Palau +Palembang +Paleocene +Paleocene's +Paleogene +Paleolithic +Paleozoic +Paleozoic's +Palermo +Palermo's +Palestine +Palestine's +Palestinian +Palestinian's +Palestinians +Palestrina +Paley +Palikir +Palikir's +Palisades +Palisades's +Palladio +Palmer +Palmerston +Palmolive +Palmolive's +Palmyra +Palmyra's +Palomar +Palomar's +Pam +Pam's +Pamela +Pamela's +Pamirs +Pampers +Pan +Pan's +Panama +Panama's +Panamanian +Panamanian's +Panamanians +Panamas +Panasonic +Panasonic's +Pandora +Pandora's +Pangaea +Pangaea's +Pankhurst +Panmunjom +Panmunjom's +Pansy +Pansy's +Pantagruel +Pantaloon +Pantaloon's +Pantheon +Panza +Panza's +Paracelsus +Paraclete +Paradise +Paraguay +Paraguay's +Paraguayan +Paraguayan's +Paraguayans +Paramaribo +Paramaribo's +Paramount +Paramount's +Parcheesi +Parcheesi's +Pareto +Paris +Paris's +Parisian +Parisian's +Parisians +Park +Parker +Parkinson +Parkinson's +Parkman +Parks +Parliament +Parmesan +Parmesan's +Parmesans +Parnassus +Parnassus's +Parnell +Parr +Parrish +Parsi +Parsi's +Parsifal +Parsifal's +Parsons +Parthenon +Parthenon's +Parthia +Parthia's +Pasadena +Pasadena's +Pascal +Pascal's +Pasquale +Pasquale's +Passion +Passion's +Passions +Passover +Passover's +Passovers +Pasternak +Pasteur +Pasteur's +Pat +Patagonia +Patagonia's +Patagonian +Pate +Pate's +Patel +Patel's +Paterson +Patna +Patrica +Patrica's +Patrice +Patrice's +Patricia +Patricia's +Patrick +Patrick's +Patsy +Patsy's +Patterson +Patterson's +Patti +Patton +Patty +Patty's +Paul +Paul's +Paula +Paula's +Paulette +Paulette's +Pauli +Pauline +Pauling +Pavarotti +Pavlov +Pavlov's +Pavlova +Pavlovian +Pawnee +Pawnee's +PayPal +PayPal's +Payne +Payne's +Paypal +Paypal's +Pb +Pb's +Pd +Pd's +Peabody +Peabody's +Peace +Peace's +Peale +Pearl +Pearl's +Pearlie +Pearlie's +Pearson +Pearson's +Peary +Pechora +Peck +Peck's +Peckinpah +Peckinpah's +Pecos +Pecos's +Pedro +Pedro's +Peel +Peel's +Peg +Peg's +Pegasus +Pegasus's +Pegasuses +Peggy +Peggy's +Pei +Peiping +Peiping's +Pekinese +Pekinese's +Pekineses +Peking +Peking's +Pekingese +Pekingese's +Pekingeses +Pekings +Pele +Pele's +Pelee +Pelee's +Peloponnese +Peloponnese's +Pembroke +Pembroke's +Pena +Pena's +Penderecki +Penderecki's +Penelope +Penelope's +Penn +Penney +Penney's +Pennington +Pennington's +Pennsylvania +Pennsylvania's +Pennsylvanian +Pennsylvanian's +Pennsylvanians +Penny +Penny's +Pennzoil +Pennzoil's +Pensacola +Pensacola's +Pentagon +Pentagon's +Pentateuch +Pentateuch's +Pentax +Pentax's +Pentecost +Pentecost's +Pentecostal +Pentecostal's +Pentecostals +Pentecosts +Pentium +Pentium's +Peoria +Pepin +Pepin's +Pepsi +Pepsi's +Pepys +Pequot +Percheron +Percival +Percy +Perelman +Perelman's +Perez +Perez's +Periclean +Pericles +Perkins +Perl +Perl's +Perm +Perm's +Permalloy +Permalloy's +Permian +Permian's +Pernod +Pernod's +Peron +Perot +Perot's +Perrier +Perry +Perseid +Persephone +Persephone's +Persepolis +Persepolis's +Perseus +Perseus's +Pershing +Persia +Persia's +Persian +Persian's +Persians +Perth +Perth's +Peru +Peru's +Peruvian +Peruvian's +Peruvians +Peshawar +Pete +Pete's +Peter +Peter's +Peters +Petersen +Petersen's +Peterson +Peterson's +Petra +Petrarch +Petrarch's +Petty +Petty's +Peugeot +Peugeot's +Pfizer +Pfizer's +PhD +PhD's +Phaedra +Phaethon +Phaethon's +Phanerozoic +Pharaoh +Pharaoh's +Pharaohs +Pharisee +Pharisee's +Pharisees +Phekda +Phekda's +Phelps +Phelps's +Phidias +Phil +Philadelphia +Philadelphia's +Philby +Philby's +Philip +Philippe +Philippe's +Philippians +Philippine +Philippine's +Philippines +Philips +Philistine +Phillip +Phillipa +Phillipa's +Phillips +Philly +Philly's +Phipps +Phipps's +Phobos +Phoebe +Phoebe's +Phoenicia +Phoenicia's +Phoenix +Phoenix's +Photostat +Photostat's +Photostats +Photostatted +Photostatting +Phrygia +Phrygia's +Phyllis +Phyllis's +Piaf +Piaf's +Piaget +Piaget's +Pianola +Pianola's +Picasso +Picasso's +Piccadilly +Pickering +Pickering's +Pickett +Pickford +Pickford's +Pickwick +Pickwick's +Pict +Piedmont +Piedmont's +Pierce +Pierce's +Pierre +Pierre's +Pierrot +Pierrot's +Pigmies +Pigmy +Pigmy's +Pike +Pike's +Pilate +Pilates +Pilcomayo +Pilgrim +Pillsbury +Pillsbury's +Pinatubo +Pinatubo's +Pincus +Pincus's +Pindar +Pindar's +Pinkerton +Pinocchio +Pinocchio's +Pinochet +Pinochet's +Pinter +Pippin +Pippin's +Piraeus +Pirandello +Pisa +Pisces +Pisces's +Pisistratus +Pissaro +Pissaro's +Pitcairn +Pitcairn's +Pitt +Pittman +Pittman's +Pitts +Pittsburgh +Pittsburgh's +Pius +Pius's +Pizarro +Pkwy +Pl +Planck +Plantagenet +Plantagenet's +Plasticine +Plasticine's +Plataea +Plataea's +Plath +Plato +Plato's +Platonic +Platonism +Platonism's +Platonist +Platonist's +Platte +Platte's +Plautus +Plautus's +PlayStation +PlayStation's +Playboy +Playboy's +Playtex +Playtex's +Pleiades +Pleiades's +Pleistocene +Pleistocene's +Plexiglas +Plexiglas's +Plexiglases +Pliny +Pliocene +Pliocene's +Plutarch +Plutarch's +Pluto +Pluto's +Plymouth +Plymouth's +Pm +Pm's +Po +Po's +Pocahontas +Pocahontas's +Pocono +Pocono's +Poconos +Podgorica +Podhoretz +Podhoretz's +Podunk +Poe +Pogo +Pogo's +Poiret +Poiret's +Poirot +Poirot's +Poisson +Poisson's +Poitier +Poitier's +Poland +Poland's +Polanski +Polanski's +Polaris +Polaris's +Polaroid +Polaroid's +Polaroids +Pole +Pole's +Poles +Polish +Polish's +Politburo +Polk +Polk's +Pollard +Pollard's +Pollock +Pollux +Pollux's +Polly +Polly's +Pollyanna +Polo +Polo's +Poltava +Poltava's +Polyhymnia +Polyhymnia's +Polynesia +Polynesia's +Polynesian +Polynesian's +Polynesians +Polyphemus +Pomerania +Pomeranian +Pomeranian's +Pomona +Pompadour +Pompeii +Pompeii's +Pompey +Pompey's +Ponce +Pontchartrain +Pontiac +Pontiac's +Pontianak +Pooh +Pooh's +Poole +Poole's +Poona +Pope +Popeye +Popeye's +Popocatepetl +Popper +Popper's +Poppins +Poppins's +Popsicle +Porfirio +Porfirio's +Porrima +Porrima's +Porsche +Porsche's +Porter +Portia +Portia's +Portland +Portland's +Portsmouth +Portugal +Portugal's +Portuguese +Portuguese's +Poseidon +Poseidon's +Post +Post's +Potemkin +Potomac +Potomac's +Potsdam +Pottawatomie +Pottawatomie's +Potter +Potts +Potts's +Pound +Poussin +Powell +Powell's +PowerPoint +PowerPoint's +Powers +Powhatan +Powhatan's +Poznan +Poznan's +Prada +Prada's +Prado +Prado's +Praetorian +Prague +Prague's +Praia +Praia's +Prakrit +Pratchett +Pratchett's +Pratt +Pratt's +Pravda +Pravda's +Praxiteles +Preakness +Preakness's +Precambrian +Precambrian's +Preminger +Preminger's +Premyslid +Premyslid's +Prensa +Prensa's +Prentice +Prentice's +Pres +Presbyterian +Presbyterian's +Presbyterianism +Presbyterianism's +Presbyterians +Prescott +Prescott's +President +President's +Presidents +Presley +Preston +Pretoria +Pretoria's +Priam +Priam's +Pribilof +Pribilof's +Price +Priestley +Prince +Prince's +Princeton +Princeton's +Principe +Principe's +Priscilla +Priscilla's +Prius +Prius's +Procrustean +Procrustes +Procrustes's +Procter +Procter's +Procyon +Procyon's +Prof +Prohibition +Prokofiev +Promethean +Prometheus +Prometheus's +Proserpine +Proserpine's +Protagoras +Proterozoic +Proterozoic's +Protestant +Protestant's +Protestantism +Protestantism's +Protestantisms +Protestants +Proteus +Proteus's +Proudhon +Proust +Proust's +Provencals +Provence +Provence's +Proverbs +Providence +Providence's +Providences +Provo +Prozac +Prozac's +Prudence +Prudence's +Prudential +Prudential's +Pruitt +Pruitt's +Prussia +Prussia's +Prussian +Prussian's +Prut +Pryor +Pryor's +Psalms +Psalter +Psalter's +Psalters +Psyche +Psyche's +Pt +Pt's +Ptah +Ptah's +Ptolemaic +Ptolemies +Ptolemy +Ptolemy's +Pu +Pu's +Puccini +Puck +Puckett +Puckett's +Puebla +Pueblo +Puget +Puget's +Pugh +Pugh's +Pulaski +Pulitzer +Pullman +Pullman's +Pullmans +Punch +Punic +Punic's +Punjab +Punjab's +Punjabi +Punjabi's +Purana +Purcell +Purdue +Purdue's +Purim +Purim's +Purims +Purina +Purina's +Puritan +Puritanism +Puritanism's +Puritanisms +Purus +Purus's +Pusan +Pusan's +Pusey +Pushkin +Pushtu +Pushtu's +Putin +Putin's +Putnam +Puzo +Puzo's +Pygmalion +Pygmalion's +Pygmies +Pygmy +Pygmy's +Pyle +Pyle's +Pym +Pynchon +Pynchon's +Pyongyang +Pyongyang's +Pyotr +Pyotr's +Pyrenees +Pyrenees's +Pyrex +Pyrex's +Pyrexes +Pyrrhic +Pythagoras +Pythagoras's +Pythagorean +Pythias +Python +Python's +Q +Qaddafi +Qaddafi's +Qantas +Qantas's +Qatar +Qatar's +Qingdao +Qiqihar +Qiqihar's +Qom +Qom's +Quaalude +Quaalude's +Quaker +Quaker's +Quakers +Quaoar +Quaoar's +Quasimodo +Quaternary +Quaternary's +Quayle +Quayle's +Quebec +Quebec's +Quechua +Quechua's +Queen +Queens +Queens's +Queensland +Queensland's +Quentin +Quentin's +Quetzalcoatl +Quetzalcoatl's +Quezon +Quezon's +Quincy +Quincy's +Quinn +Quintilian +Quintilian's +Quinton +Quinton's +Quirinal +Quisling +Quisling's +Quito +Quito's +Quixote +Quixotism +Quixotism's +Qumran +Quonset +R +R's +RAF's +RAM's +RCA +RCA's +REM's +RN's +RNA's +ROM's +ROTC's +RV's +Ra +Ra's +Rabat +Rabat's +Rabelais +Rabelais's +Rabelaisian +Rabin +Rabin's +Rachael +Rachael's +Rachel +Rachel's +Rachelle +Rachelle's +Rachmaninoff +Racine +Racine's +Radcliffe +Radcliffe's +Rae +Rae's +Rafael +Rafael's +Raffles +Raffles's +Rainier +Raleigh +Raleigh's +Ralph +Ralph's +Rama +Rama's +Ramada +Ramada's +Ramadan +Ramadan's +Ramadans +Ramakrishna +Ramanujan +Ramanujan's +Ramayana +Rambo +Rambo's +Ramirez +Ramirez's +Ramiro +Ramiro's +Ramon +Ramon's +Ramona +Ramona's +Ramos +Ramsay +Ramses +Ramsey +Ramsey's +Rand +Randal +Randal's +Randall +Randall's +Randell +Randell's +Randi +Randi's +Randolph +Randolph's +Randy +Randy's +Rangoon +Rangoon's +Rankin +Rankine +Rankine's +Raoul +Raoul's +Raphael +Rapunzel +Rapunzel's +Raquel +Raquel's +Rasalgethi +Rasalgethi's +Rasalhague +Rasalhague's +Rasmussen +Rasmussen's +Rasputin +Rastaban +Rastaban's +Rastafarian +Rastafarian's +Rather +Rather's +Ratliff +Ratliff's +Raul +Raul's +Ravel +Rawalpindi +Ray +RayBan +RayBan's +Rayburn +Rayburn's +Rayleigh +Raymond +Raymond's +Raymundo +Raymundo's +Rb +Rb's +Rd +Re +Re's +Reagan +Reagan's +Reaganomics +Reaganomics's +Realtor +Reasoner +Reasoner's +Reba +Reba's +Rebecca +Rebekah +Recife +Recife's +Red +Red's +Redford +Redford's +Redgrave +Redgrave's +Redmond +Reebok +Reebok's +Reed +Reed's +Reese +Reese's +Reeves +Refugio +Refugio's +Reggie +Reggie's +Regina +Regina's +Reginae +Reginald +Reginald's +Regor +Regor's +Regulus +Regulus's +Rehnquist +Reich +Reich's +Reichstag +Reid +Reilly +Reilly's +Reinaldo +Reinaldo's +Reinhardt +Reinhold +Reinhold's +Remarque +Rembrandt +Rembrandt's +Remington +Remus +Remus's +Rena +Rena's +Renaissance +Renaissance's +Renaissances +Renault +Renault's +Rene +Rene's +Renee +Renee's +Reno +Reno's +Renoir +Rep +Representative +Republican +Republican's +Republicans +Resurrection +Reuben +Reunion +Reuters +Reuther +Reuther's +Rev +Reva +Reva's +Revelations +Revere +Reverend +Reverend's +Revlon +Revlon's +Rex +Reyes +Reykjavik +Reykjavik's +Reyna +Reyna's +Reynaldo +Reynaldo's +Reynolds +Rh +Rh's +Rhea +Rhee +Rheingau +Rheingau's +Rhenish +Rhiannon +Rhiannon's +Rhine +Rhine's +Rhineland +Rhineland's +Rhoda +Rhoda's +Rhode +Rhodes +Rhodesia +Rhodesia's +Rhonda +Rhonda's +Rhone +Rhone's +Ribbentrop +Ricardo +Rice +Rich +Rich's +Richard +Richards +Richardson +Richelieu +Richelieu's +Richie +Richie's +Richmond +Richmond's +Richter +Richthofen +Rick +Rick's +Rickenbacker +Rickenbacker's +Rickey +Rickey's +Rickie +Rickie's +Rickover +Ricky +Ricky's +Rico +Rico's +Riddle +Riddle's +Ride +Riefenstahl +Riefenstahl's +Riel +Riel's +Riemann +Riemann's +Riesling +Riesling's +Riga +Riga's +Rigel +Rigel's +Riggs +Riggs's +Rigoberto +Rigoberto's +Rigoletto +Rigoletto's +Riley +Rilke +Rimbaud +Ringling +Ringling's +Ringo +Ringo's +Rio +Rio's +Rios +Ripley +Risorgimento +Rita +Rita's +Ritalin +Ritalin's +Ritz +Ritz's +Rivas +Rivera +Rivers +Riverside +Riviera +Riviera's +Rivieras +Riyadh +Riyadh's +Rizal +Rn +Rn's +Roach +Roach's +Rob +Rob's +Robbie +Robbie's +Robbin +Robbin's +Robbins +Robby +Robby's +Roberson +Roberson's +Robert +Robert's +Roberta +Roberta's +Roberto +Roberto's +Roberts +Robertson +Robertson's +Robeson +Robespierre +Robin +Robin's +Robinson +Robitussin +Robitussin's +Robles +Robles's +Robson +Robt +Robt's +Robyn +Robyn's +Rocco +Rocco's +Rocha +Rocha's +Rochambeau +Rochambeau's +Roche +Roche's +Rochelle +Rochelle's +Rochester +Rochester's +Rock +Rockefeller +Rockford +Rockies +Rockies's +Rockne +Rockne's +Rockwell +Rocky +Rocky's +Rod +Rod's +Roddenberry +Roddenberry's +Roderick +Roderick's +Rodger +Rodger's +Rodgers +Rodin +Rodney +Rodolfo +Rodolfo's +Rodrick +Rodrick's +Rodrigo +Rodrigo's +Rodriguez +Rodriguez's +Rodriquez +Rodriquez's +Roeg +Roeg's +Roentgen +Rogelio +Rogelio's +Roger +Rogers +Roget +Roget's +Rojas +Rojas's +Roku +Roku's +Rolaids +Rolaids's +Roland +Rolando +Rolando's +Rolex +Rolex's +Rolland +Rollerblade +Rollins +Rolodex +Rolvaag +Rolvaag's +Roman +Roman's +Romanesque +Romanesque's +Romania +Romania's +Romanian +Romanian's +Romanians +Romanies +Romano +Romanov +Romanov's +Romans +Romansh +Romanticism +Romany +Romany's +Rome +Rome's +Romeo +Romero +Romero's +Romes +Rommel +Rommel's +Romney +Romulus +Romulus's +Ron +Ron's +Ronald +Ronald's +Ronda +Ronda's +Ronnie +Ronnie's +Ronny +Ronny's +Ronstadt +Ronstadt's +Rooney +Rooney's +Roosevelt +Roosevelt's +Root +Root's +Roquefort +Roquefort's +Roqueforts +Rorschach +Rory +Rory's +Rosa +Rosa's +Rosales +Rosales's +Rosalie +Rosalie's +Rosalind +Rosalind's +Rosalinda +Rosalinda's +Rosalyn +Rosalyn's +Rosanna +Rosanna's +Rosanne +Rosanne's +Rosario +Roscoe +Roscoe's +Rose +Rose's +Roseann +Roseann's +Roseau +Roseau's +Rosecrans +Rosecrans's +Rosella +Rosella's +Rosemarie +Rosemarie's +Rosemary +Rosemary's +Rosenberg +Rosenberg's +Rosendo +Rosendo's +Rosenzweig +Rosenzweig's +Rosetta +Rosicrucian +Rosie +Rosie's +Roslyn +Roslyn's +Ross +Ross's +Rossetti +Rossetti's +Rossini +Rossini's +Rostand +Rostov +Rostov's +Rostropovich +Rostropovich's +Roswell +Roswell's +Rotarian +Rotarian's +Roth +Roth's +Rothko +Rothschild +Rotterdam +Rotterdam's +Rottweiler +Rottweiler's +Rouault +Roumania +Roumania's +Rourke +Rourke's +Rousseau +Rousseau's +Rove +Rove's +Rover +Rowe +Rowena +Rowena's +Rowland +Rowland's +Rowling +Rowling's +Roxanne +Roxanne's +Roxie +Roxie's +Roxy +Roxy's +Roy +Roy's +Royal +Royce +Rozelle +Rozelle's +Rte +Ru +Ru's +Rubaiyat +Rubaiyat's +Rubbermaid +Rubbermaid's +Ruben +Ruben's +Rubens +Rubicon +Rubicon's +Rubik +Rubik's +Rubin +Rubin's +Rubinstein +Ruby +Ruby's +Ruchbah +Ruchbah's +Rudolf +Rudolph +Rudolph's +Rudy +Rudy's +Rudyard +Rudyard's +Rufus +Rufus's +Ruhr +Ruhr's +Ruiz +Ruiz's +Rukeyser +Rukeyser's +Rumania +Rumania's +Rumpelstiltskin +Rumpelstiltskin's +Rumsfeld +Rumsfeld's +Runnymede +Runyon +Rupert +Rupert's +Rush +Rush's +Rushdie +Rushdie's +Rushmore +Rushmore's +Ruskin +Russ +Russel +Russel's +Russell +Russell's +Russia +Russia's +Russian +Russian's +Russians +Russo +Russo's +Rustbelt +Rustbelt's +Rusty +Rusty's +Rutan +Rutan's +Rutgers +Ruth +Ruth's +Rutherford +Ruthie +Ruthie's +Rutledge +Rutledge's +Rwanda +Rwanda's +Rwandan +Rwandan's +Rwandans +Rwandas +Rx +Ryan +Ryan's +Rydberg +Rydberg's +Ryder +Ryukyu +Ryukyu's +S +S's +SALT's +SAM's +SAP +SAP's +SARS +SARS's +SC's +SE's +SIDS's +SOP's +SOS's +SW's +Saab +Saab's +Saar +Saarinen +Saatchi +Saatchi's +Sabbath +Sabbath's +Sabbaths +Sabik +Sabik's +Sabin +Sabina +Sabina's +Sabine +Sabine's +Sabre +Sabre's +Sabrina +Sabrina's +Sacajawea +Sacco +Sacco's +Sachs +Sachs's +Sacramento +Sacramento's +Sadat +Saddam +Saddam's +Sadducee +Sade +Sade's +Sadie +Sadie's +Sadr +Sadr's +Safavid +Safeway +Safeway's +Sagan +Sagan's +Saginaw +Saginaw's +Sagittarius +Sagittarius's +Sagittariuses +Sahara +Sahara's +Sahel +Saigon +Saigon's +Saiph +Saiph's +Sakai +Sakha +Sakha's +Sakhalin +Sakhalin's +Sakharov +Saki +Saki's +Saks +Sal +Saladin +Salado +Salamis +Salas +Salas's +Salazar +Salazar's +Salem +Salem's +Salerno +Salerno's +Salinas +Salinger +Salisbury +Salisbury's +Salish +Salish's +Salk +Sallie +Sallie's +Sallust +Sally +Sally's +Salome +Salome's +Salton +Salton's +Salvador +Salvador's +Salvadoran +Salvadoran's +Salvadorans +Salvadorian +Salvadorian's +Salvadorians +Salvatore +Salvatore's +Salween +Salween's +Salyut +Salyut's +Sam +Samantha +Samantha's +Samar +Samar's +Samara +Samaritan +Samaritan's +Samaritans +Samarkand +Samarkand's +Sammie +Sammie's +Sammy +Sammy's +Samoa +Samoa's +Samoan +Samoan's +Samoset +Samoset's +Samoyed +Samoyed's +Sampson +Sampson's +Samson +Samsonite +Samsonite's +Samsung +Samsung's +Samuel +Samuelson +Samuelson's +San +Sana +Sana's +Sanchez +Sanchez's +Sancho +Sancho's +Sand +Sandburg +Sanders +Sandinista +Sandoval +Sandoval's +Sandra +Sandra's +Sandy +Sandy's +Sanford +Sanford's +Sanforized +Sang +Sang's +Sanger +Sanhedrin +Sanka +Sanka's +Sankara +Sankara's +Sanskrit +Sanskrit's +Santa +Santana +Santana's +Santayana +Santeria +Santiago +Santiago's +Santos +Sappho +Sappho's +Sapporo +Sapporo's +Sara +Sara's +Saracen +Saracen's +Saracens +Saragossa +Saragossa's +Sarah +Sarajevo +Sarajevo's +Saran +Saran's +Sarasota +Sarasota's +Saratov +Saratov's +Sarawak +Sarawak's +Sardinia +Sardinia's +Sargasso +Sargasso's +Sargent +Sargon +Sargon's +Sarnoff +Sarnoff's +Saroyan +Saroyan's +Sarto +Sartre +Sasha +Sasha's +Saskatchewan +Saskatchewan's +Saskatoon +Saskatoon's +Sasquatch +Sasquatch's +Sassanian +Sassoon +Sat +Sat's +Satan +Satan's +Satanism +Satanism's +Satanist +Satanist's +Saturday +Saturday's +Saturdays +Saturn +Saturn's +Saturnalia +Saturnalia's +Saudi +Saudi's +Saudis +Saul +Saul's +Saunders +Saundra +Saundra's +Saussure +Sauterne +Sauterne's +Savage +Savannah +Savannah's +Savior +Savior's +Savonarola +Savoy +Savoyard +Savoyard's +Sawyer +Sawyer's +Saxon +Saxon's +Saxons +Saxony +Saxony's +Sayers +Sb +Sb's +Sc +Sc's +Scandinavia +Scandinavia's +Scandinavian +Scandinavian's +Scandinavians +Scaramouch +Scarborough +Scarlatti +Scheat +Scheat's +Schedar +Schedar's +Scheherazade +Scheherazade's +Schelling +Schenectady +Schenectady's +Schiaparelli +Schiaparelli's +Schick +Schick's +Schiller +Schindler +Schindler's +Schlesinger +Schlesinger's +Schliemann +Schlitz +Schlitz's +Schmidt +Schnabel +Schnauzer +Schnauzer's +Schneider +Schneider's +Schoenberg +Schoenberg's +Schopenhauer +Schrieffer +Schrieffer's +Schroeder +Schroeder's +Schubert +Schultz +Schultz's +Schulz +Schulz's +Schumann +Schumpeter +Schumpeter's +Schuyler +Schuyler's +Schuylkill +Schuylkill's +Schwartz +Schwartz's +Schwarzenegger +Schwarzenegger's +Schwarzkopf +Schwarzkopf's +Schweitzer +Schweppes +Schweppes's +Schwinger +Schwinger's +Schwinn +Schwinn's +Scientology +Scientology's +Scipio +Scipio's +Scopes +Scopes's +Scorpio +Scorpio's +Scorpios +Scorpius +Scorpius's +Scorsese +Scorsese's +Scot +Scot's +Scotch +Scotch's +Scotches +Scotchman +Scotchman's +Scotchmen +Scotland +Scotland's +Scots +Scotsman +Scotsman's +Scotsmen +Scotswoman +Scotswoman's +Scotswomen +Scott +Scottie +Scottie's +Scottish +Scottish's +Scottsdale +Scotty +Scrabble +Scrabble's +Scranton +Scriabin +Scribner +Scribner's +Scripture +Scripture's +Scriptures +Scrooge +Scruggs +Scruggs's +Scud +Sculley +Sculley's +Scylla +Scylla's +Scythia +Scythian +Se +Se's +Seaborg +Seagram +Seagram's +Sean +Sean's +Sears +Sears's +Seattle +Seattle's +Sebastian +Sebastian's +Sec +Seconal +Seconal's +Secretariat +Secretariat's +Secretary +Seder +Seder's +Seders +Sedna +Sedna's +Seebeck +Seebeck's +Sega +Sega's +Segovia +Segovia's +Segre +Segre's +Segundo +Segundo's +Seiko +Seiko's +Seine +Seine's +Seinfeld +Seinfeld's +Sejong +Sejong's +Selassie +Selassie's +Selectric +Selectric's +Selena +Selena's +Seleucid +Seleucus +Seleucus's +Selim +Selim's +Seljuk +Selkirk +Selkirk's +Sellers +Sellers's +Selma +Selma's +Selznick +Selznick's +Semarang +Seminole +Seminole's +Seminoles +Semiramis +Semite +Semite's +Semites +Semitic +Semitic's +Semitics +Semtex +Sen +Senate +Senate's +Senates +Senator +Sendai +Seneca +Seneca's +Senecas +Senegal +Senegal's +Senegalese +Senegalese's +Senghor +Senior +Sennacherib +Sennett +Sennett's +Sensurround +Sensurround's +Seoul +Seoul's +Sephardi +Sepoy +Sepoy's +Sept +Sept's +September +September's +Septembers +Septuagint +Septuagint's +Septuagints +Sequoya +Serb +Serb's +Serbia +Serbia's +Serbian +Serbian's +Serbians +Serbs +Serena +Serena's +Serengeti +Serengeti's +Sergei +Sergei's +Sergio +Sergio's +Serpens +Serra +Serra's +Serrano +Serrano's +Set +Set's +Seth +Seth's +Seton +Seurat +Seuss +Sevastopol +Sevastopol's +Severn +Severus +Seville +Seville's +Seward +Sextans +Sexton +Sexton's +Seychelles +Seychelles's +Seyfert +Seymour +Seymour's +Sgt +Shackleton +Shaffer +Shaffer's +Shaka +Shaka's +Shakespeare +Shakespeare's +Shakespearean +Shana +Shana's +Shane +Shane's +Shanghai +Shanghai's +Shankara +Shankara's +Shanna +Shanna's +Shannon +Shantung +Shapiro +Shapiro's +Shari +Shari'a +Sharif +Sharif's +Sharlene +Sharlene's +Sharon +Sharp +Sharp's +Sharpe +Sharpe's +Sharron +Sharron's +Shasta +Shasta's +Shaula +Shaula's +Shaun +Shaun's +Shauna +Shauna's +Shavian +Shavian's +Shavuot +Shavuot's +Shaw +Shaw's +Shawn +Shawn's +Shawna +Shawna's +Shawnee +Shawnee's +Shcharansky +Shcharansky's +Shea +Shea's +Sheba +Shebeli +Shebeli's +Sheena +Sheena's +Sheetrock +Sheetrock's +Sheffield +Sheffield's +Sheila +Sheila's +Shelby +Shelby's +Sheldon +Sheldon's +Shelia +Shelia's +Shell +Shell's +Shelley +Shelly +Shelly's +Shelton +Shelton's +Shenandoah +Shenyang +Shenyang's +Sheol +Shepard +Shepard's +Shepherd +Shepherd's +Sheppard +Sheppard's +Sheratan +Sheratan's +Sheraton +Sheraton's +Sheree +Sheree's +Sheri +Sheri's +Sheridan +Sherlock +Sherman +Sherpa +Sherri +Sherri's +Sherrie +Sherrie's +Sherry +Sherry's +Sherwood +Sheryl +Sheryl's +Shetland +Shetland's +Shetlands +Shevardnadze +Shevardnadze's +Shevat +Shevat's +Shi'ite +Shields +Shields's +Shijiazhuang +Shikoku +Shikoku's +Shillong +Shiloh +Shiloh's +Shinto +Shinto's +Shintoism +Shintoism's +Shintoisms +Shintos +Shiraz +Shiraz's +Shirley +Shirley's +Shiva +Shiva's +Shockley +Shockley's +Short +Short's +Shorthorn +Shoshone +Shoshone's +Shostakovitch +Shostakovitch's +Shrek +Shrek's +Shreveport +Shriner +Shropshire +Shula +Shula's +Shylock +Shylockian +Shylockian's +Si +Siam +Siam's +Siamese +Siamese's +Sian +Sian's +Sibelius +Siberia +Siberia's +Siberian +Siberian's +Sibyl +Sicilian +Sicilian's +Sicilians +Sicily +Sicily's +Sid +Sid's +Siddhartha +Siddhartha's +Sidney +Siegfried +Siemens +Sierpinski +Sierpinski's +Sigismund +Sigmund +Sigurd +Sihanouk +Sihanouk's +Sikh +Sikh's +Sikhism +Sikhs +Sikkim +Sikkimese +Sikorsky +Silas +Silas's +Silurian +Silurian's +Silva +Silva's +Silvia +Silvia's +Simenon +Simenon's +Simmental +Simmons +Simmons's +Simon +Simone +Simone's +Simpson +Simpson's +Simpsons +Sims +Sinai +Sinai's +Sinatra +Sinclair +Sindbad +Sindbad's +Sindhi +Sindhi's +Singapore +Singapore's +Singer +Singh +Singh's +Singleton +Singleton's +Sinhalese +Sinhalese's +Sinkiang +Sinkiang's +Sioux +Sioux's +Sirius +Sirius's +Sister +Sister's +Sisters +Sistine +Sisyphean +Sisyphus +Sisyphus's +Siva +Siva's +Sivan +Sivan's +Sjaelland +Sjaelland's +Skinner +Skinner's +Skippy +Skippy's +Skopje +Skye +Skylab +Skylab's +Skype +Skype's +Slackware +Slackware's +Slashdot +Slashdot's +Slater +Slater's +Slav +Slav's +Slavic +Slavic's +Slavonic +Slavonic's +Slavs +Slinky +Slinky's +Sloan +Sloane +Sloane's +Slocum +Slocum's +Slovak +Slovak's +Slovakia +Slovakian +Slovaks +Slovenia +Slovenia's +Slovenian +Slovenian's +Slovenians +Slurpee +Slurpee's +Sm +Sm's +Small +Small's +Smetana +Smirnoff +Smirnoff's +Smith +Smithson +Smithsonian +Smithsonian's +Smokey +Smokey's +Smolensk +Smollett +Smuts +Sn +Sn's +Snake +Snake's +Snapple +Snapple's +Snead +Snead's +Snell +Snell's +Snickers +Snickers's +Snider +Snider's +Snoopy +Snoopy's +Snow +Snowbelt +Snyder +Snyder's +Soave +Soave's +Socorro +Socorro's +Socrates +Socrates's +Socratic +Soddy +Sodom +Sodom's +Sofia +Sofia's +Soho +Sol +Sol's +Solis +Solis's +Solomon +Solon +Solzhenitsyn +Somali +Somali's +Somalia +Somalia's +Somalian +Somalian's +Somalians +Somalis +Somme +Somme's +Somoza +Somoza's +Son +Son's +Sondheim +Sondra +Sondra's +Songhai +Songhai's +Songhua +Songhua's +Sonia +Sonia's +Sonja +Sonja's +Sonny +Sonny's +Sontag +Sontag's +Sony +Sony's +Sonya +Sonya's +Sophia +Sophie +Sophie's +Sophoclean +Sophocles +Sopwith +Sopwith's +Sorbonne +Sorbonne's +Sosa +Sosa's +Soto +Soto's +Souphanouvong +Souphanouvong's +Sousa +Sousa's +South +South's +Southampton +Southeast +Southeast's +Southeasts +Southerner +Southerner's +Southerners +Southey +Souths +Southwest +Southwest's +Southwests +Soviet +Soweto +Soweto's +Soyinka +Soyinka's +Soyuz +Spaatz +Spaatz's +Spackle +Spahn +Spahn's +Spain +Spain's +Spam +Spam's +Spaniard +Spaniard's +Spaniards +Spanish +Spanish's +Sparks +Sparta +Sparta's +Spartacus +Spartan +Spartan's +Spartans +Spears +Speer +Speer's +Spence +Spencer +Spencerian +Spengler +Spengler's +Spenglerian +Spenser +Spenser's +Spenserian +Sperry +Sperry's +Sphinx +Sphinx's +Spica +Spica's +Spielberg +Spielberg's +Spillane +Spillane's +Spinoza +Spinx +Spinx's +Spiro +Spiro's +Spirograph +Spirograph's +Spitsbergen +Spitsbergen's +Spitz +Spitz's +Spock +Spokane +Springfield +Springfield's +Springsteen +Springsteen's +Sprint +Sprint's +Sprite +Sprite's +Sputnik +Sq +Squanto +Squibb +Squibb's +Sr +Sr's +Srinagar +Srivijaya +Srivijaya's +St +Stacey +Stacey's +Staci +Staci's +Stacie +Stacie's +Stacy +Stacy's +Stael +Stael's +Stafford +StairMaster +Stalin +Stalin's +Stalingrad +Stalingrad's +Stalinist +Stallone +Stallone's +Stamford +Stan +Stan's +Standish +Stanford +Stanford's +Stanislavsky +Stanley +Stanton +Staples +Staples's +Starbucks +Stark +Starkey +Starkey's +Starr +Starr's +Staten +Staten's +Staubach +Staubach's +Steadicam +Steele +Stefan +Stefan's +Stefanie +Stefanie's +Stein +Steinbeck +Steinem +Steinem's +Steiner +Steinmetz +Steinmetz's +Steinway +Steinway's +Stella +Stendhal +Stengel +Stengel's +Stephan +Stephan's +Stephanie +Stephanie's +Stephen +Stephens +Stephenson +Sterling +Sterling's +Stern +Sterne +Sterne's +Sterno +Stetson +Stetson's +Steuben +Steuben's +Steve +Steve's +Steven +Steven's +Stevens +Stevenson +Stevie +Stevie's +Stewart +Stewart's +Stieglitz +Stieglitz's +Stilton +Stilton's +Stimson +Stimson's +Stine +Stine's +Stirling +Stockhausen +Stockhausen's +Stockholm +Stockholm's +Stockton +Stoic +Stoic's +Stoicism +Stoicism's +Stokes +Stokes's +Stolichnaya +Stolichnaya's +Stolypin +Stolypin's +Stone +Stonehenge +Stoppard +Stoppard's +Stout +Stowe +Strabo +Strabo's +Stradivarius +Strasbourg +Strauss +Stravinsky +Stravinsky's +Streisand +Streisand's +Strickland +Strickland's +Strindberg +Stromboli +Strong +Strong's +Stu +Stu's +Stuart +Stuart's +Stuarts +Studebaker +Studebaker's +Stuttgart +Stuttgart's +Stuyvesant +Stygian +Styrofoam +Styrofoam's +Styrofoams +Styron +Styron's +Styx +Styx's +Suarez +Suarez's +Subaru +Subaru's +Sucre +Sucrets +Sucrets's +Sudan +Sudan's +Sudanese +Sudanese's +Sudetenland +Sudetenland's +Sudoku +Sudoku's +Sudra +Sudra's +Sue +Suetonius +Suez +Suffolk +Sufi +Sufism +Suharto +Suharto's +Sui +Sui's +Sukarno +Sukkot +Sukkoth +Sukkoth's +Sukkoths +Sulawesi +Sulawesi's +Suleiman +Suleiman's +Sulla +Sulla's +Sullivan +Sullivan's +Sumatra +Sumatra's +Sumeria +Sumeria's +Sumerian +Sumerian's +Summer +Summer's +Summers +Sumner +Sumner's +Sumter +Sun +Sun's +Sunbeam +Sunbeam's +Sunbelt +Sunbelt's +Sundanese +Sundanese's +Sundas +Sunday +Sunday's +Sundays +Sung +Sunkist +Sunkist's +Sunni +Sunni's +Sunnyvale +Superbowl +Superbowl's +Superfund +Superfund's +Superglue +Superglue's +Superior +Superman +Superman's +Surabaya +Surat +Surinam +Surinam's +Suriname +Suriname's +Surya +Surya's +Susan +Susan's +Susana +Susana's +Susanna +Susanne +Susanne's +Susie +Susie's +Susquehanna +Susquehanna's +Sussex +Sutherland +Sutherland's +Sutton +Sutton's +Suva +Suva's +Suwanee +Suwanee's +Suzanne +Suzanne's +Suzette +Suzette's +Suzhou +Suzhou's +Suzuki +Suzuki's +Suzy +Suzy's +Svalbard +Svalbard's +Sven +Sven's +Svengali +Swahili +Swahili's +Swahilis +Swammerdam +Swammerdam's +Swanee +Swansea +Swansea's +Swanson +Swanson's +Swazi +Swazi's +Swaziland +Swaziland's +Swede +Swede's +Sweden +Sweden's +Swedenborg +Swedenborg's +Swedes +Swedish +Swedish's +Sweeney +Sweeney's +Sweet +Swift +Swift's +Swinburne +Swinburne's +Swiss +Swiss's +Swissair +Swissair's +Swisses +Switzerland +Switzerland's +Sybil +Sybil's +Sydney +Sydney's +Sykes +Sykes's +Sylvester +Sylvester's +Sylvia +Sylvia's +Sylvie +Sylvie's +Synge +Syracuse +Syracuse's +Syria +Syria's +Syriac +Syrian +Syrian's +Syrians +Szechuan +Szechuan's +Szilard +Szilard's +Szymborska +Szymborska's +T +T'ang +T's +TB's +TKO's +TLC's +TNT's +TV's +TWA +TWA's +Ta +Ta's +Tabasco +Tabasco's +Tabatha +Tabatha's +Tabitha +Tabitha's +Tabriz +Tabriz's +Tacitus +Tacoma +Tacoma's +Tad +Tad's +Tadzhik +Tadzhik's +Tadzhikistan +Tadzhikistan's +Taegu +Taegu's +Taejon +Taft +Taft's +Tagalog +Tagalog's +Tagore +Tagus +Tagus's +Tahiti +Tahiti's +Tahitian +Tahitian's +Tahitians +Tahoe +Taichung +Taichung's +Taine +Taine's +Taipei +Taipei's +Taiping +Taiwan +Taiwan's +Taiwanese +Taiwanese's +Taiyuan +Tajikistan +Tajikistan's +Taklamakan +Taklamakan's +Talbot +Taliban +Taliban's +Taliesin +Tallahassee +Tallahassee's +Tallchief +Tallchief's +Talley +Talley's +Talleyrand +Talleyrand's +Tallinn +Tallinn's +Talmud +Talmud's +Talmudic +Talmuds +Tamara +Tamara's +Tameka +Tameka's +Tamera +Tamera's +Tamerlane +Tamerlane's +Tami +Tami's +Tamika +Tamika's +Tamil +Tamil's +Tammany +Tammany's +Tammi +Tammi's +Tammie +Tammie's +Tammuz +Tammuz's +Tammy +Tammy's +Tampa +Tampa's +Tampax +Tampax's +Tamra +Tamra's +Tamworth +Tancred +Taney +Tanganyika +Tanganyika's +Tangiers +Tangshan +Tania +Tania's +Tanisha +Tanisha's +Tanner +Tanner's +Tantalus +Tantalus's +Tanya +Tanya's +Tanzania +Tanzania's +Tanzanian +Tanzanian's +Tanzanians +Tao +Tao's +Taoism +Taoism's +Taoisms +Taoist +Taoist's +Taoists +Tara +Tara's +Tarantino +Tarantino's +Tarawa +Tarawa's +Tarazed +Tarazed's +Tarbell +Tarbell's +Target +Target's +Tarim +Tarkenton +Tarkenton's +Tarkington +Tartar +Tartar's +Tartars +Tartary +Tartuffe +Tarzan +Tarzan's +Tasha +Tasha's +Tashkent +Tashkent's +Tasman +Tasmania +Tasmania's +Tasmanian +Tass +Tatar +Tatar's +Tatars +Tate +Tatum +Taurus +Taurus's +Tauruses +Tawney +Taylor +Taylor's +Tb +Tb's +Tbilisi +Tbilisi's +Tc +Tc's +Tchaikovsky +Teasdale +Teasdale's +Technicolor +Tecumseh +Tecumseh's +Ted +Ted's +Teddy +Teddy's +Teflon +Teflon's +Teflons +Tegucigalpa +Tegucigalpa's +Teheran +Teheran's +Tehran +TelePrompter +Telemachus +Telemann +Teletype +Tell +Tell's +Teller +Telugu +Telugu's +Tempe +Templar +Templar's +Tennessee +Tennessee's +Tennyson +Tenochtitlan +Tenochtitlan's +Teotihuacan +Teotihuacan's +Terence +Teresa +Teresa's +Tereshkova +Teri +Teri's +Terkel +Terkel's +Terpsichore +Terpsichore's +Terr +Terr's +Terra +Terra's +Terran +Terran's +Terrance +Terrance's +Terrell +Terrell's +Terrence +Terrence's +Terri +Terri's +Terrie +Terrie's +Terry +Tertiary +Tertiary's +Tesla +Tess +Tessa +Tessa's +Tessie +Tessie's +Tet +Tet's +Tethys +Tethys's +Tetons +Teutonic +Tevet +Tevet's +Tex +Texaco +Texaco's +Texan +Texan's +Texans +Texas +Texas's +Th +Th's +Thackeray +Thad +Thad's +Thaddeus +Thai +Thai's +Thailand +Thailand's +Thais +Thales +Thalia +Thalia's +Thames +Thames's +Thanh +Thanh's +Thanksgiving +Thanksgiving's +Thanksgivings +Thant +Thar +Thar's +Tharp +Tharp's +Thatcher +Thea +Thea's +Thebes +Thebes's +Theiler +Theiler's +Thelma +Thelma's +Themistocles +Theocritus +Theodora +Theodore +Theodore's +Theodoric +Theodoric's +Theodosius +Theodosius's +Theosophy +Theravada +Theresa +Therese +Therese's +Thermopylae +Thermopylae's +Thermos +Theron +Theron's +Theseus +Theseus's +Thespian +Thespis +Thespis's +Thessalonian +Thessaly +Thessaly's +Thieu +Thieu's +Thimbu +Thomas +Thomas's +Thomism +Thomism's +Thomistic +Thompson +Thomson +Thor +Thor's +Thorazine +Thorazine's +Thoreau +Thoreau's +Thornton +Thornton's +Thoroughbred +Thorpe +Thoth +Thoth's +Thrace +Thrace's +Thracian +Thracian's +Thucydides +Thucydides's +Thule +Thule's +Thunderbird +Thunderbird's +Thur +Thurber +Thurman +Thurman's +Thurmond +Thurmond's +Thurs +Thursday +Thursday's +Thursdays +Thutmose +Thutmose's +Ti +Ti's +Tia +Tia's +Tianjin +Tianjin's +Tiber +Tiber's +Tiberius +Tibet +Tibet's +Tibetan +Tibetan's +Tibetans +Ticketmaster +Ticketmaster's +Ticonderoga +Tide +Tide's +Tienanmen +Tienanmen's +Tientsin +Tientsin's +Tiffany +Tigris +Tigris's +Tijuana +Tijuana's +Tillich +Tillman +Tillman's +Tilsit +Tim +Tim's +Timbuktu +Timbuktu's +Timex +Timex's +Timmy +Timmy's +Timon +Timon's +Timor +Timothy +Timur +Timur's +Timurid +Timurid's +Tina +Tina's +Ting +Ting's +Tinkerbell +Tinkerbell's +Tinkertoy +Tinseltown +Tinseltown's +Tintoretto +Tippecanoe +Tippecanoe's +Tipperary +Tirana +Tirana's +Tiresias +Tiresias's +Tisha +Tisha's +Tishri +Tishri's +Titan +Titan's +Titania +Titanic +Titian +Titian's +Titicaca +Tito +Tito's +Titus +Tl +Tl's +Tlaloc +Tlaloc's +Tlingit +Tlingit's +Tm +Tm's +Tobago +Tobago's +Toby +Tocantins +Tocqueville +Tod +Tod's +Todd +Togo +Togo's +Tojo +Tokay +Tokay's +Tokugawa +Tokyo +Tokyo's +Toledo +Toledo's +Toledos +Tolkien +Tolstoy +Tolstoy's +Toltec +Tolyatti +Tolyatti's +Tom +Tom's +Tomas +Tombaugh +Tombaugh's +Tomlin +Tomlin's +Tommie +Tommie's +Tommy +Tompkins +Tompkins's +Tomsk +Tonga +Tonga's +Tongan +Tongan's +Tongans +Toni +Toni's +Tonia +Tonia's +Tonto +Tonto's +Tony +Tonya +Tonya's +Topeka +Topeka's +Topsy +Topsy's +Torah +Torah's +Torahs +Tories +Toronto +Toronto's +Torquemada +Torrance +Torrens +Torres +Torricelli +Torricelli's +Tortola +Tortuga +Torvalds +Torvalds's +Tory +Tory's +Tosca +Tosca's +Toscanini +Toshiba +Toshiba's +Toto +Toto's +Toulouse +Townes +Townsend +Townsend's +Toynbee +Toynbee's +Toyoda +Toyoda's +Toyota +Toyota's +Tracey +Tracey's +Traci +Traci's +Tracie +Tracie's +Tracy +Tracy's +Trafalgar +Trafalgar's +Trailways +Trailways's +Trajan +Tran +Tran's +Transcaucasia +Transvaal +Transvaal's +Transylvania +Trappist +Trappist's +Travis +Travis's +Travolta +Travolta's +Treblinka +Trekkie +Trekkie's +Trent +Trent's +Trenton +Trenton's +Trevelyan +Trevino +Trevino's +Trevor +Trevor's +Trey +Trey's +Triangulum +Triangulum's +Triassic +Triassic's +Tricia +Tricia's +Trident +Trident's +Trieste +Trimurti +Trimurti's +Trina +Trina's +Trinidad +Trinidad's +Trinities +Trinity +Trinity's +Tripitaka +Tripoli +Tripoli's +Trippe +Trippe's +Trisha +Trisha's +Tristan +Tristan's +Triton +Triton's +Trobriand +Trobriand's +Trojan +Trojan's +Trojans +Trollope +Trondheim +Trondheim's +Tropicana +Tropicana's +Trotsky +Troy +Troy's +Troyes +Truckee +Truckee's +Trudeau +Trudy +Trudy's +Truffaut +Truffaut's +Trujillo +Truman +Truman's +Trumbull +Trumbull's +Trump +Trump's +Truth +Tsimshian +Tsimshian's +Tsingtao +Tsiolkovsky +Tsiolkovsky's +Tsitsihar +Tsitsihar's +Tsongkhapa +Tsongkhapa's +Tswana +Tswana's +Tuamotu +Tuamotu's +Tuareg +Tuareg's +Tubman +Tucker +Tucker's +Tucson +Tucson's +Tucuman +Tucuman's +Tudor +Tudor's +Tues +Tues's +Tuesday +Tuesday's +Tuesdays +Tulane +Tulane's +Tull +Tull's +Tulsa +Tulsa's +Tulsidas +Tulsidas's +Tums +Tums's +Tungus +Tungus's +Tunguska +Tunguska's +Tunis +Tunis's +Tunisia +Tunisia's +Tunisian +Tunisian's +Tunisians +Tunney +Tunney's +Tupi +Tupi's +Tupperware +Tupungato +Tupungato's +Turgenev +Turin +Turin's +Turing +Turing's +Turk +Turk's +Turkestan +Turkestan's +Turkey +Turkey's +Turkish +Turkish's +Turkmenistan +Turkmenistan's +Turks +Turner +Turpin +Tuscaloosa +Tuscaloosa's +Tuscan +Tuscan's +Tuscany +Tuscany's +Tuscarora +Tuscarora's +Tuscon +Tuscon's +Tuskegee +Tuskegee's +Tussaud +Tussaud's +Tut +Tut's +Tutankhamen +Tutsi +Tutu +Tutu's +Tuvalu +Tuvalu's +Twain +Tweed +Tweedledee +Tweedledee's +Tweedledum +Tweedledum's +Twila +Twila's +Twinkies +Twitter +Twitter's +Twizzlers +Twizzlers's +Ty +Ty's +Tycho +Tylenol +Tylenol's +Tyler +Tyler's +Tyndale +Tyndall +Tyre +Tyree +Tyree's +Tyrone +Tyson +Tyson's +U +U's +UBS +UBS's +UCLA +UCLA's +UFO's +UHF's +UK's +UN's +UNESCO's +UNICEF's +UNIX's +US's +USA's +USSR's +UT's +UV's +Ubangi +Ubuntu +Ubuntu's +Ucayali +Uccello +Uccello's +Udall +Ufa +Ufa's +Uganda +Uganda's +Ugandan +Ugandan's +Ugandans +Uighur +Uighur's +Ujungpandang +Ujungpandang's +Ukraine +Ukraine's +Ukrainian +Ukrainian's +Ukrainians +Ulster +Ulster's +Ultrasuede +Ultrasuede's +Ulyanovsk +Ulysses +Ulysses's +Umbriel +Umbriel's +Underwood +Underwood's +Ungava +Unicode +Unicode's +Unilever +Unilever's +Union +Union's +Unions +Uniroyal +Uniroyal's +Unitarian +Unitarian's +Unitarianism +Unitarianism's +Unitarianisms +Unitarians +Unitas +Unitas's +Unukalhai +Unukalhai's +Upanishads +Updike +Upjohn +Upjohn's +Upton +Upton's +Ur +Ural +Urals +Urania +Urania's +Uranus +Uranus's +Urban +Urban's +Urdu +Urdu's +Urey +Uriah +Uriel +Uris +Urquhart +Ursa +Ursa's +Ursula +Ursuline +Uruguay +Uruguay's +Uruguayan +Uruguayan's +Uruguayans +Urumqi +Usenet +Usenet's +Ustinov +Utah +Utah's +Ute +Ute's +Utopia +Utopia's +Utopian +Utopian's +Utopians +Utopias +Utrecht +Utrecht's +Utrillo +Utrillo's +Uzbek +Uzbek's +Uzbekistan +Uzbekistan's +Uzi +Uzi's +V +V's +VAT's +VCR's +VD's +VHF's +VI's +VIP's +VLF's +Va +Vader +Vader's +Vaduz +Vaduz's +Val +Val's +Valarie +Valarie's +Valdez +Valdez's +Valencia +Valencia's +Valenti +Valenti's +Valentin +Valentin's +Valentine +Valentine's +Valentino +Valenzuela +Valenzuela's +Valeria +Valeria's +Valerian +Valerian's +Valerie +Valerie's +Valhalla +Valhalla's +Valium +Valium's +Valiums +Valkyrie +Valkyrie's +Valkyries +Valletta +Valletta's +Valois +Valparaiso +Valparaiso's +Valvoline +Valvoline's +Van +Vance +Vancouver +Vancouver's +Vandal +Vandal's +Vanderbilt +Vandyke +Vanessa +Vanessa's +Vang +Vang's +Vanuatu +Vanuatu's +Vanzetti +Vanzetti's +Varanasi +Varese +Vargas +Vaseline +Vaseline's +Vaselines +Vasquez +Vasquez's +Vassar +Vassar's +Vatican +Vatican's +Vauban +Vaughan +Vaughn +Vaughn's +Vazquez +Vazquez's +Veblen +Veblen's +Veda +Veda's +Vedanta +Vedas +Vega +Vega's +Vegas +Vegemite +Vegemite's +Vela +Velcro +Velcro's +Velcros +Velez +Velez's +Velma +Velma's +Velveeta +Velveeta's +Venetian +Venetian's +Venetians +Venezuela +Venezuela's +Venezuelan +Venezuelan's +Venezuelans +Venice +Venice's +Venn +Venn's +Ventolin +Ventolin's +Venus +Venus's +Venuses +Venusian +Vera +Vera's +Veracruz +Veracruz's +Verde +Verdi +Verdun +Verdun's +Vergil +Vergil's +Verizon +Verizon's +Verlaine +Verlaine's +Vermeer +Vermont +Vermont's +Vermonter +Vermonter's +Vern +Vern's +Verna +Verna's +Verne +Vernon +Vernon's +Verona +Verona's +Veronese +Veronica +Versailles +Versailles's +Vesalius +Vesalius's +Vespasian +Vespucci +Vespucci's +Vesta +Vesta's +Vesuvius +Vesuvius's +Viacom +Viacom's +Viagra +Vic +Vicente +Vicente's +Vichy +Vicki +Vicki's +Vickie +Vickie's +Vicksburg +Vicksburg's +Vicky +Victor +Victor's +Victoria +Victoria's +Victorian +Victorian's +Victorians +Victrola +Victrola's +Vidal +Vidal's +Vienna +Vienna's +Viennese +Vientiane +Vientiane's +Vietcong +Vietminh +Vietnam +Vietnam's +Vietnamese +Vietnamese's +Vijayanagar +Vijayanagar's +Vijayawada +Vijayawada's +Viking +Viking's +Vikings +Vila +Vila's +Villa +Villarreal +Villarreal's +Villon +Vilma +Vilma's +Vilnius +Vilnius's +Vilyui +Vilyui's +Vince +Vince's +Vincent +Vincent's +Vindemiatrix +Vindemiatrix's +Vinson +Vinson's +Viola +Viola's +Violet +Violet's +Virgie +Virgie's +Virgil +Virgil's +Virginia +Virginia's +Virginian +Virginian's +Virginians +Virgo +Virgo's +Virgos +Visa +Visa's +Visakhapatnam +Visayans +Vishnu +Vishnu's +Visigoth +Visigoth's +Vistula +Vistula's +Vitim +Vitim's +Vito +Vito's +Vitus +Vitus's +Vivaldi +Vivekananda +Vivekananda's +Vivian +Vivienne +Vivienne's +Vlad +Vlad's +Vladimir +Vladivostok +Vladivostok's +Vlaminck +Vlasic +Vlasic's +Vogue +Vogue's +Volcker +Volcker's +Voldemort +Voldemort's +Volga +Volga's +Volgograd +Volgograd's +Volkswagen +Volkswagen's +Volstead +Volstead's +Volta +Voltaire +Voltaire's +Volvo +Volvo's +Vonda +Vonda's +Vonnegut +Vonnegut's +Voronezh +Vorster +Vorster's +Voyager +Voyager's +Vuitton +Vuitton's +Vulcan +Vulcan's +Vulgate +Vulgate's +Vulgates +W +W's +WASP's +WATS's +WHO's +WWW's +Wabash +Wabash's +Wac +Waco +Wade +Wagner +Wagner's +Wagnerian +Wahhabi +Waikiki +Waite +Waite's +Wake +Wake's +Waksman +Wald +Wald's +Waldemar +Waldemar's +Walden +Walden's +Waldensian +Waldheim +Waldo +Waldo's +Waldorf +Waldorf's +Wales +Wales's +Walesa +Walgreen +Walgreen's +Walker +Walker's +Walkman +Wall +Wall's +Wallace +Wallenstein +Waller +Wallis +Walloon +Walls +Walmart +Walmart's +Walpole +Walpole's +Walpurgisnacht +Walsh +Walsh's +Walt +Walt's +Walter +Walters +Walton +Walton's +Wanamaker +Wanamaker's +Wanda +Wanda's +Wang +Wang's +Wankel +Wankel's +Ward +Ware +Ware's +Warhol +Waring +Waring's +Warner +Warner's +Warren +Warsaw +Warsaw's +Warwick +Wasatch +Wasatch's +Wash +Washington +Washington's +Washingtonian +Washingtonian's +Washingtonians +Wasp +Wassermann +Waterbury +Waterford +Watergate +Waterloo +Waterloo's +Waterloos +Waters +Waters's +Watkins +Watson +Watt +Watteau +Watts +Watusi +Waugh +Wayne +Weaver +Weaver's +Webb +Weber +Webern +Webern's +Webster +Webster's +Websters +Wed +Wed's +Weddell +Weddell's +Wedgwood +Wednesday +Wednesday's +Wednesdays +Weeks +Weeks's +Wehrmacht +Wei +Wei's +Weierstrass +Weierstrass's +Weill +Weill's +Weinberg +Weinberg's +Weiss +Weiss's +Weissmuller +Weissmuller's +Weizmann +Welch +Weldon +Weldon's +Welland +Welland's +Weller +Weller's +Welles +Wellington +Wellington's +Wellingtons +Wells +Welsh +Welsh's +Welshman +Welshman's +Welshmen +Wendell +Wendell's +Wendi +Wendi's +Wendy +Wendy's +Wesak +Wesak's +Wesley +Wesley's +Wesleyan +Wesleyan's +Wessex +Wesson +Wesson's +West +West's +Western +Western's +Westerner +Westerns +Westinghouse +Westminster +Weston +Weston's +Westphalia +Wests +Weyden +Weyden's +Wezen +Wezen's +Wharton +Wheaties +Wheaties's +Wheatstone +Wheatstone's +Wheeler +Wheeler's +Wheeling +Wheeling's +Whig +Whig's +Whigs +Whipple +Whipple's +Whirlpool +Whirlpool's +Whistler +Whitaker +White +White's +Whitefield +Whitefield's +Whitehall +Whitehead +Whitehorse +Whitehorse's +Whiteley +Whiteley's +Whites +Whitfield +Whitfield's +Whitley +Whitley's +Whitman +Whitney +Whitney's +Whitsunday +Whitsunday's +Whitsundays +Whittier +Wicca +Wichita +Wichita's +Wiemar +Wiemar's +Wiesel +Wiesel's +Wiesenthal +Wiesenthal's +Wiggins +Wigner +Wigner's +Wii +Wii's +Wikipedia +Wikipedia's +Wilberforce +Wilbert +Wilbert's +Wilbur +Wilbur's +Wilburn +Wilburn's +Wilcox +Wilcox's +Wilda +Wilda's +Wilde +Wilder +Wiles +Wiley +Wiley's +Wilford +Wilford's +Wilfred +Wilfred's +Wilfredo +Wilfredo's +Wilhelm +Wilhelm's +Wilhelmina +Wilhelmina's +Wilkerson +Wilkerson's +Wilkes +Wilkins +Wilkinson +Wilkinson's +Will +Will's +Willa +Willa's +Willamette +Willamette's +Willard +Willemstad +William +Williams +Williamson +Willie +Willie's +Willis +Willy +Willy's +Wilma +Wilma's +Wilmer +Wilmer's +Wilmington +Wilmington's +Wilson +Wilson's +Wilsonian +Wilton +Wilton's +Wimbledon +Wimbledon's +Wimsey +Wimsey's +Winchell +Winchell's +Winchester +Windbreaker +Windex +Windex's +Windhoek +Windows +Windsor +Windsor's +Windsors +Windward +Windward's +Winesap +Winesap's +Winfred +Winfred's +Winfrey +Winfrey's +Winifred +Winifred's +Winkle +Winkle's +Winnebago +Winnebago's +Winnie +Winnipeg +Winnipeg's +Winston +Winston's +Winters +Winthrop +Winthrop's +Wis +Wisconsin +Wisconsin's +Wisconsinite +Wisconsinite's +Wisconsinites +Wise +Wise's +Witt +Witt's +Wittgenstein +Wittgenstein's +Witwatersrand +Wm +Wm's +Wobegon +Wobegon's +Wodehouse +Wodehouse's +Wolf +Wolfe +Wolff +Wolfgang +Wolfgang's +Wollongong +Wollstonecraft +Wollstonecraft's +Wolsey +Wonder +Wonderbra +Wonderbra's +Wong +Wong's +Wood +Woodard +Woodard's +Woodhull +Woodhull's +Woodrow +Woodrow's +Woods +Woodstock +Woodstock's +Woodward +Woodward's +Woolf +Woolite +Woolite's +Woolongong +Woolongong's +Woolworth +Wooster +Wooster's +Wooten +Wooten's +Worcester +Worcester's +Worcesters +Worcestershire +Wordsworth +Wordsworth's +Workman +Workman's +Worms +Wotan +Wotan's +Wovoka +Wovoka's +Wozniak +Wozniak's +Wozzeck +Wozzeck's +Wrangell +Wrangell's +Wren +Wright +Wrigley +Wrigley's +Wroclaw +Wroclaw's +Wu +Wu's +Wuhan +Wurlitzer +Wurlitzer's +Wyatt +Wycherley +Wycherley's +Wycliffe +Wycliffe's +Wyeth +Wylie +Wylie's +Wynn +Wynn's +Wyo +Wyoming +Wyoming's +Wyomingite +Wyomingite's +Wyomingites +X +X's +XEmacs +XEmacs's +XL's +Xanadu +Xanthippe +Xavier +Xe +Xe's +Xenakis +Xenakis's +Xenia +Xenia's +Xenophon +Xerox +Xerox's +Xeroxes +Xerxes +Xhosa +Xhosa's +Xi'an +Xiaoping +Xiaoping's +Ximenes +Xingu +Xingu's +Xiongnu +Xiongnu's +Xmas +Xmas's +Xmases +Xochipilli +Xochipilli's +Xuzhou +Xuzhou's +Y +Y's +Yacc +Yacc's +Yahoo +Yahoo's +Yahtzee +Yahtzee's +Yahweh +Yahweh's +Yakima +Yakut +Yakut's +Yakutsk +Yale +Yale's +Yalow +Yalow's +Yalta +Yalta's +Yalu +Yalu's +Yamagata +Yamagata's +Yamaha +Yamaha's +Yamoussoukro +Yang +Yangon +Yangon's +Yangtze +Yangtze's +Yank +Yank's +Yankee +Yankee's +Yankees +Yanks +Yaobang +Yaobang's +Yaounde +Yaounde's +Yaqui +Yaroslavl +Yataro +Yataro's +Yates +Yb +Yb's +Yeager +Yeager's +Yeats +Yeats's +Yekaterinburg +Yellowknife +Yellowstone +Yellowstone's +Yeltsin +Yemen +Yemen's +Yemeni +Yemeni's +Yemenis +Yenisei +Yenisei's +Yerevan +Yerkes +Yerkes's +Yesenia +Yesenia's +Yevtushenko +Yevtushenko's +Yggdrasil +Yiddish +Yiddish's +Ymir +Ymir's +Yoda +Yoda's +Yoknapatawpha +Yoknapatawpha's +Yoko +Yoko's +Yokohama +Yolanda +Yolanda's +Yong +Yong's +Yonkers +York +York's +Yorkie +Yorkshire +Yorkshire's +Yorktown +Yorktown's +Yoruba +Yoruba's +Yosemite +Yosemite's +Yossarian +Yossarian's +YouTube +YouTube's +Young +Youngstown +Ypres +Ypres's +Ypsilanti +Yuan +Yuan's +Yucatan +Yucatan's +Yugo +Yugoslav +Yugoslav's +Yugoslavia +Yugoslavia's +Yugoslavian +Yugoslavian's +Yugoslavians +Yukon +Yukon's +Yule +Yule's +Yules +Yuletide +Yuletide's +Yuletides +Yunnan +Yunnan's +Yuri +Yuri's +Yves +Yves's +Yvette +Yvette's +Yvonne +Yvonne's +Z +Z's +Zachariah +Zachariah's +Zachary +Zachary's +Zachery +Zachery's +Zagreb +Zagreb's +Zaire +Zaire's +Zairian +Zambezi +Zambezi's +Zambia +Zambia's +Zambian +Zambian's +Zambians +Zamboni +Zamenhof +Zamenhof's +Zamora +Zane +Zane's +Zanuck +Zanuck's +Zanzibar +Zanzibar's +Zapata +Zaporozhye +Zapotec +Zappa +Zappa's +Zara +Zara's +Zebedee +Zechariah +Zedekiah +Zedekiah's +Zedong +Zedong's +Zeffirelli +Zeffirelli's +Zeke +Zeke's +Zelig +Zelma +Zelma's +Zen +Zen's +Zenger +Zenger's +Zeno +Zeno's +Zens +Zephaniah +Zephyrus +Zeppelin +Zest +Zest's +Zeus +Zeus's +Zhengzhou +Zhivago +Zhivago's +Zhukov +Zibo +Zibo's +Ziegfeld +Ziegler +Ziegler's +Ziggy +Ziggy's +Zimbabwe +Zimbabwe's +Zimbabwean +Zimbabwean's +Zimbabweans +Zimmerman +Zimmerman's +Zinfandel +Zinfandel's +Zion +Zion's +Zionism +Zionism's +Zionisms +Zionist +Zionist's +Zionists +Zions +Ziploc +Zn +Zn's +Zoe +Zoe's +Zola +Zola's +Zollverein +Zoloft +Zomba +Zomba's +Zorn +Zoroaster +Zoroaster's +Zoroastrian +Zoroastrian's +Zoroastrianism +Zoroastrianism's +Zoroastrianisms +Zorro +Zorro's +Zosma +Zosma's +Zr +Zr's +Zsigmondy +Zubenelgenubi +Zubenelgenubi's +Zubeneschamali +Zubeneschamali's +Zukor +Zukor's +Zulu +Zulu's +Zulus +Zuni +Zwingli +Zwingli's +Zworykin +Zyrtec +Zyrtec's +Zyuganov +Zyuganov's +a +aardvark +aardvark's +aardvarks +abaci +aback +abacus +abacus's +abacuses +abaft +abalone +abalone's +abalones +abandon +abandoned +abandoning +abandonment +abandonment's +abandons +abase +abased +abasement +abasement's +abases +abash +abashed +abashes +abashing +abasing +abate +abated +abatement +abatement's +abates +abating +abattoir +abattoir's +abattoirs +abbess +abbess's +abbesses +abbey +abbey's +abbeys +abbot +abbot's +abbots +abbreviate +abbreviated +abbreviates +abbreviating +abbreviation +abbreviation's +abbreviations +abdicate +abdicated +abdicates +abdicating +abdication +abdication's +abdications +abdomen +abdomen's +abdomens +abdominal +abduct +abducted +abducting +abduction +abduction's +abductions +abductor +abductor's +abductors +abducts +abeam +abed +aberrant +aberration +aberration's +aberrations +abet +abets +abetted +abetter +abetter's +abetters +abetting +abettor +abettor's +abettors +abeyance +abeyance's +abhor +abhorred +abhorrence +abhorrence's +abhorrent +abhorring +abhors +abide +abided +abides +abiding +abilities +ability +ability's +abject +abjectly +abjuration +abjuration's +abjurations +abjure +abjured +abjures +abjuring +ablative +ablative's +ablatives +ablaze +able +abler +ablest +abloom +ablution +ablution's +ablutions +ably +abnegate +abnegated +abnegates +abnegating +abnegation +abnegation's +abnormal +abnormalities +abnormality +abnormality's +abnormally +aboard +abode +abode's +abodes +abolish +abolished +abolishes +abolishing +abolition +abolition's +abolitionist +abolitionist's +abolitionists +abominable +abominably +abominate +abominated +abominates +abominating +abomination +abomination's +abominations +aboriginal +aboriginal's +aboriginals +aborigine +aborigine's +aborigines +abort +aborted +aborting +abortion +abortion's +abortionist +abortionist's +abortionists +abortions +abortive +aborts +abound +abounded +abounding +abounds +about +above +above's +aboveboard +abracadabra +abracadabra's +abrade +abraded +abrades +abrading +abrasion +abrasion's +abrasions +abrasive +abrasive's +abrasively +abrasiveness +abrasiveness's +abrasives +abreast +abridge +abridged +abridgement +abridgement's +abridgements +abridges +abridging +abridgment +abridgment's +abridgments +abroad +abrogate +abrogated +abrogates +abrogating +abrogation +abrogation's +abrogations +abrupt +abrupter +abruptest +abruptly +abruptness +abruptness's +abscess +abscess's +abscessed +abscesses +abscessing +abscissa +abscissa's +abscissae +abscissas +abscond +absconded +absconding +absconds +absence +absence's +absences +absent +absented +absentee +absentee's +absenteeism +absenteeism's +absentees +absenting +absently +absents +absinth +absinth's +absinthe +absinthe's +absolute +absolute's +absolutely +absolutes +absolutest +absolution +absolution's +absolutism +absolutism's +absolve +absolved +absolves +absolving +absorb +absorbed +absorbency +absorbency's +absorbent +absorbent's +absorbents +absorbing +absorbs +absorption +absorption's +abstain +abstained +abstainer +abstainer's +abstainers +abstaining +abstains +abstemious +abstention +abstention's +abstentions +abstinence +abstinence's +abstinent +abstract +abstract's +abstracted +abstractedly +abstracting +abstraction +abstraction's +abstractions +abstractly +abstractness +abstractness's +abstractnesses +abstracts +abstruse +abstrusely +abstruseness +abstruseness's +absurd +absurder +absurdest +absurdities +absurdity +absurdity's +absurdly +abundance +abundance's +abundances +abundant +abundantly +abuse +abuse's +abused +abuser +abuser's +abusers +abuses +abusing +abusive +abusively +abusiveness +abusiveness's +abut +abutment +abutment's +abutments +abuts +abutted +abutting +abuzz +abysmal +abysmally +abyss +abyss's +abysses +acacia +acacia's +acacias +academia +academia's +academic +academic's +academical +academically +academician +academician's +academicians +academics +academies +academy +academy's +acanthi +acanthus +acanthus's +acanthuses +accede +acceded +accedes +acceding +accelerate +accelerated +accelerates +accelerating +acceleration +acceleration's +accelerations +accelerator +accelerator's +accelerators +accent +accent's +accented +accenting +accents +accentuate +accentuated +accentuates +accentuating +accentuation +accentuation's +accept +acceptability +acceptability's +acceptable +acceptably +acceptance +acceptance's +acceptances +accepted +accepting +accepts +access +access's +accessed +accesses +accessibility +accessibility's +accessible +accessibly +accessing +accession +accession's +accessioned +accessioning +accessions +accessories +accessory +accessory's +accident +accident's +accidental +accidental's +accidentally +accidentals +accidents +acclaim +acclaim's +acclaimed +acclaiming +acclaims +acclamation +acclamation's +acclimate +acclimated +acclimates +acclimating +acclimation +acclimation's +acclimatization +acclimatization's +acclimatize +acclimatized +acclimatizes +acclimatizing +accolade +accolade's +accolades +accommodate +accommodated +accommodates +accommodating +accommodation +accommodation's +accommodations +accompanied +accompanies +accompaniment +accompaniment's +accompaniments +accompanist +accompanist's +accompanists +accompany +accompanying +accomplice +accomplice's +accomplices +accomplish +accomplished +accomplishes +accomplishing +accomplishment +accomplishment's +accomplishments +accord +accord's +accordance +accordance's +accorded +according +accordingly +accordion +accordion's +accordions +accords +accost +accost's +accosted +accosting +accosts +account +account's +accountability +accountability's +accountable +accountancy +accountancy's +accountant +accountant's +accountants +accounted +accounting +accounting's +accounts +accouterments +accouterments's +accoutrements +accredit +accreditation +accreditation's +accredited +accrediting +accredits +accretion +accretion's +accretions +accrual +accrual's +accruals +accrue +accrued +accrues +accruing +acculturation +acculturation's +accumulate +accumulated +accumulates +accumulating +accumulation +accumulation's +accumulations +accumulative +accumulator +accuracy +accuracy's +accurate +accurately +accurateness +accurateness's +accursed +accurst +accusation +accusation's +accusations +accusative +accusative's +accusatives +accusatory +accuse +accused +accuser +accuser's +accusers +accuses +accusing +accusingly +accustom +accustomed +accustoming +accustoms +ace +ace's +aced +acerbic +acerbity +acerbity's +aces +acetaminophen +acetaminophen's +acetate +acetate's +acetates +acetic +acetone +acetone's +acetylene +acetylene's +ache +ache's +ached +aches +achier +achiest +achievable +achieve +achieved +achievement +achievement's +achievements +achiever +achiever's +achievers +achieves +achieving +aching +achoo +achoo's +achromatic +achy +acid +acid's +acidic +acidified +acidifies +acidify +acidifying +acidity +acidity's +acidly +acids +acidulous +acing +acknowledge +acknowledged +acknowledgement +acknowledgement's +acknowledgements +acknowledges +acknowledging +acknowledgment +acknowledgment's +acknowledgments +acme +acme's +acmes +acne +acne's +acolyte +acolyte's +acolytes +aconite +aconite's +aconites +acorn +acorn's +acorns +acoustic +acoustical +acoustically +acoustics +acoustics's +acquaint +acquaintance +acquaintance's +acquaintances +acquainted +acquainting +acquaints +acquiesce +acquiesced +acquiescence +acquiescence's +acquiescent +acquiesces +acquiescing +acquirable +acquire +acquired +acquirement +acquirement's +acquires +acquiring +acquisition +acquisition's +acquisitions +acquisitive +acquisitiveness +acquisitiveness's +acquit +acquits +acquittal +acquittal's +acquittals +acquitted +acquitting +acre +acre's +acreage +acreage's +acreages +acres +acrid +acrider +acridest +acrimonious +acrimony +acrimony's +acrobat +acrobat's +acrobatic +acrobatics +acrobatics's +acrobats +acronym +acronym's +acronyms +across +acrostic +acrostic's +acrostics +acrylic +acrylic's +acrylics +act +act's +acted +acting +acting's +actinium +actinium's +action +action's +actionable +actions +activate +activated +activates +activating +activation +activation's +active +active's +actively +actives +activism +activism's +activist +activist's +activists +activities +activity +activity's +actor +actor's +actors +actress +actress's +actresses +acts +actual +actualities +actuality +actuality's +actualization +actualization's +actualize +actualized +actualizes +actualizing +actually +actuarial +actuaries +actuary +actuary's +actuate +actuated +actuates +actuating +actuator +actuator's +actuators +acuity +acuity's +acumen +acumen's +acupuncture +acupuncture's +acupuncturist +acupuncturist's +acupuncturists +acute +acute's +acutely +acuteness +acuteness's +acuter +acutes +acutest +ad +ad's +adage +adage's +adages +adagio +adagio's +adagios +adamant +adamant's +adamantly +adapt +adaptability +adaptability's +adaptable +adaptation +adaptation's +adaptations +adapted +adapter +adapter's +adapters +adapting +adaptive +adaptor +adaptor's +adaptors +adapts +add +added +addend +addend's +addenda +addends +addendum +addendum's +addendums +adder +adder's +adders +addict +addict's +addicted +addicting +addiction +addiction's +addictions +addictive +addicts +adding +addition +addition's +additional +additionally +additions +additive +additive's +additives +addle +addled +addles +addling +address +address's +addressable +addressed +addressee +addressee's +addressees +addresses +addressing +adds +adduce +adduced +adduces +adducing +adenoid +adenoid's +adenoidal +adenoids +adept +adept's +adeptly +adeptness +adeptness's +adepts +adequacy +adequacy's +adequate +adequately +adhere +adhered +adherence +adherence's +adherent +adherent's +adherents +adheres +adhering +adhesion +adhesion's +adhesive +adhesive's +adhesives +adiabatic +adieu +adieu's +adieus +adieux +adipose +adjacent +adjacently +adjectival +adjectivally +adjective +adjective's +adjectives +adjoin +adjoined +adjoining +adjoins +adjourn +adjourned +adjourning +adjournment +adjournment's +adjournments +adjourns +adjudge +adjudged +adjudges +adjudging +adjudicate +adjudicated +adjudicates +adjudicating +adjudication +adjudication's +adjudicator +adjudicator's +adjudicators +adjunct +adjunct's +adjuncts +adjuration +adjuration's +adjurations +adjure +adjured +adjures +adjuring +adjust +adjustable +adjusted +adjuster +adjuster's +adjusters +adjusting +adjustment +adjustment's +adjustments +adjustor +adjustor's +adjustors +adjusts +adjutant +adjutant's +adjutants +adman +adman's +admen +administer +administered +administering +administers +administrate +administrated +administrates +administrating +administration +administration's +administrations +administrative +administratively +administrator +administrator's +administrators +admirable +admirably +admiral +admiral's +admirals +admiralty +admiralty's +admiration +admiration's +admire +admired +admirer +admirer's +admirers +admires +admiring +admiringly +admissibility +admissibility's +admissible +admission +admission's +admissions +admit +admits +admittance +admittance's +admitted +admittedly +admitting +admixture +admixture's +admixtures +admonish +admonished +admonishes +admonishing +admonishment +admonishment's +admonishments +admonition +admonition's +admonitions +admonitory +ado +ado's +adobe +adobe's +adobes +adolescence +adolescence's +adolescences +adolescent +adolescent's +adolescents +adopt +adopted +adopting +adoption +adoption's +adoptions +adoptive +adopts +adorable +adorably +adoration +adoration's +adore +adored +adores +adoring +adoringly +adorn +adorned +adorning +adornment +adornment's +adornments +adorns +adrenal +adrenal's +adrenaline +adrenaline's +adrenals +adrift +adroit +adroitly +adroitness +adroitness's +ads +adulate +adulated +adulates +adulating +adulation +adulation's +adult +adult's +adulterant +adulterant's +adulterants +adulterate +adulterated +adulterates +adulterating +adulteration +adulteration's +adulterer +adulterer's +adulterers +adulteress +adulteress's +adulteresses +adulteries +adulterous +adultery +adultery's +adulthood +adulthood's +adults +adumbrate +adumbrated +adumbrates +adumbrating +adumbration +adumbration's +advance +advance's +advanced +advancement +advancement's +advancements +advances +advancing +advantage +advantage's +advantaged +advantageous +advantageously +advantages +advantaging +advent +advent's +adventitious +advents +adventure +adventure's +adventured +adventurer +adventurer's +adventurers +adventures +adventuresome +adventuress +adventuress's +adventuresses +adventuring +adventurous +adventurously +adverb +adverb's +adverbial +adverbial's +adverbials +adverbs +adversarial +adversaries +adversary +adversary's +adverse +adversely +adverser +adversest +adversities +adversity +adversity's +advert +advert's +adverted +adverting +advertise +advertised +advertisement +advertisement's +advertisements +advertiser +advertiser's +advertisers +advertises +advertising +advertising's +adverts +advice +advice's +advisability +advisability's +advisable +advise +advised +advisedly +advisement +advisement's +adviser +adviser's +advisers +advises +advising +advisor +advisor's +advisories +advisors +advisory +advisory's +advocacy +advocacy's +advocate +advocate's +advocated +advocates +advocating +adz +adz's +adze +adze's +adzes +aegis +aegis's +aeon +aeon's +aeons +aerate +aerated +aerates +aerating +aeration +aeration's +aerator +aerator's +aerators +aerial +aerial's +aerialist +aerialist's +aerialists +aerials +aerie +aerie's +aeries +aerobatics +aerobatics's +aerobic +aerobics +aerobics's +aerodynamic +aerodynamically +aerodynamics +aerodynamics's +aeronautical +aeronautics +aeronautics's +aerosol +aerosol's +aerosols +aerospace +aerospace's +aery +aery's +aesthete +aesthete's +aesthetes +aesthetic +aesthetically +aesthetics +aesthetics's +afar +affability +affability's +affable +affably +affair +affair's +affairs +affect +affect's +affectation +affectation's +affectations +affected +affecting +affection +affection's +affectionate +affectionately +affections +affects +affidavit +affidavit's +affidavits +affiliate +affiliate's +affiliated +affiliates +affiliating +affiliation +affiliation's +affiliations +affinities +affinity +affinity's +affirm +affirmation +affirmation's +affirmations +affirmative +affirmative's +affirmatively +affirmatives +affirmed +affirming +affirms +affix +affix's +affixed +affixes +affixing +afflict +afflicted +afflicting +affliction +affliction's +afflictions +afflicts +affluence +affluence's +affluent +affluently +afford +affordable +afforded +affording +affords +afforest +afforestation +afforestation's +afforested +afforesting +afforests +affray +affray's +affrays +affront +affront's +affronted +affronting +affronts +afghan +afghan's +afghans +aficionado +aficionado's +aficionados +afield +afire +aflame +afloat +aflutter +afoot +aforementioned +aforesaid +aforethought +afoul +afraid +afresh +aft +after +afterbirth +afterbirth's +afterbirths +afterburner +afterburner's +afterburners +aftercare +aftercare's +aftereffect +aftereffect's +aftereffects +afterglow +afterglow's +afterglows +afterlife +afterlife's +afterlives +aftermath +aftermath's +aftermaths +afternoon +afternoon's +afternoons +aftershave +aftershave's +aftershaves +aftershock +aftershock's +aftershocks +aftertaste +aftertaste's +aftertastes +afterthought +afterthought's +afterthoughts +afterward +afterwards +afterword +afterword's +afterwords +again +against +agape +agape's +agar +agar's +agate +agate's +agates +agave +agave's +age +age's +aged +ageing +ageing's +ageings +ageism +ageism's +ageless +agencies +agency +agency's +agenda +agenda's +agendas +agent +agent's +agents +ages +agglomerate +agglomerate's +agglomerated +agglomerates +agglomerating +agglomeration +agglomeration's +agglomerations +agglutinate +agglutinated +agglutinates +agglutinating +agglutination +agglutination's +agglutinations +aggrandize +aggrandized +aggrandizement +aggrandizement's +aggrandizes +aggrandizing +aggravate +aggravated +aggravates +aggravating +aggravation +aggravation's +aggravations +aggregate +aggregate's +aggregated +aggregates +aggregating +aggregation +aggregation's +aggregations +aggression +aggression's +aggressive +aggressively +aggressiveness +aggressiveness's +aggressor +aggressor's +aggressors +aggrieve +aggrieved +aggrieves +aggrieving +aghast +agile +agilely +agiler +agilest +agility +agility's +aging +aging's +agings +agism +agitate +agitated +agitates +agitating +agitation +agitation's +agitations +agitator +agitator's +agitators +agleam +aglitter +aglow +agnostic +agnostic's +agnosticism +agnosticism's +agnostics +ago +agog +agonies +agonize +agonized +agonizes +agonizing +agonizingly +agony +agony's +agrarian +agrarian's +agrarians +agree +agreeable +agreeably +agreed +agreeing +agreement +agreement's +agreements +agrees +agribusiness +agribusiness's +agribusinesses +agricultural +agriculturalist +agriculturalist's +agriculturalists +agriculture +agriculture's +agronomist +agronomist's +agronomists +agronomy +agronomy's +aground +ague +ague's +ah +aha +ahead +ahem +ahoy +aid +aid's +aide +aide's +aided +aides +aiding +aids +ail +ailed +aileron +aileron's +ailerons +ailing +ailment +ailment's +ailments +ails +aim +aim's +aimed +aiming +aimless +aimlessly +aimlessness +aimlessness's +aims +ain't +air +air's +airborne +airbrush +airbrush's +airbrushed +airbrushes +airbrushing +aircraft +aircraft's +airdrop +airdrop's +airdropped +airdropping +airdrops +aired +airfare +airfare's +airfares +airfield +airfield's +airfields +airfoil +airfoil's +airfoils +airhead +airhead's +airheads +airier +airiest +airily +airiness +airiness's +airing +airing's +airings +airless +airlift +airlift's +airlifted +airlifting +airlifts +airline +airline's +airliner +airliner's +airliners +airlines +airmail +airmail's +airmailed +airmailing +airmails +airman +airman's +airmen +airplane +airplane's +airplanes +airport +airport's +airports +airs +airship +airship's +airships +airsick +airsickness +airsickness's +airspace +airspace's +airstrip +airstrip's +airstrips +airtight +airwaves +airwaves's +airway +airway's +airways +airworthier +airworthiest +airworthy +airy +aisle +aisle's +aisles +ajar +akimbo +akin +alabaster +alabaster's +alacrity +alacrity's +alarm +alarm's +alarmed +alarming +alarmingly +alarmist +alarmist's +alarmists +alarms +alas +alb +alb's +albacore +albacore's +albacores +albatross +albatross's +albatrosses +albeit +albino +albino's +albinos +albs +album +album's +albumen +albumen's +albumin +albumin's +albums +alchemist +alchemist's +alchemists +alchemy +alchemy's +alcohol +alcohol's +alcoholic +alcoholic's +alcoholics +alcoholism +alcoholism's +alcohols +alcove +alcove's +alcoves +alder +alder's +alderman +alderman's +aldermen +alders +alderwoman +alderwoman's +alderwomen +ale +ale's +alert +alert's +alerted +alerting +alertly +alertness +alertness's +alerts +ales +alfalfa +alfalfa's +alfresco +alga +alga's +algae +algebra +algebra's +algebraic +algebraically +algebras +algorithm +algorithm's +algorithmic +algorithms +alias +alias's +aliased +aliases +aliasing +alibi +alibi's +alibied +alibiing +alibis +alien +alien's +alienable +alienate +alienated +alienates +alienating +alienation +alienation's +aliened +aliening +aliens +alight +alighted +alighting +alights +align +aligned +aligning +alignment +alignment's +alignments +aligns +alike +alimentary +alimony +alimony's +aline +alined +alinement +alinement's +alinements +alines +alining +alit +alive +alkali +alkali's +alkalies +alkaline +alkalinity +alkalinity's +alkalis +alkaloid +alkaloid's +alkaloids +all +all's +allay +allayed +allaying +allays +allegation +allegation's +allegations +allege +alleged +allegedly +alleges +allegiance +allegiance's +allegiances +alleging +allegorical +allegorically +allegories +allegory +allegory's +allegro +allegro's +allegros +alleluia +alleluia's +alleluias +allergen +allergen's +allergenic +allergens +allergic +allergies +allergist +allergist's +allergists +allergy +allergy's +alleviate +alleviated +alleviates +alleviating +alleviation +alleviation's +alley +alley's +alleys +alleyway +alleyway's +alleyways +alliance +alliance's +alliances +allied +allies +alligator +alligator's +alligators +alliteration +alliteration's +alliterations +alliterative +allocate +allocated +allocates +allocating +allocation +allocation's +allocations +allot +allotment +allotment's +allotments +allots +allotted +allotting +allover +allow +allowable +allowance +allowance's +allowances +allowed +allowing +allows +alloy +alloy's +alloyed +alloying +alloys +allspice +allspice's +allude +alluded +alludes +alluding +allure +allure's +allured +allures +alluring +allusion +allusion's +allusions +allusive +allusively +alluvia +alluvial +alluvial's +alluvium +alluvium's +alluviums +ally +ally's +allying +almanac +almanac's +almanacs +almighty +almond +almond's +almonds +almost +alms +alms's +aloe +aloe's +aloes +aloft +aloha +aloha's +alohas +alone +along +alongside +aloof +aloofness +aloofness's +aloud +alpaca +alpaca's +alpacas +alpha +alpha's +alphabet +alphabet's +alphabetic +alphabetical +alphabetically +alphabetize +alphabetized +alphabetizes +alphabetizing +alphabets +alphanumeric +alphas +alpine +already +alright +also +altar +altar's +altars +alter +alterable +alteration +alteration's +alterations +altercation +altercation's +altercations +altered +altering +alternate +alternate's +alternated +alternately +alternates +alternating +alternation +alternation's +alternations +alternative +alternative's +alternatively +alternatives +alternator +alternator's +alternators +alters +altho +although +altimeter +altimeter's +altimeters +altitude +altitude's +altitudes +alto +alto's +altogether +altos +altruism +altruism's +altruist +altruist's +altruistic +altruistically +altruists +alum +alum's +aluminum +aluminum's +alumna +alumna's +alumnae +alumni +alumnus +alumnus's +alums +always +am +amalgam +amalgam's +amalgamate +amalgamated +amalgamates +amalgamating +amalgamation +amalgamation's +amalgamations +amalgams +amanuenses +amanuensis +amanuensis's +amaranth +amaranth's +amaranths +amaryllis +amaryllis's +amaryllises +amass +amassed +amasses +amassing +amateur +amateur's +amateurish +amateurism +amateurism's +amateurs +amatory +amaze +amaze's +amazed +amazement +amazement's +amazes +amazing +amazingly +amazon +amazon's +amazons +ambassador +ambassador's +ambassadorial +ambassadors +ambassadorship +ambassadorship's +ambassadorships +amber +amber's +ambergris +ambergris's +ambiance +ambiance's +ambiances +ambidextrous +ambidextrously +ambience +ambience's +ambiences +ambient +ambiguities +ambiguity +ambiguity's +ambiguous +ambiguously +ambition +ambition's +ambitions +ambitious +ambitiously +ambitiousness +ambitiousness's +ambivalence +ambivalence's +ambivalent +ambivalently +amble +amble's +ambled +ambles +ambling +ambrosia +ambrosia's +ambulance +ambulance's +ambulances +ambulatories +ambulatory +ambulatory's +ambush +ambush's +ambushed +ambushes +ambushing +ameba +ameba's +amebae +amebas +amebic +ameer +ameer's +ameers +ameliorate +ameliorated +ameliorates +ameliorating +amelioration +amelioration's +amen +amenable +amend +amendable +amended +amending +amendment +amendment's +amendments +amends +amenities +amenity +amenity's +amethyst +amethyst's +amethysts +amiability +amiability's +amiable +amiably +amicability +amicability's +amicable +amicably +amid +amidships +amidst +amigo +amigo's +amigos +amir +amir's +amirs +amiss +amity +amity's +ammeter +ammeter's +ammeters +ammo +ammo's +ammonia +ammonia's +ammunition +ammunition's +amnesia +amnesia's +amnesiac +amnesiac's +amnesiacs +amnestied +amnesties +amnesty +amnesty's +amnestying +amniocenteses +amniocentesis +amniocentesis's +amoeba +amoeba's +amoebae +amoebas +amoebic +amok +among +amongst +amoral +amorality +amorality's +amorally +amorous +amorously +amorousness +amorousness's +amorphous +amorphously +amorphousness +amorphousness's +amortization +amortization's +amortizations +amortize +amortized +amortizes +amortizing +amount +amount's +amounted +amounting +amounts +amour +amour's +amours +amp +amp's +amperage +amperage's +ampere +ampere's +amperes +ampersand +ampersand's +ampersands +amphetamine +amphetamine's +amphetamines +amphibian +amphibian's +amphibians +amphibious +amphitheater +amphitheater's +amphitheaters +amphitheatre +amphitheatre's +amphitheatres +ample +ampler +amplest +amplification +amplification's +amplifications +amplified +amplifier +amplifier's +amplifiers +amplifies +amplify +amplifying +amplitude +amplitude's +amplitudes +amply +ampoule +ampoule's +ampoules +amps +ampul +ampul's +ampule +ampule's +ampules +ampuls +amputate +amputated +amputates +amputating +amputation +amputation's +amputations +amputee +amputee's +amputees +amuck +amulet +amulet's +amulets +amuse +amused +amusement +amusement's +amusements +amuses +amusing +amusingly +an +anachronism +anachronism's +anachronisms +anachronistic +anaconda +anaconda's +anacondas +anaemia +anaemia's +anaemic +anaerobic +anaesthesia +anaesthesia's +anaesthetic +anaesthetic's +anaesthetics +anaesthetist +anaesthetist's +anaesthetists +anaesthetize +anaesthetized +anaesthetizes +anaesthetizing +anagram +anagram's +anagrams +anal +analgesia +analgesia's +analgesic +analgesic's +analgesics +analog +analog's +analogies +analogous +analogously +analogs +analogue +analogue's +analogues +analogy +analogy's +analyses +analysis +analysis's +analyst +analyst's +analysts +analytic +analytical +analyticalally +analytically +analyze +analyzed +analyzer +analyzer's +analyzers +analyzes +analyzing +anapest +anapest's +anapests +anarchic +anarchically +anarchism +anarchism's +anarchist +anarchist's +anarchistic +anarchists +anarchy +anarchy's +anathema +anathema's +anathemas +anatomic +anatomical +anatomically +anatomies +anatomist +anatomist's +anatomists +anatomy +anatomy's +ancestor +ancestor's +ancestors +ancestral +ancestress +ancestress's +ancestresses +ancestries +ancestry +ancestry's +anchor +anchor's +anchorage +anchorage's +anchorages +anchored +anchoring +anchorite +anchorite's +anchorites +anchorman +anchorman's +anchormen +anchorpeople +anchorperson +anchorperson's +anchorpersons +anchors +anchorwoman +anchorwoman's +anchorwomen +anchovies +anchovy +anchovy's +ancient +ancient's +ancienter +ancientest +ancients +ancillaries +ancillary +ancillary's +and +andante +andante's +andantes +andiron +andiron's +andirons +androgen +androgen's +androgynous +android +android's +androids +anecdota +anecdotal +anecdote +anecdote's +anecdotes +anemia +anemia's +anemic +anemometer +anemometer's +anemometers +anemone +anemone's +anemones +anesthesia +anesthesia's +anesthesiologist +anesthesiologist's +anesthesiologists +anesthesiology +anesthesiology's +anesthetic +anesthetic's +anesthetics +anesthetist +anesthetist's +anesthetists +anesthetize +anesthetized +anesthetizes +anesthetizing +aneurism +aneurism's +aneurisms +aneurysm +aneurysm's +aneurysms +anew +angel +angel's +angelic +angelically +angels +anger +anger's +angered +angering +angers +angina +angina's +angioplasties +angioplasty +angioplasty's +angiosperm +angiosperm's +angiosperms +angle +angle's +angled +angler +angler's +anglers +angles +angleworm +angleworm's +angleworms +angling +angling's +angora +angora's +angoras +angrier +angriest +angrily +angry +angst +angst's +angstrom +angstrom's +angstroms +anguish +anguish's +anguished +anguishes +anguishing +angular +angularities +angularity +angularity's +ani +animal +animal's +animals +animate +animated +animatedly +animates +animating +animation +animation's +animations +animator +animator's +animators +animism +animism's +animist +animist's +animistic +animists +animosities +animosity +animosity's +animus +animus's +anion +anion's +anions +anise +anise's +aniseed +aniseed's +ankh +ankh's +ankhs +ankle +ankle's +ankles +anklet +anklet's +anklets +annals +annals's +anneal +annealed +annealing +anneals +annex +annex's +annexation +annexation's +annexations +annexed +annexes +annexing +annihilate +annihilated +annihilates +annihilating +annihilation +annihilation's +annihilator +annihilator's +annihilators +anniversaries +anniversary +anniversary's +annotate +annotated +annotates +annotating +annotation +annotation's +annotations +announce +announced +announcement +announcement's +announcements +announcer +announcer's +announcers +announces +announcing +annoy +annoyance +annoyance's +annoyances +annoyed +annoying +annoyingly +annoys +annual +annual's +annually +annuals +annuities +annuity +annuity's +annul +annular +annulled +annulling +annulment +annulment's +annulments +annuls +anode +anode's +anodes +anodyne +anodyne's +anodynes +anoint +anointed +anointing +anointment +anointment's +anoints +anomalies +anomalous +anomaly +anomaly's +anon +anons +anonymity +anonymity's +anonymous +anonymously +anopheles +anopheles's +anorak +anorak's +anoraks +anorexia +anorexia's +anorexic +anorexic's +anorexics +another +answer +answer's +answerable +answered +answering +answers +ant +ant's +antacid +antacid's +antacids +antagonism +antagonism's +antagonisms +antagonist +antagonist's +antagonistic +antagonistically +antagonists +antagonize +antagonized +antagonizes +antagonizing +antarctic +ante +ante's +anteater +anteater's +anteaters +antebellum +antecedent +antecedent's +antecedents +antechamber +antechamber's +antechambers +anted +antedate +antedated +antedates +antedating +antediluvian +anteed +anteing +antelope +antelope's +antelopes +antenna +antenna's +antennae +antennas +anterior +anteroom +anteroom's +anterooms +antes +anthem +anthem's +anthems +anther +anther's +anthers +anthill +anthill's +anthills +anthologies +anthologist +anthologist's +anthologists +anthologize +anthologized +anthologizes +anthologizing +anthology +anthology's +anthracite +anthracite's +anthrax +anthrax's +anthropocentric +anthropoid +anthropoid's +anthropoids +anthropological +anthropologist +anthropologist's +anthropologists +anthropology +anthropology's +anthropomorphic +anthropomorphism +anthropomorphism's +anti +anti's +antiabortion +antiaircraft +antibiotic +antibiotic's +antibiotics +antibodies +antibody +antibody's +antic +antic's +anticipate +anticipated +anticipates +anticipating +anticipation +anticipation's +anticipations +anticipatory +anticked +anticking +anticlimactic +anticlimax +anticlimax's +anticlimaxes +anticlockwise +antics +anticyclone +anticyclone's +anticyclones +antidepressant +antidepressant's +antidepressants +antidote +antidote's +antidotes +antifreeze +antifreeze's +antigen +antigen's +antigens +antihero +antihero's +antiheroes +antihistamine +antihistamine's +antihistamines +antiknock +antiknock's +antimatter +antimatter's +antimony +antimony's +antiparticle +antiparticle's +antiparticles +antipasti +antipasto +antipasto's +antipastos +antipathetic +antipathies +antipathy +antipathy's +antipersonnel +antiperspirant +antiperspirant's +antiperspirants +antiphonal +antiphonal's +antiphonals +antipodes +antipodes's +antiquarian +antiquarian's +antiquarians +antiquaries +antiquary +antiquary's +antiquate +antiquated +antiquates +antiquating +antique +antique's +antiqued +antiques +antiquing +antiquities +antiquity +antiquity's +antis +antiseptic +antiseptic's +antiseptically +antiseptics +antislavery +antisocial +antitheses +antithesis +antithesis's +antithetical +antithetically +antitoxin +antitoxin's +antitoxins +antitrust +antiviral +antiviral's +antivirals +antiwar +antler +antler's +antlered +antlers +antonym +antonym's +antonyms +ants +anus +anus's +anuses +anvil +anvil's +anvils +anxieties +anxiety +anxiety's +anxious +anxiously +any +anybodies +anybody +anybody's +anyhow +anymore +anyone +anyone's +anyplace +anything +anything's +anythings +anytime +anyway +anywhere +aorta +aorta's +aortae +aortas +apace +apart +apartheid +apartheid's +apartment +apartment's +apartments +apathetic +apathetically +apathy +apathy's +ape +ape's +aped +aperitif +aperitif's +aperitifs +aperture +aperture's +apertures +apes +apex +apex's +apexes +aphasia +aphasia's +aphasic +aphasic's +aphasics +aphelia +aphelion +aphelion's +aphelions +aphid +aphid's +aphids +aphorism +aphorism's +aphorisms +aphoristic +aphrodisiac +aphrodisiac's +aphrodisiacs +apiaries +apiary +apiary's +apices +apiece +aping +aplenty +aplomb +aplomb's +apocalypse +apocalypse's +apocalypses +apocalyptic +apocryphal +apogee +apogee's +apogees +apolitical +apologetic +apologetically +apologia +apologia's +apologias +apologies +apologist +apologist's +apologists +apologize +apologized +apologizes +apologizing +apology +apology's +apoplectic +apoplexies +apoplexy +apoplexy's +apostasies +apostasy +apostasy's +apostate +apostate's +apostates +apostle +apostle's +apostles +apostolic +apostrophe +apostrophe's +apostrophes +apothecaries +apothecary +apothecary's +apotheoses +apotheosis +apotheosis's +appal +appall +appalled +appalling +appallingly +appalls +appals +apparatus +apparatus's +apparatuses +apparel +apparel's +appareled +appareling +apparelled +apparelling +apparels +apparent +apparently +apparition +apparition's +apparitions +appeal +appeal's +appealed +appealing +appeals +appear +appearance +appearance's +appearances +appeared +appearing +appears +appease +appeased +appeasement +appeasement's +appeasements +appeaser +appeaser's +appeasers +appeases +appeasing +appellant +appellant's +appellants +appellate +appellation +appellation's +appellations +append +appendage +appendage's +appendages +appendectomies +appendectomy +appendectomy's +appended +appendices +appendicitis +appendicitis's +appending +appendix +appendix's +appendixes +appends +appertain +appertained +appertaining +appertains +appetite +appetite's +appetites +appetizer +appetizer's +appetizers +appetizing +appetizingly +applaud +applauded +applauding +applauds +applause +applause's +apple +apple's +applejack +applejack's +apples +applesauce +applesauce's +appliance +appliance's +appliances +applicability +applicability's +applicable +applicant +applicant's +applicants +application +application's +applications +applicator +applicator's +applicators +applied +applies +apply +applying +appoint +appointed +appointee +appointee's +appointees +appointing +appointment +appointment's +appointments +appoints +apportion +apportioned +apportioning +apportionment +apportionment's +apportions +apposite +appositely +appositeness +appositeness's +apposition +apposition's +appositive +appositive's +appositives +appraisal +appraisal's +appraisals +appraise +appraised +appraiser +appraiser's +appraisers +appraises +appraising +appreciable +appreciably +appreciate +appreciated +appreciates +appreciating +appreciation +appreciation's +appreciations +appreciative +appreciatively +apprehend +apprehended +apprehending +apprehends +apprehension +apprehension's +apprehensions +apprehensive +apprehensively +apprehensiveness +apprehensiveness's +apprentice +apprentice's +apprenticed +apprentices +apprenticeship +apprenticeship's +apprenticeships +apprenticing +apprise +apprised +apprises +apprising +approach +approach's +approachable +approached +approaches +approaching +approbation +approbation's +approbations +appropriate +appropriated +appropriately +appropriateness +appropriateness's +appropriates +appropriating +appropriation +appropriation's +appropriations +approval +approval's +approvals +approve +approved +approves +approving +approvingly +approximate +approximated +approximately +approximates +approximating +approximation +approximation's +approximations +appurtenance +appurtenance's +appurtenances +apricot +apricot's +apricots +apron +apron's +aprons +apropos +apse +apse's +apses +apt +apter +aptest +aptitude +aptitude's +aptitudes +aptly +aptness +aptness's +aqua +aqua's +aquaculture +aquaculture's +aquae +aquamarine +aquamarine's +aquamarines +aquanaut +aquanaut's +aquanauts +aquaplane +aquaplane's +aquaplaned +aquaplanes +aquaplaning +aquaria +aquarium +aquarium's +aquariums +aquas +aquatic +aquatic's +aquatics +aquavit +aquavit's +aqueduct +aqueduct's +aqueducts +aqueous +aquiculture +aquiculture's +aquifer +aquifer's +aquifers +aquiline +arabesque +arabesque's +arabesques +arable +arachnid +arachnid's +arachnids +arbiter +arbiter's +arbiters +arbitrarily +arbitrariness +arbitrariness's +arbitrary +arbitrate +arbitrated +arbitrates +arbitrating +arbitration +arbitration's +arbitrator +arbitrator's +arbitrators +arbor +arbor's +arboreal +arboreta +arboretum +arboretum's +arboretums +arbors +arborvitae +arborvitae's +arborvitaes +arbutus +arbutus's +arbutuses +arc +arc's +arcade +arcade's +arcades +arcane +arced +arch +arch's +archaeological +archaeologist +archaeologist's +archaeologists +archaeology +archaeology's +archaic +archaically +archaism +archaism's +archaisms +archangel +archangel's +archangels +archbishop +archbishop's +archbishopric +archbishopric's +archbishoprics +archbishops +archdeacon +archdeacon's +archdeacons +archdiocese +archdiocese's +archdioceses +archduke +archduke's +archdukes +arched +archenemies +archenemy +archenemy's +archeological +archeologist +archeologist's +archeologists +archeology +archeology's +archer +archer's +archers +archery +archery's +arches +archest +archetypal +archetype +archetype's +archetypes +arching +archipelago +archipelago's +archipelagoes +archipelagos +architect +architect's +architects +architectural +architecturally +architecture +architecture's +architectures +archive +archive's +archived +archives +archiving +archivist +archivist's +archivists +archly +archness +archness's +archway +archway's +archways +arcing +arcked +arcking +arcs +arctic +arctic's +arctics +ardent +ardently +ardor +ardor's +ardors +arduous +arduously +arduousness +arduousness's +are +are's +area +area's +areas +aren't +arena +arena's +arenas +ares +argon +argon's +argosies +argosy +argosy's +argot +argot's +argots +arguable +arguably +argue +argued +argues +arguing +argument +argument's +argumentation +argumentation's +argumentative +arguments +argyle +argyle's +argyles +aria +aria's +arias +arid +aridity +aridity's +aright +arise +arisen +arises +arising +aristocracies +aristocracy +aristocracy's +aristocrat +aristocrat's +aristocratic +aristocratically +aristocrats +arithmetic +arithmetic's +arithmetical +arithmetically +ark +ark's +arks +arm +arm's +armada +armada's +armadas +armadillo +armadillo's +armadillos +armament +armament's +armaments +armature +armature's +armatures +armband +armband's +armbands +armchair +armchair's +armchairs +armed +armful +armful's +armfuls +armhole +armhole's +armholes +armies +arming +armistice +armistice's +armistices +armlet +armlet's +armlets +armor +armor's +armored +armorer +armorer's +armorers +armories +armoring +armors +armory +armory's +armpit +armpit's +armpits +armrest +armrest's +armrests +arms +armsful +army +army's +aroma +aroma's +aromas +aromatherapy +aromatherapy's +aromatic +aromatic's +aromatics +arose +around +arousal +arousal's +arouse +aroused +arouses +arousing +arpeggio +arpeggio's +arpeggios +arraign +arraigned +arraigning +arraignment +arraignment's +arraignments +arraigns +arrange +arranged +arrangement +arrangement's +arrangements +arranger +arranger's +arrangers +arranges +arranging +arrant +array +array's +arrayed +arraying +arrays +arrears +arrears's +arrest +arrest's +arrested +arresting +arrests +arrival +arrival's +arrivals +arrive +arrived +arrives +arriving +arrogance +arrogance's +arrogant +arrogantly +arrogate +arrogated +arrogates +arrogating +arrow +arrow's +arrowhead +arrowhead's +arrowheads +arrowroot +arrowroot's +arrows +arroyo +arroyo's +arroyos +arsenal +arsenal's +arsenals +arsenic +arsenic's +arson +arson's +arsonist +arsonist's +arsonists +art +art's +artefact +artefact's +artefacts +arterial +arteries +arteriosclerosis +arteriosclerosis's +artery +artery's +artful +artfully +artfulness +artfulness's +arthritic +arthritic's +arthritics +arthritis +arthritis's +arthropod +arthropod's +arthropods +artichoke +artichoke's +artichokes +article +article's +articles +articulate +articulated +articulately +articulateness +articulateness's +articulates +articulating +articulation +articulation's +articulations +artier +artiest +artifact +artifact's +artifacts +artifice +artifice's +artificer +artificer's +artificers +artifices +artificial +artificiality +artificiality's +artificially +artillery +artillery's +artisan +artisan's +artisans +artist +artist's +artiste +artiste's +artistes +artistic +artistically +artistry +artistry's +artists +artless +artlessly +artlessness +artlessness's +arts +artsier +artsiest +artsy +artwork +artwork's +artworks +arty +as +asbestos +asbestos's +ascend +ascendancy +ascendancy's +ascendant +ascendant's +ascendants +ascended +ascendency +ascendency's +ascendent +ascendent's +ascendents +ascending +ascends +ascension +ascension's +ascensions +ascent +ascent's +ascents +ascertain +ascertainable +ascertained +ascertaining +ascertains +ascetic +ascetic's +asceticism +asceticism's +ascetics +ascot +ascot's +ascots +ascribable +ascribe +ascribed +ascribes +ascribing +ascription +ascription's +aseptic +asexual +asexually +ash +ash's +ashamed +ashamedly +ashcan +ashcan's +ashcans +ashed +ashen +ashes +ashier +ashiest +ashing +ashore +ashram +ashram's +ashrams +ashtray +ashtray's +ashtrays +ashy +aside +aside's +asides +asinine +ask +askance +asked +askew +asking +asks +aslant +asleep +asocial +asp +asp's +asparagus +asparagus's +aspartame +aspartame's +aspect +aspect's +aspects +aspen +aspen's +aspens +asperities +asperity +asperity's +aspersion +aspersion's +aspersions +asphalt +asphalt's +asphalted +asphalting +asphalts +asphyxia +asphyxia's +asphyxiate +asphyxiated +asphyxiates +asphyxiating +asphyxiation +asphyxiation's +asphyxiations +aspic +aspic's +aspics +aspirant +aspirant's +aspirants +aspirate +aspirate's +aspirated +aspirates +aspirating +aspiration +aspiration's +aspirations +aspire +aspired +aspires +aspirin +aspirin's +aspiring +aspirins +asps +ass +ass's +assail +assailable +assailant +assailant's +assailants +assailed +assailing +assails +assassin +assassin's +assassinate +assassinated +assassinates +assassinating +assassination +assassination's +assassinations +assassins +assault +assault's +assaulted +assaulter +assaulting +assaults +assay +assay's +assayed +assaying +assays +assemblage +assemblage's +assemblages +assemble +assembled +assembler +assembler's +assemblers +assembles +assemblies +assembling +assembly +assembly's +assemblyman +assemblyman's +assemblymen +assemblywoman +assemblywoman's +assemblywomen +assent +assent's +assented +assenting +assents +assert +asserted +asserting +assertion +assertion's +assertions +assertive +assertively +assertiveness +assertiveness's +asserts +asses +assess +assessed +assesses +assessing +assessment +assessment's +assessments +assessor +assessor's +assessors +asset +asset's +assets +asseverate +asseverated +asseverates +asseverating +asshole +asshole's +assholes +assiduous +assiduously +assiduousness +assiduousness's +assign +assign's +assignable +assignation +assignation's +assignations +assigned +assigning +assignment +assignment's +assignments +assigns +assimilate +assimilated +assimilates +assimilating +assimilation +assimilation's +assist +assist's +assistance +assistance's +assistant +assistant's +assistants +assisted +assisting +assists +assize +assize's +assizes +associate +associate's +associated +associates +associating +association +association's +associations +associative +assonance +assonance's +assort +assorted +assorting +assortment +assortment's +assortments +assorts +assuage +assuaged +assuages +assuaging +assume +assumed +assumes +assuming +assumption +assumption's +assumptions +assurance +assurance's +assurances +assure +assured +assured's +assuredly +assureds +assures +assuring +aster +aster's +asterisk +asterisk's +asterisked +asterisking +asterisks +astern +asteroid +asteroid's +asteroids +asters +asthma +asthma's +asthmatic +asthmatic's +asthmatics +astigmatic +astigmatism +astigmatism's +astigmatisms +astir +astonish +astonished +astonishes +astonishing +astonishingly +astonishment +astonishment's +astound +astounded +astounding +astoundingly +astounds +astrakhan +astrakhan's +astral +astray +astride +astringency +astringency's +astringent +astringent's +astringents +astrologer +astrologer's +astrologers +astrological +astrology +astrology's +astronaut +astronaut's +astronautics +astronautics's +astronauts +astronomer +astronomer's +astronomers +astronomic +astronomical +astronomically +astronomy +astronomy's +astrophysicist +astrophysicist's +astrophysicists +astrophysics +astrophysics's +astute +astutely +astuteness +astuteness's +astuter +astutest +asunder +asylum +asylum's +asylums +asymmetric +asymmetrical +asymmetrically +asymmetry +asymmetry's +asymptotic +asymptotically +asynchronous +asynchronously +at +atavism +atavism's +atavistic +ate +atelier +atelier's +ateliers +atheism +atheism's +atheist +atheist's +atheistic +atheists +atherosclerosis +atherosclerosis's +athlete +athlete's +athletes +athletic +athletically +athletics +athletics's +atlas +atlas's +atlases +atmosphere +atmosphere's +atmospheres +atmospheric +atmospherically +atoll +atoll's +atolls +atom +atom's +atomic +atomizer +atomizer's +atomizers +atoms +atonal +atonality +atonality's +atone +atoned +atonement +atonement's +atones +atoning +atop +atria +atrium +atrium's +atriums +atrocious +atrociously +atrociousness +atrociousness's +atrocities +atrocity +atrocity's +atrophied +atrophies +atrophy +atrophy's +atrophying +attach +attached +attaching +attachment +attachment's +attachments +attack +attack's +attacked +attacker +attacker's +attackers +attacking +attacks +attain +attainable +attained +attaining +attainment +attainment's +attainments +attains +attar +attar's +attempt +attempt's +attempted +attempting +attempts +attend +attendance +attendance's +attendances +attendant +attendant's +attendants +attended +attender +attending +attends +attention +attention's +attentions +attentive +attentively +attentiveness +attentiveness's +attenuate +attenuated +attenuates +attenuating +attenuation +attenuation's +attest +attestation +attestation's +attestations +attested +attesting +attests +attic +attic's +attics +attire +attire's +attired +attires +attiring +attitude +attitude's +attitudes +attitudinize +attitudinized +attitudinizes +attitudinizing +attorney +attorney's +attorneys +attract +attracted +attracting +attraction +attraction's +attractions +attractive +attractively +attractiveness +attractiveness's +attracts +attributable +attribute +attribute's +attributed +attributes +attributing +attribution +attribution's +attributions +attributive +attributive's +attributively +attributives +attrition +attrition's +attune +attuned +attunes +attuning +atwitter +atypical +atypically +auburn +auburn's +auction +auction's +auctioned +auctioneer +auctioneer's +auctioneers +auctioning +auctions +audacious +audaciously +audaciousness +audaciousness's +audacity +audacity's +audibility +audibility's +audible +audible's +audibles +audibly +audience +audience's +audiences +audio +audio's +audiophile +audiophile's +audiophiles +audios +audiovisual +audit +audit's +audited +auditing +audition +audition's +auditioned +auditioning +auditions +auditor +auditor's +auditoria +auditorium +auditorium's +auditoriums +auditors +auditory +audits +auger +auger's +augers +aught +aught's +aughts +augment +augmentation +augmentation's +augmentations +augmented +augmenting +augments +augur +augur's +augured +auguries +auguring +augurs +augury +augury's +august +auguster +augustest +auk +auk's +auks +aunt +aunt's +aunts +aura +aura's +aurae +aural +aurally +auras +aureola +aureola's +aureolas +aureole +aureole's +aureoles +auricle +auricle's +auricles +auspice +auspice's +auspices +auspicious +auspiciously +auspiciousness +auspiciousness's +austere +austerely +austerer +austerest +austerities +austerity +austerity's +authentic +authentically +authenticate +authenticated +authenticates +authenticating +authentication +authentication's +authentications +authenticity +authenticity's +author +author's +authored +authoring +authoritarian +authoritarian's +authoritarianism +authoritarianism's +authoritarians +authoritative +authoritatively +authoritativeness +authoritativeness's +authorities +authority +authority's +authorization +authorization's +authorizations +authorize +authorized +authorizes +authorizing +authors +authorship +authorship's +autism +autism's +autistic +auto +auto's +autobiographical +autobiographies +autobiography +autobiography's +autocracies +autocracy +autocracy's +autocrat +autocrat's +autocratic +autocratically +autocrats +autograph +autograph's +autographed +autographing +autographs +autoimmune +automata +automate +automated +automates +automatic +automatic's +automatically +automatics +automating +automation +automation's +automaton +automaton's +automatons +automobile +automobile's +automobiled +automobiles +automobiling +automotive +autonomous +autonomously +autonomy +autonomy's +autopilot +autopilot's +autopilots +autopsied +autopsies +autopsy +autopsy's +autopsying +autos +autoworker +autoworker's +autoworkers +autumn +autumn's +autumnal +autumns +auxiliaries +auxiliary +auxiliary's +avail +avail's +availability +availability's +available +availed +availing +avails +avalanche +avalanche's +avalanches +avarice +avarice's +avaricious +avariciously +avast +avatar +avatar's +avatars +avenge +avenged +avenger +avenger's +avengers +avenges +avenging +avenue +avenue's +avenues +aver +average +average's +averaged +averages +averaging +averred +averring +avers +averse +aversion +aversion's +aversions +avert +averted +averting +averts +avian +aviaries +aviary +aviary's +aviation +aviation's +aviator +aviator's +aviators +aviatrices +aviatrix +aviatrix's +aviatrixes +avid +avidity +avidity's +avidly +avionics +avionics's +avocado +avocado's +avocadoes +avocados +avocation +avocation's +avocations +avoid +avoidable +avoidably +avoidance +avoidance's +avoided +avoiding +avoids +avoirdupois +avoirdupois's +avow +avowal +avowal's +avowals +avowed +avowedly +avowing +avows +avuncular +await +awaited +awaiting +awaits +awake +awaked +awaken +awakened +awakening +awakening's +awakenings +awakens +awakes +awaking +award +award's +awarded +awarding +awards +aware +awareness +awareness's +awash +away +awe +awe's +awed +aweigh +awes +awesome +awesomely +awestricken +awestruck +awful +awfuller +awfullest +awfully +awfulness +awfulness's +awhile +awing +awkward +awkwarder +awkwardest +awkwardly +awkwardness +awkwardness's +awl +awl's +awls +awning +awning's +awnings +awoke +awoken +awol +awry +ax +ax's +axe +axe's +axed +axes +axial +axing +axiom +axiom's +axiomatic +axiomatically +axioms +axis +axis's +axle +axle's +axles +axon +axon's +axons +ay +ay's +ayatollah +ayatollah's +ayatollahs +aye +aye's +ayes +azalea +azalea's +azaleas +azimuth +azimuth's +azimuths +azure +azure's +azures +b +baa +baa's +baaed +baaing +baas +babble +babble's +babbled +babbler +babbler's +babblers +babbles +babbling +babe +babe's +babel +babel's +babels +babes +babied +babier +babies +babiest +baboon +baboon's +baboons +babushka +babushka's +babushkas +baby +baby's +babyhood +babyhood's +babying +babyish +babysat +babysit +babysits +babysitter +babysitter's +babysitters +babysitting +baccalaureate +baccalaureate's +baccalaureates +bacchanal +bacchanal's +bacchanalian +bacchanalian's +bacchanalians +bacchanals +bachelor +bachelor's +bachelors +bacilli +bacillus +bacillus's +back +back's +backache +backache's +backaches +backbit +backbite +backbiter +backbiter's +backbiters +backbites +backbiting +backbitten +backboard +backboard's +backboards +backbone +backbone's +backbones +backbreaking +backdate +backdated +backdates +backdating +backdrop +backdrop's +backdrops +backed +backer +backer's +backers +backfield +backfield's +backfields +backfire +backfire's +backfired +backfires +backfiring +backgammon +backgammon's +background +background's +backgrounds +backhand +backhand's +backhanded +backhanding +backhands +backhoe +backhoe's +backhoes +backing +backing's +backings +backlash +backlash's +backlashes +backless +backlog +backlog's +backlogged +backlogging +backlogs +backpack +backpack's +backpacked +backpacker +backpacker's +backpackers +backpacking +backpacks +backpedal +backpedaled +backpedaling +backpedalled +backpedalling +backpedals +backrest +backrest's +backrests +backs +backside +backside's +backsides +backslapper +backslapper's +backslappers +backslash +backslid +backslidden +backslide +backslider +backslider's +backsliders +backslides +backsliding +backspace +backspace's +backspaced +backspaces +backspacing +backspin +backspin's +backstabbing +backstage +backstage's +backstairs +backstop +backstop's +backstopped +backstopping +backstops +backstretch +backstretch's +backstretches +backstroke +backstroke's +backstroked +backstrokes +backstroking +backtrack +backtracked +backtracking +backtracks +backup +backup's +backups +backward +backwardness +backwardness's +backwards +backwash +backwash's +backwater +backwater's +backwaters +backwoods +backwoods's +backyard +backyard's +backyards +bacon +bacon's +bacteria +bacteria's +bacterial +bacterias +bacteriological +bacteriologist +bacteriologist's +bacteriologists +bacteriology +bacteriology's +bacterium +bacterium's +bad +bad's +badder +baddest +bade +badge +badge's +badger +badger's +badgered +badgering +badgers +badges +badinage +badinage's +badlands +badlands's +badly +badminton +badminton's +badmouth +badmouthed +badmouthing +badmouths +badness +badness's +baffle +baffle's +baffled +bafflement +bafflement's +baffles +baffling +bag +bag's +bagatelle +bagatelle's +bagatelles +bagel +bagel's +bagels +baggage +baggage's +bagged +baggier +baggiest +bagginess +bagginess's +bagging +baggy +bagpipe +bagpipe's +bagpipes +bags +bah +bail +bail's +bailed +bailiff +bailiffs +bailing +bailiwick +bailiwick's +bailiwicks +bailout +bailout's +bailouts +bails +bait +bait's +baited +baiting +baits +baize +baize's +bake +bake's +baked +baker +baker's +bakeries +bakers +bakery +bakery's +bakes +baking +balalaika +balalaika's +balalaikas +balance +balance's +balanced +balances +balancing +balconies +balcony +balcony's +bald +balded +balder +balderdash +balderdash's +baldest +balding +baldly +baldness +baldness's +balds +bale +bale's +baled +baleen +baleen's +baleful +balefully +bales +baling +balk +balk's +balked +balkier +balkiest +balking +balks +balky +ball +ball's +ballad +ballad's +balladeer +balladeer's +balladeers +ballads +ballast +ballast's +ballasted +ballasting +ballasts +balled +ballerina +ballerina's +ballerinas +ballet +ballet's +ballets +balling +ballistic +ballistics +ballistics's +balloon +balloon's +ballooned +ballooning +balloonist +balloonist's +balloonists +balloons +ballot +ballot's +balloted +balloting +ballots +ballpark +ballpark's +ballparks +ballplayer +ballplayer's +ballplayers +ballpoint +ballpoint's +ballpoints +ballroom +ballroom's +ballrooms +balls +ballsier +ballsiest +ballsy +ballyhoo +ballyhoo's +ballyhooed +ballyhooing +ballyhoos +balm +balm's +balmier +balmiest +balminess +balminess's +balms +balmy +baloney +baloney's +balsa +balsa's +balsam +balsam's +balsams +balsas +baluster +baluster's +balusters +balustrade +balustrade's +balustrades +bamboo +bamboo's +bamboos +bamboozle +bamboozled +bamboozles +bamboozling +ban +ban's +banal +banalities +banality +banality's +banana +banana's +bananas +band +band's +bandage +bandage's +bandaged +bandages +bandaging +bandana +bandana's +bandanas +bandanna +bandanna's +bandannas +banded +bandied +bandier +bandies +bandiest +banding +bandit +bandit's +banditry +banditry's +bandits +banditti +bandoleer +bandoleer's +bandoleers +bandolier +bandolier's +bandoliers +bands +bandstand +bandstand's +bandstands +bandwagon +bandwagon's +bandwagons +bandwidth +bandy +bandying +bane +bane's +baneful +banes +bang +bang's +banged +banging +bangle +bangle's +bangles +bangs +bani +banish +banished +banishes +banishing +banishment +banishment's +banister +banister's +banisters +banjo +banjo's +banjoes +banjoist +banjoist's +banjoists +banjos +bank +bank's +bankbook +bankbook's +bankbooks +banked +banker +banker's +bankers +banking +banking's +banknote +banknote's +banknotes +bankroll +bankroll's +bankrolled +bankrolling +bankrolls +bankrupt +bankrupt's +bankruptcies +bankruptcy +bankruptcy's +bankrupted +bankrupting +bankrupts +banks +banned +banner +banner's +banners +banning +bannister +bannister's +bannisters +banns +banns's +banquet +banquet's +banqueted +banqueting +banquets +bans +banshee +banshee's +banshees +bantam +bantam's +bantams +bantamweight +bantamweight's +bantamweights +banter +banter's +bantered +bantering +banters +banyan +banyan's +banyans +baobab +baobab's +baobabs +baptism +baptism's +baptismal +baptisms +baptist +baptisteries +baptistery +baptistery's +baptistries +baptistry +baptistry's +baptists +baptize +baptized +baptizes +baptizing +bar +bar's +barb +barb's +barbarian +barbarian's +barbarians +barbaric +barbarism +barbarism's +barbarisms +barbarities +barbarity +barbarity's +barbarous +barbarously +barbecue +barbecue's +barbecued +barbecues +barbecuing +barbed +barbell +barbell's +barbells +barbeque +barbeque's +barbequed +barbeques +barbequing +barber +barber's +barbered +barbering +barberries +barberry +barberry's +barbers +barbershop +barbershop's +barbershops +barbing +barbiturate +barbiturate's +barbiturates +barbs +bard +bard's +bards +bare +bareback +bared +barefaced +barefoot +barefooted +barehanded +bareheaded +barely +bareness +bareness's +barer +bares +barest +barf +barf's +barfed +barfing +barfs +bargain +bargain's +bargained +bargainer +bargaining +bargains +barge +barge's +barged +barges +barging +baring +baritone +baritone's +baritones +barium +barium's +bark +bark's +barked +barker +barker's +barkers +barking +barks +barley +barley's +barmaid +barmaid's +barmaids +barman +barn +barn's +barnacle +barnacle's +barnacles +barns +barnstorm +barnstormed +barnstorming +barnstorms +barnyard +barnyard's +barnyards +barometer +barometer's +barometers +barometric +baron +baron's +baroness +baroness's +baronesses +baronet +baronet's +baronets +baronial +barons +baroque +baroque's +barrack +barrack's +barracks +barracuda +barracuda's +barracudas +barrage +barrage's +barraged +barrages +barraging +barred +barrel +barrel's +barreled +barreling +barrelled +barrelling +barrels +barren +barren's +barrener +barrenest +barrenness +barrenness's +barrens +barrette +barrette's +barrettes +barricade +barricade's +barricaded +barricades +barricading +barrier +barrier's +barriers +barring +barrings +barrio +barrio's +barrios +barrister +barrister's +barristers +barroom +barroom's +barrooms +barrow +barrow's +barrows +bars +bartender +bartender's +bartenders +barter +barter's +bartered +bartering +barters +basal +basalt +basalt's +base +base's +baseball +baseball's +baseballs +baseboard +baseboard's +baseboards +based +baseless +baseline +baseline's +baselines +basely +baseman +baseman's +basemen +basement +basement's +basements +baseness +baseness's +baser +bases +basest +bash +bash's +bashed +bashes +bashful +bashfully +bashfulness +bashfulness's +bashing +bashing's +basic +basic's +basically +basics +basil +basil's +basilica +basilica's +basilicas +basin +basin's +basing +basins +basis +basis's +bask +basked +basket +basket's +basketball +basketball's +basketballs +baskets +basking +basks +bass +bass's +basses +bassi +bassinet +bassinet's +bassinets +bassist +bassist's +bassists +basso +basso's +bassoon +bassoon's +bassoonist +bassoonist's +bassoonists +bassoons +bassos +bast +bast's +bastard +bastard's +bastardize +bastardized +bastardizes +bastardizing +bastards +baste +basted +bastes +basting +bastion +bastion's +bastions +bat +bat's +batch +batch's +batched +batches +batching +bate +bated +bates +bath +bath's +bathe +bathe's +bathed +bather +bather's +bathers +bathes +bathhouse +bathhouse's +bathhouses +bathing +bathmat +bathmat's +bathmats +bathos +bathos's +bathrobe +bathrobe's +bathrobes +bathroom +bathroom's +bathrooms +baths +bathtub +bathtub's +bathtubs +batik +batik's +batiks +bating +baton +baton's +batons +bats +batsman +batsman's +batsmen +battalion +battalion's +battalions +batted +batten +batten's +battened +battening +battens +batter +batter's +battered +batteries +battering +batters +battery +battery's +battier +battiest +batting +batting's +battle +battle's +battled +battlefield +battlefield's +battlefields +battleground +battleground's +battlegrounds +battlement +battlement's +battlements +battles +battleship +battleship's +battleships +battling +batty +bauble +bauble's +baubles +baud +baud's +bauds +bauxite +bauxite's +bawdier +bawdiest +bawdily +bawdiness +bawdiness's +bawdy +bawl +bawl's +bawled +bawling +bawls +bay +bay's +bayberries +bayberry +bayberry's +bayed +baying +bayonet +bayonet's +bayoneted +bayoneting +bayonets +bayonetted +bayonetting +bayou +bayou's +bayous +bays +bazaar +bazaar's +bazaars +bazillion +bazillions +bazooka +bazooka's +bazookas +be +beach +beach's +beachcomber +beachcomber's +beachcombers +beached +beaches +beachhead +beachhead's +beachheads +beaching +beacon +beacon's +beacons +bead +bead's +beaded +beadier +beadiest +beading +beads +beady +beagle +beagle's +beagles +beak +beak's +beaked +beaker +beaker's +beakers +beaks +beam +beam's +beamed +beaming +beams +bean +bean's +beanbag +beanbag's +beanbags +beaned +beaning +beans +bear +bear's +bearable +beard +beard's +bearded +bearding +beards +bearer +bearer's +bearers +bearing +bearing's +bearings +bearish +bears +bearskin +bearskin's +bearskins +beast +beast's +beastlier +beastliest +beastliness +beastliness's +beastly +beastly's +beasts +beat +beat's +beaten +beater +beater's +beaters +beatific +beatification +beatification's +beatifications +beatified +beatifies +beatify +beatifying +beating +beating's +beatings +beatitude +beatitude's +beatitudes +beatnik +beatnik's +beatniks +beats +beau +beau's +beaus +beauteous +beauteously +beautician +beautician's +beauticians +beauties +beautification +beautification's +beautified +beautifier +beautifier's +beautifiers +beautifies +beautiful +beautifully +beautify +beautifying +beauty +beauty's +beaux +beaver +beaver's +beavered +beavering +beavers +bebop +bebop's +bebops +becalm +becalmed +becalming +becalms +became +because +beck +beck's +beckon +beckoned +beckoning +beckons +becks +become +becomes +becoming +becomingly +bed +bed's +bedazzle +bedazzled +bedazzles +bedazzling +bedbug +bedbug's +bedbugs +bedclothes +bedclothes's +bedded +bedder +bedding +bedding's +bedeck +bedecked +bedecking +bedecks +bedevil +bedeviled +bedeviling +bedevilled +bedevilling +bedevilment +bedevilment's +bedevils +bedfellow +bedfellow's +bedfellows +bedlam +bedlam's +bedlams +bedpan +bedpan's +bedpans +bedraggle +bedraggled +bedraggles +bedraggling +bedridden +bedrock +bedrock's +bedrocks +bedroll +bedroll's +bedrolls +bedroom +bedroom's +bedrooms +beds +bedside +bedside's +bedsides +bedsore +bedsore's +bedsores +bedspread +bedspread's +bedspreads +bedstead +bedstead's +bedsteads +bedtime +bedtime's +bedtimes +bee +bee's +beech +beech's +beeches +beechnut +beechnut's +beechnuts +beef +beef's +beefburger +beefed +beefier +beefiest +beefing +beefs +beefsteak +beefsteak's +beefsteaks +beefy +beehive +beehive's +beehives +beekeeper +beekeeper's +beekeepers +beekeeping +beekeeping's +beeline +beeline's +beelines +been +beep +beep's +beeped +beeper +beeper's +beepers +beeping +beeps +beer +beer's +beers +bees +beeswax +beeswax's +beet +beet's +beetle +beetle's +beetled +beetles +beetling +beets +beeves +befall +befallen +befalling +befalls +befell +befit +befits +befitted +befitting +befog +befogged +befogging +befogs +before +beforehand +befoul +befouled +befouling +befouls +befriend +befriended +befriending +befriends +befuddle +befuddled +befuddles +befuddling +beg +began +begat +beget +begets +begetting +beggar +beggar's +beggared +beggaring +beggarly +beggars +begged +begging +begin +beginner +beginner's +beginners +beginning +beginning's +beginnings +begins +begone +begonia +begonia's +begonias +begot +begotten +begrudge +begrudged +begrudges +begrudging +begrudgingly +begs +beguile +beguiled +beguiles +beguiling +beguilingly +begun +behalf +behalf's +behalves +behave +behaved +behaves +behaving +behavior +behavior's +behavioral +behead +beheaded +beheading +beheads +beheld +behemoth +behemoth's +behemoths +behest +behest's +behests +behind +behind's +behinds +behold +beholden +beholder +beholder's +beholders +beholding +beholds +behoove +behooved +behooves +behooving +beige +beige's +being +being's +beings +belabor +belabored +belaboring +belabors +belated +belatedly +belay +belayed +belaying +belays +belch +belch's +belched +belches +belching +beleaguer +beleaguered +beleaguering +beleaguers +belfries +belfry +belfry's +belie +belied +belief +belief's +beliefs +belies +believable +believe +believed +believer +believer's +believers +believes +believing +belittle +belittled +belittles +belittling +bell +bell's +belladonna +belladonna's +bellboy +bellboy's +bellboys +belle +belle's +belled +belles +bellhop +bellhop's +bellhops +bellicose +bellicosity +bellicosity's +bellied +bellies +belligerence +belligerence's +belligerency +belligerency's +belligerent +belligerent's +belligerently +belligerents +belling +bellow +bellow's +bellowed +bellowing +bellows +bells +bellwether +bellwether's +bellwethers +belly +belly's +bellyache +bellyache's +bellyached +bellyaches +bellyaching +bellybutton +bellybutton's +bellybuttons +bellyful +bellyful's +bellyfuls +bellying +belong +belonged +belonging +belonging's +belongings +belongs +beloved +beloved's +beloveds +below +belt +belt's +belted +belting +belts +beltway +beltway's +beltways +belying +bemoan +bemoaned +bemoaning +bemoans +bemuse +bemused +bemuses +bemusing +bench +bench's +benched +benches +benching +benchmark +benchmark's +benchmarks +bend +bend's +bender +bending +bends +beneath +benediction +benediction's +benedictions +benefaction +benefaction's +benefactions +benefactor +benefactor's +benefactors +benefactress +benefactress's +benefactresses +benefice +benefice's +beneficence +beneficence's +beneficent +beneficently +benefices +beneficial +beneficially +beneficiaries +beneficiary +beneficiary's +benefit +benefit's +benefited +benefiting +benefits +benefitted +benefitting +benevolence +benevolence's +benevolences +benevolent +benevolently +benighted +benign +benignly +bent +bent's +bents +benumb +benumbed +benumbing +benumbs +benzene +benzene's +bequeath +bequeathed +bequeathing +bequeaths +bequest +bequest's +bequests +berate +berated +berates +berating +bereave +bereaved +bereavement +bereavement's +bereavements +bereaves +bereaving +bereft +beret +beret's +berets +berg +berg's +bergs +beriberi +beriberi's +berm +berm's +berms +berried +berries +berry +berry's +berrying +berserk +berth +berth's +berthed +berthing +berths +beryl +beryl's +beryllium +beryllium's +beryls +beseech +beseeched +beseeches +beseeching +beset +besets +besetting +beside +besides +besiege +besieged +besieger +besieger's +besiegers +besieges +besieging +besmirch +besmirched +besmirches +besmirching +besom +besom's +besoms +besot +besots +besotted +besotting +besought +bespeak +bespeaking +bespeaks +bespoke +bespoken +best +best's +bested +bestial +bestiality +bestiality's +bestiaries +bestiary +bestiary's +besting +bestir +bestirred +bestirring +bestirs +bestow +bestowal +bestowal's +bestowals +bestowed +bestowing +bestows +bestrid +bestridden +bestride +bestrides +bestriding +bestrode +bests +bestseller +bestseller's +bestsellers +bet +bet's +beta +beta's +betake +betaken +betakes +betaking +betas +betcha +bethink +bethinking +bethinks +bethought +betide +betided +betides +betiding +betoken +betokened +betokening +betokens +betook +betray +betrayal +betrayal's +betrayals +betrayed +betrayer +betrayer's +betrayers +betraying +betrays +betroth +betrothal +betrothal's +betrothals +betrothed +betrothed's +betrothing +betroths +bets +betted +better +better's +bettered +bettering +betterment +betterment's +betters +betting +bettor +bettor's +bettors +between +betwixt +bevel +bevel's +beveled +beveling +bevelled +bevelling +bevels +beverage +beverage's +beverages +bevies +bevy +bevy's +bewail +bewailed +bewailing +bewails +beware +bewared +bewares +bewaring +bewilder +bewildered +bewildering +bewilderment +bewilderment's +bewilders +bewitch +bewitched +bewitches +bewitching +beyond +biannual +biannually +bias +bias's +biased +biases +biasing +biassed +biassing +biathlon +biathlon's +biathlons +bib +bib's +bible +bible's +bibles +biblical +bibliographer +bibliographer's +bibliographers +bibliographic +bibliographical +bibliographies +bibliography +bibliography's +bibliophile +bibliophile's +bibliophiles +bibs +bibulous +bicameral +bicentennial +bicentennial's +bicentennials +bicep +bicep's +biceps +biceps's +bicepses +bicker +bicker's +bickered +bickering +bickers +bicuspid +bicuspid's +bicuspids +bicycle +bicycle's +bicycled +bicycles +bicycling +bicyclist +bicyclist's +bicyclists +bid +bid's +bidden +bidder +bidder's +bidders +biddies +bidding +bidding's +biddy +biddy's +bide +bided +bides +bidet +bidet's +bidets +biding +bidirectional +bids +biennial +biennial's +biennially +biennials +bier +bier's +biers +bifocal +bifocals +bifocals's +bifurcate +bifurcated +bifurcates +bifurcating +bifurcation +bifurcation's +bifurcations +big +bigamist +bigamist's +bigamists +bigamous +bigamy +bigamy's +bigger +biggest +biggie +biggie's +biggies +bighearted +bighorn +bighorn's +bighorns +bight +bight's +bights +bigmouth +bigmouth's +bigmouths +bigness +bigness's +bigot +bigot's +bigoted +bigotries +bigotry +bigotry's +bigots +bigwig +bigwig's +bigwigs +bike +bike's +biked +biker +biker's +bikers +bikes +biking +bikini +bikini's +bikinis +bilateral +bilaterally +bile +bile's +bilge +bilge's +bilges +bilingual +bilingual's +bilinguals +bilious +bilk +bilked +bilking +bilks +bill +bill's +billboard +billboard's +billboards +billed +billet +billet's +billeted +billeting +billets +billfold +billfold's +billfolds +billiards +billiards's +billies +billing +billing's +billings +billion +billion's +billionaire +billionaire's +billionaires +billions +billionth +billionth's +billionths +billow +billow's +billowed +billowier +billowiest +billowing +billows +billowy +bills +billy +billy's +bimbo +bimbo's +bimboes +bimbos +bimonthlies +bimonthly +bimonthly's +bin +bin's +binaries +binary +binary's +bind +bind's +binder +binder's +binderies +binders +bindery +bindery's +binding +binding's +bindings +binds +binge +binge's +binged +bingeing +binges +binging +bingo +bingo's +binnacle +binnacle's +binnacles +binned +binning +binocular +binocular's +binoculars +binomial +binomial's +binomials +bins +biochemical +biochemical's +biochemicals +biochemist +biochemist's +biochemistry +biochemistry's +biochemists +biodegradable +biodiversity +biodiversity's +biofeedback +biofeedback's +biographer +biographer's +biographers +biographical +biographies +biography +biography's +biological +biologically +biologist +biologist's +biologists +biology +biology's +bionic +biophysicist +biophysicist's +biophysicists +biophysics +biophysics's +biopsied +biopsies +biopsy +biopsy's +biopsying +biorhythm +biorhythm's +biorhythms +biosphere +biosphere's +biospheres +biotechnology +biotechnology's +bipartisan +bipartite +biped +biped's +bipedal +bipeds +biplane +biplane's +biplanes +bipolar +biracial +birch +birch's +birched +birches +birching +bird +bird's +birdbath +birdbath's +birdbaths +birdbrained +birdcage +birdcages +birded +birdhouse +birdhouse's +birdhouses +birdie +birdie's +birdied +birdieing +birdies +birding +birds +birdseed +birdseed's +birdwatcher +birdwatcher's +birdwatchers +biretta +biretta's +birettas +birth +birth's +birthday +birthday's +birthdays +birthed +birthing +birthmark +birthmark's +birthmarks +birthplace +birthplace's +birthplaces +birthrate +birthrate's +birthrates +birthright +birthright's +birthrights +births +birthstone +birthstone's +birthstones +biscuit +biscuit's +biscuits +bisect +bisected +bisecting +bisection +bisection's +bisections +bisector +bisector's +bisectors +bisects +bisexual +bisexual's +bisexuality +bisexuality's +bisexuals +bishop +bishop's +bishopric +bishopric's +bishoprics +bishops +bismuth +bismuth's +bison +bison's +bisons +bisque +bisque's +bistro +bistro's +bistros +bit +bit's +bitch +bitch's +bitched +bitches +bitchier +bitchiest +bitching +bitchy +bite +bite's +bites +biting +bitingly +bitmap +bits +bitten +bitter +bitter's +bitterer +bitterest +bitterly +bittern +bittern's +bitterness +bitterness's +bitterns +bitters +bitters's +bittersweet +bittersweet's +bittersweets +bitumen +bitumen's +bituminous +bivalve +bivalve's +bivalves +bivouac +bivouac's +bivouacked +bivouacking +bivouacs +biweeklies +biweekly +biweekly's +bizarre +bizarrely +blab +blab's +blabbed +blabbermouth +blabbermouth's +blabbermouths +blabbing +blabs +black +black's +blackball +blackball's +blackballed +blackballing +blackballs +blackberries +blackberry +blackberry's +blackberrying +blackbird +blackbird's +blackbirds +blackboard +blackboard's +blackboards +blackcurrant +blacked +blacken +blackened +blackening +blackens +blacker +blackest +blackguard +blackguard's +blackguards +blackhead +blackhead's +blackheads +blacking +blackish +blackjack +blackjack's +blackjacked +blackjacking +blackjacks +blacklist +blacklist's +blacklisted +blacklisting +blacklists +blackmail +blackmail's +blackmailed +blackmailer +blackmailer's +blackmailers +blackmailing +blackmails +blackness +blackness's +blackout +blackout's +blackouts +blacks +blacksmith +blacksmith's +blacksmiths +blackthorn +blackthorn's +blackthorns +blacktop +blacktop's +blacktopped +blacktopping +blacktops +bladder +bladder's +bladders +blade +blade's +blades +blah +blah's +blame +blame's +blamed +blameless +blamelessly +blamer +blames +blameworthy +blaming +blanch +blanched +blanches +blanching +blancmange +bland +blander +blandest +blandishment +blandishment's +blandishments +blandly +blandness +blandness's +blank +blank's +blanked +blanker +blankest +blanket +blanket's +blanketed +blanketing +blankets +blanking +blankly +blankness +blankness's +blanks +blare +blare's +blared +blares +blaring +blarney +blarney's +blarneyed +blarneying +blarneys +blaspheme +blasphemed +blasphemer +blasphemer's +blasphemers +blasphemes +blasphemies +blaspheming +blasphemous +blasphemously +blasphemy +blasphemy's +blast +blast's +blasted +blaster +blaster's +blasters +blasting +blastoff +blastoff's +blastoffs +blasts +blatant +blatantly +blaze +blaze's +blazed +blazer +blazer's +blazers +blazes +blazing +blazon +blazon's +blazoned +blazoning +blazons +bleach +bleach's +bleached +bleacher +bleacher's +bleachers +bleaches +bleaching +bleak +bleaker +bleakest +bleakly +bleakness +bleakness's +blearier +bleariest +blearily +bleary +bleat +bleat's +bleated +bleating +bleats +bled +bleed +bleeder +bleeder's +bleeders +bleeding +bleeding's +bleeds +bleep +bleep's +bleeped +bleeping +bleeps +blemish +blemish's +blemished +blemishes +blemishing +blench +blenched +blenches +blenching +blend +blend's +blended +blender +blender's +blenders +blending +blends +blent +bless +blessed +blessedly +blessedness +blessedness's +blesses +blessing +blessing's +blessings +blest +blew +blight +blight's +blighted +blighting +blights +blimp +blimp's +blimps +blind +blind's +blinded +blinder +blinder's +blinders +blindest +blindfold +blindfold's +blindfolded +blindfolding +blindfolds +blinding +blindingly +blindly +blindness +blindness's +blinds +blindside +blindsided +blindsides +blindsiding +blink +blink's +blinked +blinker +blinker's +blinkered +blinkering +blinkers +blinking +blinks +blintz +blintz's +blintze +blintze's +blintzes +blip +blip's +blips +bliss +bliss's +blissful +blissfully +blissfulness +blissfulness's +blister +blister's +blistered +blistering +blisters +blithe +blithely +blither +blithest +blitz +blitz's +blitzed +blitzes +blitzing +blizzard +blizzard's +blizzards +bloat +bloated +bloating +bloats +blob +blob's +blobbed +blobbing +blobs +bloc +bloc's +block +block's +blockade +blockade's +blockaded +blockades +blockading +blockage +blockage's +blockages +blockbuster +blockbuster's +blockbusters +blocked +blockhead +blockhead's +blockheads +blockhouse +blockhouse's +blockhouses +blocking +blocks +blocs +blog +blog's +blogged +blogger +blogger's +bloggers +blogging +blogs +blond +blond's +blonde +blonde's +blonder +blondes +blondest +blondness +blondness's +blonds +blood +blood's +bloodbath +bloodbath's +bloodbaths +bloodcurdling +blooded +bloodhound +bloodhound's +bloodhounds +bloodied +bloodier +bloodies +bloodiest +blooding +bloodless +bloodlessly +bloodmobile +bloodmobile's +bloodmobiles +bloods +bloodshed +bloodshed's +bloodshot +bloodstain +bloodstain's +bloodstained +bloodstains +bloodstream +bloodstream's +bloodstreams +bloodsucker +bloodsucker's +bloodsuckers +bloodthirstier +bloodthirstiest +bloodthirstiness +bloodthirstiness's +bloodthirsty +bloody +bloodying +bloom +bloom's +bloomed +bloomer +bloomer's +bloomers +blooming +blooms +blooper +blooper's +bloopers +blossom +blossom's +blossomed +blossoming +blossoms +blot +blot's +blotch +blotch's +blotched +blotches +blotchier +blotchiest +blotching +blotchy +blots +blotted +blotter +blotter's +blotters +blotting +blouse +blouse's +bloused +blouses +blousing +blow +blow's +blower +blower's +blowers +blowgun +blowgun's +blowguns +blowing +blown +blowout +blowout's +blowouts +blows +blowsier +blowsiest +blowsy +blowtorch +blowtorch's +blowtorches +blowup +blowup's +blowups +blowzier +blowziest +blowzy +blubber +blubber's +blubbered +blubbering +blubbers +bludgeon +bludgeon's +bludgeoned +bludgeoning +bludgeons +blue +blue's +bluebell +bluebell's +bluebells +blueberries +blueberry +blueberry's +bluebird +bluebird's +bluebirds +bluebottle +bluebottle's +bluebottles +blued +bluefish +bluefish's +bluefishes +bluegrass +bluegrass's +blueing +blueing's +bluejacket +bluejacket's +bluejackets +bluejay +bluejay's +bluejays +bluenose +bluenose's +bluenoses +blueprint +blueprint's +blueprinted +blueprinting +blueprints +bluer +blues +bluest +bluff +bluff's +bluffed +bluffer +bluffer's +bluffers +bluffest +bluffing +bluffs +bluing +bluing's +bluish +blunder +blunder's +blunderbuss +blunderbuss's +blunderbusses +blundered +blunderer +blunderer's +blunderers +blundering +blunders +blunt +blunted +blunter +bluntest +blunting +bluntly +bluntness +bluntness's +blunts +blur +blur's +blurb +blurb's +blurbs +blurred +blurrier +blurriest +blurring +blurry +blurs +blurt +blurted +blurting +blurts +blush +blush's +blushed +blusher +blusher's +blushers +blushes +blushing +bluster +bluster's +blustered +blustering +blusters +blustery +bo's'n +bo's'n's +bo's'ns +bo'sun +bo'sun's +bo'suns +boa +boa's +boar +boar's +board +board's +boarded +boarder +boarder's +boarders +boarding +boardinghouse +boardinghouse's +boardinghouses +boardroom +boardroom's +boardrooms +boards +boardwalk +boardwalk's +boardwalks +boars +boas +boast +boast's +boasted +boaster +boaster's +boasters +boastful +boastfully +boastfulness +boastfulness's +boasting +boasts +boat +boat's +boated +boater +boater's +boaters +boating +boatman +boatman's +boatmen +boats +boatswain +boatswain's +boatswains +bob +bob's +bobbed +bobbies +bobbin +bobbin's +bobbing +bobbins +bobble +bobble's +bobbled +bobbles +bobbling +bobby +bobby's +bobcat +bobcat's +bobcats +bobolink +bobolink's +bobolinks +bobs +bobsled +bobsled's +bobsledded +bobsledding +bobsleds +bobtail +bobtail's +bobtails +bobwhite +bobwhite's +bobwhites +bode +boded +bodega +bodega's +bodegas +bodes +bodice +bodice's +bodices +bodies +bodily +boding +bodkin +bodkin's +bodkins +body +body's +bodybuilding +bodybuilding's +bodyguard +bodyguard's +bodyguards +bodywork +bodywork's +bog +bog's +bogey +bogey's +bogeyed +bogeying +bogeyman +bogeyman's +bogeymen +bogeys +bogged +boggier +boggiest +bogging +boggle +boggled +boggles +boggling +boggy +bogie +bogie's +bogied +bogies +bogs +bogus +bogy +bogy's +bohemian +bohemian's +bohemians +boil +boil's +boiled +boiler +boiler's +boilerplate +boilerplate's +boilers +boiling +boilings +boils +boisterous +boisterously +boisterousness +boisterousness's +bola +bola's +bolas +bold +bolder +boldest +boldface +boldface's +boldly +boldness +boldness's +bole +bole's +bolero +bolero's +boleros +boles +boll +boll's +bolls +bologna +bologna's +boloney +boloney's +bolster +bolster's +bolstered +bolstering +bolsters +bolt +bolt's +bolted +bolting +bolts +bomb +bomb's +bombard +bombarded +bombardier +bombardier's +bombardiers +bombarding +bombardment +bombardment's +bombardments +bombards +bombast +bombast's +bombastic +bombed +bomber +bomber's +bombers +bombing +bombings +bombs +bombshell +bombshell's +bombshells +bonanza +bonanza's +bonanzas +bonbon +bonbon's +bonbons +bond +bond's +bondage +bondage's +bonded +bonding +bonding's +bonds +bondsman +bondsman's +bondsmen +bone +bone's +boned +bonehead +bonehead's +boneheads +boneless +boner +boner's +boners +bones +boney +boneyer +boneyest +bonfire +bonfire's +bonfires +bong +bong's +bonged +bonging +bongo +bongo's +bongoes +bongos +bongs +bonier +boniest +boning +bonito +bonito's +bonitoes +bonitos +bonkers +bonnet +bonnet's +bonnets +bonnie +bonnier +bonniest +bonny +bonsai +bonsai's +bonus +bonus's +bonuses +bony +boo +boo's +boob +boob's +boobed +boobies +boobing +boobs +booby +booby's +boodle +boodle's +boodles +booed +boogie +boogie's +boogied +boogieing +boogies +booing +book +book's +bookcase +bookcase's +bookcases +booked +bookend +bookend's +bookends +bookie +bookie's +bookies +booking +booking's +bookings +bookish +bookkeeper +bookkeeper's +bookkeepers +bookkeeping +bookkeeping's +booklet +booklet's +booklets +bookmaker +bookmaker's +bookmakers +bookmaking +bookmaking's +bookmark +bookmark's +bookmarked +bookmarking +bookmarks +bookmobile +bookmobile's +bookmobiles +books +bookseller +bookseller's +booksellers +bookshelf +bookshelf's +bookshelves +bookshop +bookshop's +bookshops +bookstore +bookstore's +bookstores +bookworm +bookworm's +bookworms +boom +boom's +boomed +boomerang +boomerang's +boomeranged +boomeranging +boomerangs +booming +booms +boon +boon's +boondocks +boondocks's +boondoggle +boondoggle's +boondoggled +boondoggles +boondoggling +boons +boor +boor's +boorish +boorishly +boors +boos +boost +boost's +boosted +booster +booster's +boosters +boosting +boosts +boot +boot's +bootblack +bootblack's +bootblacks +booted +bootee +bootee's +bootees +booth +booth's +booths +bootie +bootie's +booties +booting +bootleg +bootleg's +bootlegged +bootlegger +bootlegger's +bootleggers +bootlegging +bootlegs +bootless +boots +bootstrap +bootstrap's +bootstraps +booty +booty's +booze +booze's +boozed +boozer +boozer's +boozers +boozes +boozier +booziest +boozing +boozy +bop +bop's +bopped +bopping +bops +borax +borax's +bordello +bordello's +bordellos +border +border's +bordered +bordering +borderland +borderland's +borderlands +borderline +borderline's +borderlines +borders +bore +bore's +bored +boredom +boredom's +borer +borer's +borers +bores +boring +boringly +born +borne +boron +boron's +borough +borough's +boroughs +borrow +borrowed +borrower +borrower's +borrowers +borrowing +borrows +borsch +borsch's +borscht +borscht's +bos'n +bos'n's +bos'ns +bosh +bosh's +bosom +bosom's +bosoms +boss +boss's +bossed +bosses +bossier +bossiest +bossily +bossiness +bossiness's +bossing +bossy +bosun +bosun's +bosuns +botanical +botanist +botanist's +botanists +botany +botany's +botch +botch's +botched +botches +botching +both +bother +bother's +bothered +bothering +bothers +bothersome +bottle +bottle's +bottled +bottleneck +bottleneck's +bottlenecks +bottles +bottling +bottom +bottom's +bottomed +bottoming +bottomless +bottoms +botulism +botulism's +boudoir +boudoir's +boudoirs +bouffant +bouffant's +bouffants +bough +bough's +boughs +bought +bouillabaisse +bouillabaisse's +bouillabaisses +bouillon +bouillon's +bouillons +boulder +boulder's +boulders +boulevard +boulevard's +boulevards +bounce +bounce's +bounced +bouncer +bouncer's +bouncers +bounces +bouncier +bounciest +bouncing +bouncy +bound +bound's +boundaries +boundary +boundary's +bounded +bounden +bounder +bounder's +bounders +bounding +boundless +bounds +bounteous +bounties +bountiful +bountifully +bounty +bounty's +bouquet +bouquet's +bouquets +bourbon +bourbon's +bourgeois +bourgeois's +bourgeoisie +bourgeoisie's +bout +bout's +boutique +boutique's +boutiques +bouts +bovine +bovine's +bovines +bow +bow's +bowdlerize +bowdlerized +bowdlerizes +bowdlerizing +bowed +bowel +bowel's +bowels +bower +bower's +bowers +bowing +bowl +bowl's +bowlder +bowlder's +bowlders +bowled +bowlegged +bowler +bowler's +bowlers +bowling +bowling's +bowls +bowman +bowman's +bowmen +bows +bowsprit +bowsprit's +bowsprits +bowstring +bowstring's +bowstrings +box +box's +boxcar +boxcar's +boxcars +boxed +boxer +boxer's +boxers +boxes +boxing +boxing's +boxwood +boxwood's +boy +boy's +boycott +boycott's +boycotted +boycotting +boycotts +boyfriend +boyfriend's +boyfriends +boyhood +boyhood's +boyhoods +boyish +boyishly +boyishness +boyishness's +boys +boysenberries +boysenberry +boysenberry's +bozo +bozo's +bozos +bra +bra's +brace +brace's +braced +bracelet +bracelet's +bracelets +braces +bracing +bracken +bracken's +bracket +bracket's +bracketed +bracketing +brackets +brackish +bract +bract's +bracts +brad +brad's +brads +brag +brag's +braggart +braggart's +braggarts +bragged +bragger +bragger's +braggers +bragging +brags +braid +braid's +braided +braiding +braids +braille +braille's +brain +brain's +brainchild +brainchild's +brainchildren +brained +brainier +brainiest +braining +brainless +brains +brainstorm +brainstorm's +brainstormed +brainstorming +brainstorming's +brainstorms +brainteaser +brainteaser's +brainteasers +brainwash +brainwashed +brainwashes +brainwashing +brainwashing's +brainy +braise +braised +braises +braising +brake +brake's +braked +brakeman +brakeman's +brakemen +brakes +braking +bramble +bramble's +brambles +bran +bran's +branch +branch's +branched +branches +branching +brand +brand's +branded +brandied +brandies +branding +brandish +brandished +brandishes +brandishing +brands +brandy +brandy's +brandying +bras +brash +brasher +brashest +brashly +brashness +brashness's +brass +brass's +brasses +brassier +brassiere +brassiere's +brassieres +brassiest +brassy +brat +brat's +brats +brattier +brattiest +bratty +bravado +bravado's +brave +brave's +braved +bravely +braver +bravery +bravery's +braves +bravest +braving +bravo +bravo's +bravos +bravura +bravura's +bravuras +brawl +brawl's +brawled +brawler +brawler's +brawlers +brawling +brawls +brawn +brawn's +brawnier +brawniest +brawniness +brawniness's +brawny +bray +bray's +brayed +braying +brays +brazen +brazened +brazening +brazenly +brazenness +brazenness's +brazens +brazier +brazier's +braziers +breach +breach's +breached +breaches +breaching +bread +bread's +breadbasket +breadbasket's +breadbaskets +breaded +breadfruit +breadfruit's +breadfruits +breading +breads +breadth +breadth's +breadths +breadwinner +breadwinner's +breadwinners +break +break's +breakable +breakable's +breakables +breakage +breakage's +breakages +breakdown +breakdown's +breakdowns +breaker +breaker's +breakers +breakfast +breakfast's +breakfasted +breakfasting +breakfasts +breaking +breakneck +breakpoints +breaks +breakthrough +breakthrough's +breakthroughs +breakup +breakup's +breakups +breakwater +breakwater's +breakwaters +breast +breast's +breastbone +breastbone's +breastbones +breasted +breasting +breastplate +breastplate's +breastplates +breasts +breaststroke +breaststroke's +breaststrokes +breastwork +breastwork's +breastworks +breath +breath's +breathable +breathe +breathed +breather +breather's +breathers +breathes +breathier +breathiest +breathing +breathing's +breathless +breathlessly +breathlessness +breathlessness's +breaths +breathtaking +breathtakingly +breathy +bred +breech +breech's +breeches +breed +breed's +breeder +breeder's +breeders +breeding +breeding's +breeds +breeze +breeze's +breezed +breezes +breezier +breeziest +breezily +breeziness +breeziness's +breezing +breezy +brethren +breviaries +breviary +breviary's +brevity +brevity's +brew +brew's +brewed +brewer +brewer's +breweries +brewers +brewery +brewery's +brewing +brews +briar +briar's +briars +bribe +bribe's +bribed +bribery +bribery's +bribes +bribing +brick +brick's +brickbat +brickbat's +brickbats +bricked +bricking +bricklayer +bricklayer's +bricklayers +bricklaying +bricklaying's +bricks +bridal +bridal's +bridals +bride +bride's +bridegroom +bridegroom's +bridegrooms +brides +bridesmaid +bridesmaid's +bridesmaids +bridge +bridge's +bridged +bridgehead +bridgehead's +bridgeheads +bridges +bridgework +bridgework's +bridging +bridle +bridle's +bridled +bridles +bridling +brief +brief's +briefcase +briefcase's +briefcases +briefed +briefer +briefest +briefing +briefing's +briefings +briefly +briefness +briefness's +briefs +brier +brier's +briers +brig +brig's +brigade +brigade's +brigades +brigand +brigand's +brigandage +brigandage's +brigands +brigantine +brigantine's +brigantines +bright +brighten +brightened +brightening +brightens +brighter +brightest +brightly +brightness +brightness's +brigs +brilliance +brilliance's +brilliancy +brilliancy's +brilliant +brilliant's +brilliantly +brilliants +brim +brim's +brimful +brimfull +brimmed +brimming +brims +brimstone +brimstone's +brindled +brine +brine's +bring +bringing +brings +brinier +briniest +brink +brink's +brinkmanship +brinkmanship's +brinks +brinksmanship +brinksmanship's +briny +briquet +briquet's +briquets +briquette +briquette's +briquettes +brisk +brisked +brisker +briskest +brisket +brisket's +briskets +brisking +briskly +briskness +briskness's +brisks +bristle +bristle's +bristled +bristles +bristlier +bristliest +bristling +bristly +britches +britches's +brittle +brittle's +brittleness +brittleness's +brittler +brittlest +broach +broach's +broached +broaches +broaching +broad +broad's +broadcast +broadcast's +broadcasted +broadcaster +broadcaster's +broadcasters +broadcasting +broadcasts +broadcloth +broadcloth's +broaden +broadened +broadening +broadens +broader +broadest +broadloom +broadloom's +broadly +broadness +broadness's +broads +broadside +broadside's +broadsided +broadsides +broadsiding +broadsword +broadsword's +broadswords +brocade +brocade's +brocaded +brocades +brocading +broccoli +broccoli's +brochure +brochure's +brochures +brogan +brogan's +brogans +brogue +brogue's +brogues +broil +broil's +broiled +broiler +broiler's +broilers +broiling +broils +broke +broken +brokenhearted +broker +broker's +brokerage +brokerage's +brokerages +brokered +brokering +brokers +bromide +bromide's +bromides +bromine +bromine's +bronchi +bronchial +bronchitis +bronchitis's +broncho +broncho's +bronchos +bronchus +bronchus's +bronco +bronco's +broncos +brontosaur +brontosaur's +brontosauri +brontosaurs +brontosaurus +brontosaurus's +brontosauruses +bronze +bronze's +bronzed +bronzes +bronzing +brooch +brooch's +brooches +brood +brood's +brooded +brooder +brooder's +brooders +brooding +broods +brook +brook's +brooked +brooking +brooks +broom +broom's +brooms +broomstick +broomstick's +broomsticks +broth +broth's +brothel +brothel's +brothels +brother +brother's +brotherhood +brotherhood's +brotherhoods +brotherliness +brotherliness's +brotherly +brothers +broths +brought +brouhaha +brouhaha's +brouhahas +brow +brow's +browbeat +browbeaten +browbeating +browbeats +brown +brown's +browned +browner +brownest +brownie +brownie's +brownies +browning +brownish +brownout +brownout's +brownouts +browns +brownstone +brownstone's +brownstones +brows +browse +browse's +browsed +browser +browser's +browsers +browses +browsing +brr +bruin +bruin's +bruins +bruise +bruise's +bruised +bruiser +bruiser's +bruisers +bruises +bruising +brunch +brunch's +brunched +brunches +brunching +brunet +brunet's +brunets +brunette +brunette's +brunettes +brunt +brunt's +brush +brush's +brushed +brushes +brushing +brushwood +brushwood's +brusk +brusker +bruskest +bruskly +bruskness +bruskness's +brusque +brusquely +brusqueness +brusqueness's +brusquer +brusquest +brutal +brutalities +brutality +brutality's +brutalize +brutalized +brutalizes +brutalizing +brutally +brute +brute's +brutes +brutish +brutishly +bubble +bubble's +bubbled +bubbles +bubblier +bubbliest +bubbling +bubbly +bubbly's +buccaneer +buccaneer's +buccaneered +buccaneering +buccaneers +buck +buck's +buckboard +buckboard's +buckboards +bucked +bucket +bucket's +bucketed +bucketful +bucketful's +bucketfuls +bucketing +buckets +buckeye +buckeye's +buckeyes +bucking +buckle +buckle's +buckled +buckler +buckler's +bucklers +buckles +buckling +buckram +buckram's +bucks +bucksaw +bucksaw's +bucksaws +buckshot +buckshot's +buckskin +buckskin's +buckskins +buckteeth +bucktooth +bucktooth's +bucktoothed +buckwheat +buckwheat's +bucolic +bucolic's +bucolics +bud +bud's +budded +buddies +budding +buddings +buddy +buddy's +budge +budged +budgerigar +budgerigar's +budgerigars +budges +budget +budget's +budgetary +budgeted +budgeting +budgets +budgie +budgie's +budgies +budging +buds +buff +buff's +buffalo +buffalo's +buffaloed +buffaloes +buffaloing +buffalos +buffed +buffer +buffer's +buffered +buffering +buffers +buffet +buffet's +buffeted +buffeting +buffets +buffing +buffoon +buffoon's +buffoonery +buffoonery's +buffoons +buffs +bug +bug's +bugaboo +bugaboo's +bugaboos +bugbear +bugbear's +bugbears +bugged +bugger +bugger's +buggers +buggier +buggies +buggiest +bugging +buggy +buggy's +bugle +bugle's +bugled +bugler +bugler's +buglers +bugles +bugling +bugs +build +build's +builder +builder's +builders +building +building's +buildings +builds +buildup +buildup's +buildups +built +bulb +bulb's +bulbous +bulbs +bulge +bulge's +bulged +bulges +bulgier +bulgiest +bulging +bulgy +bulimia +bulimia's +bulimic +bulimic's +bulimics +bulk +bulk's +bulked +bulkhead +bulkhead's +bulkheads +bulkier +bulkiest +bulkiness +bulkiness's +bulking +bulks +bulky +bull +bull's +bulldog +bulldog's +bulldogged +bulldogging +bulldogs +bulldoze +bulldozed +bulldozer +bulldozer's +bulldozers +bulldozes +bulldozing +bulled +bullet +bullet's +bulletin +bulletin's +bulletined +bulletining +bulletins +bulletproof +bulletproofed +bulletproofing +bulletproofs +bullets +bullfight +bullfight's +bullfighter +bullfighter's +bullfighters +bullfighting +bullfighting's +bullfights +bullfinch +bullfinch's +bullfinches +bullfrog +bullfrog's +bullfrogs +bullheaded +bullhorn +bullhorn's +bullhorns +bullied +bullies +bulling +bullion +bullion's +bullish +bullock +bullock's +bullocks +bullpen +bullpen's +bullpens +bullring +bullring's +bullrings +bulls +bullshit +bullshit's +bullshits +bullshitted +bullshitting +bully +bully's +bullying +bulrush +bulrush's +bulrushes +bulwark +bulwark's +bulwarks +bum +bum's +bumble +bumblebee +bumblebee's +bumblebees +bumbled +bumbler +bumbler's +bumblers +bumbles +bumbling +bummed +bummer +bummer's +bummers +bummest +bumming +bump +bump's +bumped +bumper +bumper's +bumpers +bumpier +bumpiest +bumping +bumpkin +bumpkin's +bumpkins +bumps +bumptious +bumpy +bums +bun +bun's +bunch +bunch's +bunched +bunches +bunching +buncombe +buncombe's +bundle +bundle's +bundled +bundles +bundling +bung +bung's +bungalow +bungalow's +bungalows +bunged +bunghole +bunghole's +bungholes +bunging +bungle +bungle's +bungled +bungler +bungler's +bunglers +bungles +bungling +bungs +bunion +bunion's +bunions +bunk +bunk's +bunked +bunker +bunker's +bunkers +bunkhouse +bunkhouse's +bunkhouses +bunking +bunks +bunkum +bunkum's +bunnies +bunny +bunny's +buns +bunt +bunt's +bunted +bunting +bunting's +buntings +bunts +buoy +buoy's +buoyancy +buoyancy's +buoyant +buoyantly +buoyed +buoying +buoys +bur +bur's +burble +burbled +burbles +burbling +burden +burden's +burdened +burdening +burdens +burdensome +burdock +burdock's +bureau +bureau's +bureaucracies +bureaucracy +bureaucracy's +bureaucrat +bureaucrat's +bureaucratic +bureaucratically +bureaucrats +bureaus +bureaux +burg +burg's +burgeon +burgeoned +burgeoning +burgeons +burger +burger's +burgers +burgher +burgher's +burghers +burglar +burglar's +burglaries +burglarize +burglarized +burglarizes +burglarizing +burglars +burglary +burglary's +burgle +burgled +burgles +burgling +burgs +burial +burial's +burials +buried +buries +burlap +burlap's +burlesque +burlesque's +burlesqued +burlesques +burlesquing +burlier +burliest +burliness +burliness's +burly +burn +burn's +burned +burner +burner's +burners +burning +burnish +burnish's +burnished +burnishes +burnishing +burnoose +burnoose's +burnooses +burnous +burnous's +burnouses +burnout +burnout's +burnouts +burns +burnt +burp +burp's +burped +burping +burps +burr +burr's +burred +burring +burrito +burrito's +burritos +burro +burro's +burros +burrow +burrow's +burrowed +burrowing +burrows +burrs +burs +bursar +bursar's +bursars +bursitis +bursitis's +burst +burst's +bursted +bursting +bursts +bury +burying +bus +bus's +busbies +busboy +busboy's +busboys +busby +busby's +bused +buses +bush +bush's +bushed +bushel +bushel's +busheled +busheling +bushelled +bushelling +bushels +bushes +bushier +bushiest +bushiness +bushiness's +bushing +bushing's +bushings +bushman +bushman's +bushmen +bushwhack +bushwhacked +bushwhacker +bushwhacker's +bushwhackers +bushwhacking +bushwhacks +bushy +busied +busier +busies +busiest +busily +business +business's +businesses +businesslike +businessman +businessman's +businessmen +businesswoman +businesswoman's +businesswomen +busing +busing's +buss +buss's +bussed +busses +bussing +bussing's +bust +bust's +busted +buster +buster's +busters +busting +bustle +bustle's +bustled +bustles +bustling +busts +busy +busybodies +busybody +busybody's +busying +busyness +busyness's +busywork +busywork's +but +butane +butane's +butch +butch's +butcher +butcher's +butchered +butcheries +butchering +butchers +butchery +butchery's +butches +butler +butler's +butlers +buts +butt +butt's +butte +butte's +butted +butter +butter's +buttercup +buttercup's +buttercups +buttered +butterfat +butterfat's +butterfingers +butterfingers's +butterflied +butterflies +butterfly +butterfly's +butterflying +butterier +butteries +butteriest +buttering +buttermilk +buttermilk's +butternut +butternut's +butternuts +butters +butterscotch +butterscotch's +buttery +buttery's +buttes +butting +buttock +buttock's +buttocks +button +button's +buttoned +buttonhole +buttonhole's +buttonholed +buttonholes +buttonholing +buttoning +buttons +buttress +buttress's +buttressed +buttresses +buttressing +butts +buxom +buy +buy's +buyer +buyer's +buyers +buying +buyout +buyout's +buyouts +buys +buzz +buzz's +buzzard +buzzard's +buzzards +buzzed +buzzer +buzzer's +buzzers +buzzes +buzzing +buzzword +buzzword's +buzzwords +by +by's +bye +bye's +byelaw +byelaw's +byelaws +byes +bygone +bygone's +bygones +bylaw +bylaw's +bylaws +byline +byline's +bylines +bypass +bypass's +bypassed +bypasses +bypassing +bypast +byplay +byplay's +byproduct +byproduct's +byproducts +bystander +bystander's +bystanders +byte +byte's +bytes +byway +byway's +byways +byword +byword's +bywords +c +cab +cab's +cabal +cabal's +cabals +cabana +cabana's +cabanas +cabaret +cabaret's +cabarets +cabbage +cabbage's +cabbages +cabbed +cabbie +cabbie's +cabbies +cabbing +cabby +cabby's +cabin +cabin's +cabinet +cabinet's +cabinetmaker +cabinetmaker's +cabinetmakers +cabinets +cabins +cable +cable's +cablecast +cablecast's +cablecasted +cablecasting +cablecasts +cabled +cablegram +cablegram's +cablegrams +cables +cabling +caboodle +caboodle's +caboose +caboose's +cabooses +cabs +cacao +cacao's +cacaos +cache +cache's +cached +caches +cachet +cachet's +cachets +caching +cackle +cackle's +cackled +cackles +cackling +cacophonies +cacophonous +cacophony +cacophony's +cacti +cactus +cactus's +cactuses +cad +cad's +cadaver +cadaver's +cadaverous +cadavers +caddie +caddie's +caddied +caddies +caddish +caddy +caddy's +caddying +cadence +cadence's +cadences +cadenza +cadenza's +cadenzas +cadet +cadet's +cadets +cadge +cadged +cadger +cadger's +cadgers +cadges +cadging +cadmium +cadmium's +cadre +cadre's +cadres +cads +caducei +caduceus +caduceus's +caesarean +caesarean's +caesareans +caesarian +caesarian's +caesarians +caesura +caesura's +caesurae +caesuras +cafeteria +cafeteria's +cafeterias +caffeinated +caffeine +caffeine's +caftan +caftan's +caftans +cage +cage's +caged +cages +cagey +cageyness +cageyness's +cagier +cagiest +cagily +caginess +caginess's +caging +cagy +cahoot +cahoot's +cahoots +cairn +cairn's +cairns +caisson +caisson's +caissons +cajole +cajoled +cajolery +cajolery's +cajoles +cajoling +cake +cake's +caked +cakes +caking +calabash +calabash's +calabashes +calamine +calamine's +calamities +calamitous +calamity +calamity's +calcified +calcifies +calcify +calcifying +calcine +calcined +calcines +calcining +calcite +calcite's +calcium +calcium's +calculable +calculate +calculated +calculates +calculating +calculation +calculation's +calculations +calculator +calculator's +calculators +calculi +calculus +calculus's +calculuses +caldron +caldron's +caldrons +calendar +calendar's +calendared +calendaring +calendars +calf +calf's +calfs +calfskin +calfskin's +caliber +caliber's +calibers +calibrate +calibrated +calibrates +calibrating +calibration +calibration's +calibrations +calibrator +calibrator's +calibrators +calico +calico's +calicoes +calicos +calif +calif's +califs +caliper +caliper's +calipered +calipering +calipers +caliph +caliph's +caliphate +caliphate's +caliphates +caliphs +calisthenic +calisthenics +calisthenics's +calk +calk's +calked +calking +calking's +calkings +calks +call +call's +callable +called +caller +caller's +callers +calligrapher +calligrapher's +calligraphers +calligraphy +calligraphy's +calling +calling's +callings +calliope +calliope's +calliopes +calliper +calliper's +callipered +callipering +callipers +callisthenics +callous +calloused +callouses +callousing +callously +callousness +callousness's +callow +callower +callowest +calls +callus +callus's +callused +calluses +callusing +calm +calm's +calmed +calmer +calmest +calming +calmly +calmness +calmness's +calms +caloric +calorie +calorie's +calories +calorific +calumniate +calumniated +calumniates +calumniating +calumnies +calumny +calumny's +calve +calved +calves +calving +calyces +calypso +calypso's +calypsos +calyx +calyx's +calyxes +cam +cam's +camaraderie +camaraderie's +camber +camber's +cambered +cambering +cambers +cambia +cambium +cambium's +cambiums +cambric +cambric's +camcorder +camcorder's +camcorders +came +camel +camel's +camellia +camellia's +camellias +camels +cameo +cameo's +cameos +camera +camera's +cameraman +cameraman's +cameramen +cameras +camerawoman +camerawoman's +camerawomen +camisole +camisole's +camisoles +camomile +camomile's +camomiles +camouflage +camouflage's +camouflaged +camouflages +camouflaging +camp +camp's +campaign +campaign's +campaigned +campaigner +campaigner's +campaigners +campaigning +campaigns +campanile +campanile's +campaniles +campanili +camped +camper +camper's +campers +campfire +campfire's +campfires +campground +campground's +campgrounds +camphor +camphor's +campier +campiest +camping +camping's +camps +campsite +campsite's +campsites +campus +campus's +campuses +campy +cams +camshaft +camshaft's +camshafts +can +can's +can't +canal +canal's +canals +canard +canard's +canards +canaries +canary +canary's +canasta +canasta's +cancan +cancan's +cancans +cancel +cancelation +canceled +canceling +cancellation +cancellation's +cancellations +cancelled +cancelling +cancels +cancer +cancer's +cancerous +cancers +candelabra +candelabra's +candelabras +candelabrum +candelabrum's +candelabrums +candid +candidacies +candidacy +candidacy's +candidate +candidate's +candidates +candidly +candidness +candidness's +candied +candies +candle +candle's +candled +candlelight +candlelight's +candles +candlestick +candlestick's +candlesticks +candling +candor +candor's +candy +candy's +candying +cane +cane's +caned +canes +canine +canine's +canines +caning +canister +canister's +canisters +canker +canker's +cankered +cankering +cankerous +cankers +cannabis +cannabis's +cannabises +canned +canneries +cannery +cannery's +cannibal +cannibal's +cannibalism +cannibalism's +cannibalistic +cannibalize +cannibalized +cannibalizes +cannibalizing +cannibals +cannier +canniest +cannily +canniness +canniness's +canning +cannon +cannon's +cannonade +cannonade's +cannonaded +cannonades +cannonading +cannonball +cannonball's +cannonballs +cannoned +cannoning +cannons +cannot +canny +canoe +canoe's +canoed +canoeing +canoeist +canoeist's +canoeists +canoes +canon +canon's +canonical +canonization +canonization's +canonizations +canonize +canonized +canonizes +canonizing +canons +canopied +canopies +canopy +canopy's +canopying +cans +cant +cant's +cantaloup +cantaloup's +cantaloupe +cantaloupe's +cantaloupes +cantaloups +cantankerous +cantankerously +cantankerousness +cantankerousness's +cantata +cantata's +cantatas +canted +canteen +canteen's +canteens +canter +canter's +cantered +cantering +canters +canticle +canticle's +canticles +cantilever +cantilever's +cantilevered +cantilevering +cantilevers +canting +canto +canto's +canton +canton's +cantons +cantor +cantor's +cantors +cantos +cants +canvas +canvas's +canvasback +canvasback's +canvasbacks +canvased +canvases +canvasing +canvass +canvass's +canvassed +canvasser +canvasser's +canvassers +canvasses +canvassing +canyon +canyon's +canyons +cap +cap's +capabilities +capability +capability's +capable +capably +capacious +capaciously +capaciousness +capaciousness's +capacitance +capacities +capacitor +capacitor's +capacitors +capacity +capacity's +caparison +caparison's +caparisoned +caparisoning +caparisons +cape +cape's +caped +caper +caper's +capered +capering +capers +capes +capillaries +capillary +capillary's +capital +capital's +capitalism +capitalism's +capitalist +capitalist's +capitalistic +capitalists +capitalization +capitalization's +capitalize +capitalized +capitalizes +capitalizing +capitals +capitol +capitol's +capitols +capitulate +capitulated +capitulates +capitulating +capitulation +capitulation's +capitulations +caplet +caplet's +caplets +capon +capon's +capons +capped +capping +cappuccino +cappuccino's +cappuccinos +caprice +caprice's +caprices +capricious +capriciously +capriciousness +capriciousness's +caps +capsize +capsized +capsizes +capsizing +capstan +capstan's +capstans +capsule +capsule's +capsuled +capsules +capsuling +captain +captain's +captaincies +captaincy +captaincy's +captained +captaining +captains +caption +caption's +captioned +captioning +captions +captious +captivate +captivated +captivates +captivating +captivation +captivation's +captive +captive's +captives +captivities +captivity +captivity's +captor +captor's +captors +capture +capture's +captured +captures +capturing +car +car's +caracul +caracul's +carafe +carafe's +carafes +caramel +caramel's +caramels +carapace +carapace's +carapaces +carat +carat's +carats +caravan +caravan's +caravans +caraway +caraway's +caraways +carbide +carbide's +carbides +carbine +carbine's +carbines +carbohydrate +carbohydrate's +carbohydrates +carbon +carbon's +carbonate +carbonate's +carbonated +carbonates +carbonating +carbonation +carbonation's +carbons +carboy +carboy's +carboys +carbuncle +carbuncle's +carbuncles +carburetor +carburetor's +carburetors +carcass +carcass's +carcasses +carcinogen +carcinogen's +carcinogenic +carcinogenic's +carcinogenics +carcinogens +carcinoma +carcinoma's +carcinomas +carcinomata +card +card's +cardboard +cardboard's +carded +cardiac +cardigan +cardigan's +cardigans +cardinal +cardinal's +cardinals +carding +cardiogram +cardiogram's +cardiograms +cardiologist +cardiologist's +cardiologists +cardiology +cardiology's +cardiopulmonary +cardiovascular +cards +cardsharp +cardsharp's +cardsharps +care +care's +cared +careen +careened +careening +careens +career +career's +careered +careering +careers +carefree +careful +carefuller +carefullest +carefully +carefulness +carefulness's +caregiver +caregiver's +caregivers +careless +carelessly +carelessness +carelessness's +cares +caress +caress's +caressed +caresses +caressing +caret +caret's +caretaker +caretaker's +caretakers +carets +careworn +carfare +carfare's +cargo +cargo's +cargoes +cargos +caribou +caribou's +caribous +caricature +caricature's +caricatured +caricatures +caricaturing +caricaturist +caricaturist's +caricaturists +caries +caries's +carillon +carillon's +carillons +caring +caring's +carjack +carjacked +carjacker +carjacker's +carjackers +carjacking +carjacking's +carjackings +carjacks +carmine +carmine's +carmines +carnage +carnage's +carnal +carnally +carnation +carnation's +carnations +carnelian +carnelian's +carnelians +carnival +carnival's +carnivals +carnivore +carnivore's +carnivores +carnivorous +carol +carol's +caroled +caroler +caroler's +carolers +caroling +carolled +caroller +caroller's +carollers +carolling +carols +carom +carom's +caromed +caroming +caroms +carotid +carotid's +carotids +carousal +carousal's +carousals +carouse +carouse's +caroused +carousel +carousel's +carousels +carouser +carouser's +carousers +carouses +carousing +carp +carp's +carpal +carpal's +carpals +carped +carpel +carpel's +carpels +carpenter +carpenter's +carpentered +carpentering +carpenters +carpentry +carpentry's +carpet +carpet's +carpetbag +carpetbag's +carpetbagged +carpetbagger +carpetbagger's +carpetbaggers +carpetbagging +carpetbags +carpeted +carpeting +carpeting's +carpets +carpi +carping +carport +carport's +carports +carps +carpus +carpus's +carrel +carrel's +carrels +carriage +carriage's +carriages +carriageway +carried +carrier +carrier's +carriers +carries +carrion +carrion's +carrot +carrot's +carrots +carrousel +carrousel's +carrousels +carry +carry's +carryall +carryall's +carryalls +carrying +carryout +cars +carsick +carsickness +carsickness's +cart +cart's +carted +cartel +cartel's +cartels +cartilage +cartilage's +cartilages +cartilaginous +carting +cartographer +cartographer's +cartographers +cartography +cartography's +carton +carton's +cartons +cartoon +cartoon's +cartooned +cartooning +cartoonist +cartoonist's +cartoonists +cartoons +cartridge +cartridge's +cartridges +carts +cartwheel +cartwheel's +cartwheeled +cartwheeling +cartwheels +carve +carved +carver +carver's +carvers +carves +carving +carving's +carvings +caryatid +caryatid's +caryatides +caryatids +cascade +cascade's +cascaded +cascades +cascading +case +case's +cased +casein +casein's +caseload +caseload's +caseloads +casement +casement's +casements +cases +casework +casework's +caseworker +caseworker's +caseworkers +cash +cash's +cashed +cashes +cashew +cashew's +cashews +cashier +cashier's +cashiered +cashiering +cashiers +cashing +cashmere +cashmere's +casing +casing's +casings +casino +casino's +casinos +cask +cask's +casket +casket's +caskets +casks +cassava +cassava's +cassavas +casserole +casserole's +casseroled +casseroles +casseroling +cassette +cassette's +cassettes +cassia +cassia's +cassias +cassino +cassino's +cassinos +cassock +cassock's +cassocks +cast +cast's +castanet +castanet's +castanets +castaway +castaway's +castaways +caste +caste's +caster +caster's +casters +castes +castigate +castigated +castigates +castigating +castigation +castigation's +castigator +castigator's +castigators +casting +casting's +castings +castle +castle's +castled +castles +castling +castoff +castoff's +castoffs +castor +castor's +castors +castrate +castrated +castrates +castrating +castration +castration's +castrations +casts +casual +casual's +casually +casualness +casualness's +casuals +casualties +casualty +casualty's +casuist +casuist's +casuistry +casuistry's +casuists +cat +cat's +cataclysm +cataclysm's +cataclysmic +cataclysms +catacomb +catacomb's +catacombs +catafalque +catafalque's +catafalques +catalepsy +catalepsy's +cataleptic +cataleptic's +cataleptics +catalog +catalog's +cataloged +cataloger +cataloger's +catalogers +cataloging +catalogs +catalogue +catalogue's +catalogued +cataloguer +cataloguer's +cataloguers +catalogues +cataloguing +catalpa +catalpa's +catalpas +catalysis +catalysis's +catalyst +catalyst's +catalysts +catalytic +catalytic's +catalyze +catalyzed +catalyzes +catalyzing +catamaran +catamaran's +catamarans +catapult +catapult's +catapulted +catapulting +catapults +cataract +cataract's +cataracts +catarrh +catarrh's +catastrophe +catastrophe's +catastrophes +catastrophic +catastrophically +catatonic +catatonic's +catatonics +catbird +catbird's +catbirds +catboat +catboat's +catboats +catcall +catcall's +catcalled +catcalling +catcalls +catch +catch's +catchall +catchall's +catchalls +catcher +catcher's +catchers +catches +catchier +catchiest +catching +catchings +catchment +catchphrase +catchup +catchup's +catchword +catchword's +catchwords +catchy +catechise +catechised +catechises +catechising +catechism +catechism's +catechisms +catechize +catechized +catechizes +catechizing +categorical +categorically +categories +categorization +categorization's +categorizations +categorize +categorized +categorizes +categorizing +category +category's +cater +catered +caterer +caterer's +caterers +catering +caterings +caterpillar +caterpillar's +caterpillars +caters +caterwaul +caterwaul's +caterwauled +caterwauling +caterwauls +catfish +catfish's +catfishes +catgut +catgut's +catharses +catharsis +catharsis's +cathartic +cathartic's +cathartics +cathedral +cathedral's +cathedrals +catheter +catheter's +catheters +cathode +cathode's +cathodes +catholic +catholicity +catholicity's +cation +cation's +cations +catkin +catkin's +catkins +catnap +catnap's +catnapped +catnapping +catnaps +catnip +catnip's +cats +catsup +catsup's +cattail +cattail's +cattails +cattier +cattiest +cattily +cattiness +cattiness's +cattle +cattle's +cattleman +cattleman's +cattlemen +catty +catwalk +catwalk's +catwalks +caucus +caucus's +caucused +caucuses +caucusing +caucussed +caucussing +caudal +caught +cauldron +cauldron's +cauldrons +cauliflower +cauliflower's +cauliflowers +caulk +caulk's +caulked +caulking +caulking's +caulkings +caulks +causal +causalities +causality +causality's +causally +causation +causation's +causative +cause +cause's +caused +causeless +causes +causeway +causeway's +causeways +causing +caustic +caustic's +caustically +caustics +cauterize +cauterized +cauterizes +cauterizing +caution +caution's +cautionary +cautioned +cautioning +cautions +cautious +cautiously +cautiousness +cautiousness's +cavalcade +cavalcade's +cavalcades +cavalier +cavalier's +cavaliers +cavalries +cavalry +cavalry's +cavalryman +cavalryman's +cavalrymen +cave +cave's +caveat +caveat's +caveats +caved +caveman +caveman's +cavemen +cavern +cavern's +cavernous +caverns +caves +caviar +caviar's +caviare +caviare's +cavil +cavil's +caviled +caviling +cavilled +cavilling +cavils +caving +cavities +cavity +cavity's +cavort +cavorted +cavorting +cavorts +caw +caw's +cawed +cawing +caws +cayenne +cayenne's +cease +cease's +ceased +ceasefire +ceaseless +ceaselessly +ceases +ceasing +cedar +cedar's +cedars +cede +ceded +cedes +cedilla +cedilla's +cedillas +ceding +ceiling +ceiling's +ceilings +celebrant +celebrant's +celebrants +celebrate +celebrated +celebrates +celebrating +celebration +celebration's +celebrations +celebratory +celebrities +celebrity +celebrity's +celerity +celerity's +celery +celery's +celesta +celesta's +celestas +celestial +celibacy +celibacy's +celibate +celibate's +celibates +cell +cell's +cellar +cellar's +cellars +celli +cellist +cellist's +cellists +cello +cello's +cellophane +cellophane's +cellos +cells +cellular +cellular's +cellulars +cellulite +cellulite's +celluloid +celluloid's +cellulose +cellulose's +cement +cement's +cemented +cementing +cements +cemeteries +cemetery +cemetery's +cenotaph +cenotaph's +cenotaphs +censer +censer's +censers +censor +censor's +censored +censoring +censorious +censoriously +censors +censorship +censorship's +censure +censure's +censured +censures +censuring +census +census's +censused +censuses +censusing +cent +cent's +centaur +centaur's +centaurs +centenarian +centenarian's +centenarians +centenaries +centenary +centenary's +centennial +centennial's +centennials +center +center's +centered +centerfold +centerfold's +centerfolds +centering +centerpiece +centerpiece's +centerpieces +centers +centigrade +centigram +centigram's +centigramme +centigramme's +centigrammes +centigrams +centiliter +centiliter's +centiliters +centime +centime's +centimes +centimeter +centimeter's +centimeters +centipede +centipede's +centipedes +central +central's +centralization +centralization's +centralize +centralized +centralizes +centralizing +centrally +centrals +centrifugal +centrifuge +centrifuge's +centrifuged +centrifuges +centrifuging +centripetal +centrist +centrist's +centrists +cents +centuries +centurion +centurion's +centurions +century +century's +cephalic +ceramic +ceramic's +ceramics +ceramics's +cereal +cereal's +cereals +cerebella +cerebellum +cerebellum's +cerebellums +cerebra +cerebral +cerebrum +cerebrum's +cerebrums +ceremonial +ceremonial's +ceremonially +ceremonials +ceremonies +ceremonious +ceremoniously +ceremony +ceremony's +cerise +cerise's +certain +certainly +certainties +certainty +certainty's +certifiable +certificate +certificate's +certificated +certificates +certificating +certification +certification's +certifications +certified +certifies +certify +certifying +certitude +certitude's +cerulean +cerulean's +cervical +cervices +cervix +cervix's +cervixes +cesarean +cesarean's +cesareans +cesarian +cesarian's +cesarians +cesium +cesium's +cessation +cessation's +cessations +cession +cession's +cessions +cesspool +cesspool's +cesspools +cetacean +cetacean's +cetaceans +chafe +chafed +chafes +chaff +chaff's +chaffed +chaffinch +chaffinch's +chaffinches +chaffing +chaffs +chafing +chagrin +chagrin's +chagrined +chagrining +chagrinned +chagrinning +chagrins +chain +chain's +chained +chaining +chains +chainsaw +chainsaw's +chainsawed +chainsawing +chainsaws +chair +chair's +chaired +chairing +chairlift +chairlift's +chairlifts +chairman +chairman's +chairmanship +chairmanship's +chairmen +chairperson +chairperson's +chairpersons +chairs +chairwoman +chairwoman's +chairwomen +chaise +chaise's +chaises +chalet +chalet's +chalets +chalice +chalice's +chalices +chalk +chalk's +chalkboard +chalkboard's +chalkboards +chalked +chalkier +chalkiest +chalking +chalks +chalky +challenge +challenge's +challenged +challenger +challenger's +challengers +challenges +challenging +chamber +chamber's +chamberlain +chamberlain's +chamberlains +chambermaid +chambermaid's +chambermaids +chambers +chambray +chambray's +chameleon +chameleon's +chameleons +chammies +chammy +chammy's +chamois +chamois's +chamoix +chamomile +chamomile's +chamomiles +champ +champ's +champagne +champagne's +champagnes +champed +champing +champion +champion's +championed +championing +champions +championship +championship's +championships +champs +chance +chance's +chanced +chancel +chancel's +chancelleries +chancellery +chancellery's +chancellor +chancellor's +chancellors +chancels +chanceries +chancery +chancery's +chances +chancier +chanciest +chancing +chancy +chandelier +chandelier's +chandeliers +chandler +chandler's +chandlers +change +change's +changeable +changed +changeling +changeling's +changelings +changeover +changeover's +changeovers +changes +changing +channel +channel's +channeled +channeling +channelled +channelling +channels +chant +chant's +chanted +chanter +chanter's +chanters +chantey +chantey's +chanteys +chanticleer +chanticleer's +chanticleers +chanties +chanting +chants +chanty +chanty's +chaos +chaos's +chaotic +chaotically +chap +chap's +chaparral +chaparral's +chaparrals +chapel +chapel's +chapels +chaperon +chaperon's +chaperone +chaperone's +chaperoned +chaperones +chaperoning +chaperons +chaplain +chaplain's +chaplaincies +chaplaincy +chaplaincy's +chaplains +chaplet +chaplet's +chaplets +chapped +chapping +chaps +chapt +chapter +chapter's +chapters +char +char's +character +character's +characteristic +characteristic's +characteristically +characteristics +characterization +characterization's +characterizations +characterize +characterized +characterizes +characterizing +characters +charade +charade's +charades +charbroil +charbroiled +charbroiling +charbroils +charcoal +charcoal's +charcoals +charge +charge's +chargeable +charged +charger +charger's +chargers +charges +charging +charier +chariest +charily +chariot +chariot's +charioteer +charioteer's +charioteers +chariots +charisma +charisma's +charismatic +charismatic's +charismatics +charitable +charitably +charities +charity +charity's +charlatan +charlatan's +charlatans +charm +charm's +charmed +charmer +charmer's +charmers +charming +charmingly +charms +charred +charring +chars +chart +chart's +charted +charter +charter's +chartered +chartering +charters +charting +chartreuse +chartreuse's +charts +charwoman +charwoman's +charwomen +chary +chase +chase's +chased +chaser +chaser's +chasers +chases +chasing +chasm +chasm's +chasms +chassis +chassis's +chaste +chastely +chasten +chastened +chastening +chastens +chaster +chastest +chastise +chastised +chastisement +chastisement's +chastisements +chastises +chastising +chastity +chastity's +chasuble +chasuble's +chasubles +chat +chat's +chateaus +chats +chatted +chattel +chattel's +chattels +chatter +chatter's +chatterbox +chatterbox's +chatterboxes +chattered +chatterer +chatterer's +chatterers +chattering +chatters +chattier +chattiest +chattily +chattiness +chattiness's +chatting +chatty +chauffeur +chauffeur's +chauffeured +chauffeuring +chauffeurs +chauvinism +chauvinism's +chauvinist +chauvinist's +chauvinistic +chauvinists +cheap +cheapen +cheapened +cheapening +cheapens +cheaper +cheapest +cheaply +cheapness +cheapness's +cheapskate +cheapskate's +cheapskates +cheat +cheat's +cheated +cheater +cheater's +cheaters +cheating +cheats +check +check's +checkbook +checkbook's +checkbooks +checked +checker +checker's +checkerboard +checkerboard's +checkerboards +checkered +checkering +checkers +checkers's +checking +checklist +checklist's +checklists +checkmate +checkmate's +checkmated +checkmates +checkmating +checkout +checkout's +checkouts +checkpoint +checkpoint's +checkpoints +checkroom +checkroom's +checkrooms +checks +checkup +checkup's +checkups +cheddar +cheddar's +cheek +cheek's +cheekbone +cheekbone's +cheekbones +cheeked +cheekier +cheekiest +cheekily +cheekiness +cheekiness's +cheeking +cheeks +cheeky +cheep +cheep's +cheeped +cheeping +cheeps +cheer +cheer's +cheered +cheerful +cheerfuller +cheerfullest +cheerfully +cheerfulness +cheerfulness's +cheerier +cheeriest +cheerily +cheeriness +cheeriness's +cheering +cheerleader +cheerleader's +cheerleaders +cheerless +cheerlessly +cheerlessness +cheerlessness's +cheers +cheery +cheese +cheese's +cheeseburger +cheeseburger's +cheeseburgers +cheesecake +cheesecake's +cheesecakes +cheesecloth +cheesecloth's +cheesed +cheeses +cheesier +cheesiest +cheesing +cheesy +cheetah +cheetah's +cheetahs +chef +chef's +chefs +chemical +chemical's +chemically +chemicals +chemise +chemise's +chemises +chemist +chemist's +chemistry +chemistry's +chemists +chemotherapy +chemotherapy's +chenille +chenille's +cherish +cherished +cherishes +cherishing +cheroot +cheroot's +cheroots +cherries +cherry +cherry's +cherub +cherub's +cherubic +cherubim +cherubims +cherubs +chervil +chervil's +chess +chess's +chessboard +chessboard's +chessboards +chessman +chessman's +chessmen +chest +chest's +chestnut +chestnut's +chestnuts +chests +chevron +chevron's +chevrons +chew +chew's +chewed +chewer +chewer's +chewers +chewier +chewiest +chewing +chews +chewy +chi +chiaroscuro +chiaroscuro's +chic +chic's +chicaneries +chicanery +chicanery's +chicer +chicest +chichi +chichi's +chichis +chick +chick's +chickadee +chickadee's +chickadees +chicken +chicken's +chickened +chickening +chickenpox +chickenpox's +chickens +chickpea +chickpea's +chickpeas +chicks +chickweed +chickweed's +chicle +chicle's +chicories +chicory +chicory's +chid +chidden +chide +chided +chides +chiding +chief +chief's +chiefer +chiefest +chiefly +chiefs +chieftain +chieftain's +chieftains +chiffon +chiffon's +chigger +chigger's +chiggers +chignon +chignon's +chignons +chilblain +chilblain's +chilblains +child +child's +childbearing +childbearing's +childbirth +childbirth's +childbirths +childcare +childcare's +childhood +childhood's +childhoods +childish +childishly +childishness +childishness's +childless +childlessness +childlessness's +childlike +childproof +childproofed +childproofing +childproofs +children +chile +chile's +chiles +chili +chili's +chilies +chilis +chill +chill's +chilled +chiller +chiller's +chillers +chillest +chilli +chilli's +chillier +chillies +chilliest +chilliness +chilliness's +chilling +chillings +chills +chilly +chimaera +chimaera's +chimaeras +chime +chime's +chimed +chimera +chimera's +chimeras +chimerical +chimes +chiming +chimney +chimney's +chimneys +chimp +chimp's +chimpanzee +chimpanzee's +chimpanzees +chimps +chin +chin's +china +china's +chinchilla +chinchilla's +chinchillas +chink +chink's +chinked +chinking +chinks +chinned +chinning +chino +chino's +chinos +chins +chinstrap +chinstrap's +chinstraps +chintz +chintz's +chintzier +chintziest +chintzy +chip +chip's +chipmunk +chipmunk's +chipmunks +chipped +chipper +chipper's +chippers +chipping +chips +chiropodist +chiropodist's +chiropodists +chiropody +chiropody's +chiropractic +chiropractic's +chiropractics +chiropractor +chiropractor's +chiropractors +chirp +chirp's +chirped +chirping +chirps +chirrup +chirrup's +chirruped +chirruping +chirrupped +chirrupping +chirrups +chisel +chisel's +chiseled +chiseler +chiseler's +chiselers +chiseling +chiselled +chiseller +chiseller's +chisellers +chiselling +chisels +chit +chit's +chitchat +chitchat's +chitchats +chitchatted +chitchatting +chitin +chitin's +chitlings +chitlings's +chitlins +chitlins's +chits +chitterlings +chitterlings's +chivalrous +chivalrously +chivalry +chivalry's +chive +chive's +chives +chloride +chloride's +chlorides +chlorinate +chlorinated +chlorinates +chlorinating +chlorination +chlorination's +chlorine +chlorine's +chlorofluorocarbon +chlorofluorocarbon's +chlorofluorocarbons +chloroform +chloroform's +chloroformed +chloroforming +chloroforms +chlorophyll +chlorophyll's +chock +chock's +chocked +chocking +chocks +chocolate +chocolate's +chocolates +choice +choice's +choicer +choices +choicest +choir +choir's +choirs +choke +choke's +choked +choker +choker's +chokers +chokes +choking +choler +choler's +cholera +cholera's +choleric +cholesterol +cholesterol's +chomp +chomp's +chomped +chomping +chomps +choose +chooses +choosey +choosier +choosiest +choosing +choosy +chop +chop's +chopped +chopper +chopper's +choppered +choppering +choppers +choppier +choppiest +choppily +choppiness +choppiness's +chopping +choppy +chops +chopstick +chopstick's +chopsticks +choral +choral's +chorale +chorale's +chorales +chorals +chord +chord's +chords +chore +chore's +choreograph +choreographed +choreographer +choreographer's +choreographers +choreographic +choreographing +choreographs +choreography +choreography's +chores +chorister +chorister's +choristers +chortle +chortle's +chortled +chortles +chortling +chorus +chorus's +chorused +choruses +chorusing +chorussed +chorussing +chose +chosen +chow +chow's +chowder +chowder's +chowders +chowed +chowing +chows +christen +christened +christening +christening's +christenings +christens +chromatic +chrome +chrome's +chromed +chromes +chroming +chromium +chromium's +chromosome +chromosome's +chromosomes +chronic +chronically +chronicle +chronicle's +chronicled +chronicler +chronicler's +chroniclers +chronicles +chronicling +chronological +chronologically +chronologies +chronology +chronology's +chronometer +chronometer's +chronometers +chrysalides +chrysalis +chrysalis's +chrysalises +chrysanthemum +chrysanthemum's +chrysanthemums +chubbier +chubbiest +chubbiness +chubbiness's +chubby +chuck +chuck's +chucked +chuckhole +chuckhole's +chuckholes +chucking +chuckle +chuckle's +chuckled +chuckles +chuckling +chucks +chug +chug's +chugged +chugging +chugs +chum +chum's +chummed +chummier +chummiest +chumminess +chumminess's +chumming +chummy +chump +chump's +chumps +chums +chunk +chunk's +chunkier +chunkiest +chunkiness +chunkiness's +chunks +chunky +church +church's +churches +churchgoer +churchgoer's +churchgoers +churchman +churchman's +churchmen +churchyard +churchyard's +churchyards +churl +churl's +churlish +churlishly +churlishness +churlishness's +churls +churn +churn's +churned +churning +churns +chute +chute's +chutes +chutney +chutney's +chutzpa +chutzpa's +chutzpah +chutzpah's +cicada +cicada's +cicadae +cicadas +cicatrice +cicatrice's +cicatrices +cicatrix +cicatrix's +cider +cider's +ciders +cigar +cigar's +cigaret +cigaret's +cigarets +cigarette +cigarette's +cigarettes +cigarillo +cigarillo's +cigarillos +cigars +cilantro +cilantro's +cilia +cilium +cilium's +cinch +cinch's +cinched +cinches +cinching +cinchona +cinchona's +cinchonas +cincture +cincture's +cinctures +cinder +cinder's +cindered +cindering +cinders +cinema +cinema's +cinemas +cinematic +cinematographer +cinematographer's +cinematographers +cinematography +cinematography's +cinnabar +cinnabar's +cinnamon +cinnamon's +cipher +cipher's +ciphered +ciphering +ciphers +circa +circadian +circle +circle's +circled +circles +circlet +circlet's +circlets +circling +circuit +circuit's +circuited +circuiting +circuitous +circuitously +circuitry +circuitry's +circuits +circular +circular's +circularity +circularity's +circularize +circularized +circularizes +circularizing +circulars +circulate +circulated +circulates +circulating +circulation +circulation's +circulations +circulatory +circumcise +circumcised +circumcises +circumcising +circumcision +circumcision's +circumcisions +circumference +circumference's +circumferences +circumflex +circumflex's +circumflexes +circumlocution +circumlocution's +circumlocutions +circumnavigate +circumnavigated +circumnavigates +circumnavigating +circumnavigation +circumnavigation's +circumnavigations +circumscribe +circumscribed +circumscribes +circumscribing +circumscription +circumscription's +circumscriptions +circumspect +circumspection +circumspection's +circumstance +circumstance's +circumstanced +circumstances +circumstancing +circumstantial +circumstantially +circumvent +circumvented +circumventing +circumvention +circumvention's +circumvents +circus +circus's +circuses +cirrhosis +cirrhosis's +cirrus +cirrus's +cistern +cistern's +cisterns +citadel +citadel's +citadels +citation +citation's +citations +cite +cite's +cited +cites +cities +citing +citizen +citizen's +citizenry +citizenry's +citizens +citizenship +citizenship's +citric +citron +citron's +citronella +citronella's +citrons +citrous +citrus +citrus's +citruses +city +city's +civet +civet's +civets +civic +civics +civics's +civies +civil +civilian +civilian's +civilians +civilities +civility +civility's +civilization +civilization's +civilizations +civilize +civilized +civilizes +civilizing +civilly +civvies +civvies's +clack +clack's +clacked +clacking +clacks +clad +claim +claim's +claimant +claimant's +claimants +claimed +claiming +claims +clairvoyance +clairvoyance's +clairvoyant +clairvoyant's +clairvoyants +clam +clam's +clambake +clambake's +clambakes +clamber +clamber's +clambered +clambering +clambers +clammed +clammier +clammiest +clamminess +clamminess's +clamming +clammy +clamor +clamor's +clamored +clamoring +clamorous +clamors +clamp +clamp's +clampdown +clampdown's +clampdowns +clamped +clamping +clamps +clams +clan +clan's +clandestine +clandestinely +clang +clang's +clanged +clanging +clangor +clangor's +clangs +clank +clank's +clanked +clanking +clanks +clannish +clans +clap +clap's +clapboard +clapboard's +clapboarded +clapboarding +clapboards +clapped +clapper +clapper's +clappers +clapping +claps +claptrap +claptrap's +claret +claret's +clarets +clarification +clarification's +clarifications +clarified +clarifies +clarify +clarifying +clarinet +clarinet's +clarinetist +clarinetist's +clarinetists +clarinets +clarinettist +clarinettist's +clarinettists +clarion +clarion's +clarioned +clarioning +clarions +clarity +clarity's +clash +clash's +clashed +clashes +clashing +clasp +clasp's +clasped +clasping +clasps +class +class's +classed +classes +classic +classic's +classical +classical's +classically +classicism +classicism's +classicist +classicist's +classicists +classics +classier +classiest +classifiable +classification +classification's +classifications +classified +classified's +classifieds +classifies +classify +classifying +classiness +classiness's +classing +classless +classmate +classmate's +classmates +classroom +classroom's +classrooms +classy +clatter +clatter's +clattered +clattering +clatters +clause +clause's +clauses +claustrophobia +claustrophobia's +claustrophobic +clavichord +clavichord's +clavichords +clavicle +clavicle's +clavicles +claw +claw's +clawed +clawing +claws +clay +clay's +clayey +clayier +clayiest +clean +cleaned +cleaner +cleaner's +cleaners +cleanest +cleaning +cleaning's +cleanings +cleanlier +cleanliest +cleanliness +cleanliness's +cleanly +cleanness +cleanness's +cleans +cleanse +cleansed +cleanser +cleanser's +cleansers +cleanses +cleansing +cleanup +cleanup's +cleanups +clear +clear's +clearance +clearance's +clearances +cleared +clearer +clearest +clearing +clearing's +clearinghouse +clearinghouse's +clearinghouses +clearings +clearly +clearness +clearness's +clears +cleat +cleat's +cleats +cleavage +cleavage's +cleavages +cleave +cleaved +cleaver +cleaver's +cleavers +cleaves +cleaving +clef +clef's +clefs +cleft +cleft's +clefts +clematis +clematis's +clematises +clemency +clemency's +clement +clench +clench's +clenched +clenches +clenching +clerestories +clerestory +clerestory's +clergies +clergy +clergy's +clergyman +clergyman's +clergymen +clergywoman +clergywoman's +clergywomen +cleric +cleric's +clerical +clerics +clerk +clerk's +clerked +clerking +clerks +clever +cleverer +cleverest +cleverly +cleverness +cleverness's +clew +clew's +clewed +clewing +clews +click +click's +clicked +clicking +clicks +client +client's +clients +cliff +cliff's +cliffhanger +cliffhanger's +cliffhangers +cliffs +climactic +climate +climate's +climates +climatic +climax +climax's +climaxed +climaxes +climaxing +climb +climb's +climbed +climber +climber's +climbers +climbing +climbs +clime +clime's +climes +clinch +clinch's +clinched +clincher +clincher's +clinchers +clinches +clinching +cling +cling's +clingier +clingiest +clinging +clings +clingy +clinic +clinic's +clinical +clinically +clinician +clinician's +clinicians +clinics +clink +clink's +clinked +clinker +clinker's +clinkers +clinking +clinks +clip +clip's +clipboard +clipboard's +clipboards +clipped +clipper +clipper's +clippers +clipping +clipping's +clippings +clips +clipt +clique +clique's +cliques +cliquish +clitoral +clitoris +clitoris's +clitorises +cloak +cloak's +cloaked +cloaking +cloakroom +cloakroom's +cloakrooms +cloaks +clobber +clobber's +clobbered +clobbering +clobbers +cloche +cloche's +cloches +clock +clock's +clocked +clocking +clocks +clockwise +clockwork +clockwork's +clockworks +clod +clod's +clodhopper +clodhopper's +clodhoppers +clods +clog +clog's +clogged +clogging +clogs +cloister +cloister's +cloistered +cloistering +cloisters +clomp +clomped +clomping +clomps +clone +clone's +cloned +clones +cloning +clop +clop's +clopped +clopping +clops +close +close's +closed +closefisted +closely +closemouthed +closeness +closeness's +closeout +closeout's +closeouts +closer +closes +closest +closet +closet's +closeted +closeting +closets +closing +closure +closure's +closures +clot +clot's +cloth +cloth's +clothe +clothed +clothes +clothesline +clothesline's +clotheslines +clothespin +clothespin's +clothespins +clothier +clothier's +clothiers +clothing +clothing's +cloths +clots +clotted +clotting +cloture +cloture's +clotures +cloud +cloud's +cloudburst +cloudburst's +cloudbursts +clouded +cloudier +cloudiest +cloudiness +cloudiness's +clouding +cloudless +clouds +cloudy +clout +clout's +clouted +clouting +clouts +clove +clove's +cloven +clover +clover's +cloverleaf +cloverleaf's +cloverleafs +cloverleaves +clovers +cloves +clown +clown's +clowned +clowning +clownish +clownishly +clownishness +clownishness's +clowns +cloy +cloyed +cloying +cloys +club +club's +clubbed +clubbing +clubfeet +clubfoot +clubfoot's +clubhouse +clubhouse's +clubhouses +clubs +cluck +cluck's +clucked +clucking +clucks +clue +clue's +clued +clueing +clueless +clues +cluing +clump +clump's +clumped +clumping +clumps +clumsier +clumsiest +clumsily +clumsiness +clumsiness's +clumsy +clung +clunk +clunk's +clunked +clunker +clunker's +clunkers +clunkier +clunkiest +clunking +clunks +clunky +cluster +cluster's +clustered +clustering +clusters +clutch +clutch's +clutched +clutches +clutching +clutter +clutter's +cluttered +cluttering +clutters +coach +coach's +coached +coaches +coaching +coachman +coachman's +coachmen +coagulant +coagulant's +coagulants +coagulate +coagulated +coagulates +coagulating +coagulation +coagulation's +coal +coal's +coaled +coalesce +coalesced +coalescence +coalescence's +coalesces +coalescing +coaling +coalition +coalition's +coalitions +coals +coarse +coarsely +coarsen +coarsened +coarseness +coarseness's +coarsening +coarsens +coarser +coarsest +coast +coast's +coastal +coasted +coaster +coaster's +coasters +coasting +coastline +coastline's +coastlines +coasts +coat +coat's +coated +coating +coating's +coatings +coats +coauthor +coauthor's +coauthored +coauthoring +coauthors +coax +coaxed +coaxes +coaxing +cob +cob's +cobalt +cobalt's +cobble +cobble's +cobbled +cobbler +cobbler's +cobblers +cobbles +cobblestone +cobblestone's +cobblestones +cobbling +cobra +cobra's +cobras +cobs +cobweb +cobweb's +cobwebs +cocaine +cocaine's +cocci +coccis +coccus +coccus's +coccyges +coccyx +coccyx's +coccyxes +cochlea +cochlea's +cochleae +cochleas +cock +cock's +cockade +cockade's +cockades +cockamamie +cockatoo +cockatoo's +cockatoos +cocked +cockerel +cockerel's +cockerels +cockeyed +cockfight +cockfight's +cockfights +cockier +cockiest +cockily +cockiness +cockiness's +cocking +cockle +cockle's +cockles +cockleshell +cockleshell's +cockleshells +cockney +cockney's +cockneys +cockpit +cockpit's +cockpits +cockroach +cockroach's +cockroaches +cocks +cockscomb +cockscomb's +cockscombs +cocksucker +cocksucker's +cocksuckers +cocksure +cocktail +cocktail's +cocktails +cocky +cocoa +cocoa's +cocoanut +cocoanut's +cocoanuts +cocoas +coconut +coconut's +coconuts +cocoon +cocoon's +cocooned +cocooning +cocoons +cod +cod's +coda +coda's +codas +codded +codding +coddle +coddled +coddles +coddling +code +code's +coded +codeine +codeine's +codependency +codependency's +codependent +codependent's +codependents +codes +codex +codex's +codfish +codfish's +codfishes +codger +codger's +codgers +codices +codicil +codicil's +codicils +codification +codification's +codifications +codified +codifies +codify +codifying +coding +cods +coed +coed's +coeds +coeducation +coeducation's +coeducational +coefficient +coefficient's +coefficients +coequal +coequal's +coequals +coerce +coerced +coerces +coercing +coercion +coercion's +coercive +coeval +coeval's +coevals +coexist +coexisted +coexistence +coexistence's +coexisting +coexists +coffee +coffee's +coffeecake +coffeecake's +coffeecakes +coffeehouse +coffeehouse's +coffeehouses +coffeepot +coffeepot's +coffeepots +coffees +coffer +coffer's +coffers +coffin +coffin's +coffined +coffining +coffins +cog +cog's +cogency +cogency's +cogent +cogently +cogitate +cogitated +cogitates +cogitating +cogitation +cogitation's +cognac +cognac's +cognacs +cognate +cognate's +cognates +cognition +cognition's +cognitive +cognizance +cognizance's +cognizant +cognomen +cognomen's +cognomens +cognomina +cogs +cogwheel +cogwheel's +cogwheels +cohabit +cohabitation +cohabitation's +cohabited +cohabiting +cohabits +cohere +cohered +coherence +coherence's +coherent +coherently +coheres +cohering +cohesion +cohesion's +cohesive +cohesively +cohesiveness +cohesiveness's +cohort +cohort's +cohorts +coif +coif's +coifed +coiffed +coiffing +coiffure +coiffure's +coiffured +coiffures +coiffuring +coifing +coifs +coil +coil's +coiled +coiling +coils +coin +coin's +coinage +coinage's +coinages +coincide +coincided +coincidence +coincidence's +coincidences +coincident +coincidental +coincidentally +coincides +coinciding +coined +coining +coins +coital +coitus +coitus's +coke +coke's +coked +cokes +coking +cola +cola's +colander +colander's +colanders +colas +cold +cold's +colder +coldest +coldly +coldness +coldness's +colds +coleslaw +coleslaw's +colic +colic's +colicky +coliseum +coliseum's +coliseums +colitis +colitis's +collaborate +collaborated +collaborates +collaborating +collaboration +collaboration's +collaborations +collaborative +collaborator +collaborator's +collaborators +collage +collage's +collages +collapse +collapse's +collapsed +collapses +collapsible +collapsing +collar +collar's +collarbone +collarbone's +collarbones +collared +collaring +collars +collate +collated +collateral +collateral's +collates +collating +collation +collation's +collations +colleague +colleague's +colleagues +collect +collect's +collectable +collectable's +collectables +collected +collectible +collectible's +collectibles +collecting +collection +collection's +collections +collective +collective's +collectively +collectives +collectivism +collectivism's +collectivist +collectivist's +collectivists +collectivize +collectivized +collectivizes +collectivizing +collector +collector's +collectors +collects +colleen +colleen's +colleens +college +college's +colleges +collegian +collegian's +collegians +collegiate +collide +collided +collides +colliding +collie +collie's +collier +collier's +collieries +colliers +colliery +colliery's +collies +collision +collision's +collisions +collocate +collocate's +collocated +collocates +collocating +collocation +collocation's +collocations +colloid +colloid's +colloids +colloquia +colloquial +colloquialism +colloquialism's +colloquialisms +colloquially +colloquies +colloquium +colloquium's +colloquiums +colloquy +colloquy's +collude +colluded +colludes +colluding +collusion +collusion's +collusive +cologne +cologne's +colognes +colon +colon's +colonel +colonel's +colonels +colones +colonial +colonial's +colonialism +colonialism's +colonialist +colonialist's +colonialists +colonials +colonies +colonist +colonist's +colonists +colonization +colonization's +colonize +colonized +colonizer +colonizer's +colonizers +colonizes +colonizing +colonnade +colonnade's +colonnades +colons +colony +colony's +color +color's +coloration +coloration's +coloratura +coloratura's +coloraturas +colorblind +colored +colored's +coloreds +colorfast +colorful +colorfully +coloring +coloring's +colorless +colors +colossal +colossally +colossi +colossus +colossus's +colossuses +cols +colt +colt's +coltish +colts +columbine +columbine's +columbines +column +column's +columned +columnist +columnist's +columnists +columns +coma +coma's +comas +comatose +comb +comb's +combat +combat's +combatant +combatant's +combatants +combated +combating +combative +combats +combatted +combatting +combed +combination +combination's +combinations +combine +combine's +combined +combines +combing +combining +combo +combo's +combos +combs +combustibility +combustibility's +combustible +combustible's +combustibles +combustion +combustion's +come +come's +comeback +comeback's +comebacks +comedian +comedian's +comedians +comedic +comedienne +comedienne's +comediennes +comedies +comedown +comedown's +comedowns +comedy +comedy's +comelier +comeliest +comeliness +comeliness's +comely +comer +comer's +comers +comes +comestible +comestible's +comestibles +comet +comet's +comets +comeuppance +comeuppance's +comeuppances +comfier +comfiest +comfort +comfort's +comfortable +comfortably +comforted +comforter +comforter's +comforters +comforting +comfortingly +comforts +comfy +comic +comic's +comical +comically +comics +coming +coming's +comings +comity +comity's +comma +comma's +command +command's +commandant +commandant's +commandants +commanded +commandeer +commandeered +commandeering +commandeers +commander +commander's +commanders +commanding +commandment +commandment's +commandments +commando +commando's +commandoes +commandos +commands +commas +commemorate +commemorated +commemorates +commemorating +commemoration +commemoration's +commemorations +commemorative +commence +commenced +commencement +commencement's +commencements +commences +commencing +commend +commendable +commendably +commendation +commendation's +commendations +commended +commending +commends +commensurable +commensurate +comment +comment's +commentaries +commentary +commentary's +commentate +commentated +commentates +commentating +commentator +commentator's +commentators +commented +commenting +comments +commerce +commerce's +commercial +commercial's +commercialism +commercialism's +commercialization +commercialization's +commercialize +commercialized +commercializes +commercializing +commercially +commercials +commingle +commingled +commingles +commingling +commiserate +commiserated +commiserates +commiserating +commiseration +commiseration's +commiserations +commissar +commissar's +commissariat +commissariat's +commissariats +commissaries +commissars +commissary +commissary's +commission +commission's +commissioned +commissioner +commissioner's +commissioners +commissioning +commissions +commit +commitment +commitment's +commitments +commits +committal +committal's +committals +committed +committee +committee's +committees +committing +commode +commode's +commodes +commodious +commodities +commodity +commodity's +commodore +commodore's +commodores +common +common's +commoner +commoner's +commoners +commonest +commonly +commonplace +commonplace's +commonplaces +commons +commonwealth +commonwealth's +commonwealths +commotion +commotion's +commotions +communal +communally +commune +commune's +communed +communes +communicable +communicant +communicant's +communicants +communicate +communicated +communicates +communicating +communication +communication's +communications +communicative +communicator +communicator's +communicators +communing +communion +communion's +communions +communique +communique's +communiques +communism +communism's +communist +communist's +communistic +communists +communities +community +community's +commutation +commutation's +commutations +commutative +commute +commute's +commuted +commuter +commuter's +commuters +commutes +commuting +compact +compact's +compacted +compacter +compactest +compacting +compaction +compactly +compactness +compactness's +compactor +compactor's +compactors +compacts +companies +companion +companion's +companionable +companions +companionship +companionship's +companionway +companionway's +companionways +company +company's +comparability +comparability's +comparable +comparably +comparative +comparative's +comparatively +comparatives +compare +compare's +compared +compares +comparing +comparison +comparison's +comparisons +compartment +compartment's +compartmentalize +compartmentalized +compartmentalizes +compartmentalizing +compartments +compass +compass's +compassed +compasses +compassing +compassion +compassion's +compassionate +compassionately +compatibility +compatibility's +compatible +compatible's +compatibles +compatibly +compatriot +compatriot's +compatriots +compel +compelled +compelling +compellingly +compels +compendia +compendium +compendium's +compendiums +compensate +compensated +compensates +compensating +compensation +compensation's +compensations +compensatory +compete +competed +competence +competence's +competences +competencies +competency +competency's +competent +competently +competes +competing +competition +competition's +competitions +competitive +competitively +competitiveness +competitiveness's +competitor +competitor's +competitors +compilation +compilation's +compilations +compile +compiled +compiler +compiler's +compilers +compiles +compiling +complacence +complacence's +complacency +complacency's +complacent +complacently +complain +complainant +complainant's +complainants +complained +complainer +complainer's +complainers +complaining +complains +complaint +complaint's +complaints +complaisance +complaisance's +complaisant +complaisantly +complected +complement +complement's +complementary +complemented +complementing +complements +complete +completed +completely +completeness +completeness's +completer +completes +completest +completing +completion +completion's +complex +complex's +complexes +complexion +complexion's +complexioned +complexions +complexities +complexity +complexity's +compliance +compliance's +compliant +complicate +complicated +complicates +complicating +complication +complication's +complications +complicity +complicity's +complied +complies +compliment +compliment's +complimentary +complimented +complimenting +compliments +comply +complying +component +component's +components +comport +comported +comporting +comportment +comportment's +comports +compose +composed +composer +composer's +composers +composes +composing +composite +composite's +composites +composition +composition's +compositions +compositor +compositor's +compositors +compost +compost's +composted +composting +composts +composure +composure's +compote +compote's +compotes +compound +compound's +compounded +compounding +compounds +comprehend +comprehended +comprehending +comprehends +comprehensibility +comprehensibility's +comprehensible +comprehension +comprehension's +comprehensions +comprehensive +comprehensive's +comprehensively +comprehensiveness +comprehensiveness's +comprehensives +compress +compress's +compressed +compresses +compressing +compression +compression's +compressor +compressor's +compressors +comprise +comprised +comprises +comprising +compromise +compromise's +compromised +compromises +compromising +comptroller +comptroller's +comptrollers +compulsion +compulsion's +compulsions +compulsive +compulsively +compulsiveness +compulsiveness's +compulsories +compulsorily +compulsory +compulsory's +compunction +compunction's +compunctions +computation +computation's +computational +computationally +computations +compute +computed +computer +computer's +computerization +computerization's +computerize +computerized +computerizes +computerizing +computers +computes +computing +computing's +comrade +comrade's +comrades +comradeship +comradeship's +con +con's +concatenate +concatenated +concatenates +concatenating +concatenation +concatenation's +concatenations +concave +concavities +concavity +concavity's +conceal +concealed +concealing +concealment +concealment's +conceals +concede +conceded +concedes +conceding +conceit +conceit's +conceited +conceits +conceivable +conceivably +conceive +conceived +conceives +conceiving +concentrate +concentrate's +concentrated +concentrates +concentrating +concentration +concentration's +concentrations +concentric +concentrically +concept +concept's +conception +conception's +conceptions +concepts +conceptual +conceptualization +conceptualization's +conceptualizations +conceptualize +conceptualized +conceptualizes +conceptualizing +conceptually +concern +concern's +concerned +concerning +concerns +concert +concert's +concerted +concerti +concertina +concertina's +concertinaed +concertinaing +concertinas +concerting +concertmaster +concertmaster's +concertmasters +concerto +concerto's +concertos +concerts +concession +concession's +concessionaire +concessionaire's +concessionaires +concessions +conch +conch's +conches +conchs +concierge +concierge's +concierges +conciliate +conciliated +conciliates +conciliating +conciliation +conciliation's +conciliator +conciliator's +conciliators +conciliatory +concise +concisely +conciseness +conciseness's +conciser +concisest +conclave +conclave's +conclaves +conclude +concluded +concludes +concluding +conclusion +conclusion's +conclusions +conclusive +conclusively +concoct +concocted +concocting +concoction +concoction's +concoctions +concocts +concomitant +concomitant's +concomitants +concord +concord's +concordance +concordance's +concordances +concordant +concourse +concourse's +concourses +concrete +concrete's +concreted +concretely +concretes +concreting +concubine +concubine's +concubines +concur +concurred +concurrence +concurrence's +concurrences +concurrency +concurrent +concurrently +concurring +concurs +concussion +concussion's +concussions +condemn +condemnation +condemnation's +condemnations +condemnatory +condemned +condemning +condemns +condensation +condensation's +condensations +condense +condensed +condenser +condenser's +condensers +condenses +condensing +condescend +condescended +condescending +condescendingly +condescends +condescension +condescension's +condiment +condiment's +condiments +condition +condition's +conditional +conditional's +conditionally +conditionals +conditioned +conditioner +conditioner's +conditioners +conditioning +conditions +condo +condo's +condoes +condole +condoled +condolence +condolence's +condolences +condoles +condoling +condom +condom's +condominium +condominium's +condominiums +condoms +condone +condoned +condones +condoning +condor +condor's +condors +condos +conduce +conduced +conduces +conducing +conducive +conduct +conduct's +conducted +conducting +conduction +conduction's +conductive +conductivity +conductivity's +conductor +conductor's +conductors +conducts +conduit +conduit's +conduits +cone +cone's +cones +confab +confab's +confabbed +confabbing +confabs +confection +confection's +confectioner +confectioner's +confectioneries +confectioners +confectionery +confectionery's +confections +confederacies +confederacy +confederacy's +confederate +confederate's +confederated +confederates +confederating +confederation +confederation's +confederations +confer +conference +conference's +conferences +conferencing +conferment +conferment's +conferments +conferred +conferrer +conferring +confers +confess +confessed +confessedly +confesses +confessing +confession +confession's +confessional +confessional's +confessionals +confessions +confessor +confessor's +confessors +confetti +confetti's +confidant +confidant's +confidante +confidante's +confidantes +confidants +confide +confided +confidence +confidence's +confidences +confident +confidential +confidentiality +confidentiality's +confidentially +confidently +confides +confiding +configurable +configuration +configuration's +configurations +configure +configured +configures +configuring +confine +confine's +confined +confinement +confinement's +confinements +confines +confining +confirm +confirmation +confirmation's +confirmations +confirmatory +confirmed +confirming +confirms +confiscate +confiscated +confiscates +confiscating +confiscation +confiscation's +confiscations +conflagration +conflagration's +conflagrations +conflict +conflict's +conflicted +conflicting +conflicts +confluence +confluence's +confluences +confluent +conform +conformance +conformation +conformation's +conformations +conformed +conforming +conformist +conformist's +conformists +conformity +conformity's +conforms +confound +confounded +confounding +confounds +confront +confrontation +confrontation's +confrontational +confrontations +confronted +confronting +confronts +confuse +confused +confusedly +confuses +confusing +confusingly +confusion +confusion's +confusions +confute +confuted +confutes +confuting +conga +conga's +congaed +congaing +congas +congeal +congealed +congealing +congeals +congenial +congeniality +congeniality's +congenially +congenital +congenitally +congest +congested +congesting +congestion +congestion's +congestive +congests +conglomerate +conglomerate's +conglomerated +conglomerates +conglomerating +conglomeration +conglomeration's +conglomerations +congratulate +congratulated +congratulates +congratulating +congratulation +congratulation's +congratulations +congratulatory +congregate +congregated +congregates +congregating +congregation +congregation's +congregational +congregations +congress +congress's +congresses +congressional +congressman +congressman's +congressmen +congresswoman +congresswoman's +congresswomen +congruence +congruence's +congruent +congruities +congruity +congruity's +congruous +conic +conic's +conical +conics +conifer +conifer's +coniferous +conifers +conjectural +conjecture +conjecture's +conjectured +conjectures +conjecturing +conjoin +conjoined +conjoining +conjoins +conjoint +conjugal +conjugate +conjugated +conjugates +conjugating +conjugation +conjugation's +conjugations +conjunction +conjunction's +conjunctions +conjunctive +conjunctive's +conjunctives +conjunctivitis +conjunctivitis's +conjuncture +conjuncture's +conjunctures +conjure +conjured +conjurer +conjurer's +conjurers +conjures +conjuring +conjuror +conjuror's +conjurors +conk +conk's +conked +conking +conks +connect +connected +connecter +connecter's +connecters +connecting +connection +connection's +connections +connective +connective's +connectives +connectivity +connector +connector's +connectors +connects +conned +conning +connivance +connivance's +connive +connived +conniver +conniver's +connivers +connives +conniving +connoisseur +connoisseur's +connoisseurs +connotation +connotation's +connotations +connotative +connote +connoted +connotes +connoting +connubial +conquer +conquered +conquering +conqueror +conqueror's +conquerors +conquers +conquest +conquest's +conquests +conquistador +conquistador's +conquistadores +conquistadors +cons +consanguinity +consanguinity's +conscience +conscience's +consciences +conscientious +conscientiously +conscientiousness +conscientiousness's +conscious +consciously +consciousness +consciousness's +consciousnesses +conscript +conscript's +conscripted +conscripting +conscription +conscription's +conscripts +consecrate +consecrated +consecrates +consecrating +consecration +consecration's +consecrations +consecutive +consecutively +consensual +consensus +consensus's +consensuses +consent +consent's +consented +consenting +consents +consequence +consequence's +consequences +consequent +consequential +consequently +conservation +conservation's +conservationist +conservationist's +conservationists +conservatism +conservatism's +conservative +conservative's +conservatively +conservatives +conservator +conservator's +conservatories +conservators +conservatory +conservatory's +conserve +conserve's +conserved +conserves +conserving +consider +considerable +considerably +considerate +considerately +consideration +consideration's +considerations +considered +considering +considers +consign +consigned +consigning +consignment +consignment's +consignments +consigns +consist +consisted +consistencies +consistency +consistency's +consistent +consistently +consisting +consists +consolation +consolation's +consolations +console +console's +consoled +consoles +consolidate +consolidated +consolidates +consolidating +consolidation +consolidation's +consolidations +consoling +consonance +consonance's +consonances +consonant +consonant's +consonants +consort +consort's +consorted +consortia +consorting +consortium +consortium's +consortiums +consorts +conspicuous +conspicuously +conspiracies +conspiracy +conspiracy's +conspirator +conspirator's +conspiratorial +conspirators +conspire +conspired +conspires +conspiring +constable +constable's +constables +constabularies +constabulary +constabulary's +constancy +constancy's +constant +constant's +constantly +constants +constellation +constellation's +constellations +consternation +consternation's +constipate +constipated +constipates +constipating +constipation +constipation's +constituencies +constituency +constituency's +constituent +constituent's +constituents +constitute +constituted +constitutes +constituting +constitution +constitution's +constitutional +constitutional's +constitutionality +constitutionality's +constitutionally +constitutionals +constitutions +constrain +constrained +constraining +constrains +constraint +constraint's +constraints +constrict +constricted +constricting +constriction +constriction's +constrictions +constrictive +constrictor +constrictor's +constrictors +constricts +construct +construct's +constructed +constructing +construction +construction's +constructions +constructive +constructively +constructor +constructor's +constructors +constructs +construe +construed +construes +construing +consul +consul's +consular +consulate +consulate's +consulates +consuls +consult +consultancies +consultancy +consultancy's +consultant +consultant's +consultants +consultation +consultation's +consultations +consultative +consulted +consulting +consults +consumable +consumable's +consumables +consume +consumed +consumer +consumer's +consumerism +consumerism's +consumers +consumes +consuming +consummate +consummated +consummates +consummating +consummation +consummation's +consummations +consumption +consumption's +consumptive +consumptive's +consumptives +contact +contact's +contactable +contacted +contacting +contacts +contagion +contagion's +contagions +contagious +contain +contained +container +container's +containers +containing +containment +containment's +contains +contaminant +contaminant's +contaminants +contaminate +contaminated +contaminates +contaminating +contamination +contamination's +contemplate +contemplated +contemplates +contemplating +contemplation +contemplation's +contemplative +contemplative's +contemplatives +contemporaneous +contemporaneously +contemporaries +contemporary +contemporary's +contempt +contempt's +contemptible +contemptibly +contemptuous +contemptuously +contend +contended +contender +contender's +contenders +contending +contends +content +content's +contented +contentedly +contentedness +contentedness's +contenting +contention +contention's +contentions +contentious +contentiously +contentment +contentment's +contents +contest +contest's +contestant +contestant's +contestants +contested +contesting +contests +context +context's +contexts +contextual +contiguity +contiguity's +contiguous +continence +continence's +continent +continent's +continental +continental's +continentals +continents +contingencies +contingency +contingency's +contingent +contingent's +contingents +continua +continual +continually +continuance +continuance's +continuances +continuation +continuation's +continuations +continue +continued +continues +continuing +continuity +continuity's +continuous +continuously +continuum +continuum's +continuums +contort +contorted +contorting +contortion +contortion's +contortionist +contortionist's +contortionists +contortions +contorts +contour +contour's +contoured +contouring +contours +contraband +contraband's +contraception +contraception's +contraceptive +contraceptive's +contraceptives +contract +contract's +contracted +contractile +contracting +contraction +contraction's +contractions +contractor +contractor's +contractors +contracts +contractual +contractually +contradict +contradicted +contradicting +contradiction +contradiction's +contradictions +contradictory +contradicts +contradistinction +contradistinction's +contradistinctions +contrail +contrail's +contrails +contralto +contralto's +contraltos +contraption +contraption's +contraptions +contrapuntal +contraries +contrarily +contrariness +contrariness's +contrariwise +contrary +contrary's +contrast +contrast's +contrasted +contrasting +contrasts +contravene +contravened +contravenes +contravening +contravention +contravention's +contraventions +contretemps +contretemps's +contribute +contributed +contributes +contributing +contribution +contribution's +contributions +contributor +contributor's +contributors +contributory +contrite +contritely +contrition +contrition's +contrivance +contrivance's +contrivances +contrive +contrived +contrives +contriving +control +control's +controllable +controlled +controller +controller's +controllers +controlling +controls +controversial +controversially +controversies +controversy +controversy's +controvert +controverted +controverting +controverts +contumacious +contumelies +contumely +contumely's +contuse +contused +contuses +contusing +contusion +contusion's +contusions +conundrum +conundrum's +conundrums +conurbation +conurbation's +conurbations +convalesce +convalesced +convalescence +convalescence's +convalescences +convalescent +convalescent's +convalescents +convalesces +convalescing +convection +convection's +convene +convened +convenes +convenience +convenience's +conveniences +convenient +conveniently +convening +convent +convent's +convention +convention's +conventional +conventionality +conventionality's +conventionally +conventions +convents +converge +converged +convergence +convergence's +convergences +convergent +converges +converging +conversant +conversation +conversation's +conversational +conversationalist +conversationalist's +conversationalists +conversationally +conversations +converse +converse's +conversed +conversely +converses +conversing +conversion +conversion's +conversions +convert +convert's +converted +converter +converter's +converters +convertible +convertible's +convertibles +converting +convertor +convertor's +convertors +converts +convex +convexity +convexity's +convey +conveyance +conveyance's +conveyances +conveyed +conveyer +conveyer's +conveyers +conveying +conveyor +conveyor's +conveyors +conveys +convict +convict's +convicted +convicting +conviction +conviction's +convictions +convicts +convince +convinced +convinces +convincing +convincingly +convivial +conviviality +conviviality's +convocation +convocation's +convocations +convoke +convoked +convokes +convoking +convoluted +convolution +convolution's +convolutions +convoy +convoy's +convoyed +convoying +convoys +convulse +convulsed +convulses +convulsing +convulsion +convulsion's +convulsions +convulsive +convulsively +coo +coo's +cooed +cooing +cook +cook's +cookbook +cookbook's +cookbooks +cooked +cooker +cooker's +cookeries +cookers +cookery +cookery's +cookie +cookie's +cookies +cooking +cooking's +cookout +cookout's +cookouts +cooks +cooky +cooky's +cool +cool's +coolant +coolant's +coolants +cooled +cooler +cooler's +coolers +coolest +coolie +coolie's +coolies +cooling +coolly +coolness +coolness's +cools +coon +coon's +coons +coop +coop's +cooped +cooper +cooper's +cooperate +cooperated +cooperates +cooperating +cooperation +cooperation's +cooperative +cooperative's +cooperatively +cooperatives +coopered +coopering +coopers +cooping +coops +coordinate +coordinate's +coordinated +coordinates +coordinating +coordination +coordination's +coordinator +coordinator's +coordinators +coos +coot +coot's +cootie +cootie's +cooties +coots +cop +cop's +cope +cope's +copeck +copeck's +copecks +coped +copes +copied +copier +copier's +copiers +copies +copilot +copilot's +copilots +coping +coping's +copings +copious +copiously +copped +copper +copper's +copperhead +copperhead's +copperheads +coppers +coppery +coppice +coppice's +coppices +copping +copra +copra's +cops +copse +copse's +copses +copter +copter's +copters +copula +copula's +copulae +copulas +copulate +copulated +copulates +copulating +copulation +copulation's +copy +copy's +copycat +copycat's +copycats +copycatted +copycatting +copying +copyright +copyright's +copyrighted +copyrighting +copyrights +copywriter +copywriter's +copywriters +coquette +coquette's +coquetted +coquettes +coquetting +coquettish +coral +coral's +corals +cord +cord's +corded +cordial +cordial's +cordiality +cordiality's +cordially +cordials +cording +cordite +cordite's +cordless +cordon +cordon's +cordoned +cordoning +cordons +cords +corduroy +corduroy's +corduroys +corduroys's +core +core's +cored +cores +corespondent +corespondent's +corespondents +coriander +coriander's +coring +cork +cork's +corked +corking +corks +corkscrew +corkscrew's +corkscrewed +corkscrewing +corkscrews +corm +corm's +cormorant +cormorant's +cormorants +corms +corn +corn's +cornball +cornball's +cornballs +cornbread +cornbread's +corncob +corncob's +corncobs +cornea +cornea's +corneal +corneas +corned +corner +corner's +cornered +cornering +corners +cornerstone +cornerstone's +cornerstones +cornet +cornet's +cornets +cornflakes +cornflakes's +cornflower +cornflower's +cornflowers +cornice +cornice's +cornices +cornier +corniest +corning +cornmeal +cornmeal's +cornrow +cornrow's +cornrowed +cornrowing +cornrows +corns +cornstalk +cornstalk's +cornstalks +cornstarch +cornstarch's +cornucopia +cornucopia's +cornucopias +corny +corolla +corolla's +corollaries +corollary +corollary's +corollas +corona +corona's +coronae +coronaries +coronary +coronary's +coronas +coronation +coronation's +coronations +coroner +coroner's +coroners +coronet +coronet's +coronets +corpora +corporal +corporal's +corporals +corporate +corporation +corporation's +corporations +corporeal +corps +corps's +corpse +corpse's +corpses +corpulence +corpulence's +corpulent +corpus +corpus's +corpuscle +corpuscle's +corpuscles +corpuses +corral +corral's +corralled +corralling +corrals +correct +correctable +corrected +correcter +correctest +correcting +correction +correction's +correctional +corrections +corrective +corrective's +correctives +correctly +correctness +correctness's +corrector +corrects +correlate +correlate's +correlated +correlates +correlating +correlation +correlation's +correlations +correlative +correlative's +correlatives +correspond +corresponded +correspondence +correspondence's +correspondences +correspondent +correspondent's +correspondents +corresponding +correspondingly +corresponds +corridor +corridor's +corridors +corroborate +corroborated +corroborates +corroborating +corroboration +corroboration's +corroborations +corroborative +corrode +corroded +corrodes +corroding +corrosion +corrosion's +corrosive +corrosive's +corrosives +corrugate +corrugated +corrugates +corrugating +corrugation +corrugation's +corrugations +corrupt +corrupted +corrupter +corruptest +corruptible +corrupting +corruption +corruption's +corruptions +corruptly +corruptness +corruptness's +corrupts +corsage +corsage's +corsages +corsair +corsair's +corsairs +corset +corset's +corseted +corseting +corsets +cortex +cortex's +cortexes +cortical +cortices +cortisone +cortisone's +coruscate +coruscated +coruscates +coruscating +cosier +cosies +cosiest +cosign +cosignatories +cosignatory +cosignatory's +cosigned +cosigner +cosigner's +cosigners +cosigning +cosigns +cosine +cosmetic +cosmetic's +cosmetically +cosmetics +cosmetologist +cosmetologist's +cosmetologists +cosmetology +cosmetology's +cosmic +cosmically +cosmogonies +cosmogony +cosmogony's +cosmological +cosmologies +cosmologist +cosmologist's +cosmologists +cosmology +cosmology's +cosmonaut +cosmonaut's +cosmonauts +cosmopolitan +cosmopolitan's +cosmopolitans +cosmos +cosmos's +cosmoses +cosponsor +cosponsor's +cosponsored +cosponsoring +cosponsors +cost +cost's +costar +costar's +costarred +costarring +costars +costed +costing +costings +costlier +costliest +costliness +costliness's +costly +costs +costume +costume's +costumed +costumes +costuming +cosy +cosy's +cot +cot's +cote +cote's +coterie +coterie's +coteries +cotes +cotillion +cotillion's +cotillions +cots +cottage +cottage's +cottages +cotter +cotter's +cotters +cotton +cotton's +cottoned +cottoning +cottonmouth +cottonmouth's +cottonmouths +cottons +cottonseed +cottonseed's +cottonseeds +cottontail +cottontail's +cottontails +cottonwood +cottonwood's +cottonwoods +cotyledon +cotyledon's +cotyledons +couch +couch's +couched +couches +couching +cougar +cougar's +cougars +cough +cough's +coughed +coughing +coughs +could +couldn't +council +council's +councillor +councillor's +councillors +councilman +councilman's +councilmen +councilor +councilor's +councilors +councils +councilwoman +councilwoman's +councilwomen +counsel +counsel's +counseled +counseling +counselings +counselled +counsellor +counsellor's +counsellors +counselor +counselor's +counselors +counsels +count +count's +countable +countably +countdown +countdown's +countdowns +counted +countenance +countenance's +countenanced +countenances +countenancing +counter +counter's +counteract +counteracted +counteracting +counteraction +counteraction's +counteractions +counteracts +counterattack +counterattack's +counterattacked +counterattacking +counterattacks +counterbalance +counterbalance's +counterbalanced +counterbalances +counterbalancing +counterclaim +counterclaim's +counterclaimed +counterclaiming +counterclaims +counterclockwise +counterculture +counterculture's +countered +counterespionage +counterespionage's +counterexample +counterexamples +counterfeit +counterfeit's +counterfeited +counterfeiter +counterfeiter's +counterfeiters +counterfeiting +counterfeits +countering +counterintelligence +counterintelligence's +countermand +countermand's +countermanded +countermanding +countermands +counteroffer +counteroffer's +counteroffers +counterpane +counterpane's +counterpanes +counterpart +counterpart's +counterparts +counterpoint +counterpoint's +counterpoints +counterproductive +counterrevolution +counterrevolution's +counterrevolutionaries +counterrevolutionary +counterrevolutionary's +counterrevolutions +counters +countersank +countersign +countersign's +countersigned +countersigning +countersigns +countersink +countersink's +countersinking +countersinks +countersunk +countertenor +countertenor's +countertenors +counterweight +counterweight's +counterweights +countess +countess's +countesses +counties +counting +countless +countries +countrified +country +country's +countryman +countryman's +countrymen +countryside +countryside's +countrysides +countrywoman +countrywoman's +countrywomen +counts +county +county's +coup +coup's +coupe +coupe's +coupes +couple +couple's +coupled +couples +couplet +couplet's +couplets +coupling +coupling's +couplings +coupon +coupon's +coupons +coups +courage +courage's +courageous +courageously +courier +courier's +couriers +course +course's +coursed +courser +courses +coursing +court +court's +courted +courteous +courteously +courteousness +courteousness's +courtesan +courtesan's +courtesans +courtesies +courtesy +courtesy's +courthouse +courthouse's +courthouses +courtier +courtier's +courtiers +courting +courtlier +courtliest +courtliness +courtliness's +courtly +courtroom +courtroom's +courtrooms +courts +courtship +courtship's +courtships +courtyard +courtyard's +courtyards +cousin +cousin's +cousins +cove +cove's +coven +coven's +covenant +covenant's +covenanted +covenanting +covenants +covens +cover +cover's +coverage +coverage's +coverall +coverall's +coveralls +covered +covering +covering's +coverings +coverlet +coverlet's +coverlets +covers +covert +covert's +covertly +coverts +coves +covet +coveted +coveting +covetous +covetously +covetousness +covetousness's +covets +covey +covey's +coveys +cow +cow's +coward +coward's +cowardice +cowardice's +cowardliness +cowardliness's +cowardly +cowards +cowbird +cowbird's +cowbirds +cowboy +cowboy's +cowboys +cowed +cower +cowered +cowering +cowers +cowgirl +cowgirl's +cowgirls +cowhand +cowhand's +cowhands +cowhide +cowhide's +cowhides +cowing +cowl +cowl's +cowlick +cowlick's +cowlicks +cowling +cowling's +cowlings +cowls +coworker +coworker's +coworkers +cowpoke +cowpoke's +cowpokes +cowpox +cowpox's +cowpuncher +cowpuncher's +cowpunchers +cows +cowslip +cowslip's +cowslips +cox +coxcomb +coxcomb's +coxcombs +coxswain +coxswain's +coxswains +coy +coyer +coyest +coyly +coyness +coyness's +coyote +coyote's +coyotes +cozen +cozened +cozening +cozens +cozier +cozies +coziest +cozily +coziness +coziness's +cozy +cozy's +crab +crab's +crabbed +crabbier +crabbiest +crabbily +crabbiness +crabbiness's +crabbing +crabby +crabs +crack +crack's +crackdown +crackdown's +crackdowns +cracked +cracker +cracker's +crackerjack +crackerjack's +crackerjacks +crackers +cracking +crackle +crackle's +crackled +crackles +cracklier +crackliest +crackling +crackly +crackpot +crackpot's +crackpots +cracks +crackup +crackup's +crackups +cradle +cradle's +cradled +cradles +cradling +craft +craft's +crafted +craftier +craftiest +craftily +craftiness +craftiness's +crafting +crafts +craftsman +craftsman's +craftsmanship +craftsmanship's +craftsmen +crafty +crag +crag's +craggier +craggiest +craggy +crags +cram +crammed +cramming +cramp +cramp's +cramped +cramping +cramps +crams +cranberries +cranberry +cranberry's +crane +crane's +craned +cranes +crania +cranial +craning +cranium +cranium's +craniums +crank +crank's +crankcase +crankcase's +crankcases +cranked +crankier +crankiest +crankiness +crankiness's +cranking +cranks +crankshaft +crankshaft's +crankshafts +cranky +crannies +cranny +cranny's +crap +crap's +crape +crape's +crapes +crapped +crappier +crappiest +crapping +crappy +craps +craps's +crash +crash's +crashed +crashes +crashing +crass +crasser +crassest +crassly +crassness +crassness's +crate +crate's +crated +crater +crater's +cratered +cratering +craters +crates +crating +cravat +cravat's +cravats +crave +craved +craven +craven's +cravenly +cravens +craves +craving +craving's +cravings +craw +craw's +crawfish +crawfish's +crawfishes +crawl +crawl's +crawled +crawling +crawls +crawlspace +crawlspace's +crawlspaces +craws +crayfish +crayfish's +crayfishes +crayon +crayon's +crayoned +crayoning +crayons +craze +craze's +crazed +crazes +crazier +crazies +craziest +crazily +craziness +craziness's +crazing +crazy +crazy's +creak +creak's +creaked +creakier +creakiest +creaking +creaks +creaky +cream +cream's +creamed +creamer +creamer's +creameries +creamers +creamery +creamery's +creamier +creamiest +creaminess +creaminess's +creaming +creams +creamy +crease +crease's +creased +creases +creasing +create +created +creates +creating +creation +creation's +creationism +creationism's +creations +creative +creative's +creatively +creativeness +creativeness's +creatives +creativity +creativity's +creator +creator's +creators +creature +creature's +creatures +credence +credence's +credential +credential's +credentials +credenza +credenza's +credenzas +credibility +credibility's +credible +credibly +credit +credit's +creditable +creditably +credited +crediting +creditor +creditor's +creditors +credits +credo +credo's +credos +credulity +credulity's +credulous +credulously +creed +creed's +creeds +creek +creek's +creeks +creel +creel's +creels +creep +creep's +creeper +creeper's +creepers +creepier +creepiest +creepily +creepiness +creepiness's +creeping +creeps +creepy +cremate +cremated +cremates +cremating +cremation +cremation's +cremations +crematoria +crematories +crematorium +crematorium's +crematoriums +crematory +crematory's +creole +creole's +creoles +creosote +creosote's +creosoted +creosotes +creosoting +crepe +crepe's +crepes +crept +crescendi +crescendo +crescendo's +crescendos +crescent +crescent's +crescents +cress +cress's +crest +crest's +crested +crestfallen +cresting +crests +cretin +cretin's +cretinous +cretins +crevasse +crevasse's +crevasses +crevice +crevice's +crevices +crew +crew's +crewed +crewing +crewman +crewman's +crewmen +crews +crib +crib's +cribbage +cribbage's +cribbed +cribbing +cribs +crick +crick's +cricked +cricket +cricket's +cricketer +cricketer's +cricketers +crickets +cricking +cricks +cried +crier +crier's +criers +cries +crime +crime's +crimes +criminal +criminal's +criminally +criminals +criminologist +criminologist's +criminologists +criminology +criminology's +crimp +crimp's +crimped +crimping +crimps +crimson +crimson's +crimsoned +crimsoning +crimsons +cringe +cringe's +cringed +cringes +cringing +crinkle +crinkle's +crinkled +crinkles +crinklier +crinkliest +crinkling +crinkly +crinoline +crinoline's +crinolines +cripple +cripple's +crippled +cripples +crippling +crises +crisis +crisis's +crisp +crisp's +crisped +crisper +crispest +crispier +crispiest +crisping +crisply +crispness +crispness's +crisps +crispy +crisscross +crisscross's +crisscrossed +crisscrosses +crisscrossing +criteria +criterion +criterion's +criterions +critic +critic's +critical +critically +criticism +criticism's +criticisms +criticize +criticized +criticizes +criticizing +critics +critique +critique's +critiqued +critiques +critiquing +critter +critter's +critters +croak +croak's +croaked +croaking +croaks +crochet +crochet's +crocheted +crocheting +crochets +croci +crock +crock's +crocked +crockery +crockery's +crocks +crocodile +crocodile's +crocodiles +crocus +crocus's +crocuses +crofts +croissant +croissant's +croissants +crone +crone's +crones +cronies +crony +crony's +crook +crook's +crooked +crookeder +crookedest +crookedly +crookedness +crookedness's +crooking +crooks +croon +croon's +crooned +crooner +crooner's +crooners +crooning +croons +crop +crop's +cropped +cropper +cropper's +croppers +cropping +crops +croquet +croquet's +croquette +croquette's +croquettes +crosier +crosier's +crosiers +cross +cross's +crossbar +crossbar's +crossbars +crossbeam +crossbeam's +crossbeams +crossbones +crossbones's +crossbow +crossbow's +crossbows +crossbred +crossbreed +crossbreed's +crossbreeding +crossbreeds +crosscheck +crosscheck's +crosschecked +crosschecking +crosschecks +crossed +crosser +crosses +crossest +crossfire +crossfire's +crossfires +crossing +crossing's +crossings +crossly +crossness +crossness's +crossover +crossover's +crossovers +crosspiece +crosspiece's +crosspieces +crossroad +crossroad's +crossroads +crossroads's +crosstown +crosswalk +crosswalk's +crosswalks +crossways +crosswise +crossword +crossword's +crosswords +crotch +crotch's +crotches +crotchet +crotchet's +crotchets +crotchety +crouch +crouch's +crouched +crouches +crouching +croup +croup's +croupier +croupier's +croupiers +croupiest +croupy +crow +crow's +crowbar +crowbar's +crowbars +crowd +crowd's +crowded +crowding +crowds +crowed +crowing +crown +crown's +crowned +crowning +crowns +crows +crozier +crozier's +croziers +crucial +crucially +crucible +crucible's +crucibles +crucified +crucifies +crucifix +crucifix's +crucifixes +crucifixion +crucifixion's +crucifixions +cruciform +cruciform's +cruciforms +crucify +crucifying +crud +crud's +cruddier +cruddiest +cruddy +crude +crude's +crudely +crudeness +crudeness's +cruder +crudest +crudities +crudity +crudity's +cruel +crueler +cruelest +crueller +cruellest +cruelly +cruelties +cruelty +cruelty's +cruet +cruet's +cruets +cruise +cruise's +cruised +cruiser +cruiser's +cruisers +cruises +cruising +cruller +cruller's +crullers +crumb +crumb's +crumbed +crumbier +crumbiest +crumbing +crumble +crumble's +crumbled +crumbles +crumblier +crumbliest +crumbling +crumbly +crumbs +crumby +crummier +crummiest +crummy +crumpet +crumpet's +crumpets +crumple +crumple's +crumpled +crumples +crumpling +crunch +crunch's +crunched +cruncher +crunches +crunchier +crunchiest +crunching +crunchy +crusade +crusade's +crusaded +crusader +crusader's +crusaders +crusades +crusading +crush +crush's +crushed +crushes +crushing +crust +crust's +crustacean +crustacean's +crustaceans +crusted +crustier +crustiest +crusting +crusts +crusty +crutch +crutch's +crutches +crux +crux's +cruxes +cry +cry's +crybabies +crybaby +crybaby's +crying +cryings +cryogenics +cryogenics's +crypt +crypt's +cryptic +cryptically +cryptogram +cryptogram's +cryptograms +cryptographer +cryptographer's +cryptographers +cryptography +cryptography's +crypts +crystal +crystal's +crystalize +crystalized +crystalizes +crystalizing +crystalline +crystallization +crystallization's +crystallize +crystallized +crystallizes +crystallizing +crystallographic +crystallography +crystals +cs +cub +cub's +cubbyhole +cubbyhole's +cubbyholes +cube +cube's +cubed +cubes +cubic +cubical +cubicle +cubicle's +cubicles +cubing +cubism +cubism's +cubist +cubist's +cubists +cubit +cubit's +cubits +cubs +cuckold +cuckold's +cuckolded +cuckolding +cuckolds +cuckoo +cuckoo's +cuckoos +cucumber +cucumber's +cucumbers +cud +cud's +cuddle +cuddle's +cuddled +cuddles +cuddlier +cuddliest +cuddling +cuddly +cudgel +cudgel's +cudgeled +cudgeling +cudgelled +cudgelling +cudgels +cuds +cue +cue's +cued +cueing +cues +cuff +cuff's +cuffed +cuffing +cuffs +cuing +cuisine +cuisine's +cuisines +culinary +cull +cull's +culled +cullender +cullender's +cullenders +culling +culls +culminate +culminated +culminates +culminating +culmination +culmination's +culminations +culotte +culotte's +culottes +culpability +culpability's +culpable +culprit +culprit's +culprits +cult +cult's +cultivate +cultivated +cultivates +cultivating +cultivation +cultivation's +cultivator +cultivator's +cultivators +cults +cultural +culturally +culture +culture's +cultured +cultures +culturing +culvert +culvert's +culverts +cumbersome +cumin +cumin's +cummerbund +cummerbund's +cummerbunds +cumming +cumquat +cumquat's +cumquats +cums +cumulative +cumulatively +cumuli +cumulus +cumulus's +cuneiform +cuneiform's +cunnilingus +cunnilingus's +cunning +cunning's +cunninger +cunningest +cunningly +cunt +cunt's +cunts +cup +cup's +cupboard +cupboard's +cupboards +cupcake +cupcake's +cupcakes +cupful +cupful's +cupfuls +cupidity +cupidity's +cupola +cupola's +cupolas +cupped +cupping +cups +cupsful +cur +cur's +curable +curacies +curacy +curacy's +curate +curate's +curates +curative +curative's +curatives +curator +curator's +curators +curb +curb's +curbed +curbing +curbs +curd +curd's +curdle +curdled +curdles +curdling +curds +cure +cure's +cured +curer +cures +curfew +curfew's +curfews +curie +curie's +curies +curing +curio +curio's +curios +curiosities +curiosity +curiosity's +curious +curiously +curl +curl's +curled +curler +curler's +curlers +curlew +curlew's +curlews +curlicue +curlicue's +curlicued +curlicues +curlicuing +curlier +curliest +curliness +curliness's +curling +curls +curly +curlycue +curlycue's +curlycues +curmudgeon +curmudgeon's +curmudgeons +currant +currant's +currants +currencies +currency +currency's +current +current's +currently +currents +curricula +curriculum +curriculum's +curriculums +curried +curries +curry +curry's +currycomb +currycomb's +currycombed +currycombing +currycombs +currying +curs +curse +curse's +cursed +curses +cursing +cursive +cursive's +cursor +cursor's +cursorily +cursors +cursory +curst +curt +curtail +curtailed +curtailing +curtailment +curtailment's +curtailments +curtails +curtain +curtain's +curtained +curtaining +curtains +curter +curtest +curtly +curtness +curtness's +curtsey +curtsey's +curtseyed +curtseying +curtseys +curtsied +curtsies +curtsy +curtsy's +curtsying +curvaceous +curvacious +curvature +curvature's +curvatures +curve +curve's +curved +curves +curvier +curviest +curving +curvy +cushier +cushiest +cushion +cushion's +cushioned +cushioning +cushions +cushy +cusp +cusp's +cuspid +cuspid's +cuspids +cusps +cuss +cuss's +cussed +cusses +cussing +custard +custard's +custards +custodial +custodian +custodian's +custodians +custody +custody's +custom +custom's +customarily +customary +customer +customer's +customers +customization +customize +customized +customizes +customizing +customs +cut +cut's +cutback +cutback's +cutbacks +cute +cutely +cuteness +cuteness's +cuter +cutesier +cutesiest +cutest +cutesy +cuticle +cuticle's +cuticles +cutlass +cutlass's +cutlasses +cutlery +cutlery's +cutlet +cutlet's +cutlets +cutoff +cutoff's +cutoffs +cuts +cutter +cutter's +cutters +cutthroat +cutthroat's +cutthroats +cutting +cutting's +cuttings +cuttlefish +cuttlefish's +cuttlefishes +cutup +cutup's +cutups +cyanide +cyanide's +cybernetic +cybernetics +cybernetics's +cyberpunk +cyberpunk's +cyberpunks +cyberspace +cyberspace's +cyclamen +cyclamen's +cyclamens +cycle +cycle's +cycled +cycles +cyclic +cyclical +cyclically +cycling +cyclist +cyclist's +cyclists +cyclone +cyclone's +cyclones +cyclonic +cyclotron +cyclotron's +cyclotrons +cygnet +cygnet's +cygnets +cylinder +cylinder's +cylinders +cylindrical +cymbal +cymbal's +cymbals +cynic +cynic's +cynical +cynically +cynicism +cynicism's +cynics +cynosure +cynosure's +cynosures +cypher +cypher's +cypress +cypress's +cypresses +cyst +cyst's +cystic +cysts +cytology +cytology's +cytoplasm +cytoplasm's +czar +czar's +czarina +czarina's +czarinas +czars +d +d'Arezzo +d'Estaing +dB +dab +dab's +dabbed +dabbing +dabble +dabbled +dabbler +dabbler's +dabblers +dabbles +dabbling +dabs +dacha +dacha's +dachas +dachshund +dachshund's +dachshunds +dactyl +dactyl's +dactylic +dactylic's +dactylics +dactyls +dad +dad's +daddies +daddy +daddy's +dado +dado's +dadoes +dados +dads +daemon +daemon's +daemons +daffier +daffiest +daffodil +daffodil's +daffodils +daffy +daft +dafter +daftest +dagger +dagger's +daggers +daguerreotype +daguerreotype's +daguerreotyped +daguerreotypes +daguerreotyping +dahlia +dahlia's +dahlias +dailies +daily +daily's +daintier +dainties +daintiest +daintily +daintiness +daintiness's +dainty +dainty's +daiquiri +daiquiri's +daiquiris +dairies +dairy +dairy's +dairying +dairying's +dairymaid +dairymaid's +dairymaids +dairyman +dairyman's +dairymen +dais +dais's +daises +daisies +daisy +daisy's +dale +dale's +dales +dalliance +dalliance's +dalliances +dallied +dallies +dally +dallying +dalmatian +dalmatian's +dalmatians +dam +dam's +damage +damage's +damaged +damages +damages's +damaging +damask +damask's +damasked +damasking +damasks +dame +dame's +dames +dammed +damming +damn +damn's +damnable +damnably +damnation +damnation's +damndest +damned +damnedest +damning +damns +damp +damp's +damped +dampen +dampened +dampening +dampens +damper +damper's +dampers +dampest +damping +damply +dampness +dampness's +damps +dams +damsel +damsel's +damsels +damson +damson's +damsons +dance +dance's +danced +dancer +dancer's +dancers +dances +dancing +dancing's +dandelion +dandelion's +dandelions +dander +dander's +dandier +dandies +dandiest +dandle +dandled +dandles +dandling +dandruff +dandruff's +dandy +dandy's +danger +danger's +dangerous +dangerously +dangers +dangle +dangled +dangles +dangling +dank +danker +dankest +dankly +dankness +dankness's +dapper +dapperer +dapperest +dapple +dapple's +dappled +dapples +dappling +dare +dare's +dared +daredevil +daredevil's +daredevils +dares +daring +daring's +daringly +dark +dark's +darken +darkened +darkening +darkens +darker +darkest +darkly +darkness +darkness's +darkroom +darkroom's +darkrooms +darling +darling's +darlings +darn +darn's +darned +darneder +darnedest +darning +darns +dart +dart's +dartboard +dartboard's +dartboards +darted +darting +darts +dash +dash's +dashboard +dashboard's +dashboards +dashed +dashes +dashiki +dashiki's +dashikis +dashing +dashingly +dastardly +data +database +database's +databases +date +date's +dated +dateline +dateline's +datelined +datelines +datelining +dates +dating +dative +dative's +datives +datum +datum's +daub +daub's +daubed +dauber +dauber's +daubers +daubing +daubs +daughter +daughter's +daughters +daunt +daunted +daunting +dauntless +dauntlessly +dauntlessness +dauntlessness's +daunts +dauphin +dauphin's +dauphins +davenport +davenport's +davenports +davit +davit's +davits +dawdle +dawdled +dawdler +dawdler's +dawdlers +dawdles +dawdling +dawn +dawn's +dawned +dawning +dawns +day +day's +daybed +daybed's +daybeds +daybreak +daybreak's +daydream +daydream's +daydreamed +daydreamer +daydreamer's +daydreamers +daydreaming +daydreams +daydreamt +daylight +daylight's +daylights +days +daytime +daytime's +daze +daze's +dazed +dazes +dazing +dazzle +dazzle's +dazzled +dazzles +dazzling +deacon +deacon's +deaconess +deaconess's +deaconesses +deacons +deactivate +deactivated +deactivates +deactivating +dead +dead's +deadbeat +deadbeat's +deadbeats +deadbolt +deadbolt's +deadbolts +deaden +deadened +deadening +deadens +deader +deadest +deadlier +deadliest +deadline +deadline's +deadlines +deadliness +deadliness's +deadlock +deadlock's +deadlocked +deadlocking +deadlocks +deadly +deadpan +deadpan's +deadpanned +deadpanning +deadpans +deadwood +deadwood's +deaf +deafen +deafened +deafening +deafens +deafer +deafest +deafness +deafness's +deal +deal's +dealer +dealer's +dealers +dealership +dealership's +dealerships +dealing +dealing's +dealings +deals +dealt +dean +dean's +deans +dear +dear's +dearer +dearest +dearly +dearness +dearness's +dears +dearth +dearth's +dearths +death +death's +deathbed +deathbed's +deathbeds +deathblow +deathblow's +deathblows +deathless +deathlike +deathly +deaths +deathtrap +deathtrap's +deathtraps +deaves +deb +deb's +debacle +debacle's +debacles +debar +debark +debarkation +debarkation's +debarked +debarking +debarks +debarment +debarment's +debarred +debarring +debars +debase +debased +debasement +debasement's +debasements +debases +debasing +debatable +debate +debate's +debated +debater +debater's +debaters +debates +debating +debauch +debauch's +debauched +debaucheries +debauchery +debauchery's +debauches +debauching +debenture +debenture's +debentures +debilitate +debilitated +debilitates +debilitating +debilitation +debilitation's +debilities +debility +debility's +debit +debit's +debited +debiting +debits +debonair +debonairly +debrief +debriefed +debriefing +debriefing's +debriefings +debriefs +debris +debris's +debs +debt +debt's +debtor +debtor's +debtors +debts +debug +debugged +debugger +debuggers +debugging +debugs +debunk +debunked +debunking +debunks +debut +debut's +debuted +debuting +debuts +decade +decade's +decadence +decadence's +decadent +decadent's +decadently +decadents +decades +decaf +decaf's +decaffeinate +decaffeinated +decaffeinates +decaffeinating +decal +decal's +decals +decamp +decamped +decamping +decamps +decant +decanted +decanter +decanter's +decanters +decanting +decants +decapitate +decapitated +decapitates +decapitating +decapitation +decapitation's +decapitations +decathlon +decathlon's +decathlons +decay +decay's +decayed +decaying +decays +decease +decease's +deceased +deceased's +deceases +deceasing +decedent +decedent's +decedents +deceit +deceit's +deceitful +deceitfully +deceitfulness +deceitfulness's +deceits +deceive +deceived +deceiver +deceiver's +deceivers +deceives +deceiving +decelerate +decelerated +decelerates +decelerating +deceleration +deceleration's +decencies +decency +decency's +decent +decently +decentralization +decentralization's +decentralize +decentralized +decentralizes +decentralizing +deception +deception's +deceptions +deceptive +deceptively +deceptiveness +deceptiveness's +decibel +decibel's +decibels +decide +decided +decidedly +decides +deciding +deciduous +decimal +decimal's +decimals +decimate +decimated +decimates +decimating +decimation +decimation's +decipher +decipherable +deciphered +deciphering +deciphers +decision +decision's +decisions +decisive +decisively +decisiveness +decisiveness's +deck +deck's +decked +deckhand +deckhand's +deckhands +decking +decks +declaim +declaimed +declaiming +declaims +declamation +declamation's +declamations +declamatory +declaration +declaration's +declarations +declarative +declare +declared +declares +declaring +declassified +declassifies +declassify +declassifying +declension +declension's +declensions +declination +declination's +decline +decline's +declined +declines +declining +declivities +declivity +declivity's +decode +decoded +decoder +decodes +decoding +decolonization +decolonization's +decolonize +decolonized +decolonizes +decolonizing +decommission +decommissioned +decommissioning +decommissions +decompose +decomposed +decomposes +decomposing +decomposition +decomposition's +decompress +decompressed +decompresses +decompressing +decompression +decompression's +decongestant +decongestant's +decongestants +deconstruction +deconstruction's +deconstructions +decontaminate +decontaminated +decontaminates +decontaminating +decontamination +decontamination's +decor +decor's +decorate +decorated +decorates +decorating +decoration +decoration's +decorations +decorative +decorator +decorator's +decorators +decorous +decorously +decors +decorum +decorum's +decoy +decoy's +decoyed +decoying +decoys +decrease +decrease's +decreased +decreases +decreasing +decree +decree's +decreed +decreeing +decrees +decremented +decrements +decrepit +decrepitude +decrepitude's +decrescendi +decrescendo +decrescendo's +decrescendos +decried +decries +decriminalization +decriminalization's +decriminalize +decriminalized +decriminalizes +decriminalizing +decry +decrying +dedicate +dedicated +dedicates +dedicating +dedication +dedication's +dedications +deduce +deduced +deduces +deducible +deducing +deduct +deducted +deductible +deductible's +deductibles +deducting +deduction +deduction's +deductions +deductive +deducts +deed +deed's +deeded +deeding +deeds +deejay +deejay's +deejays +deem +deemed +deeming +deems +deep +deep's +deepen +deepened +deepening +deepens +deeper +deepest +deeply +deepness +deepness's +deeps +deer +deer's +deers +deerskin +deerskin's +deescalate +deescalated +deescalates +deescalating +deface +defaced +defacement +defacement's +defaces +defacing +defamation +defamation's +defamatory +defame +defamed +defames +defaming +default +default's +defaulted +defaulter +defaulter's +defaulters +defaulting +defaults +defeat +defeat's +defeated +defeating +defeatism +defeatism's +defeatist +defeatist's +defeatists +defeats +defecate +defecated +defecates +defecating +defecation +defecation's +defect +defect's +defected +defecting +defection +defection's +defections +defective +defective's +defectives +defector +defector's +defectors +defects +defend +defendant +defendant's +defendants +defended +defender +defender's +defenders +defending +defends +defense +defense's +defensed +defenseless +defenses +defensible +defensing +defensive +defensive's +defensively +defensiveness +defensiveness's +defer +deference +deference's +deferential +deferentially +deferment +deferment's +deferments +deferred +deferring +defers +defiance +defiance's +defiant +defiantly +deficiencies +deficiency +deficiency's +deficient +deficit +deficit's +deficits +defied +defies +defile +defile's +defiled +defilement +defilement's +defiles +defiling +definable +define +defined +definer +definer's +definers +defines +defining +definite +definitely +definiteness +definiteness's +definition +definition's +definitions +definitive +definitively +deflate +deflated +deflates +deflating +deflation +deflation's +deflect +deflected +deflecting +deflection +deflection's +deflections +deflector +deflector's +deflectors +deflects +defogger +defogger's +defoggers +defoliant +defoliant's +defoliants +defoliate +defoliated +defoliates +defoliating +defoliation +defoliation's +deforest +deforestation +deforestation's +deforested +deforesting +deforests +deform +deformation +deformation's +deformations +deformed +deforming +deformities +deformity +deformity's +deforms +defraud +defrauded +defrauding +defrauds +defray +defrayal +defrayal's +defrayed +defraying +defrays +defrost +defrosted +defroster +defroster's +defrosters +defrosting +defrosts +deft +defter +deftest +deftly +deftness +deftness's +defunct +defuse +defused +defuses +defusing +defy +defying +degeneracy +degeneracy's +degenerate +degenerate's +degenerated +degenerates +degenerating +degeneration +degeneration's +degenerative +degradation +degradation's +degrade +degraded +degrades +degrading +degree +degree's +degrees +dehumanization +dehumanization's +dehumanize +dehumanized +dehumanizes +dehumanizing +dehumidified +dehumidifier +dehumidifier's +dehumidifiers +dehumidifies +dehumidify +dehumidifying +dehydrate +dehydrated +dehydrates +dehydrating +dehydration +dehydration's +deice +deiced +deicer +deicer's +deicers +deices +deicing +deification +deification's +deified +deifies +deify +deifying +deign +deigned +deigning +deigns +deism +deism's +deities +deity +deity's +deject +dejected +dejectedly +dejecting +dejection +dejection's +dejects +delay +delay's +delayed +delaying +delays +delectable +delectation +delectation's +delegate +delegate's +delegated +delegates +delegating +delegation +delegation's +delegations +delete +deleted +deleterious +deletes +deleting +deletion +deletion's +deletions +deli +deli's +deliberate +deliberated +deliberately +deliberates +deliberating +deliberation +deliberation's +deliberations +delicacies +delicacy +delicacy's +delicate +delicately +delicatessen +delicatessen's +delicatessens +delicious +deliciously +deliciousness +deliciousness's +delight +delight's +delighted +delightful +delightfully +delighting +delights +delimit +delimited +delimiter +delimiters +delimiting +delimits +delineate +delineated +delineates +delineating +delineation +delineation's +delineations +delinquencies +delinquency +delinquency's +delinquent +delinquent's +delinquently +delinquents +deliquescent +deliria +delirious +deliriously +delirium +delirium's +deliriums +delis +deliver +deliverance +deliverance's +delivered +deliverer +deliverer's +deliverers +deliveries +delivering +delivers +delivery +delivery's +dell +dell's +dells +delphinia +delphinium +delphinium's +delphiniums +delta +delta's +deltas +delude +deluded +deludes +deluding +deluge +deluge's +deluged +deluges +deluging +delusion +delusion's +delusions +delusive +deluxe +delve +delved +delves +delving +demagnetization +demagnetization's +demagnetize +demagnetized +demagnetizes +demagnetizing +demagog +demagog's +demagogic +demagogry +demagogs +demagogue +demagogue's +demagoguery +demagoguery's +demagogues +demagogy +demagogy's +demand +demand's +demanded +demanding +demands +demarcate +demarcated +demarcates +demarcating +demarcation +demarcation's +demean +demeaned +demeaning +demeanor +demeanor's +demeans +demented +dementedly +dementia +dementia's +demerit +demerit's +demerits +demesne +demesne's +demesnes +demigod +demigod's +demigods +demijohn +demijohn's +demijohns +demilitarization +demilitarization's +demilitarize +demilitarized +demilitarizes +demilitarizing +demise +demise's +demised +demises +demising +demitasse +demitasse's +demitasses +demo +demo's +demobilization +demobilization's +demobilize +demobilized +demobilizes +demobilizing +democracies +democracy +democracy's +democrat +democrat's +democratic +democratically +democratization +democratization's +democratize +democratized +democratizes +democratizing +democrats +demoed +demographer +demographer's +demographers +demographic +demographic's +demographically +demographics +demographics's +demography +demography's +demoing +demolish +demolished +demolishes +demolishing +demolition +demolition's +demolitions +demon +demon's +demoniac +demoniacal +demonic +demons +demonstrable +demonstrably +demonstrate +demonstrated +demonstrates +demonstrating +demonstration +demonstration's +demonstrations +demonstrative +demonstrative's +demonstratively +demonstratives +demonstrator +demonstrator's +demonstrators +demoralization +demoralization's +demoralize +demoralized +demoralizes +demoralizing +demos +demote +demoted +demotes +demoting +demotion +demotion's +demotions +demount +demur +demur's +demure +demurely +demurer +demurest +demurred +demurring +demurs +den +den's +denature +denatured +denatures +denaturing +dendrite +dendrite's +dendrites +denial +denial's +denials +denied +denier +denier's +deniers +denies +denigrate +denigrated +denigrates +denigrating +denigration +denigration's +denim +denim's +denims +denizen +denizen's +denizens +denominate +denominated +denominates +denominating +denomination +denomination's +denominational +denominations +denominator +denominator's +denominators +denotation +denotation's +denotations +denote +denoted +denotes +denoting +denouement +denouement's +denouements +denounce +denounced +denouncement +denouncement's +denouncements +denounces +denouncing +dens +dense +densely +denseness +denseness's +denser +densest +densities +density +density's +dent +dent's +dental +dented +dentifrice +dentifrice's +dentifrices +dentin +dentin's +dentine +dentine's +denting +dentist +dentist's +dentistry +dentistry's +dentists +dents +denture +denture's +dentures +denude +denuded +denudes +denuding +denunciation +denunciation's +denunciations +deny +denying +deodorant +deodorant's +deodorants +deodorize +deodorized +deodorizer +deodorizer's +deodorizers +deodorizes +deodorizing +depart +departed +departed's +departing +department +department's +departmental +departmentalize +departmentalized +departmentalizes +departmentalizing +departments +departs +departure +departure's +departures +depend +dependability +dependability's +dependable +dependably +dependance +dependance's +dependant +dependant's +dependants +depended +dependence +dependence's +dependencies +dependency +dependency's +dependent +dependent's +dependents +depending +depends +depict +depicted +depicting +depiction +depiction's +depictions +depicts +depilatories +depilatory +depilatory's +deplane +deplaned +deplanes +deplaning +deplete +depleted +depletes +depleting +depletion +depletion's +deplorable +deplorably +deplore +deplored +deplores +deploring +deploy +deployed +deploying +deployment +deployment's +deployments +deploys +depoliticize +depoliticized +depoliticizes +depoliticizing +depopulate +depopulated +depopulates +depopulating +depopulation +depopulation's +deport +deportation +deportation's +deportations +deported +deporting +deportment +deportment's +deports +depose +deposed +deposes +deposing +deposit +deposit's +deposited +depositing +deposition +deposition's +depositions +depositor +depositor's +depositories +depositors +depository +depository's +deposits +depot +depot's +depots +deprave +depraved +depraves +depraving +depravities +depravity +depravity's +deprecate +deprecated +deprecates +deprecating +deprecation +deprecation's +deprecatory +depreciate +depreciated +depreciates +depreciating +depreciation +depreciation's +depredation +depredation's +depredations +depress +depressant +depressant's +depressants +depressed +depresses +depressing +depressingly +depression +depression's +depressions +depressive +depressive's +depressives +deprivation +deprivation's +deprivations +deprive +deprived +deprives +depriving +deprogram +deprogramed +deprograming +deprogrammed +deprogramming +deprograms +depth +depth's +depths +deputation +deputation's +deputations +depute +deputed +deputes +deputies +deputing +deputize +deputized +deputizes +deputizing +deputy +deputy's +derail +derailed +derailing +derailment +derailment's +derailments +derails +derange +deranged +derangement +derangement's +deranges +deranging +derbies +derby +derby's +deregulate +deregulated +deregulates +deregulating +deregulation +deregulation's +derelict +derelict's +dereliction +dereliction's +derelicts +deride +derided +derides +deriding +derision +derision's +derisive +derisively +derisory +derivable +derivation +derivation's +derivations +derivative +derivative's +derivatives +derive +derived +derives +deriving +dermatitis +dermatitis's +dermatologist +dermatologist's +dermatologists +dermatology +dermatology's +dermis +dermis's +derogate +derogated +derogates +derogating +derogation +derogation's +derogatory +derrick +derrick's +derricks +derringer +derringer's +derringers +dervish +dervish's +dervishes +desalinate +desalinated +desalinates +desalinating +desalination +desalination's +descant +descant's +descanted +descanting +descants +descend +descendant +descendant's +descendants +descended +descendent +descendent's +descendents +descender +descending +descends +descent +descent's +descents +describable +describe +described +describes +describing +descried +descries +description +description's +descriptions +descriptive +descriptively +descriptor +descriptors +descry +descrying +desecrate +desecrated +desecrates +desecrating +desecration +desecration's +desegregate +desegregated +desegregates +desegregating +desegregation +desegregation's +desensitization +desensitization's +desensitize +desensitized +desensitizes +desensitizing +desert +desert's +deserted +deserter +deserter's +deserters +deserting +desertion +desertion's +desertions +deserts +deserve +deserved +deservedly +deserves +deserving +desiccate +desiccated +desiccates +desiccating +desiccation +desiccation's +desiderata +desideratum +desideratum's +design +design's +designate +designated +designates +designating +designation +designation's +designations +designed +designer +designer's +designers +designing +designing's +designs +desirability +desirability's +desirable +desirably +desire +desire's +desired +desires +desiring +desirous +desist +desisted +desisting +desists +desk +desk's +desks +desktop +desktop's +desktops +desolate +desolated +desolately +desolateness +desolateness's +desolates +desolating +desolation +desolation's +despair +despair's +despaired +despairing +despairingly +despairs +despatch +despatch's +despatched +despatches +despatching +desperado +desperado's +desperadoes +desperados +desperate +desperately +desperation +desperation's +despicable +despicably +despise +despised +despises +despising +despite +despoil +despoiled +despoiling +despoils +despondency +despondency's +despondent +despondently +despot +despot's +despotic +despotism +despotism's +despots +dessert +dessert's +desserts +destabilize +destination +destination's +destinations +destine +destined +destines +destinies +destining +destiny +destiny's +destitute +destitution +destitution's +destroy +destroyed +destroyer +destroyer's +destroyers +destroying +destroys +destruct +destruct's +destructed +destructible +destructing +destruction +destruction's +destructive +destructively +destructiveness +destructiveness's +destructs +desultory +detach +detachable +detached +detaches +detaching +detachment +detachment's +detachments +detail +detail's +detailed +detailing +details +detain +detained +detaining +detainment +detainment's +detains +detect +detectable +detected +detecting +detection +detection's +detective +detective's +detectives +detector +detector's +detectors +detects +detentes +detention +detention's +detentions +deter +detergent +detergent's +detergents +deteriorate +deteriorated +deteriorates +deteriorating +deterioration +deterioration's +determinable +determinant +determinant's +determinants +determinate +determination +determination's +determinations +determine +determined +determiner +determiner's +determiners +determines +determining +determinism +deterministic +deterred +deterrence +deterrence's +deterrent +deterrent's +deterrents +deterring +deters +detest +detestable +detestation +detestation's +detested +detesting +detests +dethrone +dethroned +dethronement +dethronement's +dethrones +dethroning +detonate +detonated +detonates +detonating +detonation +detonation's +detonations +detonator +detonator's +detonators +detour +detour's +detoured +detouring +detours +detox +detox's +detoxed +detoxes +detoxification +detoxification's +detoxified +detoxifies +detoxify +detoxifying +detoxing +detract +detracted +detracting +detraction +detraction's +detractor +detractor's +detractors +detracts +detriment +detriment's +detrimental +detriments +detritus +detritus's +deuce +deuce's +deuces +deuterium +deuterium's +devaluation +devaluation's +devaluations +devalue +devalued +devalues +devaluing +devastate +devastated +devastates +devastating +devastation +devastation's +develop +developed +developer +developer's +developers +developing +development +development's +developmental +developments +develops +deviance +deviance's +deviant +deviant's +deviants +deviate +deviate's +deviated +deviates +deviating +deviation +deviation's +deviations +device +device's +devices +devil +devil's +deviled +deviling +devilish +devilishly +devilled +devilling +devilment +devilment's +devilries +devilry +devilry's +devils +deviltries +deviltry +deviltry's +devious +deviously +deviousness +deviousness's +devise +devise's +devised +devises +devising +devoid +devolution +devolve +devolved +devolves +devolving +devote +devoted +devotedly +devotee +devotee's +devotees +devotes +devoting +devotion +devotion's +devotional +devotional's +devotionals +devotions +devour +devoured +devouring +devours +devout +devouter +devoutest +devoutly +devoutness +devoutness's +dew +dew's +dewberries +dewberry +dewberry's +dewdrop +dewdrop's +dewdrops +dewier +dewiest +dewlap +dewlap's +dewlaps +dewy +dexterity +dexterity's +dexterous +dexterously +dextrose +dextrose's +dextrous +dextrously +dhoti +dhoti's +dhotis +diabetes +diabetes's +diabetic +diabetic's +diabetics +diabolic +diabolical +diabolically +diacritic +diacritic's +diacritical +diacritics +diadem +diadem's +diadems +diagnose +diagnosed +diagnoses +diagnosing +diagnosis +diagnosis's +diagnostic +diagnostician +diagnostician's +diagnosticians +diagnostics +diagonal +diagonal's +diagonally +diagonals +diagram +diagram's +diagramed +diagraming +diagrammatic +diagrammed +diagramming +diagrams +dial +dial's +dialect +dialect's +dialectal +dialectic +dialectic's +dialects +dialed +dialing +dialings +dialog +dialog's +dialogs +dialogue +dialogue's +dialogues +dials +dialyses +dialysis +dialysis's +dialyzes +diameter +diameter's +diameters +diametrical +diametrically +diamond +diamond's +diamonds +diaper +diaper's +diapered +diapering +diapers +diaphanous +diaphragm +diaphragm's +diaphragms +diaries +diarist +diarist's +diarists +diarrhea +diarrhea's +diarrhoea +diarrhoea's +diary +diary's +diastolic +diatom +diatom's +diatoms +diatribe +diatribe's +diatribes +dibble +dibble's +dibbled +dibbles +dibbling +dice +diced +dices +dicey +dichotomies +dichotomy +dichotomy's +dicier +diciest +dicing +dick +dick's +dicker +dickered +dickering +dickers +dickey +dickey's +dickeys +dickie +dickie's +dickies +dicks +dicky +dicky's +dicta +dictate +dictate's +dictated +dictates +dictating +dictation +dictation's +dictations +dictator +dictator's +dictatorial +dictators +dictatorship +dictatorship's +dictatorships +diction +diction's +dictionaries +dictionary +dictionary's +dictum +dictum's +dictums +did +didactic +diddle +diddled +diddles +diddling +didn't +die +die's +died +diehard +diehard's +diehards +diereses +dieresis +dieresis's +dies +diesel +diesel's +dieseled +dieseling +diesels +diet +diet's +dietaries +dietary +dietary's +dieted +dieter +dieter's +dieters +dietetic +dietetics +dietetics's +dietician +dietician's +dieticians +dieting +dietitian +dietitian's +dietitians +diets +differ +differed +difference +difference's +differences +different +differential +differential's +differentials +differentiate +differentiated +differentiates +differentiating +differentiation +differentiation's +differently +differing +differs +difficult +difficulties +difficulty +difficulty's +diffidence +diffidence's +diffident +diffidently +diffraction +diffraction's +diffuse +diffused +diffusely +diffuseness +diffuseness's +diffuses +diffusing +diffusion +diffusion's +dig +dig's +digest +digest's +digested +digestible +digesting +digestion +digestion's +digestions +digestive +digests +digger +digger's +diggers +digging +digit +digit's +digital +digitalis +digitalis's +digitally +digitization +digitize +digitized +digitizes +digitizing +digits +dignified +dignifies +dignify +dignifying +dignitaries +dignitary +dignitary's +dignities +dignity +dignity's +digraph +digraph's +digraphs +digress +digressed +digresses +digressing +digression +digression's +digressions +digressive +digs +dike +dike's +diked +dikes +diking +dilapidated +dilapidation +dilapidation's +dilate +dilated +dilates +dilating +dilation +dilation's +dilatory +dilemma +dilemma's +dilemmas +dilettante +dilettante's +dilettantes +dilettanti +dilettantism +dilettantism's +diligence +diligence's +diligent +diligently +dill +dill's +dillies +dills +dilly +dilly's +dillydallied +dillydallies +dillydally +dillydallying +dilute +diluted +dilutes +diluting +dilution +dilution's +dim +dime +dime's +dimension +dimension's +dimensional +dimensionless +dimensions +dimer +dimes +diminish +diminished +diminishes +diminishing +diminuendo +diminuendo's +diminuendoes +diminuendos +diminution +diminution's +diminutions +diminutive +diminutive's +diminutives +dimly +dimmed +dimmer +dimmer's +dimmers +dimmest +dimming +dimness +dimness's +dimple +dimple's +dimpled +dimples +dimpling +dims +dimwit +dimwit's +dimwits +dimwitted +din +din's +dine +dined +diner +diner's +diners +dines +dinette +dinette's +dinettes +ding +ding's +dinged +dinghies +dinghy +dinghy's +dingier +dingiest +dinginess +dinginess's +dinging +dingo +dingo's +dingoes +dings +dingy +dining +dinkier +dinkies +dinkiest +dinky +dinky's +dinned +dinner +dinner's +dinnered +dinnering +dinners +dinning +dinosaur +dinosaur's +dinosaurs +dins +dint +dint's +diocesan +diocesan's +diocesans +diocese +diocese's +dioceses +diode +diode's +diodes +diorama +diorama's +dioramas +dioxide +dioxin +dioxin's +dioxins +dip +dip's +diphtheria +diphtheria's +diphthong +diphthong's +diphthongs +diploma +diploma's +diplomacy +diplomacy's +diplomas +diplomat +diplomat's +diplomata +diplomatic +diplomatically +diplomats +dipole +dipped +dipper +dipper's +dippers +dipping +dips +dipsomania +dipsomania's +dipsomaniac +dipsomaniac's +dipsomaniacs +dipstick +dipstick's +dipsticks +dire +direct +directed +directer +directest +directing +direction +direction's +directional +directions +directive +directive's +directives +directly +directness +directness's +director +director's +directorate +directorate's +directorates +directorial +directories +directors +directorship +directorship's +directorships +directory +directory's +directs +direr +direst +dirge +dirge's +dirges +dirigible +dirigible's +dirigibles +dirk +dirk's +dirks +dirt +dirt's +dirtied +dirtier +dirties +dirtiest +dirtiness +dirtiness's +dirty +dirtying +dis +dis's +disabilities +disability +disability's +disable +disabled +disablement +disablement's +disables +disabling +disabuse +disabused +disabuses +disabusing +disadvantage +disadvantage's +disadvantaged +disadvantageous +disadvantageously +disadvantages +disadvantaging +disaffect +disaffected +disaffecting +disaffection +disaffection's +disaffects +disagree +disagreeable +disagreeably +disagreed +disagreeing +disagreement +disagreement's +disagreements +disagrees +disallow +disallowed +disallowing +disallows +disambiguate +disambiguation +disappear +disappearance +disappearance's +disappearances +disappeared +disappearing +disappears +disappoint +disappointed +disappointing +disappointingly +disappointment +disappointment's +disappointments +disappoints +disapprobation +disapprobation's +disapproval +disapproval's +disapprove +disapproved +disapproves +disapproving +disapprovingly +disarm +disarmament +disarmament's +disarmed +disarming +disarms +disarrange +disarranged +disarrangement +disarrangement's +disarranges +disarranging +disarray +disarray's +disarrayed +disarraying +disarrays +disassemble +disassembled +disassembles +disassembling +disassociate +disassociated +disassociates +disassociating +disaster +disaster's +disasters +disastrous +disastrously +disavow +disavowal +disavowal's +disavowals +disavowed +disavowing +disavows +disband +disbanded +disbanding +disbands +disbar +disbarment +disbarment's +disbarred +disbarring +disbars +disbelief +disbelief's +disbelieve +disbelieved +disbelieves +disbelieving +disburse +disbursed +disbursement +disbursement's +disbursements +disburses +disbursing +disc +disc's +discard +discard's +discarded +discarding +discards +discern +discerned +discernible +discerning +discernment +discernment's +discerns +discharge +discharge's +discharged +discharges +discharging +disciple +disciple's +disciples +disciplinarian +disciplinarian's +disciplinarians +disciplinary +discipline +discipline's +disciplined +disciplines +disciplining +disclaim +disclaimed +disclaimer +disclaimer's +disclaimers +disclaiming +disclaims +disclose +disclosed +discloses +disclosing +disclosure +disclosure's +disclosures +disco +disco's +discoed +discoing +discolor +discoloration +discoloration's +discolorations +discolored +discoloring +discolors +discombobulate +discombobulated +discombobulates +discombobulating +discomfit +discomfited +discomfiting +discomfits +discomfiture +discomfiture's +discomfort +discomfort's +discomforted +discomforting +discomforts +discommode +discommoded +discommodes +discommoding +discompose +discomposed +discomposes +discomposing +discomposure +discomposure's +disconcert +disconcerted +disconcerting +disconcerts +disconnect +disconnected +disconnectedly +disconnecting +disconnection +disconnection's +disconnections +disconnects +disconsolate +disconsolately +discontent +discontent's +discontented +discontentedly +discontenting +discontentment +discontentment's +discontents +discontinuance +discontinuance's +discontinuances +discontinuation +discontinuation's +discontinuations +discontinue +discontinued +discontinues +discontinuing +discontinuities +discontinuity +discontinuity's +discontinuous +discord +discord's +discordant +discorded +discording +discords +discos +discotheque +discotheque's +discotheques +discount +discount's +discounted +discountenance +discountenanced +discountenances +discountenancing +discounting +discounts +discourage +discouraged +discouragement +discouragement's +discouragements +discourages +discouraging +discouragingly +discourse +discourse's +discoursed +discourses +discoursing +discourteous +discourteously +discourtesies +discourtesy +discourtesy's +discover +discovered +discoverer +discoverer's +discoverers +discoveries +discovering +discovers +discovery +discovery's +discredit +discredit's +discreditable +discredited +discrediting +discredits +discreet +discreeter +discreetest +discreetly +discrepancies +discrepancy +discrepancy's +discrete +discretion +discretion's +discretionary +discriminant +discriminate +discriminated +discriminates +discriminating +discrimination +discrimination's +discriminatory +discs +discursive +discus +discus's +discuses +discuss +discussant +discussant's +discussants +discussed +discusses +discussing +discussion +discussion's +discussions +disdain +disdain's +disdained +disdainful +disdainfully +disdaining +disdains +disease +disease's +diseased +diseases +disembark +disembarkation +disembarkation's +disembarked +disembarking +disembarks +disembodied +disembodies +disembody +disembodying +disembowel +disemboweled +disemboweling +disembowelled +disembowelling +disembowels +disenchant +disenchanted +disenchanting +disenchantment +disenchantment's +disenchants +disencumber +disencumbered +disencumbering +disencumbers +disenfranchise +disenfranchised +disenfranchisement +disenfranchisement's +disenfranchises +disenfranchising +disengage +disengaged +disengagement +disengagement's +disengagements +disengages +disengaging +disentangle +disentangled +disentanglement +disentanglement's +disentangles +disentangling +disestablish +disestablished +disestablishes +disestablishing +disfavor +disfavor's +disfavored +disfavoring +disfavors +disfigure +disfigured +disfigurement +disfigurement's +disfigurements +disfigures +disfiguring +disfranchise +disfranchised +disfranchisement +disfranchisement's +disfranchises +disfranchising +disgorge +disgorged +disgorges +disgorging +disgrace +disgrace's +disgraced +disgraceful +disgracefully +disgraces +disgracing +disgruntle +disgruntled +disgruntles +disgruntling +disguise +disguise's +disguised +disguises +disguising +disgust +disgust's +disgusted +disgustedly +disgusting +disgustingly +disgusts +dish +dish's +disharmonious +disharmony +disharmony's +dishcloth +dishcloth's +dishcloths +dishearten +disheartened +disheartening +disheartens +dished +dishes +dishevel +disheveled +disheveling +dishevelled +dishevelling +dishevels +dishing +dishonest +dishonestly +dishonesty +dishonesty's +dishonor +dishonor's +dishonorable +dishonorably +dishonored +dishonoring +dishonors +dishpan +dishpan's +dishpans +dishrag +dishrag's +dishrags +dishtowel +dishtowel's +dishtowels +dishwasher +dishwasher's +dishwashers +dishwater +dishwater's +disillusion +disillusion's +disillusioned +disillusioning +disillusionment +disillusionment's +disillusions +disincentive +disinclination +disinclination's +disincline +disinclined +disinclines +disinclining +disinfect +disinfectant +disinfectant's +disinfectants +disinfected +disinfecting +disinfects +disinformation +disinformation's +disingenuous +disinherit +disinherited +disinheriting +disinherits +disintegrate +disintegrated +disintegrates +disintegrating +disintegration +disintegration's +disinter +disinterest +disinterest's +disinterested +disinterestedly +disinterests +disinterment +disinterment's +disinterred +disinterring +disinters +disjoint +disjointed +disjointedly +disjointing +disjoints +disk +disk's +diskette +diskette's +diskettes +disks +dislike +dislike's +disliked +dislikes +disliking +dislocate +dislocated +dislocates +dislocating +dislocation +dislocation's +dislocations +dislodge +dislodged +dislodges +dislodging +disloyal +disloyally +disloyalty +disloyalty's +dismal +dismally +dismantle +dismantled +dismantles +dismantling +dismay +dismay's +dismayed +dismaying +dismays +dismember +dismembered +dismembering +dismemberment +dismemberment's +dismembers +dismiss +dismissal +dismissal's +dismissals +dismissed +dismisses +dismissing +dismissive +dismount +dismount's +dismounted +dismounting +dismounts +disobedience +disobedience's +disobedient +disobediently +disobey +disobeyed +disobeying +disobeys +disoblige +disobliged +disobliges +disobliging +disorder +disorder's +disordered +disordering +disorderliness +disorderliness's +disorderly +disorders +disorganization +disorganization's +disorganize +disorganized +disorganizes +disorganizing +disorient +disorientation +disorientation's +disoriented +disorienting +disorients +disown +disowned +disowning +disowns +disparage +disparaged +disparagement +disparagement's +disparages +disparaging +disparate +disparities +disparity +disparity's +dispassionate +dispassionately +dispatch +dispatch's +dispatched +dispatcher +dispatcher's +dispatchers +dispatches +dispatching +dispel +dispelled +dispelling +dispels +dispensable +dispensaries +dispensary +dispensary's +dispensation +dispensation's +dispensations +dispense +dispensed +dispenser +dispenser's +dispensers +dispenses +dispensing +dispersal +dispersal's +disperse +dispersed +disperses +dispersing +dispersion +dispersion's +dispirit +dispirited +dispiriting +dispirits +displace +displaced +displacement +displacement's +displacements +displaces +displacing +display +display's +displayable +displayed +displaying +displays +displease +displeased +displeases +displeasing +displeasure +displeasure's +disport +disported +disporting +disports +disposable +disposable's +disposables +disposal +disposal's +disposals +dispose +disposed +disposes +disposing +disposition +disposition's +dispositions +dispossess +dispossessed +dispossesses +dispossessing +dispossession +dispossession's +disproof +disproportion +disproportion's +disproportionate +disproportionately +disproportions +disprove +disproved +disproven +disproves +disproving +disputable +disputant +disputant's +disputants +disputation +disputation's +disputations +disputatious +dispute +dispute's +disputed +disputes +disputing +disqualification +disqualification's +disqualifications +disqualified +disqualifies +disqualify +disqualifying +disquiet +disquiet's +disquieted +disquieting +disquiets +disquisition +disquisition's +disquisitions +disregard +disregard's +disregarded +disregarding +disregards +disrepair +disrepair's +disreputable +disreputably +disrepute +disrepute's +disrespect +disrespect's +disrespected +disrespectful +disrespectfully +disrespecting +disrespects +disrobe +disrobed +disrobes +disrobing +disrupt +disrupted +disrupting +disruption +disruption's +disruptions +disruptive +disrupts +diss +diss's +dissatisfaction +dissatisfaction's +dissatisfied +dissatisfies +dissatisfy +dissatisfying +dissect +dissected +dissecting +dissection +dissection's +dissections +dissects +dissed +dissemble +dissembled +dissembles +dissembling +disseminate +disseminated +disseminates +disseminating +dissemination +dissemination's +dissension +dissension's +dissensions +dissent +dissent's +dissented +dissenter +dissenter's +dissenters +dissenting +dissents +dissertation +dissertation's +dissertations +disservice +disservice's +disservices +disses +dissidence +dissidence's +dissident +dissident's +dissidents +dissimilar +dissimilarities +dissimilarity +dissimilarity's +dissimulate +dissimulated +dissimulates +dissimulating +dissimulation +dissimulation's +dissing +dissipate +dissipated +dissipates +dissipating +dissipation +dissipation's +dissociate +dissociated +dissociates +dissociating +dissociation +dissociation's +dissolute +dissolutely +dissoluteness +dissoluteness's +dissolution +dissolution's +dissolve +dissolved +dissolves +dissolving +dissonance +dissonance's +dissonances +dissonant +dissuade +dissuaded +dissuades +dissuading +dissuasion +dissuasion's +distaff +distaff's +distaffs +distance +distance's +distanced +distances +distancing +distant +distantly +distaste +distaste's +distasteful +distastefully +distastes +distemper +distemper's +distend +distended +distending +distends +distension +distension's +distensions +distention +distention's +distentions +distil +distill +distillate +distillate's +distillates +distillation +distillation's +distillations +distilled +distiller +distiller's +distilleries +distillers +distillery +distillery's +distilling +distills +distils +distinct +distincter +distinctest +distinction +distinction's +distinctions +distinctive +distinctively +distinctiveness +distinctiveness's +distinctly +distinguish +distinguishable +distinguished +distinguishes +distinguishing +distort +distorted +distorter +distorting +distortion +distortion's +distortions +distorts +distract +distracted +distracting +distraction +distraction's +distractions +distracts +distrait +distraught +distress +distress's +distressed +distresses +distressful +distressing +distressingly +distribute +distributed +distributes +distributing +distribution +distribution's +distributions +distributive +distributor +distributor's +distributors +district +district's +districts +distrust +distrust's +distrusted +distrustful +distrustfully +distrusting +distrusts +disturb +disturbance +disturbance's +disturbances +disturbed +disturbing +disturbingly +disturbs +disunite +disunited +disunites +disuniting +disunity +disunity's +disuse +disuse's +disused +disuses +disusing +ditch +ditch's +ditched +ditches +ditching +dither +dither's +dithered +dithering +dithers +ditties +ditto +ditto's +dittoed +dittoes +dittoing +dittos +ditty +ditty's +diuretic +diuretic's +diuretics +diurnal +diurnally +diva +diva's +divan +divan's +divans +divas +dive +dive's +dived +diver +diver's +diverge +diverged +divergence +divergence's +divergences +divergent +diverges +diverging +divers +diverse +diversely +diversification +diversification's +diversified +diversifies +diversify +diversifying +diversion +diversion's +diversionary +diversions +diversities +diversity +diversity's +divert +diverted +diverting +diverts +dives +divest +divested +divesting +divests +divide +divide's +divided +dividend +dividend's +dividends +divider +divider's +dividers +divides +dividing +divination +divination's +divine +divine's +divined +divinely +diviner +diviner's +diviners +divines +divinest +diving +diving's +divining +divinities +divinity +divinity's +divisibility +divisibility's +divisible +division +division's +divisional +divisions +divisive +divisively +divisiveness +divisiveness's +divisor +divisor's +divisors +divorce +divorce's +divorced +divorces +divorcing +divot +divot's +divots +divulge +divulged +divulges +divulging +divvied +divvies +divvy +divvy's +divvying +dizzied +dizzier +dizzies +dizziest +dizzily +dizziness +dizziness's +dizzy +dizzying +djinn +djinn's +djinni +djinni's +djinns +do +do's +doable +doc +doc's +docent +docent's +docents +docile +docilely +docility +docility's +dock +dock's +docked +docket +docket's +docketed +docketing +dockets +docking +docks +dockyard +dockyard's +dockyards +docs +doctor +doctor's +doctoral +doctorate +doctorate's +doctorates +doctored +doctoring +doctors +doctrinaire +doctrinaire's +doctrinaires +doctrinal +doctrine +doctrine's +doctrines +docudrama +docudrama's +docudramas +document +document's +documentaries +documentary +documentary's +documentation +documentation's +documented +documenting +documents +dodder +dodder's +doddered +doddering +dodders +dodge +dodge's +dodged +dodger +dodger's +dodgers +dodges +dodging +dodo +dodo's +dodoes +dodos +doe +doe's +doer +doer's +doers +does +doesn't +doff +doffed +doffing +doffs +dog +dog's +dogcatcher +dogcatcher's +dogcatchers +dogfight +dogfight's +dogfights +dogfish +dogfish's +dogfishes +dogged +doggedly +doggedness +doggedness's +doggerel +doggerel's +doggie +doggie's +doggier +doggies +doggiest +dogging +doggone +doggoned +doggoneder +doggonedest +doggoner +doggones +doggonest +doggoning +doggy +doggy's +doghouse +doghouse's +doghouses +dogie +dogie's +dogies +dogma +dogma's +dogmas +dogmata +dogmatic +dogmatically +dogmatism +dogmatism's +dogmatist +dogmatist's +dogmatists +dogs +dogtrot +dogtrot's +dogtrots +dogtrotted +dogtrotting +dogwood +dogwood's +dogwoods +doilies +doily +doily's +doing +doing's +doings +doldrums +doldrums's +dole +dole's +doled +doleful +dolefully +doles +doling +doll +doll's +dollar +dollar's +dollars +dolled +dollhouse +dollhouse's +dollhouses +dollies +dolling +dollop +dollop's +dolloped +dolloping +dollops +dolls +dolly +dolly's +dolmen +dolmen's +dolmens +dolorous +dolphin +dolphin's +dolphins +dolt +dolt's +doltish +dolts +domain +domain's +domains +dome +dome's +domed +domes +domestic +domestic's +domestically +domesticate +domesticated +domesticates +domesticating +domestication +domestication's +domesticity +domesticity's +domestics +domicile +domicile's +domiciled +domiciles +domiciling +dominance +dominance's +dominant +dominant's +dominantly +dominants +dominate +dominated +dominates +dominating +domination +domination's +domineer +domineered +domineering +domineers +doming +dominion +dominion's +dominions +domino +domino's +dominoes +dominos +don +don's +don't +donate +donated +donates +donating +donation +donation's +donations +done +donkey +donkey's +donkeys +donned +donning +donor +donor's +donors +dons +donut +donut's +donuts +doodad +doodad's +doodads +doodle +doodle's +doodled +doodler +doodler's +doodlers +doodles +doodling +doohickey +doohickey's +doohickeys +doom +doom's +doomed +dooming +dooms +doomsday +doomsday's +door +door's +doorbell +doorbell's +doorbells +doorknob +doorknob's +doorknobs +doorman +doorman's +doormat +doormat's +doormats +doormen +doors +doorstep +doorstep's +doorsteps +doorway +doorway's +doorways +dope +dope's +doped +dopes +dopey +dopier +dopiest +doping +dopy +dories +dork +dork's +dorkier +dorkiest +dorks +dorky +dorm +dorm's +dormancy +dormancy's +dormant +dormer +dormer's +dormers +dormice +dormitories +dormitory +dormitory's +dormouse +dormouse's +dorms +dorsal +dory +dory's +dos +dosage +dosage's +dosages +dose +dose's +dosed +doses +dosing +dossier +dossier's +dossiers +dot +dot's +dotage +dotage's +dote +doted +dotes +doth +doting +dotingly +dots +dotted +dotting +dotty +double +double's +doubled +doubles +doublet +doublet's +doublets +doubling +doubloon +doubloon's +doubloons +doubly +doubt +doubt's +doubted +doubter +doubter's +doubters +doubtful +doubtfully +doubting +doubtless +doubtlessly +doubts +douche +douche's +douched +douches +douching +dough +dough's +doughier +doughiest +doughnut +doughnut's +doughnuts +doughtier +doughtiest +doughty +doughy +dour +dourer +dourest +dourly +douse +doused +douses +dousing +dove +dove's +doves +dovetail +dovetail's +dovetailed +dovetailing +dovetails +dowager +dowager's +dowagers +dowdier +dowdies +dowdiest +dowdily +dowdiness +dowdiness's +dowdy +dowel +dowel's +doweled +doweling +dowelled +dowelling +dowels +down +down's +downbeat +downbeat's +downbeats +downcast +downed +downer +downer's +downers +downfall +downfall's +downfalls +downgrade +downgrade's +downgraded +downgrades +downgrading +downhearted +downhill +downhill's +downhills +downier +downiest +downing +download +download's +downloaded +downloading +downloads +downplay +downplayed +downplaying +downplays +downpour +downpour's +downpours +downright +downs +downscale +downsize +downsized +downsizes +downsizing +downsizing's +downstage +downstairs +downstairs's +downstate +downstate's +downstream +downswing +downswing's +downswings +downtime +downtime's +downtown +downtown's +downtrodden +downturn +downturn's +downturns +downward +downwards +downwind +downy +dowries +dowry +dowry's +dowse +dowsed +dowses +dowsing +doxologies +doxology +doxology's +doyen +doyen's +doyens +doze +doze's +dozed +dozen +dozen's +dozens +dozes +dozing +drab +drab's +drabber +drabbest +drably +drabness +drabness's +drabs +drachma +drachma's +drachmae +drachmai +drachmas +draconian +draft +draft's +drafted +draftee +draftee's +draftees +draftier +draftiest +draftiness +draftiness's +drafting +drafts +draftsman +draftsman's +draftsmanship +draftsmanship's +draftsmen +drafty +drag +drag's +dragged +dragging +dragnet +dragnet's +dragnets +dragon +dragon's +dragonflies +dragonfly +dragonfly's +dragons +dragoon +dragoon's +dragooned +dragooning +dragoons +drags +drain +drain's +drainage +drainage's +drained +drainer +drainer's +drainers +draining +drainpipe +drainpipe's +drainpipes +drains +drake +drake's +drakes +dram +dram's +drama +drama's +dramas +dramatic +dramatically +dramatics +dramatics's +dramatist +dramatist's +dramatists +dramatization +dramatization's +dramatizations +dramatize +dramatized +dramatizes +dramatizing +drams +drank +drape +drape's +draped +draperies +drapery +drapery's +drapes +draping +drastic +drastically +draw +draw's +drawback +drawback's +drawbacks +drawbridge +drawbridge's +drawbridges +drawer +drawer's +drawers +drawing +drawing's +drawings +drawl +drawl's +drawled +drawling +drawls +drawn +draws +drawstring +drawstring's +drawstrings +dray +dray's +drays +dread +dread's +dreaded +dreadful +dreadfully +dreading +dreadlocks +dreadlocks's +dreadnought +dreadnought's +dreadnoughts +dreads +dream +dream's +dreamed +dreamer +dreamer's +dreamers +dreamier +dreamiest +dreamily +dreaming +dreamland +dreamland's +dreamless +dreamlike +dreams +dreamy +drearier +dreariest +drearily +dreariness +dreariness's +dreary +dredge +dredge's +dredged +dredger +dredger's +dredgers +dredges +dredging +dregs +dregs's +drench +drenched +drenches +drenching +dress +dress's +dressage +dressage's +dressed +dresser +dresser's +dressers +dresses +dressier +dressiest +dressiness +dressiness's +dressing +dressing's +dressings +dressmaker +dressmaker's +dressmakers +dressmaking +dressmaking's +dressy +drew +dribble +dribble's +dribbled +dribbler +dribbler's +dribblers +dribbles +dribbling +driblet +driblet's +driblets +dried +drier +drier's +driers +dries +driest +drift +drift's +drifted +drifter +drifter's +drifters +drifting +drifts +driftwood +driftwood's +drill +drill's +drilled +drilling +drills +drily +drink +drink's +drinkable +drinker +drinker's +drinkers +drinking +drinkings +drinks +drip +drip's +dripped +dripping +dripping's +drippings +drips +drive +drive's +drivel +drivel's +driveled +driveling +drivelled +drivelling +drivels +driven +driver +driver's +drivers +drives +driveway +driveway's +driveways +driving +drivings +drizzle +drizzle's +drizzled +drizzles +drizzlier +drizzliest +drizzling +drizzly +droll +droller +drolleries +drollery +drollery's +drollest +drollness +drollness's +drolly +dromedaries +dromedary +dromedary's +drone +drone's +droned +drones +droning +drool +drool's +drooled +drooling +drools +droop +droop's +drooped +droopier +droopiest +drooping +droops +droopy +drop +drop's +droplet +droplet's +droplets +dropout +dropout's +dropouts +dropped +dropper +dropper's +droppers +dropping +droppings +droppings's +drops +dropsy +dropsy's +dross +dross's +drought +drought's +droughts +drouth +drouth's +drouthes +drouths +drove +drove's +drover +drover's +drovers +droves +drown +drowned +drowning +drowning's +drownings +drowns +drowse +drowse's +drowsed +drowses +drowsier +drowsiest +drowsily +drowsiness +drowsiness's +drowsing +drowsy +drub +drubbed +drubbing +drubbing's +drubbings +drubs +drudge +drudge's +drudged +drudgery +drudgery's +drudges +drudging +drug +drug's +drugged +drugging +druggist +druggist's +druggists +drugs +drugstore +drugstore's +drugstores +druid +druid's +druids +drum +drum's +drummed +drummer +drummer's +drummers +drumming +drums +drumstick +drumstick's +drumsticks +drunk +drunk's +drunkard +drunkard's +drunkards +drunken +drunkenly +drunkenness +drunkenness's +drunker +drunkest +drunks +dry +dry's +dryad +dryad's +dryads +dryer +dryer's +dryers +dryest +drying +dryly +dryness +dryness's +drys +drywall +drywall's +dual +dualism +duality +duality's +dub +dub's +dubbed +dubbing +dubiety +dubiety's +dubious +dubiously +dubiousness +dubiousness's +dubs +ducal +ducat +ducat's +ducats +duchess +duchess's +duchesses +duchies +duchy +duchy's +duck +duck's +duckbill +duckbill's +duckbills +ducked +ducking +duckling +duckling's +ducklings +ducks +duct +duct's +ductile +ductility +ductility's +ducting +ductless +ducts +dud +dud's +dude +dude's +duded +dudes +dudgeon +dudgeon's +duding +duds +due +due's +duel +duel's +dueled +dueling +duelist +duelist's +duelists +duelled +duelling +duellist +duellist's +duellists +duels +dues +duet +duet's +duets +duff +duffer +duffer's +duffers +dug +dugout +dugout's +dugouts +duh +duke +duke's +dukedom +dukedom's +dukedoms +dukes +dulcet +dulcimer +dulcimer's +dulcimers +dull +dullard +dullard's +dullards +dulled +duller +dullest +dulling +dullness +dullness's +dulls +dully +dulness +dulness's +duly +dumb +dumbbell +dumbbell's +dumbbells +dumber +dumbest +dumbfound +dumbfounded +dumbfounding +dumbfounds +dumbly +dumbness +dumbness's +dumbwaiter +dumbwaiter's +dumbwaiters +dumfound +dumfounded +dumfounding +dumfounds +dummies +dummy +dummy's +dump +dump's +dumped +dumpier +dumpiest +dumping +dumpling +dumpling's +dumplings +dumps +dumpster +dumpy +dun +dun's +dunce +dunce's +dunces +dune +dune's +dunes +dung +dung's +dungaree +dungaree's +dungarees +dunged +dungeon +dungeon's +dungeons +dunging +dungs +dunk +dunk's +dunked +dunking +dunks +dunned +dunner +dunnest +dunning +dunno +duns +duo +duo's +duodena +duodenal +duodenum +duodenum's +duodenums +duos +dupe +dupe's +duped +dupes +duping +duplex +duplex's +duplexes +duplicate +duplicate's +duplicated +duplicates +duplicating +duplication +duplication's +duplicator +duplicator's +duplicators +duplicity +duplicity's +durability +durability's +durable +durably +duration +duration's +duress +duress's +during +dusk +dusk's +duskier +duskiest +dusky +dust +dust's +dustbin +dustbin's +dustbins +dusted +duster +duster's +dusters +dustier +dustiest +dustiness +dustiness's +dusting +dustless +dustman +dustmen +dustpan +dustpan's +dustpans +dusts +dusty +duteous +dutiable +duties +dutiful +dutifully +duty +duty's +duvet +dwarf +dwarf's +dwarfed +dwarfing +dwarfish +dwarfism +dwarfism's +dwarfs +dwarves +dweeb +dweeb's +dweebs +dwell +dwelled +dweller +dweller's +dwellers +dwelling +dwelling's +dwellings +dwells +dwelt +dwindle +dwindled +dwindles +dwindling +dyadic +dye +dye's +dyed +dyeing +dyer +dyer's +dyers +dyes +dyestuff +dyestuff's +dying +dying's +dyke +dyke's +dykes +dynamic +dynamic's +dynamical +dynamically +dynamics +dynamics's +dynamism +dynamism's +dynamite +dynamite's +dynamited +dynamites +dynamiting +dynamo +dynamo's +dynamos +dynastic +dynasties +dynasty +dynasty's +dysentery +dysentery's +dysfunction +dysfunction's +dysfunctional +dysfunctions +dyslexia +dyslexia's +dyslexic +dyslexic's +dyslexics +dyspepsia +dyspepsia's +dyspeptic +dyspeptic's +dyspeptics +e +e'er +eBay +eBay's +eMusic +each +eager +eagerer +eagerest +eagerly +eagerness +eagerness's +eagle +eagle's +eagles +eaglet +eaglet's +eaglets +ear +ear's +earache +earache's +earaches +eardrum +eardrum's +eardrums +earful +earful's +earfuls +earl +earl's +earldom +earldom's +earldoms +earlier +earliest +earliness +earliness's +earlobe +earlobe's +earlobes +earls +early +earmark +earmark's +earmarked +earmarking +earmarks +earmuff +earmuff's +earmuffs +earn +earned +earner +earner's +earners +earnest +earnest's +earnestly +earnestness +earnestness's +earnests +earning +earnings +earnings's +earns +earphone +earphone's +earphones +earplug +earplug's +earplugs +earring +earring's +earrings +ears +earshot +earshot's +earsplitting +earth +earth's +earthed +earthen +earthenware +earthenware's +earthier +earthiest +earthiness +earthiness's +earthing +earthlier +earthliest +earthling +earthling's +earthlings +earthly +earthquake +earthquake's +earthquakes +earths +earthshaking +earthward +earthwork +earthwork's +earthworks +earthworm +earthworm's +earthworms +earthy +earwax +earwax's +earwig +earwig's +earwigs +ease +ease's +eased +easel +easel's +easels +eases +easier +easiest +easily +easiness +easiness's +easing +east +east's +eastbound +easterlies +easterly +easterly's +eastern +easterner +easterner's +easterners +easternmost +eastward +eastwards +easy +easygoing +eat +eatable +eatable's +eatables +eaten +eater +eater's +eateries +eaters +eatery +eatery's +eating +eats +eave +eave's +eaves +eavesdrop +eavesdropped +eavesdropper +eavesdropper's +eavesdroppers +eavesdropping +eavesdrops +ebb +ebb's +ebbed +ebbing +ebbs +ebonies +ebony +ebony's +ebullience +ebullience's +ebullient +eccentric +eccentric's +eccentrically +eccentricities +eccentricity +eccentricity's +eccentrics +ecclesiastic +ecclesiastic's +ecclesiastical +ecclesiastics +echelon +echelon's +echelons +echo +echo's +echoed +echoes +echoing +echos +eclectic +eclectic's +eclectically +eclecticism +eclecticism's +eclectics +eclipse +eclipse's +eclipsed +eclipses +eclipsing +ecliptic +ecliptic's +ecological +ecologically +ecologist +ecologist's +ecologists +ecology +ecology's +econometric +economic +economical +economically +economics +economics's +economies +economist +economist's +economists +economize +economized +economizes +economizing +economy +economy's +ecosystem +ecosystem's +ecosystems +ecru +ecru's +ecstasies +ecstasy +ecstasy's +ecstatic +ecstatically +ecumenical +ecumenically +eczema +eczema's +ed's +eddied +eddies +eddy +eddy's +eddying +edelweiss +edelweiss's +edema +edema's +edge +edge's +edged +edger +edges +edgeways +edgewise +edgier +edgiest +edginess +edginess's +edging +edging's +edgings +edgy +edibility +edibility's +edible +edible's +edibles +edict +edict's +edicts +edification +edification's +edifice +edifice's +edifices +edified +edifies +edify +edifying +edit +edit's +editable +edited +editing +edition +edition's +editions +editor +editor's +editorial +editorial's +editorialize +editorialized +editorializes +editorializing +editorially +editorials +editors +editorship +edits +educable +educate +educated +educates +educating +education +education's +educational +educationally +educations +educator +educator's +educators +eel +eel's +eels +eerie +eerier +eeriest +eerily +eeriness +eeriness's +eery +efface +effaced +effacement +effacement's +effaces +effacing +effect +effect's +effected +effecting +effective +effectively +effectiveness +effectiveness's +effects +effectual +effectually +effectuate +effectuated +effectuates +effectuating +effeminacy +effeminacy's +effeminate +effervesce +effervesced +effervescence +effervescence's +effervescent +effervesces +effervescing +effete +efficacious +efficaciously +efficacy +efficacy's +efficiency +efficiency's +efficient +efficiently +effigies +effigy +effigy's +effluent +effluent's +effluents +effort +effort's +effortless +effortlessly +efforts +effrontery +effrontery's +effulgence +effulgence's +effulgent +effusion +effusion's +effusions +effusive +effusively +effusiveness +effusiveness's +egalitarian +egalitarian's +egalitarianism +egalitarianism's +egalitarians +egg +egg's +eggbeater +eggbeater's +eggbeaters +egged +egghead +egghead's +eggheads +egging +eggnog +eggnog's +eggplant +eggplant's +eggplants +eggs +eggshell +eggshell's +eggshells +egis +egis's +eglantine +eglantine's +eglantines +ego +ego's +egocentric +egocentric's +egocentrics +egoism +egoism's +egoist +egoist's +egoistic +egoists +egos +egotism +egotism's +egotist +egotist's +egotistic +egotistical +egotistically +egotists +egregious +egregiously +egress +egress's +egresses +egret +egret's +egrets +eh +eider +eider's +eiderdown +eiderdown's +eiderdowns +eiders +eigenvalue +eigenvalues +eight +eight's +eighteen +eighteen's +eighteens +eighteenth +eighteenth's +eighteenths +eighth +eighth's +eighths +eighties +eightieth +eightieth's +eightieths +eights +eighty +eighty's +either +ejaculate +ejaculated +ejaculates +ejaculating +ejaculation +ejaculation's +ejaculations +eject +ejected +ejecting +ejection +ejection's +ejections +ejects +eke +eked +ekes +eking +elaborate +elaborated +elaborately +elaborateness +elaborateness's +elaborates +elaborating +elaboration +elaboration's +elaborations +elapse +elapsed +elapses +elapsing +elastic +elastic's +elasticity +elasticity's +elastics +elate +elated +elates +elating +elation +elation's +elbow +elbow's +elbowed +elbowing +elbowroom +elbowroom's +elbows +elder +elder's +elderberries +elderberry +elderberry's +elderly +elders +eldest +elect +elect's +elected +electing +election +election's +electioneer +electioneered +electioneering +electioneers +elections +elective +elective's +electives +elector +elector's +electoral +electorate +electorate's +electorates +electors +electric +electrical +electrically +electrician +electrician's +electricians +electricity +electricity's +electrification +electrification's +electrified +electrifies +electrify +electrifying +electrocardiogram +electrocardiogram's +electrocardiograms +electrocardiograph +electrocardiograph's +electrocardiographs +electrocute +electrocuted +electrocutes +electrocuting +electrocution +electrocution's +electrocutions +electrode +electrode's +electrodes +electrodynamics +electroencephalogram +electroencephalogram's +electroencephalograms +electroencephalograph +electroencephalograph's +electroencephalographs +electrolysis +electrolysis's +electrolyte +electrolyte's +electrolytes +electrolytic +electromagnet +electromagnet's +electromagnetic +electromagnetism +electromagnetism's +electromagnets +electron +electron's +electronic +electronically +electronics +electronics's +electrons +electroplate +electroplated +electroplates +electroplating +electrostatic +elects +elegance +elegance's +elegant +elegantly +elegiac +elegiac's +elegiacs +elegies +elegy +elegy's +element +element's +elemental +elementary +elements +elephant +elephant's +elephantine +elephants +elevate +elevated +elevates +elevating +elevation +elevation's +elevations +elevator +elevator's +elevators +eleven +eleven's +elevens +eleventh +eleventh's +elevenths +elf +elf's +elfin +elfish +elicit +elicited +eliciting +elicits +elide +elided +elides +eliding +eligibility +eligibility's +eligible +eliminate +eliminated +eliminates +eliminating +elimination +elimination's +eliminations +elision +elision's +elisions +elite +elite's +elites +elitism +elitism's +elitist +elitist's +elitists +elixir +elixir's +elixirs +elk +elk's +elks +ell +ell's +ellipse +ellipse's +ellipses +ellipsis +ellipsis's +elliptic +elliptical +elliptically +ells +elm +elm's +elms +elocution +elocution's +elocutionist +elocutionist's +elocutionists +elongate +elongated +elongates +elongating +elongation +elongation's +elongations +elope +eloped +elopement +elopement's +elopements +elopes +eloping +eloquence +eloquence's +eloquent +eloquently +else +elsewhere +elucidate +elucidated +elucidates +elucidating +elucidation +elucidation's +elucidations +elude +eluded +eludes +eluding +elusive +elusively +elusiveness +elusiveness's +elves +em +em's +emaciate +emaciated +emaciates +emaciating +emaciation +emaciation's +email +email's +emailed +emailing +emails +emanate +emanated +emanates +emanating +emanation +emanation's +emanations +emancipate +emancipated +emancipates +emancipating +emancipation +emancipation's +emancipator +emancipator's +emancipators +emasculate +emasculated +emasculates +emasculating +emasculation +emasculation's +embalm +embalmed +embalmer +embalmer's +embalmers +embalming +embalms +embankment +embankment's +embankments +embargo +embargo's +embargoed +embargoes +embargoing +embark +embarkation +embarkation's +embarkations +embarked +embarking +embarks +embarrass +embarrassed +embarrasses +embarrassing +embarrassingly +embarrassment +embarrassment's +embarrassments +embassies +embassy +embassy's +embattled +embed +embedded +embedding +embeds +embellish +embellished +embellishes +embellishing +embellishment +embellishment's +embellishments +ember +ember's +embers +embezzle +embezzled +embezzlement +embezzlement's +embezzler +embezzler's +embezzlers +embezzles +embezzling +embitter +embittered +embittering +embitters +emblazon +emblazoned +emblazoning +emblazons +emblem +emblem's +emblematic +emblems +embodied +embodies +embodiment +embodiment's +embody +embodying +embolden +emboldened +emboldening +emboldens +embolism +embolism's +embolisms +emboss +embossed +embosses +embossing +embrace +embrace's +embraced +embraces +embracing +embroider +embroidered +embroideries +embroidering +embroiders +embroidery +embroidery's +embroil +embroiled +embroiling +embroils +embryo +embryo's +embryologist +embryologist's +embryologists +embryology +embryology's +embryonic +embryos +emcee +emcee's +emceed +emceeing +emcees +emend +emendation +emendation's +emendations +emended +emending +emends +emerald +emerald's +emeralds +emerge +emerged +emergence +emergence's +emergencies +emergency +emergency's +emergent +emerges +emerging +emeritus +emery +emery's +emetic +emetic's +emetics +emigrant +emigrant's +emigrants +emigrate +emigrated +emigrates +emigrating +emigration +emigration's +emigrations +eminence +eminence's +eminences +eminent +eminently +emir +emir's +emirate +emirate's +emirates +emirs +emissaries +emissary +emissary's +emission +emission's +emissions +emit +emits +emitted +emitting +emollient +emollient's +emollients +emolument +emolument's +emoluments +emote +emoted +emotes +emoting +emotion +emotion's +emotional +emotionalism +emotionalism's +emotionally +emotions +emotive +empanel +empaneled +empaneling +empanels +empathetic +empathize +empathized +empathizes +empathizing +empathy +empathy's +emperor +emperor's +emperors +emphases +emphasis +emphasis's +emphasize +emphasized +emphasizes +emphasizing +emphatic +emphatically +emphysema +emphysema's +empire +empire's +empires +empirical +empirically +empiricism +empiricism's +emplacement +emplacement's +emplacements +employ +employ's +employable +employe +employe's +employed +employee +employee's +employees +employer +employer's +employers +employes +employing +employment +employment's +employments +employs +emporia +emporium +emporium's +emporiums +empower +empowered +empowering +empowerment +empowerment's +empowers +empress +empress's +empresses +emptied +emptier +empties +emptiest +emptily +emptiness +emptiness's +empty +empty's +emptying +ems +emu +emu's +emulate +emulated +emulates +emulating +emulation +emulation's +emulations +emulator +emulator's +emulators +emulsification +emulsification's +emulsified +emulsifies +emulsify +emulsifying +emulsion +emulsion's +emulsions +emus +enable +enabled +enables +enabling +enact +enacted +enacting +enactment +enactment's +enactments +enacts +enamel +enamel's +enameled +enameling +enamelled +enamelling +enamels +enamor +enamored +enamoring +enamors +encamp +encamped +encamping +encampment +encampment's +encampments +encamps +encapsulate +encapsulated +encapsulates +encapsulating +encapsulation +encapsulation's +encapsulations +encase +encased +encases +encasing +encephalitis +encephalitis's +enchant +enchanted +enchanter +enchanter's +enchanters +enchanting +enchantingly +enchantment +enchantment's +enchantments +enchantress +enchantress's +enchantresses +enchants +enchilada +enchilada's +enchiladas +encircle +encircled +encirclement +encirclement's +encircles +encircling +enclave +enclave's +enclaves +enclose +enclosed +encloses +enclosing +enclosure +enclosure's +enclosures +encode +encoded +encoder +encoder's +encoders +encodes +encoding +encompass +encompassed +encompasses +encompassing +encore +encore's +encored +encores +encoring +encounter +encounter's +encountered +encountering +encounters +encourage +encouraged +encouragement +encouragement's +encouragements +encourages +encouraging +encouragingly +encroach +encroached +encroaches +encroaching +encroachment +encroachment's +encroachments +encrust +encrustation +encrustation's +encrustations +encrusted +encrusting +encrusts +encrypt +encrypted +encryption +encrypts +encumber +encumbered +encumbering +encumbers +encumbrance +encumbrance's +encumbrances +encyclical +encyclical's +encyclicals +encyclopaedia +encyclopaedia's +encyclopaedias +encyclopedia +encyclopedia's +encyclopedias +encyclopedic +end +end's +endanger +endangered +endangering +endangers +endear +endeared +endearing +endearingly +endearment +endearment's +endearments +endears +endeavor +endeavor's +endeavored +endeavoring +endeavors +ended +endemic +endemic's +endemics +ending +ending's +endings +endive +endive's +endives +endless +endlessly +endlessness +endlessness's +endocrine +endocrine's +endocrines +endorse +endorsed +endorsement +endorsement's +endorsements +endorser +endorser's +endorsers +endorses +endorsing +endow +endowed +endowing +endowment +endowment's +endowments +endows +ends +endue +endued +endues +enduing +endurable +endurance +endurance's +endure +endured +endures +enduring +endways +endwise +enema +enema's +enemas +enemata +enemies +enemy +enemy's +energetic +energetically +energies +energize +energized +energizer +energizer's +energizers +energizes +energizing +energy +energy's +enervate +enervated +enervates +enervating +enervation +enervation's +enfeeble +enfeebled +enfeebles +enfeebling +enfold +enfolded +enfolding +enfolds +enforce +enforceable +enforced +enforcement +enforcement's +enforcer +enforcer's +enforcers +enforces +enforcing +enfranchise +enfranchised +enfranchisement +enfranchisement's +enfranchises +enfranchising +engage +engaged +engagement +engagement's +engagements +engages +engaging +engagingly +engender +engendered +engendering +engenders +engine +engine's +engineer +engineer's +engineered +engineering +engineering's +engineers +engines +engorge +engorged +engorges +engorging +engrave +engraved +engraver +engraver's +engravers +engraves +engraving +engraving's +engravings +engross +engrossed +engrosses +engrossing +engulf +engulfed +engulfing +engulfs +enhance +enhanced +enhancement +enhancement's +enhancements +enhancer +enhances +enhancing +enigma +enigma's +enigmas +enigmatic +enigmatically +enjoin +enjoined +enjoining +enjoins +enjoy +enjoyable +enjoyed +enjoying +enjoyment +enjoyment's +enjoyments +enjoys +enlarge +enlarged +enlargement +enlargement's +enlargements +enlarger +enlarger's +enlargers +enlarges +enlarging +enlighten +enlightened +enlightening +enlightenment +enlightenment's +enlightens +enlist +enlisted +enlistee +enlistee's +enlistees +enlisting +enlistment +enlistment's +enlistments +enlists +enliven +enlivened +enlivening +enlivens +enmesh +enmeshed +enmeshes +enmeshing +enmities +enmity +enmity's +ennoble +ennobled +ennoblement +ennoblement's +ennobles +ennobling +ennui +ennui's +enormities +enormity +enormity's +enormous +enormously +enormousness +enormousness's +enough +enough's +enquire +enquired +enquires +enquiries +enquiring +enquiry +enquiry's +enrage +enraged +enrages +enraging +enrapture +enraptured +enraptures +enrapturing +enrich +enriched +enriches +enriching +enrichment +enrichment's +enrol +enroll +enrolled +enrolling +enrollment +enrollment's +enrollments +enrolls +enrolment +enrolment's +enrolments +enrols +ensconce +ensconced +ensconces +ensconcing +ensemble +ensemble's +ensembles +enshrine +enshrined +enshrines +enshrining +enshroud +enshrouded +enshrouding +enshrouds +ensign +ensign's +ensigns +enslave +enslaved +enslavement +enslavement's +enslaves +enslaving +ensnare +ensnared +ensnares +ensnaring +ensue +ensued +ensues +ensuing +ensure +ensured +ensures +ensuring +entail +entailed +entailing +entails +entangle +entangled +entanglement +entanglement's +entanglements +entangles +entangling +entente +entente's +ententes +enter +entered +entering +enterprise +enterprise's +enterprises +enterprising +enters +entertain +entertained +entertainer +entertainer's +entertainers +entertaining +entertaining's +entertainingly +entertainment +entertainment's +entertainments +entertains +enthral +enthrall +enthralled +enthralling +enthralls +enthrals +enthrone +enthroned +enthronement +enthronement's +enthronements +enthrones +enthroning +enthuse +enthused +enthuses +enthusiasm +enthusiasm's +enthusiasms +enthusiast +enthusiast's +enthusiastic +enthusiastically +enthusiasts +enthusing +entice +enticed +enticement +enticement's +enticements +entices +enticing +entire +entirely +entirety +entirety's +entities +entitle +entitled +entitlement +entitlement's +entitlements +entitles +entitling +entity +entity's +entomb +entombed +entombing +entombment +entombment's +entombs +entomological +entomologist +entomologist's +entomologists +entomology +entomology's +entourage +entourage's +entourages +entrails +entrails's +entrance +entrance's +entranced +entrances +entrancing +entrant +entrant's +entrants +entrap +entrapment +entrapment's +entrapped +entrapping +entraps +entreat +entreated +entreaties +entreating +entreats +entreaty +entreaty's +entrench +entrenched +entrenches +entrenching +entrenchment +entrenchment's +entrenchments +entrepreneur +entrepreneur's +entrepreneurial +entrepreneurs +entries +entropy +entropy's +entrust +entrusted +entrusting +entrusts +entry +entry's +entryway +entryway's +entryways +entwine +entwined +entwines +entwining +enumerable +enumerate +enumerated +enumerates +enumerating +enumeration +enumeration's +enumerations +enunciate +enunciated +enunciates +enunciating +enunciation +enunciation's +enure +enured +enures +enuring +envelop +envelope +envelope's +enveloped +envelopes +enveloping +envelopment +envelopment's +envelops +enviable +enviably +envied +envies +envious +enviously +enviousness +enviousness's +environment +environment's +environmental +environmentalism +environmentalism's +environmentalist +environmentalist's +environmentalists +environmentally +environments +environs +environs's +envisage +envisaged +envisages +envisaging +envision +envisioned +envisioning +envisions +envoy +envoy's +envoys +envy +envy's +envying +enzyme +enzyme's +enzymes +eon +eon's +eons +epaulet +epaulet's +epaulets +epaulette +epaulette's +epaulettes +ephemeral +epic +epic's +epicenter +epicenter's +epicenters +epics +epicure +epicure's +epicurean +epicurean's +epicureans +epicures +epidemic +epidemic's +epidemics +epidemiology +epidemiology's +epidermal +epidermis +epidermis's +epidermises +epiglottides +epiglottis +epiglottis's +epiglottises +epigram +epigram's +epigrammatic +epigrams +epilepsy +epilepsy's +epileptic +epileptic's +epileptics +epilog +epilog's +epilogs +epilogue +epilogue's +epilogues +episcopacy +episcopacy's +episcopal +episcopate +episcopate's +episode +episode's +episodes +episodic +epistemology +epistle +epistle's +epistles +epistolary +epitaph +epitaph's +epitaphs +epithet +epithet's +epithets +epitome +epitome's +epitomes +epitomize +epitomized +epitomizes +epitomizing +epoch +epoch's +epochal +epochs +epoxied +epoxies +epoxy +epoxy's +epoxyed +epoxying +epsilon +equability +equability's +equable +equably +equal +equal's +equaled +equaling +equality +equality's +equalization +equalization's +equalize +equalized +equalizer +equalizer's +equalizers +equalizes +equalizing +equalled +equalling +equally +equals +equanimity +equanimity's +equate +equated +equates +equating +equation +equation's +equations +equator +equator's +equatorial +equators +equestrian +equestrian's +equestrians +equestrienne +equestrienne's +equestriennes +equidistant +equilateral +equilateral's +equilaterals +equilibrium +equilibrium's +equine +equine's +equines +equinoctial +equinox +equinox's +equinoxes +equip +equipage +equipage's +equipages +equipment +equipment's +equipoise +equipoise's +equipped +equipping +equips +equitable +equitably +equities +equity +equity's +equivalence +equivalence's +equivalences +equivalent +equivalent's +equivalently +equivalents +equivocal +equivocally +equivocate +equivocated +equivocates +equivocating +equivocation +equivocation's +equivocations +era +era's +eradicate +eradicated +eradicates +eradicating +eradication +eradication's +eras +erase +erased +eraser +eraser's +erasers +erases +erasing +erasure +erasure's +erasures +ere +erect +erected +erectile +erecting +erection +erection's +erections +erectly +erectness +erectness's +erects +erg +erg's +ergo +ergonomic +ergonomics +ergonomics's +ergs +ermine +ermine's +ermines +erode +eroded +erodes +eroding +erogenous +erosion +erosion's +erosive +erotic +erotica +erotica's +erotically +eroticism +eroticism's +err +errand +errand's +errands +errant +errata +errata's +erratas +erratic +erratically +erratum +erratum's +erred +erring +erroneous +erroneously +error +error's +errors +errs +ersatz +ersatz's +ersatzes +erstwhile +erudite +eruditely +erudition +erudition's +erupt +erupted +erupting +eruption +eruption's +eruptions +erupts +erythrocyte +erythrocyte's +erythrocytes +es +escalate +escalated +escalates +escalating +escalation +escalation's +escalations +escalator +escalator's +escalators +escapade +escapade's +escapades +escape +escape's +escaped +escapee +escapee's +escapees +escapes +escaping +escapism +escapism's +escapist +escapist's +escapists +escarole +escarole's +escaroles +escarpment +escarpment's +escarpments +eschatology +eschew +eschewed +eschewing +eschews +escort +escort's +escorted +escorting +escorts +escrow +escrow's +escrows +escutcheon +escutcheon's +escutcheons +esophagi +esophagus +esophagus's +esophaguses +esoteric +esoterically +espadrille +espadrille's +espadrilles +especial +especially +espied +espies +espionage +espionage's +esplanade +esplanade's +esplanades +espousal +espousal's +espouse +espoused +espouses +espousing +espresso +espresso's +espressos +espy +espying +esquire +esquire's +esquires +essay +essay's +essayed +essaying +essayist +essayist's +essayists +essays +essence +essence's +essences +essential +essential's +essentially +essentials +establish +established +establishes +establishing +establishment +establishment's +establishments +estate +estate's +estates +esteem +esteem's +esteemed +esteeming +esteems +ester +ester's +esters +esthete +esthete's +esthetes +esthetic +esthetics +estimable +estimate +estimate's +estimated +estimates +estimating +estimation +estimation's +estimations +estimator +estimator's +estimators +estrange +estranged +estrangement +estrangement's +estrangements +estranges +estranging +estrogen +estrogen's +estuaries +estuary +estuary's +eta +etch +etched +etcher +etcher's +etchers +etches +etching +etching's +etchings +eternal +eternally +eternities +eternity +eternity's +ether +ether's +ethereal +ethereally +ethic +ethic's +ethical +ethically +ethics +ethics's +ethnic +ethnic's +ethnically +ethnicity +ethnicity's +ethnics +ethnological +ethnologist +ethnologist's +ethnologists +ethnology +ethnology's +ethos +ethos's +etiologies +etiology +etiology's +etiquette +etiquette's +etymological +etymologies +etymologist +etymologist's +etymologists +etymology +etymology's +eucalypti +eucalyptus +eucalyptus's +eucalyptuses +eugenics +eugenics's +eulogies +eulogistic +eulogize +eulogized +eulogizes +eulogizing +eulogy +eulogy's +eunuch +eunuch's +eunuchs +euphemism +euphemism's +euphemisms +euphemistic +euphemistically +euphony +euphony's +euphoria +euphoria's +euphoric +eureka +euro +euro's +euros +eutectic +euthanasia +euthanasia's +evacuate +evacuated +evacuates +evacuating +evacuation +evacuation's +evacuations +evacuee +evacuee's +evacuees +evade +evaded +evades +evading +evaluate +evaluated +evaluates +evaluating +evaluation +evaluation's +evaluations +evanescent +evangelical +evangelical's +evangelicals +evangelism +evangelism's +evangelist +evangelist's +evangelistic +evangelists +evangelize +evangelized +evangelizes +evangelizing +evaporate +evaporated +evaporates +evaporating +evaporation +evaporation's +evasion +evasion's +evasions +evasive +evasively +evasiveness +evasiveness's +eve +eve's +even +even's +evened +evener +evenest +evenhanded +evening +evening's +evenings +evenly +evenness +evenness's +evens +event +event's +eventful +eventfully +eventfulness +eventfulness's +eventide +eventide's +events +eventual +eventualities +eventuality +eventuality's +eventually +eventuate +eventuated +eventuates +eventuating +ever +everglade +everglade's +everglades +evergreen +evergreen's +evergreens +everlasting +everlasting's +everlastings +evermore +every +everybody +everybody's +everyday +everyone +everyone's +everyplace +everything +everything's +everywhere +eves +evict +evicted +evicting +eviction +eviction's +evictions +evicts +evidence +evidence's +evidenced +evidences +evidencing +evident +evidently +evil +evil's +evildoer +evildoer's +evildoers +eviler +evilest +eviller +evillest +evilly +evils +evince +evinced +evinces +evincing +eviscerate +eviscerated +eviscerates +eviscerating +evisceration +evisceration's +evocation +evocation's +evocations +evocative +evoke +evoked +evokes +evoking +evolution +evolution's +evolutionary +evolve +evolved +evolves +evolving +ewe +ewe's +ewer +ewer's +ewers +ewes +ex +ex's +exacerbate +exacerbated +exacerbates +exacerbating +exacerbation +exacerbation's +exact +exacted +exacter +exactest +exacting +exactingly +exactitude +exactitude's +exactly +exactness +exactness's +exacts +exaggerate +exaggerated +exaggerates +exaggerating +exaggeration +exaggeration's +exaggerations +exalt +exaltation +exaltation's +exalted +exalting +exalts +exam +exam's +examination +examination's +examinations +examine +examined +examiner +examiner's +examiners +examines +examining +example +example's +exampled +examples +exampling +exams +exasperate +exasperated +exasperates +exasperating +exasperation +exasperation's +excavate +excavated +excavates +excavating +excavation +excavation's +excavations +excavator +excavator's +excavators +exceed +exceeded +exceeding +exceedingly +exceeds +excel +excelled +excellence +excellence's +excellent +excellently +excelling +excels +except +excepted +excepting +exception +exception's +exceptionable +exceptional +exceptionally +exceptions +excepts +excerpt +excerpt's +excerpted +excerpting +excerpts +excess +excess's +excesses +excessive +excessively +exchange +exchange's +exchangeable +exchanged +exchanges +exchanging +exchequer +exchequer's +exchequers +excise +excise's +excised +excises +excising +excision +excision's +excisions +excitability +excitability's +excitable +excitation +excitation's +excite +excited +excitedly +excitement +excitement's +excitements +excites +exciting +excitingly +exclaim +exclaimed +exclaiming +exclaims +exclamation +exclamation's +exclamations +exclamatory +exclude +excluded +excludes +excluding +exclusion +exclusion's +exclusive +exclusive's +exclusively +exclusiveness +exclusiveness's +exclusives +exclusivity +exclusivity's +excommunicate +excommunicated +excommunicates +excommunicating +excommunication +excommunication's +excommunications +excoriate +excoriated +excoriates +excoriating +excoriation +excoriation's +excoriations +excrement +excrement's +excrescence +excrescence's +excrescences +excreta +excreta's +excrete +excreted +excretes +excreting +excretion +excretion's +excretions +excretory +excruciating +excruciatingly +exculpate +exculpated +exculpates +exculpating +excursion +excursion's +excursions +excusable +excuse +excuse's +excused +excuses +excusing +exec +exec's +execrable +execrate +execrated +execrates +execrating +execs +executable +execute +executed +executes +executing +execution +execution's +executioner +executioner's +executioners +executions +executive +executive's +executives +executor +executor's +executors +executrices +executrix +executrix's +executrixes +exegeses +exegesis +exegesis's +exemplar +exemplar's +exemplars +exemplary +exemplification +exemplification's +exemplifications +exemplified +exemplifies +exemplify +exemplifying +exempt +exempted +exempting +exemption +exemption's +exemptions +exempts +exercise +exercise's +exercised +exercises +exercising +exert +exerted +exerting +exertion +exertion's +exertions +exerts +exes +exhalation +exhalation's +exhalations +exhale +exhaled +exhales +exhaling +exhaust +exhaust's +exhausted +exhaustible +exhausting +exhaustion +exhaustion's +exhaustive +exhaustively +exhausts +exhibit +exhibit's +exhibited +exhibiting +exhibition +exhibition's +exhibitionism +exhibitionism's +exhibitionist +exhibitionist's +exhibitionists +exhibitions +exhibitor +exhibitor's +exhibitors +exhibits +exhilarate +exhilarated +exhilarates +exhilarating +exhilaration +exhilaration's +exhort +exhortation +exhortation's +exhortations +exhorted +exhorting +exhorts +exhumation +exhumation's +exhumations +exhume +exhumed +exhumes +exhuming +exigencies +exigency +exigency's +exigent +exiguous +exile +exile's +exiled +exiles +exiling +exist +existed +existence +existence's +existences +existent +existential +existentialism +existentialism's +existentialist +existentialist's +existentialists +existentially +existing +exists +exit +exit's +exited +exiting +exits +exodus +exodus's +exoduses +exonerate +exonerated +exonerates +exonerating +exoneration +exoneration's +exorbitance +exorbitance's +exorbitant +exorbitantly +exorcise +exorcised +exorcises +exorcising +exorcism +exorcism's +exorcisms +exorcist +exorcist's +exorcists +exorcize +exorcized +exorcizes +exorcizing +exotic +exotic's +exotically +exotics +expand +expandable +expanded +expanding +expands +expanse +expanse's +expanses +expansion +expansion's +expansionist +expansionist's +expansionists +expansions +expansive +expansively +expansiveness +expansiveness's +expatiate +expatiated +expatiates +expatiating +expatriate +expatriate's +expatriated +expatriates +expatriating +expatriation +expatriation's +expect +expectancy +expectancy's +expectant +expectantly +expectation +expectation's +expectations +expected +expecting +expectorant +expectorant's +expectorants +expectorate +expectorated +expectorates +expectorating +expectoration +expectoration's +expects +expedience +expedience's +expediences +expediencies +expediency +expediency's +expedient +expedient's +expediently +expedients +expedite +expedited +expediter +expediter's +expediters +expedites +expediting +expedition +expedition's +expeditionary +expeditions +expeditious +expeditiously +expeditor +expeditor's +expeditors +expel +expelled +expelling +expels +expend +expendable +expendable's +expendables +expended +expending +expenditure +expenditure's +expenditures +expends +expense +expense's +expenses +expensive +expensively +experience +experience's +experienced +experiences +experiencing +experiment +experiment's +experimental +experimentally +experimentation +experimentation's +experimented +experimenter +experimenter's +experimenters +experimenting +experiments +expert +expert's +expertise +expertise's +expertly +expertness +expertness's +experts +expiate +expiated +expiates +expiating +expiation +expiation's +expiration +expiration's +expire +expired +expires +expiring +expiry +explain +explained +explaining +explains +explanation +explanation's +explanations +explanatory +expletive +expletive's +expletives +explicable +explicate +explicated +explicates +explicating +explication +explication's +explications +explicit +explicitly +explicitness +explicitness's +explode +exploded +explodes +exploding +exploit +exploit's +exploitation +exploitation's +exploitative +exploited +exploiter +exploiter's +exploiters +exploiting +exploits +exploration +exploration's +explorations +exploratory +explore +explored +explorer +explorer's +explorers +explores +exploring +explosion +explosion's +explosions +explosive +explosive's +explosively +explosiveness +explosiveness's +explosives +expo +expo's +exponent +exponent's +exponential +exponentially +exponentiation +exponents +export +export's +exportation +exportation's +exported +exporter +exporter's +exporters +exporting +exports +expos +expose +expose's +exposed +exposes +exposing +exposition +exposition's +expositions +expository +expostulate +expostulated +expostulates +expostulating +expostulation +expostulation's +expostulations +exposure +exposure's +exposures +expound +expounded +expounding +expounds +express +express's +expressed +expresses +expressible +expressing +expression +expression's +expressionism +expressionism's +expressionist +expressionist's +expressionists +expressionless +expressions +expressive +expressively +expressiveness +expressiveness's +expressly +expressway +expressway's +expressways +expropriate +expropriated +expropriates +expropriating +expropriation +expropriation's +expropriations +expulsion +expulsion's +expulsions +expunge +expunged +expunges +expunging +expurgate +expurgated +expurgates +expurgating +expurgation +expurgation's +expurgations +exquisite +exquisitely +extant +extemporaneous +extemporaneously +extempore +extemporize +extemporized +extemporizes +extemporizing +extend +extendable +extended +extendible +extending +extends +extension +extension's +extensional +extensions +extensive +extensively +extensiveness +extensiveness's +extent +extent's +extents +extenuate +extenuated +extenuates +extenuating +extenuation +extenuation's +exterior +exterior's +exteriors +exterminate +exterminated +exterminates +exterminating +extermination +extermination's +exterminations +exterminator +exterminator's +exterminators +external +external's +externally +externals +extinct +extincted +extincting +extinction +extinction's +extinctions +extincts +extinguish +extinguishable +extinguished +extinguisher +extinguisher's +extinguishers +extinguishes +extinguishing +extirpate +extirpated +extirpates +extirpating +extirpation +extirpation's +extol +extoll +extolled +extolling +extolls +extols +extort +extorted +extorting +extortion +extortion's +extortionate +extortionist +extortionist's +extortionists +extorts +extra +extra's +extract +extract's +extracted +extracting +extraction +extraction's +extractions +extractor +extractor's +extractors +extracts +extracurricular +extradite +extradited +extradites +extraditing +extradition +extradition's +extraditions +extramarital +extraneous +extraneously +extraordinarily +extraordinary +extrapolate +extrapolated +extrapolates +extrapolating +extrapolation +extrapolation's +extrapolations +extras +extrasensory +extraterrestrial +extraterrestrial's +extraterrestrials +extravagance +extravagance's +extravagances +extravagant +extravagantly +extravaganza +extravaganza's +extravaganzas +extravert +extravert's +extraverted +extraverts +extreme +extreme's +extremely +extremer +extremes +extremest +extremism +extremism's +extremist +extremist's +extremists +extremities +extremity +extremity's +extricate +extricated +extricates +extricating +extrication +extrication's +extrinsic +extrinsically +extroversion +extroversion's +extrovert +extrovert's +extroverted +extroverts +extrude +extruded +extrudes +extruding +extrusion +extrusion's +extrusions +exuberance +exuberance's +exuberant +exuberantly +exude +exuded +exudes +exuding +exult +exultant +exultantly +exultation +exultation's +exulted +exulting +exults +eye +eye's +eyeball +eyeball's +eyeballed +eyeballing +eyeballs +eyebrow +eyebrow's +eyebrows +eyed +eyeful +eyeful's +eyefuls +eyeglass +eyeglass's +eyeglasses +eyeing +eyelash +eyelash's +eyelashes +eyelet +eyelet's +eyelets +eyelid +eyelid's +eyelids +eyeliner +eyeliner's +eyeliners +eyepiece +eyepiece's +eyepieces +eyes +eyesight +eyesight's +eyesore +eyesore's +eyesores +eyestrain +eyestrain's +eyeteeth +eyetooth +eyetooth's +eyewitness +eyewitness's +eyewitnesses +eying +eyrie +eyrie's +f +fa +fa's +fable +fable's +fabled +fables +fabric +fabric's +fabricate +fabricated +fabricates +fabricating +fabrication +fabrication's +fabrications +fabrics +fabulous +fabulously +facade +facade's +facades +face +face's +faced +faceless +facelift +facelift's +facelifts +faces +facet +facet's +faceted +faceting +facetious +facetiously +facetiousness +facetiousness's +facets +facetted +facetting +facial +facial's +facially +facials +facile +facilitate +facilitated +facilitates +facilitating +facilitation +facilitation's +facilities +facility +facility's +facing +facing's +facings +facsimile +facsimile's +facsimiled +facsimileing +facsimiles +fact +fact's +faction +faction's +factional +factionalism +factionalism's +factions +factitious +factor +factor's +factored +factorial +factories +factoring +factorization +factorize +factorizing +factors +factory +factory's +factotum +factotum's +factotums +facts +factual +factually +faculties +faculty +faculty's +fad +fad's +faddish +fade +fade's +faded +fades +fading +fads +faecal +faeces +faeces's +fag +fag's +fagged +fagging +faggot +faggot's +faggots +fagot +fagot's +fagots +fags +fail +fail's +failed +failing +failing's +failings +fails +failure +failure's +failures +fain +fainer +fainest +faint +faint's +fainted +fainter +faintest +fainthearted +fainting +faintly +faintness +faintness's +faints +fair +fair's +fairer +fairest +fairground +fairground's +fairgrounds +fairies +fairly +fairness +fairness's +fairs +fairway +fairway's +fairways +fairy +fairy's +fairyland +fairyland's +fairylands +faith +faith's +faithful +faithful's +faithfully +faithfulness +faithfulness's +faithfuls +faithless +faithlessly +faithlessness +faithlessness's +faiths +fake +fake's +faked +faker +faker's +fakers +fakes +faking +fakir +fakir's +fakirs +falcon +falcon's +falconer +falconer's +falconers +falconry +falconry's +falcons +fall +fall's +fallacies +fallacious +fallaciously +fallacy +fallacy's +fallen +fallibility +fallibility's +fallible +fallibly +falling +falloff +falloff's +falloffs +fallout +fallout's +fallow +fallow's +fallowed +fallowing +fallows +falls +false +falsehood +falsehood's +falsehoods +falsely +falseness +falseness's +falser +falsest +falsetto +falsetto's +falsettos +falsifiable +falsification +falsification's +falsifications +falsified +falsifies +falsify +falsifying +falsities +falsity +falsity's +falter +falter's +faltered +faltering +falteringly +falterings +falters +fame +fame's +famed +familial +familiar +familiar's +familiarity +familiarity's +familiarization +familiarization's +familiarize +familiarized +familiarizes +familiarizing +familiarly +familiars +families +family +family's +famine +famine's +famines +famish +famished +famishes +famishing +famous +famously +fan +fan's +fanatic +fanatic's +fanatical +fanatically +fanaticism +fanaticism's +fanatics +fancied +fancier +fancier's +fanciers +fancies +fanciest +fanciful +fancifully +fancily +fanciness +fanciness's +fancy +fancy's +fancying +fanfare +fanfare's +fanfares +fang +fang's +fangs +fanned +fannies +fanning +fanny +fanny's +fans +fantasied +fantasies +fantasize +fantasized +fantasizes +fantasizing +fantastic +fantastically +fantasy +fantasy's +fantasying +fanzine +far +faraway +farce +farce's +farces +farcical +fare +fare's +fared +fares +farewell +farewell's +farewells +farina +farina's +farinaceous +faring +farm +farm's +farmed +farmer +farmer's +farmers +farmhand +farmhand's +farmhands +farmhouse +farmhouse's +farmhouses +farming +farming's +farmland +farmland's +farms +farmyard +farmyard's +farmyards +farrow +farrow's +farrowed +farrowing +farrows +farsighted +farsightedness +farsightedness's +fart +fart's +farted +farther +farthest +farthing +farthing's +farthings +farting +farts +fascinate +fascinated +fascinates +fascinating +fascination +fascination's +fascinations +fascism +fascism's +fascist +fascist's +fascists +fashion +fashion's +fashionable +fashionably +fashioned +fashioning +fashions +fast +fast's +fasted +fasten +fastened +fastener +fastener's +fasteners +fastening +fastening's +fastenings +fastens +faster +fastest +fastidious +fastidiously +fastidiousness +fastidiousness's +fasting +fastness +fastness's +fastnesses +fasts +fat +fat's +fatal +fatalism +fatalism's +fatalist +fatalist's +fatalistic +fatalists +fatalities +fatality +fatality's +fatally +fate +fate's +fated +fateful +fatefully +fates +fathead +fathead's +fatheads +father +father's +fathered +fatherhood +fatherhood's +fathering +fatherland +fatherland's +fatherlands +fatherless +fatherly +fathers +fathom +fathom's +fathomable +fathomed +fathoming +fathomless +fathoms +fatigue +fatigue's +fatigued +fatigues +fatigues's +fatiguing +fating +fatness +fatness's +fats +fatten +fattened +fattening +fattens +fatter +fattest +fattier +fatties +fattiest +fatty +fatty's +fatuous +fatuously +fatuousness +fatuousness's +faucet +faucet's +faucets +fault +fault's +faulted +faultfinding +faultfinding's +faultier +faultiest +faultily +faultiness +faultiness's +faulting +faultless +faultlessly +faults +faulty +faun +faun's +fauna +fauna's +faunae +faunas +fauns +favor +favor's +favorable +favorably +favored +favoring +favorite +favorite's +favorites +favoritism +favoritism's +favors +fawn +fawn's +fawned +fawning +fawns +fax +fax's +faxed +faxes +faxing +faze +fazed +fazes +fazing +fealty +fealty's +fear +fear's +feared +fearful +fearfully +fearfulness +fearfulness's +fearing +fearless +fearlessly +fearlessness +fearlessness's +fears +fearsome +feasibility +feasibility's +feasible +feasibly +feast +feast's +feasted +feasting +feasts +feat +feat's +feather +feather's +featherbedding +featherbedding's +feathered +featherier +featheriest +feathering +feathers +featherweight +featherweight's +featherweights +feathery +feats +feature +feature's +featured +featureless +features +featuring +febrile +fecal +feces +feces's +feckless +fecund +fecundity +fecundity's +fed +fed's +federal +federal's +federalism +federalism's +federalist +federalist's +federalists +federally +federals +federate +federated +federates +federating +federation +federation's +federations +fedora +fedora's +fedoras +feds +fee +fee's +feeble +feebleness +feebleness's +feebler +feeblest +feebly +feed +feed's +feedback +feedback's +feedbag +feedbag's +feedbags +feeder +feeder's +feeders +feeding +feeding's +feedings +feeds +feel +feel's +feeler +feeler's +feelers +feeling +feeling's +feelingly +feelings +feels +fees +feet +feign +feigned +feigning +feigns +feint +feint's +feinted +feinting +feints +feistier +feistiest +feisty +feldspar +feldspar's +felicities +felicitous +felicity +felicity's +feline +feline's +felines +fell +fell's +fellatio +fellatio's +felled +feller +fellest +felling +fellow +fellow's +fellows +fellowship +fellowship's +fellowships +fells +felon +felon's +felonies +felonious +felons +felony +felony's +felt +felt's +felted +felting +felts +female +female's +females +feminine +feminine's +feminines +femininity +femininity's +feminism +feminism's +feminist +feminist's +feminists +femora +femoral +femur +femur's +femurs +fen +fen's +fence +fence's +fenced +fencer +fencer's +fencers +fences +fencing +fencing's +fend +fended +fender +fender's +fenders +fending +fends +fennel +fennel's +fens +fer +feral +ferment +ferment's +fermentation +fermentation's +fermented +fermenting +ferments +fern +fern's +ferns +ferocious +ferociously +ferociousness +ferociousness's +ferocity +ferocity's +ferret +ferret's +ferreted +ferreting +ferrets +ferric +ferried +ferries +ferrous +ferrule +ferrule's +ferrules +ferry +ferry's +ferryboat +ferryboat's +ferryboats +ferrying +fertile +fertility +fertility's +fertilization +fertilization's +fertilize +fertilized +fertilizer +fertilizer's +fertilizers +fertilizes +fertilizing +fervency +fervency's +fervent +fervently +fervid +fervidly +fervor +fervor's +fest +fest's +festal +fester +fester's +festered +festering +festers +festival +festival's +festivals +festive +festively +festivities +festivity +festivity's +festoon +festoon's +festooned +festooning +festoons +fests +feta +feta's +fetal +fetch +fetched +fetches +fetching +fetchingly +feted +fetich +fetich's +fetiches +fetid +feting +fetish +fetish's +fetishes +fetishism +fetishism's +fetishist +fetishist's +fetishistic +fetishists +fetlock +fetlock's +fetlocks +fetter +fetter's +fettered +fettering +fetters +fettle +fettle's +fetus +fetus's +fetuses +feud +feud's +feudal +feudalism +feudalism's +feudalistic +feuded +feuding +feuds +fever +fever's +fevered +feverish +feverishly +fevers +few +few's +fewer +fewest +fey +fez +fez's +fezes +fezzes +fiasco +fiasco's +fiascoes +fiascos +fiat +fiat's +fiats +fib +fib's +fibbed +fibber +fibber's +fibbers +fibbing +fiber +fiber's +fiberboard +fiberboard's +fiberglass +fiberglass's +fibers +fibroid +fibrous +fibs +fibula +fibula's +fibulae +fibulas +fiche +fiche's +fiches +fickle +fickleness +fickleness's +fickler +ficklest +fiction +fiction's +fictional +fictionalize +fictionalized +fictionalizes +fictionalizing +fictions +fictitious +fiddle +fiddle's +fiddled +fiddler +fiddler's +fiddlers +fiddles +fiddlesticks +fiddling +fiddly +fidelity +fidelity's +fidget +fidget's +fidgeted +fidgeting +fidgets +fidgety +fiduciaries +fiduciary +fiduciary's +fie +fief +fief's +fiefs +field +field's +fielded +fielder +fielder's +fielders +fielding +fields +fieldwork +fieldwork's +fiend +fiend's +fiendish +fiendishly +fiends +fierce +fiercely +fierceness +fierceness's +fiercer +fiercest +fierier +fieriest +fieriness +fieriness's +fiery +fiesta +fiesta's +fiestas +fife +fife's +fifes +fifteen +fifteen's +fifteens +fifteenth +fifteenth's +fifteenths +fifth +fifth's +fifths +fifties +fiftieth +fiftieth's +fiftieths +fifty +fifty's +fig +fig's +fight +fight's +fighter +fighter's +fighters +fighting +fighting's +fights +figment +figment's +figments +figs +figurative +figuratively +figure +figure's +figured +figurehead +figurehead's +figureheads +figures +figurine +figurine's +figurines +figuring +filament +filament's +filamentous +filaments +filbert +filbert's +filberts +filch +filched +filches +filching +file +file's +filed +files +filet +filet's +filets +filial +filibuster +filibuster's +filibustered +filibustering +filibusters +filigree +filigree's +filigreed +filigreeing +filigrees +filing +filing's +filings +fill +fill's +filled +filler +filler's +fillers +fillet +fillet's +filleted +filleting +fillets +fillies +filling +filling's +fillings +fillip +fillip's +filliped +filliping +fillips +fills +filly +filly's +film +film's +filmed +filmier +filmiest +filming +filmmaker +filmmaker's +filmmakers +films +filmstrip +filmstrip's +filmstrips +filmy +filter +filter's +filterable +filtered +filtering +filters +filth +filth's +filthier +filthiest +filthiness +filthiness's +filthy +filtrable +filtrate +filtrate's +filtrated +filtrates +filtrating +filtration +filtration's +fin +fin's +finagle +finagled +finagler +finagler's +finaglers +finagles +finagling +final +final's +finale +finale's +finales +finalist +finalist's +finalists +finality +finality's +finalize +finalized +finalizes +finalizing +finally +finals +finance +finance's +financed +finances +financial +financially +financier +financier's +financiers +financing +financing's +finch +finch's +finches +find +find's +finder +finder's +finders +finding +finding's +findings +finds +fine +fine's +fined +finely +fineness +fineness's +finer +finery +finery's +fines +finesse +finesse's +finessed +finesses +finessing +finest +finger +finger's +fingerboard +fingerboard's +fingerboards +fingered +fingering +fingering's +fingerings +fingernail +fingernail's +fingernails +fingerprint +fingerprint's +fingerprinted +fingerprinting +fingerprints +fingers +fingertip +fingertip's +fingertips +finickier +finickiest +finicky +fining +finis +finis's +finises +finish +finish's +finished +finisher +finisher's +finishers +finishes +finishing +finite +finitely +fink +fink's +finked +finking +finks +finnier +finniest +finny +fins +fiord +fiord's +fiords +fir +fir's +fire +fire's +firearm +firearm's +firearms +fireball +fireball's +fireballs +firebomb +firebomb's +firebombed +firebombing +firebombs +firebrand +firebrand's +firebrands +firebreak +firebreak's +firebreaks +firebug +firebug's +firebugs +firecracker +firecracker's +firecrackers +fired +firefight +firefight's +firefighter +firefighter's +firefighters +firefighting +firefighting's +firefights +fireflies +firefly +firefly's +firehouse +firehouse's +firehouses +fireman +fireman's +firemen +fireplace +fireplace's +fireplaces +fireplug +fireplug's +fireplugs +firepower +firepower's +fireproof +fireproofed +fireproofing +fireproofs +fires +fireside +fireside's +firesides +firestorm +firestorm's +firestorms +firetrap +firetrap's +firetraps +firewall +firewall's +firewalls +firewater +firewater's +firewood +firewood's +firework +firework's +fireworks +firing +firm +firm's +firmament +firmament's +firmaments +firmed +firmer +firmest +firming +firmly +firmness +firmness's +firms +firmware +firs +first +first's +firstborn +firstborn's +firstborns +firsthand +firstly +firsts +firth +firth's +firths +fiscal +fiscal's +fiscally +fiscals +fish +fish's +fishbowl +fishbowl's +fishbowls +fished +fisher +fisher's +fisheries +fisherman +fisherman's +fishermen +fishers +fishery +fishery's +fishes +fishhook +fishhook's +fishhooks +fishier +fishiest +fishing +fishing's +fishnet +fishnet's +fishnets +fishtail +fishtailed +fishtailing +fishtails +fishwife +fishwife's +fishwives +fishy +fission +fission's +fissure +fissure's +fissures +fist +fist's +fistful +fistful's +fistfuls +fisticuffs +fisticuffs's +fists +fit +fit's +fitful +fitfully +fitly +fitness +fitness's +fits +fitted +fitter +fitter's +fitters +fittest +fitting +fitting's +fittingly +fittings +five +five's +fiver +fives +fix +fix's +fixable +fixate +fixated +fixates +fixating +fixation +fixation's +fixations +fixative +fixative's +fixatives +fixed +fixedly +fixer +fixer's +fixers +fixes +fixing +fixings +fixings's +fixity +fixity's +fixture +fixture's +fixtures +fizz +fizz's +fizzed +fizzes +fizzier +fizziest +fizzing +fizzle +fizzle's +fizzled +fizzles +fizzling +fizzy +fjord +fjord's +fjords +flab +flab's +flabbergast +flabbergasted +flabbergasting +flabbergasts +flabbier +flabbiest +flabbiness +flabbiness's +flabby +flaccid +flack +flack's +flacks +flag +flag's +flagella +flagellate +flagellated +flagellates +flagellating +flagellation +flagellation's +flagellum +flagellum's +flagellums +flagged +flagging +flagon +flagon's +flagons +flagpole +flagpole's +flagpoles +flagrant +flagrantly +flags +flagship +flagship's +flagships +flagstaff +flagstaff's +flagstaffs +flagstone +flagstone's +flagstones +flail +flail's +flailed +flailing +flails +flair +flair's +flairs +flak +flak's +flake +flake's +flaked +flakes +flakier +flakiest +flakiness +flakiness's +flaking +flaky +flambeing +flambes +flamboyance +flamboyance's +flamboyant +flamboyantly +flame +flame's +flamed +flamenco +flamenco's +flamencos +flames +flamethrower +flamethrower's +flamethrowers +flaming +flamingo +flamingo's +flamingoes +flamingos +flamings +flammability +flammability's +flammable +flammable's +flammables +flan +flange +flange's +flanges +flank +flank's +flanked +flanking +flanks +flannel +flannel's +flanneled +flannelet +flannelet's +flannelette +flannelette's +flanneling +flannelled +flannelling +flannels +flap +flap's +flapjack +flapjack's +flapjacks +flapped +flapper +flapper's +flappers +flapping +flaps +flare +flare's +flared +flares +flaring +flash +flash's +flashback +flashback's +flashbacks +flashbulb +flashbulb's +flashbulbs +flashed +flasher +flasher's +flashers +flashes +flashest +flashgun +flashgun's +flashguns +flashier +flashiest +flashily +flashiness +flashiness's +flashing +flashing's +flashlight +flashlight's +flashlights +flashy +flask +flask's +flasks +flat +flat's +flatbed +flatbed's +flatbeds +flatboat +flatboat's +flatboats +flatcar +flatcar's +flatcars +flatfeet +flatfish +flatfish's +flatfishes +flatfoot +flatfoot's +flatfooted +flatfoots +flatiron +flatiron's +flatirons +flatly +flatness +flatness's +flats +flatted +flatten +flattened +flattening +flattens +flatter +flattered +flatterer +flatterer's +flatterers +flattering +flatteringly +flatters +flattery +flattery's +flattest +flatting +flattop +flattop's +flattops +flatulence +flatulence's +flatulent +flatware +flatware's +flaunt +flaunt's +flaunted +flaunting +flaunts +flavor +flavor's +flavored +flavorful +flavoring +flavoring's +flavorings +flavorless +flavors +flaw +flaw's +flawed +flawing +flawless +flawlessly +flaws +flax +flax's +flaxen +flay +flayed +flaying +flays +flea +flea's +fleas +fleck +fleck's +flecked +flecking +flecks +fled +fledged +fledgeling +fledgeling's +fledgelings +fledgling +fledgling's +fledglings +flee +fleece +fleece's +fleeced +fleeces +fleecier +fleeciest +fleecing +fleecy +fleeing +flees +fleet +fleet's +fleeted +fleeter +fleetest +fleeting +fleetingly +fleetingly's +fleetness +fleetness's +fleets +flesh +flesh's +fleshed +fleshes +fleshier +fleshiest +fleshing +fleshlier +fleshliest +fleshly +fleshy +flew +flex +flex's +flexed +flexes +flexibility +flexibility's +flexible +flexibly +flexing +flexitime +flexitime's +flextime +flextime's +flibbertigibbet +flibbertigibbet's +flibbertigibbets +flick +flick's +flicked +flicker +flicker's +flickered +flickering +flickers +flicking +flicks +flied +flier +flier's +fliers +flies +fliest +flight +flight's +flightier +flightiest +flightiness +flightiness's +flightless +flights +flighty +flimflam +flimflam's +flimflammed +flimflamming +flimflams +flimsier +flimsiest +flimsily +flimsiness +flimsiness's +flimsy +flinch +flinch's +flinched +flinches +flinching +fling +fling's +flinging +flings +flint +flint's +flintier +flintiest +flintlock +flintlock's +flintlocks +flints +flinty +flip +flip's +flippancy +flippancy's +flippant +flippantly +flipped +flipper +flipper's +flippers +flippest +flipping +flips +flirt +flirt's +flirtation +flirtation's +flirtations +flirtatious +flirtatiously +flirted +flirting +flirts +flit +flit's +flits +flitted +flitting +float +float's +floatation +floatation's +floatations +floated +floater +floater's +floaters +floating +floats +flock +flock's +flocked +flocking +flocks +floe +floe's +floes +flog +flogged +flogging +flogging's +floggings +flogs +flood +flood's +flooded +flooder +floodgate +floodgate's +floodgates +flooding +floodlight +floodlight's +floodlighted +floodlighting +floodlights +floodlit +floods +floor +floor's +floorboard +floorboard's +floorboards +floored +flooring +flooring's +floors +floozie +floozie's +floozies +floozy +floozy's +flop +flop's +flophouse +flophouse's +flophouses +flopped +floppier +floppies +floppiest +floppiness +floppiness's +flopping +floppy +floppy's +flops +flora +flora's +florae +floral +floras +florid +floridly +florin +florin's +florins +florist +florist's +florists +floss +floss's +flossed +flosses +flossing +flotation +flotation's +flotations +flotilla +flotilla's +flotillas +flotsam +flotsam's +flounce +flounce's +flounced +flounces +flouncing +flounder +flounder's +floundered +floundering +flounders +flour +flour's +floured +flouring +flourish +flourish's +flourished +flourishes +flourishing +flours +floury +flout +flout's +flouted +flouting +flouts +flow +flow's +flowed +flower +flower's +flowerbed +flowerbed's +flowerbeds +flowered +flowerier +floweriest +floweriness +floweriness's +flowering +flowerpot +flowerpot's +flowerpots +flowers +flowery +flowing +flown +flows +flu +flu's +flub +flub's +flubbed +flubbing +flubs +fluctuate +fluctuated +fluctuates +fluctuating +fluctuation +fluctuation's +fluctuations +flue +flue's +fluency +fluency's +fluent +fluently +flues +fluff +fluff's +fluffed +fluffier +fluffiest +fluffiness +fluffiness's +fluffing +fluffs +fluffy +fluid +fluid's +fluidity +fluidity's +fluidly +fluids +fluke +fluke's +flukes +flukey +flukier +flukiest +fluky +flume +flume's +flumes +flummox +flummoxed +flummoxes +flummoxing +flung +flunk +flunk's +flunked +flunkey +flunkey's +flunkeys +flunkie +flunkie's +flunkies +flunking +flunks +flunky +flunky's +fluoresce +fluoresced +fluorescence +fluorescence's +fluorescent +fluoresces +fluorescing +fluoridate +fluoridated +fluoridates +fluoridating +fluoridation +fluoridation's +fluoride +fluoride's +fluorides +fluorine +fluorine's +fluorite +fluorite's +fluorocarbon +fluorocarbon's +fluorocarbons +fluoroscope +fluoroscope's +fluoroscopes +flurried +flurries +flurry +flurry's +flurrying +flush +flush's +flushed +flusher +flushes +flushest +flushing +fluster +fluster's +flustered +flustering +flusters +flute +flute's +fluted +flutes +fluting +fluting's +flutist +flutist's +flutists +flutter +flutter's +fluttered +fluttering +flutters +fluttery +flux +flux's +fluxed +fluxes +fluxing +fly +fly's +flyby +flyby's +flybys +flycatcher +flycatcher's +flycatchers +flyer +flyer's +flyers +flying +flying's +flyleaf +flyleaf's +flyleaves +flyover +flyover's +flyovers +flypaper +flypaper's +flypapers +flysheet +flyspeck +flyspeck's +flyspecked +flyspecking +flyspecks +flyswatter +flyswatter's +flyswatters +flyweight +flyweight's +flyweights +flywheel +flywheel's +flywheels +fo'c's'le +fo'c's'le's +fo'c's'les +fo'c'sle +fo'c'sle's +fo'c'sles +foal +foal's +foaled +foaling +foals +foam +foam's +foamed +foamier +foamiest +foaming +foams +foamy +fob +fob's +fobbed +fobbing +fobs +focal +foci +focus +focus's +focused +focuses +focusing +focussed +focusses +focussing +fodder +fodder's +fodders +foe +foe's +foes +foetal +foetus +foetus's +foetuses +fog +fog's +fogbound +fogey +fogey's +fogeys +fogged +foggier +foggiest +fogginess +fogginess's +fogging +foggy +foghorn +foghorn's +foghorns +fogies +fogs +fogy +fogy's +foible +foible's +foibles +foil +foil's +foiled +foiling +foils +foist +foisted +foisting +foists +fold +fold's +foldaway +folded +folder +folder's +folders +folding +folds +foliage +foliage's +folio +folio's +folios +folk +folk's +folklore +folklore's +folks +folksier +folksiest +folksy +follicle +follicle's +follicles +follies +follow +followed +follower +follower's +followers +following +following's +followings +follows +folly +folly's +foment +fomentation +fomentation's +fomented +fomenting +foments +fond +fondant +fondant's +fondants +fonder +fondest +fondle +fondled +fondles +fondling +fondly +fondness +fondness's +fondu +fondu's +fondue +fondue's +fondues +fondus +font +font's +fonts +food +food's +foods +foodstuff +foodstuff's +foodstuffs +fool +fool's +fooled +fooleries +foolery +foolery's +foolhardier +foolhardiest +foolhardiness +foolhardiness's +foolhardy +fooling +foolish +foolishly +foolishness +foolishness's +foolproof +fools +foolscap +foolscap's +foot +foot's +footage +footage's +football +football's +footballer +footballer's +footballers +footballs +footbridge +footbridge's +footbridges +footed +footfall +footfall's +footfalls +foothill +foothill's +foothills +foothold +foothold's +footholds +footing +footing's +footings +footlights +footlights's +footlocker +footlocker's +footlockers +footloose +footman +footman's +footmen +footnote +footnote's +footnoted +footnotes +footnoting +footpath +footpath's +footpaths +footprint +footprint's +footprints +footrest +footrest's +footrests +foots +footsie +footsie's +footsies +footsore +footstep +footstep's +footsteps +footstool +footstool's +footstools +footwear +footwear's +footwork +footwork's +fop +fop's +foppish +fops +for +fora +forage +forage's +foraged +forager +forager's +foragers +forages +foraging +foray +foray's +forayed +foraying +forays +forbad +forbade +forbear +forbear's +forbearance +forbearance's +forbearing +forbears +forbid +forbidden +forbidding +forbiddingly +forbiddings +forbids +forbore +forborne +force +force's +forced +forceful +forcefully +forcefulness +forcefulness's +forceps +forceps's +forces +forcible +forcibly +forcing +ford +ford's +forded +fording +fords +fore +fore's +forearm +forearm's +forearmed +forearming +forearms +forebear +forebear's +forebears +forebode +foreboded +forebodes +foreboding +foreboding's +forebodings +forecast +forecast's +forecasted +forecaster +forecaster's +forecasters +forecasting +forecastle +forecastle's +forecastles +forecasts +foreclose +foreclosed +forecloses +foreclosing +foreclosure +foreclosure's +foreclosures +forefather +forefather's +forefathers +forefeet +forefinger +forefinger's +forefingers +forefoot +forefoot's +forefront +forefront's +forefronts +foregather +foregathered +foregathering +foregathers +forego +foregoes +foregoing +foregone +foreground +foreground's +foregrounded +foregrounding +foregrounds +forehand +forehand's +forehands +forehead +forehead's +foreheads +foreign +foreigner +foreigner's +foreigners +foreknowledge +foreknowledge's +foreleg +foreleg's +forelegs +forelock +forelock's +forelocks +foreman +foreman's +foremast +foremast's +foremasts +foremen +foremost +forename +forename's +forenames +forenoon +forenoon's +forenoons +forensic +forensic's +forensics +foreordain +foreordained +foreordaining +foreordains +foreplay +foreplay's +forerunner +forerunner's +forerunners +fores +foresail +foresail's +foresails +foresaw +foresee +foreseeable +foreseeing +foreseen +foresees +foreshadow +foreshadowed +foreshadowing +foreshadows +foreshorten +foreshortened +foreshortening +foreshortens +foresight +foresight's +foreskin +foreskin's +foreskins +forest +forest's +forestall +forestalled +forestalling +forestalls +forestation +forestation's +forested +forester +forester's +foresters +foresting +forestry +forestry's +forests +foreswear +foreswearing +foreswears +foreswore +foresworn +foretaste +foretaste's +foretasted +foretastes +foretasting +foretell +foretelling +foretells +forethought +forethought's +foretold +forever +forever's +forevermore +forewarn +forewarned +forewarning +forewarns +forewent +forewoman +forewoman's +forewomen +foreword +foreword's +forewords +forfeit +forfeit's +forfeited +forfeiting +forfeits +forfeiture +forfeiture's +forgather +forgathered +forgathering +forgathers +forgave +forge +forge's +forged +forger +forger's +forgeries +forgers +forgery +forgery's +forges +forget +forgetful +forgetfully +forgetfulness +forgetfulness's +forgets +forgettable +forgetting +forging +forgivable +forgive +forgiven +forgiveness +forgiveness's +forgives +forgiving +forgo +forgoes +forgoing +forgone +forgot +forgotten +fork +fork's +forked +forking +forklift +forklift's +forklifts +forks +forlorn +forlornly +form +form's +formal +formal's +formaldehyde +formaldehyde's +formalism +formalism's +formalities +formality +formality's +formalization +formalization's +formalize +formalized +formalizes +formalizing +formally +formals +format +format's +formation +formation's +formations +formative +formats +formatted +formatting +formed +former +former's +formerly +formidable +formidably +forming +formless +formlessly +formlessness +formlessness's +forms +formula +formula's +formulae +formulaic +formulas +formulate +formulated +formulates +formulating +formulation +formulation's +formulations +fornicate +fornicated +fornicates +fornicating +fornication +fornication's +forsake +forsaken +forsakes +forsaking +forsook +forsooth +forswear +forswearing +forswears +forswore +forsworn +forsythia +forsythia's +forsythias +fort +fort's +forte +forte's +fortes +forth +forthcoming +forthcoming's +forthright +forthrightly +forthrightness +forthrightness's +forthwith +forties +fortieth +fortieth's +fortieths +fortification +fortification's +fortifications +fortified +fortifies +fortify +fortifying +fortissimo +fortitude +fortitude's +fortnight +fortnight's +fortnightly +fortnights +fortress +fortress's +fortresses +forts +fortuitous +fortuitously +fortunate +fortunately +fortune +fortune's +fortunes +forty +forty's +forum +forum's +forums +forward +forward's +forwarded +forwarder +forwardest +forwarding +forwardness +forwardness's +forwards +forwent +fossil +fossil's +fossilization +fossilization's +fossilize +fossilized +fossilizes +fossilizing +fossils +foster +fostered +fostering +fosters +fought +foul +foul's +fouled +fouler +foulest +fouling +foully +foulness +foulness's +fouls +found +foundation +foundation's +foundations +founded +founder +founder's +foundered +foundering +founders +founding +foundling +foundling's +foundlings +foundries +foundry +foundry's +founds +fount +fount's +fountain +fountain's +fountainhead +fountainhead's +fountainheads +fountains +founts +four +four's +fourfold +fours +fourscore +fourscore's +foursome +foursome's +foursomes +foursquare +fourteen +fourteen's +fourteens +fourteenth +fourteenth's +fourteenths +fourth +fourth's +fourthly +fourths +fowl +fowl's +fowled +fowling +fowls +fox +fox's +foxed +foxes +foxglove +foxglove's +foxgloves +foxhole +foxhole's +foxholes +foxhound +foxhound's +foxhounds +foxier +foxiest +foxing +foxtrot +foxtrot's +foxtrots +foxtrotted +foxtrotting +foxy +foyer +foyer's +foyers +fracas +fracas's +fracases +fractal +fractal's +fractals +fraction +fraction's +fractional +fractionally +fractions +fractious +fractiously +fracture +fracture's +fractured +fractures +fracturing +fragile +fragility +fragility's +fragment +fragment's +fragmentary +fragmentary's +fragmentation +fragmentation's +fragmented +fragmenting +fragments +fragrance +fragrance's +fragrances +fragrant +fragrantly +frail +frailer +frailest +frailties +frailty +frailty's +frame +frame's +framed +framer +framer's +framers +frames +framework +framework's +frameworks +framing +franc +franc's +franchise +franchise's +franchised +franchisee +franchisee's +franchisees +franchiser +franchiser's +franchisers +franchises +franchising +francs +frank +frank's +franked +franker +frankest +frankfurter +frankfurter's +frankfurters +frankincense +frankincense's +franking +frankly +frankness +frankness's +franks +frantic +frantically +frappes +frat +frat's +fraternal +fraternally +fraternities +fraternity +fraternity's +fraternization +fraternization's +fraternize +fraternized +fraternizes +fraternizing +fratricide +fratricide's +fratricides +frats +fraud +fraud's +frauds +fraudulence +fraudulence's +fraudulent +fraudulently +fraught +fray +fray's +frayed +fraying +frays +frazzle +frazzle's +frazzled +frazzles +frazzling +freak +freak's +freaked +freakier +freakiest +freaking +freakish +freaks +freaky +freckle +freckle's +freckled +freckles +freckling +free +freebase +freebase's +freebased +freebases +freebasing +freebee +freebee's +freebees +freebie +freebie's +freebies +freebooter +freebooter's +freebooters +freed +freedman +freedman's +freedmen +freedom +freedom's +freedoms +freehand +freehold +freehold's +freeholder +freeholder's +freeholders +freeholds +freeing +freelance +freelance's +freelanced +freelancer +freelancer's +freelancers +freelances +freelancing +freeload +freeloaded +freeloader +freeloader's +freeloaders +freeloading +freeloads +freely +freeman +freeman's +freemen +freer +frees +freest +freestanding +freestyle +freestyle's +freestyles +freethinker +freethinker's +freethinkers +freethinking +freethinking's +freeway +freeway's +freeways +freewheel +freewheeled +freewheeling +freewheels +freewill +freeze +freeze's +freezer +freezer's +freezers +freezes +freezing +freezing's +freight +freight's +freighted +freighter +freighter's +freighters +freighting +freights +french +frenetic +frenetically +frenzied +frenziedly +frenzies +frenzy +frenzy's +frequencies +frequency +frequency's +frequent +frequented +frequenter +frequentest +frequenting +frequently +frequents +fresco +fresco's +frescoes +frescos +fresh +freshen +freshened +freshening +freshens +fresher +freshest +freshet +freshet's +freshets +freshly +freshman +freshman's +freshmen +freshness +freshness's +freshwater +freshwater's +fret +fret's +fretful +fretfully +fretfulness +fretfulness's +frets +fretted +fretting +fretwork +fretwork's +friable +friar +friar's +friars +fricassee +fricassee's +fricasseed +fricasseeing +fricassees +friction +friction's +fridge +fridge's +fridges +fried +friend +friend's +friendless +friendlier +friendlies +friendliest +friendliness +friendliness's +friendly +friendly's +friends +friendship +friendship's +friendships +frier +frier's +friers +fries +frieze +frieze's +friezes +frigate +frigate's +frigates +fright +fright's +frighted +frighten +frightened +frightening +frighteningly +frightens +frightful +frightfully +frighting +frights +frigid +frigidity +frigidity's +frigidly +frill +frill's +frillier +frilliest +frills +frilly +fringe +fringe's +fringed +fringes +fringing +fripperies +frippery +frippery's +frisk +frisked +friskier +friskiest +friskily +friskiness +friskiness's +frisking +frisks +frisky +fritter +fritter's +frittered +frittering +fritters +frivolities +frivolity +frivolity's +frivolous +frivolously +frizz +frizz's +frizzed +frizzes +frizzier +frizziest +frizzing +frizzle +frizzle's +frizzled +frizzles +frizzling +frizzy +fro +frock +frock's +frocks +frog +frog's +frogman +frogman's +frogmen +frogs +frolic +frolic's +frolicked +frolicking +frolics +frolicsome +from +frond +frond's +fronds +front +front's +frontage +frontage's +frontages +frontal +frontally +fronted +frontier +frontier's +frontiers +frontiersman +frontiersman's +frontiersmen +fronting +frontispiece +frontispiece's +frontispieces +frontrunner +frontrunner's +frontrunners +fronts +frost +frost's +frostbit +frostbite +frostbite's +frostbites +frostbiting +frostbitten +frosted +frostier +frostiest +frostily +frostiness +frostiness's +frosting +frosting's +frosts +frosty +froth +froth's +frothed +frothier +frothiest +frothing +froths +frothy +frown +frown's +frowned +frowning +frowns +frowsier +frowsiest +frowsy +frowzier +frowziest +frowzy +froze +frozen +fructified +fructifies +fructify +fructifying +fructose +fructose's +frugal +frugality +frugality's +frugally +fruit +fruit's +fruitcake +fruitcake's +fruitcakes +fruited +fruitful +fruitfully +fruitfulness +fruitfulness's +fruitier +fruitiest +fruiting +fruition +fruition's +fruitless +fruitlessly +fruitlessness +fruitlessness's +fruits +fruity +frump +frump's +frumpier +frumpiest +frumps +frumpy +frustrate +frustrated +frustrates +frustrating +frustration +frustration's +frustrations +fry +fry's +fryer +fryer's +fryers +frying +fuchsia +fuchsia's +fuchsias +fuck +fuck's +fucked +fucker +fucker's +fuckers +fucking +fucks +fuddle +fuddle's +fuddled +fuddles +fuddling +fudge +fudge's +fudged +fudges +fudging +fuel +fuel's +fueled +fueling +fuelled +fuelling +fuels +fugitive +fugitive's +fugitives +fugue +fugue's +fugues +fulcra +fulcrum +fulcrum's +fulcrums +fulfil +fulfill +fulfilled +fulfilling +fulfillment +fulfillment's +fulfills +fulfilment +fulfilment's +fulfils +full +full's +fullback +fullback's +fullbacks +fulled +fuller +fullest +fulling +fullness +fullness's +fulls +fully +fulminate +fulminated +fulminates +fulminating +fulmination +fulmination's +fulminations +fulness +fulness's +fulsome +fumble +fumble's +fumbled +fumbler +fumbler's +fumblers +fumbles +fumbling +fume +fume's +fumed +fumes +fumigate +fumigated +fumigates +fumigating +fumigation +fumigation's +fumigator +fumigator's +fumigators +fuming +fun +fun's +function +function's +functional +functionality +functionally +functionaries +functionary +functionary's +functioned +functioning +functions +fund +fund's +fundamental +fundamental's +fundamentalism +fundamentalism's +fundamentalist +fundamentalist's +fundamentalists +fundamentally +fundamentals +funded +funding +funding's +funds +funeral +funeral's +funerals +funereal +funereally +fungal +fungi +fungicidal +fungicide +fungicide's +fungicides +fungous +fungus +fungus's +funguses +funicular +funicular's +funiculars +funk +funk's +funked +funkier +funkiest +funking +funks +funky +funnel +funnel's +funneled +funneling +funnelled +funnelling +funnels +funner +funnest +funnier +funnies +funniest +funnily +funniness +funniness's +funny +funny's +fur +fur's +furbelow +furbelow's +furbish +furbished +furbishes +furbishing +furies +furious +furiously +furl +furl's +furled +furling +furlong +furlong's +furlongs +furlough +furlough's +furloughed +furloughing +furloughs +furls +furnace +furnace's +furnaces +furnish +furnished +furnishes +furnishing +furnishings +furnishings's +furniture +furniture's +furor +furor's +furors +furred +furrier +furrier's +furriers +furriest +furring +furrow +furrow's +furrowed +furrowing +furrows +furry +furs +further +furtherance +furtherance's +furthered +furthering +furthermore +furthermost +furthers +furthest +furtive +furtively +furtiveness +furtiveness's +fury +fury's +furze +furze's +fuse +fuse's +fused +fuselage +fuselage's +fuselages +fuses +fusible +fusillade +fusillade's +fusillades +fusing +fusion +fusion's +fusions +fuss +fuss's +fussbudget +fussbudget's +fussbudgets +fussed +fusses +fussier +fussiest +fussily +fussiness +fussiness's +fussing +fussy +fustian +fustian's +fustier +fustiest +fusty +futile +futilely +futility +futility's +futon +futon's +futons +future +future's +futures +futuristic +futurities +futurity +futurity's +futz +futzed +futzes +futzing +fuze +fuze's +fuzed +fuzes +fuzing +fuzz +fuzz's +fuzzed +fuzzes +fuzzier +fuzziest +fuzzily +fuzziness +fuzziness's +fuzzing +fuzzy +g +gab +gab's +gabardine +gabardine's +gabardines +gabbed +gabbier +gabbiest +gabbing +gabble +gabble's +gabbled +gabbles +gabbling +gabby +gaberdine +gaberdine's +gaberdines +gable +gable's +gabled +gables +gabs +gad +gadabout +gadabout's +gadabouts +gadded +gadding +gadflies +gadfly +gadfly's +gadget +gadget's +gadgetry +gadgetry's +gadgets +gads +gaff +gaff's +gaffe +gaffe's +gaffed +gaffes +gaffing +gaffs +gag +gag's +gage +gage's +gaged +gages +gagged +gagging +gaggle +gaggle's +gaggles +gaging +gags +gaiety +gaiety's +gaily +gain +gain's +gained +gainful +gainfully +gaining +gains +gainsaid +gainsay +gainsaying +gainsays +gait +gait's +gaiter +gaiter's +gaiters +gaits +gal +gal's +gala +gala's +galactic +galas +galaxies +galaxy +galaxy's +gale +gale's +galena +galena's +gales +gall +gall's +gallant +gallant's +gallantly +gallantry +gallantry's +gallants +gallbladder +gallbladder's +gallbladders +galled +galleon +galleon's +galleons +galleries +gallery +gallery's +galley +galley's +galleys +galling +gallium +gallium's +gallivant +gallivanted +gallivanting +gallivants +gallon +gallon's +gallons +gallop +gallop's +galloped +galloping +gallops +gallows +gallows's +gallowses +galls +gallstone +gallstone's +gallstones +galore +galosh +galosh's +galoshes +gals +galvanic +galvanize +galvanized +galvanizes +galvanizing +galvanometer +galvanometer's +galvanometers +gambit +gambit's +gambits +gamble +gamble's +gambled +gambler +gambler's +gamblers +gambles +gambling +gambling's +gambol +gambol's +gamboled +gamboling +gambolled +gambolling +gambols +game +game's +gamecock +gamecock's +gamecocks +gamed +gamekeeper +gamekeeper's +gamekeepers +gamely +gameness +gameness's +gamer +games +gamesmanship +gamesmanship's +gamest +gamete +gamete's +gametes +gamey +gamier +gamiest +gamin +gamin's +gamine +gamine's +gamines +gaming +gamins +gamma +gamma's +gammas +gamut +gamut's +gamuts +gamy +gander +gander's +ganders +gang +gang's +ganged +ganging +gangland +gangland's +ganglia +ganglier +gangliest +gangling +ganglion +ganglion's +ganglions +gangly +gangplank +gangplank's +gangplanks +gangrene +gangrene's +gangrened +gangrenes +gangrening +gangrenous +gangs +gangster +gangster's +gangsters +gangway +gangway's +gangways +gannet +gannet's +gannets +gantlet +gantlet's +gantlets +gantries +gantry +gantry's +gap +gap's +gape +gape's +gaped +gapes +gaping +gaps +garage +garage's +garaged +garages +garaging +garb +garb's +garbage +garbage's +garbageman +garbanzo +garbanzo's +garbanzos +garbed +garbing +garble +garbled +garbles +garbling +garbs +garden +garden's +gardened +gardener +gardener's +gardeners +gardenia +gardenia's +gardenias +gardening +gardening's +gardens +gargantuan +gargle +gargle's +gargled +gargles +gargling +gargoyle +gargoyle's +gargoyles +garish +garishly +garishness +garishness's +garland +garland's +garlanded +garlanding +garlands +garlic +garlic's +garlicky +garment +garment's +garments +garner +garnered +garnering +garners +garnet +garnet's +garnets +garnish +garnish's +garnished +garnishee +garnishee's +garnisheed +garnisheeing +garnishees +garnishes +garnishing +garote +garote's +garoted +garotes +garoting +garotte +garotte's +garotted +garottes +garotting +garret +garret's +garrets +garrison +garrison's +garrisoned +garrisoning +garrisons +garrote +garrote's +garroted +garrotes +garroting +garrotte +garrotte's +garrotted +garrottes +garrotting +garrulity +garrulity's +garrulous +garrulously +garrulousness +garrulousness's +garter +garter's +garters +gas +gas's +gaseous +gases +gash +gash's +gashed +gashes +gashing +gasket +gasket's +gaskets +gaslight +gaslight's +gaslights +gasohol +gasohol's +gasolene +gasolene's +gasoline +gasoline's +gasp +gasp's +gasped +gasping +gasps +gassed +gasses +gassier +gassiest +gassing +gassy +gastric +gastritis +gastritis's +gastrointestinal +gastronomic +gastronomical +gastronomy +gastronomy's +gasworks +gasworks's +gate +gate's +gatecrasher +gatecrasher's +gatecrashers +gated +gatepost +gatepost's +gateposts +gates +gateway +gateway's +gateways +gather +gather's +gathered +gatherer +gatherer's +gatherers +gathering +gathering's +gatherings +gathers +gating +gauche +gaucher +gauchest +gaucho +gaucho's +gauchos +gaudier +gaudiest +gaudily +gaudiness +gaudiness's +gaudy +gauge +gauge's +gauged +gauges +gauging +gaunt +gaunter +gauntest +gauntlet +gauntlet's +gauntlets +gauntness +gauntness's +gauze +gauze's +gauzier +gauziest +gauzy +gave +gavel +gavel's +gavels +gavotte +gavotte's +gavottes +gawk +gawked +gawkier +gawkiest +gawkily +gawkiness +gawkiness's +gawking +gawks +gawky +gay +gay's +gayer +gayest +gayety +gayety's +gayly +gayness +gayness's +gays +gaze +gaze's +gazebo +gazebo's +gazeboes +gazebos +gazed +gazelle +gazelle's +gazelles +gazer +gazer's +gazers +gazes +gazette +gazette's +gazetted +gazetteer +gazetteer's +gazetteers +gazettes +gazetting +gazillion +gazillions +gazing +gazpacho +gazpacho's +gear +gear's +gearbox +gearbox's +gearboxes +geared +gearing +gears +gearshift +gearshift's +gearshifts +gearwheel +gearwheel's +gearwheels +gecko +gecko's +geckoes +geckos +gee +geed +geegaw +geegaw's +geegaws +geeing +geek +geek's +geekier +geekiest +geeks +geeky +gees +geese +geez +geezer +geezer's +geezers +geisha +geisha's +geishas +gel +gel's +gelatin +gelatin's +gelatine +gelatine's +gelatinous +geld +gelded +gelding +gelding's +geldings +gelds +gelid +gelled +gelling +gels +gelt +gem +gem's +gems +gemstone +gemstone's +gemstones +gendarme +gendarme's +gendarmes +gender +gender's +genders +gene +gene's +genealogical +genealogies +genealogist +genealogist's +genealogists +genealogy +genealogy's +genera +general +general's +generalissimo +generalissimo's +generalissimos +generalities +generality +generality's +generalization +generalization's +generalizations +generalize +generalized +generalizes +generalizing +generally +generals +generate +generated +generates +generating +generation +generation's +generations +generative +generator +generator's +generators +generic +generic's +generically +generics +generosities +generosity +generosity's +generous +generously +genes +geneses +genesis +genesis's +genetic +genetically +geneticist +geneticist's +geneticists +genetics +genetics's +genial +geniality +geniality's +genially +genie +genie's +genies +genii +genital +genitalia +genitalia's +genitals +genitals's +genitive +genitive's +genitives +genius +genius's +geniuses +genocide +genocide's +genome +genome's +genomes +genre +genre's +genres +gent +gent's +genteel +gentian +gentian's +gentians +gentile +gentile's +gentiles +gentility +gentility's +gentle +gentled +gentlefolk +gentlefolk's +gentleman +gentleman's +gentlemanly +gentlemen +gentleness +gentleness's +gentler +gentles +gentlest +gentlewoman +gentlewoman's +gentlewomen +gentling +gently +gentries +gentrification +gentrification's +gentrified +gentrifies +gentrify +gentrifying +gentry +gentry's +gents +genuflect +genuflected +genuflecting +genuflection +genuflection's +genuflections +genuflects +genuine +genuinely +genuineness +genuineness's +genus +genus's +genuses +geocentric +geode +geode's +geodes +geodesic +geodesic's +geodesics +geographer +geographer's +geographers +geographic +geographical +geographically +geographies +geography +geography's +geologic +geological +geologically +geologies +geologist +geologist's +geologists +geology +geology's +geometer +geometric +geometrical +geometrically +geometries +geometry +geometry's +geophysical +geophysics +geophysics's +geopolitical +geopolitics +geopolitics's +geostationary +geothermal +geranium +geranium's +geraniums +gerbil +gerbil's +gerbils +geriatric +geriatrics +geriatrics's +germ +germ's +germane +germanium +germanium's +germicidal +germicide +germicide's +germicides +germinal +germinal's +germinate +germinated +germinates +germinating +germination +germination's +germs +gerontologist +gerontologist's +gerontologists +gerontology +gerontology's +gerrymander +gerrymander's +gerrymandered +gerrymandering +gerrymandering's +gerrymanders +gerund +gerund's +gerunds +gestate +gestated +gestates +gestating +gestation +gestation's +gesticulate +gesticulated +gesticulates +gesticulating +gesticulation +gesticulation's +gesticulations +gesture +gesture's +gestured +gestures +gesturing +gesundheit +get +get's +getaway +getaway's +getaways +gets +getting +getup +getup's +gewgaw +gewgaw's +gewgaws +geyser +geyser's +geysers +ghastlier +ghastliest +ghastliness +ghastliness's +ghastly +gherkin +gherkin's +gherkins +ghetto +ghetto's +ghettoes +ghettos +ghost +ghost's +ghosted +ghosting +ghostlier +ghostliest +ghostliness +ghostliness's +ghostly +ghosts +ghostwrite +ghostwriter +ghostwriter's +ghostwriters +ghostwrites +ghostwriting +ghostwritten +ghostwrote +ghoul +ghoul's +ghoulish +ghouls +giant +giant's +giantess +giantess's +giantesses +giants +gibber +gibbered +gibbering +gibberish +gibberish's +gibbers +gibbet +gibbet's +gibbeted +gibbeting +gibbets +gibbon +gibbon's +gibbons +gibe +gibe's +gibed +gibes +gibing +giblet +giblet's +giblets +giddier +giddiest +giddily +giddiness +giddiness's +giddy +gift +gift's +gifted +gifting +gifts +gig +gig's +gigabit +gigabit's +gigabits +gigabyte +gigabyte's +gigabytes +gigahertz +gigahertz's +gigantic +gigged +gigging +giggle +giggle's +giggled +giggler +giggler's +gigglers +giggles +gigglier +giggliest +giggling +giggly +gigolo +gigolo's +gigolos +gigs +gild +gild's +gilded +gilding +gilds +gill +gill's +gills +gilt +gilt's +gilts +gimcrack +gimcrack's +gimcracks +gimlet +gimlet's +gimleted +gimleting +gimlets +gimme +gimmick +gimmick's +gimmickry +gimmickry's +gimmicks +gimmicky +gimpier +gimpiest +gimpy +gin +gin's +ginger +ginger's +gingerbread +gingerbread's +gingerly +gingersnap +gingersnap's +gingersnaps +gingham +gingham's +gingivitis +gingivitis's +gingko +gingko's +gingkoes +gingkos +ginkgo +ginkgo's +ginkgoes +ginkgos +ginned +ginning +gins +ginseng +ginseng's +gipsies +gipsy +gipsy's +giraffe +giraffe's +giraffes +gird +girded +girder +girder's +girders +girding +girdle +girdle's +girdled +girdles +girdling +girds +girl +girl's +girlfriend +girlfriend's +girlfriends +girlhood +girlhood's +girlhoods +girlish +girlishly +girls +girt +girt's +girted +girth +girth's +girths +girting +girts +gismo +gismo's +gismos +gist +gist's +give +give's +giveaway +giveaway's +giveaways +given +given's +givens +gives +giving +gizmo +gizmo's +gizmos +gizzard +gizzard's +gizzards +glacial +glacially +glacier +glacier's +glaciers +glad +glad's +gladden +gladdened +gladdening +gladdens +gladder +gladdest +glade +glade's +glades +gladiator +gladiator's +gladiatorial +gladiators +gladiola +gladiola's +gladiolas +gladioli +gladiolus +gladiolus's +gladioluses +gladly +gladness +gladness's +glads +glamor +glamor's +glamored +glamoring +glamorize +glamorized +glamorizes +glamorizing +glamorous +glamorously +glamors +glamour +glamour's +glamoured +glamouring +glamourize +glamourized +glamourizes +glamourizing +glamourous +glamours +glance +glance's +glanced +glances +glancing +gland +gland's +glands +glandular +glare +glare's +glared +glares +glaring +glaringly +glass +glass's +glassed +glasses +glassful +glassful's +glassfuls +glassier +glassiest +glassing +glassware +glassware's +glassy +glaucoma +glaucoma's +glaze +glaze's +glazed +glazes +glazier +glazier's +glaziers +glazing +gleam +gleam's +gleamed +gleaming +gleamings +gleams +glean +gleaned +gleaning +gleans +glee +glee's +gleeful +gleefully +glen +glen's +glens +glib +glibber +glibbest +glibly +glibness +glibness's +glide +glide's +glided +glider +glider's +gliders +glides +gliding +glimmer +glimmer's +glimmered +glimmering +glimmering's +glimmerings +glimmers +glimpse +glimpse's +glimpsed +glimpses +glimpsing +glint +glint's +glinted +glinting +glints +glissandi +glissando +glissando's +glissandos +glisten +glisten's +glistened +glistening +glistens +glitch +glitch's +glitches +glitter +glitter's +glittered +glittering +glitters +glittery +glitz +glitz's +glitzier +glitziest +glitzy +gloaming +gloaming's +gloamings +gloat +gloat's +gloated +gloating +gloats +glob +glob's +global +globally +globe +globe's +globes +globetrotter +globetrotter's +globetrotters +globs +globular +globule +globule's +globules +glockenspiel +glockenspiel's +glockenspiels +gloom +gloom's +gloomier +gloomiest +gloomily +gloominess +gloominess's +gloomy +glop +glop's +gloried +glories +glorification +glorification's +glorified +glorifies +glorify +glorifying +glorious +gloriously +glory +glory's +glorying +gloss +gloss's +glossaries +glossary +glossary's +glossed +glosses +glossier +glossies +glossiest +glossiness +glossiness's +glossing +glossy +glossy's +glottides +glottis +glottis's +glottises +glove +glove's +gloved +gloves +gloving +glow +glow's +glowed +glower +glower's +glowered +glowering +glowers +glowing +glowingly +glows +glowworm +glowworm's +glowworms +glucose +glucose's +glue +glue's +glued +glueing +glues +gluey +gluier +gluiest +gluing +glum +glumly +glummer +glummest +glumness +glumness's +glut +glut's +gluten +gluten's +glutinous +gluts +glutted +glutting +glutton +glutton's +gluttonous +gluttonously +gluttons +gluttony +gluttony's +glycerin +glycerin's +glycerine +glycerine's +glycerol +glycerol's +glycogen +glycogen's +glyph +gnarl +gnarled +gnarlier +gnarliest +gnarling +gnarls +gnarly +gnash +gnash's +gnashed +gnashes +gnashing +gnat +gnat's +gnats +gnaw +gnawed +gnawing +gnawn +gnaws +gneiss +gneiss's +gnome +gnome's +gnomes +gnomish +gnu +gnu's +gnus +go +go's +goad +goad's +goaded +goading +goads +goal +goal's +goalie +goalie's +goalies +goalkeeper +goalkeeper's +goalkeepers +goalpost +goalpost's +goalposts +goals +goaltender +goaltender's +goaltenders +goat +goat's +goatee +goatee's +goatees +goatherd +goatherd's +goatherds +goats +goatskin +goatskin's +goatskins +gob +gob's +gobbed +gobbing +gobble +gobble's +gobbled +gobbledegook +gobbledegook's +gobbledygook +gobbledygook's +gobbler +gobbler's +gobblers +gobbles +gobbling +goblet +goblet's +goblets +goblin +goblin's +goblins +gobs +god +god's +godchild +godchild's +godchildren +goddam +goddamed +goddamn +goddamned +goddaughter +goddaughter's +goddaughters +goddess +goddess's +goddesses +godfather +godfather's +godfathers +godforsaken +godhood +godhood's +godless +godlier +godliest +godlike +godliness +godliness's +godly +godmother +godmother's +godmothers +godparent +godparent's +godparents +gods +godsend +godsend's +godsends +godson +godson's +godsons +goes +gofer +gofer's +gofers +goggle +goggle's +goggled +goggles +goggles's +goggling +going +going's +goings +goiter +goiter's +goiters +goitre +goitre's +goitres +gold +gold's +goldbrick +goldbrick's +goldbricked +goldbricking +goldbricks +golden +goldener +goldenest +goldenrod +goldenrod's +goldfinch +goldfinch's +goldfinches +goldfish +goldfish's +goldfishes +golds +goldsmith +goldsmith's +goldsmiths +golf +golf's +golfed +golfer +golfer's +golfers +golfing +golfs +gollies +golly +golly's +gonad +gonad's +gonads +gondola +gondola's +gondolas +gondolier +gondolier's +gondoliers +gone +goner +goner's +goners +gong +gong's +gonged +gonging +gongs +gonna +gonorrhea +gonorrhea's +gonorrhoea +gonorrhoea's +goo +goo's +goober +goober's +goobers +good +good's +goodby +goodby's +goodbye +goodbye's +goodbyes +goodbys +goodie +goodie's +goodies +goodlier +goodliest +goodly +goodness +goodness's +goodnight +goods +goods's +goodwill +goodwill's +goody +goody's +gooey +goof +goof's +goofed +goofier +goofiest +goofing +goofs +goofy +gooier +gooiest +gook +gook's +gooks +goon +goon's +goons +goop +goop's +goose +goose's +gooseberries +gooseberry +gooseberry's +goosed +gooses +goosing +gopher +gopher's +gophers +gore +gore's +gored +gores +gorge +gorge's +gorged +gorgeous +gorgeously +gorges +gorging +gorier +goriest +gorilla +gorilla's +gorillas +goriness +goriness's +goring +gorse +gorse's +gory +gosh +gosling +gosling's +goslings +gospel +gospel's +gospels +gossamer +gossamer's +gossip +gossip's +gossiped +gossiping +gossipped +gossipping +gossips +gossipy +got +gotta +gotten +gouge +gouge's +gouged +gouger +gouger's +gougers +gouges +gouging +goulash +goulash's +goulashes +gourd +gourd's +gourds +gourmand +gourmand's +gourmands +gourmet +gourmet's +gourmets +gout +gout's +goutier +goutiest +gouty +govern +governable +governance +governance's +governed +governess +governess's +governesses +governing +government +government's +governmental +governments +governor +governor's +governors +governorship +governorship's +governs +gown +gown's +gowned +gowning +gowns +grab +grab's +grabbed +grabber +grabbing +grabs +grace +grace's +graced +graceful +gracefully +gracefulness +gracefulness's +graceless +gracelessly +gracelessness +gracelessness's +graces +gracing +gracious +graciously +graciousness +graciousness's +grackle +grackle's +grackles +grad +grad's +gradation +gradation's +gradations +grade +grade's +graded +grader +grader's +graders +grades +gradient +gradient's +gradients +grading +grads +gradual +gradually +graduate +graduate's +graduated +graduates +graduating +graduation +graduation's +graduations +graffiti +graffito +graffito's +graft +graft's +grafted +grafter +grafter's +grafters +grafting +grafts +grail +grain +grain's +grainier +grainiest +grains +grainy +gram +gram's +grammar +grammar's +grammarian +grammarian's +grammarians +grammars +grammatical +grammatically +gramophone +grams +granaries +granary +granary's +grand +grand's +grandad +grandad's +grandads +grandchild +grandchild's +grandchildren +granddad +granddad's +granddads +granddaughter +granddaughter's +granddaughters +grandee +grandee's +grandees +grander +grandest +grandeur +grandeur's +grandfather +grandfather's +grandfathered +grandfathering +grandfathers +grandiloquence +grandiloquence's +grandiloquent +grandiose +grandly +grandma +grandma's +grandmas +grandmother +grandmother's +grandmothers +grandness +grandness's +grandpa +grandpa's +grandparent +grandparent's +grandparents +grandpas +grands +grandson +grandson's +grandsons +grandstand +grandstand's +grandstanded +grandstanding +grandstands +grange +grange's +granges +granite +granite's +grannie +grannie's +grannies +granny +granny's +granola +granola's +grant +grant's +granted +granting +grants +granular +granularity +granularity's +granulate +granulated +granulates +granulating +granulation +granulation's +granule +granule's +granules +grape +grape's +grapefruit +grapefruit's +grapefruits +grapes +grapevine +grapevine's +grapevines +graph +graph's +graphed +graphic +graphic's +graphical +graphically +graphics +graphing +graphite +graphite's +graphologist +graphologist's +graphologists +graphology +graphology's +graphs +grapnel +grapnel's +grapnels +grapple +grapple's +grappled +grapples +grappling +grasp +grasp's +grasped +grasping +grasps +grass +grass's +grassed +grasses +grasshopper +grasshopper's +grasshoppers +grassier +grassiest +grassing +grassland +grassland's +grassy +grate +grate's +grated +grateful +gratefully +gratefulness +gratefulness's +grater +grater's +graters +grates +gratification +gratification's +gratifications +gratified +gratifies +gratify +gratifying +grating +grating's +gratings +gratis +gratitude +gratitude's +gratuities +gratuitous +gratuitously +gratuity +gratuity's +grave +grave's +graved +gravel +gravel's +graveled +graveling +gravelled +gravelling +gravelly +gravels +gravely +graven +graver +graves +gravest +gravestone +gravestone's +gravestones +graveyard +graveyard's +graveyards +gravies +graving +gravitate +gravitated +gravitates +gravitating +gravitation +gravitation's +gravitational +gravity +gravity's +gravy +gravy's +gray +gray's +graybeard +graybeard's +graybeards +grayed +grayer +grayest +graying +grayish +grayness +grayness's +grays +graze +graze's +grazed +grazes +grazing +grease +grease's +greased +greasepaint +greasepaint's +greases +greasier +greasiest +greasiness +greasiness's +greasing +greasy +great +great's +greater +greatest +greatly +greatness +greatness's +greats +grebe +grebe's +grebes +greed +greed's +greedier +greediest +greedily +greediness +greediness's +greedy +green +green's +greenback +greenback's +greenbacks +greened +greener +greenery +greenery's +greenest +greengrocer +greengrocer's +greengrocers +greenhorn +greenhorn's +greenhorns +greenhouse +greenhouse's +greenhouses +greening +greenish +greenness +greenness's +greens +greensward +greensward's +greet +greeted +greeting +greeting's +greetings +greets +gregarious +gregariously +gregariousness +gregariousness's +gremlin +gremlin's +gremlins +grenade +grenade's +grenades +grenadier +grenadier's +grenadiers +grew +grey +grey's +greyed +greyer +greyest +greyhound +greyhound's +greyhounds +greying +greyish +greys +grid +grid's +griddle +griddle's +griddlecake +griddlecake's +griddlecakes +griddles +gridiron +gridiron's +gridirons +gridlock +gridlock's +gridlocks +grids +grief +grief's +griefs +grievance +grievance's +grievances +grieve +grieved +grieves +grieving +grievous +grievously +griffin +griffin's +griffins +grill +grill's +grille +grille's +grilled +grilles +grilling +grills +grim +grimace +grimace's +grimaced +grimaces +grimacing +grime +grime's +grimed +grimes +grimier +grimiest +griming +grimly +grimmer +grimmest +grimness +grimness's +grimy +grin +grin's +grind +grind's +grinder +grinder's +grinders +grinding +grinds +grindstone +grindstone's +grindstones +gringo +gringo's +gringos +grinned +grinning +grins +grip +grip's +gripe +gripe's +griped +gripes +griping +grippe +grippe's +gripped +gripping +grips +grislier +grisliest +grisly +grist +grist's +gristle +gristle's +gristlier +gristliest +gristly +grit +grit's +grits +grits's +gritted +grittier +grittiest +gritting +gritty +grizzled +grizzlier +grizzlies +grizzliest +grizzly +grizzly's +groan +groan's +groaned +groaning +groans +grocer +grocer's +groceries +grocers +grocery +grocery's +grog +grog's +groggier +groggiest +groggily +grogginess +grogginess's +groggy +groin +groin's +groins +grommet +grommet's +grommets +groom +groom's +groomed +grooming +grooming's +grooms +groove +groove's +grooved +grooves +groovier +grooviest +grooving +groovy +grope +grope's +groped +gropes +groping +grosbeak +grosbeak's +grosbeaks +gross +gross's +grossed +grosser +grosses +grossest +grossing +grossly +grossness +grossness's +grotesque +grotesque's +grotesquely +grotesques +grotto +grotto's +grottoes +grottos +grouch +grouch's +grouched +grouches +grouchier +grouchiest +grouchiness +grouchiness's +grouching +grouchy +ground +ground's +groundbreaking +groundbreaking's +groundbreakings +grounded +grounder +grounder's +grounders +groundhog +groundhog's +groundhogs +grounding +grounding's +groundings +groundless +groundlessly +grounds +groundswell +groundswell's +groundswells +groundwork +groundwork's +group +group's +grouped +grouper +grouper's +groupers +groupie +groupie's +groupies +grouping +grouping's +groupings +groups +grouse +grouse's +groused +grouses +grousing +grout +grout's +grouted +grouting +grouts +grove +grove's +grovel +groveled +groveler +groveler's +grovelers +groveling +grovelled +groveller +groveller's +grovellers +grovelling +grovels +groves +grow +grower +grower's +growers +growing +growl +growl's +growled +growling +growls +grown +grownup +grownup's +grownups +grows +growth +growth's +growths +grub +grub's +grubbed +grubbier +grubbiest +grubbiness +grubbiness's +grubbing +grubby +grubs +grubstake +grubstake's +grudge +grudge's +grudged +grudges +grudging +grudgingly +gruel +gruel's +grueling +gruelings +gruelling +gruellings +gruesome +gruesomely +gruesomer +gruesomest +gruff +gruffer +gruffest +gruffly +gruffness +gruffness's +grumble +grumble's +grumbled +grumbler +grumbler's +grumblers +grumbles +grumbling +grumpier +grumpiest +grumpily +grumpiness +grumpiness's +grumpy +grunge +grunge's +grungier +grungiest +grungy +grunt +grunt's +grunted +grunting +grunts +gryphon +gryphon's +gryphons +gs +guacamole +guacamole's +guano +guano's +guarantee +guarantee's +guaranteed +guaranteeing +guarantees +guarantied +guaranties +guarantor +guarantor's +guarantors +guaranty +guaranty's +guarantying +guard +guard's +guarded +guardedly +guardhouse +guardhouse's +guardhouses +guardian +guardian's +guardians +guardianship +guardianship's +guarding +guardrail +guardrail's +guardrails +guardroom +guardroom's +guardrooms +guards +guardsman +guardsman's +guardsmen +guava +guava's +guavas +gubernatorial +guerilla +guerilla's +guerillas +guerrilla +guerrilla's +guerrillas +guess +guess's +guessable +guessed +guesser +guesser's +guessers +guesses +guessing +guesstimate +guesstimate's +guesstimated +guesstimates +guesstimating +guesswork +guesswork's +guest +guest's +guested +guesting +guests +guff +guff's +guffaw +guffaw's +guffawed +guffawing +guffaws +guidance +guidance's +guide +guide's +guidebook +guidebook's +guidebooks +guided +guideline +guideline's +guidelines +guides +guiding +guild +guild's +guilder +guilder's +guilders +guilds +guile +guile's +guileful +guileless +guillotine +guillotine's +guillotined +guillotines +guillotining +guilt +guilt's +guiltier +guiltiest +guiltily +guiltiness +guiltiness's +guiltless +guilty +guinea +guinea's +guineas +guise +guise's +guises +guitar +guitar's +guitarist +guitarist's +guitarists +guitars +gulag +gulag's +gulags +gulch +gulch's +gulches +gulf +gulf's +gulfs +gull +gull's +gulled +gullet +gullet's +gullets +gulley +gulley's +gullibility +gullibility's +gullible +gullies +gulling +gulls +gully +gully's +gulp +gulp's +gulped +gulping +gulps +gum +gum's +gumbo +gumbo's +gumbos +gumdrop +gumdrop's +gumdrops +gummed +gummier +gummiest +gumming +gummy +gumption +gumption's +gums +gun +gun's +gunboat +gunboat's +gunboats +gunfight +gunfight's +gunfights +gunfire +gunfire's +gunk +gunk's +gunman +gunman's +gunmen +gunned +gunner +gunner's +gunners +gunnery +gunnery's +gunning +gunny +gunny's +gunnysack +gunnysack's +gunnysacks +gunpoint +gunpoint's +gunpowder +gunpowder's +gunrunner +gunrunner's +gunrunners +gunrunning +gunrunning's +guns +gunshot +gunshot's +gunshots +gunslinger +gunslinger's +gunslingers +gunsmith +gunsmith's +gunsmiths +gunwale +gunwale's +gunwales +guppies +guppy +guppy's +gurgle +gurgle's +gurgled +gurgles +gurgling +gurney +gurney's +gurneys +guru +guru's +gurus +gush +gush's +gushed +gusher +gusher's +gushers +gushes +gushier +gushiest +gushing +gushy +gusset +gusset's +gusseted +gusseting +gussets +gust +gust's +gustatory +gusted +gustier +gustiest +gusting +gusto +gusto's +gusts +gusty +gut +gut's +gutless +guts +gutsier +gutsiest +gutsy +gutted +gutter +gutter's +guttered +guttering +gutters +guttersnipe +guttersnipe's +guttersnipes +gutting +guttural +guttural's +gutturals +guy +guy's +guyed +guying +guys +guzzle +guzzled +guzzler +guzzler's +guzzlers +guzzles +guzzling +gybe +gybe's +gybed +gybes +gybing +gym +gym's +gymnasia +gymnasium +gymnasium's +gymnasiums +gymnast +gymnast's +gymnastic +gymnastics +gymnastics's +gymnasts +gymnosperm +gymnosperm's +gymnosperms +gyms +gynecological +gynecologist +gynecologist's +gynecologists +gynecology +gynecology's +gyp +gyp's +gypped +gypping +gyps +gypsies +gypsum +gypsum's +gypsy +gypsy's +gyrate +gyrated +gyrates +gyrating +gyration +gyration's +gyrations +gyro +gyro's +gyros +gyroscope +gyroscope's +gyroscopes +h +h'm +ha +haberdasher +haberdasher's +haberdasheries +haberdashers +haberdashery +haberdashery's +habit +habit's +habitability +habitability's +habitable +habitat +habitat's +habitation +habitation's +habitations +habitats +habits +habitual +habitually +habituate +habituated +habituates +habituating +habituation +habituation's +hacienda +hacienda's +haciendas +hack +hack's +hacked +hacker +hacker's +hackers +hacking +hackle +hackle's +hackles +hackney +hackney's +hackneyed +hackneying +hackneys +hacks +hacksaw +hacksaw's +hacksaws +had +haddock +haddock's +haddocks +hadn't +haemoglobin +haemoglobin's +haemophilia +haemophilia's +haemorrhage +haemorrhage's +haemorrhaged +haemorrhages +haemorrhaging +haemorrhoids +hafnium +hafnium's +haft +haft's +hafts +hag +hag's +haggard +haggle +haggle's +haggled +haggler +haggler's +hagglers +haggles +haggling +hags +hah +haiku +haiku's +hail +hail's +hailed +hailing +hails +hailstone +hailstone's +hailstones +hailstorm +hailstorm's +hailstorms +hair +hair's +hairbreadth +hairbreadth's +hairbreadths +hairbrush +hairbrush's +hairbrushes +haircut +haircut's +haircuts +hairdo +hairdo's +hairdos +hairdresser +hairdresser's +hairdressers +hairdressing +hairdressing's +haired +hairier +hairiest +hairiness +hairiness's +hairless +hairline +hairline's +hairlines +hairnet +hairnet's +hairnets +hairpiece +hairpiece's +hairpieces +hairpin +hairpin's +hairpins +hairs +hairsbreadth +hairsbreadth's +hairsbreadths +hairsplitting +hairsplitting's +hairspring +hairspring's +hairsprings +hairstyle +hairstyle's +hairstyles +hairstylist +hairstylist's +hairstylists +hairy +hake +hake's +hakes +halberd +halberd's +halberds +halcyon +hale +haled +haler +hales +halest +half +half's +halfback +halfback's +halfbacks +halfhearted +halfheartedly +halfheartedness +halfheartedness's +halfpence +halfpennies +halfpenny +halfpenny's +halftime +halftime's +halftimes +halfway +halibut +halibut's +halibuts +haling +halitosis +halitosis's +hall +hall's +halleluiah +halleluiah's +halleluiahs +hallelujah +hallelujah's +hallelujahs +hallmark +hallmark's +hallmarked +hallmarking +hallmarks +hallow +hallowed +hallowing +hallows +halls +hallucinate +hallucinated +hallucinates +hallucinating +hallucination +hallucination's +hallucinations +hallucinatory +hallucinogen +hallucinogen's +hallucinogenic +hallucinogenic's +hallucinogenics +hallucinogens +hallway +hallway's +hallways +halo +halo's +haloed +haloes +halogen +halogen's +halogens +haloing +halon +halos +halt +halt's +halted +halter +halter's +haltered +haltering +halters +halting +haltingly +halts +halve +halved +halves +halving +halyard +halyard's +halyards +ham +ham's +hamburger +hamburger's +hamburgers +hamlet +hamlet's +hamlets +hammed +hammer +hammer's +hammered +hammerhead +hammerhead's +hammerheads +hammering +hammerings +hammers +hamming +hammock +hammock's +hammocks +hamper +hamper's +hampered +hampering +hampers +hams +hamster +hamster's +hamsters +hamstring +hamstring's +hamstringing +hamstrings +hamstrung +hand +hand's +handbag +handbag's +handbags +handball +handball's +handballs +handbill +handbill's +handbills +handbook +handbook's +handbooks +handcar +handcar's +handcars +handcart +handcart's +handcarts +handcraft +handcraft's +handcrafted +handcrafting +handcrafts +handcuff +handcuff's +handcuffed +handcuffing +handcuffs +handed +handedness +handful +handful's +handfuls +handgun +handgun's +handguns +handicap +handicap's +handicapped +handicapper +handicapper's +handicappers +handicapping +handicaps +handicraft +handicraft's +handicrafts +handier +handiest +handily +handiness +handiness's +handing +handiwork +handiwork's +handkerchief +handkerchief's +handkerchiefs +handkerchieves +handle +handle's +handlebar +handlebar's +handlebars +handled +handler +handler's +handlers +handles +handling +handmade +handmaid +handmaid's +handmaiden +handmaiden's +handmaidens +handmaids +handout +handout's +handouts +handpick +handpicked +handpicking +handpicks +handrail +handrail's +handrails +hands +handset +handset's +handsets +handsful +handshake +handshake's +handshakes +handshaking +handsome +handsomely +handsomeness +handsomeness's +handsomer +handsomest +handspring +handspring's +handsprings +handstand +handstand's +handstands +handwork +handwork's +handwriting +handwriting's +handwritten +handy +handyman +handyman's +handymen +hang +hang's +hangar +hangar's +hangars +hangdog +hanged +hanger +hanger's +hangers +hanging +hanging's +hangings +hangman +hangman's +hangmen +hangnail +hangnail's +hangnails +hangout +hangout's +hangouts +hangover +hangover's +hangovers +hangs +hank +hank's +hanker +hankered +hankering +hankering's +hankerings +hankers +hankie +hankie's +hankies +hanks +hanky +hanky's +hansom +hansom's +hansoms +haphazard +haphazardly +hapless +happen +happened +happening +happening's +happenings +happens +happenstance +happenstance's +happenstances +happier +happiest +happily +happiness +happiness's +happy +harangue +harangue's +harangued +harangues +haranguing +harass +harassed +harasses +harassing +harassment +harassment's +harbinger +harbinger's +harbingers +harbor +harbor's +harbored +harboring +harbors +hard +hardback +hardback's +hardbacks +hardball +hardball's +hardcover +hardcover's +hardcovers +harden +hardened +hardener +hardener's +hardeners +hardening +hardens +harder +hardest +hardheaded +hardheadedly +hardheadedness +hardheadedness's +hardhearted +hardheartedly +hardheartedness +hardheartedness's +hardier +hardiest +hardily +hardiness +hardiness's +hardline +hardliner +hardliner's +hardliners +hardly +hardness +hardness's +hardship +hardship's +hardships +hardtack +hardtack's +hardtop +hardtop's +hardtops +hardware +hardware's +hardwood +hardwood's +hardwoods +hardy +hare +hare's +harebrained +hared +harelip +harelip's +harelips +harem +harem's +harems +hares +haring +hark +harked +harken +harkened +harkening +harkens +harking +harks +harlequin +harlequin's +harlequins +harlot +harlot's +harlots +harm +harm's +harmed +harmful +harmfully +harmfulness +harmfulness's +harming +harmless +harmlessly +harmlessness +harmlessness's +harmonic +harmonic's +harmonica +harmonica's +harmonically +harmonicas +harmonics +harmonies +harmonious +harmoniously +harmoniousness +harmoniousness's +harmonization +harmonization's +harmonize +harmonized +harmonizes +harmonizing +harmony +harmony's +harms +harness +harness's +harnessed +harnesses +harnessing +harp +harp's +harped +harpies +harping +harpist +harpist's +harpists +harpoon +harpoon's +harpooned +harpooning +harpoons +harps +harpsichord +harpsichord's +harpsichords +harpy +harpy's +harridan +harridan's +harridans +harried +harries +harrow +harrow's +harrowed +harrowing +harrows +harry +harrying +harsh +harsher +harshest +harshly +harshness +harshness's +hart +hart's +harts +harvest +harvest's +harvested +harvester +harvester's +harvesters +harvesting +harvests +has +hash +hash's +hashed +hasheesh +hasheesh's +hashes +hashing +hashish +hashish's +hasn't +hasp +hasp's +hasps +hassle +hassle's +hassled +hassles +hassling +hassock +hassock's +hassocks +haste +haste's +hasted +hasten +hastened +hastening +hastens +hastes +hastier +hastiest +hastily +hastiness +hastiness's +hasting +hasty +hat +hat's +hatch +hatch's +hatchback +hatchback's +hatchbacks +hatched +hatcheries +hatchery +hatchery's +hatches +hatchet +hatchet's +hatchets +hatching +hatching's +hatchway +hatchway's +hatchways +hate +hate's +hated +hateful +hatefully +hatefulness +hatefulness's +hater +hater's +haters +hates +hath +hating +hatred +hatred's +hatreds +hats +hatted +hatter +hatter's +hatters +hatting +haughtier +haughtiest +haughtily +haughtiness +haughtiness's +haughty +haul +haul's +hauled +hauler +hauler's +haulers +hauling +hauls +haunch +haunch's +haunches +haunt +haunt's +haunted +haunting +hauntingly +haunts +hauteur +hauteur's +have +have's +haven +haven's +haven't +havens +haversack +haversack's +haversacks +haves +having +havoc +havoc's +haw +haw's +hawed +hawing +hawk +hawk's +hawked +hawker +hawker's +hawkers +hawking +hawkish +hawks +haws +hawser +hawser's +hawsers +hawthorn +hawthorn's +hawthorns +hay +hay's +haycock +haycock's +haycocks +hayed +haying +hayloft +hayloft's +haylofts +haymow +haymow's +haymows +hays +hayseed +hayseed's +hayseeds +haystack +haystack's +haystacks +haywire +hazard +hazard's +hazarded +hazarding +hazardous +hazards +haze +haze's +hazed +hazel +hazel's +hazelnut +hazelnut's +hazelnuts +hazels +hazes +hazier +haziest +hazily +haziness +haziness's +hazing +hazing's +hazings +hazy +he +he'd +he'll +he's +head +head's +headache +headache's +headaches +headband +headband's +headbands +headboard +headboard's +headboards +headdress +headdress's +headdresses +headed +header +header's +headers +headfirst +headgear +headgear's +headhunter +headhunter's +headhunters +headier +headiest +heading +heading's +headings +headland +headland's +headlands +headless +headlight +headlight's +headlights +headline +headline's +headlined +headlines +headlining +headlock +headlock's +headlocks +headlong +headmaster +headmaster's +headmasters +headmistress +headmistress's +headmistresses +headphone +headphone's +headphones +headquarter +headquarters +headquarters's +headrest +headrest's +headrests +headroom +headroom's +heads +headset +headset's +headsets +headstone +headstone's +headstones +headstrong +headwaiter +headwaiter's +headwaiters +headwaters +headwaters's +headway +headway's +headwind +headwind's +headwinds +headword +headword's +headwords +heady +heal +healed +healer +healer's +healers +healing +heals +health +health's +healthful +healthfully +healthfulness +healthfulness's +healthier +healthiest +healthily +healthiness +healthiness's +healthy +heap +heap's +heaped +heaping +heaps +hear +heard +hearer +hearer's +hearers +hearing +hearing's +hearings +hearken +hearkened +hearkening +hearkens +hears +hearsay +hearsay's +hearse +hearse's +hearses +heart +heart's +heartache +heartache's +heartaches +heartbeat +heartbeat's +heartbeats +heartbreak +heartbreak's +heartbreaking +heartbreaks +heartbroken +heartburn +heartburn's +hearten +heartened +heartening +heartens +heartfelt +hearth +hearth's +hearths +heartier +hearties +heartiest +heartily +heartiness +heartiness's +heartland +heartland's +heartlands +heartless +heartlessly +heartlessness +heartlessness's +heartrending +hearts +heartsick +heartstrings +heartstrings's +heartthrob +heartthrob's +heartthrobs +heartwarming +hearty +hearty's +heat +heat's +heated +heatedly +heater +heater's +heaters +heath +heath's +heathen +heathen's +heathenish +heathens +heather +heather's +heaths +heating +heats +heatstroke +heatstroke's +heave +heave's +heaved +heaven +heaven's +heavenlier +heavenliest +heavenly +heavens +heavens's +heavenward +heavenwards +heaves +heavier +heavies +heaviest +heavily +heaviness +heaviness's +heaving +heavy +heavy's +heavyset +heavyweight +heavyweight's +heavyweights +heck +heck's +heckle +heckle's +heckled +heckler +heckler's +hecklers +heckles +heckling +heckling's +hectare +hectare's +hectares +hectic +hectically +hector +hector's +hectored +hectoring +hectors +hedge +hedge's +hedged +hedgehog +hedgehog's +hedgehogs +hedgerow +hedgerow's +hedgerows +hedges +hedging +hedonism +hedonism's +hedonist +hedonist's +hedonistic +hedonists +heed +heed's +heeded +heedful +heeding +heedless +heedlessly +heedlessness +heedlessness's +heeds +heehaw +heehaw's +heehawed +heehawing +heehaws +heel +heel's +heeled +heeling +heels +heft +heft's +hefted +heftier +heftiest +hefting +hefts +hefty +hegemony +hegemony's +heifer +heifer's +heifers +height +height's +heighten +heightened +heightening +heightens +heights +heinous +heinously +heinousness +heinousness's +heir +heir's +heiress +heiress's +heiresses +heirloom +heirloom's +heirlooms +heirs +heist +heist's +heisted +heisting +heists +held +helical +helices +helicopter +helicopter's +helicoptered +helicoptering +helicopters +heliotrope +heliotrope's +heliotropes +heliport +heliport's +heliports +helium +helium's +helix +helix's +helixes +hell +hell's +hellebore +hellebore's +hellhole +hellhole's +hellholes +hellion +hellion's +hellions +hellish +hellishly +hello +hello's +hellos +helm +helm's +helmet +helmet's +helmets +helms +helmsman +helmsman's +helmsmen +helot +helot's +helots +help +help's +helped +helper +helper's +helpers +helpful +helpfully +helpfulness +helpfulness's +helping +helping's +helpings +helpless +helplessly +helplessness +helplessness's +helpmate +helpmate's +helpmates +helpmeet +helpmeet's +helpmeets +helps +hem +hem's +hematologist +hematologist's +hematologists +hematology +hematology's +hemisphere +hemisphere's +hemispheres +hemispheric +hemispherical +hemline +hemline's +hemlines +hemlock +hemlock's +hemlocks +hemmed +hemming +hemoglobin +hemoglobin's +hemophilia +hemophilia's +hemophiliac +hemophiliac's +hemophiliacs +hemorrhage +hemorrhage's +hemorrhaged +hemorrhages +hemorrhaging +hemorrhoid +hemorrhoid's +hemorrhoids +hemp +hemp's +hempen +hems +hemstitch +hemstitch's +hemstitched +hemstitches +hemstitching +hen +hen's +hence +henceforth +henceforward +henchman +henchman's +henchmen +henna +henna's +hennaed +hennaing +hennas +henpeck +henpecked +henpecking +henpecks +hens +hep +hepatic +hepatitis +hepatitis's +hepper +heppest +heptagon +heptagon's +heptagons +her +her's +herald +herald's +heralded +heraldic +heralding +heraldry +heraldry's +heralds +herb +herb's +herbaceous +herbage +herbage's +herbal +herbalist +herbalist's +herbalists +herbicide +herbicide's +herbicides +herbivore +herbivore's +herbivores +herbivorous +herbs +herculean +herd +herd's +herded +herding +herds +herdsman +herdsman's +herdsmen +here +here's +hereabout +hereabouts +hereafter +hereafter's +hereafters +hereby +hereditary +heredity +heredity's +herein +hereof +heresies +heresy +heresy's +heretic +heretic's +heretical +heretics +hereto +heretofore +hereupon +herewith +heritage +heritage's +heritages +hermaphrodite +hermaphrodite's +hermaphrodites +hermaphroditic +hermetic +hermetically +hermit +hermit's +hermitage +hermitage's +hermitages +hermits +hernia +hernia's +herniae +hernias +hero +hero's +heroes +heroic +heroically +heroics +heroics's +heroin +heroin's +heroine +heroine's +heroins +heroism +heroism's +heron +heron's +herons +heros +herpes +herpes's +herring +herring's +herringbone +herringbone's +herrings +hers +herself +hertz +hertz's +hertzes +hes +hesitancy +hesitancy's +hesitant +hesitantly +hesitate +hesitated +hesitates +hesitating +hesitatingly +hesitation +hesitation's +hesitations +heterodox +heterodoxy +heterodoxy's +heterogeneity +heterogeneity's +heterogeneous +heterosexual +heterosexual's +heterosexuality +heterosexuality's +heterosexuals +heuristic +heuristic's +heuristics +hew +hewed +hewer +hewer's +hewers +hewing +hewn +hews +hex +hex's +hexadecimal +hexagon +hexagon's +hexagonal +hexagons +hexameter +hexameter's +hexameters +hexed +hexes +hexing +hey +heyday +heyday's +heydays +hi +hiatus +hiatus's +hiatuses +hibachi +hibachi's +hibachis +hibernate +hibernated +hibernates +hibernating +hibernation +hibernation's +hibiscus +hibiscus's +hibiscuses +hiccough +hiccough's +hiccoughed +hiccoughing +hiccoughs +hiccup +hiccup's +hiccuped +hiccuping +hiccups +hick +hick's +hickey +hickey's +hickeys +hickories +hickory +hickory's +hicks +hid +hidden +hide +hide's +hideaway +hideaway's +hideaways +hidebound +hided +hideous +hideously +hideousness +hideousness's +hideout +hideout's +hideouts +hides +hiding +hiding's +hie +hied +hieing +hierarchical +hierarchically +hierarchies +hierarchy +hierarchy's +hieroglyphic +hieroglyphic's +hieroglyphics +hies +hifalutin +high +high's +highball +highball's +highballs +highborn +highboy +highboy's +highboys +highbrow +highbrow's +highbrows +highchair +highchair's +highchairs +higher +highest +highfalutin +highfaluting +highjack +highjack's +highjacked +highjacker +highjacker's +highjackers +highjacking +highjacks +highland +highland's +highlands +highlight +highlight's +highlighted +highlighter +highlighter's +highlighters +highlighting +highlights +highly +highness +highness's +highs +hightail +hightailed +hightailing +hightails +highway +highway's +highwayman +highwayman's +highwaymen +highways +hijack +hijack's +hijacked +hijacker +hijacker's +hijackers +hijacking +hijacking's +hijackings +hijacks +hike +hike's +hiked +hiker +hiker's +hikers +hikes +hiking +hilarious +hilariously +hilarity +hilarity's +hill +hill's +hillbillies +hillbilly +hillbilly's +hillier +hilliest +hillock +hillock's +hillocks +hills +hillside +hillside's +hillsides +hilltop +hilltop's +hilltops +hilly +hilt +hilt's +hilts +him +him's +hims +himself +hind +hind's +hinder +hindered +hindering +hinders +hindmost +hindquarter +hindquarter's +hindquarters +hindrance +hindrance's +hindrances +hinds +hindsight +hindsight's +hinge +hinge's +hinged +hinges +hinging +hint +hint's +hinted +hinterland +hinterland's +hinterlands +hinting +hints +hip +hip's +hipped +hipper +hippest +hippie +hippie's +hippies +hipping +hippo +hippo's +hippopotami +hippopotamus +hippopotamus's +hippopotamuses +hippos +hippy +hippy's +hips +hire +hire's +hired +hireling +hireling's +hirelings +hires +hiring +hirsute +his +hiss +hiss's +hissed +hisses +hissing +histamine +histamine's +histamines +histogram +histogram's +histograms +historian +historian's +historians +historic +historical +historically +histories +history +history's +histrionic +histrionics +histrionics's +hit +hit's +hitch +hitch's +hitched +hitches +hitchhike +hitchhike's +hitchhiked +hitchhiker +hitchhiker's +hitchhikers +hitchhikes +hitchhiking +hitching +hither +hitherto +hits +hitter +hitter's +hitters +hitting +hive +hive's +hived +hives +hiving +ho +ho's +hoagie +hoagie's +hoagies +hoagy +hoagy's +hoard +hoard's +hoarded +hoarder +hoarder's +hoarders +hoarding +hoards +hoarfrost +hoarfrost's +hoarier +hoariest +hoariness +hoariness's +hoarse +hoarsely +hoarseness +hoarseness's +hoarser +hoarsest +hoary +hoax +hoax's +hoaxed +hoaxer +hoaxer's +hoaxers +hoaxes +hoaxing +hob +hob's +hobbies +hobbit +hobble +hobble's +hobbled +hobbles +hobbling +hobby +hobby's +hobbyhorse +hobbyhorse's +hobbyhorses +hobbyist +hobbyist's +hobbyists +hobgoblin +hobgoblin's +hobgoblins +hobnail +hobnail's +hobnailed +hobnailing +hobnails +hobnob +hobnobbed +hobnobbing +hobnobs +hobo +hobo's +hoboes +hobos +hobs +hock +hock's +hocked +hockey +hockey's +hocking +hocks +hockshop +hockshop's +hockshops +hod +hod's +hodgepodge +hodgepodge's +hodgepodges +hods +hoe +hoe's +hoed +hoedown +hoedown's +hoedowns +hoeing +hoes +hog +hog's +hogan +hogan's +hogans +hogged +hogging +hoggish +hogs +hogshead +hogshead's +hogsheads +hogwash +hogwash's +hoist +hoist's +hoisted +hoisting +hoists +hokey +hokier +hokiest +hokum +hokum's +hold +hold's +holder +holder's +holders +holding +holding's +holdings +holdout +holdout's +holdouts +holdover +holdover's +holdovers +holds +holdup +holdup's +holdups +hole +hole's +holed +holes +holiday +holiday's +holidayed +holidaying +holidays +holier +holiest +holiness +holiness's +holing +holistic +holler +holler's +hollered +hollering +hollers +hollies +hollow +hollow's +hollowed +hollower +hollowest +hollowing +hollowly +hollowness +hollowness's +hollows +holly +holly's +hollyhock +hollyhock's +hollyhocks +holocaust +holocaust's +holocausts +hologram +hologram's +holograms +holograph +holograph's +holographic +holographs +holography +holography's +holster +holster's +holstered +holstering +holsters +holy +homage +homage's +homages +homburg +homburg's +homburgs +home +home's +homebodies +homebody +homebody's +homeboy +homeboy's +homeboys +homecoming +homecoming's +homecomings +homed +homegrown +homeland +homeland's +homelands +homeless +homeless's +homelessness +homelessness's +homelier +homeliest +homeliness +homeliness's +homely +homemade +homemaker +homemaker's +homemakers +homeopathic +homeopathy +homeopathy's +homeowner +homeowner's +homeowners +homepage +homepage's +homepages +homer +homer's +homered +homering +homeroom +homeroom's +homerooms +homers +homes +homesick +homesickness +homesickness's +homespun +homespun's +homestead +homestead's +homesteaded +homesteader +homesteader's +homesteaders +homesteading +homesteads +homestretch +homestretch's +homestretches +hometown +hometown's +hometowns +homeward +homewards +homework +homework's +homey +homey's +homeyness +homeyness's +homeys +homicidal +homicide +homicide's +homicides +homie +homie's +homier +homies +homiest +homilies +homily +homily's +hominess +hominess's +homing +hominy +hominy's +homogeneity +homogeneity's +homogeneous +homogeneously +homogenization +homogenization's +homogenize +homogenized +homogenizes +homogenizing +homograph +homograph's +homographs +homonym +homonym's +homonyms +homophobia +homophobia's +homophobic +homophone +homophone's +homophones +homosexual +homosexual's +homosexuality +homosexuality's +homosexuals +homy +honcho +honcho's +honchos +hone +hone's +honed +hones +honest +honester +honestest +honestly +honesty +honesty's +honey +honey's +honeybee +honeybee's +honeybees +honeycomb +honeycomb's +honeycombed +honeycombing +honeycombs +honeydew +honeydew's +honeydews +honeyed +honeying +honeymoon +honeymoon's +honeymooned +honeymooner +honeymooner's +honeymooners +honeymooning +honeymoons +honeys +honeysuckle +honeysuckle's +honeysuckles +honied +honing +honk +honk's +honked +honking +honks +honor +honor's +honorable +honorably +honoraria +honorarium +honorarium's +honorariums +honorary +honored +honorific +honorific's +honorifics +honoring +honors +hooch +hooch's +hood +hood's +hooded +hooding +hoodlum +hoodlum's +hoodlums +hoodoo +hoodoo's +hoodooed +hoodooing +hoodoos +hoods +hoodwink +hoodwinked +hoodwinking +hoodwinks +hooey +hooey's +hoof +hoof's +hoofed +hoofing +hoofs +hook +hook's +hookah +hookah's +hookahs +hooked +hooker +hooker's +hookers +hookey +hookey's +hooking +hooks +hookup +hookup's +hookups +hookworm +hookworm's +hookworms +hooky +hooky's +hooligan +hooligan's +hooliganism +hooliganism's +hooligans +hoop +hoop's +hooped +hooping +hoopla +hoopla's +hoops +hoorah +hoorah's +hoorahs +hooray +hooray's +hoorayed +hooraying +hoorays +hoot +hoot's +hootch +hootch's +hooted +hooter +hooter's +hooters +hooting +hoots +hooves +hop +hop's +hope +hope's +hoped +hopeful +hopeful's +hopefully +hopefulness +hopefulness's +hopefuls +hopeless +hopelessly +hopelessness +hopelessness's +hopes +hoping +hopped +hopper +hopper's +hoppers +hopping +hops +hopscotch +hopscotch's +hopscotched +hopscotches +hopscotching +horde +horde's +horded +hordes +hording +horizon +horizon's +horizons +horizontal +horizontal's +horizontally +horizontals +hormonal +hormone +hormone's +hormones +horn +horn's +horned +hornet +hornet's +hornets +hornier +horniest +hornless +hornpipe +hornpipe's +hornpipes +horns +horny +horology +horology's +horoscope +horoscope's +horoscopes +horrendous +horrendously +horrible +horribly +horrid +horridly +horrific +horrified +horrifies +horrify +horrifying +horror +horror's +horrors +horse +horse's +horseback +horseback's +horsed +horseflies +horsefly +horsefly's +horsehair +horsehair's +horsehide +horsehide's +horseman +horseman's +horsemanship +horsemanship's +horsemen +horseplay +horseplay's +horsepower +horsepower's +horseradish +horseradish's +horseradishes +horses +horseshoe +horseshoe's +horseshoed +horseshoeing +horseshoes +horsetail +horsetail's +horsetails +horsewhip +horsewhip's +horsewhipped +horsewhipping +horsewhips +horsewoman +horsewoman's +horsewomen +horsey +horsier +horsiest +horsing +horsy +horticultural +horticulture +horticulture's +horticulturist +horticulturist's +horticulturists +hos +hosanna +hosanna's +hosannas +hose +hose's +hosed +hoses +hosiery +hosiery's +hosing +hospice +hospice's +hospices +hospitable +hospitably +hospital +hospital's +hospitality +hospitality's +hospitalization +hospitalization's +hospitalizations +hospitalize +hospitalized +hospitalizes +hospitalizing +hospitals +host +host's +hostage +hostage's +hostages +hosted +hostel +hostel's +hosteled +hosteler +hosteler's +hostelers +hosteling +hostelled +hostelling +hostelries +hostelry +hostelry's +hostels +hostess +hostess's +hostessed +hostesses +hostessing +hostile +hostile's +hostilely +hostiles +hostilities +hostilities's +hostility +hostility's +hosting +hostler +hostler's +hostlers +hosts +hot +hotbed +hotbed's +hotbeds +hotcake +hotcake's +hotcakes +hotel +hotel's +hotelier +hotelier's +hoteliers +hotels +hothead +hothead's +hotheaded +hotheadedly +hotheadedness +hotheadedness's +hotheads +hothouse +hothouse's +hothouses +hotly +hotness +hotness's +hotshot +hotshot's +hotshots +hotter +hottest +hoummos +hound +hound's +hounded +hounding +hounds +hour +hour's +hourglass +hourglass's +hourglasses +hourly +hours +house +house's +houseboat +houseboat's +houseboats +housebound +housebreak +housebreaking +housebreaking's +housebreaks +housebroke +housebroken +houseclean +housecleaned +housecleaning +housecleaning's +housecleans +housecoat +housecoat's +housecoats +housed +houseflies +housefly +housefly's +household +household's +householder +householder's +householders +households +househusband +househusband's +househusbands +housekeeper +housekeeper's +housekeepers +housekeeping +housekeeping's +housemaid +housemaid's +housemaids +housemother +housemother's +housemothers +houseplant +houseplant's +houseplants +houses +housetop +housetop's +housetops +housewares +housewares's +housewarming +housewarming's +housewarmings +housewife +housewife's +housewives +housework +housework's +housing +housing's +housings +hove +hovel +hovel's +hovels +hover +hovercraft +hovercraft's +hovered +hovering +hovers +how +how's +howdah +howdah's +howdahs +howdy +however +howitzer +howitzer's +howitzers +howl +howl's +howled +howler +howler's +howlers +howling +howls +hows +howsoever +hub +hub's +hubbies +hubbub +hubbub's +hubbubs +hubby +hubby's +hubcap +hubcap's +hubcaps +hubris +hubris's +hubs +huckleberries +huckleberry +huckleberry's +huckster +huckster's +huckstered +huckstering +hucksters +huddle +huddle's +huddled +huddles +huddling +hue +hue's +hued +hues +huff +huff's +huffed +huffier +huffiest +huffily +huffing +huffs +huffy +hug +hug's +huge +hugely +hugeness +hugeness's +huger +hugest +hugged +hugging +hugs +huh +hula +hula's +hulas +hulk +hulk's +hulking +hulks +hull +hull's +hullabaloo +hullabaloo's +hullabaloos +hulled +hulling +hulls +hum +hum's +human +human's +humane +humanely +humaneness +humaneness's +humaner +humanest +humanism +humanism's +humanist +humanist's +humanistic +humanists +humanitarian +humanitarian's +humanitarianism +humanitarianism's +humanitarians +humanities +humanities's +humanity +humanity's +humanization +humanization's +humanize +humanized +humanizer +humanizer's +humanizers +humanizes +humanizing +humankind +humankind's +humanly +humanness +humanness's +humanoid +humanoid's +humanoids +humans +humble +humbled +humbleness +humbleness's +humbler +humbles +humblest +humbling +humblings +humbly +humbug +humbug's +humbugged +humbugging +humbugs +humdinger +humdinger's +humdingers +humdrum +humdrum's +humeri +humerus +humerus's +humid +humidified +humidifier +humidifier's +humidifiers +humidifies +humidify +humidifying +humidity +humidity's +humidor +humidor's +humidors +humiliate +humiliated +humiliates +humiliating +humiliation +humiliation's +humiliations +humility +humility's +hummed +humming +hummingbird +hummingbird's +hummingbirds +hummock +hummock's +hummocks +humongous +humor +humor's +humored +humoring +humorist +humorist's +humorists +humorless +humorlessness +humorlessness's +humorous +humorously +humors +hump +hump's +humpback +humpback's +humpbacked +humpbacks +humped +humping +humps +hums +humungous +humus +humus's +hunch +hunch's +hunchback +hunchback's +hunchbacked +hunchbacks +hunched +hunches +hunching +hundred +hundred's +hundredfold +hundreds +hundredth +hundredth's +hundredths +hundredweight +hundredweight's +hundredweights +hung +hunger +hunger's +hungered +hungering +hungers +hungover +hungrier +hungriest +hungrily +hungry +hunk +hunk's +hunker +hunkered +hunkering +hunkers +hunks +hunt +hunt's +hunted +hunter +hunter's +hunters +hunting +hunting's +huntress +huntress's +huntresses +hunts +huntsman +huntsman's +huntsmen +hurdle +hurdle's +hurdled +hurdler +hurdler's +hurdlers +hurdles +hurdling +hurl +hurl's +hurled +hurler +hurler's +hurlers +hurling +hurls +hurrah +hurrah's +hurrahed +hurrahing +hurrahs +hurray +hurray's +hurrayed +hurraying +hurrays +hurricane +hurricane's +hurricanes +hurried +hurriedly +hurries +hurry +hurry's +hurrying +hurt +hurt's +hurtful +hurting +hurtle +hurtled +hurtles +hurtling +hurts +husband +husband's +husbanded +husbanding +husbandry +husbandry's +husbands +hush +hush's +hushed +hushes +hushing +husk +husk's +husked +husker +husker's +huskers +huskier +huskies +huskiest +huskily +huskiness +huskiness's +husking +husks +husky +husky's +hussar +hussar's +hussars +hussies +hussy +hussy's +hustings +hustings's +hustle +hustle's +hustled +hustler +hustler's +hustlers +hustles +hustling +hut +hut's +hutch +hutch's +hutches +huts +hutzpa +hutzpa's +hutzpah +hutzpah's +hyacinth +hyacinth's +hyacinths +hyaena +hyaena's +hyaenas +hybrid +hybrid's +hybridize +hybridized +hybridizes +hybridizing +hybrids +hydra +hydra's +hydrae +hydrangea +hydrangea's +hydrangeas +hydrant +hydrant's +hydrants +hydras +hydrate +hydrate's +hydrated +hydrates +hydrating +hydraulic +hydraulically +hydraulics +hydraulics's +hydrocarbon +hydrocarbon's +hydrocarbons +hydroelectric +hydroelectricity +hydroelectricity's +hydrofoil +hydrofoil's +hydrofoils +hydrogen +hydrogen's +hydrogenate +hydrogenated +hydrogenates +hydrogenating +hydrology +hydrology's +hydrolysis +hydrolysis's +hydrometer +hydrometer's +hydrometers +hydrophobia +hydrophobia's +hydroplane +hydroplane's +hydroplaned +hydroplanes +hydroplaning +hydroponic +hydroponics +hydroponics's +hydrosphere +hydrosphere's +hydrotherapy +hydrotherapy's +hyena +hyena's +hyenas +hygiene +hygiene's +hygienic +hygienically +hygienist +hygienist's +hygienists +hygrometer +hygrometer's +hygrometers +hying +hymen +hymen's +hymens +hymn +hymn's +hymnal +hymnal's +hymnals +hymned +hymning +hymns +hype +hype's +hyped +hyper +hyperactive +hyperactivity +hyperactivity's +hyperbola +hyperbola's +hyperbolae +hyperbolas +hyperbole +hyperbole's +hyperbolic +hypercritical +hypercritically +hypermarket +hypersensitive +hypersensitivities +hypersensitivity +hypersensitivity's +hyperspace +hypertension +hypertension's +hypertext +hypertext's +hyperventilate +hyperventilated +hyperventilates +hyperventilating +hyperventilation +hyperventilation's +hypes +hyphen +hyphen's +hyphenate +hyphenate's +hyphenated +hyphenates +hyphenating +hyphenation +hyphenation's +hyphenations +hyphened +hyphening +hyphens +hyping +hypnoses +hypnosis +hypnosis's +hypnotic +hypnotic's +hypnotically +hypnotics +hypnotism +hypnotism's +hypnotist +hypnotist's +hypnotists +hypnotize +hypnotized +hypnotizes +hypnotizing +hypo +hypo's +hypoallergenic +hypochondria +hypochondria's +hypochondriac +hypochondriac's +hypochondriacs +hypocrisies +hypocrisy +hypocrisy's +hypocrite +hypocrite's +hypocrites +hypocritical +hypocritically +hypodermic +hypodermic's +hypodermics +hypoglycemia +hypoglycemia's +hypoglycemic +hypoglycemic's +hypoglycemics +hypos +hypotenuse +hypotenuse's +hypotenuses +hypothalami +hypothalamus +hypothalamus's +hypothermia +hypothermia's +hypotheses +hypothesis +hypothesis's +hypothesize +hypothesized +hypothesizes +hypothesizing +hypothetical +hypothetically +hysterectomies +hysterectomy +hysterectomy's +hysteresis +hysteria +hysteria's +hysteric +hysteric's +hysterical +hysterically +hysterics +hysterics's +i +iPad +iPhone +iPod +iPod's +iTunes +iTunes's +iamb +iamb's +iambic +iambic's +iambics +iambs +ibex +ibex's +ibexes +ibices +ibis +ibis's +ibises +ibuprofen +ibuprofen's +ice +ice's +iceberg +iceberg's +icebergs +icebound +icebox +icebox's +iceboxes +icebreaker +icebreaker's +icebreakers +icecap +icecap's +icecaps +iced +ices +icicle +icicle's +icicles +icier +iciest +icily +iciness +iciness's +icing +icing's +icings +ickier +ickiest +icky +icon +icon's +iconoclast +iconoclast's +iconoclastic +iconoclasts +icons +icy +id +id's +idea +idea's +ideal +ideal's +idealism +idealism's +idealist +idealist's +idealistic +idealistically +idealists +idealization +idealization's +idealize +idealized +idealizes +idealizing +ideally +ideals +ideas +identical +identically +identifiable +identification +identification's +identified +identifier +identifiers +identifies +identify +identifying +identities +identity +identity's +ideogram +ideogram's +ideograms +ideograph +ideograph's +ideographs +ideological +ideologically +ideologies +ideologist +ideologist's +ideologists +ideology +ideology's +ides +ides's +idiocies +idiocy +idiocy's +idiom +idiom's +idiomatic +idiomatically +idioms +idiosyncrasies +idiosyncrasy +idiosyncrasy's +idiosyncratic +idiot +idiot's +idiotic +idiotically +idiots +idle +idle's +idled +idleness +idleness's +idler +idler's +idlers +idles +idlest +idling +idly +idol +idol's +idolater +idolater's +idolaters +idolatrous +idolatry +idolatry's +idolize +idolized +idolizes +idolizing +idols +ids +idyl +idyl's +idyll +idyll's +idyllic +idylls +idyls +if +if's +iffier +iffiest +iffy +ifs +igloo +igloo's +igloos +igneous +ignite +ignited +ignites +igniting +ignition +ignition's +ignitions +ignoble +ignobly +ignominies +ignominious +ignominiously +ignominy +ignominy's +ignoramus +ignoramus's +ignoramuses +ignorance +ignorance's +ignorant +ignorantly +ignore +ignored +ignores +ignoring +iguana +iguana's +iguanas +ikon +ikon's +ikons +ilk +ilk's +ilks +ill +ill's +illegal +illegal's +illegalities +illegality +illegality's +illegally +illegals +illegibility +illegibility's +illegible +illegibly +illegitimacy +illegitimacy's +illegitimate +illegitimately +illiberal +illicit +illicitly +illicitness +illicitness's +illiteracy +illiteracy's +illiterate +illiterate's +illiterates +illness +illness's +illnesses +illogical +illogically +ills +illuminate +illuminated +illuminates +illuminating +illumination +illumination's +illuminations +illumine +illumined +illumines +illumining +illusion +illusion's +illusions +illusive +illusory +illustrate +illustrated +illustrates +illustrating +illustration +illustration's +illustrations +illustrative +illustrator +illustrator's +illustrators +illustrious +image +image's +imaged +imagery +imagery's +images +imaginable +imaginably +imaginary +imagination +imagination's +imaginations +imaginative +imaginatively +imagine +imagined +imagines +imaging +imagining +imam +imam's +imams +imbalance +imbalance's +imbalanced +imbalances +imbecile +imbecile's +imbeciles +imbecilic +imbecilities +imbecility +imbecility's +imbed +imbedded +imbedding +imbeds +imbibe +imbibed +imbibes +imbibing +imbroglio +imbroglio's +imbroglios +imbue +imbued +imbues +imbuing +imitate +imitated +imitates +imitating +imitation +imitation's +imitations +imitative +imitator +imitator's +imitators +immaculate +immaculately +immaculateness +immaculateness's +immanence +immanence's +immanent +immaterial +immature +immaturely +immaturity +immaturity's +immeasurable +immeasurably +immediacy +immediacy's +immediate +immediately +immemorial +immense +immensely +immensities +immensity +immensity's +immerse +immersed +immerses +immersing +immersion +immersion's +immersions +immigrant +immigrant's +immigrants +immigrate +immigrated +immigrates +immigrating +immigration +immigration's +imminence +imminence's +imminent +imminently +immobile +immobility +immobility's +immobilization +immobilization's +immobilize +immobilized +immobilizes +immobilizing +immoderate +immoderately +immodest +immodestly +immodesty +immodesty's +immolate +immolated +immolates +immolating +immolation +immolation's +immoral +immoralities +immorality +immorality's +immorally +immortal +immortal's +immortality +immortality's +immortalize +immortalized +immortalizes +immortalizing +immortally +immortals +immovable +immovably +immoveable +immune +immunity +immunity's +immunization +immunization's +immunizations +immunize +immunized +immunizes +immunizing +immunology +immunology's +immure +immured +immures +immuring +immutability +immutability's +immutable +immutably +imp +imp's +impact +impact's +impacted +impacting +impacts +impair +impaired +impairing +impairment +impairment's +impairments +impairs +impala +impala's +impalas +impale +impaled +impalement +impalement's +impales +impaling +impalpable +impanel +impaneled +impaneling +impanels +impart +imparted +impartial +impartiality +impartiality's +impartially +imparting +imparts +impassable +impasse +impasse's +impasses +impassioned +impassive +impassively +impassivity +impassivity's +impatience +impatience's +impatiences +impatient +impatiently +impeach +impeached +impeaches +impeaching +impeachment +impeachment's +impeachments +impeccability +impeccability's +impeccable +impeccably +impecunious +impecuniousness +impecuniousness's +impedance +impedance's +impede +impeded +impedes +impediment +impediment's +impedimenta +impedimenta's +impediments +impeding +impel +impelled +impelling +impels +impend +impended +impending +impends +impenetrability +impenetrability's +impenetrable +impenetrably +impenitence +impenitence's +impenitent +imperative +imperative's +imperatively +imperatives +imperceptible +imperceptibly +imperfect +imperfect's +imperfection +imperfection's +imperfections +imperfectly +imperfects +imperial +imperial's +imperialism +imperialism's +imperialist +imperialist's +imperialistic +imperialists +imperially +imperials +imperil +imperiled +imperiling +imperilled +imperilling +imperils +imperious +imperiously +imperiousness +imperiousness's +imperishable +impermanence +impermanence's +impermanent +impermeable +impermissible +impersonal +impersonally +impersonate +impersonated +impersonates +impersonating +impersonation +impersonation's +impersonations +impersonator +impersonator's +impersonators +impertinence +impertinence's +impertinent +impertinently +imperturbability +imperturbability's +imperturbable +imperturbably +impervious +impetigo +impetigo's +impetuosity +impetuosity's +impetuous +impetuously +impetus +impetus's +impetuses +impieties +impiety +impiety's +impinge +impinged +impingement +impingement's +impinges +impinging +impious +impiously +impish +impishly +impishness +impishness's +implacability +implacability's +implacable +implacably +implant +implant's +implantation +implantation's +implanted +implanting +implants +implausibilities +implausibility +implausibility's +implausible +implausibly +implement +implement's +implementable +implementation +implementation's +implementations +implemented +implementer +implementing +implements +implicate +implicated +implicates +implicating +implication +implication's +implications +implicit +implicitly +implied +implies +implode +imploded +implodes +imploding +implore +implored +implores +imploring +implosion +implosion's +implosions +imply +implying +impolite +impolitely +impoliteness +impoliteness's +impolitenesses +impolitic +imponderable +imponderable's +imponderables +import +import's +importance +importance's +important +importantly +importation +importation's +importations +imported +importer +importer's +importers +importing +imports +importunate +importune +importuned +importunes +importuning +importunity +importunity's +impose +imposed +imposes +imposing +imposingly +imposition +imposition's +impositions +impossibilities +impossibility +impossibility's +impossible +impossibles +impossibly +imposter +imposter's +imposters +impostor +impostor's +impostors +imposture +imposture's +impostures +impotence +impotence's +impotent +impotently +impound +impounded +impounding +impounds +impoverish +impoverished +impoverishes +impoverishing +impoverishment +impoverishment's +impracticable +impracticably +impractical +impracticality +impracticality's +imprecation +imprecation's +imprecations +imprecise +imprecisely +imprecision +imprecision's +impregnability +impregnability's +impregnable +impregnably +impregnate +impregnated +impregnates +impregnating +impregnation +impregnation's +impresario +impresario's +impresarios +impress +impress's +impressed +impresses +impressing +impression +impression's +impressionable +impressionism +impressionism's +impressionist +impressionist's +impressionistic +impressionists +impressions +impressive +impressively +impressiveness +impressiveness's +imprimatur +imprimatur's +imprimaturs +imprint +imprint's +imprinted +imprinting +imprints +imprison +imprisoned +imprisoning +imprisonment +imprisonment's +imprisonments +imprisons +improbabilities +improbability +improbability's +improbable +improbably +impromptu +impromptu's +impromptus +improper +improperly +improprieties +impropriety +impropriety's +improvable +improve +improved +improvement +improvement's +improvements +improves +improvidence +improvidence's +improvident +improvidently +improving +improvisation +improvisation's +improvisations +improvise +improvised +improvises +improvising +imprudence +imprudence's +imprudent +imps +impudence +impudence's +impudent +impudently +impugn +impugned +impugning +impugns +impulse +impulse's +impulsed +impulses +impulsing +impulsion +impulsion's +impulsive +impulsively +impulsiveness +impulsiveness's +impunity +impunity's +impure +impurely +impurer +impurest +impurities +impurity +impurity's +imputation +imputation's +imputations +impute +imputed +imputes +imputing +in +in's +inabilities +inability +inability's +inaccessibility +inaccessibility's +inaccessible +inaccuracies +inaccuracy +inaccuracy's +inaccurate +inaccurately +inaction +inaction's +inactive +inactivity +inactivity's +inadequacies +inadequacy +inadequacy's +inadequate +inadequately +inadmissible +inadvertence +inadvertence's +inadvertent +inadvertently +inadvisable +inalienable +inamorata +inamorata's +inamoratas +inane +inanely +inaner +inanest +inanimate +inanities +inanity +inanity's +inapplicable +inappropriate +inappropriately +inapt +inarticulate +inarticulately +inasmuch +inattention +inattention's +inattentive +inaudible +inaudibly +inaugural +inaugural's +inaugurals +inaugurate +inaugurated +inaugurates +inaugurating +inauguration +inauguration's +inaugurations +inauspicious +inboard +inboard's +inboards +inborn +inbound +inbred +inbreed +inbreeding +inbreeding's +inbreeds +inbuilt +incalculable +incalculably +incandescence +incandescence's +incandescent +incantation +incantation's +incantations +incapability +incapability's +incapable +incapacitate +incapacitated +incapacitates +incapacitating +incapacity +incapacity's +incarcerate +incarcerated +incarcerates +incarcerating +incarceration +incarceration's +incarcerations +incarnate +incarnated +incarnates +incarnating +incarnation +incarnation's +incarnations +incautious +incendiaries +incendiary +incendiary's +incense +incense's +incensed +incenses +incensing +incentive +incentive's +incentives +inception +inception's +inceptions +incessant +incessantly +incest +incest's +incestuous +inch +inch's +inched +inches +inching +inchoate +incidence +incidence's +incidences +incident +incident's +incidental +incidental's +incidentally +incidentals +incidents +incinerate +incinerated +incinerates +incinerating +incineration +incineration's +incinerator +incinerator's +incinerators +incipient +incise +incised +incises +incising +incision +incision's +incisions +incisive +incisively +incisiveness +incisiveness's +incisor +incisor's +incisors +incite +incited +incitement +incitement's +incitements +incites +inciting +incivilities +incivility +incivility's +inclemency +inclemency's +inclement +inclination +inclination's +inclinations +incline +incline's +inclined +inclines +inclining +inclose +inclosed +incloses +inclosing +inclosure +inclosure's +inclosures +include +included +includes +including +inclusion +inclusion's +inclusions +inclusive +inclusively +incognito +incognito's +incognitos +incoherence +incoherence's +incoherent +incoherently +incombustible +income +income's +incomes +incoming +incommensurate +incommunicado +incomparable +incomparably +incompatibilities +incompatibility +incompatibility's +incompatible +incompatible's +incompatibles +incompatibly +incompetence +incompetence's +incompetent +incompetent's +incompetently +incompetents +incomplete +incompletely +incompleteness +incomprehensible +incomprehensibly +inconceivable +inconceivably +inconclusive +inconclusively +incongruities +incongruity +incongruity's +incongruous +incongruously +inconsequential +inconsequentially +inconsiderable +inconsiderate +inconsiderately +inconsiderateness +inconsiderateness's +inconsistencies +inconsistency +inconsistency's +inconsistent +inconsistently +inconsolable +inconspicuous +inconspicuously +inconspicuousness +inconspicuousness's +inconstancy +inconstancy's +inconstant +incontestable +incontestably +incontinence +incontinence's +incontinent +incontrovertible +incontrovertibly +inconvenience +inconvenience's +inconvenienced +inconveniences +inconveniencing +inconvenient +inconveniently +incorporate +incorporated +incorporates +incorporating +incorporation +incorporation's +incorporeal +incorrect +incorrectly +incorrectness +incorrectness's +incorrigibility +incorrigibility's +incorrigible +incorrigibly +incorruptibility +incorruptibility's +incorruptible +increase +increase's +increased +increases +increasing +increasingly +incredibility +incredibility's +incredible +incredibly +incredulity +incredulity's +incredulous +incredulously +increment +increment's +incremental +incremented +increments +incriminate +incriminated +incriminates +incriminating +incrimination +incrimination's +incriminatory +incrust +incrustation +incrustation's +incrustations +incrusted +incrusting +incrusts +incubate +incubated +incubates +incubating +incubation +incubation's +incubator +incubator's +incubators +incubi +incubus +incubus's +incubuses +inculcate +inculcated +inculcates +inculcating +inculcation +inculcation's +inculpate +inculpated +inculpates +inculpating +incumbencies +incumbency +incumbency's +incumbent +incumbent's +incumbents +incur +incurable +incurable's +incurables +incurably +incurious +incurred +incurring +incurs +incursion +incursion's +incursions +indebted +indebtedness +indebtedness's +indecencies +indecency +indecency's +indecent +indecently +indecipherable +indecision +indecision's +indecisive +indecisively +indecisiveness +indecisiveness's +indecorous +indeed +indefatigable +indefatigably +indefensible +indefensibly +indefinable +indefinably +indefinite +indefinitely +indelible +indelibly +indelicacies +indelicacy +indelicacy's +indelicate +indelicately +indemnification +indemnification's +indemnifications +indemnified +indemnifies +indemnify +indemnifying +indemnities +indemnity +indemnity's +indent +indent's +indentation +indentation's +indentations +indented +indenting +indents +indenture +indenture's +indentured +indentures +indenturing +independence +independence's +independent +independent's +independently +independents +indescribable +indescribably +indestructible +indestructibly +indeterminable +indeterminacy +indeterminacy's +indeterminate +indeterminately +index +index's +indexed +indexes +indexing +indicate +indicated +indicates +indicating +indication +indication's +indications +indicative +indicative's +indicatives +indicator +indicator's +indicators +indices +indict +indictable +indicted +indicting +indictment +indictment's +indictments +indicts +indifference +indifference's +indifferent +indifferently +indigence +indigence's +indigenous +indigent +indigent's +indigents +indigestible +indigestion +indigestion's +indignant +indignantly +indignation +indignation's +indignities +indignity +indignity's +indigo +indigo's +indirect +indirection +indirectly +indirectness +indirectness's +indiscernible +indiscreet +indiscreetly +indiscretion +indiscretion's +indiscretions +indiscriminate +indiscriminately +indispensable +indispensable's +indispensables +indispensably +indisposed +indisposition +indisposition's +indispositions +indisputable +indisputably +indissoluble +indistinct +indistinctly +indistinctness +indistinctness's +indistinguishable +individual +individual's +individualism +individualism's +individualist +individualist's +individualistic +individualists +individuality +individuality's +individualize +individualized +individualizes +individualizing +individually +individuals +indivisibility +indivisibility's +indivisible +indivisibly +indoctrinate +indoctrinated +indoctrinates +indoctrinating +indoctrination +indoctrination's +indolence +indolence's +indolent +indolently +indomitable +indomitably +indoor +indoors +indorse +indorsed +indorsement +indorsement's +indorsements +indorses +indorsing +indubitable +indubitably +induce +induced +inducement +inducement's +inducements +induces +inducing +induct +inductance +inductance's +inducted +inductee +inductee's +inductees +inducting +induction +induction's +inductions +inductive +inducts +indue +indued +indues +induing +indulge +indulged +indulgence +indulgence's +indulgences +indulgent +indulgently +indulges +indulging +industrial +industrialism +industrialism's +industrialist +industrialist's +industrialists +industrialization +industrialization's +industrialize +industrialized +industrializes +industrializing +industrially +industries +industrious +industriously +industriousness +industriousness's +industry +industry's +inebriate +inebriate's +inebriated +inebriates +inebriating +inebriation +inebriation's +inedible +ineducable +ineffable +ineffably +ineffective +ineffectively +ineffectiveness +ineffectiveness's +ineffectual +ineffectually +inefficiencies +inefficiency +inefficiency's +inefficient +inefficiently +inelastic +inelegance +inelegant +inelegantly +ineligibility +ineligibility's +ineligible +ineligible's +ineligibles +ineluctable +ineluctably +inept +ineptitude +ineptitude's +ineptly +ineptness +ineptness's +inequalities +inequality +inequality's +inequitable +inequities +inequity +inequity's +inert +inertia +inertia's +inertial +inertly +inertness +inertness's +inescapable +inescapably +inessential +inessential's +inessentials +inestimable +inestimably +inevitability +inevitability's +inevitable +inevitable's +inevitably +inexact +inexcusable +inexcusably +inexhaustible +inexhaustibly +inexorable +inexorably +inexpedient +inexpensive +inexpensively +inexperience +inexperience's +inexperienced +inexpert +inexplicable +inexplicably +inexpressible +inextinguishable +inextricable +inextricably +infallibility +infallibility's +infallible +infallibly +infamies +infamous +infamously +infamy +infamy's +infancy +infancy's +infant +infant's +infanticide +infanticide's +infanticides +infantile +infantries +infantry +infantry's +infantryman +infantryman's +infantrymen +infants +infarction +infarction's +infatuate +infatuated +infatuates +infatuating +infatuation +infatuation's +infatuations +infect +infected +infecting +infection +infection's +infections +infectious +infectiously +infectiousness +infectiousness's +infects +infelicities +infelicitous +infelicity +infelicity's +infer +inference +inference's +inferences +inferential +inferior +inferior's +inferiority +inferiority's +inferiors +infernal +inferno +inferno's +infernos +inferred +inferring +infers +infertile +infertility +infertility's +infest +infestation +infestation's +infestations +infested +infesting +infests +infidel +infidel's +infidelities +infidelity +infidelity's +infidels +infield +infield's +infielder +infielder's +infielders +infields +infighting +infighting's +infiltrate +infiltrated +infiltrates +infiltrating +infiltration +infiltration's +infiltrator +infiltrator's +infiltrators +infinite +infinite's +infinitely +infinitesimal +infinitesimal's +infinitesimally +infinitesimals +infinities +infinitive +infinitive's +infinitives +infinitude +infinitude's +infinity +infinity's +infirm +infirmaries +infirmary +infirmary's +infirmities +infirmity +infirmity's +infix +inflame +inflamed +inflames +inflaming +inflammable +inflammation +inflammation's +inflammations +inflammatory +inflatable +inflatable's +inflatables +inflate +inflated +inflates +inflating +inflation +inflation's +inflationary +inflect +inflected +inflecting +inflection +inflection's +inflectional +inflections +inflects +inflexibility +inflexibility's +inflexible +inflexibly +inflict +inflicted +inflicting +infliction +infliction's +inflicts +inflorescence +inflorescence's +inflow +influence +influence's +influenced +influences +influencing +influential +influentially +influenza +influenza's +influx +influx's +influxes +info +info's +infomercial +infomercial's +infomercials +inform +informal +informality +informality's +informally +informant +informant's +informants +information +information's +informational +informative +informed +informer +informer's +informers +informing +informs +infotainment +infotainment's +infraction +infraction's +infractions +infrared +infrared's +infrastructure +infrastructure's +infrastructures +infrequency +infrequency's +infrequent +infrequently +infringe +infringed +infringement +infringement's +infringements +infringes +infringing +infuriate +infuriated +infuriates +infuriating +infuriatingly +infuse +infused +infuses +infusing +infusion +infusion's +infusions +ingenious +ingeniously +ingenuity +ingenuity's +ingenuous +ingenuously +ingenuousness +ingenuousness's +ingest +ingested +ingesting +ingestion +ingestion's +ingests +inglorious +ingot +ingot's +ingots +ingrain +ingrained +ingraining +ingrains +ingrate +ingrate's +ingrates +ingratiate +ingratiated +ingratiates +ingratiating +ingratiatingly +ingratitude +ingratitude's +ingredient +ingredient's +ingredients +ingress +ingress's +ingresses +ingrown +inhabit +inhabitable +inhabitant +inhabitant's +inhabitants +inhabited +inhabiting +inhabits +inhalant +inhalant's +inhalants +inhalation +inhalation's +inhalations +inhalator +inhalator's +inhalators +inhale +inhaled +inhaler +inhaler's +inhalers +inhales +inhaling +inhere +inhered +inherent +inherently +inheres +inhering +inherit +inheritance +inheritance's +inheritances +inherited +inheriting +inheritor +inheritor's +inheritors +inherits +inhibit +inhibited +inhibiting +inhibition +inhibition's +inhibitions +inhibits +inhospitable +inhuman +inhumane +inhumanely +inhumanities +inhumanity +inhumanity's +inhumanly +inimical +inimically +inimitable +inimitably +iniquities +iniquitous +iniquity +iniquity's +initial +initial's +initialed +initialing +initialization +initialize +initialized +initializes +initializing +initialled +initialling +initially +initials +initiate +initiate's +initiated +initiates +initiating +initiation +initiation's +initiations +initiative +initiative's +initiatives +initiator +initiator's +initiators +inject +injected +injecting +injection +injection's +injections +injector +injector's +injectors +injects +injudicious +injunction +injunction's +injunctions +injure +injured +injures +injuries +injuring +injurious +injury +injury's +injustice +injustice's +injustices +ink +ink's +inkblot +inkblot's +inkblots +inked +inkier +inkiest +inkiness +inkiness's +inking +inkling +inkling's +inklings +inks +inkwell +inkwell's +inkwells +inky +inlaid +inland +inland's +inlay +inlay's +inlaying +inlays +inlet +inlet's +inlets +inline +inmate +inmate's +inmates +inmost +inn +inn's +innards +innards's +innate +innately +inner +innermost +inning +inning's +innings +innkeeper +innkeeper's +innkeepers +innocence +innocence's +innocent +innocent's +innocently +innocents +innocuous +innocuously +innovate +innovated +innovates +innovating +innovation +innovation's +innovations +innovative +innovator +innovator's +innovators +inns +innuendo +innuendo's +innuendoes +innuendos +innumerable +inoculate +inoculated +inoculates +inoculating +inoculation +inoculation's +inoculations +inoffensive +inoffensively +inoperable +inoperative +inopportune +inordinate +inordinately +inorganic +inpatient +inpatient's +inpatients +input +input's +inputs +inputted +inputting +inquest +inquest's +inquests +inquietude +inquietude's +inquire +inquired +inquirer +inquirer's +inquirers +inquires +inquiries +inquiring +inquiringly +inquiry +inquiry's +inquisition +inquisition's +inquisitions +inquisitive +inquisitively +inquisitiveness +inquisitiveness's +inquisitor +inquisitor's +inquisitors +inroad +inroad's +inroads +ins +insane +insanely +insaner +insanest +insanity +insanity's +insatiable +insatiably +inscribe +inscribed +inscribes +inscribing +inscription +inscription's +inscriptions +inscrutable +inscrutably +inseam +inseam's +inseams +insect +insect's +insecticide +insecticide's +insecticides +insectivore +insectivore's +insectivores +insectivorous +insects +insecure +insecurely +insecurities +insecurity +insecurity's +inseminate +inseminated +inseminates +inseminating +insemination +insemination's +insensate +insensibility +insensibility's +insensible +insensibly +insensitive +insensitively +insensitivity +insensitivity's +insentience +insentience's +insentient +inseparability +inseparability's +inseparable +inseparable's +inseparables +inseparably +insert +insert's +inserted +inserting +insertion +insertion's +insertions +inserts +inset +inset's +insets +insetted +insetting +inshore +inside +inside's +insider +insider's +insiders +insides +insidious +insidiously +insidiousness +insidiousness's +insight +insight's +insightful +insights +insigne +insigne's +insignes +insignia +insignia's +insignias +insignificance +insignificance's +insignificant +insignificantly +insincere +insincerely +insincerity +insincerity's +insinuate +insinuated +insinuates +insinuating +insinuation +insinuation's +insinuations +insipid +insist +insisted +insistence +insistence's +insistent +insistently +insisting +insists +insofar +insole +insole's +insolence +insolence's +insolent +insolently +insoles +insolubility +insolubility's +insoluble +insolvable +insolvency +insolvency's +insolvent +insolvent's +insolvents +insomnia +insomnia's +insomniac +insomniac's +insomniacs +insouciance +insouciance's +insouciant +inspect +inspected +inspecting +inspection +inspection's +inspections +inspector +inspector's +inspectors +inspects +inspiration +inspiration's +inspirational +inspirations +inspire +inspired +inspires +inspiring +instability +instability's +instal +install +installation +installation's +installations +installed +installing +installment +installment's +installments +installs +instalment +instalment's +instalments +instals +instance +instance's +instanced +instances +instancing +instant +instant's +instantaneous +instantaneously +instantly +instants +instead +instep +instep's +insteps +instigate +instigated +instigates +instigating +instigation +instigation's +instigator +instigator's +instigators +instil +instill +instilled +instilling +instills +instils +instinct +instinct's +instinctive +instinctively +instincts +institute +institute's +instituted +institutes +instituting +institution +institution's +institutional +institutionalize +institutionalized +institutionalizes +institutionalizing +institutions +instruct +instructed +instructing +instruction +instruction's +instructional +instructions +instructive +instructively +instructor +instructor's +instructors +instructs +instrument +instrument's +instrumental +instrumental's +instrumentalist +instrumentalist's +instrumentalists +instrumentality +instrumentality's +instrumentals +instrumentation +instrumentation's +instrumented +instrumenting +instruments +insubordinate +insubordination +insubordination's +insubstantial +insufferable +insufferably +insufficiency +insufficiency's +insufficient +insufficiently +insular +insularity +insularity's +insulate +insulated +insulates +insulating +insulation +insulation's +insulator +insulator's +insulators +insulin +insulin's +insult +insult's +insulted +insulting +insults +insuperable +insupportable +insurance +insurance's +insurances +insure +insured +insured's +insureds +insurer +insurer's +insurers +insures +insurgence +insurgence's +insurgences +insurgencies +insurgency +insurgency's +insurgent +insurgent's +insurgents +insuring +insurmountable +insurrection +insurrection's +insurrectionist +insurrectionist's +insurrectionists +insurrections +intact +intagli +intaglio +intaglio's +intaglios +intake +intake's +intakes +intangible +intangible's +intangibles +intangibly +integer +integer's +integers +integral +integral's +integrals +integrate +integrated +integrates +integrating +integration +integration's +integrator +integrity +integrity's +integument +integument's +integuments +intellect +intellect's +intellects +intellectual +intellectual's +intellectualism +intellectualize +intellectualized +intellectualizes +intellectualizing +intellectually +intellectuals +intelligence +intelligence's +intelligent +intelligently +intelligentsia +intelligentsia's +intelligibility +intelligibility's +intelligible +intelligibly +intemperance +intemperance's +intemperate +intend +intended +intended's +intendeds +intending +intends +intense +intensely +intenser +intensest +intensification +intensification's +intensified +intensifier +intensifier's +intensifiers +intensifies +intensify +intensifying +intensities +intensity +intensity's +intensive +intensive's +intensively +intensives +intent +intent's +intention +intention's +intentional +intentionally +intentions +intently +intentness +intentness's +intents +inter +interact +interacted +interacting +interaction +interaction's +interactions +interactive +interactively +interacts +interbred +interbreed +interbreeding +interbreeds +intercede +interceded +intercedes +interceding +intercept +intercept's +intercepted +intercepting +interception +interception's +interceptions +interceptor +interceptor's +interceptors +intercepts +intercession +intercession's +intercessions +intercessor +intercessor's +intercessors +interchange +interchange's +interchangeable +interchangeably +interchanged +interchanges +interchanging +intercollegiate +intercom +intercom's +intercoms +interconnect +interconnected +interconnecting +interconnection +interconnection's +interconnections +interconnects +intercontinental +intercourse +intercourse's +interdenominational +interdepartmental +interdependence +interdependence's +interdependent +interdict +interdict's +interdicted +interdicting +interdiction +interdiction's +interdicts +interdisciplinary +interest +interest's +interested +interesting +interestingly +interests +interface +interface's +interfaced +interfaces +interfacing +interfaith +interfere +interfered +interference +interference's +interferes +interfering +interferon +interferon's +intergalactic +interim +interim's +interior +interior's +interiors +interject +interjected +interjecting +interjection +interjection's +interjections +interjects +interlace +interlaced +interlaces +interlacing +interlard +interlarded +interlarding +interlards +interleave +interleaved +interleaves +interleaving +interleukin +interleukin's +interlink +interlinked +interlinking +interlinks +interlock +interlock's +interlocked +interlocking +interlocks +interlocutory +interloper +interloper's +interlopers +interlude +interlude's +interluded +interludes +interluding +intermarriage +intermarriage's +intermarriages +intermarried +intermarries +intermarry +intermarrying +intermediaries +intermediary +intermediary's +intermediate +intermediate's +intermediates +interment +interment's +interments +intermezzi +intermezzo +intermezzo's +intermezzos +interminable +interminably +intermingle +intermingled +intermingles +intermingling +intermission +intermission's +intermissions +intermittent +intermittently +intern +intern's +internal +internalize +internalized +internalizes +internalizing +internally +internals +international +international's +internationalism +internationalism's +internationalize +internationalized +internationalizes +internationalizing +internationally +internationals +interne +interne's +internecine +interned +internee +internee's +internees +internement +internes +interneship +interneships +internet +interning +internist +internist's +internists +internment +internment's +interns +internship +internship's +internships +interoffice +interpersonal +interplanetary +interplay +interplay's +interpolate +interpolated +interpolates +interpolating +interpolation +interpolation's +interpolations +interpose +interposed +interposes +interposing +interposition +interposition's +interpret +interpretation +interpretation's +interpretations +interpretative +interpreted +interpreter +interpreter's +interpreters +interpreting +interpretive +interprets +interracial +interred +interrelate +interrelated +interrelates +interrelating +interrelation +interrelation's +interrelations +interrelationship +interrelationship's +interrelationships +interring +interrogate +interrogated +interrogates +interrogating +interrogation +interrogation's +interrogations +interrogative +interrogative's +interrogatives +interrogator +interrogator's +interrogatories +interrogators +interrogatory +interrogatory's +interrupt +interrupt's +interrupted +interrupting +interruption +interruption's +interruptions +interrupts +inters +interscholastic +intersect +intersected +intersecting +intersection +intersection's +intersections +intersects +intersperse +interspersed +intersperses +interspersing +interstate +interstate's +interstates +interstellar +interstice +interstice's +interstices +intertwine +intertwined +intertwines +intertwining +interurban +interval +interval's +intervals +intervene +intervened +intervenes +intervening +intervention +intervention's +interventions +interview +interview's +interviewed +interviewee +interviewee's +interviewees +interviewer +interviewer's +interviewers +interviewing +interviews +interweave +interweaved +interweaves +interweaving +interwove +interwoven +intestate +intestinal +intestine +intestine's +intestines +intimacies +intimacy +intimacy's +intimate +intimate's +intimated +intimately +intimates +intimating +intimation +intimation's +intimations +intimidate +intimidated +intimidates +intimidating +intimidation +intimidation's +into +intolerable +intolerably +intolerance +intolerance's +intolerant +intonation +intonation's +intonations +intone +intoned +intones +intoning +intoxicant +intoxicant's +intoxicants +intoxicate +intoxicated +intoxicates +intoxicating +intoxication +intoxication's +intractability +intractability's +intractable +intramural +intransigence +intransigence's +intransigent +intransigent's +intransigents +intransitive +intransitive's +intransitively +intransitives +intravenous +intravenous's +intravenouses +intravenously +intrench +intrenched +intrenches +intrenching +intrenchment +intrenchment's +intrepid +intrepidly +intricacies +intricacy +intricacy's +intricate +intricately +intrigue +intrigue's +intrigued +intrigues +intriguing +intriguingly +intrinsic +intrinsically +intro's +introduce +introduced +introduces +introducing +introduction +introduction's +introductions +introductory +intros +introspection +introspection's +introspective +introversion +introversion's +introvert +introvert's +introverted +introverts +intrude +intruded +intruder +intruder's +intruders +intrudes +intruding +intrusion +intrusion's +intrusions +intrusive +intrust +intrusted +intrusting +intrusts +intuit +intuited +intuiting +intuition +intuition's +intuitions +intuitive +intuitively +intuits +inundate +inundated +inundates +inundating +inundation +inundation's +inundations +inure +inured +inures +inuring +invade +invaded +invader +invader's +invaders +invades +invading +invalid +invalid's +invalidate +invalidated +invalidates +invalidating +invalidation +invalidation's +invalided +invaliding +invalidity +invalidity's +invalids +invaluable +invariable +invariable's +invariables +invariably +invariant +invasion +invasion's +invasions +invasive +invective +invective's +inveigh +inveighed +inveighing +inveighs +inveigle +inveigled +inveigles +inveigling +invent +invented +inventing +invention +invention's +inventions +inventive +inventiveness +inventiveness's +inventor +inventor's +inventoried +inventories +inventors +inventory +inventory's +inventorying +invents +inverse +inverse's +inversely +inverses +inversion +inversion's +inversions +invert +invert's +invertebrate +invertebrate's +invertebrates +inverted +inverting +inverts +invest +invested +investigate +investigated +investigates +investigating +investigation +investigation's +investigations +investigative +investigator +investigator's +investigators +investing +investiture +investiture's +investitures +investment +investment's +investments +investor +investor's +investors +invests +inveterate +invidious +invidiously +invigorate +invigorated +invigorates +invigorating +invigoration +invigoration's +invincibility +invincibility's +invincible +invincibly +inviolability +inviolability's +inviolable +inviolate +invisibility +invisibility's +invisible +invisibly +invitation +invitation's +invitational +invitational's +invitationals +invitations +invite +invite's +invited +invites +inviting +invitingly +invocation +invocation's +invocations +invoice +invoice's +invoiced +invoices +invoicing +invoke +invoked +invokes +invoking +involuntarily +involuntary +involve +involved +involvement +involvement's +involvements +involves +involving +invulnerability +invulnerability's +invulnerable +invulnerably +inward +inwardly +inwards +iodine +iodine's +iodize +iodized +iodizes +iodizing +ion +ion's +ionization +ionization's +ionize +ionized +ionizer +ionizer's +ionizers +ionizes +ionizing +ionosphere +ionosphere's +ionospheres +ions +iota +iota's +iotas +ipecac +ipecac's +ipecacs +irascibility +irascibility's +irascible +irate +irately +irateness +irateness's +ire +ire's +iridescence +iridescence's +iridescent +iridium +iridium's +iris +iris's +irises +irk +irked +irking +irks +irksome +iron +iron's +ironclad +ironclad's +ironclads +ironed +ironic +ironical +ironically +ironies +ironing +ironing's +irons +ironware +ironware's +ironwork +ironwork's +irony +irony's +irradiate +irradiated +irradiates +irradiating +irradiation +irradiation's +irrational +irrational's +irrationality +irrationality's +irrationally +irrationals +irreconcilable +irrecoverable +irredeemable +irrefutable +irregardless +irregular +irregular's +irregularities +irregularity +irregularity's +irregularly +irregulars +irrelevance +irrelevance's +irrelevances +irrelevancies +irrelevancy +irrelevancy's +irrelevant +irrelevantly +irreligious +irremediable +irremediably +irreparable +irreparably +irreplaceable +irrepressible +irreproachable +irresistible +irresistibly +irresolute +irresolutely +irresolution +irresolution's +irrespective +irresponsibility +irresponsibility's +irresponsible +irresponsibly +irretrievable +irretrievably +irreverence +irreverence's +irreverent +irreverently +irreversible +irreversibly +irrevocable +irrevocably +irrigate +irrigated +irrigates +irrigating +irrigation +irrigation's +irritability +irritability's +irritable +irritably +irritant +irritant's +irritants +irritate +irritated +irritates +irritating +irritatingly +irritation +irritation's +irritations +irruption +irruption's +irruptions +is +isinglass +isinglass's +island +island's +islander +islander's +islanders +islands +isle +isle's +isles +islet +islet's +islets +ism +ism's +isms +isn't +isobar +isobar's +isobars +isolate +isolate's +isolated +isolates +isolating +isolation +isolation's +isolationism +isolationism's +isolationist +isolationist's +isolationists +isometric +isometrics +isometrics's +isomorphic +isosceles +isotope +isotope's +isotopes +isotopic +isotropic +issuance +issuance's +issue +issue's +issued +issues +issuing +isthmi +isthmus +isthmus's +isthmuses +it +it'd +it'll +it's +italic +italic's +italicize +italicized +italicizes +italicizing +italics +italics's +itch +itch's +itched +itches +itchier +itchiest +itchiness +itchiness's +itching +itchy +item +item's +itemization +itemization's +itemize +itemized +itemizes +itemizing +items +iterate +iterated +iterates +iterating +iteration +iteration's +iterations +iterative +iterator +iterators +itinerant +itinerant's +itinerants +itineraries +itinerary +itinerary's +its +itself +ivies +ivories +ivory +ivory's +ivy +ivy's +j +jab +jab's +jabbed +jabber +jabber's +jabbered +jabberer +jabberer's +jabberers +jabbering +jabbers +jabbing +jabot +jabot's +jabots +jabs +jack +jack's +jackal +jackal's +jackals +jackass +jackass's +jackasses +jackboot +jackboot's +jackboots +jackdaw +jackdaw's +jackdaws +jacked +jacket +jacket's +jackets +jackhammer +jackhammer's +jackhammers +jacking +jackknife +jackknife's +jackknifed +jackknifes +jackknifing +jackknives +jackpot +jackpot's +jackpots +jackrabbit +jackrabbit's +jackrabbits +jacks +jade +jade's +jaded +jades +jading +jag +jag's +jagged +jaggeder +jaggedest +jaggedly +jaggedness +jaggedness's +jags +jaguar +jaguar's +jaguars +jail +jail's +jailbreak +jailbreak's +jailbreaks +jailed +jailer +jailer's +jailers +jailing +jailor +jailor's +jailors +jails +jalopies +jalopy +jalopy's +jalousie +jalousie's +jalousies +jam +jam's +jamb +jamb's +jamboree +jamboree's +jamborees +jambs +jammed +jamming +jams +jangle +jangle's +jangled +jangles +jangling +janitor +janitor's +janitorial +janitors +japan +japan's +japanned +japanning +japans +jape +jape's +japed +japes +japing +jar +jar's +jargon +jargon's +jarred +jarring +jars +jasmine +jasmine's +jasmines +jasper +jasper's +jaundice +jaundice's +jaundiced +jaundices +jaundicing +jaunt +jaunt's +jaunted +jauntier +jauntiest +jauntily +jauntiness +jauntiness's +jaunting +jaunts +jaunty +javelin +javelin's +javelins +jaw +jaw's +jawbone +jawbone's +jawboned +jawbones +jawboning +jawbreaker +jawbreaker's +jawbreakers +jawed +jawing +jaws +jay +jay's +jays +jaywalk +jaywalked +jaywalker +jaywalker's +jaywalkers +jaywalking +jaywalks +jazz +jazz's +jazzed +jazzes +jazzier +jazziest +jazzing +jazzy +jealous +jealousies +jealously +jealousy +jealousy's +jeans +jeans's +jeep +jeep's +jeeps +jeer +jeer's +jeered +jeering +jeeringly +jeers +jeez +jehad +jehad's +jehads +jejune +jell +jelled +jellied +jellies +jelling +jello +jello's +jells +jelly +jelly's +jellybean +jellybean's +jellybeans +jellyfish +jellyfish's +jellyfishes +jellying +jeopardize +jeopardized +jeopardizes +jeopardizing +jeopardy +jeopardy's +jeremiad +jeremiad's +jeremiads +jerk +jerk's +jerked +jerkier +jerkiest +jerkily +jerkin +jerkin's +jerking +jerkins +jerks +jerkwater +jerky +jerky's +jersey +jersey's +jerseys +jessamine +jessamine's +jessamines +jest +jest's +jested +jester +jester's +jesters +jesting +jests +jet +jet's +jets +jetsam +jetsam's +jetted +jetties +jetting +jettison +jettison's +jettisoned +jettisoning +jettisons +jetty +jetty's +jewel +jewel's +jeweled +jeweler +jeweler's +jewelers +jeweling +jewelled +jeweller +jeweller's +jewellers +jewelling +jewelries +jewelry +jewelry's +jewels +jib +jib's +jibbed +jibbing +jibe +jibe's +jibed +jibes +jibing +jibs +jiffies +jiffy +jiffy's +jig +jig's +jigged +jigger +jigger's +jiggered +jiggering +jiggers +jigging +jiggle +jiggle's +jiggled +jiggles +jiggling +jigs +jigsaw +jigsaw's +jigsawed +jigsawing +jigsawn +jigsaws +jihad +jihad's +jihads +jilt +jilt's +jilted +jilting +jilts +jimmied +jimmies +jimmy +jimmy's +jimmying +jingle +jingle's +jingled +jingles +jingling +jingoism +jingoism's +jingoist +jingoist's +jingoistic +jingoists +jinn +jinn's +jinni +jinni's +jinnis +jinns +jinricksha +jinricksha's +jinrickshas +jinrikisha +jinrikisha's +jinrikishas +jinx +jinx's +jinxed +jinxes +jinxing +jitney +jitney's +jitneys +jitterbug +jitterbug's +jitterbugged +jitterbugging +jitterbugs +jitterier +jitteriest +jitters +jitters's +jittery +jiujitsu +jiujitsu's +jive +jive's +jived +jives +jiving +job +job's +jobbed +jobber +jobber's +jobbers +jobbing +jobless +joblessness +joblessness's +jobs +jock +jock's +jockey +jockey's +jockeyed +jockeying +jockeys +jocks +jockstrap +jockstrap's +jockstraps +jocose +jocosely +jocosity +jocosity's +jocular +jocularity +jocularity's +jocularly +jocund +jocundity +jocundity's +jocundly +jodhpurs +jodhpurs's +jog +jog's +jogged +jogger +jogger's +joggers +jogging +jogging's +joggle +joggle's +joggled +joggles +joggling +jogs +john +john's +johns +join +join's +joined +joiner +joiner's +joiners +joining +joins +joint +joint's +jointed +jointing +jointly +joints +joist +joist's +joists +joke +joke's +joked +joker +joker's +jokers +jokes +joking +jokingly +jollied +jollier +jollies +jolliest +jolliness +jolliness's +jollity +jollity's +jolly +jolly's +jollying +jolt +jolt's +jolted +jolting +jolts +jonquil +jonquil's +jonquils +josh +josh's +joshed +joshes +joshing +jostle +jostle's +jostled +jostles +jostling +jot +jot's +jots +jotted +jotting +jotting's +jottings +joule +joule's +joules +jounce +jounce's +jounced +jounces +jouncing +journal +journal's +journalese +journalese's +journalism +journalism's +journalist +journalist's +journalistic +journalists +journals +journey +journey's +journeyed +journeying +journeyman +journeyman's +journeymen +journeys +joust +joust's +jousted +jousting +jousts +jovial +joviality +joviality's +jovially +jowl +jowl's +jowls +joy +joy's +joyed +joyful +joyfuller +joyfullest +joyfully +joyfulness +joyfulness's +joying +joyless +joyous +joyously +joyousness +joyousness's +joyridden +joyride +joyride's +joyrider +joyrider's +joyriders +joyrides +joyriding +joyriding's +joyrode +joys +joystick +joystick's +joysticks +jubilant +jubilantly +jubilation +jubilation's +jubilee +jubilee's +jubilees +judge +judge's +judged +judgement +judgement's +judgemental +judgements +judges +judgeship +judgeship's +judging +judgment +judgment's +judgmental +judgments +judicature +judicature's +judicial +judicially +judiciaries +judiciary +judiciary's +judicious +judiciously +judiciousness +judiciousness's +judo +judo's +jug +jug's +jugged +juggernaut +juggernaut's +juggernauts +jugging +juggle +juggle's +juggled +juggler +juggler's +jugglers +juggles +juggling +jugs +jugular +jugular's +jugulars +juice +juice's +juiced +juicer +juicer's +juicers +juices +juicier +juiciest +juiciness +juiciness's +juicing +juicy +jujitsu +jujitsu's +jujube +jujube's +jujubes +jujutsu +jujutsu's +jukebox +jukebox's +jukeboxes +julep +julep's +juleps +julienne +jumble +jumble's +jumbled +jumbles +jumbling +jumbo +jumbo's +jumbos +jump +jump's +jumped +jumper +jumper's +jumpers +jumpier +jumpiest +jumpiness +jumpiness's +jumping +jumps +jumpsuit +jumpsuit's +jumpsuits +jumpy +junco +junco's +juncoes +juncos +junction +junction's +junctions +juncture +juncture's +junctures +jungle +jungle's +jungles +junior +junior's +juniors +juniper +juniper's +junipers +junk +junk's +junked +junker +junker's +junkers +junket +junket's +junketed +junketing +junkets +junkie +junkie's +junkier +junkies +junkiest +junking +junks +junky +junky's +junkyard +junkyard's +junkyards +junta +junta's +juntas +juridical +juries +jurisdiction +jurisdiction's +jurisdictional +jurisprudence +jurisprudence's +jurist +jurist's +jurists +juror +juror's +jurors +jury +jury's +just +juster +justest +justice +justice's +justices +justifiable +justifiably +justification +justification's +justifications +justified +justifies +justify +justifying +justly +justness +justness's +jut +jut's +jute +jute's +juts +jutted +jutting +juvenile +juvenile's +juveniles +juxtapose +juxtaposed +juxtaposes +juxtaposing +juxtaposition +juxtaposition's +juxtapositions +k +kHz +kW +kabob +kabob's +kabobs +kaboom +kaftan +kaftan's +kaftans +kale +kale's +kaleidoscope +kaleidoscope's +kaleidoscopes +kaleidoscopic +kamikaze +kamikaze's +kamikazes +kangaroo +kangaroo's +kangaroos +kaolin +kaolin's +kapok +kapok's +kaput +karakul +karakul's +karaoke +karaoke's +karaokes +karat +karat's +karate +karate's +karats +karma +karma's +katydid +katydid's +katydids +kayak +kayak's +kayaked +kayaking +kayaks +kazoo +kazoo's +kazoos +kc +kebab +kebab's +kebabs +kebob +kebob's +kebobs +keel +keel's +keeled +keeling +keels +keen +keen's +keened +keener +keenest +keening +keenly +keenness +keenness's +keens +keep +keep's +keeper +keeper's +keepers +keeping +keeping's +keeps +keepsake +keepsake's +keepsakes +keg +keg's +kegs +kelp +kelp's +ken +ken's +kenned +kennel +kennel's +kenneled +kenneling +kennelled +kennelling +kennels +kenning +kens +kept +keratin +keratin's +kerchief +kerchief's +kerchiefs +kerchieves +kernel +kernel's +kernels +kerosene +kerosene's +kerosine +kerosine's +kestrel +kestrel's +kestrels +ketch +ketch's +ketches +ketchup +ketchup's +kettle +kettle's +kettledrum +kettledrum's +kettledrums +kettles +key +key's +keyboard +keyboard's +keyboarded +keyboarder +keyboarder's +keyboarders +keyboarding +keyboards +keyed +keyhole +keyhole's +keyholes +keying +keynote +keynote's +keynoted +keynotes +keynoting +keypunch +keypunch's +keypunched +keypunches +keypunching +keys +keystone +keystone's +keystones +keystroke +keystroke's +keystrokes +keyword +keyword's +keywords +khaki +khaki's +khakis +khan +khan's +khans +kibbutz +kibbutz's +kibbutzim +kibitz +kibitzed +kibitzer +kibitzer's +kibitzers +kibitzes +kibitzing +kibosh +kibosh's +kick +kick's +kickback +kickback's +kickbacks +kicked +kicker +kicker's +kickers +kickier +kickiest +kicking +kickoff +kickoff's +kickoffs +kicks +kickstand +kickstand's +kickstands +kicky +kid +kid's +kidded +kidder +kidder's +kidders +kiddie +kiddie's +kiddies +kidding +kiddo +kiddo's +kiddoes +kiddos +kiddy +kiddy's +kidnap +kidnaped +kidnaper +kidnaper's +kidnapers +kidnaping +kidnapped +kidnapper +kidnapper's +kidnappers +kidnapping +kidnapping's +kidnappings +kidnaps +kidney +kidney's +kidneys +kids +kielbasa +kielbasa's +kielbasas +kielbasy +kill +kill's +killdeer +killdeer's +killdeers +killed +killer +killer's +killers +killing +killing's +killings +killjoy +killjoy's +killjoys +kills +kiln +kiln's +kilned +kilning +kilns +kilo +kilo's +kilobyte +kilobyte's +kilobytes +kilocycle +kilocycle's +kilocycles +kilogram +kilogram's +kilograms +kilohertz +kilohertz's +kilohertzes +kilometer +kilometer's +kilometers +kilos +kiloton +kiloton's +kilotons +kilowatt +kilowatt's +kilowatts +kilt +kilt's +kilter +kilter's +kilts +kimono +kimono's +kimonos +kin +kin's +kind +kind's +kinda +kinder +kindergarten +kindergarten's +kindergartener +kindergartener's +kindergarteners +kindergartens +kindest +kindhearted +kindle +kindled +kindles +kindlier +kindliest +kindliness +kindliness's +kindling +kindling's +kindly +kindness +kindness's +kindnesses +kindred +kindred's +kinds +kinematic +kinematics +kinetic +kinfolk +kinfolk's +kinfolks +kinfolks's +king +king's +kingdom +kingdom's +kingdoms +kingfisher +kingfisher's +kingfishers +kinglier +kingliest +kingly +kingpin +kingpin's +kingpins +kings +kingship +kingship's +kink +kink's +kinked +kinkier +kinkiest +kinking +kinks +kinky +kinship +kinship's +kinsman +kinsman's +kinsmen +kinswoman +kinswoman's +kinswomen +kiosk +kiosk's +kiosks +kipper +kipper's +kippered +kippering +kippers +kismet +kismet's +kiss +kiss's +kissed +kisser +kisser's +kissers +kisses +kissing +kit +kit's +kitchen +kitchen's +kitchenette +kitchenette's +kitchenettes +kitchens +kitchenware +kitchenware's +kite +kite's +kited +kites +kith +kith's +kiting +kits +kitsch +kitsch's +kitschy +kitten +kitten's +kittenish +kittens +kitties +kitty +kitty's +kiwi +kiwi's +kiwis +kleptomania +kleptomania's +kleptomaniac +kleptomaniac's +kleptomaniacs +klutz +klutz's +klutzes +klutzier +klutziest +klutzy +knack +knack's +knacker +knacks +knackwurst +knackwurst's +knackwursts +knapsack +knapsack's +knapsacks +knave +knave's +knavery +knavery's +knaves +knavish +knead +kneaded +kneader +kneader's +kneaders +kneading +kneads +knee +knee's +kneecap +kneecap's +kneecapped +kneecapping +kneecaps +kneed +kneeing +kneel +kneeled +kneeling +kneels +knees +knell +knell's +knelled +knelling +knells +knelt +knew +knickers +knickers's +knickknack +knickknack's +knickknacks +knife +knife's +knifed +knifes +knifing +knight +knight's +knighted +knighthood +knighthood's +knighthoods +knighting +knightly +knights +knit +knit's +knits +knitted +knitter +knitter's +knitters +knitting +knitting's +knitwear +knitwear's +knives +knob +knob's +knobbier +knobbiest +knobby +knobs +knock +knock's +knocked +knocker +knocker's +knockers +knocking +knockout +knockout's +knockouts +knocks +knockwurst +knockwurst's +knockwursts +knoll +knoll's +knolls +knot +knot's +knothole +knothole's +knotholes +knots +knotted +knottier +knottiest +knotting +knotty +know +knowable +knowing +knowingly +knowings +knowledge +knowledge's +knowledgeable +knowledgeably +known +knows +knuckle +knuckle's +knuckled +knucklehead +knucklehead's +knuckleheads +knuckles +knuckling +koala +koala's +koalas +kohlrabi +kohlrabi's +kohlrabies +kook +kook's +kookaburra +kookaburra's +kookaburras +kookie +kookier +kookiest +kookiness +kookiness's +kooks +kooky +kopeck +kopeck's +kopecks +kopek +kopek's +kopeks +kosher +koshered +koshering +koshers +kowtow +kowtow's +kowtowed +kowtowing +kowtows +krone +krone's +kroner +kronor +krypton +krypton's +ks +kudos +kudos's +kudzu +kudzu's +kudzus +kumquat +kumquat's +kumquats +l +la +la's +lab +lab's +label +label's +labeled +labeling +labelled +labelling +labels +labia +labial +labial's +labials +labium +labium's +labor +labor's +laboratories +laboratory +laboratory's +labored +laborer +laborer's +laborers +laboring +laborious +laboriously +labors +labs +laburnum +laburnum's +laburnums +labyrinth +labyrinth's +labyrinthine +labyrinths +lace +lace's +laced +lacerate +lacerated +lacerates +lacerating +laceration +laceration's +lacerations +laces +lachrymal +lachrymose +lacier +laciest +lacing +lack +lack's +lackadaisical +lackadaisically +lacked +lackey +lackey's +lackeys +lacking +lackluster +lacks +laconic +laconically +lacquer +lacquer's +lacquered +lacquering +lacquers +lacrimal +lacrosse +lacrosse's +lactate +lactated +lactates +lactating +lactation +lactation's +lactic +lactose +lactose's +lacuna +lacuna's +lacunae +lacunas +lacy +lad +lad's +ladder +ladder's +laddered +laddering +ladders +laddie +laddie's +laddies +lade +laded +laden +lades +ladies +lading +lading's +ladings +ladle +ladle's +ladled +ladles +ladling +lads +lady +lady's +ladybird +ladybird's +ladybirds +ladybug +ladybug's +ladybugs +ladyfinger +ladyfinger's +ladyfingers +ladylike +ladyship +ladyship's +lag +lag's +lager +lager's +lagers +laggard +laggard's +laggards +lagged +lagging +lagniappe +lagniappe's +lagniappes +lagoon +lagoon's +lagoons +lags +laid +lain +lair +lair's +lairs +laity +laity's +lake +lake's +lakes +lallygag +lallygagged +lallygagging +lallygags +lam +lam's +lama +lama's +lamas +lamaseries +lamasery +lamasery's +lamb +lamb's +lambast +lambaste +lambasted +lambastes +lambasting +lambasts +lambda +lambed +lambent +lambing +lambkin +lambkin's +lambkins +lambs +lambskin +lambskin's +lambskins +lame +lame's +lamebrain +lamebrain's +lamebrains +lamed +lamely +lameness +lameness's +lament +lament's +lamentable +lamentably +lamentation +lamentation's +lamentations +lamented +lamenting +laments +lamer +lames +lamest +laminate +laminate's +laminated +laminates +laminating +lamination +lamination's +laming +lammed +lamming +lamp +lamp's +lampblack +lampblack's +lampoon +lampoon's +lampooned +lampooning +lampoons +lamppost +lamppost's +lampposts +lamprey +lamprey's +lampreys +lamps +lampshade +lampshade's +lampshades +lams +lance +lance's +lanced +lancer +lancer's +lancers +lances +lancet +lancet's +lancets +lancing +land +land's +landed +lander +landfall +landfall's +landfalls +landfill +landfill's +landfills +landholder +landholder's +landholders +landing +landing's +landings +landladies +landlady +landlady's +landlocked +landlord +landlord's +landlords +landlubber +landlubber's +landlubbers +landmark +landmark's +landmarks +landmass +landmass's +landmasses +landowner +landowner's +landowners +lands +landscape +landscape's +landscaped +landscaper +landscaper's +landscapers +landscapes +landscaping +landslid +landslidden +landslide +landslide's +landslides +landsliding +landward +landwards +lane +lane's +lanes +language +language's +languages +languid +languidly +languish +languished +languishes +languishing +languor +languor's +languorous +languorously +languors +lank +lanker +lankest +lankier +lankiest +lankiness +lankiness's +lanky +lanolin +lanolin's +lantern +lantern's +lanterns +lanyard +lanyard's +lanyards +lap +lap's +lapel +lapel's +lapels +lapidaries +lapidary +lapidary's +lapped +lapping +laps +lapse +lapse's +lapsed +lapses +lapsing +laptop +laptop's +laptops +lapwing +lapwing's +lapwings +larboard +larboard's +larboards +larcenies +larcenous +larceny +larceny's +larch +larch's +larches +lard +lard's +larded +larder +larder's +larders +larding +lards +large +large's +largely +largeness +largeness's +larger +larges +largess +largess's +largesse +largesse's +largest +largo +largo's +largos +lariat +lariat's +lariats +lark +lark's +larked +larking +larks +larkspur +larkspur's +larkspurs +larva +larva's +larvae +larval +larvas +larynges +laryngitis +laryngitis's +larynx +larynx's +larynxes +lasagna +lasagna's +lasagnas +lasagne +lasagne's +lasagnes +lascivious +lasciviously +lasciviousness +lasciviousness's +laser +laser's +lasers +lash +lash's +lashed +lashes +lashing +lass +lass's +lasses +lassie +lassie's +lassies +lassitude +lassitude's +lasso +lasso's +lassoed +lassoes +lassoing +lassos +last +last's +lasted +lasting +lastingly +lastly +lasts +latch +latch's +latched +latches +latching +late +latecomer +latecomer's +latecomers +lately +latency +latency's +lateness +lateness's +latent +later +lateral +lateral's +lateraled +lateraling +lateralled +lateralling +laterally +laterals +latest +latest's +latex +latex's +lath +lath's +lathe +lathe's +lathed +lather +lather's +lathered +lathering +lathers +lathes +lathing +laths +latitude +latitude's +latitudes +latitudinal +latrine +latrine's +latrines +lats +latter +latter's +latterly +lattice +lattice's +latticed +lattices +latticework +latticework's +latticeworks +laud +laud's +laudable +laudably +laudanum +laudanum's +laudatory +lauded +lauding +lauds +laugh +laugh's +laughable +laughably +laughed +laughing +laughingly +laughingstock +laughingstock's +laughingstocks +laughs +laughter +laughter's +launch +launch's +launched +launcher +launcher's +launchers +launches +launching +launder +laundered +launderer +launderer's +launderers +laundering +launders +laundress +laundress's +laundresses +laundries +laundry +laundry's +laundryman +laundryman's +laundrymen +laureate +laureate's +laureates +laurel +laurel's +laurels +lava +lava's +lavatories +lavatory +lavatory's +lavender +lavender's +lavenders +lavish +lavished +lavisher +lavishes +lavishest +lavishing +lavishly +lavishness +lavishness's +law +law's +lawbreaker +lawbreaker's +lawbreakers +lawful +lawfully +lawfulness +lawfulness's +lawgiver +lawgiver's +lawgivers +lawless +lawlessly +lawlessness +lawlessness's +lawmaker +lawmaker's +lawmakers +lawn +lawn's +lawns +lawrencium +lawrencium's +laws +lawsuit +lawsuit's +lawsuits +lawyer +lawyer's +lawyers +lax +laxative +laxative's +laxatives +laxer +laxest +laxity +laxity's +laxly +laxness +laxness's +lay +lay's +layaway +layaway's +layer +layer's +layered +layering +layers +layette +layette's +layettes +laying +layman +layman's +laymen +layoff +layoff's +layoffs +layout +layout's +layouts +layover +layover's +layovers +laypeople +layperson +layperson's +laypersons +lays +laywoman +laywoman's +laywomen +laze +laze's +lazed +lazes +lazied +lazier +lazies +laziest +lazily +laziness +laziness's +lazing +lazy +lazybones +lazybones's +lazying +lea +lea's +leach +leached +leaches +leaching +lead +lead's +leaded +leaden +leader +leader's +leaders +leadership +leadership's +leading +leading's +leads +leaf +leaf's +leafed +leafier +leafiest +leafing +leafless +leaflet +leaflet's +leafleted +leafleting +leaflets +leafletted +leafletting +leafs +leafy +league +league's +leagued +leagues +leaguing +leak +leak's +leakage +leakage's +leakages +leaked +leakier +leakiest +leaking +leaks +leaky +lean +lean's +leaned +leaner +leanest +leaning +leaning's +leanings +leanness +leanness's +leans +leap +leap's +leaped +leapfrog +leapfrog's +leapfrogged +leapfrogging +leapfrogs +leaping +leaps +leapt +learn +learned +learner +learner's +learners +learning +learning's +learns +learnt +leas +lease +lease's +leased +leasehold +leasehold's +leaseholder +leaseholder's +leaseholders +leaseholds +leases +leash +leash's +leashed +leashes +leashing +leasing +least +least's +leastwise +leather +leather's +leatherneck +leatherneck's +leathernecks +leathers +leathery +leave +leave's +leaved +leaven +leaven's +leavened +leavening +leavening's +leavens +leaves +leaving +leavings +leavings's +lecher +lecher's +lecherous +lecherously +lechers +lechery +lechery's +lecithin +lecithin's +lectern +lectern's +lecterns +lecture +lecture's +lectured +lecturer +lecturer's +lecturers +lectures +lecturing +led +ledge +ledge's +ledger +ledger's +ledgers +ledges +lee +lee's +leech +leech's +leeched +leeches +leeching +leek +leek's +leeks +leer +leer's +leered +leerier +leeriest +leering +leers +leery +lees +leeward +leeward's +leewards +leeway +leeway's +left +left's +lefter +leftest +leftie +leftie's +lefties +leftism +leftism's +leftist +leftist's +leftists +leftmost +leftover +leftover's +leftovers +lefts +leftwards +lefty +lefty's +leg +leg's +legacies +legacy +legacy's +legal +legal's +legalese +legalese's +legalism +legalism's +legalisms +legalistic +legality +legality's +legalization +legalization's +legalize +legalized +legalizes +legalizing +legally +legals +legate +legate's +legatee +legatee's +legatees +legates +legation +legation's +legations +legato +legato's +legatos +legend +legend's +legendary +legends +legerdemain +legerdemain's +legged +leggier +leggiest +leggin +leggin's +legging +legging's +leggings +leggins +leggy +legibility +legibility's +legible +legibly +legion +legion's +legionnaire +legionnaire's +legionnaires +legions +legislate +legislated +legislates +legislating +legislation +legislation's +legislative +legislator +legislator's +legislators +legislature +legislature's +legislatures +legit +legitimacy +legitimacy's +legitimate +legitimated +legitimately +legitimates +legitimating +legitimize +legitimized +legitimizes +legitimizing +legless +legman +legman's +legmen +legroom +legroom's +legrooms +legs +legume +legume's +legumes +leguminous +legwork +legwork's +lei +lei's +leis +leisure +leisure's +leisurely +leitmotif +leitmotif's +leitmotifs +lemma +lemmas +lemme +lemming +lemming's +lemmings +lemon +lemon's +lemonade +lemonade's +lemons +lemony +lemur +lemur's +lemurs +lend +lender +lender's +lenders +lending +lends +length +length's +lengthen +lengthened +lengthening +lengthens +lengthier +lengthiest +lengthily +lengths +lengthways +lengthwise +lengthy +leniency +leniency's +lenient +leniently +lens +lens's +lenses +lent +lentil +lentil's +lentils +leonine +leopard +leopard's +leopards +leotard +leotard's +leotards +leper +leper's +lepers +leprechaun +leprechaun's +leprechauns +leprosy +leprosy's +leprous +lept +lesbian +lesbian's +lesbianism +lesbianism's +lesbians +lesion +lesion's +lesions +less +less's +lessee +lessee's +lessees +lessen +lessened +lessening +lessens +lesser +lesson +lesson's +lessons +lessor +lessor's +lessors +lest +let +let's +letdown +letdown's +letdowns +lethal +lethally +lethargic +lethargically +lethargy +lethargy's +lets +letter +letter's +letterbox +lettered +letterhead +letterhead's +letterheads +lettering +lettering's +letters +letting +lettuce +lettuce's +lettuces +letup +letup's +letups +leukemia +leukemia's +leukocyte +leukocyte's +leukocytes +levee +levee's +levees +level +level's +leveled +leveler +leveler's +levelers +levelheaded +levelheadedness +levelheadedness's +leveling +levelled +leveller's +levellers +levelling +levelness +levelness's +levels +lever +lever's +leverage +leverage's +leveraged +leverages +leveraging +levered +levering +levers +leviathan +leviathan's +leviathans +levied +levies +levitate +levitated +levitates +levitating +levitation +levitation's +levity +levity's +levy +levy's +levying +lewd +lewder +lewdest +lewdly +lewdness +lewdness's +lexica +lexical +lexicographer +lexicographer's +lexicographers +lexicography +lexicography's +lexicon +lexicon's +lexicons +liabilities +liability +liability's +liable +liaise +liaised +liaises +liaising +liaison +liaison's +liaisons +liar +liar's +liars +lib +lib's +libation +libation's +libations +libel +libel's +libeled +libeler +libeler's +libelers +libeling +libelled +libeller +libeller's +libellers +libelling +libellous +libelous +libels +liberal +liberal's +liberalism +liberalism's +liberality +liberality's +liberalization +liberalization's +liberalizations +liberalize +liberalized +liberalizes +liberalizing +liberally +liberals +liberate +liberated +liberates +liberating +liberation +liberation's +liberator +liberator's +liberators +libertarian +libertarian's +libertarians +liberties +libertine +libertine's +libertines +liberty +liberty's +libidinous +libido +libido's +libidos +librarian +librarian's +librarians +libraries +library +library's +libretti +librettist +librettist's +librettists +libretto +libretto's +librettos +lice +licence +licence's +licenced +licences +licencing +license +license's +licensed +licensee +licensee's +licensees +licenses +licensing +licentiate +licentiate's +licentiates +licentious +licentiously +licentiousness +licentiousness's +lichee +lichee's +lichees +lichen +lichen's +lichens +licit +lick +lick's +licked +licking +licking's +lickings +licks +licorice +licorice's +licorices +lid +lid's +lidded +lids +lie +lie's +lied +lief +liefer +liefest +liege +liege's +lieges +lien +lien's +liens +lies +lieu +lieu's +lieutenancy +lieutenancy's +lieutenant +lieutenant's +lieutenants +life +life's +lifeblood +lifeblood's +lifeboat +lifeboat's +lifeboats +lifeforms +lifeguard +lifeguard's +lifeguards +lifeless +lifelike +lifeline +lifeline's +lifelines +lifelong +lifer +lifer's +lifers +lifesaver +lifesaver's +lifesavers +lifesaving +lifesaving's +lifespan +lifespans +lifestyle +lifestyle's +lifestyles +lifetime +lifetime's +lifetimes +lifework +lifework's +lifeworks +lift +lift's +lifted +lifting +liftoff +liftoff's +liftoffs +lifts +ligament +ligament's +ligaments +ligature +ligature's +ligatured +ligatures +ligaturing +light +light's +lighted +lighten +lightened +lightening +lightens +lighter +lighter's +lighters +lightest +lightheaded +lighthearted +lightheartedly +lightheartedness +lightheartedness's +lighthouse +lighthouse's +lighthouses +lighting +lighting's +lightly +lightness +lightness's +lightning +lightning's +lightninged +lightnings +lights +lightweight +lightweight's +lightweights +lignite +lignite's +likable +likableness +likableness's +like +like's +likeable +likeableness +likeableness's +liked +likelier +likeliest +likelihood +likelihood's +likelihoods +likely +liken +likened +likeness +likeness's +likenesses +likening +likens +liker +likes +likest +likewise +liking +liking's +lilac +lilac's +lilacs +lilies +lilt +lilt's +lilted +lilting +lilts +lily +lily's +limb +limb's +limber +limbered +limbering +limbers +limbless +limbo +limbo's +limbos +limbs +lime +lime's +limeade +limeade's +limeades +limed +limelight +limelight's +limerick +limerick's +limericks +limes +limestone +limestone's +limier +limiest +liming +limit +limit's +limitation +limitation's +limitations +limited +limiting +limitings +limitless +limits +limn +limned +limning +limns +limo +limo's +limos +limousine +limousine's +limousines +limp +limp's +limped +limper +limpest +limpet +limpet's +limpets +limpid +limpidity +limpidity's +limpidly +limping +limply +limpness +limpness's +limps +limy +linage +linage's +linchpin +linchpin's +linchpins +linden +linden's +lindens +line +line's +lineage +lineage's +lineages +lineal +lineally +lineament +lineament's +lineaments +linear +linearly +linebacker +linebacker's +linebackers +lined +linefeed +lineman +lineman's +linemen +linen +linen's +linens +linens's +liner +liner's +liners +lines +linesman +linesman's +linesmen +lineup +lineup's +lineups +linger +lingered +lingerer +lingerer's +lingerers +lingerie +lingerie's +lingering +lingeringly +lingerings +lingers +lingo +lingo's +lingoes +lingos +lingual +linguist +linguist's +linguistic +linguistics +linguistics's +linguists +liniment +liniment's +liniments +lining +lining's +linings +link +link's +linkage +linkage's +linkages +linked +linker +linking +links +linkup +linkup's +linkups +linnet +linnet's +linnets +linoleum +linoleum's +linseed +linseed's +lint +lint's +lintel +lintel's +lintels +lion +lion's +lioness +lioness's +lionesses +lionhearted +lionize +lionized +lionizes +lionizing +lions +lip +lip's +lipid +lipid's +lipids +liposuction +liposuction's +lipread +lipreading +lipreading's +lipreads +lips +lipstick +lipstick's +lipsticked +lipsticking +lipsticks +liquefaction +liquefaction's +liquefied +liquefies +liquefy +liquefying +liqueur +liqueur's +liqueurs +liquid +liquid's +liquidate +liquidated +liquidates +liquidating +liquidation +liquidation's +liquidations +liquidator +liquidator's +liquidators +liquidity +liquidity's +liquidize +liquidized +liquidizes +liquidizing +liquids +liquified +liquifies +liquify +liquifying +liquor +liquor's +liquored +liquoring +liquors +lira +lira's +liras +lire +lisle +lisle's +lisp +lisp's +lisped +lisping +lisps +lissom +lissome +list +list's +listed +listen +listen's +listened +listener +listener's +listeners +listening +listens +listing +listing's +listings +listless +listlessly +listlessness +listlessness's +lists +lit +litanies +litany +litany's +litchi +litchi's +litchis +lite +liter +liter's +literacy +literacy's +literal +literal's +literally +literals +literary +literate +literate's +literates +literati +literati's +literature +literature's +liters +lithe +lither +lithest +lithium +lithium's +lithograph +lithograph's +lithographed +lithographer +lithographer's +lithographers +lithographic +lithographing +lithographs +lithography +lithography's +lithosphere +lithosphere's +lithospheres +litigant +litigant's +litigants +litigate +litigated +litigates +litigating +litigation +litigation's +litigious +litigiousness +litigiousness's +litmus +litmus's +litter +litter's +litterbug +litterbug's +litterbugs +littered +littering +litters +little +little's +littleness +littleness's +littler +littlest +littoral +littoral's +littorals +liturgical +liturgies +liturgy +liturgy's +livability +livability's +livable +live +liveable +lived +livelier +liveliest +livelihood +livelihood's +livelihoods +liveliness +liveliness's +livelong +livelongs +lively +liven +livened +livening +livens +liver +liver's +liveried +liveries +livers +liverwurst +liverwurst's +livery +livery's +lives +livest +livestock +livestock's +livid +lividly +living +living's +livings +lizard +lizard's +lizards +llama +llama's +llamas +llano +llano's +llanos +lo +load +load's +loadable +loaded +loader +loader's +loaders +loading +loads +loadstar +loadstar's +loadstars +loadstone +loadstone's +loadstones +loaf +loaf's +loafed +loafer +loafer's +loafers +loafing +loafs +loam +loam's +loamier +loamiest +loamy +loan +loan's +loaned +loaner +loaner's +loaners +loaning +loans +loanword +loanword's +loanwords +loath +loathe +loathed +loathes +loathing +loathing's +loathings +loathsome +loathsomeness +loathsomeness's +loaves +lob +lob's +lobbed +lobbied +lobbies +lobbing +lobby +lobby's +lobbying +lobbyist +lobbyist's +lobbyists +lobe +lobe's +lobed +lobes +lobotomies +lobotomy +lobotomy's +lobs +lobster +lobster's +lobsters +local +local's +locale +locale's +locales +localities +locality +locality's +localization +localization's +localize +localized +localizes +localizing +locally +locals +locate +located +locates +locating +location +location's +locations +loci +lock +lock's +lockable +locked +locker +locker's +lockers +locket +locket's +lockets +locking +lockjaw +lockjaw's +lockout +lockout's +lockouts +locks +locksmith +locksmith's +locksmiths +lockstep +lockstep's +lockup +lockup's +lockups +loco +locomotion +locomotion's +locomotive +locomotive's +locomotives +locoweed +locoweed's +locoweeds +locus +locus's +locust +locust's +locusts +locution +locution's +locutions +lode +lode's +lodes +lodestar +lodestar's +lodestars +lodestone +lodestone's +lodestones +lodge +lodge's +lodged +lodger +lodger's +lodgers +lodges +lodging +lodging's +lodgings +lodgings's +loft +loft's +lofted +loftier +loftiest +loftily +loftiness +loftiness's +lofting +lofts +lofty +log +log's +loganberries +loganberry +loganberry's +logarithm +logarithm's +logarithmic +logarithms +logbook +logbook's +logbooks +loge +loge's +loges +logged +logger +logger's +loggerhead +loggerhead's +loggerheads +loggers +logging +logging's +logic +logic's +logical +logically +logician +logician's +logicians +logistic +logistical +logistically +logistics +logistics's +logjam +logjam's +logjams +logo +logo's +logos +logotype +logotype's +logotypes +logrolling +logrolling's +logs +loin +loin's +loincloth +loincloth's +loincloths +loins +loiter +loitered +loiterer +loiterer's +loiterers +loitering +loiters +loll +lolled +lolling +lollipop +lollipop's +lollipops +lolls +lollygag +lollygagged +lollygagging +lollygags +lollypop +lollypop's +lollypops +lone +lonelier +loneliest +loneliness +loneliness's +lonely +loner +loner's +loners +lonesome +long +long's +longboat +longboat's +longboats +longed +longer +longest +longevity +longevity's +longhair +longhair's +longhairs +longhand +longhand's +longhorn +longhorn's +longhorns +longing +longing's +longingly +longings +longish +longitude +longitude's +longitudes +longitudinal +longitudinally +longs +longshoreman +longshoreman's +longshoremen +longtime +loofah +look +look's +lookalike +lookalike's +lookalikes +looked +looking +lookout +lookout's +lookouts +looks +loom +loom's +loomed +looming +looms +loon +loon's +looney +looney's +looneyier +looneyies +looneys +loonier +loonies +looniest +loons +loony +loony's +loop +loop's +looped +loophole +loophole's +loopholes +loopier +loopiest +looping +loops +loopy +loose +loosed +loosely +loosen +loosened +looseness +looseness's +loosening +loosens +looser +looses +loosest +loosing +loot +loot's +looted +looter +looter's +looters +looting +loots +lop +lope +lope's +loped +lopes +loping +lopped +lopping +lops +lopsided +lopsidedly +lopsidedness +lopsidedness's +loquacious +loquacity +loquacity's +lord +lord's +lorded +lording +lordlier +lordliest +lordly +lords +lordship +lordship's +lordships +lore +lore's +lorgnette +lorgnette's +lorgnettes +lorn +lorries +lorry +lorry's +lose +loser +loser's +losers +loses +losing +loss +loss's +losses +lost +lot +lot's +loth +lotion +lotion's +lotions +lots +lotteries +lottery +lottery's +lotto +lotto's +lotus +lotus's +lotuses +loud +louder +loudest +loudly +loudmouth +loudmouth's +loudmouthed +loudmouths +loudness +loudness's +loudspeaker +loudspeaker's +loudspeakers +lounge +lounge's +lounged +lounges +lounging +louse +louse's +louses +lousier +lousiest +lousiness +lousiness's +lousy +lout +lout's +loutish +louts +louver +louver's +louvered +louvers +louvred +lovable +love +love's +loveable +lovebird +lovebird's +lovebirds +loved +loveless +lovelier +lovelies +loveliest +loveliness +loveliness's +lovelorn +lovely +lovely's +lovemaking +lovemaking's +lover +lover's +lovers +loves +lovesick +loving +lovingly +low +low's +lowbrow +lowbrow's +lowbrows +lowdown +lowdown's +lowed +lower +lowercase +lowercase's +lowered +lowering +lowers +lowest +lowing +lowish +lowland +lowland's +lowlands +lowlier +lowliest +lowliness +lowliness's +lowly +lowness +lowness's +lows +lox +lox's +loxes +loyal +loyaler +loyalest +loyalist +loyalist's +loyalists +loyaller +loyallest +loyally +loyalties +loyalty +loyalty's +lozenge +lozenge's +lozenges +ls +luau +luau's +luaus +lubber +lubber's +lubbers +lube +lube's +lubed +lubes +lubing +lubricant +lubricant's +lubricants +lubricate +lubricated +lubricates +lubricating +lubrication +lubrication's +lubricator +lubricator's +lubricators +lucid +lucidity +lucidity's +lucidly +lucidness +lucidness's +luck +luck's +lucked +luckier +luckiest +luckily +luckiness +luckiness's +lucking +luckless +lucks +lucky +lucrative +lucratively +lucre +lucre's +ludicrous +ludicrously +ludicrousness +ludicrousness's +lug +lug's +luggage +luggage's +lugged +lugging +lugs +lugubrious +lugubriously +lugubriousness +lugubriousness's +lukewarm +lull +lull's +lullabies +lullaby +lullaby's +lulled +lulling +lulls +lumbago +lumbago's +lumbar +lumber +lumber's +lumbered +lumbering +lumbering's +lumberjack +lumberjack's +lumberjacks +lumberman +lumberman's +lumbermen +lumbers +lumberyard +lumberyard's +lumberyards +luminaries +luminary +luminary's +luminescence +luminescence's +luminescent +luminosity +luminosity's +luminous +luminously +lummox +lummox's +lummoxes +lump +lump's +lumped +lumpier +lumpiest +lumpiness +lumpiness's +lumping +lumpish +lumps +lumpy +lunacies +lunacy +lunacy's +lunar +lunatic +lunatic's +lunatics +lunch +lunch's +lunchbox +lunched +luncheon +luncheon's +luncheonette +luncheonette's +luncheonettes +luncheons +lunches +lunching +lunchroom +lunchroom's +lunchrooms +lunchtime +lunchtime's +lunchtimes +lung +lung's +lunge +lunge's +lunged +lunges +lunging +lungs +lupin +lupin's +lupine +lupine's +lupines +lupins +lupus +lupus's +lurch +lurch's +lurched +lurches +lurching +lure +lure's +lured +lures +lurid +luridly +luridness +luridness's +luring +lurk +lurked +lurking +lurks +luscious +lusciously +lusciousness +lusciousness's +lush +lush's +lusher +lushes +lushest +lushness +lushness's +lust +lust's +lusted +luster +luster's +lustful +lustfully +lustier +lustiest +lustily +lustiness +lustiness's +lusting +lustre +lustre's +lustrous +lusts +lusty +lute +lute's +lutes +luxuriance +luxuriance's +luxuriant +luxuriantly +luxuriate +luxuriated +luxuriates +luxuriating +luxuries +luxurious +luxuriously +luxuriousness +luxuriousness's +luxury +luxury's +lyceum +lyceum's +lyceums +lychee +lychee's +lychees +lye +lye's +lying +lying's +lymph +lymph's +lymphatic +lymphatic's +lymphatics +lymphoma +lymphoma's +lymphomas +lymphomata +lynch +lynched +lynches +lynching +lynching's +lynchings +lynchpin +lynchpin's +lynchpins +lynx +lynx's +lynxes +lyre +lyre's +lyres +lyric +lyric's +lyrical +lyrically +lyricist +lyricist's +lyricists +lyrics +m +ma +ma'am +ma's +macabre +macadam +macadam's +macaroni +macaroni's +macaronies +macaronis +macaroon +macaroon's +macaroons +macaw +macaw's +macaws +mace +mace's +maced +macerate +macerated +macerates +macerating +maceration +maceration's +maces +machete +machete's +machetes +machination +machination's +machinations +machine +machine's +machined +machinery +machinery's +machines +machining +machinist +machinist's +machinists +machismo +machismo's +macho +macho's +macing +macintosh +macintosh's +macintoshes +mackerel +mackerel's +mackerels +mackinaw +mackinaw's +mackinaws +mackintosh +mackintosh's +mackintoshes +macro +macro's +macrobiotic +macrobiotics +macrobiotics's +macrocosm +macrocosm's +macrocosms +macron +macron's +macrons +macros +macroscopic +mad +mad's +madam +madam's +madame +madame's +madams +madcap +madcap's +madcaps +madden +maddened +maddening +maddeningly +maddens +madder +madder's +madders +maddest +made +mademoiselle +mademoiselle's +mademoiselles +madhouse +madhouse's +madhouses +madly +madman +madman's +madmen +madness +madness's +madras +madras's +madrases +madrigal +madrigal's +madrigals +mads +madwoman +madwoman's +madwomen +maelstrom +maelstrom's +maelstroms +maestri +maestro +maestro's +maestros +magazine +magazine's +magazines +magenta +magenta's +maggot +maggot's +maggots +magic +magic's +magical +magically +magician +magician's +magicians +magisterial +magisterially +magistrate +magistrate's +magistrates +magma +magma's +magnanimity +magnanimity's +magnanimous +magnanimously +magnate +magnate's +magnates +magnesia +magnesia's +magnesium +magnesium's +magnet +magnet's +magnetic +magnetically +magnetism +magnetism's +magnetization +magnetization's +magnetize +magnetized +magnetizes +magnetizing +magneto +magneto's +magnetos +magnetosphere +magnets +magnification +magnification's +magnifications +magnificence +magnificence's +magnificent +magnificently +magnified +magnifier +magnifier's +magnifiers +magnifies +magnify +magnifying +magnitude +magnitude's +magnitudes +magnolia +magnolia's +magnolias +magnum +magnum's +magnums +magpie +magpie's +magpies +maharaja +maharaja's +maharajah +maharajah's +maharajahs +maharajas +maharanee +maharanee's +maharanees +maharani +maharani's +maharanis +maharishi +maharishi's +maharishis +mahatma +mahatma's +mahatmas +mahjong +mahjong's +mahoganies +mahogany +mahogany's +maid +maid's +maiden +maiden's +maidenhair +maidenhair's +maidenhead +maidenhead's +maidenheads +maidenhood +maidenhood's +maidenly +maidens +maids +maidservant +maidservant's +maidservants +mail +mail's +mailbox +mailbox's +mailboxes +mailed +mailer +mailer's +mailers +mailing +mailing's +mailings +mailman +mailman's +mailmen +mails +maim +maimed +maiming +maims +main +main's +mainframe +mainframe's +mainframes +mainland +mainland's +mainlands +mainline +mainline's +mainlined +mainlines +mainlining +mainly +mainmast +mainmast's +mainmasts +mains +mainsail +mainsail's +mainsails +mainspring +mainspring's +mainsprings +mainstay +mainstay's +mainstays +mainstream +mainstream's +mainstreamed +mainstreaming +mainstreams +maintain +maintainability +maintainable +maintained +maintainer +maintainers +maintaining +maintains +maintenance +maintenance's +maize +maize's +maizes +majestic +majestically +majesties +majesty +majesty's +major +major's +majored +majorette +majorette's +majorettes +majoring +majorities +majority +majority's +majorly +majors +make +make's +maker +maker's +makers +makes +makeshift +makeshift's +makeshifts +makeup +makeup's +makeups +making +making's +makings +maladies +maladjusted +maladjustment +maladjustment's +maladroit +malady +malady's +malaise +malaise's +malapropism +malapropism's +malapropisms +malaria +malaria's +malarial +malarkey +malarkey's +malcontent +malcontent's +malcontents +male +male's +malediction +malediction's +maledictions +malefactor +malefactor's +malefactors +maleness +maleness's +males +malevolence +malevolence's +malevolent +malevolently +malfeasance +malfeasance's +malformation +malformation's +malformations +malformed +malfunction +malfunction's +malfunctioned +malfunctioning +malfunctions +malice +malice's +malicious +maliciously +malign +malignancies +malignancy +malignancy's +malignant +malignantly +maligned +maligning +malignity +malignity's +maligns +malinger +malingered +malingerer +malingerer's +malingerers +malingering +malingers +mall +mall's +mallard +mallard's +mallards +malleability +malleability's +malleable +mallet +mallet's +mallets +mallow +mallow's +mallows +malls +malnourished +malnutrition +malnutrition's +malodorous +malpractice +malpractice's +malpractices +malt +malt's +malted +malted's +malteds +malting +maltreat +maltreated +maltreating +maltreatment +maltreatment's +maltreats +malts +mama +mama's +mamas +mambo +mambo's +mamboed +mamboing +mambos +mamma +mamma's +mammal +mammal's +mammalian +mammalian's +mammalians +mammals +mammary +mammas +mammogram +mammogram's +mammograms +mammography +mammography's +mammon +mammon's +mammoth +mammoth's +mammoths +man +man's +manacle +manacle's +manacled +manacles +manacling +manage +manageability +manageability's +manageable +managed +management +management's +manager +manager's +managerial +managers +manages +managing +manatee +manatee's +manatees +mandarin +mandarin's +mandarins +mandate +mandate's +mandated +mandates +mandating +mandatory +mandible +mandible's +mandibles +mandolin +mandolin's +mandolins +mandrake +mandrake's +mandrakes +mandrill +mandrill's +mandrills +mane +mane's +manes +maneuver +maneuver's +maneuverability +maneuverability's +maneuverable +maneuvered +maneuvering +maneuvers +manful +manfully +manganese +manganese's +mange +mange's +manger +manger's +mangers +mangier +mangiest +mangle +mangle's +mangled +mangles +mangling +mango +mango's +mangoes +mangos +mangrove +mangrove's +mangroves +mangy +manhandle +manhandled +manhandles +manhandling +manhole +manhole's +manholes +manhood +manhood's +manhunt +manhunt's +manhunts +mania +mania's +maniac +maniac's +maniacal +maniacs +manias +manic +manic's +manics +manicure +manicure's +manicured +manicures +manicuring +manicurist +manicurist's +manicurists +manifest +manifest's +manifestation +manifestation's +manifestations +manifested +manifesting +manifestly +manifesto +manifesto's +manifestoes +manifestos +manifests +manifold +manifold's +manifolded +manifolding +manifolds +manikin +manikin's +manikins +manipulate +manipulated +manipulates +manipulating +manipulation +manipulation's +manipulations +manipulative +manipulator +manipulator's +manipulators +mankind +mankind's +manlier +manliest +manliness +manliness's +manly +manna +manna's +manned +mannequin +mannequin's +mannequins +manner +manner's +mannered +mannerism +mannerism's +mannerisms +mannerly +manners +mannikin +mannikin's +mannikins +manning +mannish +mannishly +mannishness +mannishness's +manor +manor's +manorial +manors +manpower +manpower's +mans +mansard +mansard's +mansards +manse +manse's +manservant +manservant's +manses +mansion +mansion's +mansions +manslaughter +manslaughter's +mantel +mantel's +mantelpiece +mantelpiece's +mantelpieces +mantels +mantes +mantilla +mantilla's +mantillas +mantis +mantis's +mantises +mantissa +mantle +mantle's +mantled +mantlepiece +mantlepieces +mantles +mantling +mantra +mantra's +mantras +manual +manual's +manually +manuals +manufacture +manufacture's +manufactured +manufacturer +manufacturer's +manufacturers +manufactures +manufacturing +manufacturing's +manumit +manumits +manumitted +manumitting +manure +manure's +manured +manures +manuring +manuscript +manuscript's +manuscripts +many +many's +map +map's +maple +maple's +maples +mapped +mapper +mapping +mappings +maps +mar +marabou +marabou's +marabous +maraca +maraca's +maracas +marathon +marathon's +marathoner +marathoner's +marathoners +marathons +maraud +marauded +marauder +marauder's +marauders +marauding +marauds +marble +marble's +marbled +marbles +marbling +marbling's +march +march's +marched +marcher +marcher's +marchers +marches +marching +marchioness +marchioness's +marchionesses +mare +mare's +mares +margarine +margarine's +margarita +margarita's +margaritas +margin +margin's +marginal +marginalia +marginalia's +marginally +margins +maria +maria's +mariachi +mariachi's +mariachis +marigold +marigold's +marigolds +marihuana +marihuana's +marijuana +marijuana's +marimba +marimba's +marimbas +marina +marina's +marinade +marinade's +marinaded +marinades +marinading +marinas +marinate +marinated +marinates +marinating +marine +marine's +mariner +mariner's +mariners +marines +marionette +marionette's +marionettes +marital +maritime +marjoram +marjoram's +mark +mark's +markdown +markdown's +markdowns +marked +markedly +marker +marker's +markers +market +market's +marketability +marketability's +marketable +marketed +marketer +marketer's +marketers +marketing +marketing's +marketplace +marketplace's +marketplaces +markets +marking +marking's +markings +marks +marksman +marksman's +marksmanship +marksmanship's +marksmen +markup +markup's +markups +marlin +marlin's +marlins +marmalade +marmalade's +marmoset +marmoset's +marmosets +marmot +marmot's +marmots +maroon +maroon's +marooned +marooning +maroons +marquee +marquee's +marquees +marquess +marquess's +marquesses +marquetry +marquetry's +marquis +marquis's +marquise +marquise's +marquises +marred +marriage +marriage's +marriageable +marriages +married +married's +marrieds +marries +marring +marrow +marrow's +marrows +marry +marrying +mars +marsh +marsh's +marshal +marshal's +marshaled +marshaling +marshalled +marshalling +marshals +marshes +marshier +marshiest +marshmallow +marshmallow's +marshmallows +marshy +marsupial +marsupial's +marsupials +mart +mart's +marten +marten's +martens +martial +martin +martin's +martinet +martinet's +martinets +martini +martini's +martinis +martins +marts +martyr +martyr's +martyrdom +martyrdom's +martyred +martyring +martyrs +marvel +marvel's +marveled +marveling +marvelled +marvelling +marvellously +marvelous +marvelously +marvels +marzipan +marzipan's +mas +mascara +mascara's +mascaraed +mascaraing +mascaras +mascot +mascot's +mascots +masculine +masculine's +masculines +masculinity +masculinity's +mash +mash's +mashed +masher +masher's +mashers +mashes +mashing +mask +mask's +masked +masking +masks +masochism +masochism's +masochist +masochist's +masochistic +masochists +mason +mason's +masonic +masonry +masonry's +masons +masque +masque's +masquerade +masquerade's +masqueraded +masquerader +masquerader's +masqueraders +masquerades +masquerading +masques +mass +mass's +massacre +massacre's +massacred +massacres +massacring +massage +massage's +massaged +massages +massaging +massed +masses +masseur +masseur's +masseurs +masseuse +masseuse's +masseuses +massing +massive +massively +massiveness +massiveness's +mast +mast's +mastectomies +mastectomy +mastectomy's +master +master's +mastered +masterful +masterfully +mastering +masterly +mastermind +mastermind's +masterminded +masterminding +masterminds +masterpiece +masterpiece's +masterpieces +masters +masterstroke +masterstroke's +masterstrokes +masterwork +masterwork's +masterworks +mastery +mastery's +masthead +masthead's +mastheads +masticate +masticated +masticates +masticating +mastication +mastication's +mastiff +mastiff's +mastiffs +mastodon +mastodon's +mastodons +mastoid +mastoid's +mastoids +masts +masturbate +masturbated +masturbates +masturbating +masturbation +masturbation's +mat +mat's +matador +matador's +matadors +match +match's +matchbook +matchbook's +matchbooks +matchbox +matchbox's +matchboxes +matched +matches +matching +matchless +matchmaker +matchmaker's +matchmakers +matchmaking +matchmaking's +matchstick +matchstick's +matchsticks +mate +mate's +mated +material +material's +materialism +materialism's +materialist +materialist's +materialistic +materialistically +materialists +materialization +materialization's +materialize +materialized +materializes +materializing +materially +materials +maternal +maternally +maternity +maternity's +mates +math +math's +mathematical +mathematically +mathematician +mathematician's +mathematicians +mathematics +mathematics's +mating +matins +matins's +matriarch +matriarch's +matriarchal +matriarchies +matriarchs +matriarchy +matriarchy's +matrices +matricide +matricide's +matricides +matriculate +matriculated +matriculates +matriculating +matriculation +matriculation's +matrimonial +matrimony +matrimony's +matrix +matrix's +matrixes +matron +matron's +matronly +matrons +mats +matt +matte +matte's +matted +matter +matter's +mattered +mattering +matters +mattes +matting +matting's +mattock +mattock's +mattocks +mattress +mattress's +mattresses +matts +maturation +maturation's +mature +matured +maturely +maturer +matures +maturest +maturing +maturities +maturity +maturity's +matzo +matzo's +matzoh +matzoh's +matzohs +matzos +matzot +matzoth +maudlin +maul +maul's +mauled +mauling +mauls +maunder +maundered +maundering +maunders +mausolea +mausoleum +mausoleum's +mausoleums +mauve +mauve's +maven +maven's +mavens +maverick +maverick's +mavericks +mavin +mavin's +mavins +maw +maw's +mawkish +mawkishly +maws +max's +maxed +maxes +maxilla +maxilla's +maxillae +maxillary +maxillas +maxim +maxim's +maxima +maximal +maximally +maximization +maximization's +maximize +maximized +maximizes +maximizing +maxims +maximum +maximum's +maximums +maxing +may +may's +maybe +maybe's +maybes +mayday +mayday's +maydays +mayflies +mayflower +mayflower's +mayflowers +mayfly +mayfly's +mayhem +mayhem's +mayo +mayo's +mayonnaise +mayonnaise's +mayor +mayor's +mayoral +mayoralty +mayoralty's +mayors +maypole +maypole's +maypoles +maze +maze's +mazes +mazourka +mazourka's +mazourkas +mazurka +mazurka's +mazurkas +me +mead +mead's +meadow +meadow's +meadowlark +meadowlark's +meadowlarks +meadows +meager +meagerly +meagerness +meagerness's +meal +meal's +mealier +mealiest +meals +mealtime +mealtime's +mealtimes +mealy +mean +mean's +meander +meander's +meandered +meandering +meanders +meaner +meanest +meaning +meaning's +meaningful +meaningfully +meaningless +meanings +meanly +meanness +meanness's +means +meant +meantime +meantime's +meanwhile +meanwhile's +measles +measles's +measlier +measliest +measly +measurable +measurably +measure +measure's +measured +measureless +measurement +measurement's +measurements +measures +measuring +meat +meat's +meatball +meatball's +meatballs +meatier +meatiest +meatloaf +meatloaf's +meatloaves +meats +meaty +mecca +mecca's +meccas +mechanic +mechanic's +mechanical +mechanically +mechanics +mechanics's +mechanism +mechanism's +mechanisms +mechanistic +mechanization +mechanization's +mechanize +mechanized +mechanizes +mechanizing +medal +medal's +medalist +medalist's +medalists +medallion +medallion's +medallions +medals +meddle +meddled +meddler +meddler's +meddlers +meddles +meddlesome +meddling +media +media's +mediaeval +medial +median +median's +medians +medias +mediate +mediated +mediates +mediating +mediation +mediation's +mediator +mediator's +mediators +medic +medic's +medical +medical's +medically +medicals +medicate +medicated +medicates +medicating +medication +medication's +medications +medicinal +medicinally +medicine +medicine's +medicines +medics +medieval +mediocre +mediocrities +mediocrity +mediocrity's +meditate +meditated +meditates +meditating +meditation +meditation's +meditations +meditative +meditatively +medium +medium's +mediums +medley +medley's +medleys +medulla +medulla's +medullae +medullas +meek +meeker +meekest +meekly +meekness +meekness's +meet +meet's +meeting +meeting's +meetinghouse +meetinghouse's +meetinghouses +meetings +meets +meg +megabyte +megabyte's +megabytes +megacycle +megacycle's +megacycles +megahertz +megahertz's +megahertzes +megalith +megalith's +megaliths +megalomania +megalomania's +megalomaniac +megalomaniac's +megalomaniacs +megalopolis +megalopolis's +megalopolises +megaphone +megaphone's +megaphoned +megaphones +megaphoning +megapixel +megapixel's +megapixels +megaton +megaton's +megatons +megs +melancholia +melancholia's +melancholic +melancholics +melancholy +melancholy's +melange +melange's +melanges +melanin +melanin's +melanoma +melanoma's +melanomas +melanomata +meld +meld's +melded +melding +melds +mellifluous +mellifluously +mellow +mellowed +mellower +mellowest +mellowing +mellowness +mellowness's +mellows +melodic +melodically +melodies +melodious +melodiously +melodiousness +melodiousness's +melodrama +melodrama's +melodramas +melodramatic +melodramatically +melody +melody's +melon +melon's +melons +melt +melt's +meltdown +meltdown's +meltdowns +melted +melting +melts +member +member's +members +membership +membership's +memberships +membrane +membrane's +membranes +membranous +memento +memento's +mementoes +mementos +memo +memo's +memoir +memoir's +memoirs +memorabilia +memorabilia's +memorable +memorably +memoranda +memorandum +memorandum's +memorandums +memorial +memorial's +memorialize +memorialized +memorializes +memorializing +memorials +memories +memorization +memorization's +memorize +memorized +memorizes +memorizing +memory +memory's +memos +men +menace +menace's +menaced +menaces +menacing +menacingly +menage +menage's +menagerie +menagerie's +menageries +menages +mend +mend's +mendacious +mendacity +mendacity's +mended +mender +mender's +menders +mendicant +mendicant's +mendicants +mending +mends +menfolk +menfolk's +menhaden +menhaden's +menhadens +menial +menial's +menially +menials +meningitis +meningitis's +menopausal +menopause +menopause's +menorah +menorah's +menorahs +menservants +menses +menses's +menstrual +menstruate +menstruated +menstruates +menstruating +menstruation +menstruation's +menswear +menswear's +mental +mentalities +mentality +mentality's +mentally +menthol +menthol's +mentholated +mention +mention's +mentioned +mentioning +mentions +mentor +mentor's +mentored +mentoring +mentors +menu +menu's +menus +meow +meow's +meowed +meowing +meows +mercantile +mercenaries +mercenary +mercenary's +mercerize +mercerized +mercerizes +mercerizing +merchandise +merchandise's +merchandised +merchandises +merchandising +merchandize +merchandized +merchandizes +merchandizing +merchant +merchant's +merchantman +merchantman's +merchantmen +merchants +mercies +merciful +mercifully +merciless +mercilessly +mercurial +mercuric +mercury +mercury's +mercy +mercy's +mere +mere's +merely +meres +merest +meretricious +merganser +merganser's +mergansers +merge +merged +merger +merger's +mergers +merges +merging +meridian +meridian's +meridians +meringue +meringue's +meringues +merino +merino's +merinos +merit +merit's +merited +meriting +meritocracies +meritocracy +meritocracy's +meritorious +meritoriously +merits +mermaid +mermaid's +mermaids +merman +merman's +mermen +merrier +merriest +merrily +merriment +merriment's +merriness +merriness's +merry +merrymaker +merrymaker's +merrymakers +merrymaking +merrymaking's +mes +mesa +mesa's +mesas +mescal +mescal's +mescaline +mescaline's +mescals +mesdames +mesdemoiselles +mesh +mesh's +meshed +meshes +meshing +mesmerism +mesmerism's +mesmerize +mesmerized +mesmerizes +mesmerizing +mesquite +mesquite's +mesquites +mess +mess's +message +message's +messages +messed +messenger +messenger's +messengers +messes +messiah +messiah's +messiahs +messier +messiest +messieurs +messily +messiness +messiness's +messing +messy +mestizo +mestizo's +mestizoes +mestizos +met +metabolic +metabolism +metabolism's +metabolisms +metabolize +metabolized +metabolizes +metabolizing +metacarpal +metacarpal's +metacarpals +metacarpi +metacarpus +metacarpus's +metal +metal's +metallic +metallurgical +metallurgist +metallurgist's +metallurgists +metallurgy +metallurgy's +metals +metamorphic +metamorphism +metamorphism's +metamorphose +metamorphosed +metamorphoses +metamorphosing +metamorphosis +metamorphosis's +metaphor +metaphor's +metaphorical +metaphorically +metaphors +metaphysical +metaphysics +metaphysics's +metastases +metastasis +metastasis's +metastasize +metastasized +metastasizes +metastasizing +metatarsal +metatarsal's +metatarsals +mete +mete's +meted +meteor +meteor's +meteoric +meteorite +meteorite's +meteorites +meteoroid +meteoroid's +meteoroids +meteorological +meteorologist +meteorologist's +meteorologists +meteorology +meteorology's +meteors +meter +meter's +metered +metering +meters +metes +methadon +methadon's +methadone +methadone's +methane +methane's +methanol +methanol's +methinks +method +method's +methodical +methodically +methodological +methodologies +methodology +methodology's +methods +methought +meticulous +meticulously +meticulousness +meticulousness's +meting +metric +metrical +metrically +metrication +metrication's +metrics +metro +metro's +metronome +metronome's +metronomes +metropolis +metropolis's +metropolises +metropolitan +metros +mettle +mettle's +mettlesome +mew +mew's +mewed +mewing +mewl +mewled +mewling +mewls +mews +mews's +mezzanine +mezzanine's +mezzanines +mi +mi's +miaow +miaow's +miaowed +miaowing +miaows +miasma +miasma's +miasmas +miasmata +mica +mica's +mice +micra +microbe +microbe's +microbes +microbiologist +microbiologist's +microbiologists +microbiology +microbiology's +microchip +microchip's +microchips +microcode +microcomputer +microcomputer's +microcomputers +microcosm +microcosm's +microcosms +microeconomics +microeconomics's +microfiche +microfiche's +microfiches +microfilm +microfilm's +microfilmed +microfilming +microfilms +micrometer +micrometer's +micrometers +micron +micron's +microns +microorganism +microorganism's +microorganisms +microphone +microphone's +microphones +microprocessor +microprocessor's +microprocessors +microscope +microscope's +microscopes +microscopic +microscopically +microscopy +microscopy's +microsecond +microsecond's +microseconds +microsurgery +microsurgery's +microwave +microwave's +microwaved +microwaves +microwaving +mid +midair +midair's +midday +midday's +middies +middle +middle's +middlebrow +middlebrow's +middlebrows +middleman +middleman's +middlemen +middles +middleweight +middleweight's +middleweights +middling +middy +middy's +midge +midge's +midges +midget +midget's +midgets +midland +midland's +midlands +midmost +midnight +midnight's +midpoint +midpoint's +midpoints +midriff +midriff's +midriffs +midshipman +midshipman's +midshipmen +midst +midst's +midstream +midstream's +midsummer +midsummer's +midterm +midterm's +midterms +midtown +midtown's +midway +midway's +midways +midweek +midweek's +midweeks +midwife +midwife's +midwifed +midwiferies +midwifery +midwifery's +midwifes +midwifing +midwinter +midwinter's +midwived +midwives +midwiving +midyear +midyear's +midyears +mien +mien's +miens +miff +miffed +miffing +miffs +might +might's +mightier +mightiest +mightily +mightiness +mightiness's +mighty +migraine +migraine's +migraines +migrant +migrant's +migrants +migrate +migrated +migrates +migrating +migration +migration's +migrations +migratory +mike +mike's +miked +mikes +miking +mil +mil's +milch +mild +mild's +milder +mildest +mildew +mildew's +mildewed +mildewing +mildews +mildly +mildness +mildness's +mile +mile's +mileage +mileage's +mileages +milepost +milepost's +mileposts +miler +miler's +milers +miles +milestone +milestone's +milestones +milieu +milieu's +milieus +milieux +militancy +militancy's +militant +militant's +militantly +militants +militaries +militarily +militarism +militarism's +militarist +militarist's +militaristic +militarists +militarization +militarization's +militarize +militarized +militarizes +militarizing +military +military's +militate +militated +militates +militating +militia +militia's +militiaman +militiaman's +militiamen +militias +milk +milk's +milked +milker +milkier +milkiest +milkiness +milkiness's +milking +milkmaid +milkmaid's +milkmaids +milkman +milkman's +milkmen +milks +milkshake +milkshake's +milkshakes +milksop +milksop's +milksops +milkweed +milkweed's +milkweeds +milky +mill +mill's +millage +millage's +milled +millennia +millennial +millennium +millennium's +millenniums +millepede +millepede's +millepedes +miller +miller's +millers +millet +millet's +milligram +milligram's +milligrams +milliliter +milliliter's +milliliters +millimeter +millimeter's +millimeters +milliner +milliner's +milliners +millinery +millinery's +milling +million +million's +millionaire +millionaire's +millionaires +millions +millionth +millionth's +millionths +millipede +millipede's +millipedes +millisecond +millisecond's +milliseconds +millrace +millrace's +millraces +mills +millstone +millstone's +millstones +milquetoast +milquetoast's +milquetoasts +mils +mime +mime's +mimed +mimeograph +mimeograph's +mimeographed +mimeographing +mimeographs +mimes +mimetic +mimic +mimic's +mimicked +mimicking +mimicries +mimicry +mimicry's +mimics +miming +mimosa +mimosa's +mimosas +minaret +minaret's +minarets +minatory +mince +mince's +minced +mincemeat +mincemeat's +minces +mincing +mind +mind's +mindbogglingly +minded +mindedness +mindful +mindfully +mindfulness +mindfulness's +minding +mindless +mindlessly +mindlessness +mindlessness's +minds +mine +mine's +mined +minefield +minefield's +minefields +miner +miner's +mineral +mineral's +mineralogist +mineralogist's +mineralogists +mineralogy +mineralogy's +minerals +miners +mines +minestrone +minestrone's +minesweeper +minesweeper's +minesweepers +mingle +mingled +mingles +mingling +mini +mini's +miniature +miniature's +miniatures +miniaturist +miniaturist's +miniaturists +miniaturization +miniaturization's +miniaturize +miniaturized +miniaturizes +miniaturizing +minibike +minibike's +minibikes +minibus +minibus's +minibuses +minibusses +minicam +minicam's +minicams +minicomputer +minicomputer's +minicomputers +minim +minim's +minima +minimal +minimalism +minimalism's +minimalist +minimalist's +minimalists +minimally +minimization +minimize +minimized +minimizes +minimizing +minims +minimum +minimum's +minimums +mining +mining's +minion +minion's +minions +minis +miniscule +miniscule's +miniscules +miniseries +miniseries's +miniskirt +miniskirt's +miniskirts +minister +minister's +ministered +ministerial +ministering +ministers +ministrant +ministrant's +ministrants +ministration +ministration's +ministrations +ministries +ministry +ministry's +minivan +minivan's +minivans +mink +mink's +minks +minnow +minnow's +minnows +minor +minor's +minored +minoring +minorities +minority +minority's +minors +minster +minstrel +minstrel's +minstrels +mint +mint's +minted +mintier +mintiest +minting +mints +minty +minuend +minuend's +minuends +minuet +minuet's +minuets +minus +minus's +minuscule +minuscule's +minuscules +minuses +minute +minute's +minuted +minutely +minuteman +minuteman's +minutemen +minuteness +minuteness's +minuter +minutes +minutest +minutia +minutia's +minutiae +minuting +minx +minx's +minxes +miracle +miracle's +miracles +miraculous +miraculously +mirage +mirage's +mirages +mire +mire's +mired +mires +miring +mirror +mirror's +mirrored +mirroring +mirrors +mirth +mirth's +mirthful +mirthfully +mirthless +misadventure +misadventure's +misadventures +misalignment +misalliance +misalliance's +misalliances +misanthrope +misanthrope's +misanthropes +misanthropic +misanthropist +misanthropist's +misanthropists +misanthropy +misanthropy's +misapplication +misapplication's +misapplied +misapplies +misapply +misapplying +misapprehend +misapprehended +misapprehending +misapprehends +misapprehension +misapprehension's +misapprehensions +misappropriate +misappropriated +misappropriates +misappropriating +misappropriation +misappropriation's +misappropriations +misbegotten +misbehave +misbehaved +misbehaves +misbehaving +misbehavior +misbehavior's +miscalculate +miscalculated +miscalculates +miscalculating +miscalculation +miscalculation's +miscalculations +miscall +miscalled +miscalling +miscalls +miscarriage +miscarriage's +miscarriages +miscarried +miscarries +miscarry +miscarrying +miscast +miscasting +miscasts +miscegenation +miscegenation's +miscellaneous +miscellanies +miscellany +miscellany's +mischance +mischance's +mischances +mischief +mischief's +mischievous +mischievously +mischievousness +mischievousness's +misconceive +misconceived +misconceives +misconceiving +misconception +misconception's +misconceptions +misconduct +misconduct's +misconducted +misconducting +misconducts +misconstruction +misconstruction's +misconstructions +misconstrue +misconstrued +misconstrues +misconstruing +miscount +miscount's +miscounted +miscounting +miscounts +miscreant +miscreant's +miscreants +miscue +miscue's +miscued +miscues +miscuing +misdeal +misdeal's +misdealing +misdeals +misdealt +misdeed +misdeed's +misdeeds +misdemeanor +misdemeanor's +misdemeanors +misdiagnose +misdiagnosed +misdiagnoses +misdiagnosing +misdiagnosis +misdiagnosis's +misdid +misdirect +misdirected +misdirecting +misdirection +misdirection's +misdirects +misdo +misdoes +misdoing +misdoing's +misdoings +misdone +miser +miser's +miserable +miserably +miseries +miserliness +miserliness's +miserly +misers +misery +misery's +misfeasance +misfeasance's +misfire +misfire's +misfired +misfires +misfiring +misfit +misfit's +misfits +misfitted +misfitting +misfortune +misfortune's +misfortunes +misgiving +misgiving's +misgivings +misgovern +misgoverned +misgoverning +misgoverns +misguide +misguided +misguidedly +misguides +misguiding +mishandle +mishandled +mishandles +mishandling +mishap +mishap's +mishaps +mishmash +mishmash's +mishmashes +misidentified +misidentifies +misidentify +misidentifying +misinform +misinformation +misinformation's +misinformed +misinforming +misinforms +misinterpret +misinterpretation +misinterpretation's +misinterpretations +misinterpreted +misinterpreting +misinterprets +misjudge +misjudged +misjudgement +misjudgement's +misjudgements +misjudges +misjudging +misjudgment +misjudgment's +misjudgments +mislaid +mislay +mislaying +mislays +mislead +misleading +misleads +misled +mismanage +mismanaged +mismanagement +mismanagement's +mismanages +mismanaging +mismatch +mismatch's +mismatched +mismatches +mismatching +misnomer +misnomer's +misnomers +misogynist +misogynist's +misogynistic +misogynists +misogyny +misogyny's +misplace +misplaced +misplaces +misplacing +misplay +misplay's +misplayed +misplaying +misplays +misprint +misprint's +misprinted +misprinting +misprints +mispronounce +mispronounced +mispronounces +mispronouncing +mispronunciation +mispronunciation's +mispronunciations +misquotation +misquotation's +misquotations +misquote +misquote's +misquoted +misquotes +misquoting +misread +misreading +misreading's +misreadings +misreads +misrepresent +misrepresentation +misrepresentation's +misrepresentations +misrepresented +misrepresenting +misrepresents +misrule +misrule's +misruled +misrules +misruling +miss +miss's +missal +missal's +missals +missed +misses +misshapen +missile +missile's +missilery +missilery's +missiles +missing +mission +mission's +missionaries +missionary +missionary's +missions +missive +missive's +missives +misspell +misspelled +misspelling +misspelling's +misspellings +misspells +misspelt +misspend +misspending +misspends +misspent +misstate +misstated +misstatement +misstatement's +misstatements +misstates +misstating +misstep +misstep's +missteps +mist +mist's +mistake +mistake's +mistaken +mistakenly +mistakes +mistaking +misted +mister +mister's +misters +mistier +mistiest +mistily +mistime +mistimed +mistimes +mistiming +mistiness +mistiness's +misting +mistletoe +mistletoe's +mistook +mistranslated +mistreat +mistreated +mistreating +mistreatment +mistreatment's +mistreats +mistress +mistress's +mistresses +mistrial +mistrial's +mistrials +mistrust +mistrust's +mistrusted +mistrustful +mistrusting +mistrusts +mists +misty +mistype +mistypes +mistyping +misunderstand +misunderstanding +misunderstanding's +misunderstandings +misunderstands +misunderstood +misuse +misuse's +misused +misuses +misusing +mite +mite's +miter +miter's +mitered +mitering +miters +mites +mitigate +mitigated +mitigates +mitigating +mitigation +mitigation's +mitosis +mitosis's +mitt +mitt's +mitten +mitten's +mittens +mitts +mix +mix's +mixed +mixer +mixer's +mixers +mixes +mixing +mixture +mixture's +mixtures +mizzen +mizzen's +mizzenmast +mizzenmast's +mizzenmasts +mizzens +mnemonic +mnemonic's +mnemonics +moan +moan's +moaned +moaning +moans +moat +moat's +moats +mob +mob's +mobbed +mobbing +mobile +mobile's +mobiles +mobility +mobility's +mobilization +mobilization's +mobilizations +mobilize +mobilized +mobilizes +mobilizing +mobs +mobster +mobster's +mobsters +moccasin +moccasin's +moccasins +mocha +mocha's +mock +mocked +mocker +mocker's +mockeries +mockers +mockery +mockery's +mocking +mockingbird +mockingbird's +mockingbirds +mockingly +mocks +mod +mod's +modal +modal's +modals +mode +mode's +model +model's +modeled +modeling +modeling's +modelings +modelled +modelling +models +modem +modem's +modems +moderate +moderate's +moderated +moderately +moderates +moderating +moderation +moderation's +moderator +moderator's +moderators +modern +modern's +modernism +modernism's +modernist +modernist's +modernistic +modernists +modernity +modernity's +modernization +modernization's +modernize +modernized +modernizes +modernizing +moderns +modes +modest +modestly +modesty +modesty's +modicum +modicum's +modicums +modifiable +modification +modification's +modifications +modified +modifier +modifier's +modifiers +modifies +modify +modifying +modish +modishly +mods +modular +modulate +modulated +modulates +modulating +modulation +modulation's +modulations +modulator +modulator's +modulators +module +module's +modules +modulus +mogul +mogul's +moguls +mohair +mohair's +moieties +moiety +moiety's +moire +moire's +moires +moist +moisten +moistened +moistening +moistens +moister +moistest +moistly +moistness +moistness's +moisture +moisture's +moisturize +moisturized +moisturizer +moisturizer's +moisturizers +moisturizes +moisturizing +molar +molar's +molars +molasses +molasses's +mold +mold's +molded +molder +molder's +moldered +moldering +molders +moldier +moldiest +moldiness +moldiness's +molding +molding's +moldings +molds +moldy +mole +mole's +molecular +molecule +molecule's +molecules +molehill +molehill's +molehills +moles +moleskin +moleskin's +molest +molestation +molestation's +molested +molester +molester's +molesters +molesting +molests +moll +moll's +mollification +mollification's +mollified +mollifies +mollify +mollifying +molls +mollusc +mollusc's +molluscs +mollusk +mollusk's +mollusks +mollycoddle +mollycoddle's +mollycoddled +mollycoddles +mollycoddling +molt +molt's +molted +molten +molting +molts +molybdenum +molybdenum's +mom +mom's +moment +moment's +momentarily +momentary +momentous +momentousness +momentousness's +moments +momentum +momentum's +momma +momma's +mommas +mommies +mommy +mommy's +moms +monarch +monarch's +monarchic +monarchical +monarchies +monarchism +monarchism's +monarchist +monarchist's +monarchists +monarchs +monarchy +monarchy's +monasteries +monastery +monastery's +monastic +monastic's +monasticism +monasticism's +monastics +monaural +monetarily +monetarism +monetary +money +money's +moneybag +moneybag's +moneybags +moneyed +moneymaker +moneymaker's +moneymakers +moneymaking +moneymaking's +mongeese +monger +monger's +mongered +mongering +mongers +mongolism +mongolism's +mongoose +mongoose's +mongooses +mongrel +mongrel's +mongrels +monicker +monicker's +monickers +monied +monies +moniker +moniker's +monikers +monitor +monitor's +monitored +monitoring +monitors +monk +monk's +monkey +monkey's +monkeyed +monkeying +monkeys +monkeyshine +monkeyshine's +monkeyshines +monks +mono +mono's +monochromatic +monochrome +monochrome's +monochromes +monocle +monocle's +monocles +monocotyledon +monocotyledon's +monocotyledons +monogamous +monogamy +monogamy's +monogram +monogram's +monogrammed +monogramming +monograms +monograph +monograph's +monographs +monolingual +monolingual's +monolinguals +monolith +monolith's +monolithic +monoliths +monolog +monolog's +monologs +monologue +monologue's +monologues +monomania +monomania's +monomaniac +monomaniac's +monomaniacs +mononucleosis +mononucleosis's +monophonic +monopolies +monopolist +monopolist's +monopolistic +monopolists +monopolization +monopolization's +monopolize +monopolized +monopolizes +monopolizing +monopoly +monopoly's +monorail +monorail's +monorails +monosyllabic +monosyllable +monosyllable's +monosyllables +monotheism +monotheism's +monotheist +monotheist's +monotheistic +monotheists +monotone +monotone's +monotones +monotonic +monotonically +monotonous +monotonously +monotony +monotony's +monoxide +monoxide's +monoxides +monsieur +monsieur's +monsignor +monsignor's +monsignori +monsignors +monsoon +monsoon's +monsoons +monster +monster's +monsters +monstrance +monstrance's +monstrances +monstrosities +monstrosity +monstrosity's +monstrous +monstrously +montage +montage's +montages +month +month's +monthlies +monthly +monthly's +months +monument +monument's +monumental +monumentally +monuments +moo +moo's +mooch +mooch's +mooched +moocher +moocher's +moochers +mooches +mooching +mood +mood's +moodier +moodiest +moodily +moodiness +moodiness's +moods +moody +mooed +mooing +moon +moon's +moonbeam +moonbeam's +moonbeams +mooned +mooning +moonlight +moonlight's +moonlighted +moonlighter +moonlighter's +moonlighters +moonlighting +moonlighting's +moonlights +moonlit +moons +moonscape +moonscape's +moonscapes +moonshine +moonshine's +moonshines +moonshot +moonshot's +moonshots +moonstone +moonstone's +moonstones +moonstruck +moor +moor's +moored +mooring +mooring's +moorings +moorland +moors +moos +moose +moose's +moot +mooted +mooting +moots +mop +mop's +mope +mope's +moped +moped's +mopeds +mopes +moping +mopped +moppet +moppet's +moppets +mopping +mops +moraine +moraine's +moraines +moral +moral's +morale +morale's +moralist +moralist's +moralistic +moralists +moralities +morality +morality's +moralize +moralized +moralizes +moralizing +morally +morals +morass +morass's +morasses +moratoria +moratorium +moratorium's +moratoriums +moray +moray's +morays +morbid +morbidity +morbidity's +morbidly +mordant +mordant's +mordants +more +more's +moreover +mores +mores's +morgue +morgue's +morgues +moribund +morn +morn's +morning +morning's +mornings +morns +morocco +morocco's +moron +moron's +moronic +morons +morose +morosely +moroseness +moroseness's +morpheme +morpheme's +morphemes +morphine +morphine's +morphological +morphology +morphology's +morrow +morrow's +morrows +morsel +morsel's +morsels +mortal +mortal's +mortality +mortality's +mortally +mortals +mortar +mortar's +mortarboard +mortarboard's +mortarboards +mortared +mortaring +mortars +mortgage +mortgage's +mortgaged +mortgagee +mortgagee's +mortgagees +mortgager +mortgager's +mortgagers +mortgages +mortgaging +mortgagor +mortgagor's +mortgagors +mortice +mortice's +morticed +mortices +mortician +mortician's +morticians +morticing +mortification +mortification's +mortified +mortifies +mortify +mortifying +mortise +mortise's +mortised +mortises +mortising +mortuaries +mortuary +mortuary's +mosaic +mosaic's +mosaics +mosey +moseyed +moseying +moseys +mosque +mosque's +mosques +mosquito +mosquito's +mosquitoes +mosquitos +moss +moss's +mosses +mossier +mossiest +mossy +most +most's +mostly +mote +mote's +motel +motel's +motels +motes +moth +moth's +mothball +mothball's +mothballed +mothballing +mothballs +mother +mother's +motherboard +motherboard's +motherboards +mothered +motherfucker +motherfucker's +motherfuckers +motherfucking +motherhood +motherhood's +mothering +motherland +motherland's +motherlands +motherless +motherliness +motherliness's +motherly +mothers +moths +motif +motif's +motifs +motile +motiles +motion +motion's +motioned +motioning +motionless +motions +motivate +motivated +motivates +motivating +motivation +motivation's +motivational +motivations +motivator +motivator's +motivators +motive +motive's +motives +motley +motley's +motleys +motlier +motliest +motocross +motocross's +motocrosses +motor +motor's +motorbike +motorbike's +motorbiked +motorbikes +motorbiking +motorboat +motorboat's +motorboats +motorcade +motorcade's +motorcades +motorcar +motorcar's +motorcars +motorcycle +motorcycle's +motorcycled +motorcycles +motorcycling +motorcyclist +motorcyclist's +motorcyclists +motored +motoring +motorist +motorist's +motorists +motorize +motorized +motorizes +motorizing +motorman +motorman's +motormen +motormouth +motormouth's +motormouths +motors +motorway +motorway's +motorways +mottle +mottled +mottles +mottling +motto +motto's +mottoes +mottos +mound +mound's +mounded +mounding +mounds +mount +mount's +mountain +mountain's +mountaineer +mountaineer's +mountaineered +mountaineering +mountaineering's +mountaineers +mountainous +mountains +mountainside +mountainside's +mountainsides +mountaintop +mountaintop's +mountaintops +mountebank +mountebank's +mountebanks +mounted +mounting +mounting's +mountings +mounts +mourn +mourned +mourner +mourner's +mourners +mournful +mournfully +mournfulness +mournfulness's +mourning +mourning's +mourns +mouse +mouse's +moused +mouser +mouser's +mousers +mouses +mousetrap +mousetrap's +mousetrapped +mousetrapping +mousetraps +mousey +mousier +mousiest +mousiness +mousiness's +mousing +mousse +mousse's +moussed +mousses +moussing +moustache +moustache's +moustaches +mousy +mouth +mouth's +mouthed +mouthful +mouthful's +mouthfuls +mouthing +mouthpiece +mouthpiece's +mouthpieces +mouths +mouthwash +mouthwash's +mouthwashes +mouthwatering +movable +movable's +movables +move +move's +moveable +moveable's +moveables +moved +movement +movement's +movements +mover +mover's +movers +moves +movie +movie's +movies +moving +movingly +mow +mow's +mowed +mower +mower's +mowers +mowing +mown +mows +mozzarella +mozzarella's +ms +mu +much +much's +mucilage +mucilage's +muck +muck's +mucked +muckier +muckiest +mucking +muckrake +muckraked +muckraker +muckraker's +muckrakers +muckrakes +muckraking +mucks +mucky +mucous +mucus +mucus's +mud +mud's +muddied +muddier +muddies +muddiest +muddiness +muddiness's +muddle +muddle's +muddled +muddles +muddling +muddy +muddying +mudguard +mudguard's +mudguards +mudslide +mudslide's +mudslides +mudslinger +mudslinger's +mudslingers +mudslinging +mudslinging's +muesli +muezzin +muezzin's +muezzins +muff +muff's +muffed +muffin +muffin's +muffing +muffins +muffle +muffled +muffler +muffler's +mufflers +muffles +muffling +muffs +mufti +mufti's +muftis +mug +mug's +mugged +mugger +mugger's +muggers +muggier +muggiest +mugginess +mugginess's +mugging +mugging's +muggings +muggy +mugs +mukluk +mukluk's +mukluks +mulatto +mulatto's +mulattoes +mulattos +mulberries +mulberry +mulberry's +mulch +mulch's +mulched +mulches +mulching +mule +mule's +mules +muleteer +muleteer's +muleteers +mulish +mulishly +mulishness +mulishness's +mull +mullah +mullah's +mullahs +mulled +mullet +mullet's +mullets +mulligatawny +mulligatawny's +mulling +mullion +mullion's +mullions +mulls +multicolored +multicultural +multiculturalism +multiculturalism's +multidimensional +multifaceted +multifarious +multifariousness +multifariousness's +multilateral +multilingual +multimedia +multimedia's +multimillionaire +multimillionaire's +multimillionaires +multinational +multinational's +multinationals +multiple +multiple's +multiples +multiplex +multiplex's +multiplexed +multiplexer +multiplexer's +multiplexers +multiplexes +multiplexing +multiplexor +multiplexor's +multiplexors +multiplicand +multiplicand's +multiplicands +multiplication +multiplication's +multiplications +multiplicative +multiplicities +multiplicity +multiplicity's +multiplied +multiplier +multiplier's +multipliers +multiplies +multiply +multiplying +multiprocessing +multipurpose +multiracial +multitasking +multitude +multitude's +multitudes +multitudinous +multivariate +multivitamin +multivitamin's +multivitamins +mum +mum's +mumble +mumble's +mumbled +mumbler +mumbler's +mumblers +mumbles +mumbling +mummer +mummer's +mummers +mummery +mummery's +mummies +mummification +mummification's +mummified +mummifies +mummify +mummifying +mummy +mummy's +mumps +mumps's +mums +munch +munched +munches +munchies +munchies's +munching +mundane +mundanely +municipal +municipal's +municipalities +municipality +municipality's +municipally +municipals +munificence +munificence's +munificent +munition +munition's +munitions +mural +mural's +muralist +muralist's +muralists +murals +murder +murder's +murdered +murderer +murderer's +murderers +murderess +murderess's +murderesses +murdering +murderous +murderously +murders +murk +murk's +murkier +murkiest +murkily +murkiness +murkiness's +murks +murky +murmur +murmur's +murmured +murmuring +murmurs +muscat +muscatel +muscatel's +muscatels +muscle +muscle's +muscled +muscles +muscling +muscular +muscularity +muscularity's +musculature +musculature's +muse +muse's +mused +muses +museum +museum's +museums +mush +mush's +mushed +mushes +mushier +mushiest +mushiness +mushiness's +mushing +mushroom +mushroom's +mushroomed +mushrooming +mushrooms +mushy +music +music's +musical +musical's +musicale +musicale's +musicales +musically +musicals +musician +musician's +musicians +musicianship +musicianship's +musicologist +musicologist's +musicologists +musicology +musicology's +musing +musing's +musings +musk +musk's +muskellunge +muskellunge's +muskellunges +musket +musket's +musketeer +musketeer's +musketeers +musketry +musketry's +muskets +muskier +muskiest +muskiness +muskiness's +muskmelon +muskmelon's +muskmelons +muskrat +muskrat's +muskrats +musky +muslin +muslin's +muss +muss's +mussed +mussel +mussel's +mussels +musses +mussier +mussiest +mussing +mussy +must +must's +mustache +mustache's +mustaches +mustang +mustang's +mustangs +mustard +mustard's +muster +muster's +mustered +mustering +musters +mustier +mustiest +mustiness +mustiness's +mustn't +musts +musty +mutability +mutability's +mutable +mutant +mutant's +mutants +mutate +mutated +mutates +mutating +mutation +mutation's +mutations +mute +mute's +muted +mutely +muteness +muteness's +muter +mutes +mutest +mutilate +mutilated +mutilates +mutilating +mutilation +mutilation's +mutilations +mutineer +mutineer's +mutineers +muting +mutinied +mutinies +mutinous +mutinously +mutiny +mutiny's +mutinying +mutt +mutt's +mutter +mutter's +muttered +muttering +mutters +mutton +mutton's +mutts +mutual +mutuality +mutuality's +mutually +muumuu +muumuu's +muumuus +muzzle +muzzle's +muzzled +muzzles +muzzling +my +myna +myna's +mynah +mynah's +mynahes +mynahs +mynas +myopia +myopia's +myopic +myriad +myriad's +myriads +myrrh +myrrh's +myrtle +myrtle's +myrtles +mys +myself +mysteries +mysterious +mysteriously +mysteriousness +mysteriousness's +mystery +mystery's +mystic +mystic's +mystical +mystically +mysticism +mysticism's +mystics +mystification +mystification's +mystified +mystifies +mystify +mystifying +mystique +mystique's +myth +myth's +mythic +mythical +mythological +mythologies +mythologist +mythologist's +mythologists +mythology +mythology's +myths +n +nab +nabbed +nabbing +nabob +nabob's +nabobs +nabs +nacho +nacho's +nachos +nacre +nacre's +nadir +nadir's +nadirs +nag +nag's +nagged +nagging +nags +naiad +naiad's +naiades +naiads +nail +nail's +nailbrush +nailbrush's +nailbrushes +nailed +nailing +nails +naive +naively +naiver +naivest +naivety +naked +nakedly +nakedness +nakedness's +name +name's +named +nameless +namely +names +namesake +namesake's +namesakes +naming +nannies +nanny +nanny's +nanosecond +nanosecond's +nanoseconds +nap +nap's +napalm +napalm's +napalmed +napalming +napalms +nape +nape's +napes +naphtha +naphtha's +naphthalene +naphthalene's +napkin +napkin's +napkins +napped +nappier +nappies +nappiest +napping +nappy +nappy's +naps +narc +narc's +narcissi +narcissism +narcissism's +narcissist +narcissist's +narcissistic +narcissists +narcissus +narcissus's +narcissuses +narcosis +narcosis's +narcotic +narcotic's +narcotics +narcs +nark +nark's +narked +narking +narks +narrate +narrated +narrates +narrating +narration +narration's +narrations +narrative +narrative's +narratives +narrator +narrator's +narrators +narrow +narrow's +narrowed +narrower +narrowest +narrowing +narrowly +narrowness +narrowness's +narrows +narwhal +narwhal's +narwhals +nary +nasal +nasal's +nasalize +nasalized +nasalizes +nasalizing +nasally +nasals +nascent +nastier +nastiest +nastily +nastiness +nastiness's +nasturtium +nasturtium's +nasturtiums +nasty +natal +nation +nation's +national +national's +nationalism +nationalism's +nationalist +nationalist's +nationalistic +nationalists +nationalities +nationality +nationality's +nationalization +nationalization's +nationalizations +nationalize +nationalized +nationalizes +nationalizing +nationally +nationals +nations +nationwide +native +native's +natives +nativities +nativity +nativity's +nattier +nattiest +nattily +natty +natural +natural's +naturalism +naturalism's +naturalist +naturalist's +naturalistic +naturalists +naturalization +naturalization's +naturalize +naturalized +naturalizes +naturalizing +naturally +naturalness +naturalness's +naturals +nature +nature's +natures +naught +naught's +naughtier +naughtiest +naughtily +naughtiness +naughtiness's +naughts +naughty +nausea +nausea's +nauseate +nauseated +nauseates +nauseating +nauseatingly +nauseous +nautical +nautically +nautili +nautilus +nautilus's +nautiluses +naval +nave +nave's +navel +navel's +navels +naves +navies +navigability +navigability's +navigable +navigate +navigated +navigates +navigating +navigation +navigation's +navigational +navigator +navigator's +navigators +navy +navy's +nay +nay's +nays +naysayer +naysayer's +naysayers +ne'er +near +nearby +neared +nearer +nearest +nearing +nearly +nearness +nearness's +nears +nearsighted +nearsightedness +nearsightedness's +neat +neater +neatest +neath +neatly +neatness +neatness's +nebula +nebula's +nebulae +nebular +nebulas +nebulous +necessaries +necessarily +necessary +necessary's +necessitate +necessitated +necessitates +necessitating +necessities +necessity +necessity's +neck +neck's +necked +neckerchief +neckerchief's +neckerchiefs +neckerchieves +necking +necklace +necklace's +necklaces +neckline +neckline's +necklines +necks +necktie +necktie's +neckties +necromancer +necromancer's +necromancers +necromancy +necromancy's +necrophilia +necrosis +necrosis's +nectar +nectar's +nectarine +nectarine's +nectarines +need +need's +needed +needful +needier +neediest +neediness +neediness's +needing +needle +needle's +needled +needlepoint +needlepoint's +needles +needless +needlessly +needlework +needlework's +needling +needn't +needs +needy +nefarious +nefariously +nefariousness +nefariousness's +negate +negated +negates +negating +negation +negation's +negations +negative +negative's +negatived +negatively +negatives +negativing +negativity +negativity's +neglect +neglect's +neglected +neglectful +neglectfully +neglecting +neglects +neglig +neglig's +negligee +negligee's +negligees +negligence +negligence's +negligent +negligently +negligible +negligibly +negligs +negotiable +negotiate +negotiated +negotiates +negotiating +negotiation +negotiation's +negotiations +negotiator +negotiator's +negotiators +neigh +neigh's +neighbor +neighbor's +neighbored +neighborhood +neighborhood's +neighborhoods +neighboring +neighborliness +neighborliness's +neighborly +neighbors +neighed +neighing +neighs +neither +nematode +nematode's +nematodes +nemeses +nemesis +nemesis's +neoclassic +neoclassical +neoclassicism +neoclassicism's +neocolonialism +neocolonialism's +neodymium +neodymium's +neologism +neologism's +neologisms +neon +neon's +neonatal +neonate +neonate's +neonates +neophyte +neophyte's +neophytes +neoprene +neoprene's +nephew +nephew's +nephews +nephritis +nephritis's +nepotism +nepotism's +neptunium +neptunium's +nerd +nerd's +nerdier +nerdiest +nerds +nerdy +nerve +nerve's +nerved +nerveless +nervelessly +nerves +nervier +nerviest +nerving +nervous +nervously +nervousness +nervousness's +nervy +nest +nest's +nested +nesting +nestle +nestled +nestles +nestling +nestling's +nestlings +nests +net +net's +nether +nethermost +nets +netted +netting +netting's +nettle +nettle's +nettled +nettles +nettlesome +nettling +network +network's +networked +networking +networking's +networks +neural +neuralgia +neuralgia's +neuralgic +neuritis +neuritis's +neurological +neurologist +neurologist's +neurologists +neurology +neurology's +neuron +neuron's +neurons +neuroses +neurosis +neurosis's +neurosurgery +neurosurgery's +neurotic +neurotic's +neurotically +neurotics +neurotransmitter +neurotransmitter's +neurotransmitters +neuter +neuter's +neutered +neutering +neuters +neutral +neutral's +neutrality +neutrality's +neutralization +neutralization's +neutralize +neutralized +neutralizer +neutralizer's +neutralizers +neutralizes +neutralizing +neutrally +neutrals +neutrino +neutrino's +neutrinos +neutron +neutron's +neutrons +never +nevermore +nevertheless +new +new's +newbie +newbie's +newbies +newborn +newborn's +newborns +newcomer +newcomer's +newcomers +newel +newel's +newels +newer +newest +newfangled +newly +newlywed +newlywed's +newlyweds +newness +newness's +news +news's +newsagents +newsboy +newsboy's +newsboys +newscast +newscast's +newscaster +newscaster's +newscasters +newscasts +newsflash +newsier +newsiest +newsletter +newsletter's +newsletters +newsman +newsman's +newsmen +newspaper +newspaper's +newspaperman +newspaperman's +newspapermen +newspapers +newspaperwoman +newspaperwoman's +newspaperwomen +newsprint +newsprint's +newsreel +newsreel's +newsreels +newsstand +newsstand's +newsstands +newsworthier +newsworthiest +newsworthy +newsy +newt +newt's +newton +newton's +newtons +newts +next +next's +nexus +nexus's +nexuses +niacin +niacin's +nib +nib's +nibble +nibble's +nibbled +nibbler +nibbler's +nibblers +nibbles +nibbling +nibs +nice +nicely +niceness +niceness's +nicer +nicest +niceties +nicety +nicety's +niche +niche's +niches +nick +nick's +nicked +nickel +nickel's +nickelodeon +nickelodeon's +nickelodeons +nickels +nicking +nicknack +nicknack's +nicknacks +nickname +nickname's +nicknamed +nicknames +nicknaming +nicks +nicotine +nicotine's +niece +niece's +nieces +niftier +niftiest +nifty +niggard +niggard's +niggardliness +niggardliness's +niggardly +niggards +nigger +nigger's +niggers +niggle +niggle's +niggled +niggles +niggling +nigh +nigher +nighest +night +night's +nightcap +nightcap's +nightcaps +nightclothes +nightclothes's +nightclub +nightclub's +nightclubbed +nightclubbing +nightclubs +nightfall +nightfall's +nightgown +nightgown's +nightgowns +nighthawk +nighthawk's +nighthawks +nightie +nightie's +nighties +nightingale +nightingale's +nightingales +nightlife +nightlife's +nightly +nightmare +nightmare's +nightmares +nightmarish +nights +nightshade +nightshade's +nightshades +nightshirt +nightshirt's +nightshirts +nightstick +nightstick's +nightsticks +nighttime +nighttime's +nighty +nighty's +nihilism +nihilism's +nihilist +nihilist's +nihilistic +nihilists +nil +nil's +nimbi +nimble +nimbleness +nimbleness's +nimbler +nimblest +nimbly +nimbus +nimbus's +nimbuses +nincompoop +nincompoop's +nincompoops +nine +nine's +ninepin +ninepin's +ninepins +ninepins's +nines +nineteen +nineteen's +nineteens +nineteenth +nineteenth's +nineteenths +nineties +ninetieth +ninetieth's +ninetieths +ninety +ninety's +ninja +ninja's +ninjas +ninnies +ninny +ninny's +ninth +ninth's +ninths +nip +nip's +nipped +nipper +nipper's +nippers +nippier +nippiest +nipping +nipple +nipple's +nipples +nippy +nips +nirvana +nirvana's +nit +nit's +nite +nite's +niter +niter's +nites +nitpick +nitpicked +nitpicker +nitpicker's +nitpickers +nitpicking +nitpicks +nitrate +nitrate's +nitrated +nitrates +nitrating +nitrogen +nitrogen's +nitrogenous +nitroglycerin +nitroglycerin's +nitroglycerine +nitroglycerine's +nits +nitwit +nitwit's +nitwits +nix +nix's +nixed +nixes +nixing +no +no's +nobility +nobility's +noble +noble's +nobleman +nobleman's +noblemen +nobleness +nobleness's +nobler +nobles +noblest +noblewoman +noblewoman's +noblewomen +nobly +nobodies +nobody +nobody's +nocturnal +nocturnally +nocturne +nocturne's +nocturnes +nod +nod's +nodal +nodded +nodding +noddy +node +node's +nodes +nods +nodular +nodule +nodule's +nodules +noel +noel's +noels +noes +noggin +noggin's +noggins +noise +noise's +noised +noiseless +noiselessly +noiselessness +noiselessness's +noisemaker +noisemaker's +noisemakers +noises +noisier +noisiest +noisily +noisiness +noisiness's +noising +noisome +noisy +nomad +nomad's +nomadic +nomads +nomenclature +nomenclature's +nomenclatures +nominal +nominally +nominate +nominated +nominates +nominating +nomination +nomination's +nominations +nominative +nominative's +nominatives +nominee +nominee's +nominees +non +nonabrasive +nonabsorbent +nonabsorbent's +nonabsorbents +nonagenarian +nonagenarian's +nonagenarians +nonalcoholic +nonaligned +nonbeliever +nonbeliever's +nonbelievers +nonbreakable +nonce +nonce's +nonchalance +nonchalance's +nonchalant +nonchalantly +noncom +noncom's +noncombatant +noncombatant's +noncombatants +noncommercial +noncommercial's +noncommercials +noncommittal +noncommittally +noncompetitive +noncompliance +noncompliance's +noncoms +nonconductor +nonconductor's +nonconductors +nonconformist +nonconformist's +nonconformists +nonconformity +nonconformity's +noncontagious +noncooperation +noncooperation's +nondairy +nondeductible +nondeductible's +nondenominational +nondescript +nondrinker +nondrinker's +nondrinkers +none +nonempty +nonentities +nonentity +nonentity's +nonessential +nonesuch +nonesuch's +nonesuches +nonetheless +nonevent +nonevent's +nonevents +nonexempt +nonexempt's +nonexistence +nonexistence's +nonexistent +nonfat +nonfatal +nonfiction +nonfiction's +nonflammable +nongovernmental +nonhazardous +nonhuman +nonindustrial +noninterference +noninterference's +nonintervention +nonintervention's +nonjudgmental +nonliving +nonliving's +nonmalignant +nonmember +nonmember's +nonmembers +nonnegotiable +nonobjective +nonpareil +nonpareil's +nonpareils +nonpartisan +nonpartisan's +nonpartisans +nonpayment +nonpayment's +nonpayments +nonphysical +nonplus +nonplused +nonpluses +nonplusing +nonplussed +nonplusses +nonplussing +nonpoisonous +nonpolitical +nonpolluting +nonprescription +nonproductive +nonprofessional +nonprofessional's +nonprofessionals +nonprofit +nonprofit's +nonprofits +nonproliferation +nonproliferation's +nonrefillable +nonrefundable +nonrenewable +nonrepresentational +nonresident +nonresident's +nonresidents +nonrestrictive +nonreturnable +nonreturnable's +nonreturnables +nonrigid +nonscheduled +nonseasonal +nonsectarian +nonsense +nonsense's +nonsensical +nonsensically +nonsexist +nonskid +nonsmoker +nonsmoker's +nonsmokers +nonsmoking +nonstandard +nonstick +nonstop +nonsupport +nonsupport's +nontaxable +nontechnical +nontoxic +nontransferable +nontrivial +nonunion +nonuser +nonuser's +nonusers +nonverbal +nonviolence +nonviolence's +nonviolent +nonvoting +nonwhite +nonwhite's +nonwhites +nonzero +noodle +noodle's +noodled +noodles +noodling +nook +nook's +nooks +noon +noon's +noonday +noonday's +noontime +noontime's +noose +noose's +nooses +nope +nor +norm +norm's +normal +normal's +normalcy +normalcy's +normality +normality's +normalization +normalization's +normalize +normalized +normalizes +normalizing +normally +normative +norms +north +north's +northbound +northeast +northeast's +northeaster +northeaster's +northeasterly +northeastern +northeasters +northeastward +northerlies +northerly +northerly's +northern +northerner +northerner's +northerners +northernmost +northward +northwards +northwest +northwest's +northwesterly +northwestern +northwestward +nose +nose's +nosebleed +nosebleed's +nosebleeds +nosed +nosedive +nosedive's +nosedived +nosedives +nosediving +nosedove +nosegay +nosegay's +nosegays +noses +nosey +nosh +nosh's +noshed +noshes +noshing +nosier +nosiest +nosiness +nosiness's +nosing +nostalgia +nostalgia's +nostalgic +nostalgically +nostril +nostril's +nostrils +nostrum +nostrum's +nostrums +nosy +not +notable +notable's +notables +notably +notaries +notarize +notarized +notarizes +notarizing +notary +notary's +notation +notation's +notations +notch +notch's +notched +notches +notching +note +note's +notebook +notebook's +notebooks +noted +notepad +notepaper +notes +noteworthy +nothing +nothing's +nothingness +nothingness's +nothings +notice +notice's +noticeable +noticeably +noticeboard +noticeboards +noticed +notices +noticing +notification +notification's +notifications +notified +notifies +notify +notifying +noting +notion +notion's +notional +notionally +notions +notoriety +notoriety's +notorious +notoriously +notwithstanding +nougat +nougat's +nougats +nought +nought's +noughts +noun +noun's +nouns +nourish +nourished +nourishes +nourishing +nourishment +nourishment's +nous +nova +nova's +novae +novas +novel +novel's +novelette +novelette's +novelettes +novelist +novelist's +novelists +novella +novella's +novellas +novelle +novels +novelties +novelty +novelty's +novice +novice's +novices +novitiate +novitiate's +novitiates +now +now's +nowadays +nowadays's +noway +nowhere +nowhere's +nowise +noxious +nozzle +nozzle's +nozzles +nth +nu +nuance +nuance's +nuanced +nuances +nub +nub's +nubile +nubs +nuclear +nuclei +nucleic +nucleus +nucleus's +nucleuses +nude +nude's +nuder +nudes +nudest +nudge +nudge's +nudged +nudges +nudging +nudism +nudism's +nudist +nudist's +nudists +nudity +nudity's +nugget +nugget's +nuggets +nuisance +nuisance's +nuisances +nuke +nuke's +nuked +nukes +nuking +null +nullification +nullification's +nullified +nullifies +nullify +nullifying +nullity +nullity's +nulls +numb +numbed +number +number's +numbered +numbering +numberless +numbers +numbest +numbing +numbly +numbness +numbness's +numbs +numbskull +numbskull's +numbskulls +numeracy +numeral +numeral's +numerals +numerate +numerated +numerates +numerating +numeration +numeration's +numerations +numerator +numerator's +numerators +numeric +numerical +numerically +numerology +numerology's +numerous +numismatic +numismatics +numismatics's +numismatist +numismatist's +numismatists +numskull +numskull's +numskulls +nun +nun's +nuncio +nuncio's +nuncios +nunneries +nunnery +nunnery's +nuns +nuptial +nuptial's +nuptials +nurse +nurse's +nursed +nursemaid +nursemaid's +nursemaids +nurseries +nursery +nursery's +nurseryman +nurseryman's +nurserymen +nurses +nursing +nursing's +nurture +nurture's +nurtured +nurtures +nurturing +nut +nut's +nutcracker +nutcracker's +nutcrackers +nuthatch +nuthatch's +nuthatches +nutmeat +nutmeat's +nutmeats +nutmeg +nutmeg's +nutmegs +nutria +nutria's +nutrias +nutrient +nutrient's +nutrients +nutriment +nutriment's +nutriments +nutrition +nutrition's +nutritional +nutritionally +nutritionist +nutritionist's +nutritionists +nutritious +nutritive +nuts +nutshell +nutshell's +nutshells +nutted +nuttier +nuttiest +nuttiness +nuttiness's +nutting +nutty +nuzzle +nuzzle's +nuzzled +nuzzles +nuzzling +nylon +nylon's +nylons +nylons's +nymph +nymph's +nymphomania +nymphomania's +nymphomaniac +nymphomaniac's +nymphomaniacs +nymphs +o +o'clock +o'er +oaf +oaf's +oafish +oafs +oak +oak's +oaken +oaks +oakum +oakum's +oar +oar's +oared +oaring +oarlock +oarlock's +oarlocks +oars +oarsman +oarsman's +oarsmen +oases +oasis +oasis's +oat +oat's +oaten +oath +oath's +oaths +oatmeal +oatmeal's +oats +oats's +obduracy +obduracy's +obdurate +obdurately +obedience +obedience's +obedient +obediently +obeisance +obeisance's +obeisances +obeisant +obelisk +obelisk's +obelisks +obese +obesity +obesity's +obey +obeyed +obeying +obeys +obfuscate +obfuscated +obfuscates +obfuscating +obfuscation +obfuscation's +obit +obit's +obits +obituaries +obituary +obituary's +object +object's +objected +objecting +objection +objection's +objectionable +objectionably +objections +objective +objective's +objectively +objectiveness +objectiveness's +objectives +objectivity +objectivity's +objector +objector's +objectors +objects +oblate +oblation +oblation's +oblations +obligate +obligated +obligates +obligating +obligation +obligation's +obligations +obligatory +oblige +obliged +obliges +obliging +obligingly +oblique +oblique's +obliquely +obliqueness +obliqueness's +obliques +obliterate +obliterated +obliterates +obliterating +obliteration +obliteration's +oblivion +oblivion's +oblivious +obliviously +obliviousness +obliviousness's +oblong +oblong's +oblongs +obloquy +obloquy's +obnoxious +obnoxiously +oboe +oboe's +oboes +oboist +oboist's +oboists +obscene +obscenely +obscener +obscenest +obscenities +obscenity +obscenity's +obscure +obscured +obscurely +obscurer +obscures +obscurest +obscuring +obscurities +obscurity +obscurity's +obsequies +obsequious +obsequiously +obsequiousness +obsequiousness's +obsequy +obsequy's +observable +observably +observance +observance's +observances +observant +observantly +observation +observation's +observational +observations +observatories +observatory +observatory's +observe +observed +observer +observer's +observers +observes +observing +obsess +obsessed +obsesses +obsessing +obsession +obsession's +obsessions +obsessive +obsessive's +obsessively +obsessives +obsidian +obsidian's +obsolescence +obsolescence's +obsolescent +obsolete +obsoleted +obsoletes +obsoleting +obstacle +obstacle's +obstacles +obstetric +obstetrical +obstetrician +obstetrician's +obstetricians +obstetrics +obstetrics's +obstinacy +obstinacy's +obstinate +obstinately +obstreperous +obstruct +obstructed +obstructing +obstruction +obstruction's +obstructionist +obstructionist's +obstructionists +obstructions +obstructive +obstructively +obstructiveness +obstructiveness's +obstructs +obtain +obtainable +obtained +obtaining +obtains +obtrude +obtruded +obtrudes +obtruding +obtrusive +obtrusively +obtrusiveness +obtrusiveness's +obtuse +obtusely +obtuseness +obtuseness's +obtuser +obtusest +obverse +obverse's +obverses +obviate +obviated +obviates +obviating +obvious +obviously +obviousness +obviousness's +ocarina +ocarina's +ocarinas +occasion +occasion's +occasional +occasionally +occasioned +occasioning +occasions +occidental +occidental's +occidentals +occlude +occluded +occludes +occluding +occlusion +occlusion's +occlusions +occult +occult's +occupancy +occupancy's +occupant +occupant's +occupants +occupation +occupation's +occupational +occupations +occupied +occupies +occupy +occupying +occur +occurred +occurrence +occurrence's +occurrences +occurring +occurs +ocean +ocean's +oceangoing +oceanic +oceanic's +oceanographer +oceanographer's +oceanographers +oceanographic +oceanography +oceanography's +oceans +ocelot +ocelot's +ocelots +ocher +ocher's +ochre +ochre's +octagon +octagon's +octagonal +octagons +octal +octane +octane's +octave +octave's +octaves +octet +octet's +octets +octette +octette's +octettes +octogenarian +octogenarian's +octogenarians +octopi +octopus +octopus's +octopuses +ocular +ocular's +oculars +oculist +oculist's +oculists +odd +oddball +oddball's +oddballs +odder +oddest +oddities +oddity +oddity's +oddly +oddness +oddness's +odds +odds's +ode +ode's +odes +odious +odiously +odium +odium's +odometer +odometer's +odometers +odor +odor's +odoriferous +odorless +odorous +odors +odyssey +odyssey's +odysseys +of +off +offal +offal's +offbeat +offbeat's +offbeats +offed +offend +offended +offender +offender's +offenders +offending +offends +offense +offense's +offenses +offensive +offensive's +offensively +offensiveness +offensiveness's +offensives +offer +offer's +offered +offering +offering's +offerings +offers +offertories +offertory +offertory's +offhand +offhandedly +office +office's +officeholder +officeholder's +officeholders +officer +officer's +officers +offices +official +official's +officialdom +officialdom's +officially +officials +officiate +officiated +officiates +officiating +officious +officiously +officiousness +officiousness's +offing +offing's +offings +offload +offs +offset +offset's +offsets +offsetting +offshoot +offshoot's +offshoots +offshore +offside +offspring +offspring's +offsprings +offstage +offstages +oft +often +oftener +oftenest +oftentimes +ogle +ogle's +ogled +ogles +ogling +ogre +ogre's +ogres +oh +oh's +ohm +ohm's +ohms +oho +ohs +oil +oil's +oilcloth +oilcloth's +oilcloths +oiled +oilfield +oilfields +oilier +oiliest +oiliness +oiliness's +oiling +oils +oilskin +oilskin's +oily +oink +oink's +oinked +oinking +oinks +ointment +ointment's +ointments +okay +okay's +okayed +okaying +okays +okra +okra's +okras +old +old's +olden +older +oldest +oldie +oldie's +oldies +oleaginous +oleander +oleander's +oleanders +oleo +oleo's +oleomargarine +oleomargarine's +olfactories +olfactory +olfactory's +oligarch +oligarch's +oligarchic +oligarchies +oligarchs +oligarchy +oligarchy's +olive +olive's +olives +ombudsman +ombudsman's +ombudsmen +omega +omega's +omegas +omelet +omelet's +omelets +omelette +omelette's +omelettes +omen +omen's +omens +ominous +ominously +omission +omission's +omissions +omit +omits +omitted +omitting +omnibus +omnibus's +omnibuses +omnibusses +omnipotence +omnipotence's +omnipotent +omnipresence +omnipresence's +omnipresent +omniscience +omniscience's +omniscient +omnivore +omnivore's +omnivores +omnivorous +on +once +once's +oncology +oncology's +oncoming +one +one's +oneness +oneness's +onerous +ones +oneself +onetime +ongoing +onion +onion's +onions +onionskin +onionskin's +online +onlooker +onlooker's +onlookers +only +onomatopoeia +onomatopoeia's +onomatopoeic +onrush +onrush's +onrushes +onrushing +onset +onset's +onsets +onshore +onslaught +onslaught's +onslaughts +onto +onus +onus's +onuses +onward +onwards +onyx +onyx's +onyxes +oodles +oodles's +oops +ooze +ooze's +oozed +oozes +oozing +opacity +opacity's +opal +opal's +opalescence +opalescence's +opalescent +opals +opaque +opaqued +opaquely +opaqueness +opaqueness's +opaquer +opaques +opaquest +opaquing +open +open's +opened +opener +opener's +openers +openest +openhanded +opening +opening's +openings +openly +openness +openness's +opens +openwork +openwork's +opera +opera's +operable +operand +operands +operas +operate +operated +operates +operatic +operating +operation +operation's +operational +operationally +operations +operative +operative's +operatives +operator +operator's +operators +operetta +operetta's +operettas +ophthalmic +ophthalmologist +ophthalmologist's +ophthalmologists +ophthalmology +ophthalmology's +opiate +opiate's +opiates +opine +opined +opines +opining +opinion +opinion's +opinionated +opinions +opium +opium's +opossum +opossum's +opossums +opponent +opponent's +opponents +opportune +opportunism +opportunism's +opportunist +opportunist's +opportunistic +opportunists +opportunities +opportunity +opportunity's +oppose +opposed +opposes +opposing +opposite +opposite's +opposites +opposition +opposition's +oppress +oppressed +oppresses +oppressing +oppression +oppression's +oppressive +oppressively +oppressor +oppressor's +oppressors +opprobrious +opprobrium +opprobrium's +opt +opted +optic +optic's +optical +optically +optician +optician's +opticians +optics +optics's +optima +optimal +optimism +optimism's +optimist +optimist's +optimistic +optimistically +optimists +optimization +optimize +optimized +optimizer +optimizes +optimizing +optimum +optimum's +optimums +opting +option +option's +optional +optionally +optioned +optioning +options +optometrist +optometrist's +optometrists +optometry +optometry's +opts +opulence +opulence's +opulent +opus +opus's +opuses +or +oracle +oracle's +oracles +oracular +oral +oral's +orally +orals +orange +orange's +orangeade +orangeade's +orangeades +oranges +orangutan +orangutan's +orangutang +orangutang's +orangutangs +orangutans +orate +orated +orates +orating +oration +oration's +orations +orator +orator's +oratorical +oratories +oratorio +oratorio's +oratorios +orators +oratory +oratory's +orb +orb's +orbit +orbit's +orbital +orbital's +orbitals +orbited +orbiting +orbits +orbs +orchard +orchard's +orchards +orchestra +orchestra's +orchestral +orchestras +orchestrate +orchestrated +orchestrates +orchestrating +orchestration +orchestration's +orchestrations +orchid +orchid's +orchids +ordain +ordained +ordaining +ordains +ordeal +ordeal's +ordeals +order +order's +ordered +ordering +orderings +orderlies +orderliness +orderliness's +orderly +orderly's +orders +ordinal +ordinal's +ordinals +ordinance +ordinance's +ordinances +ordinaries +ordinarily +ordinariness +ordinariness's +ordinary +ordinary's +ordination +ordination's +ordinations +ordnance +ordnance's +ordure +ordure's +ore +ore's +oregano +oregano's +ores +organ +organ's +organdie +organdie's +organdy +organdy's +organelle +organelle's +organelles +organic +organic's +organically +organics +organism +organism's +organisms +organist +organist's +organists +organization +organization's +organizational +organizations +organize +organized +organizer +organizer's +organizers +organizes +organizing +organs +orgasm +orgasm's +orgasmic +orgasms +orgiastic +orgies +orgy +orgy's +orient +orient's +oriental +oriental's +orientals +orientate +orientated +orientates +orientating +orientation +orientation's +orientations +oriented +orienting +orients +orifice +orifice's +orifices +origami +origami's +origin +origin's +original +original's +originality +originality's +originally +originals +originate +originated +originates +originating +origination +origination's +originator +originator's +originators +origins +oriole +oriole's +orioles +ormolu +ormolu's +ornament +ornament's +ornamental +ornamentation +ornamentation's +ornamented +ornamenting +ornaments +ornate +ornately +ornateness +ornateness's +ornerier +orneriest +ornery +ornithologist +ornithologist's +ornithologists +ornithology +ornithology's +orotund +orphan +orphan's +orphanage +orphanage's +orphanages +orphaned +orphaning +orphans +orthodontia +orthodontia's +orthodontic +orthodontics +orthodontics's +orthodontist +orthodontist's +orthodontists +orthodox +orthodoxies +orthodoxy +orthodoxy's +orthogonal +orthogonality +orthographic +orthographies +orthography +orthography's +orthopaedic +orthopaedics +orthopaedics's +orthopaedist +orthopaedist's +orthopaedists +orthopedic +orthopedics +orthopedics's +orthopedist +orthopedist's +orthopedists +oscillate +oscillated +oscillates +oscillating +oscillation +oscillation's +oscillations +oscillator +oscillator's +oscillators +oscilloscope +oscilloscope's +oscilloscopes +osier +osier's +osiers +osmosis +osmosis's +osmotic +osprey +osprey's +ospreys +ossification +ossification's +ossified +ossifies +ossify +ossifying +ostensible +ostensibly +ostentation +ostentation's +ostentatious +ostentatiously +osteopath +osteopath's +osteopaths +osteopathy +osteopathy's +osteoporosis +osteoporosis's +ostracism +ostracism's +ostracize +ostracized +ostracizes +ostracizing +ostrich +ostrich's +ostriches +other +others +otherwise +otherworldly +otiose +otter +otter's +otters +ottoman +ottoman's +ottomans +ouch +ought +ounce +ounce's +ounces +our +ours +ourselves +oust +ousted +ouster +ouster's +ousters +ousting +ousts +out +out's +outage +outage's +outages +outback +outback's +outbacks +outbalance +outbalanced +outbalances +outbalancing +outbid +outbidding +outbids +outbound +outbreak +outbreak's +outbreaks +outbuilding +outbuilding's +outbuildings +outburst +outburst's +outbursts +outcast +outcast's +outcasts +outclass +outclassed +outclasses +outclassing +outcome +outcome's +outcomes +outcries +outcrop +outcrop's +outcropped +outcropping +outcropping's +outcroppings +outcrops +outcry +outcry's +outdated +outdid +outdistance +outdistanced +outdistances +outdistancing +outdo +outdoes +outdoing +outdone +outdoor +outdoors +outdoors's +outed +outer +outermost +outfield +outfield's +outfielder +outfielder's +outfielders +outfields +outfit +outfit's +outfits +outfitted +outfitter +outfitter's +outfitters +outfitting +outflank +outflanked +outflanking +outflanks +outfox +outfoxed +outfoxes +outfoxing +outgo +outgo's +outgoes +outgoing +outgrew +outgrow +outgrowing +outgrown +outgrows +outgrowth +outgrowth's +outgrowths +outhouse +outhouse's +outhouses +outing +outing's +outings +outlaid +outlandish +outlandishly +outlast +outlasted +outlasting +outlasts +outlaw +outlaw's +outlawed +outlawing +outlaws +outlay +outlay's +outlaying +outlays +outlet +outlet's +outlets +outline +outline's +outlined +outlines +outlining +outlive +outlived +outlives +outliving +outlook +outlook's +outlooks +outlying +outmaneuver +outmaneuvered +outmaneuvering +outmaneuvers +outmanoeuvre +outmanoeuvred +outmanoeuvres +outmanoeuvring +outmoded +outnumber +outnumbered +outnumbering +outnumbers +outpatient +outpatient's +outpatients +outperform +outperformed +outperforming +outperforms +outplacement +outplacement's +outplay +outplayed +outplaying +outplays +outpost +outpost's +outposts +outpouring +outpouring's +outpourings +output +output's +outputs +outputted +outputting +outrage +outrage's +outraged +outrageous +outrageously +outrages +outraging +outran +outrank +outranked +outranking +outranks +outreach +outreach's +outreached +outreaches +outreaching +outrider +outrider's +outriders +outrigger +outrigger's +outriggers +outright +outrun +outrunning +outruns +outs +outsell +outselling +outsells +outset +outset's +outsets +outshine +outshined +outshines +outshining +outshone +outside +outside's +outsider +outsider's +outsiders +outsides +outsize +outsize's +outsized +outsizes +outskirt +outskirt's +outskirts +outsmart +outsmarted +outsmarting +outsmarts +outsold +outsource +outsourced +outsources +outsourcing +outsourcing's +outspoken +outspokenly +outspokenness +outspokenness's +outspread +outspreading +outspreads +outstanding +outstandingly +outstation +outstation's +outstations +outstay +outstayed +outstaying +outstays +outstretch +outstretched +outstretches +outstretching +outstrip +outstripped +outstripping +outstrips +outstript +outtake +outtake's +outtakes +outvote +outvoted +outvotes +outvoting +outward +outwardly +outwards +outwear +outwearing +outwears +outweigh +outweighed +outweighing +outweighs +outwit +outwits +outwitted +outwitting +outwore +outworn +ova +oval +oval's +ovals +ovarian +ovaries +ovary +ovary's +ovation +ovation's +ovations +oven +oven's +ovens +over +over's +overabundance +overabundance's +overabundant +overachieve +overachieved +overachiever +overachiever's +overachievers +overachieves +overachieving +overact +overacted +overacting +overactive +overacts +overage +overage's +overages +overall +overall's +overalls +overalls's +overambitious +overanxious +overate +overawe +overawed +overawes +overawing +overbalance +overbalance's +overbalanced +overbalances +overbalancing +overbear +overbearing +overbears +overbite +overbite's +overbites +overblown +overboard +overbook +overbooked +overbooking +overbooks +overbore +overborne +overburden +overburdened +overburdening +overburdens +overcame +overcast +overcast's +overcasting +overcasts +overcautious +overcharge +overcharge's +overcharged +overcharges +overcharging +overcoat +overcoat's +overcoats +overcome +overcomes +overcoming +overcompensate +overcompensated +overcompensates +overcompensating +overcompensation +overcompensation's +overconfident +overcook +overcooked +overcooking +overcooks +overcrowd +overcrowded +overcrowding +overcrowds +overdid +overdo +overdoes +overdoing +overdone +overdose +overdose's +overdosed +overdoses +overdosing +overdraft +overdraft's +overdrafts +overdraw +overdrawing +overdrawn +overdraws +overdress +overdress's +overdressed +overdresses +overdressing +overdrew +overdrive +overdrive's +overdue +overeager +overeat +overeaten +overeating +overeats +overemphasize +overemphasized +overemphasizes +overemphasizing +overenthusiastic +overestimate +overestimate's +overestimated +overestimates +overestimating +overexpose +overexposed +overexposes +overexposing +overexposure +overexposure's +overextend +overextended +overextending +overextends +overflow +overflow's +overflowed +overflowing +overflows +overfull +overgenerous +overgrew +overgrow +overgrowing +overgrown +overgrows +overgrowth +overgrowth's +overhand +overhand's +overhands +overhang +overhang's +overhanging +overhangs +overhaul +overhaul's +overhauled +overhauling +overhauls +overhead +overhead's +overheads +overhear +overheard +overhearing +overhears +overheat +overheated +overheating +overheats +overhung +overindulge +overindulged +overindulgence +overindulgence's +overindulges +overindulging +overjoy +overjoyed +overjoying +overjoys +overkill +overkill's +overlaid +overlain +overland +overlap +overlap's +overlapped +overlapping +overlaps +overlay +overlay's +overlaying +overlays +overlie +overlies +overload +overload's +overloaded +overloading +overloads +overlong +overlook +overlook's +overlooked +overlooking +overlooks +overlord +overlord's +overlords +overly +overlying +overmuch +overmuches +overnight +overnight's +overnights +overpaid +overpass +overpass's +overpasses +overpay +overpaying +overpays +overplay +overplayed +overplaying +overplays +overpopulate +overpopulated +overpopulates +overpopulating +overpopulation +overpopulation's +overpower +overpowered +overpowering +overpowers +overprice +overpriced +overprices +overpricing +overprint +overprinted +overprinting +overprints +overproduce +overproduced +overproduces +overproducing +overproduction +overproduction's +overprotective +overqualified +overran +overrate +overrated +overrates +overrating +overreach +overreached +overreaches +overreaching +overreact +overreacted +overreacting +overreaction +overreaction's +overreactions +overreacts +overridden +override +override's +overrides +overriding +overripe +overripe's +overrode +overrule +overruled +overrules +overruling +overrun +overrun's +overrunning +overruns +overs +oversampling +oversaw +overseas +oversee +overseeing +overseen +overseer +overseer's +overseers +oversees +oversell +overselling +oversells +oversensitive +oversexed +overshadow +overshadowed +overshadowing +overshadows +overshoe +overshoe's +overshoes +overshoot +overshooting +overshoots +overshot +oversight +oversight's +oversights +oversimplification +oversimplification's +oversimplifications +oversimplified +oversimplifies +oversimplify +oversimplifying +oversize +oversized +oversleep +oversleeping +oversleeps +overslept +oversold +overspecialize +overspecialized +overspecializes +overspecializing +overspend +overspending +overspends +overspent +overspill +overspread +overspreading +overspreads +overstate +overstated +overstatement +overstatement's +overstatements +overstates +overstating +overstay +overstayed +overstaying +overstays +overstep +overstepped +overstepping +oversteps +overstock +overstocked +overstocking +overstocks +overstuffed +oversupplied +oversupplies +oversupply +oversupplying +overt +overtake +overtaken +overtakes +overtaking +overtax +overtaxed +overtaxes +overtaxing +overthrew +overthrow +overthrow's +overthrowing +overthrown +overthrows +overtime +overtime's +overtimes +overtly +overtone +overtone's +overtones +overtook +overture +overture's +overtures +overturn +overturned +overturning +overturns +overuse +overuse's +overused +overuses +overusing +overview +overview's +overviews +overweening +overweight +overweight's +overwhelm +overwhelmed +overwhelming +overwhelmingly +overwhelms +overwork +overwork's +overworked +overworking +overworks +overwrite +overwrites +overwriting +overwritten +overwrought +overzealous +oviduct +oviduct's +oviducts +oviparous +ovoid +ovoid's +ovoids +ovulate +ovulated +ovulates +ovulating +ovulation +ovulation's +ovule +ovule's +ovules +ovum +ovum's +ow +owe +owed +owes +owing +owl +owl's +owlet +owlet's +owlets +owlish +owls +own +owned +owner +owner's +owners +ownership +ownership's +owning +owns +ox +ox's +oxbow +oxbow's +oxbows +oxen +oxford +oxford's +oxfords +oxidation +oxidation's +oxide +oxide's +oxides +oxidize +oxidized +oxidizer +oxidizer's +oxidizers +oxidizes +oxidizing +oxyacetylene +oxyacetylene's +oxygen +oxygen's +oxygenate +oxygenated +oxygenates +oxygenating +oxygenation +oxygenation's +oxymora +oxymoron +oxymoron's +oxymorons +oyster +oyster's +oysters +ozone +ozone's +p +pH +pa +pa's +pace +pace's +paced +pacemaker +pacemaker's +pacemakers +paces +pacesetter +pacesetter's +pacesetters +pachyderm +pachyderm's +pachyderms +pacific +pacifically +pacification +pacification's +pacified +pacifier +pacifier's +pacifiers +pacifies +pacifism +pacifism's +pacifist +pacifist's +pacifists +pacify +pacifying +pacing +pack +pack's +package +package's +packaged +packages +packaging +packaging's +packed +packer +packer's +packers +packet +packet's +packets +packing +packing's +packs +pact +pact's +pacts +pad +pad's +padded +paddies +padding +padding's +paddle +paddle's +paddled +paddles +paddling +paddock +paddock's +paddocked +paddocking +paddocks +paddy +paddy's +padlock +padlock's +padlocked +padlocking +padlocks +padre +padre's +padres +pads +paean +paean's +paeans +pagan +pagan's +paganism +paganism's +pagans +page +page's +pageant +pageant's +pageantry +pageantry's +pageants +paged +pager +pager's +pagers +pages +paginate +paginated +paginates +paginating +pagination +pagination's +paging +pagoda +pagoda's +pagodas +paid +pail +pail's +pailful +pailful's +pailfuls +pails +pailsful +pain +pain's +pained +painful +painfuller +painfullest +painfully +paining +painkiller +painkiller's +painkillers +painless +painlessly +pains +painstaking +painstaking's +painstakingly +paint +paint's +paintbrush +paintbrush's +paintbrushes +painted +painter +painter's +painters +painting +painting's +paintings +paints +paintwork +pair +pair's +paired +pairing +pairs +pairwise +paisley +paisley's +paisleys +pajamas +pajamas's +pal +pal's +palace +palace's +palaces +palatable +palatal +palatal's +palatals +palate +palate's +palates +palatial +palaver +palaver's +palavered +palavering +palavers +pale +pale's +paled +paleface +paleface's +palefaces +paleness +paleness's +paleontologist +paleontologist's +paleontologists +paleontology +paleontology's +paler +pales +palest +palette +palette's +palettes +palimony +palimony's +palimpsest +palimpsest's +palimpsests +palindrome +palindrome's +palindromes +palindromic +paling +paling's +palings +palisade +palisade's +palisades +pall +pall's +palladium +palladium's +pallbearer +pallbearer's +pallbearers +palled +pallet +pallet's +pallets +palliate +palliated +palliates +palliating +palliation +palliation's +palliative +palliative's +palliatives +pallid +palling +pallor +pallor's +palls +palm +palm's +palmed +palmetto +palmetto's +palmettoes +palmettos +palmier +palmiest +palming +palmist +palmist's +palmistry +palmistry's +palmists +palms +palmy +palomino +palomino's +palominos +palpable +palpably +palpate +palpated +palpates +palpating +palpation +palpation's +palpitate +palpitated +palpitates +palpitating +palpitation +palpitation's +palpitations +pals +palsied +palsies +palsy +palsy's +palsying +paltrier +paltriest +paltriness +paltriness's +paltry +pampas +pampas's +pamper +pampered +pampering +pampers +pamphlet +pamphlet's +pamphleteer +pamphleteer's +pamphleteers +pamphlets +pan +pan's +panacea +panacea's +panaceas +panache +panache's +pancake +pancake's +pancaked +pancakes +pancaking +panchromatic +pancreas +pancreas's +pancreases +pancreatic +panda +panda's +pandas +pandemic +pandemic's +pandemics +pandemonium +pandemonium's +pander +pander's +pandered +panderer +panderer's +panderers +pandering +panders +pane +pane's +panegyric +panegyric's +panegyrics +panel +panel's +paneled +paneling +paneling's +panelings +panelist +panelist's +panelists +panelled +panelling +panelling's +panellings +panels +panes +pang +pang's +pangs +panhandle +panhandle's +panhandled +panhandler +panhandler's +panhandlers +panhandles +panhandling +panic +panic's +panicked +panickier +panickiest +panicking +panicky +panics +panier +panier's +paniers +panned +pannier +pannier's +panniers +panning +panoplies +panoply +panoply's +panorama +panorama's +panoramas +panoramic +pans +pansies +pansy +pansy's +pant +pant's +pantaloons +pantaloons's +panted +pantheism +pantheism's +pantheist +pantheist's +pantheistic +pantheists +pantheon +pantheon's +pantheons +panther +panther's +panthers +pantie +pantie's +panties +panting +pantomime +pantomime's +pantomimed +pantomimes +pantomiming +pantries +pantry +pantry's +pants +pantsuit +pantsuit's +pantsuits +panty +panty's +pantyhose +pantyhose's +pap +pap's +papa +papa's +papacies +papacy +papacy's +papal +papas +papaw +papaw's +papaws +papaya +papaya's +papayas +paper +paper's +paperback +paperback's +paperbacks +paperboy +paperboy's +paperboys +papered +papergirl +papergirl's +papergirls +paperhanger +paperhanger's +paperhangers +papering +papers +paperweight +paperweight's +paperweights +paperwork +paperwork's +papery +papilla +papilla's +papillae +papoose +papoose's +papooses +paprika +paprika's +paps +papyri +papyrus +papyrus's +papyruses +par +par's +parable +parable's +parables +parabola +parabola's +parabolas +parabolic +parachute +parachute's +parachuted +parachutes +parachuting +parachutist +parachutist's +parachutists +parade +parade's +paraded +parades +paradigm +paradigm's +paradigmatic +paradigms +parading +paradise +paradise's +paradises +paradox +paradox's +paradoxes +paradoxical +paradoxically +paraffin +paraffin's +paragon +paragon's +paragons +paragraph +paragraph's +paragraphed +paragraphing +paragraphs +parakeet +parakeet's +parakeets +paralegal +paralegal's +paralegals +parallax +parallax's +parallaxes +parallel +parallel's +paralleled +paralleling +parallelism +parallelism's +parallelisms +parallelled +parallelling +parallelogram +parallelogram's +parallelograms +parallels +paralyses +paralysis +paralysis's +paralytic +paralytic's +paralytics +paralyze +paralyzed +paralyzes +paralyzing +paramecia +paramecium +paramecium's +parameciums +paramedic +paramedic's +paramedical +paramedical's +paramedicals +paramedics +parameter +parameter's +parameters +paramilitaries +paramilitary +paramilitary's +paramount +paramour +paramour's +paramours +paranoia +paranoia's +paranoid +paranoid's +paranoids +paranormal +parapet +parapet's +parapets +paraphernalia +paraphernalia's +paraphrase +paraphrase's +paraphrased +paraphrases +paraphrasing +paraplegia +paraplegia's +paraplegic +paraplegic's +paraplegics +paraprofessional +paraprofessional's +paraprofessionals +parapsychology +parapsychology's +parasite +parasite's +parasites +parasitic +parasol +parasol's +parasols +paratrooper +paratrooper's +paratroopers +paratroops +paratroops's +parboil +parboiled +parboiling +parboils +parcel +parcel's +parceled +parceling +parcelled +parcelling +parcels +parch +parched +parches +parching +parchment +parchment's +parchments +pardon +pardon's +pardonable +pardoned +pardoning +pardons +pare +pared +parent +parent's +parentage +parentage's +parental +parented +parentheses +parenthesis +parenthesis's +parenthesize +parenthesized +parenthesizes +parenthesizing +parenthetic +parenthetical +parenthetically +parenthood +parenthood's +parenting +parenting's +parents +pares +parfait +parfait's +parfaits +pariah +pariah's +pariahs +paring +paring's +parings +parish +parish's +parishes +parishioner +parishioner's +parishioners +parity +parity's +park +park's +parka +parka's +parkas +parked +parking +parking's +parks +parkway +parkway's +parkways +parlance +parlance's +parlay +parlay's +parlayed +parlaying +parlays +parley +parley's +parleyed +parleying +parleys +parliament +parliament's +parliamentarian +parliamentarian's +parliamentarians +parliamentary +parliaments +parlor +parlor's +parlors +parochial +parochialism +parochialism's +parodied +parodies +parody +parody's +parodying +parole +parole's +paroled +parolee +parolee's +parolees +paroles +paroling +paroxysm +paroxysm's +paroxysms +parquet +parquet's +parqueted +parqueting +parquetry +parquetry's +parquets +parrakeet +parrakeet's +parrakeets +parred +parricide +parricide's +parricides +parried +parries +parring +parrot +parrot's +parroted +parroting +parrots +parry +parry's +parrying +pars +parse +parsec +parsec's +parsecs +parsed +parser +parses +parsimonious +parsimony +parsimony's +parsing +parsley +parsley's +parsnip +parsnip's +parsnips +parson +parson's +parsonage +parsonage's +parsonages +parsons +part +part's +partake +partaken +partaker +partaker's +partakers +partakes +partaking +parted +parterre +parterre's +parterres +parthenogenesis +parthenogenesis's +partial +partial's +partiality +partiality's +partially +partials +participant +participant's +participants +participate +participated +participates +participating +participation +participation's +participator +participator's +participators +participatory +participial +participial's +participle +participle's +participles +particle +particle's +particles +particular +particular's +particularities +particularity +particularity's +particularization +particularization's +particularize +particularized +particularizes +particularizing +particularly +particulars +particulate +particulate's +particulates +partied +parties +parting +parting's +partings +partisan +partisan's +partisans +partisanship +partisanship's +partition +partition's +partitioned +partitioning +partitions +partizan +partizan's +partizans +partly +partner +partner's +partnered +partnering +partners +partnership +partnership's +partnerships +partook +partridge +partridge's +partridges +parts +parturition +parturition's +partway +party +party's +partying +parvenu +parvenu's +parvenus +pas +paschal +pasha +pasha's +pashas +pass +pass's +passable +passably +passage +passage's +passages +passageway +passageway's +passageways +passbook +passbook's +passbooks +passed +passel +passel's +passels +passenger +passenger's +passengers +passer +passerby +passerby's +passersby +passes +passing +passing's +passion +passion's +passionate +passionately +passionless +passions +passive +passive's +passively +passives +passivity +passivity's +passkey +passkey's +passkeys +passport +passport's +passports +password +password's +passwords +past +past's +pasta +pasta's +pastas +paste +paste's +pasteboard +pasteboard's +pasted +pastel +pastel's +pastels +pastern +pastern's +pasterns +pastes +pasteurization +pasteurization's +pasteurize +pasteurized +pasteurizes +pasteurizing +pastiche +pastiche's +pastiches +pastier +pasties +pastiest +pastime +pastime's +pastimes +pasting +pastor +pastor's +pastoral +pastoral's +pastorals +pastorate +pastorate's +pastorates +pastors +pastrami +pastrami's +pastries +pastry +pastry's +pasts +pasturage +pasturage's +pasture +pasture's +pastured +pastures +pasturing +pasty +pasty's +pat +pat's +patch +patch's +patched +patches +patchier +patchiest +patchiness +patchiness's +patching +patchwork +patchwork's +patchworks +patchy +pate +pate's +patella +patella's +patellae +patellas +patent +patent's +patented +patenting +patently +patents +paternal +paternalism +paternalism's +paternalistic +paternally +paternity +paternity's +pates +path +path's +pathetic +pathetically +pathogen +pathogen's +pathogenic +pathogens +pathological +pathologically +pathologist +pathologist's +pathologists +pathology +pathology's +pathos +pathos's +paths +pathway +pathway's +pathways +patience +patience's +patient +patient's +patienter +patientest +patiently +patients +patina +patina's +patinae +patinas +patine +patio +patio's +patios +patois +patois's +patriarch +patriarch's +patriarchal +patriarchies +patriarchs +patriarchy +patriarchy's +patrician +patrician's +patricians +patricide +patricide's +patricides +patrimonial +patrimonies +patrimony +patrimony's +patriot +patriot's +patriotic +patriotically +patriotism +patriotism's +patriots +patrol +patrol's +patrolled +patrolling +patrolman +patrolman's +patrolmen +patrols +patrolwoman +patrolwoman's +patrolwomen +patron +patron's +patronage +patronage's +patronages +patronize +patronized +patronizes +patronizing +patronizingly +patrons +patronymic +patronymic's +patronymics +pats +patsies +patsy +patsy's +patted +patter +patter's +pattered +pattering +pattern +pattern's +patterned +patterning +patterns +patters +patties +patting +patty +patty's +paucity +paucity's +paunch +paunch's +paunches +paunchier +paunchiest +paunchy +pauper +pauper's +pauperism +pauperism's +pauperize +pauperized +pauperizes +pauperizing +paupers +pause +pause's +paused +pauses +pausing +pave +paved +pavement +pavement's +pavements +paves +pavilion +pavilion's +pavilions +paving +paving's +pavings +paw +paw's +pawed +pawing +pawl +pawl's +pawls +pawn +pawn's +pawnbroker +pawnbroker's +pawnbrokers +pawned +pawning +pawns +pawnshop +pawnshop's +pawnshops +pawpaw +pawpaw's +pawpaws +paws +pay +pay's +payable +paycheck +paycheck's +paychecks +payday +payday's +paydays +payed +payee +payee's +payees +payer +payer's +payers +paying +payload +payload's +payloads +paymaster +paymaster's +paymasters +payment +payment's +payments +payoff +payoff's +payoffs +payroll +payroll's +payrolls +pays +pea +pea's +peace +peace's +peaceable +peaceably +peaceful +peacefully +peacefulness +peacefulness's +peacekeeping +peacekeeping's +peacemaker +peacemaker's +peacemakers +peaces +peacetime +peacetime's +peach +peach's +peaches +peacock +peacock's +peacocks +peafowl +peafowl's +peafowls +peahen +peahen's +peahens +peak +peak's +peaked +peaking +peaks +peal +peal's +pealed +pealing +peals +peanut +peanut's +peanuts +pear +pear's +pearl +pearl's +pearled +pearlier +pearliest +pearling +pearls +pearly +pears +peas +peasant +peasant's +peasantry +peasantry's +peasants +pease +peat +peat's +pebble +pebble's +pebbled +pebbles +pebblier +pebbliest +pebbling +pebbly +pecan +pecan's +pecans +peccadillo +peccadillo's +peccadilloes +peccadillos +peccaries +peccary +peccary's +peck +peck's +pecked +pecking +pecks +pectin +pectin's +pectoral +pectoral's +pectorals +peculiar +peculiarities +peculiarity +peculiarity's +peculiarly +pecuniary +pedagog +pedagog's +pedagogic +pedagogical +pedagogs +pedagogue +pedagogue's +pedagogues +pedagogy +pedagogy's +pedal +pedal's +pedaled +pedaling +pedalled +pedalling +pedals +pedant +pedant's +pedantic +pedantically +pedantry +pedantry's +pedants +peddle +peddled +peddler +peddler's +peddlers +peddles +peddling +pederast +pederast's +pederasts +pederasty +pederasty's +pedestal +pedestal's +pedestals +pedestrian +pedestrian's +pedestrianize +pedestrianized +pedestrianizes +pedestrianizing +pedestrians +pediatric +pediatrician +pediatrician's +pediatricians +pediatrics +pediatrics's +pediatrist +pediatrist's +pediatrists +pedicure +pedicure's +pedicured +pedicures +pedicuring +pedigree +pedigree's +pedigreed +pedigrees +pediment +pediment's +pediments +pedlar +pedlar's +pedlars +pedometer +pedometer's +pedometers +pee +pee's +peed +peeing +peek +peek's +peekaboo +peekaboo's +peeked +peeking +peeks +peel +peel's +peeled +peeling +peeling's +peelings +peels +peep +peep's +peeped +peeper +peeper's +peepers +peephole +peephole's +peepholes +peeping +peeps +peer +peer's +peerage +peerage's +peerages +peered +peering +peerless +peers +pees +peeve +peeve's +peeved +peeves +peeving +peevish +peevishly +peevishness +peevishness's +peewee +peewee's +peewees +peg +peg's +pegged +pegging +pegs +pejorative +pejorative's +pejoratives +pekoe +pekoe's +pelagic +pelican +pelican's +pelicans +pellagra +pellagra's +pellet +pellet's +pelleted +pelleting +pellets +pellucid +pelt +pelt's +pelted +pelting +pelts +pelves +pelvic +pelvis +pelvis's +pelvises +pen +pen's +penal +penalize +penalized +penalizes +penalizing +penalties +penalty +penalty's +penance +penance's +penances +pence +penchant +penchant's +penchants +pencil +pencil's +penciled +penciling +pencilled +pencilling +pencils +pendant +pendant's +pendants +pended +pendent +pendent's +pendents +pending +pends +pendulous +pendulum +pendulum's +pendulums +penes +penetrable +penetrate +penetrated +penetrates +penetrating +penetration +penetration's +penetrations +penetrative +penguin +penguin's +penguins +penicillin +penicillin's +penile +peninsula +peninsula's +peninsular +peninsulas +penis +penis's +penises +penitence +penitence's +penitent +penitent's +penitential +penitentiaries +penitentiary +penitentiary's +penitently +penitents +penknife +penknife's +penknives +penlight +penlight's +penlights +penlite +penlite's +penlites +penmanship +penmanship's +pennant +pennant's +pennants +penned +pennies +penniless +penning +pennon +pennon's +pennons +penny +penny's +pennyweight +pennyweight's +pennyweights +penologist +penologist's +penologists +penology +penology's +pens +pension +pension's +pensioned +pensioner +pensioner's +pensioners +pensioning +pensions +pensive +pensively +pensiveness +pensiveness's +pent +pentagon +pentagon's +pentagonal +pentagons +pentameter +pentameter's +pentameters +pentathlon +pentathlon's +pentathlons +penthouse +penthouse's +penthouses +penultimate +penultimate's +penultimates +penurious +penury +penury's +peon +peon's +peonage +peonage's +peonies +peons +peony +peony's +people +people's +peopled +peoples +peopling +pep +pep's +pepped +pepper +pepper's +peppercorn +peppercorn's +peppercorns +peppered +peppering +peppermint +peppermint's +peppermints +pepperoni +pepperoni's +pepperonis +peppers +peppery +peppier +peppiest +pepping +peppy +peps +pepsin +pepsin's +peptic +peptic's +peptics +per +perambulate +perambulated +perambulates +perambulating +perambulator +perambulator's +perambulators +percale +percale's +percales +perceivable +perceive +perceived +perceives +perceiving +percent +percent's +percentage +percentage's +percentages +percentile +percentile's +percentiles +percents +perceptible +perceptibly +perception +perception's +perceptions +perceptive +perceptively +perceptiveness +perceptiveness's +perceptual +perch +perch's +perchance +perched +perches +perching +percolate +percolated +percolates +percolating +percolation +percolation's +percolator +percolator's +percolators +percussion +percussion's +percussionist +percussionist's +percussionists +perdition +perdition's +peregrination +peregrination's +peregrinations +peremptorily +peremptory +perennial +perennial's +perennially +perennials +perfect +perfect's +perfected +perfecter +perfectest +perfectible +perfecting +perfection +perfection's +perfectionism +perfectionism's +perfectionist +perfectionist's +perfectionists +perfections +perfectly +perfects +perfidies +perfidious +perfidy +perfidy's +perforate +perforated +perforates +perforating +perforation +perforation's +perforations +perforce +perform +performance +performance's +performances +performed +performer +performer's +performers +performing +performs +perfume +perfume's +perfumed +perfumeries +perfumery +perfumery's +perfumes +perfuming +perfunctorily +perfunctory +perhaps +pericardia +pericardium +pericardium's +pericardiums +perigee +perigee's +perigees +perihelia +perihelion +perihelion's +perihelions +peril +peril's +periled +periling +perilled +perilling +perilous +perilously +perils +perimeter +perimeter's +perimeters +period +period's +periodic +periodical +periodical's +periodically +periodicals +periodicity +periodontal +periods +peripatetic +peripatetic's +peripatetics +peripheral +peripheral's +peripherals +peripheries +periphery +periphery's +periphrases +periphrasis +periphrasis's +periscope +periscope's +periscopes +perish +perishable +perishable's +perishables +perished +perishes +perishing +peritonea +peritoneum +peritoneum's +peritoneums +peritonitis +peritonitis's +periwig +periwig's +periwigs +periwinkle +periwinkle's +periwinkles +perjure +perjured +perjurer +perjurer's +perjurers +perjures +perjuries +perjuring +perjury +perjury's +perk +perk's +perked +perkier +perkiest +perkiness +perkiness's +perking +perks +perky +perm +perm's +permafrost +permafrost's +permanence +permanence's +permanent +permanent's +permanently +permanents +permeability +permeability's +permeable +permeate +permeated +permeates +permeating +permed +perming +permissible +permissibly +permission +permission's +permissions +permissive +permissively +permissiveness +permissiveness's +permit +permit's +permits +permitted +permitting +perms +permutation +permutation's +permutations +permute +permuted +permutes +permuting +pernicious +perniciously +peroration +peroration's +perorations +peroxide +peroxide's +peroxided +peroxides +peroxiding +perpendicular +perpendicular's +perpendiculars +perpetrate +perpetrated +perpetrates +perpetrating +perpetration +perpetration's +perpetrator +perpetrator's +perpetrators +perpetual +perpetual's +perpetually +perpetuals +perpetuate +perpetuated +perpetuates +perpetuating +perpetuation +perpetuation's +perpetuity +perpetuity's +perplex +perplexed +perplexes +perplexing +perplexities +perplexity +perplexity's +perquisite +perquisite's +perquisites +persecute +persecuted +persecutes +persecuting +persecution +persecution's +persecutions +persecutor +persecutor's +persecutors +perseverance +perseverance's +persevere +persevered +perseveres +persevering +persiflage +persiflage's +persimmon +persimmon's +persimmons +persist +persisted +persistence +persistence's +persistent +persistently +persisting +persists +persnickety +person +person's +persona +persona's +personable +personae +personage +personage's +personages +personal +personal's +personalities +personality +personality's +personalize +personalized +personalizes +personalizing +personally +personals +personification +personification's +personifications +personified +personifies +personify +personifying +personnel +personnel's +persons +perspective +perspective's +perspectives +perspicacious +perspicacity +perspicacity's +perspicuity +perspicuity's +perspicuous +perspiration +perspiration's +perspire +perspired +perspires +perspiring +persuade +persuaded +persuades +persuading +persuasion +persuasion's +persuasions +persuasive +persuasively +persuasiveness +persuasiveness's +pert +pertain +pertained +pertaining +pertains +perter +pertest +pertinacious +pertinacity +pertinacity's +pertinence +pertinence's +pertinent +pertly +pertness +pertness's +perturb +perturbation +perturbation's +perturbations +perturbed +perturbing +perturbs +perusal +perusal's +perusals +peruse +perused +peruses +perusing +pervade +pervaded +pervades +pervading +pervasive +perverse +perversely +perverseness +perverseness's +perversion +perversion's +perversions +perversity +perversity's +pervert +pervert's +perverted +perverting +perverts +peseta +peseta's +pesetas +peskier +peskiest +pesky +peso +peso's +pesos +pessimism +pessimism's +pessimist +pessimist's +pessimistic +pessimistically +pessimists +pest +pest's +pester +pestered +pestering +pesters +pesticide +pesticide's +pesticides +pestilence +pestilence's +pestilences +pestilent +pestle +pestle's +pestled +pestles +pestling +pests +pet +pet's +petal +petal's +petals +petard +petard's +petards +peter +peter's +petered +petering +peters +petiole +petiole's +petioles +petite +petite's +petites +petition +petition's +petitioned +petitioner +petitioner's +petitioners +petitioning +petitions +petrel +petrel's +petrels +petrifaction +petrifaction's +petrified +petrifies +petrify +petrifying +petrochemical +petrochemical's +petrochemicals +petrol +petrol's +petrolatum +petrolatum's +petroleum +petroleum's +pets +petted +petticoat +petticoat's +petticoats +pettier +pettiest +pettifog +pettifogged +pettifogger +pettifogger's +pettifoggers +pettifogging +pettifogs +pettily +pettiness +pettiness's +petting +petty +petulance +petulance's +petulant +petulantly +petunia +petunia's +petunias +pew +pew's +pewee +pewee's +pewees +pews +pewter +pewter's +pewters +peyote +peyote's +phalanges +phalanx +phalanx's +phalanxes +phalli +phallic +phallus +phallus's +phalluses +phantasied +phantasies +phantasm +phantasm's +phantasmagoria +phantasmagoria's +phantasmagorias +phantasms +phantasy +phantasy's +phantasying +phantom +phantom's +phantoms +pharaoh +pharaoh's +pharaohs +pharmaceutical +pharmaceutical's +pharmaceuticals +pharmacies +pharmacist +pharmacist's +pharmacists +pharmacologist +pharmacologist's +pharmacologists +pharmacology +pharmacology's +pharmacopeia +pharmacopeia's +pharmacopeias +pharmacopoeia +pharmacopoeia's +pharmacopoeias +pharmacy +pharmacy's +pharyngeal +pharynges +pharynx +pharynx's +pharynxes +phase +phase's +phased +phases +phasing +pheasant +pheasant's +pheasants +phenobarbital +phenobarbital's +phenomena +phenomenal +phenomenally +phenomenon +phenomenon's +phenomenons +phenotype +pheromone +pheromone's +pheromones +phial +phial's +phials +philander +philandered +philanderer +philanderer's +philanderers +philandering +philanders +philanthropic +philanthropically +philanthropies +philanthropist +philanthropist's +philanthropists +philanthropy +philanthropy's +philatelic +philatelist +philatelist's +philatelists +philately +philately's +philharmonic +philharmonic's +philharmonics +philippic +philippic's +philippics +philistine +philistine's +philistines +philodendra +philodendron +philodendron's +philodendrons +philological +philologist +philologist's +philologists +philology +philology's +philosopher +philosopher's +philosophers +philosophic +philosophical +philosophically +philosophies +philosophize +philosophized +philosophizes +philosophizing +philosophy +philosophy's +philter +philter's +philters +phish +phished +phisher +phisher's +phishers +phishing +phlebitis +phlebitis's +phlegm +phlegm's +phlegmatic +phlegmatically +phloem +phloem's +phlox +phlox's +phloxes +phobia +phobia's +phobias +phobic +phobic's +phobics +phoebe +phoebe's +phoebes +phoenix +phoenix's +phoenixes +phone +phone's +phoned +phoneme +phoneme's +phonemes +phonemic +phones +phonetic +phonetically +phonetician +phonetician's +phoneticians +phonetics +phonetics's +phoney +phoney's +phoneyed +phoneying +phoneys +phonic +phonically +phonics +phonics's +phonied +phonier +phonies +phoniest +phoniness +phoniness's +phoning +phonograph +phonograph's +phonographs +phonological +phonologist +phonologist's +phonologists +phonology +phonology's +phony +phony's +phonying +phooey +phosphate +phosphate's +phosphates +phosphor +phosphor's +phosphorescence +phosphorescence's +phosphorescent +phosphoric +phosphors +phosphorus +phosphorus's +photo +photo's +photocopied +photocopier +photocopier's +photocopiers +photocopies +photocopy +photocopy's +photocopying +photoed +photoelectric +photogenic +photograph +photograph's +photographed +photographer +photographer's +photographers +photographic +photographically +photographing +photographs +photography +photography's +photoing +photojournalism +photojournalism's +photojournalist +photojournalist's +photojournalists +photon +photon's +photons +photos +photosensitive +photosynthesis +photosynthesis's +phototypesetter +phototypesetting +phrasal +phrase +phrase's +phrased +phraseology +phraseology's +phrases +phrasing +phrasing's +phrasings +phrenology +phrenology's +phyla +phylum +phylum's +physic +physic's +physical +physical's +physically +physicals +physician +physician's +physicians +physicist +physicist's +physicists +physicked +physicking +physics +physics's +physiognomies +physiognomy +physiognomy's +physiological +physiologist +physiologist's +physiologists +physiology +physiology's +physiotherapist +physiotherapist's +physiotherapists +physiotherapy +physiotherapy's +physique +physique's +physiques +pi +pi's +pianissimi +pianissimo +pianissimo's +pianissimos +pianist +pianist's +pianists +piano +piano's +pianoforte +pianoforte's +pianofortes +pianos +piazza +piazza's +piazzas +piazze +pica +pica's +picaresque +picayune +piccalilli +piccalilli's +piccolo +piccolo's +piccolos +pick +pick's +pickaback +pickaback's +pickabacked +pickabacking +pickabacks +pickax +pickax's +pickaxe +pickaxe's +pickaxed +pickaxes +pickaxing +picked +picker +picker's +pickerel +pickerel's +pickerels +pickers +picket +picket's +picketed +picketing +pickets +pickier +pickiest +picking +pickings +pickings's +pickle +pickle's +pickled +pickles +pickling +pickpocket +pickpocket's +pickpockets +picks +pickup +pickup's +pickups +picky +picnic +picnic's +picnicked +picnicker +picnicker's +picnickers +picnicking +picnics +pictograph +pictograph's +pictographs +pictorial +pictorial's +pictorially +pictorials +picture +picture's +pictured +pictures +picturesque +picturing +piddle +piddle's +piddled +piddles +piddling +pidgin +pidgin's +pidgins +pie +pie's +piebald +piebald's +piebalds +piece +piece's +pieced +piecemeal +pieces +piecework +piecework's +piecing +pied +pieing +pier +pier's +pierce +pierced +pierces +piercing +piercing's +piercingly +piercings +piers +pies +piety +piety's +piffle +piffle's +pig +pig's +pigeon +pigeon's +pigeonhole +pigeonhole's +pigeonholed +pigeonholes +pigeonholing +pigeons +pigged +piggier +piggies +piggiest +pigging +piggish +piggishness +piggishness's +piggy +piggy's +piggyback +piggyback's +piggybacked +piggybacking +piggybacks +pigheaded +piglet +piglet's +piglets +pigment +pigment's +pigmentation +pigmentation's +pigments +pigmies +pigmy +pigmy's +pigpen +pigpen's +pigpens +pigs +pigskin +pigskin's +pigskins +pigsties +pigsty +pigsty's +pigtail +pigtail's +pigtails +piing +pike +pike's +piked +piker +piker's +pikers +pikes +piking +pilaf +pilaf's +pilaff +pilaff's +pilaffs +pilafs +pilaster +pilaster's +pilasters +pilau +pilau's +pilaus +pilaw +pilaw's +pilaws +pilchard +pilchard's +pilchards +pile +pile's +piled +piles +pileup +pileup's +pileups +pilfer +pilfered +pilferer +pilferer's +pilferers +pilfering +pilfers +pilgrim +pilgrim's +pilgrimage +pilgrimage's +pilgrimages +pilgrims +piling +piling's +pilings +pill +pill's +pillage +pillage's +pillaged +pillages +pillaging +pillar +pillar's +pillars +pillbox +pillbox's +pillboxes +pilled +pilling +pillion +pillion's +pillions +pilloried +pillories +pillory +pillory's +pillorying +pillow +pillow's +pillowcase +pillowcase's +pillowcases +pillowed +pillowing +pillows +pills +pilot +pilot's +piloted +pilothouse +pilothouse's +pilothouses +piloting +pilots +pimento +pimento's +pimentos +pimiento +pimiento's +pimientos +pimp +pimp's +pimped +pimpernel +pimpernel's +pimpernels +pimping +pimple +pimple's +pimples +pimplier +pimpliest +pimply +pimps +pin +pin's +pinafore +pinafore's +pinafores +pinball +pinball's +pincer +pincer's +pincers +pinch +pinch's +pinched +pinches +pinching +pincushion +pincushion's +pincushions +pine +pine's +pineapple +pineapple's +pineapples +pined +pines +pinfeather +pinfeather's +pinfeathers +ping +ping's +pinged +pinging +pings +pinhead +pinhead's +pinheads +pinhole +pinhole's +pinholes +pining +pinion +pinion's +pinioned +pinioning +pinions +pink +pink's +pinked +pinker +pinkest +pinkeye +pinkeye's +pinkie +pinkie's +pinkies +pinking +pinkish +pinks +pinky +pinky's +pinnacle +pinnacle's +pinnacles +pinnate +pinned +pinning +pinochle +pinochle's +pinpoint +pinpoint's +pinpointed +pinpointing +pinpoints +pinprick +pinprick's +pinpricks +pins +pinstripe +pinstripe's +pinstriped +pinstripes +pint +pint's +pinto +pinto's +pintoes +pintos +pints +pinup +pinup's +pinups +pinwheel +pinwheel's +pinwheeled +pinwheeling +pinwheels +pioneer +pioneer's +pioneered +pioneering +pioneers +pious +piously +pip +pip's +pipe +pipe's +piped +pipeline +pipeline's +pipelines +piper +piper's +pipers +pipes +piping +piping's +pipit +pipit's +pipits +pipped +pippin +pippin's +pipping +pippins +pips +pipsqueak +pipsqueak's +pipsqueaks +piquancy +piquancy's +piquant +pique +pique's +piqued +piques +piquing +piracy +piracy's +piranha +piranha's +piranhas +pirate +pirate's +pirated +pirates +piratical +pirating +pirouette +pirouette's +pirouetted +pirouettes +pirouetting +pis +piscatorial +piss +piss's +pissed +pisses +pissing +pistachio +pistachio's +pistachios +pistil +pistil's +pistillate +pistils +pistol +pistol's +pistols +piston +piston's +pistons +pit +pit's +pita +pita's +pitch +pitch's +pitchblende +pitchblende's +pitched +pitcher +pitcher's +pitchers +pitches +pitchfork +pitchfork's +pitchforked +pitchforking +pitchforks +pitching +pitchman +pitchman's +pitchmen +piteous +piteously +pitfall +pitfall's +pitfalls +pith +pith's +pithier +pithiest +pithily +pithy +pitiable +pitiably +pitied +pities +pitiful +pitifully +pitiless +pitilessly +piton +piton's +pitons +pits +pittance +pittance's +pittances +pitted +pitting +pituitaries +pituitary +pituitary's +pity +pity's +pitying +pivot +pivot's +pivotal +pivoted +pivoting +pivots +pixel +pixel's +pixels +pixie +pixie's +pixies +pixy +pixy's +pizazz +pizazz's +pizza +pizza's +pizzas +pizzazz +pizzazz's +pizzeria +pizzeria's +pizzerias +pizzicati +pizzicato +pizzicato's +pizzicatos +pj's +placard +placard's +placarded +placarding +placards +placate +placated +placates +placating +placation +placation's +place +place's +placebo +placebo's +placebos +placed +placeholder +placement +placement's +placements +placenta +placenta's +placentae +placental +placentals +placentas +placer +placer's +placers +places +placid +placidity +placidity's +placidly +placing +placket +placket's +plackets +plagiarism +plagiarism's +plagiarisms +plagiarist +plagiarist's +plagiarists +plagiarize +plagiarized +plagiarizes +plagiarizing +plague +plague's +plagued +plagues +plaguing +plaice +plaid +plaid's +plaids +plain +plain's +plainclothes +plainclothesman +plainclothesman's +plainclothesmen +plainer +plainest +plainly +plainness +plainness's +plains +plaint +plaint's +plaintiff +plaintiff's +plaintiffs +plaintive +plaintively +plaints +plait +plait's +plaited +plaiting +plaits +plan +plan's +planar +plane +plane's +planed +planes +planet +planet's +planetaria +planetarium +planetarium's +planetariums +planetary +planets +plangent +planing +plank +plank's +planked +planking +planking's +planks +plankton +plankton's +planned +planner +planner's +planners +planning +plannings +plans +plant +plant's +plantain +plantain's +plantains +plantation +plantation's +plantations +planted +planter +planter's +planters +planting +planting's +plantings +plants +plaque +plaque's +plaques +plasma +plasma's +plaster +plaster's +plasterboard +plasterboard's +plastered +plasterer +plasterer's +plasterers +plastering +plasters +plastic +plastic's +plasticity +plasticity's +plastics +plate +plate's +plateau +plateau's +plateaued +plateauing +plateaus +plateaux +plated +plateful +plateful's +platefuls +platelet +platelet's +platelets +platen +platen's +platens +plates +platform +platform's +platformed +platforming +platforms +plating +plating's +platinum +platinum's +platitude +platitude's +platitudes +platitudinous +platonic +platoon +platoon's +platooned +platooning +platoons +platter +platter's +platters +platypi +platypus +platypus's +platypuses +plaudit +plaudit's +plaudits +plausibility +plausibility's +plausible +plausibly +play +play's +playable +playact +playacted +playacting +playacting's +playacts +playback +playback's +playbacks +playbill +playbill's +playbills +playboy +playboy's +playboys +played +player +player's +players +playful +playfully +playfulness +playfulness's +playgoer +playgoer's +playgoers +playground +playground's +playgrounds +playhouse +playhouse's +playhouses +playing +playmate +playmate's +playmates +playoff +playoff's +playoffs +playpen +playpen's +playpens +playroom +playroom's +playrooms +plays +plaything +plaything's +playthings +playwright +playwright's +playwrights +plaza +plaza's +plazas +plea +plea's +plead +pleaded +pleader +pleader's +pleaders +pleading +pleads +pleas +pleasant +pleasanter +pleasantest +pleasantly +pleasantness +pleasantness's +pleasantries +pleasantry +pleasantry's +please +pleased +pleases +pleasing +pleasingly +pleasings +pleasurable +pleasurably +pleasure +pleasure's +pleasured +pleasures +pleasuring +pleat +pleat's +pleated +pleating +pleats +plebeian +plebeian's +plebeians +plebiscite +plebiscite's +plebiscites +plectra +plectrum +plectrum's +plectrums +pled +pledge +pledge's +pledged +pledges +pledging +plenaries +plenary +plenary's +plenipotentiaries +plenipotentiary +plenipotentiary's +plenitude +plenitude's +plenitudes +plenteous +plentiful +plentifully +plenty +plenty's +plethora +plethora's +pleurisy +pleurisy's +plexus +plexus's +plexuses +pliability +pliability's +pliable +pliancy +pliancy's +pliant +plied +pliers +pliers's +plies +plight +plight's +plighted +plighting +plights +plinth +plinth's +plinths +plod +plodded +plodder +plodder's +plodders +plodding +ploddings +plods +plop +plop's +plopped +plopping +plops +plot +plot's +plots +plotted +plotter +plotter's +plotters +plotting +plough +plough's +ploughed +ploughing +ploughs +ploughshare +ploughshare's +ploughshares +plover +plover's +plovers +plow +plow's +plowed +plowing +plowman +plowman's +plowmen +plows +plowshare +plowshare's +plowshares +ploy +ploy's +ploys +pluck +pluck's +plucked +pluckier +pluckiest +pluckiness +pluckiness's +plucking +plucks +plucky +plug +plug's +plugged +plugging +plugin +plugin's +plugins +plugs +plum +plum's +plumage +plumage's +plumb +plumb's +plumbed +plumber +plumber's +plumbers +plumbing +plumbing's +plumbs +plume +plume's +plumed +plumes +pluming +plummer +plummest +plummet +plummet's +plummeted +plummeting +plummets +plump +plump's +plumped +plumper +plumpest +plumping +plumpness +plumpness's +plumps +plums +plunder +plunder's +plundered +plunderer +plunderer's +plunderers +plundering +plunders +plunge +plunge's +plunged +plunger +plunger's +plungers +plunges +plunging +plunk +plunk's +plunked +plunking +plunks +pluperfect +pluperfect's +pluperfects +plural +plural's +pluralism +pluralism's +pluralistic +pluralities +plurality +plurality's +pluralize +pluralized +pluralizes +pluralizing +plurals +plus +plus's +pluses +plush +plush's +plusher +plushest +plushier +plushiest +plushy +plusses +plutocracies +plutocracy +plutocracy's +plutocrat +plutocrat's +plutocratic +plutocrats +plutonium +plutonium's +ply +ply's +plying +plywood +plywood's +pneumatic +pneumatically +pneumonia +pneumonia's +poach +poached +poacher +poacher's +poachers +poaches +poaching +pock +pock's +pocked +pocket +pocket's +pocketbook +pocketbook's +pocketbooks +pocketed +pocketful +pocketful's +pocketfuls +pocketing +pocketknife +pocketknife's +pocketknives +pockets +pocking +pockmark +pockmark's +pockmarked +pockmarking +pockmarks +pocks +pod +pod's +podcast +podded +podding +podia +podiatrist +podiatrist's +podiatrists +podiatry +podiatry's +podium +podium's +podiums +pods +poem +poem's +poems +poesy +poesy's +poet +poet's +poetess +poetess's +poetesses +poetic +poetical +poetically +poetry +poetry's +poets +pogrom +pogrom's +pogroms +poi +poi's +poignancy +poignancy's +poignant +poignantly +poinsettia +poinsettia's +poinsettias +point +point's +pointed +pointedly +pointer +pointer's +pointers +pointier +pointiest +pointillism +pointillism's +pointillist +pointillist's +pointillists +pointing +pointless +pointlessly +pointlessness +pointlessness's +points +pointy +poise +poise's +poised +poises +poising +poison +poison's +poisoned +poisoner +poisoner's +poisoners +poisoning +poisoning's +poisonings +poisonous +poisonously +poisons +poke +poke's +poked +poker +poker's +pokers +pokes +pokey +pokey's +pokeys +pokier +pokiest +poking +poky +pol +pol's +polar +polarities +polarity +polarity's +polarization +polarization's +polarize +polarized +polarizes +polarizing +pole +pole's +polecat +polecat's +polecats +poled +polemic +polemic's +polemical +polemics +poles +polestar +polestar's +polestars +police +police's +policed +policeman +policeman's +policemen +polices +policewoman +policewoman's +policewomen +policies +policing +policy +policy's +policyholder +policyholder's +policyholders +poling +polio +polio's +poliomyelitis +poliomyelitis's +polios +polish +polish's +polished +polisher +polisher's +polishers +polishes +polishing +polite +politely +politeness +politeness's +politer +politesse +politesse's +politest +politic +political +politically +politician +politician's +politicians +politicize +politicized +politicizes +politicizing +politico +politico's +politicoes +politicos +politics +politics's +polities +polity +polity's +polka +polka's +polkaed +polkaing +polkas +poll +poll's +polled +pollen +pollen's +pollinate +pollinated +pollinates +pollinating +pollination +pollination's +polling +polliwog +polliwog's +polliwogs +polls +pollster +pollster's +pollsters +pollutant +pollutant's +pollutants +pollute +polluted +polluter +polluter's +polluters +pollutes +polluting +pollution +pollution's +pollywog +pollywog's +pollywogs +polo +polo's +polonaise +polonaise's +polonaises +polonium +polonium's +pols +poltergeist +poltergeist's +poltergeists +poltroon +poltroon's +poltroons +polyester +polyester's +polyesters +polyethylene +polyethylene's +polygamist +polygamist's +polygamists +polygamous +polygamy +polygamy's +polyglot +polyglot's +polyglots +polygon +polygon's +polygonal +polygons +polygraph +polygraph's +polygraphed +polygraphing +polygraphs +polyhedra +polyhedron +polyhedron's +polyhedrons +polymath +polymath's +polymaths +polymer +polymer's +polymeric +polymerization +polymerization's +polymers +polymorphic +polynomial +polynomial's +polynomials +polyp +polyp's +polyphonic +polyphony +polyphony's +polyps +polystyrene +polystyrene's +polysyllabic +polysyllable +polysyllable's +polysyllables +polytechnic +polytechnic's +polytechnics +polytheism +polytheism's +polytheist +polytheist's +polytheistic +polytheists +polythene +polyunsaturated +pomade +pomade's +pomaded +pomades +pomading +pomegranate +pomegranate's +pomegranates +pommel +pommel's +pommeled +pommeling +pommelled +pommelling +pommels +pomp +pomp's +pompadour +pompadour's +pompadoured +pompadours +pompom +pompom's +pompoms +pompon +pompon's +pompons +pomposity +pomposity's +pompous +pompously +pompousness +pompousness's +poncho +poncho's +ponchos +pond +pond's +ponder +pondered +pondering +ponderous +ponderously +ponders +ponds +pone +pone's +pones +poniard +poniard's +poniards +ponies +pontiff +pontiff's +pontiffs +pontifical +pontificate +pontificate's +pontificated +pontificates +pontificating +pontoon +pontoon's +pontoons +pony +pony's +ponytail +ponytail's +ponytails +pooch +pooch's +pooched +pooches +pooching +poodle +poodle's +poodles +pooh +pooh's +poohed +poohing +poohs +pool +pool's +pooled +pooling +pools +poop +poop's +pooped +pooping +poops +poor +poorer +poorest +poorhouse +poorhouse's +poorhouses +poorly +pop +pop's +popcorn +popcorn's +pope +pope's +popes +popgun +popgun's +popguns +popinjay +popinjay's +popinjays +poplar +poplar's +poplars +poplin +poplin's +popover +popover's +popovers +poppa +poppa's +poppas +popped +poppies +popping +poppy +poppy's +poppycock +poppycock's +pops +populace +populace's +populaces +popular +popularity +popularity's +popularization +popularization's +popularize +popularized +popularizes +popularizing +popularly +populate +populated +populates +populating +population +population's +populations +populism +populism's +populist +populist's +populists +populous +porcelain +porcelain's +porch +porch's +porches +porcine +porcupine +porcupine's +porcupines +pore +pore's +pored +pores +poring +pork +pork's +porn +porn's +porno +porno's +pornographer +pornographer's +pornographers +pornographic +pornography +pornography's +porosity +porosity's +porous +porphyry +porphyry's +porpoise +porpoise's +porpoised +porpoises +porpoising +porridge +porridge's +porringer +porringer's +porringers +port +port's +portability +portability's +portable +portable's +portables +portage +portage's +portaged +portages +portaging +portal +portal's +portals +portcullis +portcullis's +portcullises +ported +portend +portended +portending +portends +portent +portent's +portentous +portentously +portents +porter +porter's +porterhouse +porterhouse's +porterhouses +porters +portfolio +portfolio's +portfolios +porthole +porthole's +portholes +portico +portico's +porticoes +porticos +porting +portion +portion's +portioned +portioning +portions +portlier +portliest +portliness +portliness's +portly +portmanteau +portmanteau's +portmanteaus +portmanteaux +portrait +portrait's +portraitist +portraitist's +portraitists +portraits +portraiture +portraiture's +portray +portrayal +portrayal's +portrayals +portrayed +portraying +portrays +ports +pose +pose's +posed +poser +poser's +posers +poses +poseur +poseur's +poseurs +posh +posher +poshest +posies +posing +posit +posited +positing +position +position's +positional +positioned +positioning +positions +positive +positive's +positively +positives +positivism +positron +positron's +positrons +posits +posse +posse's +posses +possess +possessed +possesses +possessing +possession +possession's +possessions +possessive +possessive's +possessively +possessiveness +possessiveness's +possessives +possessor +possessor's +possessors +possibilities +possibility +possibility's +possible +possible's +possibles +possibly +possum +possum's +possums +post +post's +postage +postage's +postal +postbox +postcard +postcard's +postcards +postcode +postcodes +postdate +postdated +postdates +postdating +postdoc +postdoctoral +posted +poster +poster's +posterior +posterior's +posteriors +posterity +posterity's +posters +postgraduate +postgraduate's +postgraduates +posthaste +posthumous +posthumously +posting +postlude +postlude's +postludes +postman +postman's +postmark +postmark's +postmarked +postmarking +postmarks +postmaster +postmaster's +postmasters +postmen +postmistress +postmistress's +postmistresses +postmodern +postmortem +postmortem's +postmortems +postnatal +postoperative +postpaid +postpartum +postpone +postponed +postponement +postponement's +postponements +postpones +postponing +posts +postscript +postscript's +postscripts +postulate +postulate's +postulated +postulates +postulating +posture +posture's +postured +postures +posturing +postwar +posy +posy's +pot +pot's +potable +potable's +potables +potash +potash's +potassium +potassium's +potato +potato's +potatoes +potbellied +potbellies +potbelly +potbelly's +potboiler +potboiler's +potboilers +potency +potency's +potent +potentate +potentate's +potentates +potential +potential's +potentialities +potentiality +potentiality's +potentially +potentials +potful +potful's +potfuls +potholder +potholder's +potholders +pothole +pothole's +potholes +pothook +pothook's +pothooks +potion +potion's +potions +potluck +potluck's +potlucks +potpie +potpie's +potpies +potpourri +potpourri's +potpourris +pots +potsherd +potsherd's +potsherds +potshot +potshot's +potshots +pottage +pottage's +potted +potter +potter's +pottered +potteries +pottering +potters +pottery +pottery's +pottier +potties +pottiest +potting +potty +potty's +pouch +pouch's +pouched +pouches +pouching +poultice +poultice's +poulticed +poultices +poulticing +poultry +poultry's +pounce +pounce's +pounced +pounces +pouncing +pound +pound's +pounded +pounding +pounds +pour +poured +pouring +pours +pout +pout's +pouted +pouting +pouts +poverty +poverty's +powder +powder's +powdered +powdering +powders +powdery +power +power's +powerboat +powerboat's +powerboats +powered +powerful +powerfully +powerhouse +powerhouse's +powerhouses +powering +powerless +powerlessly +powerlessness +powerlessness's +powers +powwow +powwow's +powwowed +powwowing +powwows +pox +pox's +poxes +practicability +practicability's +practicable +practicably +practical +practical's +practicalities +practicality +practicality's +practically +practicals +practice +practice's +practiced +practices +practicing +practise +practise's +practised +practises +practising +practitioner +practitioner's +practitioners +pragmatic +pragmatic's +pragmatically +pragmatics +pragmatism +pragmatism's +pragmatist +pragmatist's +pragmatists +prairie +prairie's +prairies +praise +praise's +praised +praises +praiseworthiness +praiseworthiness's +praiseworthy +praising +praline +praline's +pralines +pram +prance +prance's +pranced +prancer +prancer's +prancers +prances +prancing +prank +prank's +pranks +prankster +prankster's +pranksters +prate +prate's +prated +prates +pratfall +pratfall's +pratfalls +prating +prattle +prattle's +prattled +prattles +prattling +prawn +prawn's +prawned +prawning +prawns +pray +prayed +prayer +prayer's +prayers +praying +prays +preach +preached +preacher +preacher's +preachers +preaches +preachier +preachiest +preaching +preachy +preamble +preamble's +preambled +preambles +preambling +prearrange +prearranged +prearrangement +prearrangement's +prearranges +prearranging +precarious +precariously +precaution +precaution's +precautionary +precautions +precede +preceded +precedence +precedence's +precedent +precedent's +precedents +precedes +preceding +precept +precept's +preceptor +preceptor's +preceptors +precepts +precinct +precinct's +precincts +preciosity +preciosity's +precious +preciously +preciousness +preciousness's +precipice +precipice's +precipices +precipitant +precipitant's +precipitants +precipitate +precipitate's +precipitated +precipitately +precipitates +precipitating +precipitation +precipitation's +precipitations +precipitous +precipitously +precise +precisely +preciseness +preciseness's +preciser +precises +precisest +precision +precision's +preclude +precluded +precludes +precluding +preclusion +preclusion's +precocious +precociously +precociousness +precociousness's +precocity +precocity's +precognition +preconceive +preconceived +preconceives +preconceiving +preconception +preconception's +preconceptions +precondition +precondition's +preconditioned +preconditioning +preconditions +precursor +precursor's +precursors +predate +predated +predates +predating +predator +predator's +predators +predatory +predecease +predeceased +predeceases +predeceasing +predecessor +predecessor's +predecessors +predefined +predestination +predestination's +predestine +predestined +predestines +predestining +predetermination +predetermination's +predetermine +predetermined +predetermines +predetermining +predicament +predicament's +predicaments +predicate +predicate's +predicated +predicates +predicating +predication +predication's +predicative +predict +predictability +predictable +predictably +predicted +predicting +prediction +prediction's +predictions +predictive +predictor +predicts +predilection +predilection's +predilections +predispose +predisposed +predisposes +predisposing +predisposition +predisposition's +predispositions +predominance +predominance's +predominant +predominantly +predominate +predominated +predominates +predominating +preeminence +preeminence's +preeminent +preeminently +preempt +preempted +preempting +preemption +preemption's +preemptive +preemptively +preempts +preen +preened +preening +preens +preexist +preexisted +preexisting +preexists +prefab +prefab's +prefabbed +prefabbing +prefabricate +prefabricated +prefabricates +prefabricating +prefabrication +prefabrication's +prefabs +preface +preface's +prefaced +prefaces +prefacing +prefatory +prefect +prefect's +prefects +prefecture +prefecture's +prefectures +prefer +preferable +preferably +preference +preference's +preferences +preferential +preferentially +preferment +preferment's +preferred +preferring +prefers +prefigure +prefigured +prefigures +prefiguring +prefix +prefix's +prefixed +prefixes +prefixing +pregnancies +pregnancy +pregnancy's +pregnant +preheat +preheated +preheating +preheats +prehensile +prehistoric +prehistory +prehistory's +prejudge +prejudged +prejudges +prejudging +prejudgment +prejudgment's +prejudgments +prejudice +prejudice's +prejudiced +prejudices +prejudicial +prejudicing +prelate +prelate's +prelates +preliminaries +preliminary +preliminary's +prelude +prelude's +preludes +premarital +premature +prematurely +premeditate +premeditated +premeditates +premeditating +premeditation +premeditation's +premenstrual +premier +premier's +premiere +premiere's +premiered +premieres +premiering +premiers +premise +premise's +premised +premises +premising +premiss +premiss's +premisses +premium +premium's +premiums +premonition +premonition's +premonitions +premonitory +prenatal +preoccupation +preoccupation's +preoccupations +preoccupied +preoccupies +preoccupy +preoccupying +preordain +preordained +preordaining +preordains +prep +prep's +prepackage +prepackaged +prepackages +prepackaging +prepaid +preparation +preparation's +preparations +preparatory +prepare +prepared +preparedness +preparedness's +prepares +preparing +prepay +prepaying +prepayment +prepayment's +prepayments +prepays +preponderance +preponderance's +preponderances +preponderant +preponderate +preponderated +preponderates +preponderating +preposition +preposition's +prepositional +prepositions +prepossess +prepossessed +prepossesses +prepossessing +preposterous +preposterously +prepped +preppie +preppie's +preppier +preppies +preppiest +prepping +preppy +preppy's +preps +prequel +prequel's +prequels +prerecord +prerecorded +prerecording +prerecords +preregister +preregistered +preregistering +preregisters +preregistration +preregistration's +prerequisite +prerequisite's +prerequisites +prerogative +prerogative's +prerogatives +presage +presage's +presaged +presages +presaging +preschool +preschool's +preschooler +preschooler's +preschoolers +preschools +prescience +prescience's +prescient +prescribe +prescribed +prescribes +prescribing +prescription +prescription's +prescriptions +prescriptive +presence +presence's +presences +present +present's +presentable +presentation +presentation's +presentations +presented +presenter +presentiment +presentiment's +presentiments +presenting +presently +presents +preservation +preservation's +preservative +preservative's +preservatives +preserve +preserve's +preserved +preserver +preserver's +preservers +preserves +preserving +preset +presets +presetting +preshrank +preshrink +preshrinking +preshrinks +preshrunk +preshrunken +preside +presided +presidencies +presidency +presidency's +president +president's +presidential +presidents +presides +presiding +press +press's +pressed +presses +pressing +pressing's +pressings +pressman +pressman's +pressmen +pressure +pressure's +pressured +pressures +pressuring +pressurization +pressurization's +pressurize +pressurized +pressurizes +pressurizing +prestige +prestige's +prestigious +presto +presto's +prestos +presumable +presumably +presume +presumed +presumes +presuming +presumption +presumption's +presumptions +presumptive +presumptuous +presumptuously +presumptuousness +presumptuousness's +presuppose +presupposed +presupposes +presupposing +presupposition +presupposition's +presuppositions +preteen +preteen's +preteens +pretence +pretence's +pretences +pretend +pretended +pretender +pretender's +pretenders +pretending +pretends +pretense +pretense's +pretenses +pretension +pretension's +pretensions +pretentious +pretentiously +pretentiousness +pretentiousness's +preterit +preterit's +preterite +preterite's +preterites +preterits +preternatural +pretext +pretext's +pretexts +prettied +prettier +pretties +prettiest +prettified +prettifies +prettify +prettifying +prettily +prettiness +prettiness's +pretty +pretty's +prettying +pretzel +pretzel's +pretzels +prevail +prevailed +prevailing +prevails +prevalence +prevalence's +prevalent +prevaricate +prevaricated +prevaricates +prevaricating +prevarication +prevarication's +prevarications +prevaricator +prevaricator's +prevaricators +prevent +preventable +preventative +preventative's +preventatives +prevented +preventible +preventing +prevention +prevention's +preventive +preventive's +preventives +prevents +preview +preview's +previewed +previewer +previewers +previewing +previews +previous +previously +prevue +prevue's +prevues +prewar +prey +prey's +preyed +preying +preys +price +price's +priced +priceless +prices +pricey +pricier +priciest +pricing +prick +prick's +pricked +pricking +prickle +prickle's +prickled +prickles +pricklier +prickliest +prickling +prickly +pricks +pricy +pride +pride's +prided +prides +priding +pried +pries +priest +priest's +priestess +priestess's +priestesses +priesthood +priesthood's +priesthoods +priestlier +priestliest +priestly +priests +prig +prig's +priggish +prigs +prim +primacy +primacy's +primaeval +primal +primaries +primarily +primary +primary's +primate +primate's +primates +prime +prime's +primed +primer +primer's +primers +primes +primeval +priming +primitive +primitive's +primitively +primitives +primly +primmer +primmest +primness +primness's +primogeniture +primogeniture's +primordial +primp +primped +primping +primps +primrose +primrose's +primroses +prince +prince's +princelier +princeliest +princely +princes +princess +princess's +princesses +principal +principal's +principalities +principality +principality's +principally +principals +principle +principle's +principled +principles +print +print's +printable +printed +printer +printer's +printers +printing +printing's +printings +printout +printout's +printouts +prints +prior +prior's +prioress +prioress's +prioresses +priories +priorities +prioritize +prioritized +prioritizes +prioritizing +priority +priority's +priors +priory +priory's +prism +prism's +prismatic +prisms +prison +prison's +prisoner +prisoner's +prisoners +prisons +prissier +prissiest +prissiness +prissiness's +prissy +pristine +prithee +privacy +privacy's +private +private's +privateer +privateer's +privateers +privately +privater +privates +privatest +privation +privation's +privations +privatization +privatization's +privatizations +privatize +privatized +privatizes +privatizing +privet +privet's +privets +privier +privies +priviest +privilege +privilege's +privileged +privileges +privileging +privy +privy's +prize +prize's +prized +prizefight +prizefight's +prizefighter +prizefighter's +prizefighters +prizefighting +prizefights +prizes +prizing +pro +pro's +proactive +probabilistic +probabilities +probability +probability's +probable +probable's +probables +probably +probate +probate's +probated +probates +probating +probation +probation's +probationary +probationer +probationer's +probationers +probe +probe's +probed +probes +probing +probity +probity's +problem +problem's +problematic +problematical +problematically +problems +proboscides +proboscis +proboscis's +proboscises +procedural +procedure +procedure's +procedures +proceed +proceeded +proceeding +proceeding's +proceedings +proceeds +proceeds's +process +process's +processed +processes +processing +procession +procession's +processional +processional's +processionals +processioned +processioning +processions +processor +processor's +processors +proclaim +proclaimed +proclaiming +proclaims +proclamation +proclamation's +proclamations +proclivities +proclivity +proclivity's +procrastinate +procrastinated +procrastinates +procrastinating +procrastination +procrastination's +procrastinator +procrastinator's +procrastinators +procreate +procreated +procreates +procreating +procreation +procreation's +procreative +proctor +proctor's +proctored +proctoring +proctors +procurator +procurator's +procurators +procure +procured +procurement +procurement's +procurer +procurer's +procurers +procures +procuring +prod +prod's +prodded +prodding +prodigal +prodigal's +prodigality +prodigality's +prodigals +prodigies +prodigious +prodigiously +prodigy +prodigy's +prods +produce +produce's +produced +producer +producer's +producers +produces +producing +product +product's +production +production's +productions +productive +productively +productiveness +productiveness's +productivity +productivity's +products +prof +prof's +profanation +profanation's +profanations +profane +profaned +profanely +profanes +profaning +profanities +profanity +profanity's +profess +professed +professes +professing +profession +profession's +professional +professional's +professionalism +professionalism's +professionally +professionals +professions +professor +professor's +professorial +professors +professorship +professorship's +professorships +proffer +proffer's +proffered +proffering +proffers +proficiency +proficiency's +proficient +proficient's +proficiently +proficients +profile +profile's +profiled +profiles +profiling +profit +profit's +profitability +profitability's +profitable +profitably +profited +profiteer +profiteer's +profiteered +profiteering +profiteers +profiting +profits +profligacy +profligacy's +profligate +profligate's +profligates +proforma +profound +profounder +profoundest +profoundly +profs +profundities +profundity +profundity's +profuse +profusely +profusion +profusion's +profusions +progenitor +progenitor's +progenitors +progeny +progeny's +progesterone +progesterone's +prognoses +prognosis +prognosis's +prognostic +prognostic's +prognosticate +prognosticated +prognosticates +prognosticating +prognostication +prognostication's +prognostications +prognosticator +prognosticator's +prognosticators +prognostics +program +program's +programed +programer +programer's +programers +programing +programmable +programmable's +programmables +programmed +programmer +programmer's +programmers +programming +programming's +programs +progress +progress's +progressed +progresses +progressing +progression +progression's +progressions +progressive +progressive's +progressively +progressives +prohibit +prohibited +prohibiting +prohibition +prohibition's +prohibitionist +prohibitionist's +prohibitionists +prohibitions +prohibitive +prohibitively +prohibitory +prohibits +project +project's +projected +projectile +projectile's +projectiles +projecting +projection +projection's +projectionist +projectionist's +projectionists +projections +projector +projector's +projectors +projects +proletarian +proletarian's +proletarians +proletariat +proletariat's +proliferate +proliferated +proliferates +proliferating +proliferation +proliferation's +prolific +prolifically +prolix +prolixity +prolixity's +prolog +prolog's +prologs +prologue +prologue's +prologues +prolong +prolongation +prolongation's +prolongations +prolonged +prolonging +prolongs +prom +prom's +promenade +promenade's +promenaded +promenades +promenading +prominence +prominence's +prominent +prominently +promiscuity +promiscuity's +promiscuous +promiscuously +promise +promise's +promised +promises +promising +promisingly +promissory +promo +promo's +promontories +promontory +promontory's +promos +promote +promoted +promoter +promoter's +promoters +promotes +promoting +promotion +promotion's +promotional +promotions +prompt +prompt's +prompted +prompter +prompter's +prompters +promptest +prompting +prompting's +promptings +promptly +promptness +promptness's +prompts +proms +promulgate +promulgated +promulgates +promulgating +promulgation +promulgation's +prone +proneness +proneness's +prong +prong's +pronged +pronghorn +pronghorn's +pronghorns +prongs +pronoun +pronoun's +pronounce +pronounceable +pronounced +pronouncement +pronouncement's +pronouncements +pronounces +pronouncing +pronouns +pronto +pronunciation +pronunciation's +pronunciations +proof +proof's +proofed +proofing +proofread +proofreader +proofreader's +proofreaders +proofreading +proofreads +proofs +prop +prop's +propaganda +propaganda's +propagandist +propagandist's +propagandists +propagandize +propagandized +propagandizes +propagandizing +propagate +propagated +propagates +propagating +propagation +propagation's +propane +propane's +propel +propellant +propellant's +propellants +propelled +propellent +propellent's +propellents +propeller +propeller's +propellers +propelling +propels +propensities +propensity +propensity's +proper +proper's +properer +properest +properly +propertied +properties +property +property's +prophecies +prophecy +prophecy's +prophesied +prophesies +prophesy +prophesy's +prophesying +prophet +prophet's +prophetess +prophetess's +prophetesses +prophetic +prophetically +prophets +prophylactic +prophylactic's +prophylactics +prophylaxis +prophylaxis's +propinquity +propinquity's +propitiate +propitiated +propitiates +propitiating +propitiation +propitiation's +propitiatory +propitious +proponent +proponent's +proponents +proportion +proportion's +proportional +proportionality +proportionally +proportionals +proportionate +proportionately +proportioned +proportioning +proportions +proposal +proposal's +proposals +propose +proposed +proposer +proposes +proposing +proposition +proposition's +propositional +propositioned +propositioning +propositions +propound +propounded +propounding +propounds +propped +propping +proprietaries +proprietary +proprietary's +proprietor +proprietor's +proprietors +proprietorship +proprietorship's +proprietress +proprietress's +proprietresses +propriety +propriety's +props +propulsion +propulsion's +propulsive +prorate +prorated +prorates +prorating +pros +prosaic +prosaically +proscenia +proscenium +proscenium's +prosceniums +proscribe +proscribed +proscribes +proscribing +proscription +proscription's +proscriptions +prose +prose's +prosecute +prosecuted +prosecutes +prosecuting +prosecution +prosecution's +prosecutions +prosecutor +prosecutor's +prosecutors +proselyte +proselyte's +proselyted +proselytes +proselyting +proselytize +proselytized +proselytizes +proselytizing +prosier +prosiest +prosodies +prosody +prosody's +prospect +prospect's +prospected +prospecting +prospective +prospector +prospector's +prospectors +prospects +prospectus +prospectus's +prospectuses +prosper +prospered +prospering +prosperity +prosperity's +prosperous +prosperously +prospers +prostate +prostate's +prostates +prostheses +prosthesis +prosthesis's +prosthetic +prostitute +prostitute's +prostituted +prostitutes +prostituting +prostitution +prostitution's +prostrate +prostrated +prostrates +prostrating +prostration +prostration's +prostrations +prosy +protagonist +protagonist's +protagonists +protean +protect +protected +protecting +protection +protection's +protections +protective +protectively +protectiveness +protectiveness's +protector +protector's +protectorate +protectorate's +protectorates +protectors +protects +protein +protein's +proteins +protest +protest's +protestant +protestants +protestation +protestation's +protestations +protested +protester +protester's +protesters +protesting +protestor +protestor's +protestors +protests +protocol +protocol's +protocols +proton +proton's +protons +protoplasm +protoplasm's +protoplasmic +prototype +prototype's +prototypes +prototyping +protozoa +protozoan +protozoan's +protozoans +protozoon +protozoon's +protract +protracted +protracting +protraction +protraction's +protractor +protractor's +protractors +protracts +protrude +protruded +protrudes +protruding +protrusion +protrusion's +protrusions +protuberance +protuberance's +protuberances +protuberant +proud +prouder +proudest +proudly +provable +provably +prove +proved +proven +provenance +provenance's +provender +provender's +proverb +proverb's +proverbial +proverbially +proverbs +proves +provide +provided +providence +providence's +provident +providential +providentially +providently +provider +provider's +providers +provides +providing +province +province's +provinces +provincial +provincial's +provincialism +provincialism's +provincials +proving +provision +provision's +provisional +provisionally +provisioned +provisioning +provisions +proviso +proviso's +provisoes +provisos +provocation +provocation's +provocations +provocative +provocatively +provoke +provoked +provokes +provoking +provost +provost's +provosts +prow +prow's +prowess +prowess's +prowl +prowl's +prowled +prowler +prowler's +prowlers +prowling +prowls +prows +proxies +proximity +proximity's +proxy +proxy's +prude +prude's +prudence +prudence's +prudent +prudential +prudently +prudery +prudery's +prudes +prudish +prudishly +prune +prune's +pruned +prunes +pruning +prurience +prurience's +prurient +pry +pry's +prying +psalm +psalm's +psalmist +psalmist's +psalmists +psalms +pseudo +pseudonym +pseudonym's +pseudonyms +pshaw +pshaw's +pshaws +psoriasis +psoriasis's +psst +psych +psych's +psyche +psyche's +psyched +psychedelic +psychedelic's +psychedelics +psyches +psychiatric +psychiatrist +psychiatrist's +psychiatrists +psychiatry +psychiatry's +psychic +psychic's +psychical +psychically +psychics +psyching +psycho +psycho's +psychoanalysis +psychoanalysis's +psychoanalyst +psychoanalyst's +psychoanalysts +psychoanalyze +psychoanalyzed +psychoanalyzes +psychoanalyzing +psychobabble +psychobabble's +psychogenic +psychokinesis +psychological +psychologically +psychologies +psychologist +psychologist's +psychologists +psychology +psychology's +psychopath +psychopath's +psychopathic +psychopaths +psychos +psychoses +psychosis +psychosis's +psychosomatic +psychotherapies +psychotherapist +psychotherapist's +psychotherapists +psychotherapy +psychotherapy's +psychotic +psychotic's +psychotics +psychs +ptarmigan +ptarmigan's +ptarmigans +pterodactyl +pterodactyl's +pterodactyls +ptomaine +ptomaine's +ptomaines +pub +pub's +puberty +puberty's +pubescence +pubescence's +pubescent +pubic +public +public's +publican +publican's +publicans +publication +publication's +publications +publicist +publicist's +publicists +publicity +publicity's +publicize +publicized +publicizes +publicizing +publicly +publish +publishable +published +publisher +publisher's +publishers +publishes +publishing +publishing's +pubs +puck +puck's +pucker +pucker's +puckered +puckering +puckers +puckish +pucks +pudding +pudding's +puddings +puddle +puddle's +puddled +puddles +puddling +pudgier +pudgiest +pudgy +pueblo +pueblo's +pueblos +puerile +puerility +puerility's +puff +puff's +puffball +puffball's +puffballs +puffed +puffer +puffier +puffiest +puffin +puffin's +puffiness +puffiness's +puffing +puffins +puffs +puffy +pug +pug's +pugilism +pugilism's +pugilist +pugilist's +pugilistic +pugilists +pugnacious +pugnaciously +pugnacity +pugnacity's +pugs +puke +puke's +puked +pukes +puking +pulchritude +pulchritude's +pull +pull's +pullback +pullback's +pullbacks +pulled +puller +puller's +pullers +pullet +pullet's +pullets +pulley +pulley's +pulleys +pulling +pullout +pullout's +pullouts +pullover +pullover's +pullovers +pulls +pulmonary +pulp +pulp's +pulped +pulpier +pulpiest +pulping +pulpit +pulpit's +pulpits +pulps +pulpy +pulsar +pulsar's +pulsars +pulsate +pulsated +pulsates +pulsating +pulsation +pulsation's +pulsations +pulse +pulse's +pulsed +pulses +pulsing +pulverization +pulverization's +pulverize +pulverized +pulverizes +pulverizing +puma +puma's +pumas +pumice +pumice's +pumices +pummel +pummeled +pummeling +pummelled +pummelling +pummels +pump +pump's +pumped +pumpernickel +pumpernickel's +pumping +pumpkin +pumpkin's +pumpkins +pumps +pun +pun's +punch +punch's +punched +punches +punchier +punchiest +punching +punchline +punchy +punctilious +punctiliously +punctual +punctuality +punctuality's +punctually +punctuate +punctuated +punctuates +punctuating +punctuation +punctuation's +puncture +puncture's +punctured +punctures +puncturing +pundit +pundit's +pundits +pungency +pungency's +pungent +pungently +punier +puniest +punish +punishable +punished +punishes +punishing +punishment +punishment's +punishments +punitive +punk +punk's +punker +punkest +punks +punned +punning +puns +punster +punster's +punsters +punt +punt's +punted +punter +punter's +punters +punting +punts +puny +pup +pup's +pupa +pupa's +pupae +pupal +pupas +pupil +pupil's +pupils +pupped +puppet +puppet's +puppeteer +puppeteer's +puppeteers +puppetry +puppetry's +puppets +puppies +pupping +puppy +puppy's +pups +purblind +purchasable +purchase +purchase's +purchased +purchaser +purchaser's +purchasers +purchases +purchasing +pure +purebred +purebred's +purebreds +puree +puree's +pureed +pureeing +purees +purely +pureness +pureness's +purer +purest +purgative +purgative's +purgatives +purgatorial +purgatories +purgatory +purgatory's +purge +purge's +purged +purges +purging +purification +purification's +purified +purifier +purifier's +purifiers +purifies +purify +purifying +purism +purism's +purist +purist's +purists +puritan +puritan's +puritanical +puritanically +puritanism +puritanism's +puritans +purity +purity's +purl +purl's +purled +purling +purloin +purloined +purloining +purloins +purls +purple +purple's +purpler +purples +purplest +purplish +purport +purport's +purported +purportedly +purporting +purports +purpose +purpose's +purposed +purposeful +purposefully +purposeless +purposely +purposes +purposing +purr +purr's +purred +purring +purrs +purse +purse's +pursed +purser +purser's +pursers +purses +pursing +pursuance +pursuance's +pursuant +pursue +pursued +pursuer +pursuer's +pursuers +pursues +pursuing +pursuit +pursuit's +pursuits +purulence +purulence's +purulent +purvey +purveyed +purveying +purveyor +purveyor's +purveyors +purveys +purview +purview's +pus +pus's +push +push's +pushcart +pushcart's +pushcarts +pushed +pusher +pusher's +pushers +pushes +pushier +pushiest +pushiness +pushiness's +pushing +pushover +pushover's +pushovers +pushup +pushup's +pushups +pushy +pusillanimity +pusillanimity's +pusillanimous +puss +puss's +pusses +pussier +pussies +pussiest +pussy +pussy's +pussycat +pussycat's +pussycats +pussyfoot +pussyfooted +pussyfooting +pussyfoots +pustule +pustule's +pustules +put +put's +putative +putrefaction +putrefaction's +putrefied +putrefies +putrefy +putrefying +putrescence +putrescence's +putrescent +putrid +puts +putsch +putsch's +putsches +putt +putt's +putted +putter +putter's +puttered +puttering +putters +puttied +putties +putting +putts +putty +putty's +puttying +puzzle +puzzle's +puzzled +puzzlement +puzzlement's +puzzler +puzzler's +puzzlers +puzzles +puzzling +pygmies +pygmy +pygmy's +pylon +pylon's +pylons +pyorrhea +pyorrhea's +pyramid +pyramid's +pyramidal +pyramided +pyramiding +pyramids +pyre +pyre's +pyres +pyrite +pyrite's +pyromania +pyromania's +pyromaniac +pyromaniac's +pyromaniacs +pyrotechnic +pyrotechnics +pyrotechnics's +python +python's +pythons +pyx +pyx's +pyxes +q +qua +quack +quack's +quacked +quackery +quackery's +quacking +quacks +quad +quad's +quadrangle +quadrangle's +quadrangles +quadrangular +quadrant +quadrant's +quadrants +quadraphonic +quadratic +quadrature +quadrennial +quadriceps +quadriceps's +quadricepses +quadrilateral +quadrilateral's +quadrilaterals +quadrille +quadrille's +quadrilles +quadriphonic +quadriplegia +quadriplegia's +quadriplegic +quadriplegic's +quadriplegics +quadruped +quadruped's +quadrupeds +quadruple +quadruple's +quadrupled +quadruples +quadruplet +quadruplet's +quadruplets +quadruplicate +quadruplicate's +quadruplicated +quadruplicates +quadruplicating +quadrupling +quads +quaff +quaff's +quaffed +quaffing +quaffs +quagmire +quagmire's +quagmires +quahaug +quahaug's +quahaugs +quahog +quahog's +quahogs +quail +quail's +quailed +quailing +quails +quaint +quainter +quaintest +quaintly +quaintness +quaintness's +quake +quake's +quaked +quakes +quaking +qualification +qualification's +qualifications +qualified +qualifier +qualifier's +qualifiers +qualifies +qualify +qualifying +qualitative +qualitatively +qualities +quality +quality's +qualm +qualm's +qualms +quandaries +quandary +quandary's +quanta +quantified +quantifier +quantifier's +quantifiers +quantifies +quantify +quantifying +quantitative +quantities +quantity +quantity's +quantum +quantum's +quarantine +quarantine's +quarantined +quarantines +quarantining +quark +quark's +quarks +quarrel +quarrel's +quarreled +quarreling +quarrelled +quarrelling +quarrels +quarrelsome +quarried +quarries +quarry +quarry's +quarrying +quart +quart's +quarter +quarter's +quarterback +quarterback's +quarterbacked +quarterbacking +quarterbacks +quarterdeck +quarterdeck's +quarterdecks +quartered +quarterfinal +quarterfinal's +quarterfinals +quartering +quarterlies +quarterly +quarterly's +quartermaster +quartermaster's +quartermasters +quarters +quartet +quartet's +quartets +quartette +quartette's +quartettes +quarto +quarto's +quartos +quarts +quartz +quartz's +quasar +quasar's +quasars +quash +quashed +quashes +quashing +quasi +quatrain +quatrain's +quatrains +quaver +quaver's +quavered +quavering +quavers +quavery +quay +quay's +quays +queasier +queasiest +queasily +queasiness +queasiness's +queasy +queen +queen's +queened +queening +queenlier +queenliest +queenly +queens +queer +queer's +queered +queerer +queerest +queering +queerly +queerness +queerness's +queers +quell +quelled +quelling +quells +quench +quenched +quenches +quenching +queried +queries +querulous +querulously +query +query's +querying +quest +quest's +quested +questing +question +question's +questionable +questionably +questioned +questioner +questioner's +questioners +questioning +questioningly +questionnaire +questionnaire's +questionnaires +questions +quests +queue +queue's +queued +queues +queuing +quibble +quibble's +quibbled +quibbler +quibbler's +quibblers +quibbles +quibbling +quiche +quiche's +quiches +quick +quick's +quicken +quickened +quickening +quickens +quicker +quickest +quickie +quickie's +quickies +quicklime +quicklime's +quickly +quickness +quickness's +quicksand +quicksand's +quicksands +quicksilver +quicksilver's +quid +quid's +quids +quiescence +quiescence's +quiescent +quiet +quiet's +quieted +quieter +quietest +quieting +quietly +quietness +quietness's +quiets +quietude +quietude's +quietus +quietus's +quietuses +quill +quill's +quills +quilt +quilt's +quilted +quilter +quilter's +quilters +quilting +quilting's +quilts +quince +quince's +quinces +quinine +quinine's +quintessence +quintessence's +quintessences +quintessential +quintet +quintet's +quintets +quintuple +quintuple's +quintupled +quintuples +quintuplet +quintuplet's +quintuplets +quintupling +quip +quip's +quipped +quipping +quips +quire +quire's +quires +quirk +quirk's +quirked +quirkier +quirkiest +quirking +quirks +quirky +quisling +quisling's +quislings +quit +quite +quits +quitted +quitter +quitter's +quitters +quitting +quiver +quiver's +quivered +quivering +quivers +quixotic +quiz +quiz's +quizzed +quizzes +quizzical +quizzically +quizzing +quoit +quoit's +quoited +quoiting +quoits +quondam +quorum +quorum's +quorums +quota +quota's +quotable +quotas +quotation +quotation's +quotations +quote +quote's +quoted +quotes +quoth +quotidian +quotient +quotient's +quotients +quoting +r +rabbi +rabbi's +rabbinate +rabbinate's +rabbinical +rabbis +rabbit +rabbit's +rabbited +rabbiting +rabbits +rabble +rabble's +rabbles +rabid +rabies +rabies's +raccoon +raccoon's +raccoons +race +race's +racecourse +racecourse's +racecourses +raced +racehorse +racehorse's +racehorses +raceme +raceme's +racemes +racer +racer's +racers +races +racetrack +racetrack's +racetracks +raceway +raceway's +raceways +racial +racially +racier +raciest +racily +raciness +raciness's +racing +racing's +racism +racism's +racist +racist's +racists +rack +rack's +racked +racket +racket's +racketed +racketeer +racketeer's +racketeered +racketeering +racketeering's +racketeers +racketing +rackets +racking +racks +raconteur +raconteur's +raconteurs +racoon +racoon's +racoons +racquet +racquet's +racquetball +racquetball's +racquetballs +racquets +racy +radar +radar's +radars +radial +radial's +radially +radials +radiance +radiance's +radiant +radiantly +radiate +radiated +radiates +radiating +radiation +radiation's +radiations +radiator +radiator's +radiators +radical +radical's +radicalism +radicalism's +radically +radicals +radii +radio +radio's +radioactive +radioactivity +radioactivity's +radioed +radiogram +radiogram's +radiograms +radioing +radioisotope +radioisotope's +radioisotopes +radiologist +radiologist's +radiologists +radiology +radiology's +radios +radiotelephone +radiotelephone's +radiotelephones +radiotherapist +radiotherapist's +radiotherapists +radiotherapy +radiotherapy's +radish +radish's +radishes +radium +radium's +radius +radius's +radiuses +radon +radon's +raffia +raffia's +raffish +raffle +raffle's +raffled +raffles +raffling +raft +raft's +rafted +rafter +rafter's +rafters +rafting +rafts +rag +rag's +raga +raga's +ragamuffin +ragamuffin's +ragamuffins +ragas +rage +rage's +raged +rages +ragged +raggeder +raggedest +raggedier +raggediest +raggedly +raggedness +raggedness's +raggedy +ragging +raging +raglan +raglan's +raglans +ragout +ragout's +ragouts +rags +ragtag +ragtags +ragtime +ragtime's +ragweed +ragweed's +raid +raid's +raided +raider +raider's +raiders +raiding +raids +rail +rail's +railed +railing +railing's +railings +railleries +raillery +raillery's +railroad +railroad's +railroaded +railroading +railroads +rails +railway +railway's +railways +raiment +raiment's +rain +rain's +rainbow +rainbow's +rainbows +raincoat +raincoat's +raincoats +raindrop +raindrop's +raindrops +rained +rainfall +rainfall's +rainfalls +rainforest +rainier +rainiest +raining +rainmaker +rainmaker's +rainmakers +rains +rainstorm +rainstorm's +rainstorms +rainwater +rainwater's +rainy +raise +raise's +raised +raises +raisin +raisin's +raising +raisins +raja +raja's +rajah +rajah's +rajahs +rajas +rake +rake's +raked +rakes +raking +rakish +rakishly +rakishness +rakishness's +rallied +rallies +rally +rally's +rallying +ram +ram's +ramble +ramble's +rambled +rambler +rambler's +ramblers +rambles +rambling +rambunctious +rambunctiousness +rambunctiousness's +ramification +ramification's +ramifications +ramified +ramifies +ramify +ramifying +rammed +ramming +ramp +ramp's +rampage +rampage's +rampaged +rampages +rampaging +rampant +rampantly +rampart +rampart's +ramparts +ramps +ramrod +ramrod's +ramrodded +ramrodding +ramrods +rams +ramshackle +ran +ranch +ranch's +ranched +rancher +rancher's +ranchers +ranches +ranching +ranching's +rancid +rancidity +rancidity's +rancor +rancor's +rancorous +rancorously +randier +randiest +random +randomize +randomized +randomizes +randomizing +randomly +randomness +randomness's +randy +rang +range +range's +ranged +ranger +ranger's +rangers +ranges +rangier +rangiest +ranginess +ranginess's +ranging +rangy +rank +rank's +ranked +ranker +rankest +ranking +ranking's +rankings +rankle +rankled +rankles +rankling +rankness +rankness's +ranks +ransack +ransacked +ransacking +ransacks +ransom +ransom's +ransomed +ransoming +ransoms +rant +rant's +ranted +ranter +ranting +rants +rap +rap's +rapacious +rapaciously +rapaciousness +rapaciousness's +rapacity +rapacity's +rape +rape's +raped +rapes +rapid +rapid's +rapider +rapidest +rapidity +rapidity's +rapidly +rapids +rapier +rapier's +rapiers +rapine +rapine's +raping +rapist +rapist's +rapists +rapped +rapper +rapper's +rappers +rapping +rapport +rapport's +rapports +rapprochement +rapprochement's +rapprochements +raps +rapscallion +rapscallion's +rapscallions +rapt +rapture +rapture's +raptures +rapturous +rare +rared +rarefied +rarefies +rarefy +rarefying +rarely +rareness +rareness's +rarer +rares +rarest +raring +rarities +rarity +rarity's +rascal +rascal's +rascally +rascals +rash +rash's +rasher +rasher's +rashers +rashes +rashest +rashly +rashness +rashness's +rasp +rasp's +raspberries +raspberry +raspberry's +rasped +raspier +raspiest +rasping +rasps +raspy +raster +rat +rat's +ratchet +ratchet's +ratcheted +ratcheting +ratchets +rate +rate's +rated +rates +rather +rathskeller +rathskeller's +rathskellers +ratification +ratification's +ratified +ratifies +ratify +ratifying +rating +rating's +ratings +ratio +ratio's +ration +ration's +rational +rational's +rationale +rationale's +rationales +rationalism +rationalism's +rationalist +rationalist's +rationalistic +rationalists +rationality +rationality's +rationalization +rationalization's +rationalizations +rationalize +rationalized +rationalizes +rationalizing +rationally +rationals +rationed +rationing +rations +ratios +rats +rattan +rattan's +rattans +ratted +rattier +rattiest +ratting +rattle +rattle's +rattled +rattler +rattler's +rattlers +rattles +rattlesnake +rattlesnake's +rattlesnakes +rattletrap +rattletrap's +rattletraps +rattling +rattlings +rattrap +rattrap's +rattraps +ratty +raucous +raucously +raucousness +raucousness's +raunchier +raunchiest +raunchiness +raunchiness's +raunchy +ravage +ravage's +ravaged +ravages +ravaging +rave +rave's +raved +ravel +ravel's +raveled +raveling +ravelled +ravelling +ravels +raven +raven's +ravened +ravening +ravenous +ravenously +ravens +raves +ravine +ravine's +ravines +raving +raving's +ravings +ravioli +ravioli's +raviolis +ravish +ravished +ravishes +ravishing +ravishingly +ravishment +ravishment's +raw +raw's +rawboned +rawer +rawest +rawhide +rawhide's +rawness +rawness's +ray +ray's +rayon +rayon's +rays +raze +razed +razes +razing +razor +razor's +razors +razz +razz's +razzed +razzes +razzing +re +re's +reach +reach's +reachable +reached +reaches +reaching +react +reacted +reacting +reaction +reaction's +reactionaries +reactionary +reactionary's +reactions +reactivate +reactivated +reactivates +reactivating +reactivation +reactivation's +reactive +reactor +reactor's +reactors +reacts +read +read's +readabilities +readability +readability's +readable +reader +reader's +readers +readership +readership's +readerships +readied +readier +readies +readiest +readily +readiness +readiness's +reading +reading's +readings +readjust +readjusted +readjusting +readjustment +readjustment's +readjustments +readjusts +readmit +readmits +readmitted +readmitting +readout +readout's +readouts +reads +ready +readying +reaffirm +reaffirmed +reaffirming +reaffirms +reagent +reagent's +reagents +real +real's +realer +reales +realest +realign +realism +realism's +realist +realist's +realistic +realistically +realists +realities +reality +reality's +realizable +realization +realization's +realize +realized +realizes +realizing +reallocate +reallocated +reallocates +reallocating +reallocation +really +realm +realm's +realms +reals +realtor +realtor's +realtors +realty +realty's +ream +ream's +reamed +reamer +reamer's +reamers +reaming +reams +reanimate +reanimated +reanimates +reanimating +reap +reaped +reaper +reaper's +reapers +reaping +reappear +reappearance +reappearance's +reappearances +reappeared +reappearing +reappears +reapplied +reapplies +reapply +reapplying +reappoint +reappointed +reappointing +reappointment +reappointment's +reappoints +reapportion +reapportioned +reapportioning +reapportionment +reapportionment's +reapportions +reappraisal +reappraisal's +reappraisals +reappraise +reappraised +reappraises +reappraising +reaps +rear +rear's +reared +rearing +rearm +rearmament +rearmament's +rearmed +rearming +rearmost +rearms +rearrange +rearranged +rearrangement +rearrangement's +rearrangements +rearranges +rearranging +rears +rearward +rearwards +reason +reason's +reasonable +reasonableness +reasonableness's +reasonably +reasoned +reasoning +reasoning's +reasons +reassemble +reassembled +reassembles +reassembling +reassert +reasserted +reasserting +reasserts +reassess +reassessed +reassesses +reassessing +reassessment +reassessment's +reassessments +reassign +reassigned +reassigning +reassigns +reassurance +reassurance's +reassurances +reassure +reassured +reassures +reassuring +reassuringly +reawaken +reawakened +reawakening +reawakens +rebate +rebate's +rebated +rebates +rebating +rebel +rebel's +rebelled +rebelling +rebellion +rebellion's +rebellions +rebellious +rebelliously +rebelliousness +rebelliousness's +rebels +rebind +rebinding +rebinds +rebirth +rebirth's +rebirths +reborn +rebound +rebound's +rebounded +rebounding +rebounds +rebroadcast +rebroadcast's +rebroadcasted +rebroadcasting +rebroadcasts +rebuff +rebuff's +rebuffed +rebuffing +rebuffs +rebuild +rebuilding +rebuilds +rebuilt +rebuke +rebuke's +rebuked +rebukes +rebuking +rebus +rebus's +rebuses +rebut +rebuts +rebuttal +rebuttal's +rebuttals +rebutted +rebutting +recalcitrance +recalcitrance's +recalcitrant +recall +recall's +recalled +recalling +recalls +recant +recantation +recantation's +recantations +recanted +recanting +recants +recap +recap's +recapitulate +recapitulated +recapitulates +recapitulating +recapitulation +recapitulation's +recapitulations +recapped +recapping +recaps +recapture +recapture's +recaptured +recaptures +recapturing +recast +recast's +recasting +recasts +recede +receded +recedes +receding +receipt +receipt's +receipted +receipting +receipts +receivable +receive +received +receiver +receiver's +receivers +receivership +receivership's +receives +receiving +recent +recenter +recentest +recently +receptacle +receptacle's +receptacles +reception +reception's +receptionist +receptionist's +receptionists +receptions +receptive +receptively +receptiveness +receptiveness's +receptivity +receptivity's +receptor +receptor's +receptors +recess +recess's +recessed +recesses +recessing +recession +recession's +recessional +recessional's +recessionals +recessions +recessive +recessive's +recessives +recharge +recharge's +rechargeable +recharged +recharges +recharging +recheck +recheck's +rechecked +rechecking +rechecks +recidivism +recidivism's +recidivist +recidivist's +recidivists +recipe +recipe's +recipes +recipient +recipient's +recipients +reciprocal +reciprocal's +reciprocally +reciprocals +reciprocate +reciprocated +reciprocates +reciprocating +reciprocation +reciprocation's +reciprocity +reciprocity's +recital +recital's +recitals +recitation +recitation's +recitations +recitative +recitative's +recitatives +recite +recited +recites +reciting +reckless +recklessly +recklessness +recklessness's +reckon +reckoned +reckoning +reckoning's +reckonings +reckons +reclaim +reclaimed +reclaiming +reclaims +reclamation +reclamation's +reclassified +reclassifies +reclassify +reclassifying +recline +reclined +recliner +recliner's +recliners +reclines +reclining +recluse +recluse's +recluses +reclusive +recognition +recognition's +recognizable +recognizably +recognizance +recognizance's +recognize +recognized +recognizer +recognizes +recognizing +recoil +recoil's +recoiled +recoiling +recoils +recollect +recollected +recollecting +recollection +recollection's +recollections +recollects +recombination +recombine +recombined +recombines +recombining +recommence +recommenced +recommences +recommencing +recommend +recommendation +recommendation's +recommendations +recommended +recommending +recommends +recompense +recompense's +recompensed +recompenses +recompensing +recompilation +recompile +recompiled +recompiling +reconcilable +reconcile +reconciled +reconciles +reconciliation +reconciliation's +reconciliations +reconciling +recondite +recondition +reconditioned +reconditioning +reconditions +reconfiguration +reconfigure +reconfigured +reconnaissance +reconnaissance's +reconnaissances +reconnect +reconnected +reconnecting +reconnects +reconnoiter +reconnoitered +reconnoitering +reconnoiters +reconquer +reconquered +reconquering +reconquers +reconsider +reconsideration +reconsideration's +reconsidered +reconsidering +reconsiders +reconstitute +reconstituted +reconstitutes +reconstituting +reconstruct +reconstructed +reconstructing +reconstruction +reconstruction's +reconstructions +reconstructs +reconvene +reconvened +reconvenes +reconvening +recopied +recopies +recopy +recopying +record +record's +recorded +recorder +recorder's +recorders +recording +recording's +recordings +records +recount +recount's +recounted +recounting +recounts +recoup +recouped +recouping +recoups +recourse +recourse's +recover +recoverable +recovered +recoveries +recovering +recovers +recovery +recovery's +recreant +recreant's +recreants +recreate +recreated +recreates +recreating +recreation +recreation's +recreational +recreations +recriminate +recriminated +recriminates +recriminating +recrimination +recrimination's +recriminations +recrudescence +recrudescence's +recruit +recruit's +recruited +recruiter +recruiter's +recruiters +recruiting +recruitment +recruitment's +recruits +recta +rectal +rectangle +rectangle's +rectangles +rectangular +rectifiable +rectification +rectification's +rectifications +rectified +rectifier +rectifier's +rectifiers +rectifies +rectify +rectifying +rectilinear +rectitude +rectitude's +rector +rector's +rectories +rectors +rectory +rectory's +rectum +rectum's +rectums +recumbent +recuperate +recuperated +recuperates +recuperating +recuperation +recuperation's +recuperative +recur +recurred +recurrence +recurrence's +recurrences +recurrent +recurring +recurs +recursion +recursive +recursively +recyclable +recyclable's +recyclables +recycle +recycle's +recycled +recycles +recycling +recycling's +red +red's +redbreast +redbreast's +redbreasts +redcap +redcap's +redcaps +redcoat +redcoat's +redcoats +redden +reddened +reddening +reddens +redder +reddest +reddish +redecorate +redecorated +redecorates +redecorating +rededicate +rededicated +rededicates +rededicating +redeem +redeemable +redeemed +redeemer +redeemer's +redeemers +redeeming +redeems +redefine +redefined +redefines +redefining +redefinition +redemption +redemption's +redeploy +redeployed +redeploying +redeployment +redeployment's +redeploys +redesign +redesigned +redesigning +redesigns +redevelop +redeveloped +redeveloping +redevelopment +redevelopment's +redevelopments +redevelops +redhead +redhead's +redheaded +redheads +redid +redirect +redirected +redirecting +redirection +redirects +rediscover +rediscovered +rediscovering +rediscovers +rediscovery +rediscovery's +redistribute +redistributed +redistributes +redistributing +redistribution +redistribution's +redistrict +redistricted +redistricting +redistricts +redneck +redneck's +rednecks +redness +redness's +redo +redoes +redoing +redolence +redolence's +redolent +redone +redouble +redoubled +redoubles +redoubling +redoubt +redoubt's +redoubtable +redoubts +redound +redounded +redounding +redounds +redraft +redrafted +redrafting +redrafts +redraw +redrawing +redrawn +redraws +redress +redress's +redressed +redresses +redressing +redrew +reds +redskin +redskin's +redskins +reduce +reduced +reduces +reducing +reduction +reduction's +reductions +redundancies +redundancy +redundancy's +redundant +redundantly +redwood +redwood's +redwoods +reed +reed's +reedier +reediest +reeds +reeducate +reeducated +reeducates +reeducating +reeducation +reeducation's +reedy +reef +reef's +reefed +reefer +reefer's +reefers +reefing +reefs +reek +reek's +reeked +reeking +reeks +reel +reel's +reelect +reelected +reelecting +reelection +reelection's +reelections +reelects +reeled +reeling +reels +reemerge +reemerged +reemerges +reemerging +reemphasize +reemphasized +reemphasizes +reemphasizing +reenact +reenacted +reenacting +reenactment +reenactment's +reenactments +reenacts +reenforce +reenforced +reenforces +reenforcing +reenlist +reenlisted +reenlisting +reenlists +reenter +reentered +reentering +reenters +reentries +reentry +reentry's +reestablish +reestablished +reestablishes +reestablishing +reevaluate +reevaluated +reevaluates +reevaluating +reeve +reeved +reeves +reeving +reexamine +reexamined +reexamines +reexamining +ref +ref's +refashion +refashioned +refashioning +refashions +refectories +refectory +refectory's +refer +referee +referee's +refereed +refereeing +referees +reference +reference's +referenced +references +referencing +referenda +referendum +referendum's +referendums +referent +referential +referral +referral's +referrals +referred +referring +refers +reffed +reffing +refile +refiled +refiles +refiling +refill +refill's +refillable +refilled +refilling +refills +refinance +refinanced +refinances +refinancing +refine +refined +refinement +refinement's +refinements +refiner +refiner's +refineries +refiners +refinery +refinery's +refines +refining +refinish +refinished +refinishes +refinishing +refit +refit's +refits +refitted +refitting +reflect +reflected +reflecting +reflection +reflection's +reflections +reflective +reflector +reflector's +reflectors +reflects +reflex +reflex's +reflexes +reflexive +reflexive's +reflexively +reflexives +refocus +refocused +refocuses +refocusing +refocussed +refocusses +refocussing +reforest +reforestation +reforestation's +reforested +reforesting +reforests +reform +reform's +reformat +reformation +reformation's +reformations +reformatories +reformatory +reformatory's +reformatted +reformatting +reformed +reformer +reformer's +reformers +reforming +reforms +reformulate +reformulated +reformulates +reformulating +refract +refracted +refracting +refraction +refraction's +refractories +refractory +refractory's +refracts +refrain +refrain's +refrained +refraining +refrains +refresh +refreshed +refresher +refresher's +refreshers +refreshes +refreshing +refreshingly +refreshment +refreshment's +refreshments +refreshments's +refrigerant +refrigerant's +refrigerants +refrigerate +refrigerated +refrigerates +refrigerating +refrigeration +refrigeration's +refrigerator +refrigerator's +refrigerators +refs +refuel +refueled +refueling +refuelled +refuelling +refuels +refuge +refuge's +refugee +refugee's +refugees +refuges +refulgence +refulgence's +refulgent +refund +refund's +refundable +refunded +refunding +refunds +refurbish +refurbished +refurbishes +refurbishing +refurbishment +refurbishment's +refurbishments +refurnish +refurnished +refurnishes +refurnishing +refusal +refusal's +refusals +refuse +refuse's +refused +refuses +refusing +refutation +refutation's +refutations +refute +refuted +refutes +refuting +regain +regained +regaining +regains +regal +regale +regaled +regales +regalia +regalia's +regaling +regally +regard +regard's +regarded +regarding +regardless +regards +regards's +regatta +regatta's +regattas +regencies +regency +regency's +regenerate +regenerated +regenerates +regenerating +regeneration +regeneration's +regenerative +regent +regent's +regents +reggae +reggae's +regicide +regicide's +regicides +regime +regime's +regimen +regimen's +regimens +regiment +regiment's +regimental +regimentation +regimentation's +regimented +regimenting +regiments +regimes +region +region's +regional +regionalism +regionalism's +regionalisms +regionally +regions +register +register's +registered +registering +registers +registrant +registrant's +registrants +registrar +registrar's +registrars +registration +registration's +registrations +registries +registry +registry's +regress +regress's +regressed +regresses +regressing +regression +regression's +regressions +regressive +regret +regret's +regretful +regretfully +regrets +regrettable +regrettably +regretted +regretting +regroup +regrouped +regrouping +regroups +regular +regular's +regularity +regularity's +regularize +regularized +regularizes +regularizing +regularly +regulars +regulate +regulated +regulates +regulating +regulation +regulation's +regulations +regulator +regulator's +regulators +regulatory +regurgitate +regurgitated +regurgitates +regurgitating +regurgitation +regurgitation's +rehab +rehab's +rehabbed +rehabbing +rehabilitate +rehabilitated +rehabilitates +rehabilitating +rehabilitation +rehabilitation's +rehabs +rehash +rehash's +rehashed +rehashes +rehashing +rehearsal +rehearsal's +rehearsals +rehearse +rehearsed +rehearses +rehearsing +reheat +reheated +reheating +reheats +rehire +rehired +rehires +rehiring +reign +reign's +reigned +reigning +reigns +reimburse +reimbursed +reimbursement +reimbursement's +reimbursements +reimburses +reimbursing +reimpose +reimposed +reimposes +reimposing +rein +rein's +reincarnate +reincarnated +reincarnates +reincarnating +reincarnation +reincarnation's +reincarnations +reindeer +reindeer's +reindeers +reined +reinforce +reinforced +reinforcement +reinforcement's +reinforcements +reinforces +reinforcing +reining +reinitialize +reinitialized +reins +reinsert +reinserted +reinserting +reinserts +reinstate +reinstated +reinstatement +reinstatement's +reinstates +reinstating +reinterpret +reinterpretation +reinterpretation's +reinterpretations +reinterpreted +reinterpreting +reinterprets +reinvent +reinvented +reinventing +reinvents +reinvest +reinvested +reinvesting +reinvests +reis +reissue +reissue's +reissued +reissues +reissuing +reiterate +reiterated +reiterates +reiterating +reiteration +reiteration's +reiterations +reject +reject's +rejected +rejecting +rejection +rejection's +rejections +rejects +rejoice +rejoiced +rejoices +rejoicing +rejoicing's +rejoicings +rejoin +rejoinder +rejoinder's +rejoinders +rejoined +rejoining +rejoins +rejuvenate +rejuvenated +rejuvenates +rejuvenating +rejuvenation +rejuvenation's +rekindle +rekindled +rekindles +rekindling +relabel +relabeled +relabeling +relabelled +relabelling +relabels +relaid +relapse +relapse's +relapsed +relapses +relapsing +relate +related +relates +relating +relation +relation's +relational +relations +relationship +relationship's +relationships +relative +relative's +relatively +relatives +relativistic +relativity +relativity's +relax +relaxant +relaxant's +relaxants +relaxation +relaxation's +relaxations +relaxed +relaxes +relaxing +relay +relay's +relayed +relaying +relays +relearn +relearned +relearning +relearns +releasable +release +release's +released +releases +releasing +relegate +relegated +relegates +relegating +relegation +relegation's +relent +relented +relenting +relentless +relentlessly +relentlessness +relentlessness's +relents +relevance +relevance's +relevancy +relevancy's +relevant +relevantly +reliability +reliability's +reliable +reliably +reliance +reliance's +reliant +relic +relic's +relics +relied +relief +relief's +reliefs +relies +relieve +relieved +relieves +relieving +religion +religion's +religions +religious +religious's +religiously +relinquish +relinquished +relinquishes +relinquishing +relinquishment +relinquishment's +relish +relish's +relished +relishes +relishing +relive +relived +relives +reliving +reload +reloaded +reloading +reloads +relocatable +relocate +relocated +relocates +relocating +relocation +relocation's +reluctance +reluctance's +reluctant +reluctantly +rely +relying +remade +remain +remainder +remainder's +remaindered +remainders +remained +remaining +remains +remake +remake's +remakes +remaking +remand +remanded +remanding +remands +remark +remark's +remarkable +remarkably +remarked +remarking +remarks +remarriage +remarriage's +remarriages +remarried +remarries +remarry +remarrying +rematch +rematch's +rematches +remediable +remedial +remedied +remedies +remedy +remedy's +remedying +remember +remembered +remembering +remembers +remembrance +remembrance's +remembrances +remind +reminded +reminder +reminder's +reminders +reminding +reminds +reminisce +reminisced +reminiscence +reminiscence's +reminiscences +reminiscent +reminisces +reminiscing +remiss +remission +remission's +remissions +remissness +remissness's +remit +remits +remittance +remittance's +remittances +remitted +remitting +remnant +remnant's +remnants +remodel +remodeled +remodeling +remodelled +remodelling +remodels +remonstrance +remonstrance's +remonstrances +remonstrate +remonstrated +remonstrates +remonstrating +remorse +remorse's +remorseful +remorsefully +remorseless +remorselessly +remote +remote's +remotely +remoteness +remoteness's +remoter +remotes +remotest +remount +remount's +remounted +remounting +remounts +removable +removal +removal's +removals +remove +remove's +removed +remover +remover's +removers +removes +removing +remunerate +remunerated +remunerates +remunerating +remuneration +remuneration's +remunerations +remunerative +renaissance +renaissance's +renaissances +renal +rename +renamed +renames +renaming +renascence +renascence's +renascences +renascent +rend +render +render's +rendered +rendering +rendering's +renderings +renders +rendezvous +rendezvous's +rendezvoused +rendezvouses +rendezvousing +rending +rendition +rendition's +renditions +rends +renegade +renegade's +renegaded +renegades +renegading +renege +reneged +reneges +reneging +renegotiate +renegotiated +renegotiates +renegotiating +renew +renewable +renewal +renewal's +renewals +renewed +renewing +renews +rennet +rennet's +renounce +renounced +renounces +renouncing +renovate +renovated +renovates +renovating +renovation +renovation's +renovations +renovator +renovator's +renovators +renown +renown's +renowned +rent +rent's +rental +rental's +rentals +rented +renter +renter's +renters +renting +rents +renumber +renumbered +renumbering +renumbers +renunciation +renunciation's +renunciations +reoccupied +reoccupies +reoccupy +reoccupying +reoccur +reoccurred +reoccurring +reoccurs +reopen +reopened +reopening +reopens +reorder +reorder's +reordered +reordering +reorders +reorganization +reorganization's +reorganizations +reorganize +reorganized +reorganizes +reorganizing +rep +rep's +repackage +repackaged +repackages +repackaging +repaid +repaint +repainted +repainting +repaints +repair +repair's +repairable +repaired +repairing +repairman +repairman's +repairmen +repairs +reparation +reparation's +reparations +reparations's +repartee +repartee's +repast +repast's +repasts +repatriate +repatriate's +repatriated +repatriates +repatriating +repatriation +repatriation's +repay +repayable +repaying +repayment +repayment's +repayments +repays +repeal +repeal's +repealed +repealing +repeals +repeat +repeat's +repeatable +repeatably +repeated +repeatedly +repeater +repeater's +repeaters +repeating +repeats +repel +repellant +repellant's +repellants +repelled +repellent +repellent's +repellents +repelling +repels +repent +repentance +repentance's +repentant +repented +repenting +repents +repercussion +repercussion's +repercussions +repertoire +repertoire's +repertoires +repertories +repertory +repertory's +repetition +repetition's +repetitions +repetitious +repetitive +rephrase +rephrased +rephrases +rephrasing +replace +replaceable +replaced +replacement +replacement's +replacements +replaces +replacing +replay +replay's +replayed +replaying +replays +replenish +replenished +replenishes +replenishing +replenishment +replenishment's +replete +repleted +repletes +repleting +repletion +repletion's +replica +replica's +replicas +replicate +replicated +replicates +replicating +replication +replication's +replications +replied +replies +reply +reply's +replying +report +report's +reportage +reportage's +reported +reportedly +reporter +reporter's +reporters +reporting +reports +repose +repose's +reposed +reposeful +reposes +reposing +repositories +repository +repository's +repossess +repossessed +repossesses +repossessing +repossession +repossession's +repossessions +reprehend +reprehended +reprehending +reprehends +reprehensible +reprehensibly +represent +representation +representation's +representational +representations +representative +representative's +representatives +represented +representing +represents +repress +repressed +represses +repressing +repression +repression's +repressions +repressive +reprieve +reprieve's +reprieved +reprieves +reprieving +reprimand +reprimand's +reprimanded +reprimanding +reprimands +reprint +reprint's +reprinted +reprinting +reprints +reprisal +reprisal's +reprisals +reprise +reprise's +reprises +reprising +reprized +reproach +reproach's +reproached +reproaches +reproachful +reproachfully +reproaching +reprobate +reprobate's +reprobates +reprocess +reprocessed +reprocesses +reprocessing +reproduce +reproduced +reproduces +reproducible +reproducing +reproduction +reproduction's +reproductions +reproductive +reprogram +reprogramed +reprograming +reprogrammed +reprogramming +reprograms +reproof +reproof's +reproofed +reproofing +reproofs +reprove +reproved +reproves +reproving +reps +reptile +reptile's +reptiles +reptilian +reptilian's +reptilians +republic +republic's +republican +republican's +republicanism +republicanism's +republicans +republics +republish +republished +republishes +republishing +repudiate +repudiated +repudiates +repudiating +repudiation +repudiation's +repudiations +repugnance +repugnance's +repugnant +repulse +repulse's +repulsed +repulses +repulsing +repulsion +repulsion's +repulsive +repulsively +repulsiveness +repulsiveness's +reputable +reputably +reputation +reputation's +reputations +repute +repute's +reputed +reputedly +reputes +reputing +request +request's +requested +requester +requesting +requests +requiem +requiem's +requiems +require +required +requirement +requirement's +requirements +requires +requiring +requisite +requisite's +requisites +requisition +requisition's +requisitioned +requisitioning +requisitions +requital +requital's +requite +requited +requites +requiting +reran +reread +rereading +rereads +reroute +rerouted +reroutes +rerouting +rerun +rerun's +rerunning +reruns +resale +resale's +resales +reschedule +rescheduled +reschedules +rescheduling +rescind +rescinded +rescinding +rescinds +rescission +rescission's +rescue +rescue's +rescued +rescuer +rescuer's +rescuers +rescues +rescuing +research +research's +researched +researcher +researcher's +researchers +researches +researching +resell +reselling +resells +resemblance +resemblance's +resemblances +resemble +resembled +resembles +resembling +resend +resent +resented +resentful +resentfully +resenting +resentment +resentment's +resentments +resents +reservation +reservation's +reservations +reserve +reserve's +reserved +reservedly +reserves +reserving +reservist +reservist's +reservists +reservoir +reservoir's +reservoirs +reset +reset's +resets +resetting +resettle +resettled +resettles +resettling +reshuffle +reshuffle's +reshuffled +reshuffles +reshuffling +reside +resided +residence +residence's +residences +residencies +residency +residency's +resident +resident's +residential +residents +resides +residing +residual +residual's +residuals +residue +residue's +residues +resign +resignation +resignation's +resignations +resigned +resignedly +resigning +resigns +resilience +resilience's +resiliency +resiliency's +resilient +resin +resin's +resinous +resins +resist +resist's +resistance +resistance's +resistances +resistant +resisted +resister +resister's +resisters +resisting +resistor +resistor's +resistors +resists +resold +resolute +resolutely +resoluteness +resoluteness's +resolution +resolution's +resolutions +resolve +resolve's +resolved +resolver +resolves +resolving +resonance +resonance's +resonances +resonant +resonantly +resonate +resonated +resonates +resonating +resonator +resonator's +resonators +resort +resort's +resorted +resorting +resorts +resound +resounded +resounding +resoundingly +resounds +resource +resource's +resourced +resourceful +resourcefully +resourcefulness +resourcefulness's +resources +resourcing +respect +respect's +respectability +respectability's +respectable +respectably +respected +respectful +respectfully +respecting +respective +respectively +respects +respell +respelled +respelling +respells +respelt +respiration +respiration's +respirator +respirator's +respirators +respiratory +respire +respired +respires +respiring +respite +respite's +respites +resplendence +resplendence's +resplendent +resplendently +respond +responded +respondent +respondent's +respondents +responding +responds +response +response's +responses +responsibilities +responsibility +responsibility's +responsible +responsibly +responsive +responsively +responsiveness +responsiveness's +rest +rest's +restart +restart's +restarted +restarting +restarts +restate +restated +restatement +restatement's +restatements +restates +restating +restaurant +restaurant's +restauranteur +restauranteur's +restauranteurs +restaurants +restaurateur +restaurateur's +restaurateurs +rested +restful +restfuller +restfullest +restfully +restfulness +restfulness's +resting +restitution +restitution's +restive +restively +restiveness +restiveness's +restless +restlessly +restlessness +restlessness's +restock +restocked +restocking +restocks +restoration +restoration's +restorations +restorative +restorative's +restoratives +restore +restored +restorer +restorer's +restorers +restores +restoring +restrain +restrained +restraining +restrains +restraint +restraint's +restraints +restrict +restricted +restricting +restriction +restriction's +restrictions +restrictive +restrictively +restricts +restroom +restroom's +restrooms +restructure +restructured +restructures +restructuring +restructuring's +restructurings +rests +restudied +restudies +restudy +restudying +resubmit +resubmits +resubmitted +resubmitting +result +result's +resultant +resultant's +resultants +resulted +resulting +results +resume +resume's +resumed +resumes +resuming +resumption +resumption's +resumptions +resupplied +resupplies +resupply +resupplying +resurface +resurfaced +resurfaces +resurfacing +resurgence +resurgence's +resurgences +resurgent +resurrect +resurrected +resurrecting +resurrection +resurrection's +resurrections +resurrects +resuscitate +resuscitated +resuscitates +resuscitating +resuscitation +resuscitation's +resuscitator +resuscitator's +resuscitators +retail +retail's +retailed +retailer +retailer's +retailers +retailing +retails +retain +retained +retainer +retainer's +retainers +retaining +retains +retake +retake's +retaken +retakes +retaking +retaliate +retaliated +retaliates +retaliating +retaliation +retaliation's +retaliations +retaliatory +retard +retard's +retardant +retardant's +retardants +retardation +retardation's +retarded +retarding +retards +retch +retched +retches +retching +retell +retelling +retells +retention +retention's +retentive +retentiveness +retentiveness's +rethink +rethink's +rethinking +rethinks +rethought +reticence +reticence's +reticent +retina +retina's +retinae +retinal +retinas +retinue +retinue's +retinues +retire +retired +retiree +retiree's +retirees +retirement +retirement's +retirements +retires +retiring +retold +retook +retool +retooled +retooling +retools +retort +retort's +retorted +retorting +retorts +retouch +retouch's +retouched +retouches +retouching +retrace +retraced +retraces +retracing +retract +retractable +retracted +retracting +retraction +retraction's +retractions +retracts +retrain +retrained +retraining +retrains +retread +retread's +retreaded +retreading +retreads +retreat +retreat's +retreated +retreating +retreats +retrench +retrenched +retrenches +retrenching +retrenchment +retrenchment's +retrenchments +retrial +retrial's +retrials +retribution +retribution's +retributions +retributive +retried +retries +retrievable +retrieval +retrieval's +retrievals +retrieve +retrieve's +retrieved +retriever +retriever's +retrievers +retrieves +retrieving +retroactive +retroactively +retrod +retrodden +retrofit +retrofit's +retrofits +retrofitted +retrofitting +retrograde +retrograded +retrogrades +retrograding +retrogress +retrogressed +retrogresses +retrogressing +retrogression +retrogression's +retrogressive +retrorocket +retrorocket's +retrorockets +retrospect +retrospect's +retrospected +retrospecting +retrospection +retrospection's +retrospective +retrospective's +retrospectively +retrospectives +retrospects +retry +retrying +return +return's +returnable +returnable's +returnables +returned +returnee +returnee's +returnees +returning +returns +retype +retyped +retypes +retyping +reunification +reunification's +reunified +reunifies +reunify +reunifying +reunion +reunion's +reunions +reunite +reunited +reunites +reuniting +reupholster +reupholstered +reupholstering +reupholsters +reusable +reuse +reuse's +reused +reuses +reusing +rev +rev's +revaluation +revaluation's +revaluations +revalue +revalued +revalues +revaluing +revamp +revamp's +revamped +revamping +revamps +reveal +revealed +revealing +revealings +reveals +reveille +reveille's +revel +revel's +revelation +revelation's +revelations +reveled +reveler +reveler's +revelers +reveling +revelled +reveller +reveller's +revellers +revelling +revelries +revelry +revelry's +revels +revenge +revenge's +revenged +revengeful +revenges +revenging +revenue +revenue's +revenues +reverberate +reverberated +reverberates +reverberating +reverberation +reverberation's +reverberations +revere +revered +reverence +reverence's +reverenced +reverences +reverencing +reverend +reverend's +reverends +reverent +reverential +reverently +reveres +reverie +reverie's +reveries +revering +reversal +reversal's +reversals +reverse +reverse's +reversed +reverses +reversible +reversing +reversion +reversion's +revert +reverted +reverting +reverts +revery +revery's +review +review's +reviewed +reviewer +reviewer's +reviewers +reviewing +reviews +revile +reviled +revilement +revilement's +reviler +reviler's +revilers +reviles +reviling +revise +revise's +revised +revises +revising +revision +revision's +revisions +revisit +revisited +revisiting +revisits +revitalization +revitalization's +revitalize +revitalized +revitalizes +revitalizing +revival +revival's +revivalist +revivalist's +revivalists +revivals +revive +revived +revives +revivification +revivification's +revivified +revivifies +revivify +revivifying +reviving +revocable +revocation +revocation's +revocations +revokable +revoke +revoked +revokes +revoking +revolt +revolt's +revolted +revolting +revoltingly +revolts +revolution +revolution's +revolutionaries +revolutionary +revolutionary's +revolutionist +revolutionist's +revolutionists +revolutionize +revolutionized +revolutionizes +revolutionizing +revolutions +revolve +revolved +revolver +revolver's +revolvers +revolves +revolving +revs +revue +revue's +revues +revulsion +revulsion's +revved +revving +reward +reward's +rewarded +rewarding +rewards +rewind +rewind's +rewindable +rewinding +rewinds +rewire +rewired +rewires +rewiring +reword +reworded +rewording +rewords +rework +reworked +reworking +reworks +rewound +rewrite +rewrite's +rewrites +rewriting +rewritten +rewrote +rhapsodic +rhapsodies +rhapsodize +rhapsodized +rhapsodizes +rhapsodizing +rhapsody +rhapsody's +rhea +rhea's +rheas +rheostat +rheostat's +rheostats +rhetoric +rhetoric's +rhetorical +rhetorically +rhetorician +rhetorician's +rhetoricians +rheum +rheum's +rheumatic +rheumatic's +rheumatics +rheumatism +rheumatism's +rheumier +rheumiest +rheumy +rhinestone +rhinestone's +rhinestones +rhino +rhino's +rhinoceri +rhinoceros +rhinoceros's +rhinoceroses +rhinos +rhizome +rhizome's +rhizomes +rho +rhodium +rhodium's +rhododendron +rhododendron's +rhododendrons +rhombi +rhomboid +rhomboid's +rhomboids +rhombus +rhombus's +rhombuses +rhubarb +rhubarb's +rhubarbs +rhyme +rhyme's +rhymed +rhymes +rhyming +rhythm +rhythm's +rhythmic +rhythmical +rhythmically +rhythms +rib +rib's +ribald +ribaldry +ribaldry's +ribbed +ribbing +ribbon +ribbon's +ribbons +riboflavin +riboflavin's +ribs +rice +rice's +riced +rices +rich +rich's +richer +riches +richest +richly +richness +richness's +ricing +rick +rick's +ricked +ricketier +ricketiest +rickets +rickets's +rickety +ricking +ricks +ricksha +ricksha's +rickshas +rickshaw +rickshaw's +rickshaws +ricochet +ricochet's +ricocheted +ricocheting +ricochets +ricochetted +ricochetting +ricotta +ricotta's +rid +riddance +riddance's +ridded +ridden +ridding +riddle +riddle's +riddled +riddles +riddling +ride +ride's +rider +rider's +riders +rides +ridge +ridge's +ridged +ridgepole +ridgepole's +ridgepoles +ridges +ridging +ridicule +ridicule's +ridiculed +ridicules +ridiculing +ridiculous +ridiculously +ridiculousness +ridiculousness's +riding +riding's +rids +rife +rifer +rifest +riff +riff's +riffed +riffing +riffle +riffle's +riffled +riffles +riffling +riffraff +riffraff's +riffs +rifle +rifle's +rifled +rifleman +rifleman's +riflemen +rifles +rifling +rift +rift's +rifted +rifting +rifts +rig +rig's +rigamarole +rigamarole's +rigamaroles +rigged +rigging +rigging's +right +right's +righted +righteous +righteously +righteousness +righteousness's +righter +rightest +rightful +rightfully +rightfulness +rightfulness's +righting +rightist +rightist's +rightists +rightly +rightmost +rightness +rightness's +rights +rigid +rigidity +rigidity's +rigidly +rigidness +rigidness's +rigmarole +rigmarole's +rigmaroles +rigor +rigor's +rigorous +rigorously +rigors +rigs +rile +riled +riles +riling +rill +rill's +rills +rim +rim's +rime +rime's +rimed +rimes +riming +rimmed +rimming +rims +rind +rind's +rinds +ring +ring's +ringed +ringer +ringer's +ringers +ringing +ringleader +ringleader's +ringleaders +ringlet +ringlet's +ringlets +ringmaster +ringmaster's +ringmasters +rings +ringside +ringside's +ringworm +ringworm's +rink +rink's +rinks +rinse +rinse's +rinsed +rinses +rinsing +riot +riot's +rioted +rioter +rioter's +rioters +rioting +rioting's +riotous +riots +rip +rip's +ripe +ripely +ripen +ripened +ripeness +ripeness's +ripening +ripens +riper +ripest +riposte +riposte's +riposted +ripostes +riposting +ripped +ripper +ripper's +rippers +ripping +ripple +ripple's +rippled +ripples +rippling +rips +ripsaw +ripsaw's +ripsaws +rise +rise's +risen +riser +riser's +risers +rises +risible +rising +risk +risk's +risked +riskier +riskiest +riskiness +riskiness's +risking +risks +risky +rite +rite's +rites +ritual +ritual's +ritualism +ritualism's +ritualistic +ritually +rituals +ritzier +ritziest +ritzy +rival +rival's +rivaled +rivaling +rivalled +rivalling +rivalries +rivalry +rivalry's +rivals +riven +river +river's +riverbed +riverbed's +riverbeds +riverfront +rivers +riverside +riverside's +riversides +rivet +rivet's +riveted +riveting +rivets +rivetted +rivetting +rivulet +rivulet's +rivulets +roach +roach's +roaches +road +road's +roadbed +roadbed's +roadbeds +roadblock +roadblock's +roadblocked +roadblocking +roadblocks +roadhouse +roadhouse's +roadhouses +roadkill +roadkill's +roadrunner +roadrunner's +roadrunners +roads +roadshow +roadside +roadside's +roadsides +roadster +roadster's +roadsters +roadway +roadway's +roadways +roadwork +roadwork's +roadworthy +roam +roamed +roamer +roamer's +roamers +roaming +roams +roan +roan's +roans +roar +roar's +roared +roaring +roaring's +roars +roast +roast's +roasted +roaster +roaster's +roasters +roasting +roasts +rob +robbed +robber +robber's +robberies +robbers +robbery +robbery's +robbing +robe +robe's +robed +robes +robin +robin's +robing +robins +robot +robot's +robotic +robotics +robotics's +robots +robs +robust +robuster +robustest +robustly +robustness +robustness's +rock +rock's +rocked +rocker +rocker's +rockers +rocket +rocket's +rocketed +rocketing +rocketry +rocketry's +rockets +rockier +rockiest +rockiness +rockiness's +rocking +rocks +rocky +rococo +rococo's +rod +rod's +rode +rodent +rodent's +rodents +rodeo +rodeo's +rodeos +rods +roe +roe's +roebuck +roebuck's +roebucks +roentgen +roentgen's +roentgens +roes +roger +rogered +rogering +rogers +rogue +rogue's +roguery +roguery's +rogues +roguish +roguishly +roil +roiled +roiling +roils +roister +roistered +roisterer +roisterer's +roisterers +roistering +roisters +role +role's +roles +roll +roll's +rollback +rollback's +rollbacks +rolled +roller +roller's +rollers +rollerskating +rollerskating's +rollick +rollicked +rollicking +rollicking's +rollicks +rolling +rolls +romaine +romaine's +roman +romance +romance's +romanced +romances +romancing +romantic +romantic's +romantically +romanticism +romanticism's +romanticist +romanticist's +romanticists +romanticize +romanticized +romanticizes +romanticizing +romantics +romp +romp's +romped +romper +romper's +rompers +romping +romps +rood +rood's +roods +roof +roof's +roofed +roofing +roofing's +roofs +rooftop +rooftop's +rooftops +rook +rook's +rooked +rookeries +rookery +rookery's +rookie +rookie's +rookies +rooking +rooks +room +room's +roomed +roomer +roomer's +roomers +roomful +roomful's +roomfuls +roomier +roomiest +roominess +roominess's +rooming +roommate +roommate's +roommates +rooms +roomy +roost +roost's +roosted +rooster +rooster's +roosters +roosting +roosts +root +root's +rooted +rooter +rooting +rootless +roots +rope +rope's +roped +ropes +roping +rosaries +rosary +rosary's +rose +rose's +roseate +rosebud +rosebud's +rosebuds +rosebush +rosebush's +rosebushes +rosemary +rosemary's +roses +rosette +rosette's +rosettes +rosewood +rosewood's +rosewoods +rosier +rosiest +rosily +rosin +rosin's +rosined +rosiness +rosiness's +rosining +rosins +roster +roster's +rosters +rostra +rostrum +rostrum's +rostrums +rosy +rot +rot's +rotaries +rotary +rotary's +rotate +rotated +rotates +rotating +rotation +rotation's +rotational +rotations +rote +rote's +rotisserie +rotisserie's +rotisseries +rotogravure +rotogravure's +rotogravures +rotor +rotor's +rotors +rots +rotted +rotten +rottener +rottenest +rottenness +rottenness's +rotting +rotund +rotunda +rotunda's +rotundas +rotundity +rotundity's +rotundness +rotundness's +rouge +rouge's +rouged +rouges +rough +rough's +roughage +roughage's +roughed +roughen +roughened +roughening +roughens +rougher +roughest +roughhouse +roughhouse's +roughhoused +roughhouses +roughhousing +roughing +roughly +roughneck +roughneck's +roughnecked +roughnecking +roughnecks +roughness +roughness's +roughs +roughshod +rouging +roulette +roulette's +round +round's +roundabout +roundabout's +roundabouts +rounded +roundelay +roundelay's +roundelays +rounder +roundest +roundhouse +roundhouse's +roundhouses +rounding +roundish +roundly +roundness +roundness's +rounds +roundup +roundup's +roundups +roundworm +roundworm's +roundworms +rouse +roused +rouses +rousing +roustabout +roustabout's +roustabouts +rout +rout's +route +route's +routed +routeing +router +routes +routine +routine's +routinely +routines +routing +routinize +routinized +routinizes +routinizing +routs +rove +roved +rover +rover's +rovers +roves +roving +row +row's +rowboat +rowboat's +rowboats +rowdier +rowdies +rowdiest +rowdiness +rowdiness's +rowdy +rowdy's +rowdyism +rowdyism's +rowed +rowel +rowel's +roweled +roweling +rowelled +rowelling +rowels +rower +rower's +rowers +rowing +rowing's +rows +royal +royal's +royalist +royalist's +royalists +royally +royals +royalties +royalties's +royalty +royalty's +rs +rub +rub's +rubbed +rubber +rubber's +rubberier +rubberiest +rubberize +rubberized +rubberizes +rubberizing +rubberneck +rubberneck's +rubbernecked +rubbernecking +rubbernecks +rubbers +rubbery +rubbing +rubbish +rubbish's +rubbished +rubbishes +rubbishing +rubbishy +rubble +rubble's +rubdown +rubdown's +rubdowns +rube +rube's +rubella +rubella's +rubes +rubicund +rubier +rubies +rubiest +ruble +ruble's +rubles +rubric +rubric's +rubrics +rubs +ruby +ruby's +rucksack +rucksack's +rucksacks +ruckus +ruckus's +ruckuses +rudder +rudder's +rudders +ruddier +ruddiest +ruddiness +ruddiness's +ruddy +rude +rudely +rudeness +rudeness's +ruder +rudest +rudiment +rudiment's +rudimentary +rudiments +rue +rue's +rued +rueful +ruefully +rues +ruff +ruff's +ruffed +ruffian +ruffian's +ruffians +ruffing +ruffle +ruffle's +ruffled +ruffles +ruffling +ruffs +rug +rug's +rugby +rugby's +rugged +ruggeder +ruggedest +ruggedly +ruggedness +ruggedness's +rugs +ruin +ruin's +ruination +ruination's +ruined +ruing +ruining +ruinous +ruinously +ruins +rule +rule's +ruled +ruler +ruler's +rulers +rules +ruling +ruling's +rulings +rum +rum's +rumba +rumba's +rumbaed +rumbaing +rumbas +rumble +rumble's +rumbled +rumbles +rumbling +rumbling's +rumblings +ruminant +ruminant's +ruminants +ruminate +ruminated +ruminates +ruminating +rumination +rumination's +ruminations +rummage +rummage's +rummaged +rummages +rummaging +rummer +rummest +rummy +rummy's +rumor +rumor's +rumored +rumoring +rumors +rump +rump's +rumple +rumple's +rumpled +rumples +rumpling +rumps +rumpus +rumpus's +rumpuses +rums +run +run's +runabout +runabout's +runabouts +runaround +runaround's +runarounds +runaway +runaway's +runaways +rundown +rundown's +rundowns +rune +rune's +runes +rung +rung's +rungs +runnel +runnel's +runnels +runner +runner's +runners +runnier +runniest +running +running's +runny +runoff +runoff's +runoffs +runs +runt +runt's +runts +runway +runway's +runways +rupee +rupee's +rupees +rupture +rupture's +ruptured +ruptures +rupturing +rural +ruse +ruse's +ruses +rush +rush's +rushed +rushes +rushing +rusk +rusk's +rusks +russet +russet's +russets +rust +rust's +rusted +rustic +rustic's +rustically +rusticity +rusticity's +rustics +rustier +rustiest +rustiness +rustiness's +rusting +rustle +rustle's +rustled +rustler +rustler's +rustlers +rustles +rustling +rustproof +rustproofed +rustproofing +rustproofs +rusts +rusty +rut +rut's +rutabaga +rutabaga's +rutabagas +ruthless +ruthlessly +ruthlessness +ruthlessness's +ruts +rutted +rutting +rye +rye's +s +sabbatical +sabbatical's +sabbaticals +saber +saber's +sabers +sable +sable's +sables +sabotage +sabotage's +sabotaged +sabotages +sabotaging +saboteur +saboteur's +saboteurs +sabre +sabre's +sabres +sac +sac's +saccharin +saccharin's +saccharine +sacerdotal +sachem +sachem's +sachems +sachet +sachet's +sachets +sack +sack's +sackcloth +sackcloth's +sacked +sackful +sackful's +sackfuls +sacking +sacking's +sacks +sacrament +sacrament's +sacramental +sacraments +sacred +sacredly +sacredness +sacredness's +sacrifice +sacrifice's +sacrificed +sacrifices +sacrificial +sacrificing +sacrilege +sacrilege's +sacrileges +sacrilegious +sacristan +sacristan's +sacristans +sacristies +sacristy +sacristy's +sacrosanct +sacs +sad +sadden +saddened +saddening +saddens +sadder +saddest +saddle +saddle's +saddlebag +saddlebag's +saddlebags +saddled +saddles +saddling +sades +sadism +sadism's +sadist +sadist's +sadistic +sadistically +sadists +sadly +sadness +sadness's +safari +safari's +safaried +safariing +safaris +safe +safe's +safeguard +safeguard's +safeguarded +safeguarding +safeguards +safekeeping +safekeeping's +safely +safeness +safeness's +safer +safes +safest +safeties +safety +safety's +safflower +safflower's +safflowers +saffron +saffron's +saffrons +sag +sag's +saga +saga's +sagacious +sagacity +sagacity's +sagas +sage +sage's +sagebrush +sagebrush's +sager +sages +sagest +sagged +sagging +sago +sago's +sags +saguaro +saguaro's +saguaros +sahib +sahib's +sahibs +said +sail +sail's +sailboard +sailboard's +sailboards +sailboat +sailboat's +sailboats +sailcloth +sailcloth's +sailed +sailfish +sailfish's +sailfishes +sailing +sailing's +sailings +sailor +sailor's +sailors +sails +saint +saint's +sainthood +sainthood's +saintlier +saintliest +saintliness +saintliness's +saintly +saints +saith +sake +sake's +saki +saki's +salaam +salaam's +salaamed +salaaming +salaams +salable +salacious +salaciously +salaciousness +salaciousness's +salad +salad's +salads +salamander +salamander's +salamanders +salami +salami's +salamis +salaried +salaries +salary +salary's +sale +sale's +saleable +sales +salesclerk +salesclerk's +salesclerks +salesgirl +salesgirl's +salesgirls +salesman +salesman's +salesmanship +salesmanship's +salesmen +salespeople +salespeople's +salesperson +salesperson's +salespersons +saleswoman +saleswoman's +saleswomen +salient +salient's +salients +saline +saline's +salines +salinity +salinity's +saliva +saliva's +salivary +salivate +salivated +salivates +salivating +salivation +salivation's +sallied +sallies +sallow +sallower +sallowest +sally +sally's +sallying +salmon +salmon's +salmonella +salmonella's +salmonellae +salmonellas +salmons +salon +salon's +salons +saloon +saloon's +saloons +salsa +salsa's +salsas +salt +salt's +saltcellar +saltcellar's +saltcellars +salted +salter +saltest +saltier +saltiest +saltine +saltine's +saltines +saltiness +saltiness's +salting +saltpeter +saltpeter's +saltpetre +saltpetre's +salts +saltshaker +saltshaker's +saltshakers +saltwater +saltwater's +salty +salubrious +salutary +salutation +salutation's +salutations +salute +salute's +saluted +salutes +saluting +salvage +salvage's +salvageable +salvaged +salvages +salvaging +salvation +salvation's +salve +salve's +salved +salver +salver's +salvers +salves +salving +salvo +salvo's +salvoes +salvos +samba +samba's +sambaed +sambaing +sambas +same +sameness +sameness's +sames +samovar +samovar's +samovars +sampan +sampan's +sampans +sample +sample's +sampled +sampler +sampler's +samplers +samples +sampling +samurai +samurai's +sanatoria +sanatorium +sanatorium's +sanatoriums +sancta +sanctification +sanctification's +sanctified +sanctifies +sanctify +sanctifying +sanctimonious +sanctimoniously +sanction +sanction's +sanctioned +sanctioning +sanctions +sanctity +sanctity's +sanctuaries +sanctuary +sanctuary's +sanctum +sanctum's +sanctums +sand +sand's +sandal +sandal's +sandals +sandalwood +sandalwood's +sandbag +sandbag's +sandbagged +sandbagging +sandbags +sandbank +sandbank's +sandbanks +sandbar +sandbar's +sandbars +sandblast +sandblast's +sandblasted +sandblaster +sandblaster's +sandblasters +sandblasting +sandblasts +sandbox +sandbox's +sandboxes +sandcastle +sandcastle's +sandcastles +sanded +sander +sander's +sanders +sandhog +sandhog's +sandhogs +sandier +sandiest +sandiness +sandiness's +sanding +sandlot +sandlot's +sandlots +sandman +sandman's +sandmen +sandpaper +sandpaper's +sandpapered +sandpapering +sandpapers +sandpiper +sandpiper's +sandpipers +sands +sandstone +sandstone's +sandstorm +sandstorm's +sandstorms +sandwich +sandwich's +sandwiched +sandwiches +sandwiching +sandy +sane +sanely +saner +sanest +sang +sangfroid +sangfroid's +sangs +sanguinary +sanguine +sanitaria +sanitarium +sanitarium's +sanitariums +sanitary +sanitation +sanitation's +sanitize +sanitized +sanitizes +sanitizing +sanity +sanity's +sank +sans +sanserif +sap +sap's +sapience +sapience's +sapient +sapling +sapling's +saplings +sapped +sapphire +sapphire's +sapphires +sappier +sappiest +sapping +sappy +saprophyte +saprophyte's +saprophytes +saps +sapsucker +sapsucker's +sapsuckers +sarape +sarape's +sarapes +sarcasm +sarcasm's +sarcasms +sarcastic +sarcastically +sarcoma +sarcoma's +sarcomas +sarcomata +sarcophagi +sarcophagus +sarcophagus's +sarcophaguses +sardine +sardine's +sardines +sardonic +sardonically +saree +saree's +sarees +sari +sari's +saris +sarong +sarong's +sarongs +sarsaparilla +sarsaparilla's +sarsaparillas +sartorial +sartorially +sash +sash's +sashay +sashay's +sashayed +sashaying +sashays +sashes +sass +sass's +sassafras +sassafras's +sassafrases +sassed +sasses +sassier +sassiest +sassing +sassy +sat +satanic +satanically +satanism +satanism's +satchel +satchel's +satchels +sate +sated +sateen +sateen's +satellite +satellite's +satellited +satellites +satelliting +sates +satiate +satiated +satiates +satiating +satiety +satiety's +satin +satin's +sating +satinwood +satinwood's +satinwoods +satiny +satire +satire's +satires +satirical +satirically +satirist +satirist's +satirists +satirize +satirized +satirizes +satirizing +satisfaction +satisfaction's +satisfactions +satisfactorily +satisfactory +satisfied +satisfies +satisfy +satisfying +satrap +satrap's +satraps +saturate +saturated +saturates +saturating +saturation +saturation's +saturnine +satyr +satyr's +satyrs +sauce +sauce's +sauced +saucepan +saucepan's +saucepans +saucer +saucer's +saucers +sauces +saucier +sauciest +saucily +sauciness +sauciness's +saucing +saucy +sauerkraut +sauerkraut's +sauna +sauna's +saunaed +saunaing +saunas +saunter +saunter's +sauntered +sauntering +saunters +sausage +sausage's +sausages +sauted +savage +savage's +savaged +savagely +savageness +savageness's +savager +savageries +savagery +savagery's +savages +savagest +savaging +savanna +savanna's +savannah +savannah's +savannahes +savannahs +savannas +savant +savant's +savants +save +save's +saved +saver +saver's +savers +saves +saving +saving's +savings +savings's +savior +savior's +saviors +saviour +saviour's +saviours +savor +savor's +savored +savorier +savories +savoriest +savoring +savors +savory +savory's +savvied +savvier +savvies +savviest +savvy +savvy's +savvying +saw +saw's +sawdust +sawdust's +sawed +sawhorse +sawhorse's +sawhorses +sawing +sawmill +sawmill's +sawmills +sawn +saws +sawyer +sawyer's +sawyers +sax +sax's +saxes +saxophone +saxophone's +saxophones +saxophonist +saxophonist's +saxophonists +say +say's +saying +saying's +sayings +says +scab +scab's +scabbard +scabbard's +scabbards +scabbed +scabbier +scabbiest +scabbing +scabby +scabies +scabies's +scabrous +scabs +scad +scad's +scads +scaffold +scaffold's +scaffolding +scaffolding's +scaffolds +scalar +scalars +scalawag +scalawag's +scalawags +scald +scald's +scalded +scalding +scalds +scale +scale's +scaled +scalene +scales +scalier +scaliest +scaling +scallion +scallion's +scallions +scallop +scallop's +scalloped +scalloping +scallops +scallywag +scallywag's +scallywags +scalp +scalp's +scalped +scalpel +scalpel's +scalpels +scalper +scalper's +scalpers +scalping +scalps +scaly +scam +scam's +scammed +scamming +scamp +scamp's +scamper +scamper's +scampered +scampering +scampers +scampi +scampi's +scampies +scamps +scams +scan +scan's +scandal +scandal's +scandalize +scandalized +scandalizes +scandalizing +scandalmonger +scandalmonger's +scandalmongers +scandalous +scandalously +scandals +scanned +scanner +scanner's +scanners +scanning +scans +scansion +scansion's +scant +scanted +scanter +scantest +scantier +scanties +scantiest +scantily +scantiness +scantiness's +scanting +scants +scanty +scapegoat +scapegoat's +scapegoated +scapegoating +scapegoats +scapula +scapula's +scapulae +scapulas +scar +scar's +scarab +scarab's +scarabs +scarce +scarcely +scarceness +scarceness's +scarcer +scarcest +scarcity +scarcity's +scare +scare's +scarecrow +scarecrow's +scarecrows +scared +scares +scarf +scarf's +scarfed +scarfing +scarfs +scarier +scariest +scarified +scarifies +scarify +scarifying +scaring +scarlet +scarlet's +scarred +scarring +scars +scarves +scary +scat +scat's +scathing +scathingly +scatological +scats +scatted +scatter +scatter's +scatterbrain +scatterbrain's +scatterbrained +scatterbrains +scattered +scattering +scatters +scatting +scavenge +scavenged +scavenger +scavenger's +scavengers +scavenges +scavenging +scenario +scenario's +scenarios +scene +scene's +scenery +scenery's +scenes +scenic +scenically +scent +scent's +scented +scenting +scents +scepter +scepter's +scepters +schedule +schedule's +scheduled +scheduler +schedulers +schedules +scheduling +schema +schematic +schematic's +schematically +schematics +scheme +scheme's +schemed +schemer +schemer's +schemers +schemes +scheming +scherzi +scherzo +scherzo's +scherzos +schism +schism's +schismatic +schismatic's +schismatics +schisms +schist +schist's +schizoid +schizoid's +schizoids +schizophrenia +schizophrenia's +schizophrenic +schizophrenic's +schizophrenics +schlemiel +schlemiel's +schlemiels +schlep +schlep's +schlepp +schlepp's +schlepped +schlepping +schlepps +schleps +schlock +schlock's +schlocky +schmaltz +schmaltz's +schmaltzier +schmaltziest +schmaltzy +schmalz +schmalz's +schmalzy +schmooze +schmoozed +schmoozes +schmoozing +schmuck +schmuck's +schmucks +schnapps +schnapps's +schnauzer +schnauzer's +schnauzers +scholar +scholar's +scholarly +scholars +scholarship +scholarship's +scholarships +scholastic +scholastically +school +school's +schoolbook +schoolbook's +schoolbooks +schoolboy +schoolboy's +schoolboys +schoolchild +schoolchild's +schoolchildren +schooldays +schooled +schoolgirl +schoolgirl's +schoolgirls +schoolhouse +schoolhouse's +schoolhouses +schooling +schooling's +schoolmarm +schoolmarm's +schoolmarms +schoolmaster +schoolmaster's +schoolmasters +schoolmate +schoolmate's +schoolmates +schoolmistress +schoolmistress's +schoolmistresses +schoolroom +schoolroom's +schoolrooms +schools +schoolteacher +schoolteacher's +schoolteachers +schoolwork +schoolwork's +schoolyard +schoolyard's +schoolyards +schooner +schooner's +schooners +schrod +schrod's +schrods +schtick +schtick's +schticks +schuss +schuss's +schussed +schusses +schussing +schwa +schwa's +schwas +sciatic +sciatica +sciatica's +science +science's +sciences +scientific +scientifically +scientist +scientist's +scientists +scimitar +scimitar's +scimitars +scintilla +scintilla's +scintillas +scintillate +scintillated +scintillates +scintillating +scintillation +scintillation's +scion +scion's +scions +scissor +scissors +sclerosis +sclerosis's +sclerotic +scoff +scoff's +scoffed +scoffing +scofflaw +scofflaw's +scofflaws +scoffs +scold +scold's +scolded +scolding +scolding's +scoldings +scolds +scoliosis +scoliosis's +scollop +scollop's +scolloped +scolloping +scollops +sconce +sconce's +sconces +scone +scone's +scones +scoop +scoop's +scooped +scooping +scoops +scoot +scooted +scooter +scooter's +scooters +scooting +scoots +scope +scope's +scoped +scopes +scoping +scorch +scorch's +scorched +scorcher +scorcher's +scorchers +scorches +scorching +score +score's +scoreboard +scoreboard's +scoreboards +scorecard +scorecard's +scorecards +scored +scoreless +scorer +scorer's +scorers +scores +scoring +scorn +scorn's +scorned +scornful +scornfully +scorning +scorns +scorpion +scorpion's +scorpions +scotch +scotch's +scotched +scotches +scotching +scotchs +scoundrel +scoundrel's +scoundrels +scour +scoured +scourge +scourge's +scourged +scourges +scourging +scouring +scours +scout +scout's +scouted +scouting +scouting's +scoutmaster +scoutmaster's +scoutmasters +scouts +scow +scow's +scowl +scowl's +scowled +scowling +scowls +scows +scrabble +scrabble's +scrabbled +scrabbles +scrabbling +scragglier +scraggliest +scraggly +scram +scramble +scramble's +scrambled +scrambler +scrambler's +scramblers +scrambles +scrambling +scrammed +scramming +scrams +scrap +scrap's +scrapbook +scrapbook's +scrapbooks +scrape +scrape's +scraped +scraper +scraper's +scrapers +scrapes +scraping +scrapped +scrappier +scrappiest +scrapping +scrappy +scraps +scratch +scratch's +scratched +scratches +scratchier +scratchiest +scratchiness +scratchiness's +scratching +scratchy +scrawl +scrawl's +scrawled +scrawling +scrawls +scrawnier +scrawniest +scrawny +scream +scream's +screamed +screaming +screams +screech +screech's +screeched +screeches +screechier +screechiest +screeching +screechy +screen +screen's +screened +screening +screening's +screenings +screenplay +screenplay's +screenplays +screens +screenwriter +screenwriter's +screenwriters +screw +screw's +screwball +screwball's +screwballs +screwdriver +screwdriver's +screwdrivers +screwed +screwier +screwiest +screwing +screws +screwy +scribble +scribble's +scribbled +scribbler +scribbler's +scribblers +scribbles +scribbling +scribe +scribe's +scribes +scrimmage +scrimmage's +scrimmaged +scrimmages +scrimmaging +scrimp +scrimped +scrimping +scrimps +scrimshaw +scrimshaw's +scrimshawed +scrimshawing +scrimshaws +scrip +scrip's +scrips +script +script's +scripted +scripting +scripts +scriptural +scripture +scripture's +scriptures +scriptwriter +scriptwriter's +scriptwriters +scrod +scrod's +scrods +scrofula +scrofula's +scroll +scroll's +scrolled +scrolling +scrolls +scrooge +scrooge's +scrooges +scrota +scrotum +scrotum's +scrotums +scrounge +scrounged +scrounger +scrounger's +scroungers +scrounges +scrounging +scrub +scrub's +scrubbed +scrubber +scrubber's +scrubbers +scrubbier +scrubbiest +scrubbing +scrubby +scrubs +scruff +scruff's +scruffier +scruffiest +scruffs +scruffy +scrumptious +scrunch +scrunch's +scrunched +scrunches +scrunching +scruple +scruple's +scrupled +scruples +scrupling +scrupulous +scrupulously +scrutinize +scrutinized +scrutinizes +scrutinizing +scrutiny +scrutiny's +scuba +scuba's +scubaed +scubaing +scubas +scud +scud's +scudded +scudding +scuds +scuff +scuff's +scuffed +scuffing +scuffle +scuffle's +scuffled +scuffles +scuffling +scuffs +scull +scull's +sculled +sculleries +scullery +scullery's +sculling +scullion +scullion's +scullions +sculls +sculpt +sculpted +sculpting +sculptor +sculptor's +sculptors +sculpts +sculptural +sculpture +sculpture's +sculptured +sculptures +sculpturing +scum +scum's +scumbag +scumbag's +scumbags +scummed +scummier +scummiest +scumming +scummy +scums +scupper +scupper's +scuppered +scuppering +scuppers +scurf +scurf's +scurfier +scurfiest +scurfy +scurried +scurries +scurrilous +scurrilously +scurry +scurry's +scurrying +scurvier +scurviest +scurvy +scurvy's +scuttle +scuttle's +scuttlebutt +scuttlebutt's +scuttled +scuttles +scuttling +scuzzier +scuzziest +scuzzy +scythe +scythe's +scythed +scythes +scything +sea +sea's +seabed +seabed's +seabeds +seabird +seabird's +seabirds +seaboard +seaboard's +seaboards +seacoast +seacoast's +seacoasts +seafarer +seafarer's +seafarers +seafaring +seafaring's +seafood +seafood's +seagoing +seal +seal's +sealant +sealant's +sealants +sealed +sealer +sealer's +sealers +sealing +seals +sealskin +sealskin's +seam +seam's +seaman +seaman's +seamanship +seamanship's +seamed +seamen +seamier +seamiest +seaming +seamless +seams +seamstress +seamstress's +seamstresses +seamy +seaplane +seaplane's +seaplanes +seaport +seaport's +seaports +sear +sear's +search +search's +searched +searcher +searcher's +searchers +searches +searching +searchingly +searchlight +searchlight's +searchlights +seared +searing +sears +seas +seascape +seascape's +seascapes +seashell +seashell's +seashells +seashore +seashore's +seashores +seasick +seasickness +seasickness's +seaside +seaside's +seasides +season +season's +seasonable +seasonal +seasonally +seasoned +seasoning +seasoning's +seasonings +seasons +seat +seat's +seated +seating +seating's +seats +seaward +seaward's +seawards +seaway +seaway's +seaways +seaweed +seaweed's +seaworthier +seaworthiest +seaworthy +sebaceous +sec's +secede +seceded +secedes +seceding +secession +secession's +secessionist +secessionist's +secessionists +seclude +secluded +secludes +secluding +seclusion +seclusion's +seclusive +second +second's +secondaries +secondarily +secondary +secondary's +seconded +secondhand +seconding +secondly +seconds +secrecy +secrecy's +secret +secret's +secretarial +secretariat +secretariat's +secretariats +secretaries +secretary +secretary's +secrete +secreted +secretes +secreting +secretion +secretion's +secretions +secretive +secretively +secretiveness +secretiveness's +secretly +secrets +secs +sect +sect's +sectarian +sectarian's +sectarianism +sectarianism's +sectarians +section +section's +sectional +sectional's +sectionalism +sectionalism's +sectionals +sectioned +sectioning +sections +sector +sector's +sectors +sects +secular +secularism +secularism's +secularization +secularization's +secularize +secularized +secularizes +secularizing +secure +secured +securely +securer +secures +securest +securing +securities +security +security's +sedan +sedan's +sedans +sedate +sedated +sedately +sedater +sedates +sedatest +sedating +sedation +sedation's +sedative +sedative's +sedatives +sedentary +sedge +sedge's +sediment +sediment's +sedimentary +sedimentation +sedimentation's +sediments +sedition +sedition's +seditious +seduce +seduced +seducer +seducer's +seducers +seduces +seducing +seduction +seduction's +seductions +seductive +seductively +sedulous +see +see's +seed +seed's +seeded +seedier +seediest +seediness +seediness's +seeding +seedless +seedling +seedling's +seedlings +seeds +seedy +seeing +seeings +seek +seeker +seeker's +seekers +seeking +seeks +seem +seemed +seeming +seemingly +seemlier +seemliest +seemliness +seemliness's +seemly +seems +seen +seep +seepage +seepage's +seeped +seeping +seeps +seer +seer's +seers +seersucker +seersucker's +sees +seesaw +seesaw's +seesawed +seesawing +seesaws +seethe +seethed +seethes +seething +segment +segment's +segmentation +segmentation's +segmented +segmenting +segments +segregate +segregated +segregates +segregating +segregation +segregation's +segregationist +segregationist's +segregationists +segue +segue's +segued +segueing +segues +seismic +seismically +seismograph +seismograph's +seismographic +seismographs +seismologist +seismologist's +seismologists +seismology +seismology's +seize +seized +seizes +seizing +seizure +seizure's +seizures +seldom +select +selected +selecting +selection +selection's +selections +selective +selectively +selectivity +selectivity's +selectman +selectman's +selectmen +selector +selector's +selectors +selects +selenium +selenium's +self +self's +selfish +selfishly +selfishness +selfishness's +selfless +selflessly +selflessness +selflessness's +selfsame +sell +sell's +seller +seller's +sellers +selling +sellout +sellout's +sellouts +sells +seltzer +seltzer's +selvage +selvage's +selvages +selvedge +selvedge's +selvedges +selves +semantic +semantically +semantics +semantics's +semaphore +semaphore's +semaphored +semaphores +semaphoring +semblance +semblance's +semblances +semen +semen's +semester +semester's +semesters +semi +semi's +semiannual +semiautomatic +semiautomatic's +semiautomatics +semicircle +semicircle's +semicircles +semicircular +semicolon +semicolon's +semicolons +semiconductor +semiconductor's +semiconductors +semiconscious +semifinal +semifinal's +semifinalist +semifinalist's +semifinalists +semifinals +semimonthlies +semimonthly +semimonthly's +seminal +seminar +seminar's +seminarian +seminarian's +seminarians +seminaries +seminars +seminary +seminary's +semipermeable +semiprecious +semiprivate +semiprofessional +semiprofessional's +semiprofessionals +semis +semiskilled +semitone +semitone's +semitones +semitrailer +semitrailer's +semitrailers +semitropical +semiweeklies +semiweekly +semiweekly's +senate +senate's +senates +senator +senator's +senatorial +senators +send +sender +sender's +senders +sending +sends +senile +senility +senility's +senior +senior's +seniority +seniority's +seniors +senna +senna's +sensation +sensation's +sensational +sensationalism +sensationalism's +sensationalist +sensationalist's +sensationalists +sensationally +sensations +sense +sense's +sensed +senseless +senselessly +senselessness +senselessness's +senses +sensibilities +sensibility +sensibility's +sensible +sensibly +sensing +sensitive +sensitive's +sensitively +sensitiveness +sensitiveness's +sensitives +sensitivities +sensitivity +sensitivity's +sensitization +sensitization's +sensitize +sensitized +sensitizes +sensitizing +sensor +sensor's +sensors +sensory +sensual +sensuality +sensuality's +sensually +sensuous +sensuously +sensuousness +sensuousness's +sent +sentence +sentence's +sentenced +sentences +sentencing +sententious +sentience +sentient +sentiment +sentiment's +sentimental +sentimentalism +sentimentalism's +sentimentalist +sentimentalist's +sentimentalists +sentimentality +sentimentality's +sentimentalize +sentimentalized +sentimentalizes +sentimentalizing +sentimentally +sentiments +sentinel +sentinel's +sentinels +sentries +sentry +sentry's +sepal +sepal's +sepals +separable +separate +separate's +separated +separately +separates +separating +separation +separation's +separations +separatism +separatism's +separatist +separatist's +separatists +separator +separator's +separators +sepia +sepia's +sepsis +sepsis's +septa +septet +septet's +septets +septette +septette's +septettes +septic +septicemia +septicemia's +septuagenarian +septuagenarian's +septuagenarians +septum +septum's +septums +sepulcher +sepulcher's +sepulchered +sepulchering +sepulchers +sepulchral +sequel +sequel's +sequels +sequence +sequence's +sequenced +sequencer +sequencers +sequences +sequencing +sequential +sequentially +sequester +sequestered +sequestering +sequesters +sequestration +sequestration's +sequestrations +sequin +sequin's +sequined +sequins +sequoia +sequoia's +sequoias +sera +seraglio +seraglio's +seraglios +serape +serape's +serapes +seraph +seraph's +seraphic +seraphim +seraphs +sere +serenade +serenade's +serenaded +serenades +serenading +serendipitous +serendipity +serendipity's +serene +serenely +sereneness +sereneness's +serener +serenest +serenity +serenity's +serer +serest +serf +serf's +serfdom +serfdom's +serfs +serge +serge's +sergeant +sergeant's +sergeants +serial +serial's +serialization +serialization's +serialize +serialized +serializes +serializing +serially +serials +series +series's +serious +seriously +seriousness +seriousness's +sermon +sermon's +sermonize +sermonized +sermonizes +sermonizing +sermons +serous +serpent +serpent's +serpentine +serpentine's +serpents +serrated +serried +serum +serum's +serums +servant +servant's +servants +serve +serve's +served +server +server's +servers +serves +service +service's +serviceable +serviced +serviceman +serviceman's +servicemen +services +servicewoman +servicewoman's +servicewomen +servicing +serviette +serviette's +serviettes +servile +servility +servility's +serving +serving's +servings +servitude +servitude's +servo +servo's +servomechanism +servomechanism's +servomechanisms +servos +sesame +sesame's +sesames +session +session's +sessions +set +set's +setback +setback's +setbacks +sets +settable +settee +settee's +settees +setter +setter's +setters +setting +setting's +settings +settle +settle's +settled +settlement +settlement's +settlements +settler +settler's +settlers +settles +settling +setup +setup's +setups +seven +seven's +sevens +seventeen +seventeen's +seventeens +seventeenth +seventeenth's +seventeenths +seventh +seventh's +sevenths +seventies +seventieth +seventieth's +seventieths +seventy +seventy's +sever +several +several's +severally +severance +severance's +severances +severe +severed +severely +severer +severest +severing +severity +severity's +severs +sew +sewage +sewage's +sewed +sewer +sewer's +sewerage +sewerage's +sewers +sewing +sewing's +sewn +sews +sex +sex's +sexagenarian +sexagenarian's +sexagenarians +sexed +sexes +sexier +sexiest +sexiness +sexiness's +sexing +sexism +sexism's +sexist +sexist's +sexists +sexless +sexpot +sexpot's +sexpots +sextant +sextant's +sextants +sextet +sextet's +sextets +sextette +sextette's +sextettes +sexton +sexton's +sextons +sexual +sexuality +sexuality's +sexually +sexy +sh +shabbier +shabbiest +shabbily +shabbiness +shabbiness's +shabby +shack +shack's +shackle +shackle's +shackled +shackles +shackling +shacks +shad +shad's +shade +shade's +shaded +shades +shadier +shadiest +shadiness +shadiness's +shading +shading's +shadings +shadow +shadow's +shadowbox +shadowboxed +shadowboxes +shadowboxing +shadowed +shadowier +shadowiest +shadowing +shadows +shadowy +shads +shady +shaft +shaft's +shafted +shafting +shafts +shag +shag's +shagged +shaggier +shaggiest +shagginess +shagginess's +shagging +shaggy +shags +shah +shah's +shahs +shaikh +shaikh's +shaikhs +shake +shake's +shakedown +shakedown's +shakedowns +shaken +shaker +shaker's +shakers +shakes +shakeup +shakeup's +shakeups +shakier +shakiest +shakily +shakiness +shakiness's +shaking +shaky +shale +shale's +shall +shallot +shallot's +shallots +shallow +shallow's +shallower +shallowest +shallowness +shallowness's +shallows +shalt +sham +sham's +shaman +shaman's +shamans +shamble +shamble's +shambled +shambles +shambles's +shambling +shame +shame's +shamed +shamefaced +shameful +shamefully +shamefulness +shamefulness's +shameless +shamelessly +shames +shaming +shammed +shammies +shamming +shammy +shammy's +shampoo +shampoo's +shampooed +shampooing +shampoos +shamrock +shamrock's +shamrocks +shams +shan't +shandy +shanghai +shanghaied +shanghaiing +shanghais +shank +shank's +shanks +shanties +shantung +shantung's +shanty +shanty's +shantytown +shantytown's +shantytowns +shape +shape's +shaped +shapeless +shapelessly +shapelessness +shapelessness's +shapelier +shapeliest +shapeliness +shapeliness's +shapely +shapes +shaping +shard +shard's +shards +share +share's +sharecropper +sharecropper's +sharecroppers +shared +shareholder +shareholder's +shareholders +shares +sharing +shark +shark's +sharked +sharking +sharks +sharkskin +sharkskin's +sharp +sharp's +sharped +sharpen +sharpened +sharpener +sharpener's +sharpeners +sharpening +sharpens +sharper +sharper's +sharpers +sharpest +sharping +sharply +sharpness +sharpness's +sharps +sharpshooter +sharpshooter's +sharpshooters +shat +shatter +shatter's +shattered +shattering +shatterproof +shatters +shave +shave's +shaved +shaven +shaver +shaver's +shavers +shaves +shaving +shaving's +shavings +shawl +shawl's +shawls +shaykh +shaykh's +shaykhs +she +she'd +she'll +she's +sheaf +sheaf's +shear +shear's +sheared +shearer +shearer's +shearers +shearing +shears +sheath +sheath's +sheathe +sheathed +sheathes +sheathing +sheathing's +sheathings +sheaths +sheave +sheave's +sheaves +shebang +shebang's +shebangs +shed +shed's +shedding +sheds +sheen +sheen's +sheep +sheep's +sheepdog +sheepdog's +sheepdogs +sheepfold +sheepfold's +sheepfolds +sheepish +sheepishly +sheepishness +sheepishness's +sheepskin +sheepskin's +sheepskins +sheer +sheer's +sheered +sheerer +sheerest +sheering +sheers +sheet +sheet's +sheeting +sheeting's +sheets +sheik +sheik's +sheikdom +sheikdom's +sheikdoms +sheikh +sheikh's +sheikhdom +sheikhdom's +sheikhdoms +sheikhs +sheiks +shekel +shekel's +shekels +shelf +shelf's +shell +shell's +shellac +shellac's +shellacked +shellacking +shellacs +shelled +sheller +shellfish +shellfish's +shellfishes +shelling +shells +shelter +shelter's +sheltered +sheltering +shelters +shelve +shelved +shelves +shelving +shelving's +shenanigan +shenanigan's +shenanigans +shepherd +shepherd's +shepherded +shepherdess +shepherdess's +shepherdesses +shepherding +shepherds +sherbert +sherbert's +sherberts +sherbet +sherbet's +sherbets +sherd +sherd's +sherds +sheriff +sheriff's +sheriffs +sherries +sherry +sherry's +shes +shibboleth +shibboleth's +shibboleths +shied +shield +shield's +shielded +shielding +shields +shies +shift +shift's +shifted +shiftier +shiftiest +shiftily +shiftiness +shiftiness's +shifting +shiftless +shiftlessness +shiftlessness's +shifts +shifty +shill +shill's +shillalah +shillalah's +shillalahs +shilled +shillelagh +shillelagh's +shillelaghs +shilling +shilling's +shillings +shills +shim +shim's +shimmed +shimmer +shimmer's +shimmered +shimmering +shimmers +shimmery +shimmied +shimmies +shimming +shimmy +shimmy's +shimmying +shims +shin +shin's +shinbone +shinbone's +shinbones +shindig +shindig's +shindigs +shine +shine's +shined +shiner +shiner's +shiners +shines +shingle +shingle's +shingled +shingles +shingling +shinier +shiniest +shininess +shininess's +shining +shinned +shinnied +shinnies +shinning +shinny +shinnying +shins +shiny +ship +ship's +shipboard +shipboard's +shipboards +shipbuilder +shipbuilder's +shipbuilders +shipbuilding +shipbuilding's +shipload +shipload's +shiploads +shipmate +shipmate's +shipmates +shipment +shipment's +shipments +shipped +shipper +shipper's +shippers +shipping +shipping's +ships +shipshape +shipwreck +shipwreck's +shipwrecked +shipwrecking +shipwrecks +shipwright +shipwright's +shipwrights +shipyard +shipyard's +shipyards +shire +shire's +shires +shirk +shirked +shirker +shirker's +shirkers +shirking +shirks +shirr +shirr's +shirred +shirring +shirring's +shirrings +shirrs +shirt +shirt's +shirted +shirting +shirts +shirtsleeve +shirtsleeve's +shirtsleeves +shirttail +shirttail's +shirttails +shirtwaist +shirtwaist's +shirtwaists +shit +shit's +shits +shittier +shittiest +shitting +shitty +shiver +shiver's +shivered +shivering +shivers +shivery +shlemiel +shlemiel's +shlemiels +shlep +shlep's +shlepp +shlepp's +shlepped +shlepping +shlepps +shleps +shlock +shlocky +shoal +shoal's +shoaled +shoaling +shoals +shock +shock's +shocked +shocker +shocker's +shockers +shocking +shockingly +shockproof +shocks +shod +shodden +shoddier +shoddiest +shoddily +shoddiness +shoddiness's +shoddy +shoddy's +shoe +shoe's +shoed +shoehorn +shoehorn's +shoehorned +shoehorning +shoehorns +shoeing +shoelace +shoelace's +shoelaces +shoemaker +shoemaker's +shoemakers +shoes +shoeshine +shoeshine's +shoeshines +shoestring +shoestring's +shoestrings +shogun +shogun's +shoguns +shone +shoo +shooed +shooing +shook +shoon +shoos +shoot +shoot's +shooter +shooter's +shooters +shooting +shooting's +shootings +shootout +shootout's +shootouts +shoots +shop +shop's +shopkeeper +shopkeeper's +shopkeepers +shoplift +shoplifted +shoplifter +shoplifter's +shoplifters +shoplifting +shoplifting's +shoplifts +shopped +shopper +shopper's +shoppers +shopping +shopping's +shops +shoptalk +shoptalk's +shopworn +shore +shore's +shored +shoreline +shoreline's +shorelines +shores +shoring +shorn +short +short's +shortage +shortage's +shortages +shortbread +shortbread's +shortcake +shortcake's +shortcakes +shortchange +shortchanged +shortchanges +shortchanging +shortcoming +shortcoming's +shortcomings +shortcut +shortcut's +shortcuts +shorted +shorten +shortened +shortening +shortening's +shortenings +shortens +shorter +shortest +shortfall +shortfall's +shortfalls +shorthand +shorthand's +shorthorn +shorthorn's +shorthorns +shorting +shortish +shortlist +shortly +shortness +shortness's +shorts +shortsighted +shortsightedly +shortsightedness +shortsightedness's +shortstop +shortstop's +shortstops +shortwave +shortwave's +shortwaves +shot +shot's +shotgun +shotgun's +shotgunned +shotgunning +shotguns +shots +should +shoulder +shoulder's +shouldered +shouldering +shoulders +shouldn't +shout +shout's +shouted +shouting +shouts +shove +shove's +shoved +shovel +shovel's +shoveled +shovelful +shovelful's +shovelfuls +shoveling +shovelled +shovelling +shovels +shoves +shoving +show +show's +showbiz +showbiz's +showboat +showboat's +showboated +showboating +showboats +showcase +showcase's +showcased +showcases +showcasing +showdown +showdown's +showdowns +showed +shower +shower's +showered +showering +showers +showery +showgirl +showgirl's +showgirls +showier +showiest +showily +showiness +showiness's +showing +showing's +showings +showman +showman's +showmanship +showmanship's +showmen +shown +showoff +showoff's +showoffs +showpiece +showpiece's +showpieces +showplace +showplace's +showplaces +showroom +showroom's +showrooms +shows +showy +shrank +shrapnel +shrapnel's +shred +shred's +shredded +shredder +shredder's +shredders +shredding +shreds +shrew +shrew's +shrewd +shrewder +shrewdest +shrewdly +shrewdness +shrewdness's +shrewish +shrews +shriek +shriek's +shrieked +shrieking +shrieks +shrift +shrift's +shrike +shrike's +shrikes +shrill +shrilled +shriller +shrillest +shrilling +shrillness +shrillness's +shrills +shrilly +shrimp +shrimp's +shrimped +shrimping +shrimps +shrine +shrine's +shrines +shrink +shrink's +shrinkable +shrinkage +shrinkage's +shrinking +shrinks +shrive +shrived +shrivel +shriveled +shriveling +shrivelled +shrivelling +shrivels +shriven +shrives +shriving +shroud +shroud's +shrouded +shrouding +shrouds +shrove +shrub +shrub's +shrubberies +shrubbery +shrubbery's +shrubbier +shrubbiest +shrubby +shrubs +shrug +shrug's +shrugged +shrugging +shrugs +shrunk +shrunken +shtick +shtick's +shticks +shtik +shtik's +shtiks +shuck +shuck's +shucked +shucking +shucks +shuckses +shudder +shudder's +shuddered +shuddering +shudders +shuffle +shuffle's +shuffleboard +shuffleboard's +shuffleboards +shuffled +shuffler +shuffler's +shufflers +shuffles +shuffling +shun +shunned +shunning +shuns +shunt +shunt's +shunted +shunting +shunts +shush +shushed +shushes +shushing +shut +shutdown +shutdown's +shutdowns +shuteye +shuteye's +shutout +shutout's +shutouts +shuts +shutter +shutter's +shutterbug +shutterbug's +shutterbugs +shuttered +shuttering +shutters +shutting +shuttle +shuttle's +shuttlecock +shuttlecock's +shuttlecocked +shuttlecocking +shuttlecocks +shuttled +shuttles +shuttling +shy +shy's +shyer +shyest +shying +shyly +shyness +shyness's +shyster +shyster's +shysters +sibilant +sibilant's +sibilants +sibling +sibling's +siblings +sibyl +sibyl's +sibyls +sic +sick +sickbed +sickbed's +sickbeds +sicked +sicken +sickened +sickening +sickeningly +sickens +sicker +sickest +sicking +sickle +sickle's +sickles +sicklier +sickliest +sickly +sickness +sickness's +sicknesses +sicks +sics +side +side's +sidearm +sidearm's +sidearms +sidebar +sidebar's +sidebars +sideboard +sideboard's +sideboards +sideburns +sideburns's +sidecar +sidecar's +sidecars +sided +sidekick +sidekick's +sidekicks +sidelight +sidelight's +sidelights +sideline +sideline's +sidelined +sidelines +sidelining +sidelong +sidereal +sides +sidesaddle +sidesaddle's +sidesaddles +sideshow +sideshow's +sideshows +sidesplitting +sidestep +sidestep's +sidestepped +sidestepping +sidesteps +sidestroke +sidestroke's +sidestroked +sidestrokes +sidestroking +sideswipe +sideswipe's +sideswiped +sideswipes +sideswiping +sidetrack +sidetrack's +sidetracked +sidetracking +sidetracks +sidewalk +sidewalk's +sidewalks +sidewall +sidewall's +sidewalls +sideways +sidewise +siding +siding's +sidings +sidle +sidle's +sidled +sidles +sidling +siege +siege's +sieges +sierra +sierra's +sierras +siesta +siesta's +siestas +sieve +sieve's +sieved +sieves +sieving +sift +sifted +sifter +sifter's +sifters +sifting +sifts +sigh +sigh's +sighed +sighing +sighs +sight +sight's +sighted +sighting +sighting's +sightings +sightless +sightread +sights +sightseeing +sightseeing's +sightseer +sightseer's +sightseers +sigma +sign +sign's +signal +signal's +signaled +signaling +signalize +signalized +signalizes +signalizing +signalled +signalling +signally +signals +signatories +signatory +signatory's +signature +signature's +signatures +signboard +signboard's +signboards +signed +signer +signer's +signers +signet +signet's +signets +significance +significance's +significant +significantly +signification +signification's +significations +signified +signifies +signify +signifying +signing +signing's +signings +signpost +signpost's +signposted +signposting +signposts +signs +silage +silage's +silence +silence's +silenced +silencer +silencer's +silencers +silences +silencing +silent +silent's +silenter +silentest +silently +silents +silhouette +silhouette's +silhouetted +silhouettes +silhouetting +silica +silica's +silicate +silicate's +silicates +siliceous +silicious +silicon +silicon's +silicone +silicone's +silicosis +silicosis's +silk +silk's +silken +silkier +silkiest +silks +silkworm +silkworm's +silkworms +silky +sill +sill's +sillier +sillies +silliest +silliness +silliness's +sills +silly +silly's +silo +silo's +silos +silt +silt's +silted +silting +silts +silvan +silver +silver's +silvered +silverfish +silverfish's +silverfishes +silvering +silvers +silversmith +silversmith's +silversmiths +silverware +silverware's +silvery +simian +simian's +simians +similar +similarities +similarity +similarity's +similarly +simile +simile's +similes +simmer +simmer's +simmered +simmering +simmers +simpatico +simper +simper's +simpered +simpering +simpers +simple +simpleness +simpleness's +simpler +simplest +simpleton +simpleton's +simpletons +simplex +simplicity +simplicity's +simplification +simplification's +simplifications +simplified +simplifies +simplify +simplifying +simplistic +simply +simulate +simulated +simulates +simulating +simulation +simulation's +simulations +simulator +simulator's +simulators +simulcast +simulcast's +simulcasted +simulcasting +simulcasts +simultaneous +simultaneously +sin +sin's +since +sincere +sincerely +sincerer +sincerest +sincerity +sincerity's +sine +sinecure +sinecure's +sinecures +sinew +sinew's +sinews +sinewy +sinful +sinfully +sinfulness +sinfulness's +sing +sing's +singe +singe's +singed +singeing +singer +singer's +singers +singes +singing +singing's +single +single's +singled +singles +singles's +singleton +singleton's +singletons +singling +singly +sings +singsong +singsong's +singsonged +singsonging +singsongs +singular +singular's +singularities +singularity +singularity's +singularly +singulars +sinister +sink +sink's +sinkable +sinker +sinker's +sinkers +sinkhole +sinkhole's +sinkholes +sinking +sinks +sinned +sinner +sinner's +sinners +sinning +sins +sinuous +sinus +sinus's +sinuses +sinusitis +sinusitis's +sinusoidal +sip +sip's +siphon +siphon's +siphoned +siphoning +siphons +sipped +sipping +sips +sir +sir's +sire +sire's +sired +siren +siren's +sirens +sires +siring +sirloin +sirloin's +sirloins +sirocco +sirocco's +siroccos +sirs +sirup +sirup's +sirups +sis +sis's +sisal +sisal's +sises +sissier +sissies +sissiest +sissy +sissy's +sister +sister's +sisterhood +sisterhood's +sisterhoods +sisterly +sisters +sit +sitar +sitar's +sitars +sitcom +sitcom's +sitcoms +site +site's +sited +sites +siting +sits +sitter +sitter's +sitters +sitting +sitting's +sittings +situate +situated +situates +situating +situation +situation's +situations +six +six's +sixes +sixpence +sixpence's +sixpences +sixteen +sixteen's +sixteens +sixteenth +sixteenth's +sixteenths +sixth +sixth's +sixths +sixties +sixtieth +sixtieth's +sixtieths +sixty +sixty's +sizable +size +size's +sizeable +sized +sizer +sizes +sizing +sizing's +sizzle +sizzle's +sizzled +sizzles +sizzling +skate +skate's +skateboard +skateboard's +skateboarded +skateboarder +skateboarder's +skateboarders +skateboarding +skateboarding's +skateboards +skated +skater +skater's +skaters +skates +skating +skedaddle +skedaddle's +skedaddled +skedaddles +skedaddling +skeet +skeet's +skein +skein's +skeins +skeletal +skeleton +skeleton's +skeletons +skeptic +skeptic's +skeptical +skeptically +skepticism +skepticism's +skeptics +sketch +sketch's +sketched +sketches +sketchier +sketchiest +sketching +sketchy +skew +skew's +skewed +skewer +skewer's +skewered +skewering +skewers +skewing +skews +ski +ski's +skid +skid's +skidded +skidding +skids +skied +skier +skier's +skiers +skies +skiff +skiff's +skiffs +skiing +skiing's +skilful +skill +skill's +skilled +skillet +skillet's +skillets +skillful +skillfully +skills +skim +skim's +skimmed +skimming +skimp +skimped +skimpier +skimpiest +skimpiness +skimpiness's +skimping +skimps +skimpy +skims +skin +skin's +skinflint +skinflint's +skinflints +skinhead +skinhead's +skinheads +skinless +skinned +skinnier +skinniest +skinniness +skinniness's +skinning +skinny +skinny's +skins +skintight +skip +skip's +skipped +skipper +skipper's +skippered +skippering +skippers +skipping +skips +skirmish +skirmish's +skirmished +skirmishes +skirmishing +skirt +skirt's +skirted +skirting +skirts +skis +skit +skit's +skits +skitter +skittered +skittering +skitters +skittish +skivvied +skivvies +skivvy +skivvy's +skivvying +skulduggery +skulduggery's +skulk +skulked +skulking +skulks +skull +skull's +skullcap +skullcap's +skullcaps +skullduggery +skullduggery's +skulls +skunk +skunk's +skunked +skunking +skunks +sky +sky's +skycap +skycap's +skycaps +skydive +skydived +skydiver +skydiver's +skydivers +skydives +skydiving +skydiving's +skydove +skyed +skying +skyjack +skyjacked +skyjacker +skyjacker's +skyjackers +skyjacking +skyjacks +skylark +skylark's +skylarked +skylarking +skylarks +skylight +skylight's +skylights +skyline +skyline's +skylines +skyrocket +skyrocket's +skyrocketed +skyrocketing +skyrockets +skyscraper +skyscraper's +skyscrapers +skyward +skywards +skywriter +skywriter's +skywriters +skywriting +skywriting's +slab +slab's +slabbed +slabbing +slabs +slack +slack's +slacked +slacken +slackened +slackening +slackens +slacker +slacker's +slackers +slackest +slacking +slackly +slackness +slackness's +slacks +slacks's +slag +slag's +slags +slain +slake +slaked +slakes +slaking +slalom +slalom's +slalomed +slaloming +slaloms +slam +slam's +slammed +slammer +slammer's +slammers +slamming +slams +slander +slander's +slandered +slanderer +slanderer's +slanderers +slandering +slanderous +slanders +slang +slang's +slangier +slangiest +slangy +slant +slant's +slanted +slanting +slants +slantwise +slap +slap's +slapdash +slaphappier +slaphappiest +slaphappy +slapped +slapping +slaps +slapstick +slapstick's +slash +slash's +slashed +slashes +slashing +slat +slat's +slate +slate's +slated +slates +slather +slathered +slathering +slathers +slating +slats +slattern +slattern's +slatternly +slatterns +slaughter +slaughter's +slaughtered +slaughterer +slaughterer's +slaughterers +slaughterhouse +slaughterhouse's +slaughterhouses +slaughtering +slaughters +slave +slave's +slaved +slaver +slaver's +slavered +slavering +slavers +slavery +slavery's +slaves +slaving +slavish +slavishly +slaw +slaw's +slay +slayer +slayer's +slayers +slaying +slaying's +slayings +slays +sleaze +sleaze's +sleazes +sleazier +sleaziest +sleazily +sleaziness +sleaziness's +sleazy +sled +sled's +sledded +sledding +sledge +sledge's +sledged +sledgehammer +sledgehammer's +sledgehammered +sledgehammering +sledgehammers +sledges +sledging +sleds +sleek +sleeked +sleeker +sleekest +sleeking +sleekly +sleekness +sleekness's +sleeks +sleep +sleep's +sleeper +sleeper's +sleepers +sleepier +sleepiest +sleepily +sleepiness +sleepiness's +sleeping +sleepless +sleeplessness +sleeplessness's +sleeps +sleepwalk +sleepwalked +sleepwalker +sleepwalker's +sleepwalkers +sleepwalking +sleepwalking's +sleepwalks +sleepwear +sleepwear's +sleepy +sleepyhead +sleepyhead's +sleepyheads +sleet +sleet's +sleeted +sleetier +sleetiest +sleeting +sleets +sleety +sleeve +sleeve's +sleeveless +sleeves +sleigh +sleigh's +sleighed +sleighing +sleighs +slender +slenderer +slenderest +slenderize +slenderized +slenderizes +slenderizing +slenderness +slenderness's +slept +sleuth +sleuth's +sleuths +slew +slew's +slewed +slewing +slews +slice +slice's +sliced +slicer +slicer's +slicers +slices +slicing +slick +slick's +slicked +slicker +slicker's +slickers +slickest +slicking +slickly +slickness +slickness's +slicks +slid +slide +slide's +slider +slider's +sliders +slides +sliding +slier +sliest +slight +slight's +slighted +slighter +slightest +slighting +slightly +slightness +slightness's +slights +slily +slim +slime +slime's +slimier +slimiest +slimmed +slimmer +slimmest +slimming +slimness +slimness's +slims +slimy +sling +sling's +slinging +slings +slingshot +slingshot's +slingshots +slink +slinked +slinkier +slinkiest +slinking +slinks +slinky +slip +slip's +slipcover +slipcover's +slipcovers +slipknot +slipknot's +slipknots +slippage +slippage's +slippages +slipped +slipper +slipper's +slipperier +slipperiest +slipperiness +slipperiness's +slippers +slippery +slipping +slips +slipshod +slit +slit's +slither +slither's +slithered +slithering +slithers +slithery +slits +slitter +slitting +sliver +sliver's +slivered +slivering +slivers +slob +slob's +slobber +slobber's +slobbered +slobbering +slobbers +slobs +sloe +sloe's +sloes +slog +slog's +slogan +slogan's +slogans +slogged +slogging +slogs +sloop +sloop's +sloops +slop +slop's +slope +slope's +sloped +slopes +sloping +slopped +sloppier +sloppiest +sloppily +sloppiness +sloppiness's +slopping +sloppy +slops +slosh +sloshed +sloshes +sloshing +slot +slot's +sloth +sloth's +slothful +slothfulness +slothfulness's +sloths +slots +slotted +slotting +slouch +slouch's +slouched +slouches +slouchier +slouchiest +slouching +slouchy +slough +slough's +sloughed +sloughing +sloughs +sloven +sloven's +slovenlier +slovenliest +slovenliness +slovenliness's +slovenly +slovens +slow +slowdown +slowdown's +slowdowns +slowed +slower +slowest +slowing +slowly +slowness +slowness's +slowpoke +slowpoke's +slowpokes +slows +sludge +sludge's +slue +slue's +slued +slues +slug +slug's +sluggard +sluggard's +sluggards +slugged +slugger +slugger's +sluggers +slugging +sluggish +sluggishly +sluggishness +sluggishness's +slugs +sluice +sluice's +sluiced +sluices +sluicing +sluing +slum +slum's +slumber +slumber's +slumbered +slumbering +slumberous +slumbers +slumbrous +slumlord +slumlord's +slumlords +slummed +slummer +slumming +slump +slump's +slumped +slumping +slumps +slums +slung +slunk +slur +slur's +slurp +slurp's +slurped +slurping +slurps +slurred +slurring +slurs +slush +slush's +slushier +slushiest +slushy +slut +slut's +sluts +sluttish +sly +slyer +slyest +slyly +slyness +slyness's +smack +smack's +smacked +smacker +smacker's +smackers +smacking +smacks +small +small's +smaller +smallest +smallish +smallness +smallness's +smallpox +smallpox's +smalls +smarmier +smarmiest +smarmy +smart +smart's +smarted +smarten +smartened +smartening +smartens +smarter +smartest +smarting +smartly +smartness +smartness's +smarts +smarts's +smash +smash's +smashed +smashes +smashing +smattering +smattering's +smatterings +smear +smear's +smeared +smearing +smears +smell +smell's +smelled +smellier +smelliest +smelling +smells +smelly +smelt +smelt's +smelted +smelter +smelter's +smelters +smelting +smelts +smidge +smidge's +smidgen +smidgen's +smidgens +smidgeon +smidgeon's +smidgeons +smidges +smidgin +smidgin's +smidgins +smile +smile's +smiled +smiles +smiling +smilingly +smirch +smirch's +smirched +smirches +smirching +smirk +smirk's +smirked +smirking +smirks +smit +smite +smites +smith +smith's +smithereens +smithereens's +smithies +smiths +smithy +smithy's +smiting +smitten +smock +smock's +smocked +smocking +smocking's +smocks +smog +smog's +smoggier +smoggiest +smoggy +smoke +smoke's +smoked +smokehouse +smokehouse's +smokehouses +smokeless +smoker +smoker's +smokers +smokes +smokestack +smokestack's +smokestacks +smokier +smokiest +smokiness +smokiness's +smoking +smoking's +smoky +smolder +smolder's +smoldered +smoldering +smolders +smooch +smooch's +smooched +smooches +smooching +smooth +smoothed +smoother +smoothes +smoothest +smoothing +smoothly +smoothness +smoothness's +smooths +smote +smother +smother's +smothered +smothering +smothers +smoulder +smoulder's +smouldered +smouldering +smoulders +smudge +smudge's +smudged +smudges +smudgier +smudgiest +smudging +smudgy +smug +smugger +smuggest +smuggle +smuggled +smuggler +smuggler's +smugglers +smuggles +smuggling +smuggling's +smugly +smugness +smugness's +smut +smut's +smuts +smuttier +smuttiest +smutty +snack +snack's +snacked +snacking +snacks +snaffle +snaffle's +snaffled +snaffles +snaffling +snafu +snafu's +snafus +snag +snag's +snagged +snagging +snags +snail +snail's +snailed +snailing +snails +snake +snake's +snakebite +snakebite's +snakebites +snaked +snakes +snakier +snakiest +snaking +snaky +snap +snap's +snapdragon +snapdragon's +snapdragons +snapped +snapper +snapper's +snappers +snappier +snappiest +snapping +snappish +snappy +snaps +snapshot +snapshot's +snapshots +snare +snare's +snared +snares +snaring +snarl +snarl's +snarled +snarling +snarls +snatch +snatch's +snatched +snatches +snatching +snazzier +snazziest +snazzy +sneak +sneak's +sneaked +sneaker +sneaker's +sneakers +sneakier +sneakiest +sneaking +sneaks +sneaky +sneer +sneer's +sneered +sneering +sneeringly +sneers +sneeze +sneeze's +sneezed +sneezes +sneezing +snicker +snicker's +snickered +snickering +snickers +snide +snider +snidest +sniff +sniff's +sniffed +sniffing +sniffle +sniffle's +sniffled +sniffles +sniffling +sniffs +snifter +snifter's +snifters +snigger +snigger's +sniggered +sniggering +sniggers +snip +snip's +snipe +snipe's +sniped +sniper +sniper's +snipers +snipes +sniping +snipped +snippet +snippet's +snippets +snippier +snippiest +snipping +snippy +snips +snit +snit's +snitch +snitch's +snitched +snitches +snitching +snits +snivel +snivel's +sniveled +sniveling +snivelled +snivelling +snivels +snob +snob's +snobbery +snobbery's +snobbier +snobbiest +snobbish +snobbishness +snobbishness's +snobby +snobs +snooker +snoop +snoop's +snooped +snooper +snooper's +snoopers +snoopier +snoopiest +snooping +snoops +snoopy +snoot +snoot's +snootier +snootiest +snootiness +snootiness's +snoots +snooty +snooze +snooze's +snoozed +snoozes +snoozing +snore +snore's +snored +snorer +snorer's +snorers +snores +snoring +snorkel +snorkel's +snorkeled +snorkeler +snorkeler's +snorkelers +snorkeling +snorkeling's +snorkelled +snorkelling +snorkels +snort +snort's +snorted +snorting +snorts +snot +snot's +snots +snottier +snottiest +snotty +snout +snout's +snouts +snow +snow's +snowball +snowball's +snowballed +snowballing +snowballs +snowboard +snowboard's +snowboarded +snowboarding +snowboarding's +snowboards +snowbound +snowdrift +snowdrift's +snowdrifts +snowdrop +snowdrop's +snowdrops +snowed +snowfall +snowfall's +snowfalls +snowflake +snowflake's +snowflakes +snowier +snowiest +snowing +snowman +snowman's +snowmen +snowmobile +snowmobile's +snowmobiled +snowmobiles +snowmobiling +snowplow +snowplow's +snowplowed +snowplowing +snowplows +snows +snowshed +snowshoe +snowshoe's +snowshoeing +snowshoes +snowstorm +snowstorm's +snowstorms +snowsuit +snowsuit's +snowsuits +snowy +snub +snub's +snubbed +snubbing +snubs +snuck +snuff +snuff's +snuffbox +snuffbox's +snuffboxes +snuffed +snuffer +snuffer's +snuffers +snuffing +snuffle +snuffle's +snuffled +snuffles +snuffling +snuffs +snug +snug's +snugged +snugger +snuggest +snugging +snuggle +snuggle's +snuggled +snuggles +snuggling +snugly +snugs +so +so's +soak +soak's +soaked +soaking +soaking's +soakings +soaks +soap +soap's +soapbox +soapbox's +soapboxes +soaped +soapier +soapiest +soapiness +soapiness's +soaping +soaps +soapstone +soapstone's +soapsuds +soapsuds's +soapy +soar +soar's +soared +soaring +soars +sob +sob's +sobbed +sobbing +sober +sobered +soberer +soberest +sobering +soberly +soberness +soberness's +sobers +sobriety +sobriety's +sobriquet +sobriquet's +sobriquets +sobs +soccer +soccer's +sociability +sociability's +sociable +sociable's +sociables +sociably +social +social's +socialism +socialism's +socialist +socialist's +socialistic +socialists +socialite +socialite's +socialites +socialization +socialization's +socialize +socialized +socializes +socializing +socially +socials +societal +societies +society +society's +socioeconomic +sociological +sociologist +sociologist's +sociologists +sociology +sociology's +sociopath +sociopath's +sociopaths +sock +sock's +socked +socket +socket's +sockets +socking +socks +sod +sod's +soda +soda's +sodas +sodded +sodden +sodding +sodium +sodium's +sodomite +sodomite's +sodomites +sodomy +sodomy's +sods +sofa +sofa's +sofas +soft +softball +softball's +softballs +soften +softened +softener +softener's +softeners +softening +softens +softer +softest +softhearted +softie +softie's +softies +softly +softness +softness's +software +software's +softwood +softwood's +softwoods +softy +softy's +soggier +soggiest +soggily +sogginess +sogginess's +soggy +soil +soil's +soiled +soiling +soils +sojourn +sojourn's +sojourned +sojourning +sojourns +sol +sol's +solace +solace's +solaced +solaces +solacing +solar +solaria +solarium +solarium's +solariums +sold +solder +solder's +soldered +soldering +solders +soldier +soldier's +soldiered +soldiering +soldierly +soldiers +sole +sole's +solecism +solecism's +solecisms +soled +solely +solemn +solemner +solemnest +solemnity +solemnity's +solemnize +solemnized +solemnizes +solemnizing +solemnly +solenoid +solenoid's +solenoids +soles +soli +solicit +solicitation +solicitation's +solicitations +solicited +soliciting +solicitor +solicitor's +solicitors +solicitous +solicitously +solicits +solicitude +solicitude's +solid +solid's +solidarity +solidarity's +solider +solidest +solidification +solidification's +solidified +solidifies +solidify +solidifying +solidity +solidity's +solidly +solidness +solidness's +solids +soliloquies +soliloquize +soliloquized +soliloquizes +soliloquizing +soliloquy +soliloquy's +soling +solitaire +solitaire's +solitaires +solitaries +solitary +solitary's +solitude +solitude's +solo +solo's +soloed +soloing +soloist +soloist's +soloists +solos +sols +solstice +solstice's +solstices +solubility +solubility's +soluble +soluble's +solubles +solution +solution's +solutions +solvable +solve +solved +solvency +solvency's +solvent +solvent's +solvents +solver +solver's +solvers +solves +solving +somber +somberly +sombre +sombrely +sombrero +sombrero's +sombreros +some +somebodies +somebody +somebody's +someday +somehow +someone +someone's +someones +someplace +somersault +somersault's +somersaulted +somersaulting +somersaults +something +something's +somethings +sometime +sometimes +someway +somewhat +somewhats +somewhere +somnambulism +somnambulism's +somnambulist +somnambulist's +somnambulists +somnolence +somnolence's +somnolent +son +son's +sonar +sonar's +sonars +sonata +sonata's +sonatas +song +song's +songbird +songbird's +songbirds +songs +songster +songster's +songsters +songwriter +songwriter's +songwriters +sonic +sonnet +sonnet's +sonnets +sonnies +sonny +sonny's +sonority +sonority's +sonorous +sons +soon +sooner +soonest +soot +soot's +sooth +sooth's +soothe +soothed +soothes +soothing +soothingly +soothsayer +soothsayer's +soothsayers +sootier +sootiest +sooty +sop +sop's +sophism +sophism's +sophist +sophist's +sophisticate +sophisticate's +sophisticated +sophisticates +sophisticating +sophistication +sophistication's +sophistries +sophistry +sophistry's +sophists +sophomore +sophomore's +sophomores +sophomoric +soporific +soporific's +soporifics +sopped +soppier +soppiest +sopping +soppy +soprano +soprano's +sopranos +sops +sorbet +sorbet's +sorbets +sorcerer +sorcerer's +sorcerers +sorceress +sorceress's +sorceresses +sorcery +sorcery's +sordid +sordidly +sordidness +sordidness's +sore +sore's +sorehead +sorehead's +soreheads +sorely +soreness +soreness's +sorer +sores +sorest +sorghum +sorghum's +sororities +sorority +sorority's +sorrel +sorrel's +sorrels +sorrier +sorriest +sorrow +sorrow's +sorrowed +sorrowful +sorrowfully +sorrowing +sorrows +sorry +sort +sort's +sorta +sorted +sorter +sorter's +sorters +sortie +sortie's +sortied +sortieing +sorties +sorting +sorts +sos +sot +sot's +sots +sottish +sou'wester +soubriquet +soubriquet's +soubriquets +sough +sough's +soughed +soughing +soughs +sought +soul +soul's +soulful +soulfully +soulfulness +soulfulness's +soulless +souls +sound +sound's +sounded +sounder +soundest +sounding +sounding's +soundings +soundless +soundlessly +soundly +soundness +soundness's +soundproof +soundproofed +soundproofing +soundproofs +sounds +soundtrack +soundtrack's +soundtracks +soup +soup's +souped +soupier +soupiest +souping +soups +soupy +sour +sour's +source +source's +sourced +sources +sourcing +sourdough +sourdough's +sourdoughs +soured +sourer +sourest +souring +sourly +sourness +sourness's +sourpuss +sourpuss's +sourpusses +sours +souse +souse's +soused +souses +sousing +south +south's +southbound +southeast +southeast's +southeasterly +southeastern +southeastward +southerlies +southerly +southerly's +southern +southern's +southerner +southerner's +southerners +southernmost +southerns +southpaw +southpaw's +southpaws +southward +southward's +southwards +southwest +southwest's +southwester +southwester's +southwesterly +southwestern +southwesters +southwestward +souvenir +souvenir's +souvenirs +sovereign +sovereign's +sovereigns +sovereignty +sovereignty's +soviet +soviet's +soviets +sow +sow's +sowed +sower +sower's +sowers +sowing +sown +sows +sox +soy +soy's +soya +soya's +soybean +soybean's +soybeans +spa +spa's +space +space's +spacecraft +spacecraft's +spacecrafts +spaced +spaceflight +spaceflight's +spaceflights +spaceman +spaceman's +spacemen +spaces +spaceship +spaceship's +spaceships +spacesuit +spacesuit's +spacesuits +spacewalk +spacewalk's +spacewalked +spacewalking +spacewalks +spacey +spacial +spacier +spaciest +spacing +spacing's +spacious +spaciously +spaciousness +spaciousness's +spacy +spade +spade's +spaded +spadeful +spadeful's +spadefuls +spades +spadework +spadework's +spading +spaghetti +spaghetti's +spake +spammer +spammer's +spammers +span +span's +spandex +spandex's +spangle +spangle's +spangled +spangles +spangling +spaniel +spaniel's +spaniels +spank +spank's +spanked +spanking +spanking's +spankings +spanks +spanned +spanner +spanner's +spanners +spanning +spans +spar +spar's +spare +spare's +spared +sparely +spareness +spareness's +sparer +spareribs +spareribs's +spares +sparest +sparing +sparingly +spark +spark's +sparked +sparking +sparkle +sparkle's +sparkled +sparkler +sparkler's +sparklers +sparkles +sparkling +sparks +sparred +sparring +sparrow +sparrow's +sparrows +spars +sparse +sparsely +sparseness +sparseness's +sparser +sparsest +sparsity +sparsity's +spartan +spas +spasm +spasm's +spasmodic +spasmodically +spasms +spastic +spastic's +spastics +spat +spat's +spate +spate's +spates +spatial +spatially +spats +spatted +spatter +spatter's +spattered +spattering +spatters +spatting +spatula +spatula's +spatulas +spawn +spawn's +spawned +spawning +spawns +spay +spayed +spaying +spays +speak +speakeasies +speakeasy +speakeasy's +speaker +speaker's +speakers +speaking +speaks +spear +spear's +speared +spearhead +spearhead's +spearheaded +spearheading +spearheads +spearing +spearmint +spearmint's +spears +spec +spec's +specced +speccing +special +special's +specialist +specialist's +specialists +specialization +specialization's +specializations +specialize +specialized +specializes +specializing +specially +specials +specialties +specialty +specialty's +specie +specie's +species +species's +specifiable +specific +specific's +specifically +specification +specification's +specifications +specifics +specified +specifier +specifiers +specifies +specify +specifying +specimen +specimen's +specimens +specious +speciously +speck +speck's +specked +specking +speckle +speckle's +speckled +speckles +speckling +specks +specs +specs's +spectacle +spectacle's +spectacles +spectacles's +spectacular +spectacular's +spectacularly +spectaculars +spectator +spectator's +spectators +specter +specter's +specters +spectra +spectral +spectroscope +spectroscope's +spectroscopes +spectroscopic +spectroscopy +spectroscopy's +spectrum +spectrum's +spectrums +speculate +speculated +speculates +speculating +speculation +speculation's +speculations +speculative +speculator +speculator's +speculators +sped +speech +speech's +speeches +speechless +speed +speed's +speedboat +speedboat's +speedboats +speeded +speeder +speeder's +speeders +speedier +speediest +speedily +speeding +speeding's +speedometer +speedometer's +speedometers +speeds +speedster +speedster's +speedsters +speedup +speedup's +speedups +speedway +speedway's +speedways +speedy +spell +spell's +spellbind +spellbinder +spellbinder's +spellbinders +spellbinding +spellbinds +spellbound +spelled +speller +speller's +spellers +spelling +spelling's +spellings +spells +spelt +spelunker +spelunker's +spelunkers +spend +spender +spender's +spenders +spending +spending's +spends +spendthrift +spendthrift's +spendthrifts +spent +sperm +sperm's +spermatozoa +spermatozoon +spermatozoon's +spermicide +spermicide's +spermicides +sperms +spew +spew's +spewed +spewing +spews +sphere +sphere's +spheres +spherical +spheroid +spheroid's +spheroidal +spheroids +sphincter +sphincter's +sphincters +sphinges +sphinx +sphinx's +sphinxes +spice +spice's +spiced +spices +spicier +spiciest +spiciness +spiciness's +spicing +spicy +spider +spider's +spiderier +spideriest +spiders +spidery +spied +spiel +spiel's +spieled +spieling +spiels +spies +spiffier +spiffiest +spiffy +spigot +spigot's +spigots +spike +spike's +spiked +spikes +spikier +spikiest +spiking +spiky +spill +spill's +spillage +spillage's +spillages +spilled +spilling +spills +spillway +spillway's +spillways +spilt +spin +spin's +spinach +spinach's +spinal +spinal's +spinals +spindle +spindle's +spindled +spindles +spindlier +spindliest +spindling +spindly +spine +spine's +spineless +spines +spinet +spinet's +spinets +spinier +spiniest +spinnaker +spinnaker's +spinnakers +spinner +spinner's +spinners +spinning +spinoff +spinoff's +spinoffs +spins +spinster +spinster's +spinsterhood +spinsterhood's +spinsters +spiny +spiraea +spiraea's +spiraeas +spiral +spiral's +spiraled +spiraling +spiralled +spiralling +spirally +spirals +spire +spire's +spirea +spirea's +spireas +spires +spirit +spirit's +spirited +spiriting +spiritless +spirits +spiritual +spiritual's +spiritualism +spiritualism's +spiritualist +spiritualist's +spiritualistic +spiritualists +spirituality +spirituality's +spiritually +spirituals +spirituous +spit +spit's +spitball +spitball's +spitballs +spite +spite's +spited +spiteful +spitefuller +spitefullest +spitefully +spitefulness +spitefulness's +spites +spitfire +spitfire's +spitfires +spiting +spits +spitted +spitting +spittle +spittle's +spittoon +spittoon's +spittoons +splash +splash's +splashdown +splashdown's +splashdowns +splashed +splashes +splashier +splashiest +splashing +splashy +splat +splat's +splats +splatted +splatter +splatter's +splattered +splattering +splatters +splatting +splay +splay's +splayed +splaying +splays +spleen +spleen's +spleens +splendid +splendider +splendidest +splendidly +splendor +splendor's +splenetic +splice +splice's +spliced +splicer +splicer's +splicers +splices +splicing +spline +splines +splint +splint's +splinted +splinter +splinter's +splintered +splintering +splinters +splinting +splints +split +split's +splits +splitting +splitting's +splittings +splodge +splotch +splotch's +splotched +splotches +splotchier +splotchiest +splotching +splotchy +splurge +splurge's +splurged +splurges +splurging +splutter +splutter's +spluttered +spluttering +splutters +spoil +spoil's +spoilage +spoilage's +spoiled +spoiler +spoiler's +spoilers +spoiling +spoils +spoilsport +spoilsport's +spoilsports +spoilt +spoke +spoke's +spoken +spokes +spokesman +spokesman's +spokesmen +spokespeople +spokesperson +spokesperson's +spokespersons +spokeswoman +spokeswoman's +spokeswomen +spoliation +spoliation's +sponge +sponge's +sponged +sponger +sponger's +spongers +sponges +spongier +spongiest +sponging +spongy +sponsor +sponsor's +sponsored +sponsoring +sponsors +sponsorship +sponsorship's +spontaneity +spontaneity's +spontaneous +spontaneously +spoof +spoof's +spoofed +spoofing +spoofs +spook +spook's +spooked +spookier +spookiest +spooking +spooks +spooky +spool +spool's +spooled +spooling +spools +spoon +spoon's +spoonbill +spoonbill's +spoonbills +spooned +spoonerism +spoonerism's +spoonerisms +spoonful +spoonful's +spoonfuls +spooning +spoons +spoonsful +spoor +spoor's +spoored +spooring +spoors +sporadic +sporadically +spore +spore's +spored +spores +sporing +sporran +sport +sport's +sported +sportier +sportiest +sporting +sportive +sports +sportscast +sportscast's +sportscaster +sportscaster's +sportscasters +sportscasting +sportscasts +sportsman +sportsman's +sportsmanlike +sportsmanship +sportsmanship's +sportsmen +sportswear +sportswear's +sportswoman +sportswoman's +sportswomen +sporty +spot +spot's +spotless +spotlessly +spotlessness +spotlessness's +spotlight +spotlight's +spotlighted +spotlighting +spotlights +spots +spotted +spotter +spotter's +spotters +spottier +spottiest +spottiness +spottiness's +spotting +spotty +spouse +spouse's +spouses +spout +spout's +spouted +spouting +spouts +sprain +sprain's +sprained +spraining +sprains +sprang +sprat +sprat's +sprats +sprawl +sprawl's +sprawled +sprawling +sprawls +spray +spray's +sprayed +sprayer +sprayer's +sprayers +spraying +sprays +spread +spread's +spreader +spreader's +spreaders +spreading +spreads +spreadsheet +spreadsheet's +spreadsheets +spree +spree's +spreed +spreeing +sprees +sprier +spriest +sprig +sprig's +sprightlier +sprightliest +sprightliness +sprightliness's +sprightly +sprigs +spring +spring's +springboard +springboard's +springboards +springier +springiest +springiness +springiness's +springing +springs +springtime +springtime's +springy +sprinkle +sprinkle's +sprinkled +sprinkler +sprinkler's +sprinklers +sprinkles +sprinkling +sprinkling's +sprinklings +sprint +sprint's +sprinted +sprinter +sprinter's +sprinters +sprinting +sprints +sprite +sprite's +sprites +spritz +spritz's +spritzed +spritzes +spritzing +sprocket +sprocket's +sprockets +sprout +sprout's +sprouted +sprouting +sprouts +spruce +spruce's +spruced +sprucer +spruces +sprucest +sprucing +sprung +spry +spryer +spryest +spryly +spryness +spryness's +spud +spud's +spuds +spume +spume's +spumed +spumes +spuming +spumone +spumone's +spumoni +spumoni's +spun +spunk +spunk's +spunkier +spunkiest +spunky +spur +spur's +spurious +spuriously +spuriousness +spuriousness's +spurn +spurned +spurning +spurns +spurred +spurring +spurs +spurt +spurt's +spurted +spurting +spurts +sputter +sputter's +sputtered +sputtering +sputters +sputum +sputum's +spy +spy's +spyglass +spyglass's +spyglasses +spying +squab +squab's +squabble +squabble's +squabbled +squabbles +squabbling +squabs +squad +squad's +squadron +squadron's +squadrons +squads +squalid +squalider +squalidest +squall +squall's +squalled +squalling +squalls +squalor +squalor's +squander +squandered +squandering +squanders +square +square's +squared +squarely +squareness +squareness's +squarer +squares +squarest +squaring +squash +squash's +squashed +squashes +squashier +squashiest +squashing +squashy +squat +squat's +squats +squatted +squatter +squatter's +squatters +squattest +squatting +squaw +squaw's +squawk +squawk's +squawked +squawking +squawks +squaws +squeak +squeak's +squeaked +squeakier +squeakiest +squeaking +squeaks +squeaky +squeal +squeal's +squealed +squealer +squealer's +squealers +squealing +squeals +squeamish +squeamishly +squeamishness +squeamishness's +squeegee +squeegee's +squeegeed +squeegeeing +squeegees +squeeze +squeeze's +squeezed +squeezer +squeezer's +squeezers +squeezes +squeezing +squelch +squelch's +squelched +squelches +squelching +squid +squid's +squids +squiggle +squiggle's +squiggled +squiggles +squigglier +squiggliest +squiggling +squiggly +squint +squint's +squinted +squinter +squintest +squinting +squints +squire +squire's +squired +squires +squiring +squirm +squirm's +squirmed +squirmier +squirmiest +squirming +squirms +squirmy +squirrel +squirrel's +squirreled +squirreling +squirrelled +squirrelling +squirrels +squirt +squirt's +squirted +squirting +squirts +squish +squish's +squished +squishes +squishier +squishiest +squishing +squishy +stab +stab's +stabbed +stabbing +stabbing's +stabbings +stability +stability's +stabilization +stabilization's +stabilize +stabilized +stabilizer +stabilizer's +stabilizers +stabilizes +stabilizing +stable +stable's +stabled +stabler +stables +stablest +stabling +stabs +staccati +staccato +staccato's +staccatos +stack +stack's +stacked +stacking +stacks +stadia +stadium +stadium's +stadiums +staff +staff's +staffed +staffer +staffer's +staffers +staffing +staffing's +staffs +stag +stag's +stage +stage's +stagecoach +stagecoach's +stagecoaches +staged +stagehand +stagehand's +stagehands +stages +stagflation +stagflation's +stagger +stagger's +staggered +staggering +staggeringly +staggers +staging +staging's +stagings +stagnant +stagnate +stagnated +stagnates +stagnating +stagnation +stagnation's +stags +staid +staider +staidest +staidly +stain +stain's +stained +staining +stainless +stainless's +stains +stair +stair's +staircase +staircase's +staircases +stairs +stairway +stairway's +stairways +stairwell +stairwell's +stairwells +stake +stake's +staked +stakeout +stakeout's +stakeouts +stakes +staking +stalactite +stalactite's +stalactites +stalagmite +stalagmite's +stalagmites +stale +staled +stalemate +stalemate's +stalemated +stalemates +stalemating +staleness +staleness's +staler +stales +stalest +staling +stalk +stalk's +stalked +stalker +stalker's +stalkers +stalking +stalking's +stalkings +stalks +stall +stall's +stalled +stalling +stallion +stallion's +stallions +stalls +stalwart +stalwart's +stalwarts +stamen +stamen's +stamens +stamina +stamina's +stammer +stammer's +stammered +stammerer +stammerer's +stammerers +stammering +stammers +stamp +stamp's +stamped +stampede +stampede's +stampeded +stampedes +stampeding +stamping +stamps +stance +stance's +stances +stanch +stanched +stancher +stanches +stanchest +stanching +stanchion +stanchion's +stanchions +stand +stand's +standard +standard's +standardization +standardization's +standardize +standardized +standardizes +standardizing +standards +standby +standby's +standbys +standing +standing's +standings +standoff +standoff's +standoffish +standoffs +standout +standout's +standouts +standpoint +standpoint's +standpoints +stands +standstill +standstill's +standstills +stank +stanza +stanza's +stanzas +staph +staph's +staphylococci +staphylococcus +staphylococcus's +staple +staple's +stapled +stapler +stapler's +staplers +staples +stapling +star +star's +starboard +starboard's +starch +starch's +starched +starches +starchier +starchiest +starching +starchy +stardom +stardom's +stare +stare's +stared +stares +starfish +starfish's +starfishes +stargazer +stargazer's +stargazers +staring +stark +starker +starkest +starkly +starkness +starkness's +starless +starlet +starlet's +starlets +starlight +starlight's +starling +starling's +starlings +starlit +starred +starrier +starriest +starring +starry +stars +start +start's +started +starter +starter's +starters +starting +startle +startled +startles +startling +startlingly +starts +starvation +starvation's +starve +starved +starves +starving +starvings +stash +stash's +stashed +stashes +stashing +stat's +state +state's +stated +statehood +statehood's +statehouse +statehouse's +statehouses +stateless +statelier +stateliest +stateliness +stateliness's +stately +statement +statement's +statements +stater +stateroom +stateroom's +staterooms +states +stateside +statesman +statesman's +statesmanlike +statesmanship +statesmanship's +statesmen +statewide +static +static's +statically +stating +station +station's +stationary +stationed +stationer +stationer's +stationers +stationery +stationery's +stationing +stations +statistic +statistic's +statistical +statistically +statistician +statistician's +statisticians +statistics +stats +statuary +statuary's +statue +statue's +statues +statuesque +statuette +statuette's +statuettes +stature +stature's +statures +status +status's +statuses +statute +statute's +statutes +statutory +staunch +staunched +stauncher +staunches +staunchest +staunching +staunchly +stave +stave's +staved +staves +staving +stay +stay's +stayed +staying +stays +stead +stead's +steadfast +steadfastly +steadfastness +steadfastness's +steadied +steadier +steadies +steadiest +steadily +steadiness +steadiness's +steads +steady +steady's +steadying +steak +steak's +steakhouse +steakhouse's +steakhouses +steaks +steal +steal's +stealing +steals +stealth +stealth's +stealthier +stealthiest +stealthily +stealthy +steam +steam's +steamboat +steamboat's +steamboats +steamed +steamer +steamer's +steamers +steamier +steamiest +steaming +steamroll +steamrolled +steamroller +steamroller's +steamrollered +steamrollering +steamrollers +steamrolling +steamrolls +steams +steamship +steamship's +steamships +steamy +steed +steed's +steeds +steel +steel's +steeled +steelier +steeliest +steeling +steels +steely +steep +steep's +steeped +steeper +steepest +steeping +steeple +steeple's +steeplechase +steeplechase's +steeplechases +steeplejack +steeplejack's +steeplejacks +steeples +steeply +steepness +steepness's +steeps +steer +steer's +steerage +steerage's +steered +steering +steering's +steers +stein +stein's +steins +stellar +stem +stem's +stemmed +stemming +stems +stench +stench's +stenches +stencil +stencil's +stenciled +stenciling +stencilled +stencilling +stencils +stenographer +stenographer's +stenographers +stenographic +stenography +stenography's +stentorian +step +step's +stepbrother +stepbrother's +stepbrothers +stepchild +stepchild's +stepchildren +stepdaughter +stepdaughter's +stepdaughters +stepfather +stepfather's +stepfathers +stepladder +stepladder's +stepladders +stepmother +stepmother's +stepmothers +stepparent +stepparent's +stepparents +steppe +steppe's +stepped +steppes +stepping +steppingstone +steppingstone's +steppingstones +steps +stepsister +stepsister's +stepsisters +stepson +stepson's +stepsons +stereo +stereo's +stereophonic +stereos +stereoscope +stereoscope's +stereoscopes +stereotype +stereotype's +stereotyped +stereotypes +stereotypical +stereotyping +sterile +sterility +sterility's +sterilization +sterilization's +sterilize +sterilized +sterilizer +sterilizer's +sterilizers +sterilizes +sterilizing +sterling +sterling's +stern +stern's +sterna +sterner +sternest +sternly +sternness +sternness's +sterns +sternum +sternum's +sternums +steroid +steroid's +steroids +stethoscope +stethoscope's +stethoscopes +stevedore +stevedore's +stevedores +stew +stew's +steward +steward's +stewarded +stewardess +stewardess's +stewardesses +stewarding +stewards +stewardship +stewardship's +stewed +stewing +stews +stick +stick's +sticker +sticker's +stickers +stickier +stickies +stickiest +stickiness +stickiness's +sticking +stickleback +stickleback's +sticklebacks +stickler +stickler's +sticklers +stickpin +stickpin's +stickpins +sticks +stickup +stickup's +stickups +sticky +sticky's +sties +stiff +stiff's +stiffed +stiffen +stiffened +stiffener +stiffener's +stiffeners +stiffening +stiffens +stiffer +stiffest +stiffing +stiffly +stiffness +stiffness's +stiffs +stifle +stifled +stifles +stifling +stiflings +stigma +stigma's +stigmas +stigmata +stigmatize +stigmatized +stigmatizes +stigmatizing +stile +stile's +stiles +stiletto +stiletto's +stilettoes +stilettos +still +still's +stillbirth +stillbirth's +stillbirths +stillborn +stilled +stiller +stillest +stilling +stillness +stillness's +stills +stilt +stilt's +stilted +stilts +stimulant +stimulant's +stimulants +stimulate +stimulated +stimulates +stimulating +stimulation +stimulation's +stimuli +stimulus +stimulus's +sting +sting's +stinger +stinger's +stingers +stingier +stingiest +stingily +stinginess +stinginess's +stinging +stingray +stingray's +stingrays +stings +stingy +stink +stink's +stinker +stinker's +stinkers +stinking +stinks +stint +stint's +stinted +stinting +stints +stipend +stipend's +stipends +stipple +stipple's +stippled +stipples +stippling +stipulate +stipulated +stipulates +stipulating +stipulation +stipulation's +stipulations +stir +stir's +stirred +stirrer +stirrer's +stirrers +stirring +stirrings +stirrup +stirrup's +stirrups +stirs +stitch +stitch's +stitched +stitches +stitching +stitching's +stoat +stoat's +stoats +stochastic +stock +stock's +stockade +stockade's +stockaded +stockades +stockading +stockbroker +stockbroker's +stockbrokers +stocked +stockholder +stockholder's +stockholders +stockier +stockiest +stockiness +stockiness's +stocking +stocking's +stockings +stockpile +stockpile's +stockpiled +stockpiles +stockpiling +stockroom +stockroom's +stockrooms +stocks +stocky +stockyard +stockyard's +stockyards +stodgier +stodgiest +stodginess +stodginess's +stodgy +stoic +stoic's +stoical +stoically +stoicism +stoicism's +stoics +stoke +stoked +stoker +stoker's +stokers +stokes +stoking +stole +stole's +stolen +stoles +stolid +stolider +stolidest +stolidity +stolidity's +stolidly +stomach +stomach's +stomachache +stomachache's +stomachaches +stomached +stomaching +stomachs +stomp +stomp's +stomped +stomping +stomps +stone +stone's +stoned +stones +stonewall +stonewalled +stonewalling +stonewalls +stoneware +stoneware's +stonework +stonework's +stoney +stonier +stoniest +stonily +stoning +stony +stood +stooge +stooge's +stooges +stool +stool's +stools +stoop +stoop's +stooped +stooping +stoops +stop +stop's +stopcock +stopcock's +stopcocks +stopgap +stopgap's +stopgaps +stoplight +stoplight's +stoplights +stopover +stopover's +stopovers +stoppable +stoppage +stoppage's +stoppages +stopped +stopper +stopper's +stoppered +stoppering +stoppers +stopping +stops +stopwatch +stopwatch's +stopwatches +storage +storage's +store +store's +stored +storefront +storefront's +storefronts +storehouse +storehouse's +storehouses +storekeeper +storekeeper's +storekeepers +storeroom +storeroom's +storerooms +stores +storey +storey's +storeys +storied +stories +storing +stork +stork's +storks +storm +storm's +stormed +stormier +stormiest +stormily +storminess +storminess's +storming +storms +stormy +story +story's +storybook +storybook's +storybooks +storyteller +storyteller's +storytellers +stout +stout's +stouter +stoutest +stoutly +stoutness +stoutness's +stove +stove's +stovepipe +stovepipe's +stovepipes +stoves +stow +stowaway +stowaway's +stowaways +stowed +stowing +stows +straddle +straddle's +straddled +straddles +straddling +strafe +strafe's +strafed +strafes +strafing +straggle +straggled +straggler +straggler's +stragglers +straggles +stragglier +straggliest +straggling +straggly +straight +straight's +straightaway +straightaway's +straightaways +straightedge +straightedge's +straightedges +straighten +straightened +straightening +straightens +straighter +straightest +straightforward +straightforwardly +straightjacket +straightjacket's +straightjacketed +straightjacketing +straightjackets +straightness +straightness's +straights +strain +strain's +strained +strainer +strainer's +strainers +straining +strains +strait +strait's +straiten +straitened +straitening +straitens +straitjacket +straitjacket's +straitjacketed +straitjacketing +straitjackets +straits +strand +strand's +stranded +stranding +strands +strange +strangely +strangeness +strangeness's +stranger +stranger's +strangers +strangest +strangle +strangled +stranglehold +stranglehold's +strangleholds +strangler +strangler's +stranglers +strangles +strangling +strangulate +strangulated +strangulates +strangulating +strangulation +strangulation's +strap +strap's +strapless +strapless's +straplesses +strapped +strapping +strapping's +straps +strata +stratagem +stratagem's +stratagems +strategic +strategically +strategies +strategist +strategist's +strategists +strategy +strategy's +stratification +stratification's +stratified +stratifies +stratify +stratifying +stratosphere +stratosphere's +stratospheres +stratum +stratum's +stratums +straw +straw's +strawberries +strawberry +strawberry's +strawed +strawing +straws +stray +stray's +strayed +straying +strays +streak +streak's +streaked +streakier +streakiest +streaking +streaks +streaky +stream +stream's +streamed +streamer +streamer's +streamers +streaming +streamline +streamlined +streamlines +streamlining +streams +street +street's +streetcar +streetcar's +streetcars +streetlight +streetlight's +streetlights +streets +streetwalker +streetwalker's +streetwalkers +streetwise +strength +strength's +strengthen +strengthened +strengthening +strengthens +strengths +strenuous +strenuously +strenuousness +strenuousness's +strep +strep's +streptococcal +streptococci +streptococcus +streptococcus's +streptomycin +streptomycin's +stress +stress's +stressed +stresses +stressful +stressing +stretch +stretch's +stretched +stretcher +stretcher's +stretchers +stretches +stretchier +stretchiest +stretching +stretchy +strew +strewed +strewing +strewn +strews +striated +stricken +strict +stricter +strictest +strictly +strictness +strictness's +stricture +stricture's +strictures +stridden +stride +stride's +strident +stridently +strides +striding +strife +strife's +strike +strike's +strikeout +strikeout's +strikeouts +striker +striker's +strikers +strikes +striking +strikingly +strikings +string +string's +stringed +stringency +stringency's +stringent +stringently +stringer +stringer's +stringers +stringier +stringiest +stringing +strings +stringy +strip +strip's +stripe +stripe's +striped +stripes +striping +stripling +stripling's +striplings +stripped +stripper +stripper's +strippers +stripping +strips +stript +striptease +striptease's +stripteased +stripteases +stripteasing +strive +strived +striven +strives +striving +strobe +strobe's +strobes +strode +stroke +stroke's +stroked +strokes +stroking +stroll +stroll's +strolled +stroller +stroller's +strollers +strolling +strolls +strong +strongbox +strongbox's +strongboxes +stronger +strongest +stronghold +stronghold's +strongholds +strongly +strontium +strontium's +strop +strop's +strophe +strophe's +strophes +stropped +stropping +strops +strove +struck +structural +structuralist +structurally +structure +structure's +structured +structures +structuring +strudel +strudel's +strudels +struggle +struggle's +struggled +struggles +struggling +strum +strum's +strummed +strumming +strumpet +strumpet's +strumpets +strums +strung +strut +strut's +struts +strutted +strutting +strychnine +strychnine's +stub +stub's +stubbed +stubbier +stubbiest +stubbing +stubble +stubble's +stubblier +stubbliest +stubbly +stubborn +stubborner +stubbornest +stubbornly +stubbornness +stubbornness's +stubby +stubs +stucco +stucco's +stuccoed +stuccoes +stuccoing +stuccos +stuck +stud +stud's +studded +studding +student +student's +students +studentship +studentships +studied +studies +studio +studio's +studios +studious +studiously +studs +study +study's +studying +stuff +stuff's +stuffed +stuffier +stuffiest +stuffily +stuffiness +stuffiness's +stuffing +stuffing's +stuffs +stuffy +stultification +stultification's +stultified +stultifies +stultify +stultifying +stumble +stumble's +stumbled +stumbler +stumbler's +stumblers +stumbles +stumbling +stump +stump's +stumped +stumpier +stumpiest +stumping +stumps +stumpy +stun +stung +stunk +stunned +stunning +stunningly +stuns +stunt +stunt's +stunted +stunting +stunts +stupefaction +stupefaction's +stupefied +stupefies +stupefy +stupefying +stupendous +stupendously +stupid +stupid's +stupider +stupidest +stupidities +stupidity +stupidity's +stupidly +stupids +stupor +stupor's +stupors +sturdier +sturdiest +sturdily +sturdiness +sturdiness's +sturdy +sturgeon +sturgeon's +sturgeons +stutter +stutter's +stuttered +stutterer +stutterer's +stutterers +stuttering +stutters +sty +sty's +stye +stye's +styes +style +style's +styled +styles +styli +styling +stylish +stylishly +stylishness +stylishness's +stylist +stylist's +stylistic +stylistically +stylists +stylize +stylized +stylizes +stylizing +stylus +stylus's +styluses +stymie +stymie's +stymied +stymieing +stymies +stymying +styptic +styptic's +styptics +suave +suavely +suaver +suavest +suavity +suavity's +sub +sub's +subatomic +subbasement +subbasement's +subbasements +subbed +subbing +subclass +subcommittee +subcommittee's +subcommittees +subcompact +subcompact's +subcompacts +subconscious +subconscious's +subconsciously +subcontinent +subcontinent's +subcontinents +subcontract +subcontract's +subcontracted +subcontracting +subcontractor +subcontractor's +subcontractors +subcontracts +subculture +subculture's +subcultures +subcutaneous +subdivide +subdivided +subdivides +subdividing +subdivision +subdivision's +subdivisions +subdue +subdued +subdues +subduing +subgroup +subgroup's +subgroups +subhead +subhead's +subheading +subheading's +subheadings +subheads +subhuman +subhuman's +subhumans +subject +subject's +subjected +subjecting +subjection +subjection's +subjective +subjectively +subjectivity +subjectivity's +subjects +subjoin +subjoined +subjoining +subjoins +subjugate +subjugated +subjugates +subjugating +subjugation +subjugation's +subjunctive +subjunctive's +subjunctives +sublease +sublease's +subleased +subleases +subleasing +sublet +sublet's +sublets +subletting +sublimate +sublimated +sublimates +sublimating +sublimation +sublimation's +sublime +sublimed +sublimely +sublimer +sublimes +sublimest +subliminal +subliminally +subliming +sublimity +sublimity's +submarine +submarine's +submarines +submerge +submerged +submergence +submergence's +submerges +submerging +submerse +submersed +submerses +submersible +submersible's +submersibles +submersing +submersion +submersion's +submission +submission's +submissions +submissive +submit +submits +submitted +submitter +submitting +subnormal +suborbital +subordinate +subordinate's +subordinated +subordinates +subordinating +subordination +subordination's +suborn +subornation +subornation's +suborned +suborning +suborns +subplot +subplot's +subplots +subpoena +subpoena's +subpoenaed +subpoenaing +subpoenas +subprogram +subprograms +subroutine +subroutine's +subroutines +subs +subscribe +subscribed +subscriber +subscriber's +subscribers +subscribes +subscribing +subscript +subscript's +subscription +subscription's +subscriptions +subscripts +subsection +subsection's +subsections +subsequent +subsequently +subservience +subservience's +subservient +subset +subset's +subsets +subside +subsided +subsidence +subsidence's +subsides +subsidiaries +subsidiary +subsidiary's +subsidies +subsiding +subsidization +subsidization's +subsidize +subsidized +subsidizes +subsidizing +subsidy +subsidy's +subsist +subsisted +subsistence +subsistence's +subsisting +subsists +subsoil +subsoil's +subsonic +subspace +substance +substance's +substances +substandard +substantial +substantially +substantiate +substantiated +substantiates +substantiating +substantiation +substantiation's +substantiations +substantive +substantive's +substantives +substation +substation's +substations +substitute +substitute's +substituted +substitutes +substituting +substitution +substitution's +substitutions +substrata +substrate +substratum +substratum's +substratums +substructure +substructure's +substructures +subsume +subsumed +subsumes +subsuming +subsystem +subsystem's +subsystems +subteen +subteen's +subteens +subterfuge +subterfuge's +subterfuges +subterranean +subtitle +subtitle's +subtitled +subtitles +subtitling +subtle +subtler +subtlest +subtleties +subtlety +subtlety's +subtly +subtotal +subtotal's +subtotaled +subtotaling +subtotalled +subtotalling +subtotals +subtract +subtracted +subtracting +subtraction +subtraction's +subtractions +subtracts +subtrahend +subtrahend's +subtrahends +subtropical +suburb +suburb's +suburban +suburban's +suburbanite +suburbanite's +suburbanites +suburbans +suburbia +suburbia's +suburbs +subversion +subversion's +subversive +subversive's +subversives +subvert +subverted +subverting +subverts +subway +subway's +subways +succeed +succeeded +succeeding +succeeds +success +success's +successes +successful +successfully +succession +succession's +successions +successive +successively +successor +successor's +successors +succinct +succincter +succinctest +succinctly +succinctness +succinctness's +succor +succor's +succored +succoring +succors +succotash +succotash's +succulence +succulence's +succulent +succulent's +succulents +succumb +succumbed +succumbing +succumbs +such +suchlike +suck +suck's +sucked +sucker +sucker's +suckered +suckering +suckers +sucking +suckle +suckled +suckles +suckling +suckling's +sucklings +sucks +sucrose +sucrose's +suction +suction's +suctioned +suctioning +suctions +sudden +suddenly +suddenness +suddenness's +suds +suds's +sudsier +sudsiest +sudsy +sue +sued +suede +suede's +sues +suet +suet's +suffer +sufferance +sufferance's +suffered +sufferer +sufferer's +sufferers +suffering +suffering's +sufferings +suffers +suffice +sufficed +suffices +sufficiency +sufficiency's +sufficient +sufficiently +sufficing +suffix +suffix's +suffixed +suffixes +suffixing +suffocate +suffocated +suffocates +suffocating +suffocation +suffocation's +suffragan +suffragan's +suffragans +suffrage +suffrage's +suffragette +suffragette's +suffragettes +suffragist +suffragist's +suffragists +suffuse +suffused +suffuses +suffusing +suffusion +suffusion's +sugar +sugar's +sugarcane +sugarcane's +sugarcoat +sugarcoated +sugarcoating +sugarcoats +sugared +sugarier +sugariest +sugaring +sugarless +sugars +sugary +suggest +suggested +suggester +suggestible +suggesting +suggestion +suggestion's +suggestions +suggestive +suggestively +suggests +suicidal +suicide +suicide's +suicides +suing +suit +suit's +suitability +suitability's +suitable +suitably +suitcase +suitcase's +suitcases +suite +suite's +suited +suites +suiting +suiting's +suitor +suitor's +suitors +suits +sukiyaki +sukiyaki's +sulfate +sulfate's +sulfates +sulfide +sulfide's +sulfides +sulfur +sulfur's +sulfured +sulfuric +sulfuring +sulfurous +sulfurs +sulk +sulk's +sulked +sulkier +sulkies +sulkiest +sulkily +sulkiness +sulkiness's +sulking +sulks +sulky +sulky's +sullen +sullener +sullenest +sullenly +sullenness +sullenness's +sullied +sullies +sully +sullying +sulphur +sulphur's +sulphured +sulphuring +sulphurous +sulphurs +sultan +sultan's +sultana +sultana's +sultanas +sultanate +sultanate's +sultanates +sultans +sultrier +sultriest +sultry +sum +sum's +sumac +sumac's +sumach +sumach's +summaries +summarily +summarize +summarized +summarizes +summarizing +summary +summary's +summation +summation's +summations +summed +summer +summer's +summered +summerhouse +summerhouse's +summerhouses +summerier +summeriest +summering +summers +summertime +summertime's +summery +summing +summit +summit's +summitry +summitry's +summits +summon +summoned +summoner +summoner's +summoners +summoning +summons +summons's +summonsed +summonses +summonsing +sumo +sumo's +sump +sump's +sumps +sumptuous +sums +sun +sun's +sunbathe +sunbathed +sunbather +sunbather's +sunbathers +sunbathes +sunbathing +sunbathing's +sunbeam +sunbeam's +sunbeams +sunblock +sunblock's +sunblocks +sunbonnet +sunbonnet's +sunbonnets +sunburn +sunburn's +sunburned +sunburning +sunburns +sunburnt +sundae +sundae's +sundaes +sunder +sundered +sundering +sunders +sundial +sundial's +sundials +sundown +sundown's +sundowns +sundries +sundries's +sundry +sunfish +sunfish's +sunfishes +sunflower +sunflower's +sunflowers +sung +sunglasses +sunglasses's +sunk +sunken +sunlamp +sunlamp's +sunlamps +sunless +sunlight +sunlight's +sunlit +sunned +sunnier +sunniest +sunning +sunny +sunrise +sunrise's +sunrises +sunroof +sunroof's +sunroofs +suns +sunscreen +sunscreen's +sunscreens +sunset +sunset's +sunsets +sunshine +sunshine's +sunspot +sunspot's +sunspots +sunstroke +sunstroke's +suntan +suntan's +suntanned +suntanning +suntans +sunup +sunup's +sup +sup's +super +super's +superabundance +superabundance's +superabundances +superabundant +superannuate +superannuated +superannuates +superannuating +superb +superber +superbest +superbly +supercharge +supercharged +supercharger +supercharger's +superchargers +supercharges +supercharging +supercilious +supercomputer +supercomputer's +supercomputers +superconductivity +superconductivity's +superconductor +superconductor's +superconductors +superego +superego's +superegos +superficial +superficiality +superficiality's +superficially +superfluity +superfluity's +superfluous +superhighway +superhighway's +superhighways +superhuman +superimpose +superimposed +superimposes +superimposing +superintend +superintended +superintendence +superintendence's +superintendency +superintendency's +superintendent +superintendent's +superintendents +superintending +superintends +superior +superior's +superiority +superiority's +superiors +superlative +superlative's +superlatively +superlatives +superman +superman's +supermarket +supermarket's +supermarkets +supermen +supernatural +supernaturals +supernova +supernova's +supernovae +supernovas +supernumeraries +supernumerary +supernumerary's +superpower +superpower's +superpowers +supers +superscript +superscript's +superscripts +supersede +superseded +supersedes +superseding +supersonic +superstar +superstar's +superstars +superstition +superstition's +superstitions +superstitious +superstitiously +superstructure +superstructure's +superstructures +supertanker +supertanker's +supertankers +supervene +supervened +supervenes +supervening +supervise +supervised +supervises +supervising +supervision +supervision's +supervisions +supervisor +supervisor's +supervisors +supervisory +supine +supped +supper +supper's +suppers +supping +supplant +supplanted +supplanting +supplants +supple +supplement +supplement's +supplemental +supplementary +supplemented +supplementing +supplements +suppleness +suppleness's +suppler +supplest +suppliant +suppliant's +suppliants +supplicant +supplicant's +supplicants +supplicate +supplicated +supplicates +supplicating +supplication +supplication's +supplications +supplied +supplier +supplier's +suppliers +supplies +supply +supply's +supplying +support +support's +supportable +supported +supporter +supporter's +supporters +supporting +supportive +supports +suppose +supposed +supposedly +supposes +supposing +supposition +supposition's +suppositions +suppositories +suppository +suppository's +suppress +suppressed +suppresses +suppressing +suppression +suppression's +suppurate +suppurated +suppurates +suppurating +suppuration +suppuration's +supranational +supremacist +supremacist's +supremacists +supremacy +supremacy's +supreme +supremely +sups +surcease +surcease's +surceased +surceases +surceasing +surcharge +surcharge's +surcharged +surcharges +surcharging +sure +surefire +surefooted +surely +sureness +sureness's +surer +surest +sureties +surety +surety's +surf +surf's +surface +surface's +surfaced +surfaces +surfacing +surfboard +surfboard's +surfboarded +surfboarding +surfboards +surfed +surfeit +surfeit's +surfeited +surfeiting +surfeits +surfer +surfer's +surfers +surfing +surfing's +surfs +surge +surge's +surged +surgeon +surgeon's +surgeons +surgeries +surgery +surgery's +surges +surgical +surgically +surging +surlier +surliest +surliness +surliness's +surly +surmise +surmise's +surmised +surmises +surmising +surmount +surmountable +surmounted +surmounting +surmounts +surname +surname's +surnames +surpass +surpassed +surpasses +surpassing +surplice +surplice's +surplices +surplus +surplus's +surplused +surpluses +surplusing +surplussed +surplussing +surprise +surprise's +surprised +surprises +surprising +surprisingly +surprisings +surreal +surrealism +surrealism's +surrealist +surrealist's +surrealistic +surrealists +surrender +surrender's +surrendered +surrendering +surrenders +surreptitious +surreptitiously +surrey +surrey's +surreys +surrogate +surrogate's +surrogates +surround +surrounded +surrounding +surrounding's +surroundings +surroundings's +surrounds +surtax +surtax's +surtaxed +surtaxes +surtaxing +surveillance +surveillance's +survey +survey's +surveyed +surveying +surveyor +surveyor's +surveyors +surveys +survival +survival's +survivals +survive +survived +survives +surviving +survivor +survivor's +survivors +susceptibility +susceptibility's +susceptible +sushi +sushi's +suspect +suspect's +suspected +suspecting +suspects +suspend +suspended +suspender +suspender's +suspenders +suspending +suspends +suspense +suspense's +suspenseful +suspension +suspension's +suspensions +suspicion +suspicion's +suspicions +suspicious +suspiciously +sustain +sustainable +sustained +sustaining +sustains +sustenance +sustenance's +suture +suture's +sutured +sutures +suturing +svelte +svelter +sveltest +swab +swab's +swabbed +swabbing +swabs +swaddle +swaddled +swaddles +swaddling +swag +swag's +swagged +swagger +swagger's +swaggered +swaggerer +swaggering +swaggers +swagging +swags +swain +swain's +swains +swallow +swallow's +swallowed +swallowing +swallows +swallowtail +swallowtail's +swallowtails +swam +swami +swami's +swamis +swamp +swamp's +swamped +swampier +swampiest +swamping +swamps +swampy +swan +swan's +swank +swank's +swanked +swanker +swankest +swankier +swankiest +swanking +swanks +swanky +swans +swap +swap's +swapped +swapping +swaps +sward +sward's +swards +swarm +swarm's +swarmed +swarming +swarms +swarthier +swarthiest +swarthy +swash +swash's +swashbuckler +swashbuckler's +swashbucklers +swashbuckling +swashbuckling's +swashed +swashes +swashing +swastika +swastika's +swastikas +swat +swat's +swatch +swatch's +swatches +swath +swath's +swathe +swathe's +swathed +swathes +swathing +swaths +swats +swatted +swatter +swatter's +swattered +swattering +swatters +swatting +sway +sway's +swaybacked +swayed +swaying +sways +swear +swearer +swearer's +swearers +swearing +swears +swearword +swearword's +swearwords +sweat +sweat's +sweater +sweater's +sweaters +sweatier +sweatiest +sweating +sweatpants +sweatpants's +sweats +sweats's +sweatshirt +sweatshirt's +sweatshirts +sweatshop +sweatshop's +sweatshops +sweaty +sweep +sweep's +sweeper +sweeper's +sweepers +sweeping +sweeping's +sweepings +sweepings's +sweeps +sweepstake +sweepstake's +sweepstakes +sweepstakes's +sweet +sweet's +sweetbread +sweetbread's +sweetbreads +sweetbriar +sweetbriar's +sweetbriars +sweetbrier +sweetbrier's +sweetbriers +sweeten +sweetened +sweetener +sweetener's +sweeteners +sweetening +sweetening's +sweetens +sweeter +sweetest +sweetheart +sweetheart's +sweethearts +sweetie +sweetie's +sweeties +sweetish +sweetly +sweetmeat +sweetmeat's +sweetmeats +sweetness +sweetness's +sweets +swell +swell's +swelled +sweller +swellest +swellhead +swellhead's +swellheaded +swellheads +swelling +swelling's +swellings +swells +swelter +swelter's +sweltered +sweltering +swelters +swept +swerve +swerve's +swerved +swerves +swerving +swift +swift's +swifter +swiftest +swiftly +swiftness +swiftness's +swifts +swig +swig's +swigged +swigging +swigs +swill +swill's +swilled +swilling +swills +swim +swim's +swimmer +swimmer's +swimmers +swimming +swimming's +swims +swimsuit +swimsuit's +swimsuits +swindle +swindle's +swindled +swindler +swindler's +swindlers +swindles +swindling +swine +swine's +swines +swing +swing's +swinger +swinger's +swingers +swinging +swings +swinish +swipe +swipe's +swiped +swipes +swiping +swirl +swirl's +swirled +swirlier +swirliest +swirling +swirls +swirly +swish +swish's +swished +swisher +swishes +swishest +swishing +switch +switch's +switchable +switchback +switchback's +switchbacks +switchblade +switchblade's +switchblades +switchboard +switchboard's +switchboards +switched +switcher +switches +switching +swivel +swivel's +swiveled +swiveling +swivelled +swivelling +swivels +swollen +swoon +swoon's +swooned +swooning +swoons +swoop +swoop's +swooped +swooping +swoops +swop +swop's +swopped +swopping +swops +sword +sword's +swordfish +swordfish's +swordfishes +swordplay +swordplay's +swords +swordsman +swordsman's +swordsmen +swore +sworn +swum +swung +sybarite +sybarite's +sybarites +sybaritic +sycamore +sycamore's +sycamores +sycophant +sycophant's +sycophantic +sycophants +syllabi +syllabic +syllabication +syllabication's +syllabification +syllabification's +syllabified +syllabifies +syllabify +syllabifying +syllable +syllable's +syllables +syllabus +syllabus's +syllabuses +syllogism +syllogism's +syllogisms +syllogistic +sylph +sylph's +sylphs +sylvan +symbioses +symbiosis +symbiosis's +symbiotic +symbol +symbol's +symbolic +symbolically +symbolism +symbolism's +symbolization +symbolization's +symbolize +symbolized +symbolizes +symbolizing +symbols +symmetric +symmetrical +symmetrically +symmetricly +symmetries +symmetry +symmetry's +sympathetic +sympathetically +sympathies +sympathies's +sympathize +sympathized +sympathizer +sympathizer's +sympathizers +sympathizes +sympathizing +sympathy +sympathy's +symphonic +symphonies +symphony +symphony's +symposia +symposium +symposium's +symposiums +symptom +symptom's +symptomatic +symptoms +synagog +synagog's +synagogs +synagogue +synagogue's +synagogues +synapse +synapse's +synapses +sync +sync's +synced +synch +synch's +synched +synches +synching +synchronization +synchronization's +synchronizations +synchronize +synchronized +synchronizes +synchronizing +synchronous +synchronously +synchs +syncing +syncopate +syncopated +syncopates +syncopating +syncopation +syncopation's +syncs +syndicate +syndicate's +syndicated +syndicates +syndicating +syndication +syndication's +syndrome +syndrome's +syndromes +synergism +synergism's +synergistic +synergy +synergy's +synod +synod's +synods +synonym +synonym's +synonymous +synonyms +synopses +synopsis +synopsis's +syntactic +syntactical +syntactically +syntax +syntax's +syntheses +synthesis +synthesis's +synthesize +synthesized +synthesizer +synthesizer's +synthesizers +synthesizes +synthesizing +synthetic +synthetic's +synthetically +synthetics +syphilis +syphilis's +syphilitic +syphilitic's +syphilitics +syphon +syphon's +syphoned +syphoning +syphons +syringe +syringe's +syringed +syringes +syringing +syrup +syrup's +syrups +syrupy +system +system's +systematic +systematically +systematize +systematized +systematizes +systematizing +systemic +systemic's +systemics +systems +systolic +t +tab +tab's +tabbed +tabbies +tabbing +tabby +tabby's +tabernacle +tabernacle's +tabernacles +table +table's +tableau +tableau's +tableaus +tableaux +tablecloth +tablecloth's +tablecloths +tabled +tableland +tableland's +tablelands +tables +tablespoon +tablespoon's +tablespoonful +tablespoonful's +tablespoonfuls +tablespoons +tablespoonsful +tablet +tablet's +tablets +tableware +tableware's +tabling +tabloid +tabloid's +tabloids +taboo +taboo's +tabooed +tabooing +taboos +tabs +tabu +tabu's +tabued +tabuing +tabular +tabulate +tabulated +tabulates +tabulating +tabulation +tabulation's +tabulator +tabulator's +tabulators +tabus +tachometer +tachometer's +tachometers +tacit +tacitly +tacitness +tacitness's +taciturn +taciturnity +taciturnity's +tack +tack's +tacked +tackier +tackiest +tackiness +tackiness's +tacking +tackle +tackle's +tackled +tackler +tackler's +tacklers +tackles +tackling +tacks +tacky +taco +taco's +tacos +tact +tact's +tactful +tactfully +tactic +tactic's +tactical +tactically +tactician +tactician's +tacticians +tactics +tactile +tactless +tactlessly +tactlessness +tactlessness's +tad +tad's +tadpole +tadpole's +tadpoles +tads +taffeta +taffeta's +taffies +taffy +taffy's +tag +tag's +tagged +tagging +tags +tail +tail's +tailcoat +tailcoat's +tailcoats +tailed +tailgate +tailgate's +tailgated +tailgates +tailgating +tailing +tailless +taillight +taillight's +taillights +tailor +tailor's +tailored +tailoring +tailoring's +tailors +tailpipe +tailpipe's +tailpipes +tails +tailspin +tailspin's +tailspins +tailwind +tailwind's +tailwinds +taint +taint's +tainted +tainting +taints +take +take's +takeaways +taken +takeoff +takeoff's +takeoffs +takeout +takeout's +takeouts +takeover +takeover's +takeovers +taker +taker's +takers +takes +taking +taking's +takings +takings's +talc +talc's +tale +tale's +talent +talent's +talented +talents +tales +talisman +talisman's +talismans +talk +talk's +talkative +talkativeness +talkativeness's +talked +talker +talker's +talkers +talking +talks +tall +taller +tallest +tallied +tallies +tallness +tallness's +tallow +tallow's +tally +tally's +tallyho +tallyho's +tallyhoed +tallyhoing +tallyhos +tallying +talon +talon's +talons +tam +tam's +tamable +tamale +tamale's +tamales +tamarind +tamarind's +tamarinds +tambourine +tambourine's +tambourines +tame +tameable +tamed +tamely +tameness +tameness's +tamer +tamer's +tamers +tames +tamest +taming +tamp +tamped +tamper +tampered +tampering +tampers +tamping +tampon +tampon's +tampons +tamps +tams +tan +tan's +tanager +tanager's +tanagers +tandem +tandem's +tandems +tang +tang's +tangelo +tangelo's +tangelos +tangent +tangent's +tangential +tangents +tangerine +tangerine's +tangerines +tangibility +tangibility's +tangible +tangible's +tangibles +tangibly +tangier +tangiest +tangle +tangle's +tangled +tangles +tangling +tango +tango's +tangoed +tangoing +tangos +tangs +tangy +tank +tank's +tankard +tankard's +tankards +tanked +tanker +tanker's +tankers +tankful +tankful's +tankfuls +tanking +tanks +tanned +tanner +tanner's +tanneries +tanners +tannery +tannery's +tannest +tannin +tannin's +tanning +tans +tansy +tansy's +tantalize +tantalized +tantalizes +tantalizing +tantalizingly +tantamount +tantrum +tantrum's +tantrums +tap +tap's +tape +tape's +taped +taper +taper's +tapered +tapering +tapers +tapes +tapestries +tapestry +tapestry's +tapeworm +tapeworm's +tapeworms +taping +tapioca +tapioca's +tapir +tapir's +tapirs +tapped +tapping +taproom +taproom's +taprooms +taproot +taproot's +taproots +taps +tar +tar's +tarantula +tarantula's +tarantulae +tarantulas +tardier +tardiest +tardily +tardiness +tardiness's +tardy +tare +tare's +tared +tares +target +target's +targeted +targeting +targets +tariff +tariff's +tariffs +taring +tarmac +tarmac's +tarmacked +tarmacking +tarmacs +tarnish +tarnish's +tarnished +tarnishes +tarnishing +taro +taro's +taros +tarot +tarot's +tarots +tarp +tarp's +tarpaulin +tarpaulin's +tarpaulins +tarpon +tarpon's +tarpons +tarps +tarragon +tarragon's +tarragons +tarred +tarried +tarrier +tarries +tarriest +tarring +tarry +tarrying +tars +tart +tart's +tartan +tartan's +tartans +tartar +tartar's +tartars +tarter +tartest +tartly +tartness +tartness's +tarts +task +task's +tasked +tasking +taskmaster +taskmaster's +taskmasters +tasks +tassel +tassel's +tasseled +tasseling +tasselled +tasselling +tassels +taste +taste's +tasted +tasteful +tastefully +tasteless +tastelessly +tastelessness +tastelessness's +taster +taster's +tasters +tastes +tastier +tastiest +tastiness +tastiness's +tasting +tasty +tat +tats +tatted +tatter +tatter's +tattered +tattering +tatters +tatting +tatting's +tattle +tattle's +tattled +tattler +tattler's +tattlers +tattles +tattletale +tattletale's +tattletales +tattling +tattoo +tattoo's +tattooed +tattooing +tattooist +tattooist's +tattooists +tattoos +tatty +taught +taunt +taunt's +taunted +taunting +taunts +taupe +taupe's +taut +tauter +tautest +tautly +tautness +tautness's +tautological +tautologies +tautology +tautology's +tavern +tavern's +taverns +tawdrier +tawdriest +tawdriness +tawdriness's +tawdry +tawnier +tawniest +tawny +tawny's +tax +tax's +taxable +taxation +taxation's +taxed +taxes +taxi +taxi's +taxicab +taxicab's +taxicabs +taxidermist +taxidermist's +taxidermists +taxidermy +taxidermy's +taxied +taxies +taxiing +taxing +taxis +taxonomic +taxonomies +taxonomy +taxonomy's +taxpayer +taxpayer's +taxpayers +taxying +tea +tea's +teabag +teach +teachable +teacher +teacher's +teachers +teaches +teaching +teaching's +teachings +teacup +teacup's +teacups +teak +teak's +teakettle +teakettle's +teakettles +teaks +teal +teal's +teals +team +team's +teamed +teaming +teammate +teammate's +teammates +teams +teamster +teamster's +teamsters +teamwork +teamwork's +teapot +teapot's +teapots +tear +tear's +teardrop +teardrop's +teardrops +teared +tearful +tearfully +teargas +teargas's +teargases +teargassed +teargasses +teargassing +tearier +teariest +tearing +tearjerker +tearjerker's +tearjerkers +tearoom +tearoom's +tearooms +tears +teary +teas +tease +tease's +teased +teasel +teasel's +teasels +teaser +teaser's +teasers +teases +teasing +teaspoon +teaspoon's +teaspoonful +teaspoonful's +teaspoonfuls +teaspoons +teaspoonsful +teat +teat's +teatime +teats +teazel +teazel's +teazels +teazle +teazle's +teazles +tech's +technical +technicalities +technicality +technicality's +technically +technician +technician's +technicians +technique +technique's +techniques +technocracy +technocracy's +technocrat +technocrat's +technocrats +technological +technologically +technologies +technologist +technologist's +technologists +technology +technology's +techs +tectonics +tectonics's +tedious +tediously +tediousness +tediousness's +tedium +tedium's +tee +tee's +teed +teeing +teem +teemed +teeming +teems +teen +teen's +teenage +teenaged +teenager +teenager's +teenagers +teenier +teeniest +teens +teensier +teensiest +teensy +teeny +teepee +teepee's +teepees +tees +teeter +teeter's +teetered +teetering +teeters +teeth +teethe +teethed +teethes +teething +teetotal +teetotaler +teetotaler's +teetotalers +teetotaller +teetotaller's +teetotallers +telecast +telecast's +telecasted +telecaster +telecaster's +telecasters +telecasting +telecasts +telecommunication +telecommunication's +telecommunications +telecommunications's +telecommute +telecommuted +telecommuter +telecommuter's +telecommuters +telecommutes +telecommuting +telecommuting's +teleconference +teleconference's +teleconferenced +teleconferences +teleconferencing +telegram +telegram's +telegrams +telegraph +telegraph's +telegraphed +telegrapher +telegrapher's +telegraphers +telegraphic +telegraphing +telegraphs +telegraphy +telegraphy's +telekinesis +telekinesis's +telemarketing +telemarketing's +telemeter +telemeter's +telemeters +telemetries +telemetry +telemetry's +telepathic +telepathically +telepathy +telepathy's +telephone +telephone's +telephoned +telephones +telephonic +telephoning +telephony +telephony's +telephoto +telephoto's +telephotos +telescope +telescope's +telescoped +telescopes +telescopic +telescoping +telethon +telethon's +telethons +teletype +teletypes +teletypewriter +teletypewriter's +teletypewriters +televangelist +televangelist's +televangelists +televise +televised +televises +televising +television +television's +televisions +telex +telex's +telexed +telexes +telexing +tell +teller +teller's +tellers +telling +tellingly +tells +telltale +telltale's +telltales +temblor +temblor's +temblors +temerity +temerity's +temp +temp's +temped +temper +temper's +tempera +tempera's +temperament +temperament's +temperamental +temperamentally +temperaments +temperance +temperance's +temperas +temperate +temperature +temperature's +temperatures +tempered +tempering +tempers +tempest +tempest's +tempests +tempestuous +tempestuously +tempestuousness +tempestuousness's +tempi +temping +template +template's +templates +temple +temple's +temples +tempo +tempo's +temporal +temporally +temporaries +temporarily +temporary +temporary's +temporize +temporized +temporizes +temporizing +tempos +temps +tempt +temptation +temptation's +temptations +tempted +tempter +tempter's +tempters +tempting +temptingly +temptress +temptress's +temptresses +tempts +tempura +tempura's +ten +ten's +tenability +tenability's +tenable +tenacious +tenaciously +tenacity +tenacity's +tenancies +tenancy +tenancy's +tenant +tenant's +tenanted +tenanting +tenants +tend +tended +tendencies +tendency +tendency's +tendentious +tendentiously +tendentiousness +tendentiousness's +tender +tender's +tendered +tenderer +tenderest +tenderfeet +tenderfoot +tenderfoot's +tenderfoots +tenderhearted +tendering +tenderize +tenderized +tenderizer +tenderizer's +tenderizers +tenderizes +tenderizing +tenderloin +tenderloin's +tenderloins +tenderly +tenderness +tenderness's +tenders +tending +tendinitis +tendinitis's +tendon +tendon's +tendonitis +tendonitis's +tendons +tendril +tendril's +tendrils +tends +tenement +tenement's +tenements +tenet +tenet's +tenets +tenfold +tennis +tennis's +tenon +tenon's +tenoned +tenoning +tenons +tenor +tenor's +tenors +tenpin +tenpin's +tenpins +tenpins's +tens +tense +tense's +tensed +tensely +tenseness +tenseness's +tenser +tenses +tensest +tensile +tensing +tension +tension's +tensions +tensor +tensors +tent +tent's +tentacle +tentacle's +tentacles +tentative +tentatively +tented +tenth +tenth's +tenths +tenting +tents +tenuous +tenuously +tenuousness +tenuousness's +tenure +tenure's +tenured +tenures +tenuring +tepee +tepee's +tepees +tepid +tequila +tequila's +tequilas +terabit +terabit's +terabits +terabyte +terabyte's +terabytes +tercentenaries +tercentenary +tercentenary's +term +term's +termagant +termagant's +termagants +termed +terminable +terminal +terminal's +terminally +terminals +terminate +terminated +terminates +terminating +termination +termination's +terminations +terminator +terminators +terming +termini +terminological +terminologies +terminology +terminology's +terminus +terminus's +terminuses +termite +termite's +termites +termly +terms +tern +tern's +terns +terrace +terrace's +terraced +terraces +terracing +terrain +terrain's +terrains +terrapin +terrapin's +terrapins +terraria +terrarium +terrarium's +terrariums +terrestrial +terrestrial's +terrestrials +terrible +terribly +terrier +terrier's +terriers +terrific +terrifically +terrified +terrifies +terrify +terrifying +terrifyingly +territorial +territorial's +territorials +territories +territory +territory's +terror +terror's +terrorism +terrorism's +terrorist +terrorist's +terrorists +terrorize +terrorized +terrorizes +terrorizing +terrors +terry +terry's +terse +tersely +terseness +terseness's +terser +tersest +tertiary +test +test's +testable +testament +testament's +testamentary +testaments +testate +testates +tested +tester +tester's +testers +testes +testicle +testicle's +testicles +testier +testiest +testified +testifies +testify +testifying +testily +testimonial +testimonial's +testimonials +testimonies +testimony +testimony's +testiness +testiness's +testing +testis +testis's +testosterone +testosterone's +tests +testy +tetanus +tetanus's +tether +tether's +tethered +tethering +tethers +tetrahedra +tetrahedron +tetrahedron's +tetrahedrons +text +text's +textbook +textbook's +textbooks +textile +textile's +textiles +texts +textual +textually +textural +texture +texture's +textured +textures +texturing +thalami +thalamus +thalamus's +thallium +thallium's +than +thank +thanked +thankful +thankfully +thankfulness +thankfulness's +thanking +thankless +thanklessly +thanks +thanksgiving +thanksgiving's +thanksgivings +that +that's +thatch +thatch's +thatched +thatcher +thatches +thatching +thatching's +thaw +thaw's +thawed +thawing +thaws +the +theater +theater's +theaters +theatre +theatre's +theatres +theatrical +theatrically +thee +thees +theft +theft's +thefts +their +theirs +theism +theism's +theist +theist's +theistic +theists +them +thematic +thematically +theme +theme's +themes +themselves +then +then's +thence +thenceforth +thenceforward +theocracies +theocracy +theocracy's +theocratic +theologian +theologian's +theologians +theological +theologies +theology +theology's +theorem +theorem's +theorems +theoretic +theoretical +theoretically +theoretician +theoretician's +theoreticians +theories +theorist +theorist's +theorists +theorize +theorized +theorizes +theorizing +theory +theory's +theosophy +theosophy's +therapeutic +therapeutically +therapeutics +therapeutics's +therapies +therapist +therapist's +therapists +therapy +therapy's +there +there's +thereabout +thereabouts +thereafter +thereby +therefore +therefrom +therein +thereof +thereon +thereto +thereupon +therewith +thermal +thermal's +thermally +thermals +thermionic +thermodynamic +thermodynamics +thermodynamics's +thermometer +thermometer's +thermometers +thermonuclear +thermoplastic +thermoplastic's +thermoplastics +thermos +thermos's +thermoses +thermostat +thermostat's +thermostatic +thermostats +thesauri +thesaurus +thesaurus's +thesauruses +these +theses +thesis +thesis's +thespian +thespian's +thespians +theta +they +they'd +they'll +they're +they've +thiamin +thiamin's +thiamine +thiamine's +thick +thick's +thicken +thickened +thickener +thickener's +thickeners +thickening +thickening's +thickenings +thickens +thicker +thickest +thicket +thicket's +thickets +thickly +thickness +thickness's +thicknesses +thickset +thief +thief's +thieve +thieved +thievery +thievery's +thieves +thieving +thievish +thigh +thigh's +thighbone +thighbone's +thighbones +thighs +thimble +thimble's +thimbleful +thimbleful's +thimblefuls +thimbles +thin +thine +thing +thing's +thingamajig +thingamajig's +thingamajigs +things +think +thinker +thinker's +thinkers +thinking +thinking's +thinks +thinly +thinned +thinner +thinner's +thinners +thinness +thinness's +thinnest +thinning +thins +third +third's +thirdly +thirds +thirst +thirst's +thirsted +thirstier +thirstiest +thirstily +thirsting +thirsts +thirsty +thirteen +thirteen's +thirteens +thirteenth +thirteenth's +thirteenths +thirties +thirtieth +thirtieth's +thirtieths +thirty +thirty's +this +thistle +thistle's +thistledown +thistledown's +thistles +thither +tho +thong +thong's +thongs +thoraces +thoracic +thorax +thorax's +thoraxes +thorium +thorium's +thorn +thorn's +thornier +thorniest +thorns +thorny +thorough +thoroughbred +thoroughbred's +thoroughbreds +thorougher +thoroughest +thoroughfare +thoroughfare's +thoroughfares +thoroughgoing +thoroughly +thoroughness +thoroughness's +those +thou +thou's +though +thought +thought's +thoughtful +thoughtfully +thoughtfulness +thoughtfulness's +thoughtless +thoughtlessly +thoughtlessness +thoughtlessness's +thoughts +thous +thousand +thousand's +thousands +thousandth +thousandth's +thousandths +thraldom +thraldom's +thrall +thrall's +thralldom +thralldom's +thralled +thralling +thralls +thrash +thrash's +thrashed +thrasher +thrasher's +thrashers +thrashes +thrashing +thrashing's +thrashings +thread +thread's +threadbare +threaded +threading +threads +threat +threat's +threaten +threatened +threatening +threateningly +threatens +threats +three +three's +threefold +threes +threescore +threescore's +threescores +threesome +threesome's +threesomes +threnodies +threnody +threnody's +thresh +thresh's +threshed +thresher +thresher's +threshers +threshes +threshing +threshold +threshold's +thresholds +threw +thrice +thrift +thrift's +thriftier +thriftiest +thriftily +thriftiness +thriftiness's +thrifts +thrifty +thrill +thrill's +thrilled +thriller +thriller's +thrillers +thrilling +thrills +thrive +thrived +thriven +thrives +thriving +throat +throat's +throatier +throatiest +throatily +throatiness +throatiness's +throats +throaty +throb +throb's +throbbed +throbbing +throbs +throe +throe's +throes +thromboses +thrombosis +thrombosis's +throne +throne's +thrones +throng +throng's +thronged +thronging +throngs +throttle +throttle's +throttled +throttles +throttling +through +throughout +throughput +throughway +throughway's +throughways +throve +throw +throw's +throwaway +throwaway's +throwaways +throwback +throwback's +throwbacks +thrower +thrower's +throwers +throwing +thrown +throws +thru +thrum +thrum's +thrummed +thrumming +thrums +thrush +thrush's +thrushes +thrust +thrust's +thrusting +thrusts +thruway +thruway's +thruways +thud +thud's +thudded +thudding +thuds +thug +thug's +thugs +thumb +thumb's +thumbed +thumbing +thumbnail +thumbnail's +thumbnails +thumbs +thumbscrew +thumbscrew's +thumbscrews +thumbtack +thumbtack's +thumbtacks +thump +thump's +thumped +thumping +thumps +thunder +thunder's +thunderbolt +thunderbolt's +thunderbolts +thunderclap +thunderclap's +thunderclaps +thundercloud +thundercloud's +thunderclouds +thundered +thunderhead +thunderhead's +thunderheads +thundering +thunderous +thunders +thundershower +thundershower's +thundershowers +thunderstorm +thunderstorm's +thunderstorms +thunderstruck +thus +thwack +thwack's +thwacked +thwacking +thwacks +thwart +thwart's +thwarted +thwarting +thwarts +thy +thyme +thyme's +thymi +thymus +thymus's +thymuses +thyroid +thyroid's +thyroids +thyself +ti +ti's +tiara +tiara's +tiaras +tibia +tibia's +tibiae +tibias +tic +tic's +tick +tick's +ticked +ticker +ticker's +tickers +ticket +ticket's +ticketed +ticketing +tickets +ticking +ticking's +tickle +tickle's +tickled +tickles +tickling +ticklish +ticks +tics +tidal +tidbit +tidbit's +tidbits +tiddlywinks +tiddlywinks's +tide +tide's +tided +tides +tidewater +tidewater's +tidewaters +tidied +tidier +tidies +tidiest +tidily +tidiness +tidiness's +tiding +tidings +tidings's +tidy +tidy's +tidying +tie +tie's +tiebreaker +tiebreaker's +tiebreakers +tied +tieing +tier +tier's +tiers +ties +tiff +tiff's +tiffed +tiffing +tiffs +tiger +tiger's +tigers +tight +tighten +tightened +tightening +tightens +tighter +tightest +tightfisted +tightly +tightness +tightness's +tightrope +tightrope's +tightropes +tights +tights's +tightwad +tightwad's +tightwads +tigress +tigress's +tigresses +tike +tike's +tikes +tilde +tilde's +tildes +tile +tile's +tiled +tiles +tiling +tiling's +till +till's +tillable +tillage +tillage's +tilled +tiller +tiller's +tillers +tilling +tills +tilt +tilt's +tilted +tilting +tilts +timber +timber's +timbered +timbering +timberland +timberland's +timberline +timberline's +timberlines +timbers +timbre +timbre's +timbres +time +time's +timed +timekeeper +timekeeper's +timekeepers +timeless +timelessness +timelessness's +timelier +timeliest +timeliness +timeliness's +timely +timepiece +timepiece's +timepieces +timer +timer's +timers +times +timescale +timescales +timetable +timetable's +timetabled +timetables +timetabling +timeworn +timezone +timid +timider +timidest +timidity +timidity's +timidly +timing +timing's +timings +timorous +timorously +timpani +timpani's +timpanist +timpanist's +timpanists +tin +tin's +tincture +tincture's +tinctured +tinctures +tincturing +tinder +tinder's +tinderbox +tinderbox's +tinderboxes +tine +tine's +tines +tinfoil +tinfoil's +ting +tinge +tinge's +tinged +tingeing +tinges +tinging +tingle +tingle's +tingled +tingles +tinglier +tingliest +tingling +tingling's +tinglings +tingly +tings +tinier +tiniest +tinker +tinker's +tinkered +tinkering +tinkers +tinkle +tinkle's +tinkled +tinkles +tinkling +tinned +tinnier +tinniest +tinning +tinny +tins +tinsel +tinsel's +tinseled +tinseling +tinselled +tinselling +tinsels +tinsmith +tinsmith's +tinsmiths +tint +tint's +tinted +tinting +tintinnabulation +tintinnabulation's +tintinnabulations +tints +tiny +tip +tip's +tipi +tipi's +tipis +tipped +tipper +tipper's +tippers +tipping +tipple +tipple's +tippled +tippler +tippler's +tipplers +tipples +tippling +tips +tipsier +tipsiest +tipsily +tipster +tipster's +tipsters +tipsy +tiptoe +tiptoe's +tiptoed +tiptoeing +tiptoes +tiptop +tiptop's +tiptops +tirade +tirade's +tirades +tire +tire's +tired +tireder +tiredest +tiredness +tiredness's +tireless +tirelessly +tirelessness +tirelessness's +tires +tiresome +tiresomely +tiresomeness +tiresomeness's +tiring +tiro +tiro's +tiros +tissue +tissue's +tissues +tit +tit's +titan +titan's +titanic +titanium +titanium's +titans +titbit +titbit's +titbits +tithe +tithe's +tithed +tithes +tithing +titillate +titillated +titillates +titillating +titillation +titillation's +title +title's +titled +titles +titling +titmice +titmouse +titmouse's +tits +titter +titter's +tittered +tittering +titters +tittle +tittle's +tittles +titular +tizzies +tizzy +tizzy's +to +toad +toad's +toadied +toadies +toads +toadstool +toadstool's +toadstools +toady +toady's +toadying +toast +toast's +toasted +toaster +toaster's +toasters +toastier +toastiest +toasting +toastmaster +toastmaster's +toastmasters +toasts +toasty +tobacco +tobacco's +tobaccoes +tobacconist +tobacconist's +tobacconists +tobaccos +toboggan +toboggan's +tobogganed +tobogganing +toboggans +tocsin +tocsin's +tocsins +today +today's +toddies +toddle +toddle's +toddled +toddler +toddler's +toddlers +toddles +toddling +toddy +toddy's +toe +toe's +toed +toehold +toehold's +toeholds +toeing +toenail +toenail's +toenails +toes +toffee +toffee's +toffees +toffies +toffy +toffy's +tofu +tofu's +tog +tog's +toga +toga's +togae +togas +together +togetherness +togetherness's +toggle +toggle's +toggled +toggles +toggling +togs +togs's +toil +toil's +toiled +toiler +toiler's +toilers +toilet +toilet's +toileted +toileting +toiletries +toiletry +toiletry's +toilets +toilette +toilette's +toiling +toils +toilsome +toke +toke's +toked +token +token's +tokenism +tokenism's +tokens +tokes +toking +told +tolerable +tolerably +tolerance +tolerance's +tolerances +tolerant +tolerantly +tolerate +tolerated +tolerates +tolerating +toleration +toleration's +toll +toll's +tollbooth +tollbooth's +tollbooths +tolled +tollgate +tollgate's +tollgates +tolling +tolls +tom +tom's +tomahawk +tomahawk's +tomahawked +tomahawking +tomahawks +tomato +tomato's +tomatoes +tomb +tomb's +tombed +tombing +tomboy +tomboy's +tomboys +tombs +tombstone +tombstone's +tombstones +tomcat +tomcat's +tomcats +tome +tome's +tomes +tomfooleries +tomfoolery +tomfoolery's +tomorrow +tomorrow's +tomorrows +toms +ton +ton's +tonal +tonalities +tonality +tonality's +tone +tone's +toned +toneless +toner +tones +tong +tong's +tongs +tongue +tongue's +tongued +tongues +tonguing +tonic +tonic's +tonics +tonier +toniest +tonight +tonight's +toning +tonnage +tonnage's +tonnages +tonne +tonne's +tonnes +tons +tonsil +tonsil's +tonsillectomies +tonsillectomy +tonsillectomy's +tonsillitis +tonsillitis's +tonsils +tonsorial +tonsure +tonsure's +tonsured +tonsures +tonsuring +tony +too +took +tool +tool's +toolbar +toolbox +toolbox's +toolboxes +tooled +tooling +toolkit +tools +toot +toot's +tooted +tooth +tooth's +toothache +toothache's +toothaches +toothbrush +toothbrush's +toothbrushes +toothed +toothier +toothiest +toothless +toothpaste +toothpaste's +toothpastes +toothpick +toothpick's +toothpicks +toothsome +toothy +tooting +toots +top +top's +topaz +topaz's +topazes +topcoat +topcoat's +topcoats +topic +topic's +topical +topically +topics +topknot +topknot's +topknots +topless +topmast +topmast's +topmasts +topmost +topographer +topographer's +topographers +topographic +topographical +topographies +topography +topography's +topological +topologically +topology +topped +topping +topping's +toppings +topple +toppled +topples +toppling +tops +topsail +topsail's +topsails +topside +topside's +topsides +topsoil +topsoil's +toque +toque's +toques +tor +tor's +torch +torch's +torched +torches +torching +torchlight +torchlight's +tore +toreador +toreador's +toreadors +torment +torment's +tormented +tormenter +tormenter's +tormenters +tormenting +tormentor +tormentor's +tormentors +torments +torn +tornado +tornado's +tornadoes +tornados +torpedo +torpedo's +torpedoed +torpedoes +torpedoing +torpedos +torpid +torpidity +torpidity's +torpor +torpor's +torque +torque's +torqued +torques +torquing +torrent +torrent's +torrential +torrents +torrid +torrider +torridest +tors +torsi +torsion +torsion's +torso +torso's +torsos +tort +tort's +torte +torte's +tortes +tortilla +tortilla's +tortillas +tortoise +tortoise's +tortoises +tortoiseshell +tortoiseshell's +tortoiseshells +torts +tortuous +tortuously +torture +torture's +tortured +torturer +torturer's +torturers +tortures +torturing +torus +toss +toss's +tossed +tosses +tossing +tossup +tossup's +tossups +tost +tot +tot's +total +total's +totaled +totaling +totalitarian +totalitarian's +totalitarianism +totalitarianism's +totalitarians +totalities +totality +totality's +totalled +totalling +totally +totals +tote +tote's +toted +totem +totem's +totemic +totems +totes +toting +tots +totted +totter +totter's +tottered +tottering +totters +totting +toucan +toucan's +toucans +touch +touch's +touchdown +touchdown's +touchdowns +touched +touches +touchier +touchiest +touching +touchingly +touchings +touchstone +touchstone's +touchstones +touchy +tough +tough's +toughen +toughened +toughening +toughens +tougher +toughest +toughly +toughness +toughness's +toughs +toupee +toupee's +toupees +tour +tour's +toured +touring +tourism +tourism's +tourist +tourist's +tourists +tourmaline +tourmaline's +tournament +tournament's +tournaments +tourney +tourney's +tourneys +tourniquet +tourniquet's +tourniquets +tours +tousle +tousled +tousles +tousling +tout +tout's +touted +touting +touts +tow +tow's +toward +towards +towed +towel +towel's +toweled +toweling +toweling's +towelings +towelled +towelling +towelling's +towellings +towels +tower +tower's +towered +towering +towers +towhead +towhead's +towheaded +towheads +towing +town +town's +townhouse +townhouse's +townhouses +towns +townsfolk +townsfolk's +township +township's +townships +townsman +townsman's +townsmen +townspeople +townspeople's +towpath +towpath's +towpaths +tows +toxemia +toxemia's +toxic +toxicity +toxicity's +toxicologist +toxicologist's +toxicologists +toxicology +toxicology's +toxin +toxin's +toxins +toy +toy's +toyed +toying +toys +trace +trace's +traceable +traced +tracer +tracer's +traceries +tracers +tracery +tracery's +traces +trachea +trachea's +tracheae +tracheas +tracheotomies +tracheotomy +tracheotomy's +tracing +tracing's +tracings +track +track's +tracked +tracker +tracker's +trackers +tracking +tracks +tract +tract's +tractable +traction +traction's +tractor +tractor's +tractors +tracts +trade +trade's +traded +trademark +trademark's +trademarked +trademarking +trademarks +trader +trader's +traders +trades +tradesman +tradesman's +tradesmen +trading +tradition +tradition's +traditional +traditionalist +traditionalist's +traditionalists +traditionally +traditions +traduce +traduced +traduces +traducing +traffic +traffic's +trafficked +trafficker +trafficker's +traffickers +trafficking +traffics +tragedian +tragedian's +tragedians +tragedies +tragedy +tragedy's +tragic +tragically +tragicomedies +tragicomedy +tragicomedy's +trail +trail's +trailblazer +trailblazer's +trailblazers +trailed +trailer +trailer's +trailers +trailing +trails +train +train's +trained +trainee +trainee's +trainees +trainer +trainer's +trainers +training +training's +trains +traipse +traipse's +traipsed +traipses +traipsing +trait +trait's +traitor +traitor's +traitorous +traitors +traits +trajectories +trajectory +trajectory's +tram +tram's +trammed +trammel +trammel's +trammeled +trammeling +trammelled +trammelling +trammels +tramming +tramp +tramp's +tramped +tramping +trample +trample's +trampled +tramples +trampling +trampoline +trampoline's +trampolines +tramps +trams +trance +trance's +trances +tranquil +tranquiler +tranquilest +tranquility +tranquility's +tranquilize +tranquilized +tranquilizer +tranquilizer's +tranquilizers +tranquilizes +tranquilizing +tranquiller +tranquillest +tranquillity +tranquillity's +tranquillize +tranquillized +tranquillizer +tranquillizer's +tranquillizers +tranquillizes +tranquillizing +tranquilly +transact +transacted +transacting +transaction +transaction's +transactions +transacts +transatlantic +transceiver +transceiver's +transceivers +transcend +transcended +transcendence +transcendence's +transcendent +transcendental +transcendentalism +transcendentalism's +transcendentalist +transcendentalist's +transcendentalists +transcendentally +transcending +transcends +transcontinental +transcribe +transcribed +transcribes +transcribing +transcript +transcript's +transcription +transcription's +transcriptions +transcripts +transducer +transducer's +transducers +transept +transept's +transepts +transfer +transfer's +transferable +transferal +transferal's +transferals +transference +transference's +transferred +transferring +transfers +transfiguration +transfiguration's +transfigure +transfigured +transfigures +transfiguring +transfinite +transfix +transfixed +transfixes +transfixing +transfixt +transform +transform's +transformation +transformation's +transformations +transformed +transformer +transformer's +transformers +transforming +transforms +transfuse +transfused +transfuses +transfusing +transfusion +transfusion's +transfusions +transgress +transgressed +transgresses +transgressing +transgression +transgression's +transgressions +transgressor +transgressor's +transgressors +transience +transience's +transiency +transiency's +transient +transient's +transients +transistor +transistor's +transistors +transit +transit's +transited +transiting +transition +transition's +transitional +transitioned +transitioning +transitions +transitive +transitive's +transitively +transitives +transitory +transits +transitted +transitting +translate +translated +translates +translating +translation +translation's +translations +translator +translator's +translators +transliterate +transliterated +transliterates +transliterating +transliteration +transliteration's +transliterations +translucence +translucence's +translucent +transmigrate +transmigrated +transmigrates +transmigrating +transmigration +transmigration's +transmissible +transmission +transmission's +transmissions +transmit +transmits +transmittable +transmittal +transmittal's +transmitted +transmitter +transmitter's +transmitters +transmitting +transmutation +transmutation's +transmutations +transmute +transmuted +transmutes +transmuting +transnational +transnational's +transnationals +transoceanic +transom +transom's +transoms +transparencies +transparency +transparency's +transparent +transparently +transpiration +transpiration's +transpire +transpired +transpires +transpiring +transplant +transplant's +transplantation +transplantation's +transplanted +transplanting +transplants +transponder +transponder's +transponders +transport +transport's +transportable +transportation +transportation's +transported +transporter +transporter's +transporters +transporting +transports +transpose +transposed +transposes +transposing +transposition +transposition's +transpositions +transsexual +transsexual's +transsexuals +transship +transshipment +transshipment's +transshipped +transshipping +transships +transubstantiation +transubstantiation's +transverse +transverse's +transversely +transverses +transvestism +transvestism's +transvestite +transvestite's +transvestites +trap +trap's +trapdoor +trapdoor's +trapdoors +trapeze +trapeze's +trapezes +trapezoid +trapezoid's +trapezoidal +trapezoids +trappable +trapped +trapper +trapper's +trappers +trapping +trappings +trappings's +traps +trapshooting +trapshooting's +trash +trash's +trashcan +trashcan's +trashcans +trashed +trashes +trashier +trashiest +trashing +trashy +trauma +trauma's +traumas +traumata +traumatic +traumatize +traumatized +traumatizes +traumatizing +travail +travail's +travailed +travailing +travails +travel +travel's +traveled +traveler +traveler's +travelers +traveling +travelings +travelled +traveller +traveller's +travellers +travelling +travelog +travelog's +travelogs +travelogue +travelogue's +travelogues +travels +traverse +traverse's +traversed +traverses +traversing +travestied +travesties +travesty +travesty's +travestying +trawl +trawl's +trawled +trawler +trawler's +trawlers +trawling +trawls +tray +tray's +trays +treacheries +treacherous +treacherously +treachery +treachery's +treacle +treacle's +tread +tread's +treading +treadle +treadle's +treadled +treadles +treadling +treadmill +treadmill's +treadmills +treads +treason +treason's +treasonable +treasonous +treasure +treasure's +treasured +treasurer +treasurer's +treasurers +treasures +treasuries +treasuring +treasury +treasury's +treat +treat's +treatable +treated +treaties +treating +treatise +treatise's +treatises +treatment +treatment's +treatments +treats +treaty +treaty's +treble +treble's +trebled +trebles +trebling +tree +tree's +treed +treeing +treeless +trees +treetop +treetop's +treetops +trefoil +trefoil's +trefoils +trek +trek's +trekked +trekking +treks +trellis +trellis's +trellised +trellises +trellising +tremble +tremble's +trembled +trembles +trembling +tremendous +tremendously +tremolo +tremolo's +tremolos +tremor +tremor's +tremors +tremulous +tremulously +trench +trench's +trenchant +trenched +trenches +trenching +trend +trend's +trended +trendier +trendies +trendiest +trending +trends +trendy +trendy's +trepidation +trepidation's +trespass +trespass's +trespassed +trespasser +trespasser's +trespassers +trespasses +trespassing +tress +tress's +tresses +trestle +trestle's +trestles +triad +triad's +triads +triage +triage's +trial +trial's +trialed +trialing +trials +triangle +triangle's +triangles +triangular +triangulation +triangulation's +triathlon +triathlon's +triathlons +tribal +tribalism +tribalism's +tribe +tribe's +tribes +tribesman +tribesman's +tribesmen +tribulation +tribulation's +tribulations +tribunal +tribunal's +tribunals +tribune +tribune's +tribunes +tributaries +tributary +tributary's +tribute +tribute's +tributes +trice +trice's +triceps +triceps's +tricepses +triceratops +triceratops's +triceratopses +trick +trick's +tricked +trickery +trickery's +trickier +trickiest +trickiness +trickiness's +tricking +trickle +trickle's +trickled +trickles +trickling +tricks +trickster +trickster's +tricksters +tricky +tricolor +tricolor's +tricolors +tricycle +tricycle's +tricycles +trident +trident's +tridents +tried +triennial +triennial's +triennials +tries +trifle +trifle's +trifled +trifler +trifler's +triflers +trifles +trifling +trifocals +trifocals's +trig +trig's +trigger +trigger's +triggered +triggering +triggers +triglyceride +triglyceride's +triglycerides +trigonometric +trigonometry +trigonometry's +trike +trike's +trikes +trilateral +trilaterals +trill +trill's +trilled +trilling +trillion +trillion's +trillions +trillionth +trillionth's +trillionths +trills +trilogies +trilogy +trilogy's +trim +trim's +trimaran +trimaran's +trimarans +trimester +trimester's +trimesters +trimly +trimmed +trimmer +trimmer's +trimmers +trimmest +trimming +trimming's +trimmings +trimmings's +trimness +trimness's +trims +trinities +trinity +trinity's +trinket +trinket's +trinkets +trio +trio's +trios +trip +trip's +tripartite +tripe +tripe's +triple +triple's +tripled +triples +triplet +triplet's +triplets +triplicate +triplicate's +triplicated +triplicates +triplicating +tripling +triply +tripod +tripod's +tripods +tripos +tripped +tripping +trips +triptych +triptych's +triptychs +trisect +trisected +trisecting +trisects +trite +tritely +triteness +triteness's +triter +tritest +triumph +triumph's +triumphal +triumphant +triumphantly +triumphed +triumphing +triumphs +triumvirate +triumvirate's +triumvirates +trivet +trivet's +trivets +trivia +trivia's +trivial +trivialities +triviality +triviality's +trivialize +trivialized +trivializes +trivializing +trivially +trochee +trochee's +trochees +trod +trodden +troika +troika's +troikas +troll +troll's +trolled +trolley +trolley's +trolleys +trollies +trolling +trollop +trollop's +trollops +trolls +trolly +trolly's +trombone +trombone's +trombones +trombonist +trombonist's +trombonists +tromp +tromped +tromping +tromps +troop +troop's +trooped +trooper +trooper's +troopers +trooping +troops +troopship +troopship's +troopships +trope +trope's +tropes +trophies +trophy +trophy's +tropic +tropic's +tropical +tropics +tropics's +tropism +tropism's +tropisms +troposphere +troposphere's +tropospheres +trot +trot's +troth +troth's +trots +trotted +trotter +trotter's +trotters +trotting +troubadour +troubadour's +troubadours +trouble +trouble's +troubled +troublemaker +troublemaker's +troublemakers +troubles +troubleshoot +troubleshooted +troubleshooter +troubleshooter's +troubleshooters +troubleshooting +troubleshooting's +troubleshoots +troubleshot +troublesome +troubling +trough +trough's +troughs +trounce +trounced +trounces +trouncing +troupe +troupe's +trouped +trouper +trouper's +troupers +troupes +trouping +trouser +trouser's +trousers +trousers's +trousseau +trousseau's +trousseaus +trousseaux +trout +trout's +trouts +trowel +trowel's +troweled +troweling +trowelled +trowelling +trowels +troy +troys +truancy +truancy's +truant +truant's +truanted +truanting +truants +truce +truce's +truces +truck +truck's +trucked +trucker +trucker's +truckers +trucking +trucking's +truckle +truckle's +truckled +truckles +truckling +truckload +truckload's +truckloads +trucks +truculence +truculence's +truculent +truculently +trudge +trudge's +trudged +trudges +trudging +true +true's +trued +trueing +truer +trues +truest +truffle +truffle's +truffles +truing +truism +truism's +truisms +truly +trump +trump's +trumped +trumpery +trumpery's +trumpet +trumpet's +trumpeted +trumpeter +trumpeter's +trumpeters +trumpeting +trumpets +trumping +trumps +truncate +truncated +truncates +truncating +truncation +truncation's +truncheon +truncheon's +truncheons +trundle +trundle's +trundled +trundles +trundling +trunk +trunk's +trunking +trunks +truss +truss's +trussed +trusses +trussing +trust +trust's +trusted +trustee +trustee's +trustees +trusteeship +trusteeship's +trusteeships +trustful +trustfully +trustfulness +trustfulness's +trustier +trusties +trustiest +trusting +trusts +trustworthier +trustworthiest +trustworthiness +trustworthiness's +trustworthy +trusty +trusty's +truth +truth's +truthful +truthfully +truthfulness +truthfulness's +truths +try +try's +trying +tryout +tryout's +tryouts +tryst +tryst's +trysted +trysting +trysts +ts +tsar +tsar's +tsarina +tsarina's +tsarinas +tsars +tsunami +tsunami's +tsunamis +tub +tub's +tuba +tuba's +tubas +tubbier +tubbiest +tubby +tube +tube's +tubed +tubeless +tubeless's +tuber +tuber's +tubercle +tubercle's +tubercles +tubercular +tuberculosis +tuberculosis's +tuberculous +tuberous +tubers +tubes +tubing +tubing's +tubs +tubular +tuck +tuck's +tucked +tucker +tucker's +tuckered +tuckering +tuckers +tucking +tucks +tuft +tuft's +tufted +tufting +tufts +tug +tug's +tugboat +tugboat's +tugboats +tugged +tugging +tugs +tuition +tuition's +tulip +tulip's +tulips +tulle +tulle's +tumble +tumble's +tumbled +tumbledown +tumbler +tumbler's +tumblers +tumbles +tumbleweed +tumbleweed's +tumbleweeds +tumbling +tumbrel +tumbrel's +tumbrels +tumbril +tumbril's +tumbrils +tumid +tummies +tummy +tummy's +tumor +tumor's +tumors +tumult +tumult's +tumults +tumultuous +tun +tun's +tuna +tuna's +tunas +tundra +tundra's +tundras +tune +tune's +tuned +tuneful +tunefully +tuneless +tunelessly +tuner +tuner's +tuners +tunes +tungsten +tungsten's +tunic +tunic's +tunics +tuning +tunnel +tunnel's +tunneled +tunneling +tunnelings +tunnelled +tunnelling +tunnels +tunnies +tunny +tunny's +tuns +turban +turban's +turbans +turbid +turbine +turbine's +turbines +turbojet +turbojet's +turbojets +turboprop +turboprop's +turboprops +turbot +turbot's +turbots +turbulence +turbulence's +turbulent +turbulently +turd +turd's +turds +tureen +tureen's +tureens +turf +turf's +turfed +turfing +turfs +turgid +turgidity +turgidity's +turgidly +turkey +turkey's +turkeys +turmeric +turmeric's +turmerics +turmoil +turmoil's +turmoils +turn +turn's +turnabout +turnabout's +turnabouts +turnaround +turnaround's +turnarounds +turncoat +turncoat's +turncoats +turned +turner +turner's +turners +turning +turnip +turnip's +turnips +turnkey +turnkey's +turnkeys +turnoff +turnoff's +turnoffs +turnout +turnout's +turnouts +turnover +turnover's +turnovers +turnpike +turnpike's +turnpikes +turns +turnstile +turnstile's +turnstiles +turntable +turntable's +turntables +turpentine +turpentine's +turpitude +turpitude's +turquoise +turquoise's +turquoises +turret +turret's +turrets +turtle +turtle's +turtledove +turtledove's +turtledoves +turtleneck +turtleneck's +turtlenecks +turtles +turves +tush +tush's +tushes +tusk +tusk's +tusked +tusks +tussle +tussle's +tussled +tussles +tussling +tussock +tussock's +tussocks +tutelage +tutelage's +tutor +tutor's +tutored +tutorial +tutorial's +tutorials +tutoring +tutors +tutu +tutu's +tutus +tux +tux's +tuxedo +tuxedo's +tuxedoes +tuxedos +tuxes +twaddle +twaddle's +twaddled +twaddles +twaddling +twain +twain's +twang +twang's +twanged +twanging +twangs +tweak +tweak's +tweaked +tweaking +tweaks +twee +tweed +tweed's +tweedier +tweediest +tweeds +tweeds's +tweedy +tweet +tweet's +tweeted +tweeter +tweeter's +tweeters +tweeting +tweets +tweezers +tweezers's +twelfth +twelfth's +twelfths +twelve +twelve's +twelves +twenties +twentieth +twentieth's +twentieths +twenty +twenty's +twerp +twerp's +twerps +twice +twiddle +twiddle's +twiddled +twiddles +twiddling +twig +twig's +twigged +twiggier +twiggiest +twigging +twiggy +twigs +twilight +twilight's +twill +twill's +twilled +twin +twin's +twine +twine's +twined +twines +twinge +twinge's +twinged +twingeing +twinges +twinging +twining +twinkle +twinkle's +twinkled +twinkles +twinkling +twinkling's +twinklings +twinned +twinning +twins +twirl +twirl's +twirled +twirler +twirler's +twirlers +twirling +twirls +twist +twist's +twisted +twister +twister's +twisters +twisting +twists +twit +twit's +twitch +twitch's +twitched +twitches +twitching +twits +twitted +twitter +twitter's +twittered +twittering +twitters +twitting +two +two's +twofer +twofer's +twofers +twofold +twos +twosome +twosome's +twosomes +tycoon +tycoon's +tycoons +tying +tyke +tyke's +tykes +tympana +tympanum +tympanum's +tympanums +type +type's +typecast +typecasting +typecasts +typed +typeface +typeface's +typefaces +types +typescript +typescript's +typescripts +typeset +typesets +typesetter +typesetter's +typesetters +typesetting +typewrite +typewriter +typewriter's +typewriters +typewrites +typewriting +typewritten +typewrote +typhoid +typhoid's +typhoon +typhoon's +typhoons +typhus +typhus's +typical +typically +typified +typifies +typify +typifying +typing +typing's +typist +typist's +typists +typo +typo's +typographer +typographer's +typographers +typographic +typographical +typographically +typography +typography's +typos +tyrannical +tyrannically +tyrannies +tyrannize +tyrannized +tyrannizes +tyrannizing +tyrannosaur +tyrannosaur's +tyrannosaurs +tyrannosaurus +tyrannosaurus's +tyrannosauruses +tyrannous +tyranny +tyranny's +tyrant +tyrant's +tyrants +tyro +tyro's +tyroes +tyros +tzar +tzar's +tzarina +tzarina's +tzarinas +tzars +u +ubiquitous +ubiquitously +ubiquity +ubiquity's +udder +udder's +udders +ugh +uglier +ugliest +ugliness +ugliness's +ugly +uh +ukelele +ukelele's +ukeleles +ukulele +ukulele's +ukuleles +ulcer +ulcer's +ulcerate +ulcerated +ulcerates +ulcerating +ulceration +ulceration's +ulcerous +ulcers +ulna +ulna's +ulnae +ulnas +ulterior +ultimata +ultimate +ultimate's +ultimately +ultimatum +ultimatum's +ultimatums +ultra +ultra's +ultraconservative +ultraconservative's +ultraconservatives +ultramarine +ultramarine's +ultras +ultrasonic +ultrasonically +ultrasound +ultrasound's +ultrasounds +ultraviolet +ultraviolet's +ululate +ululated +ululates +ululating +um +umbel +umbel's +umbels +umber +umber's +umbilical +umbilici +umbilicus +umbilicus's +umbilicuses +umbrage +umbrage's +umbrella +umbrella's +umbrellas +umiak +umiak's +umiaks +umlaut +umlaut's +umlauts +ump +ump's +umped +umping +umpire +umpire's +umpired +umpires +umpiring +umps +umpteen +umpteenth +unabashed +unabated +unable +unabridged +unabridged's +unabridgeds +unaccented +unacceptability +unacceptable +unacceptably +unaccepted +unaccompanied +unaccountable +unaccountably +unaccustomed +unacknowledged +unacquainted +unadorned +unadulterated +unadvised +unaffected +unafraid +unaided +unalterable +unalterably +unaltered +unambiguous +unambiguously +unanimity +unanimity's +unanimous +unanimously +unannounced +unanswerable +unanswered +unanticipated +unappealing +unappetizing +unappreciated +unappreciative +unapproachable +unarmed +unashamed +unashamedly +unasked +unassailable +unassigned +unassisted +unassuming +unattached +unattainable +unattended +unattractive +unattributed +unauthenticated +unauthorized +unavailable +unavailing +unavoidable +unavoidably +unaware +unawares +unbalanced +unbar +unbarred +unbarring +unbars +unbearable +unbearably +unbeatable +unbeaten +unbecoming +unbeknown +unbeknownst +unbelief +unbelief's +unbelievable +unbelievably +unbeliever +unbeliever's +unbelievers +unbend +unbending +unbends +unbent +unbiased +unbiassed +unbidden +unbind +unbinding +unbinds +unblock +unblocked +unblocking +unblocks +unblushing +unbolt +unbolted +unbolting +unbolts +unborn +unbosom +unbosomed +unbosoming +unbosoms +unbound +unbounded +unbranded +unbreakable +unbridled +unbroken +unbuckle +unbuckled +unbuckles +unbuckling +unburden +unburdened +unburdening +unburdens +unbutton +unbuttoned +unbuttoning +unbuttons +uncalled +uncannier +uncanniest +uncannily +uncanny +uncaring +uncased +uncatalogued +unceasing +unceasingly +uncensored +unceremonious +unceremoniously +uncertain +uncertainly +uncertainties +uncertainty +uncertainty's +unchallenged +unchanged +unchanging +uncharacteristic +uncharacteristically +uncharitable +uncharitably +uncharted +unchecked +unchristian +uncivil +uncivilized +unclaimed +unclasp +unclasped +unclasping +unclasps +unclassified +uncle +uncle's +unclean +uncleaner +uncleanest +uncleanlier +uncleanliest +uncleanly +uncleanness +uncleanness's +unclear +unclearer +unclearest +uncles +unclothe +unclothed +unclothes +unclothing +uncluttered +uncoil +uncoiled +uncoiling +uncoils +uncollected +uncomfortable +uncomfortably +uncommitted +uncommon +uncommoner +uncommonest +uncommonly +uncommunicative +uncomplaining +uncompleted +uncomplicated +uncomplimentary +uncomprehending +uncompressed +uncompromising +uncompromisingly +unconcern +unconcern's +unconcerned +unconcernedly +unconditional +unconditionally +unconfirmed +unconnected +unconquerable +unconscionable +unconscionably +unconscious +unconscious's +unconsciously +unconsciousness +unconsciousness's +unconsidered +unconstitutional +uncontaminated +uncontested +uncontrollable +uncontrollably +uncontrolled +uncontroversial +unconventional +unconventionally +unconvinced +unconvincing +unconvincingly +uncooked +uncooperative +uncoordinated +uncork +uncorked +uncorking +uncorks +uncorrelated +uncorroborated +uncountable +uncounted +uncouple +uncoupled +uncouples +uncoupling +uncouth +uncover +uncovered +uncovering +uncovers +uncritical +unction +unction's +unctions +unctuous +unctuously +unctuousness +unctuousness's +uncultivated +uncultured +uncut +undamaged +undated +undaunted +undeceive +undeceived +undeceives +undeceiving +undecidable +undecided +undecided's +undecideds +undecipherable +undeclared +undefeated +undefended +undefinable +undefined +undelivered +undemanding +undemocratic +undemonstrative +undeniable +undeniably +undependable +under +underachieve +underachieved +underachiever +underachiever's +underachievers +underachieves +underachieving +underact +underacted +underacting +underacts +underage +underarm +underarm's +underarms +underbellies +underbelly +underbelly's +underbid +underbidding +underbids +underbrush +underbrush's +undercarriage +undercarriage's +undercarriages +undercharge +undercharge's +undercharged +undercharges +undercharging +underclass +underclass's +underclassman +underclassman's +underclassmen +underclothes +underclothes's +underclothing +underclothing's +undercoat +undercoat's +undercoated +undercoating +undercoats +undercover +undercurrent +undercurrent's +undercurrents +undercut +undercut's +undercuts +undercutting +underdeveloped +underdog +underdog's +underdogs +underdone +underemployed +underestimate +underestimate's +underestimated +underestimates +underestimating +underexpose +underexposed +underexposes +underexposing +underfed +underfeed +underfeeding +underfeeds +underflow +underfoot +underfunded +undergarment +undergarment's +undergarments +undergo +undergoes +undergoing +undergone +undergrad +undergrads +undergraduate +undergraduate's +undergraduates +underground +underground's +undergrounds +undergrowth +undergrowth's +underhand +underhanded +underhandedly +underlain +underlay +underlay's +underlays +underlie +underlies +underline +underline's +underlined +underlines +underling +underling's +underlings +underlining +underlying +undermine +undermined +undermines +undermining +undermost +underneath +underneath's +underneaths +undernourished +underpaid +underpants +underpants's +underpass +underpass's +underpasses +underpay +underpaying +underpays +underpin +underpinned +underpinning +underpinning's +underpinnings +underpins +underplay +underplayed +underplaying +underplays +underprivileged +underrate +underrated +underrates +underrating +underscore +underscore's +underscored +underscores +underscoring +undersea +undersecretaries +undersecretary +undersecretary's +undersell +underselling +undersells +undershirt +undershirt's +undershirts +undershoot +undershooting +undershoots +undershorts +undershorts's +undershot +underside +underside's +undersides +undersign +undersigned +undersigned's +undersigning +undersigns +undersize +undersized +underskirt +underskirt's +underskirts +undersold +understaffed +understand +understandable +understandably +understanding +understanding's +understandingly +understandings +understands +understate +understated +understatement +understatement's +understatements +understates +understating +understood +understudied +understudies +understudy +understudy's +understudying +undertake +undertaken +undertaker +undertaker's +undertakers +undertakes +undertaking +undertaking's +undertakings +undertone +undertone's +undertones +undertook +undertow +undertow's +undertows +underused +undervalue +undervalued +undervalues +undervaluing +underwater +underwear +underwear's +underweight +underweight's +underwent +underworld +underworld's +underworlds +underwrite +underwriter +underwriter's +underwriters +underwrites +underwriting +underwritten +underwrote +undeserved +undeservedly +undeserving +undesirability +undesirable +undesirable's +undesirables +undetectable +undetected +undetermined +undeterred +undeveloped +undid +undies +undies's +undignified +undiluted +undiminished +undisciplined +undisclosed +undiscovered +undiscriminating +undisguised +undisputed +undistinguished +undisturbed +undivided +undo +undocumented +undoes +undoing +undoing's +undoings +undone +undoubted +undoubtedly +undress +undress's +undressed +undresses +undressing +undue +undulant +undulate +undulated +undulates +undulating +undulation +undulation's +undulations +unduly +undying +unearned +unearth +unearthed +unearthing +unearthly +unearths +unease +unease's +uneasier +uneasiest +uneasily +uneasiness +uneasiness's +uneasy +uneaten +uneconomic +uneconomical +unedited +uneducated +unembarrassed +unemotional +unemployable +unemployed +unemployed's +unemployment +unemployment's +unending +unendurable +unenforceable +unenlightened +unenthusiastic +unenviable +unequal +unequaled +unequalled +unequally +unequivocal +unequivocally +unerring +unerringly +unethical +uneven +unevener +unevenest +unevenly +unevenness +unevenness's +uneventful +uneventfully +unexampled +unexceptionable +unexceptional +unexciting +unexpected +unexpectedly +unexplained +unexplored +unexpurgated +unfailing +unfailingly +unfair +unfairer +unfairest +unfairly +unfairness +unfairness's +unfaithful +unfaithfully +unfaithfulness +unfaithfulness's +unfamiliar +unfamiliarity +unfamiliarity's +unfashionable +unfasten +unfastened +unfastening +unfastens +unfathomable +unfavorable +unfavorably +unfeasible +unfeeling +unfeelingly +unfeigned +unfetter +unfettered +unfettering +unfetters +unfilled +unfinished +unfit +unfits +unfitted +unfitting +unflagging +unflappable +unflattering +unflinching +unflinchingly +unfold +unfolded +unfolding +unfolds +unforeseeable +unforeseen +unforgettable +unforgettably +unforgivable +unforgiving +unformed +unfortunate +unfortunate's +unfortunately +unfortunates +unfounded +unfrequented +unfriendlier +unfriendliest +unfriendliness +unfriendliness's +unfriendly +unfrock +unfrocked +unfrocking +unfrocks +unfulfilled +unfunny +unfurl +unfurled +unfurling +unfurls +unfurnished +ungainlier +ungainliest +ungainliness +ungainliness's +ungainly +ungentlemanly +ungodlier +ungodliest +ungodly +ungovernable +ungracious +ungrammatical +ungrateful +ungratefully +ungratefulness +ungratefulness's +ungrudging +unguarded +unguent +unguent's +unguents +ungulate +ungulate's +ungulates +unhand +unhanded +unhanding +unhands +unhappier +unhappiest +unhappily +unhappiness +unhappiness's +unhappy +unharmed +unhealthful +unhealthier +unhealthiest +unhealthy +unheard +unheeded +unhelpful +unhesitating +unhesitatingly +unhindered +unhinge +unhinged +unhinges +unhinging +unhitch +unhitched +unhitches +unhitching +unholier +unholiest +unholy +unhook +unhooked +unhooking +unhooks +unhorse +unhorsed +unhorses +unhorsing +unhurried +unhurt +unicameral +unicorn +unicorn's +unicorns +unicycle +unicycle's +unicycles +unidentifiable +unidentified +unidirectional +unification +unification's +unified +unifies +uniform +uniform's +uniformed +uniforming +uniformity +uniformity's +uniformly +uniforms +unify +unifying +unilateral +unilaterally +unimaginable +unimaginative +unimpaired +unimpeachable +unimplementable +unimplemented +unimportant +unimpressed +unimpressive +uninformative +uninformed +uninhabitable +uninhabited +uninhibited +uninitialized +uninitiated +uninjured +uninspired +uninspiring +uninstall +uninstallable +uninstalled +uninstaller +uninstaller's +uninstallers +uninstalling +uninstalls +uninsured +unintelligent +unintelligible +unintelligibly +unintended +unintentional +unintentionally +uninterested +uninteresting +uninterpreted +uninterrupted +uninvited +uninviting +union +union's +unionization +unionization's +unionize +unionized +unionizes +unionizing +unions +unique +uniquely +uniqueness +uniqueness's +uniquer +uniquest +unisex +unisex's +unison +unison's +unit +unit's +unitary +unite +united +unites +unities +uniting +units +unity +unity's +universal +universal's +universality +universality's +universally +universals +universe +universe's +universes +universities +university +university's +unjust +unjustifiable +unjustified +unjustly +unkempt +unkind +unkinder +unkindest +unkindlier +unkindliest +unkindly +unkindness +unkindness's +unknowable +unknowing +unknowingly +unknowings +unknown +unknown's +unknowns +unlabeled +unlace +unlaced +unlaces +unlacing +unlatch +unlatched +unlatches +unlatching +unlawful +unlawfully +unleaded +unleaded's +unlearn +unlearned +unlearning +unlearns +unleash +unleashed +unleashes +unleashing +unleavened +unless +unlettered +unlicensed +unlike +unlikelier +unlikeliest +unlikelihood +unlikelihood's +unlikely +unlimited +unlisted +unload +unloaded +unloading +unloads +unlock +unlocked +unlocking +unlocks +unloose +unloosed +unlooses +unloosing +unloved +unluckier +unluckiest +unluckily +unlucky +unmade +unmake +unmakes +unmaking +unman +unmanageable +unmanlier +unmanliest +unmanly +unmanned +unmannerly +unmanning +unmans +unmarked +unmarried +unmask +unmasked +unmasking +unmasks +unmatched +unmemorable +unmentionable +unmentionable's +unmentionables +unmerciful +unmercifully +unmindful +unmistakable +unmistakably +unmitigated +unmodified +unmoral +unmoved +unnamed +unnatural +unnaturally +unnecessarily +unnecessary +unneeded +unnerve +unnerved +unnerves +unnerving +unnoticeable +unnoticed +unnumbered +unobjectionable +unobservant +unobserved +unobstructed +unobtainable +unobtrusive +unobtrusively +unoccupied +unoffensive +unofficial +unofficially +unopened +unopposed +unorganized +unoriginal +unorthodox +unpack +unpacked +unpacking +unpacks +unpaid +unpainted +unpalatable +unparalleled +unpardonable +unpatriotic +unpaved +unperturbed +unpick +unpin +unpinned +unpinning +unpins +unplanned +unpleasant +unpleasantly +unpleasantness +unpleasantness's +unplug +unplugged +unplugging +unplugs +unplumbed +unpolluted +unpopular +unpopularity +unpopularity's +unprecedented +unpredictability +unpredictability's +unpredictable +unprejudiced +unpremeditated +unprepared +unpretentious +unpreventable +unprincipled +unprintable +unprivileged +unproductive +unprofessional +unprofitable +unpromising +unprompted +unpronounceable +unprotected +unproved +unproven +unprovoked +unpublished +unpunished +unqualified +unquenchable +unquestionable +unquestionably +unquestioned +unquestioning +unquestioningly +unquote +unquoted +unquotes +unquoting +unravel +unraveled +unraveling +unravelled +unravelling +unravels +unreachable +unread +unreadable +unreadier +unreadiest +unready +unreal +unrealistic +unrealistically +unrealized +unreasonable +unreasonableness +unreasonableness's +unreasonably +unreasoning +unrecognizable +unrecognized +unreconstructed +unrecorded +unrefined +unregenerate +unregistered +unregulated +unrehearsed +unrelated +unreleased +unrelenting +unrelentingly +unreliability +unreliable +unrelieved +unremarkable +unremitting +unrepeatable +unrepentant +unrepresentative +unrequited +unreserved +unreservedly +unresolved +unresponsive +unrest +unrest's +unrestrained +unrestricted +unrewarding +unripe +unriper +unripest +unrivaled +unrivalled +unroll +unrolled +unrolling +unrolls +unromantic +unruffled +unrulier +unruliest +unruliness +unruliness's +unruly +unsaddle +unsaddled +unsaddles +unsaddling +unsafe +unsafer +unsafest +unsaid +unsalted +unsanctioned +unsanitary +unsatisfactory +unsatisfied +unsatisfying +unsaturated +unsavory +unsay +unsaying +unsays +unscathed +unscheduled +unschooled +unscientific +unscramble +unscrambled +unscrambles +unscrambling +unscrew +unscrewed +unscrewing +unscrews +unscrupulous +unscrupulously +unscrupulousness +unscrupulousness's +unseal +unsealed +unsealing +unseals +unseasonable +unseasonably +unseasoned +unseat +unseated +unseating +unseats +unseeing +unseemlier +unseemliest +unseemliness +unseemliness's +unseemly +unseen +unseen's +unselfish +unselfishly +unselfishness +unselfishness's +unsent +unsentimental +unset +unsettle +unsettled +unsettles +unsettling +unshakable +unshakeable +unshaven +unsheathe +unsheathed +unsheathes +unsheathing +unsightlier +unsightliest +unsightliness +unsightliness's +unsightly +unsigned +unskilled +unskillful +unsmiling +unsnap +unsnapped +unsnapping +unsnaps +unsnarl +unsnarled +unsnarling +unsnarls +unsociable +unsold +unsolicited +unsolved +unsophisticated +unsound +unsounder +unsoundest +unsparing +unspeakable +unspeakably +unspecific +unspecified +unspoiled +unspoilt +unspoken +unsportsmanlike +unstable +unstabler +unstablest +unstated +unsteadier +unsteadiest +unsteadily +unsteadiness +unsteadiness's +unsteady +unstop +unstoppable +unstopped +unstopping +unstops +unstressed +unstructured +unstrung +unstuck +unstudied +unsubscribe +unsubscribed +unsubscribes +unsubscribing +unsubstantial +unsubstantiated +unsubtle +unsuccessful +unsuccessfully +unsuitable +unsuitably +unsuited +unsung +unsupervised +unsupportable +unsupported +unsure +unsurpassed +unsurprising +unsuspected +unsuspecting +unsweetened +unswerving +unsympathetic +untainted +untamed +untangle +untangled +untangles +untangling +untapped +untaught +untenable +untested +unthinkable +unthinking +unthinkingly +untidier +untidiest +untidiness +untidiness's +untidy +untie +untied +unties +until +untimelier +untimeliest +untimeliness +untimeliness's +untimely +untiring +untiringly +untitled +unto +untold +untouchable +untouchable's +untouchables +untouched +untoward +untrained +untreated +untried +untroubled +untrue +untruer +untruest +untrustworthy +untruth +untruth's +untruthful +untruthfully +untruths +untutored +untwist +untwisted +untwisting +untwists +untying +unusable +unused +unusual +unusually +unutterable +unutterably +unvarnished +unvarying +unveil +unveiled +unveiling +unveils +unverified +unvoiced +unwanted +unwarier +unwariest +unwariness +unwariness's +unwarranted +unwary +unwashed +unwavering +unwed +unwelcome +unwell +unwholesome +unwieldier +unwieldiest +unwieldiness +unwieldiness's +unwieldy +unwilling +unwillingly +unwillingness +unwillingness's +unwind +unwinding +unwinds +unwise +unwisely +unwiser +unwisest +unwitting +unwittingly +unwonted +unworkable +unworldly +unworthier +unworthiest +unworthiness +unworthiness's +unworthy +unwound +unwrap +unwrapped +unwrapping +unwraps +unwritten +unyielding +unzip +unzipped +unzipping +unzips +up +upbeat +upbeat's +upbeats +upbraid +upbraided +upbraiding +upbraids +upbringing +upbringing's +upbringings +upchuck +upchucked +upchucking +upchucks +upcoming +upcountry +upcountry's +update +update's +updated +updater +updates +updating +updraft +updraft's +updrafts +upend +upended +upending +upends +upfront +upgrade +upgrade's +upgraded +upgrades +upgrading +upheaval +upheaval's +upheavals +upheld +uphill +uphill's +uphills +uphold +upholding +upholds +upholster +upholstered +upholsterer +upholsterer's +upholsterers +upholstering +upholsters +upholstery +upholstery's +upkeep +upkeep's +upland +upland's +uplands +uplift +uplift's +uplifted +uplifting +upliftings +uplifts +upload +upmarket +upon +upped +upper +upper's +uppercase +uppercase's +upperclassman +upperclassman's +upperclassmen +uppercut +uppercut's +uppercuts +uppercutting +uppermost +uppers +upping +uppity +upraise +upraised +upraises +upraising +upright +upright's +uprights +uprising +uprising's +uprisings +uproar +uproar's +uproarious +uproariously +uproars +uproot +uprooted +uprooting +uproots +ups +upscale +upset +upset's +upsets +upsetting +upshot +upshot's +upshots +upside +upside's +upsides +upstage +upstaged +upstages +upstaging +upstairs +upstanding +upstart +upstart's +upstarted +upstarting +upstarts +upstate +upstate's +upstream +upsurge +upsurge's +upsurged +upsurges +upsurging +upswing +upswing's +upswings +uptake +uptake's +uptakes +uptight +uptown +uptown's +upturn +upturn's +upturned +upturning +upturns +upward +upwardly +upwards +uranium +uranium's +urban +urbane +urbaner +urbanest +urbanity +urbanity's +urbanization +urbanization's +urbanize +urbanized +urbanizes +urbanizing +urchin +urchin's +urchins +urea +urea's +urethra +urethra's +urethrae +urethras +urge +urge's +urged +urgency +urgency's +urgent +urgently +urges +urging +uric +urinal +urinal's +urinals +urinalyses +urinalysis +urinalysis's +urinary +urinate +urinated +urinates +urinating +urination +urination's +urine +urine's +urn +urn's +urns +urologist +urologist's +urologists +urology +urology's +us +usable +usage +usage's +usages +use +use's +useable +used +useful +usefully +usefulness +usefulness's +useless +uselessly +uselessness +uselessness's +user +user's +users +uses +usher +usher's +ushered +usherette +usherette's +usherettes +ushering +ushers +using +usual +usual's +usually +usurer +usurer's +usurers +usurious +usurp +usurpation +usurpation's +usurped +usurper +usurper's +usurpers +usurping +usurps +usury +usury's +utensil +utensil's +utensils +uteri +uterine +uterus +uterus's +uteruses +utilitarian +utilitarian's +utilitarianism +utilitarians +utilities +utility +utility's +utilization +utilization's +utilize +utilized +utilizes +utilizing +utmost +utmost's +utopia +utopia's +utopian +utopian's +utopians +utopias +utter +utterance +utterance's +utterances +uttered +uttering +utterly +uttermost +uttermost's +utters +uvula +uvula's +uvulae +uvular +uvular's +uvulars +uvulas +v +vacancies +vacancy +vacancy's +vacant +vacantly +vacate +vacated +vacates +vacating +vacation +vacation's +vacationed +vacationer +vacationer's +vacationers +vacationing +vacations +vaccinate +vaccinated +vaccinates +vaccinating +vaccination +vaccination's +vaccinations +vaccine +vaccine's +vaccines +vacillate +vacillated +vacillates +vacillating +vacillation +vacillation's +vacillations +vacua +vacuity +vacuity's +vacuous +vacuously +vacuum +vacuum's +vacuumed +vacuuming +vacuums +vagabond +vagabond's +vagabonded +vagabonding +vagabonds +vagaries +vagary +vagary's +vagina +vagina's +vaginae +vaginal +vaginas +vagrancy +vagrancy's +vagrant +vagrant's +vagrants +vague +vaguely +vagueness +vagueness's +vaguer +vaguest +vain +vainer +vainest +vainglorious +vainglory +vainglory's +vainly +valance +valance's +valances +vale +vale's +valedictorian +valedictorian's +valedictorians +valedictories +valedictory +valedictory's +valence +valence's +valences +valentine +valentine's +valentines +vales +valet +valet's +valeted +valeting +valets +valiant +valiantly +valid +validate +validated +validates +validating +validation +validation's +validations +validity +validity's +validly +validness +validness's +valise +valise's +valises +valley +valley's +valleys +valor +valor's +valorous +valuable +valuable's +valuables +valuation +valuation's +valuations +value +value's +valued +valueless +values +valuing +valve +valve's +valved +valves +valving +vamoose +vamoosed +vamooses +vamoosing +vamp +vamp's +vamped +vamping +vampire +vampire's +vampires +vamps +van +van's +vanadium +vanadium's +vandal +vandal's +vandalism +vandalism's +vandalize +vandalized +vandalizes +vandalizing +vandals +vane +vane's +vanes +vanguard +vanguard's +vanguards +vanilla +vanilla's +vanillas +vanish +vanished +vanishes +vanishing +vanishings +vanities +vanity +vanity's +vanned +vanning +vanquish +vanquished +vanquishes +vanquishing +vans +vantage +vantage's +vantages +vapid +vapidity +vapidity's +vapidness +vapidness's +vapor +vapor's +vaporization +vaporization's +vaporize +vaporized +vaporizer +vaporizer's +vaporizers +vaporizes +vaporizing +vaporous +vapors +variability +variability's +variable +variable's +variables +variably +variance +variance's +variances +variant +variant's +variants +variate +variation +variation's +variations +varicolored +varicose +varied +variegate +variegated +variegates +variegating +varies +varieties +variety +variety's +various +variously +varlet +varlet's +varlets +varmint +varmint's +varmints +varnish +varnish's +varnished +varnishes +varnishing +varsities +varsity +varsity's +vary +varying +vascular +vase +vase's +vasectomies +vasectomy +vasectomy's +vases +vassal +vassal's +vassalage +vassalage's +vassals +vast +vast's +vaster +vastest +vastly +vastness +vastness's +vasts +vat +vat's +vats +vatted +vatting +vaudeville +vaudeville's +vault +vault's +vaulted +vaulter +vaulter's +vaulters +vaulting +vaulting's +vaults +vaunt +vaunt's +vaunted +vaunting +vaunts +veal +veal's +vector +vector's +vectored +vectoring +vectors +veep +veep's +veeps +veer +veer's +veered +veering +veers +vegan +vegan's +vegans +vegetable +vegetable's +vegetables +vegetarian +vegetarian's +vegetarianism +vegetarianism's +vegetarians +vegetate +vegetated +vegetates +vegetating +vegetation +vegetation's +vegetative +veggie +veggie's +veggies +vehemence +vehemence's +vehement +vehemently +vehicle +vehicle's +vehicles +vehicular +veil +veil's +veiled +veiling +veils +vein +vein's +veined +veining +veins +veld +veld's +velds +veldt +veldt's +veldts +vellum +vellum's +velocities +velocity +velocity's +velour +velour's +velours +velours's +velvet +velvet's +velveteen +velveteen's +velvetier +velvetiest +velvety +venal +venality +venality's +venally +vend +vended +vender +vender's +venders +vendetta +vendetta's +vendettas +vending +vendor +vendor's +vendors +vends +veneer +veneer's +veneered +veneering +veneers +venerable +venerate +venerated +venerates +venerating +veneration +veneration's +venereal +vengeance +vengeance's +vengeful +vengefully +venial +venison +venison's +venom +venom's +venomous +venomously +venous +vent +vent's +vented +ventilate +ventilated +ventilates +ventilating +ventilation +ventilation's +ventilator +ventilator's +ventilators +venting +ventral +ventricle +ventricle's +ventricles +ventricular +ventriloquism +ventriloquism's +ventriloquist +ventriloquist's +ventriloquists +vents +venture +venture's +ventured +ventures +venturesome +venturing +venturous +venue +venue's +venues +veracious +veracity +veracity's +veranda +veranda's +verandah +verandah's +verandahs +verandas +verb +verb's +verbal +verbal's +verbalize +verbalized +verbalizes +verbalizing +verbally +verbals +verbatim +verbena +verbena's +verbenas +verbiage +verbiage's +verbose +verbosity +verbosity's +verbs +verdant +verdict +verdict's +verdicts +verdigris +verdigris's +verdigrised +verdigrises +verdigrising +verdure +verdure's +verge +verge's +verged +verges +verging +verier +veriest +verifiable +verification +verification's +verified +verifies +verify +verifying +verily +verisimilitude +verisimilitude's +veritable +veritably +verities +verity +verity's +vermicelli +vermicelli's +vermilion +vermilion's +vermillion +vermillion's +vermin +vermin's +verminous +vermouth +vermouth's +vernacular +vernacular's +vernaculars +vernal +versatile +versatility +versatility's +verse +verse's +versed +verses +versification +versification's +versified +versifies +versify +versifying +versing +version +version's +versions +versus +vertebra +vertebra's +vertebrae +vertebral +vertebras +vertebrate +vertebrate's +vertebrates +vertex +vertex's +vertexes +vertical +vertical's +vertically +verticals +vertices +vertiginous +vertigo +vertigo's +verve +verve's +very +vesicle +vesicle's +vesicles +vesper +vesper's +vespers +vessel +vessel's +vessels +vest +vest's +vested +vestibule +vestibule's +vestibules +vestige +vestige's +vestiges +vestigial +vesting +vestment +vestment's +vestments +vestries +vestry +vestry's +vests +vet +vet's +vetch +vetch's +vetches +veteran +veteran's +veterans +veterinarian +veterinarian's +veterinarians +veterinaries +veterinary +veterinary's +veto +veto's +vetoed +vetoes +vetoing +vets +vetted +vetting +vex +vexation +vexation's +vexations +vexatious +vexed +vexes +vexing +via +viability +viability's +viable +viaduct +viaduct's +viaducts +vial +vial's +vials +viand +viand's +viands +vibe +vibe's +vibes +vibes's +vibrancy +vibrancy's +vibrant +vibrantly +vibraphone +vibraphone's +vibraphones +vibrate +vibrated +vibrates +vibrating +vibration +vibration's +vibrations +vibrato +vibrato's +vibrator +vibrator's +vibrators +vibratos +viburnum +viburnum's +viburnums +vicar +vicar's +vicarage +vicarage's +vicarages +vicarious +vicariously +vicars +vice +vice's +viced +viceroy +viceroy's +viceroys +vices +vichyssoise +vichyssoise's +vicing +vicinity +vicinity's +vicious +viciously +viciousness +viciousness's +vicissitude +vicissitude's +vicissitudes +victim +victim's +victimization +victimization's +victimize +victimized +victimizes +victimizing +victims +victor +victor's +victories +victorious +victoriously +victors +victory +victory's +victual +victual's +victualed +victualing +victualled +victualling +victuals +video +video's +videocassette +videocassette's +videocassettes +videodisc +videodisc's +videodiscs +videos +videotape +videotape's +videotaped +videotapes +videotaping +vie +vied +vies +view +view's +viewed +viewer +viewer's +viewers +viewfinder +viewfinder's +viewfinders +viewing +viewing's +viewings +viewpoint +viewpoint's +viewpoints +views +vigil +vigil's +vigilance +vigilance's +vigilant +vigilante +vigilante's +vigilantes +vigilantism +vigilantism's +vigilantly +vigils +vignette +vignette's +vignetted +vignettes +vignetting +vigor +vigor's +vigorous +vigorously +vile +vilely +vileness +vileness's +viler +vilest +vilification +vilification's +vilified +vilifies +vilify +vilifying +villa +villa's +village +village's +villager +villager's +villagers +villages +villain +villain's +villainies +villainous +villains +villainy +villainy's +villas +villein +villein's +villeins +vim +vim's +vinaigrette +vinaigrette's +vindicate +vindicated +vindicates +vindicating +vindication +vindication's +vindications +vindicator +vindicator's +vindicators +vindictive +vindictively +vindictiveness +vindictiveness's +vine +vine's +vinegar +vinegar's +vinegary +vines +vineyard +vineyard's +vineyards +vintage +vintage's +vintages +vintner +vintner's +vintners +vinyl +vinyl's +vinyls +viol +viol's +viola +viola's +violable +violas +violate +violated +violates +violating +violation +violation's +violations +violator +violator's +violators +violence +violence's +violent +violently +violet +violet's +violets +violin +violin's +violinist +violinist's +violinists +violins +violist +violist's +violists +violoncello +violoncello's +violoncellos +viols +viper +viper's +vipers +virago +virago's +viragoes +viragos +viral +vireo +vireo's +vireos +virgin +virgin's +virginal +virginal's +virginals +virginity +virginity's +virgins +virgule +virgule's +virgules +virile +virility +virility's +virology +virology's +virtual +virtually +virtue +virtue's +virtues +virtuosi +virtuosity +virtuosity's +virtuoso +virtuoso's +virtuosos +virtuous +virtuously +virtuousness +virtuousness's +virulence +virulence's +virulent +virulently +virus +virus's +viruses +visa +visa's +visaed +visage +visage's +visages +visaing +visas +viscera +visceral +viscid +viscosity +viscosity's +viscount +viscount's +viscountess +viscountess's +viscountesses +viscounts +viscous +viscus +viscus's +vise +vise's +vised +vises +visibility +visibility's +visible +visibly +vising +vision +vision's +visionaries +visionary +visionary's +visioned +visioning +visions +visit +visit's +visitation +visitation's +visitations +visited +visiting +visitor +visitor's +visitors +visits +visor +visor's +visors +vista +vista's +vistas +visual +visual's +visualization +visualization's +visualize +visualized +visualizes +visualizing +visually +visuals +vital +vitality +vitality's +vitalize +vitalized +vitalizes +vitalizing +vitally +vitals +vitals's +vitamin +vitamin's +vitamins +vitiate +vitiated +vitiates +vitiating +vitiation +vitiation's +viticulture +viticulture's +vitreous +vitriol +vitriol's +vitriolic +vituperate +vituperated +vituperates +vituperating +vituperation +vituperation's +vituperative +viva +viva's +vivace +vivacious +vivaciously +vivaciousness +vivaciousness's +vivacity +vivacity's +vivas +vivid +vivider +vividest +vividly +vividness +vividness's +vivified +vivifies +vivify +vivifying +viviparous +vivisection +vivisection's +vixen +vixen's +vixenish +vixens +vizier +vizier's +viziers +vizor +vizor's +vizors +vocabularies +vocabulary +vocabulary's +vocal +vocal's +vocalic +vocalist +vocalist's +vocalists +vocalization +vocalization's +vocalizations +vocalize +vocalized +vocalizes +vocalizing +vocally +vocals +vocation +vocation's +vocational +vocations +vocative +vocative's +vocatives +vociferate +vociferated +vociferates +vociferating +vociferation +vociferation's +vociferous +vociferously +vodka +vodka's +vogue +vogue's +vogues +voguish +voice +voice's +voiced +voiceless +voices +voicing +void +void's +voided +voiding +voids +voile +voile's +volatile +volatility +volatility's +volcanic +volcano +volcano's +volcanoes +volcanos +vole +vole's +voles +volition +volition's +volley +volley's +volleyball +volleyball's +volleyballs +volleyed +volleying +volleys +volt +volt's +voltage +voltage's +voltages +voltaic +voltmeter +voltmeter's +voltmeters +volts +volubility +volubility's +voluble +volubly +volume +volume's +volumes +voluminous +voluminously +voluntaries +voluntarily +voluntary +voluntary's +volunteer +volunteer's +volunteered +volunteering +volunteers +voluptuaries +voluptuary +voluptuary's +voluptuous +voluptuously +voluptuousness +voluptuousness's +vomit +vomit's +vomited +vomiting +vomits +voodoo +voodoo's +voodooed +voodooing +voodooism +voodooism's +voodoos +voracious +voraciously +voracity +voracity's +vortex +vortex's +vortexes +vortices +votaries +votary +votary's +vote +vote's +voted +voter +voter's +voters +votes +voting +votive +vouch +vouched +voucher +voucher's +vouchers +vouches +vouching +vouchsafe +vouchsafed +vouchsafes +vouchsafing +vow +vow's +vowed +vowel +vowel's +vowels +vowing +vows +voyage +voyage's +voyaged +voyager +voyager's +voyagers +voyages +voyaging +voyeur +voyeur's +voyeurism +voyeurism's +voyeuristic +voyeurs +vs +vulcanization +vulcanization's +vulcanize +vulcanized +vulcanizes +vulcanizing +vulgar +vulgarer +vulgarest +vulgarism +vulgarism's +vulgarisms +vulgarities +vulgarity +vulgarity's +vulgarization +vulgarization's +vulgarize +vulgarized +vulgarizes +vulgarizing +vulgarly +vulnerabilities +vulnerability +vulnerability's +vulnerable +vulnerably +vulture +vulture's +vultures +vulva +vulva's +vulvae +vulvas +vying +w +wackier +wackiest +wackiness +wackiness's +wacko +wacko's +wackos +wacky +wad +wad's +wadded +wadding +wadding's +waddle +waddle's +waddled +waddles +waddling +wade +wade's +waded +wader +wader's +waders +wades +wadi +wadi's +wading +wadis +wads +wafer +wafer's +wafers +waffle +waffle's +waffled +waffles +waffling +waft +waft's +wafted +wafting +wafts +wag +wag's +wage +wage's +waged +wager +wager's +wagered +wagering +wagers +wages +wagged +wagging +waggish +waggle +waggle's +waggled +waggles +waggling +waging +wagon +wagon's +wagoner +wagoner's +wagoners +wagons +wags +waif +waif's +waifs +wail +wail's +wailed +wailing +wails +wainscot +wainscot's +wainscoted +wainscoting +wainscoting's +wainscotings +wainscots +wainscotted +wainscotting +wainscotting's +wainscottings +waist +waist's +waistband +waistband's +waistbands +waistcoat +waistcoat's +waistcoats +waistline +waistline's +waistlines +waists +wait +wait's +waited +waiter +waiter's +waiters +waiting +waitress +waitress's +waitresses +waits +waive +waived +waiver +waiver's +waivers +waives +waiving +wake +wake's +waked +wakeful +wakefulness +wakefulness's +waken +wakened +wakening +wakens +wakes +waking +wale +wale's +waled +wales +waling +walk +walk's +walked +walker +walker's +walkers +walking +walkout +walkout's +walkouts +walks +walkway +walkway's +walkways +wall +wall's +wallabies +wallaby +wallaby's +wallboard +wallboard's +walled +wallet +wallet's +wallets +walleye +walleye's +walleyed +walleyes +wallflower +wallflower's +wallflowers +walling +wallop +wallop's +walloped +walloping +walloping's +wallopings +wallops +wallow +wallow's +wallowed +wallowing +wallows +wallpaper +wallpaper's +wallpapered +wallpapering +wallpapers +walls +walnut +walnut's +walnuts +walrus +walrus's +walruses +waltz +waltz's +waltzed +waltzes +waltzing +wampum +wampum's +wan +wand +wand's +wander +wandered +wanderer +wanderer's +wanderers +wandering +wanderlust +wanderlust's +wanderlusts +wanders +wands +wane +wane's +waned +wanes +wangle +wangle's +wangled +wangles +wangling +waning +wanly +wanna +wannabe +wannabe's +wannabes +wanner +wannest +want +want's +wanted +wanting +wanton +wanton's +wantoned +wantoning +wantonly +wantonness +wantonness's +wantons +wants +wapiti +wapiti's +wapitis +war +war's +warble +warble's +warbled +warbler +warbler's +warblers +warbles +warbling +ward +ward's +warded +warden +warden's +wardens +warder +warder's +warders +warding +wardrobe +wardrobe's +wardrobes +wardroom +wardroom's +wardrooms +wards +ware +ware's +warehouse +warehouse's +warehoused +warehouses +warehousing +wares +warfare +warfare's +warhead +warhead's +warheads +warhorse +warhorse's +warhorses +warier +wariest +warily +wariness +wariness's +warlike +warlock +warlock's +warlocks +warlord +warlord's +warlords +warm +warmed +warmer +warmer's +warmers +warmest +warmhearted +warming +warmly +warmonger +warmonger's +warmongering +warmongering's +warmongers +warms +warmth +warmth's +warn +warned +warning +warning's +warnings +warns +warp +warp's +warpath +warpath's +warpaths +warped +warping +warps +warrant +warrant's +warranted +warrantied +warranties +warranting +warrants +warranty +warranty's +warrantying +warred +warren +warren's +warrens +warring +warrior +warrior's +warriors +wars +warship +warship's +warships +wart +wart's +warthog +warthog's +warthogs +wartier +wartiest +wartime +wartime's +warts +warty +wary +was +wash +wash's +washable +washable's +washables +washbasin +washbasin's +washbasins +washboard +washboard's +washboards +washbowl +washbowl's +washbowls +washcloth +washcloth's +washcloths +washed +washer +washer's +washers +washerwoman +washerwoman's +washerwomen +washes +washing +washing's +washout +washout's +washouts +washroom +washroom's +washrooms +washstand +washstand's +washstands +washtub +washtub's +washtubs +wasn't +wasp +wasp's +waspish +wasps +wassail +wassail's +wassailed +wassailing +wassails +wastage +wastage's +waste +waste's +wastebasket +wastebasket's +wastebaskets +wasted +wasteful +wastefully +wastefulness +wastefulness's +wasteland +wasteland's +wastelands +wastepaper +wastepaper's +waster +waster's +wasters +wastes +wasting +wastrel +wastrel's +wastrels +watch +watch's +watchband +watchband's +watchbands +watchdog +watchdog's +watchdogs +watched +watcher +watcher's +watchers +watches +watchful +watchfully +watchfulness +watchfulness's +watching +watchmaker +watchmaker's +watchmakers +watchman +watchman's +watchmen +watchtower +watchtower's +watchtowers +watchword +watchword's +watchwords +water +water's +waterbed +waterbed's +waterbeds +watercolor +watercolor's +watercolors +watercourse +watercourse's +watercourses +watercraft +watercraft's +watercress +watercress's +watered +waterfall +waterfall's +waterfalls +waterfowl +waterfowl's +waterfowls +waterfront +waterfront's +waterfronts +waterier +wateriest +watering +waterline +waterline's +waterlines +waterlogged +watermark +watermark's +watermarked +watermarking +watermarks +watermelon +watermelon's +watermelons +waterpower +waterpower's +waterproof +waterproof's +waterproofed +waterproofing +waterproofing's +waterproofs +waters +waters's +watershed +watershed's +watersheds +waterside +waterside's +watersides +waterspout +waterspout's +waterspouts +watertight +waterway +waterway's +waterways +waterworks +waterworks's +watery +watt +watt's +wattage +wattage's +wattle +wattle's +wattled +wattles +wattling +watts +wave +wave's +waved +waveform +wavelength +wavelength's +wavelengths +wavelet +wavelet's +wavelets +waver +waver's +wavered +wavering +wavers +waves +wavier +waviest +waviness +waviness's +waving +wavy +wax +wax's +waxed +waxen +waxes +waxier +waxiest +waxiness +waxiness's +waxing +waxwing +waxwing's +waxwings +waxwork +waxwork's +waxworks +waxy +way +way's +wayfarer +wayfarer's +wayfarers +wayfaring +wayfaring's +wayfarings +waylaid +waylay +waylaying +waylays +ways +wayside +wayside's +waysides +wayward +waywardly +waywardness +waywardness's +we +we'd +we'll +we're +we've +weak +weaken +weakened +weakening +weakens +weaker +weakest +weakfish +weakfish's +weakfishes +weakling +weakling's +weaklings +weakly +weakness +weakness's +weaknesses +weal +weal's +weals +wealth +wealth's +wealthier +wealthiest +wealthiness +wealthiness's +wealthy +wean +weaned +weaning +weans +weapon +weapon's +weaponless +weaponry +weaponry's +weapons +wear +wear's +wearable +wearer +wearer's +wearers +wearied +wearier +wearies +weariest +wearily +weariness +weariness's +wearing +wearisome +wears +weary +wearying +weasel +weasel's +weaseled +weaseling +weasels +weather +weather's +weathercock +weathercock's +weathercocks +weathered +weathering +weathering's +weatherize +weatherized +weatherizes +weatherizing +weatherman +weatherman's +weathermen +weatherproof +weatherproofed +weatherproofing +weatherproofs +weathers +weave +weave's +weaved +weaver +weaver's +weavers +weaves +weaving +web +web's +webbed +webbing +webbing's +webmaster +webmaster's +webmasters +webmistress +webmistress's +webmistresses +webs +website +website's +websites +wed +wedded +wedder +wedding +wedding's +weddings +wedge +wedge's +wedged +wedges +wedging +wedlock +wedlock's +weds +wee +wee's +weed +weed's +weeded +weeder +weeder's +weeders +weedier +weediest +weeding +weeds +weedy +weeing +week +week's +weekday +weekday's +weekdays +weekend +weekend's +weekended +weekending +weekends +weeklies +weekly +weekly's +weeknight +weeknight's +weeknights +weeks +weep +weep's +weeper +weeper's +weepers +weepier +weepies +weepiest +weeping +weepings +weeps +weepy +weepy's +weer +wees +weest +weevil +weevil's +weevils +weft +weft's +wefts +weigh +weigh's +weighed +weighing +weighs +weight +weight's +weighted +weightier +weightiest +weightiness +weightiness's +weighting +weightless +weightlessness +weightlessness's +weightlifter +weightlifter's +weightlifters +weightlifting +weightlifting's +weights +weighty +weir +weir's +weird +weirder +weirdest +weirdly +weirdness +weirdness's +weirdo +weirdo's +weirdos +weirs +welch +welched +welches +welching +welcome +welcome's +welcomed +welcomes +welcoming +weld +weld's +welded +welder +welder's +welders +welding +welds +welfare +welfare's +welkin +welkin's +well +well's +welled +welling +wellington +wells +wellspring +wellspring's +wellsprings +welsh +welshed +welshes +welshing +welt +welt's +welted +welter +welter's +weltered +weltering +welters +welterweight +welterweight's +welterweights +welting +welts +wen +wen's +wench +wench's +wenches +wend +wended +wending +wends +wens +went +wept +were +weren't +werewolf +werewolf's +werewolves +west +west's +westbound +westerlies +westerly +westerly's +western +western's +westerner +westerner's +westerners +westernize +westernized +westernizes +westernizing +westernmost +westerns +westward +westwards +wet +wet's +wetback +wetback's +wetbacks +wetland +wetland's +wetlands +wetly +wetness +wetness's +wets +wetted +wetter +wettest +wetting +whack +whack's +whacked +whackier +whackiest +whacking +whacks +whacky +whale +whale's +whalebone +whalebone's +whaled +whaler +whaler's +whalers +whales +whaling +whaling's +wham +wham's +whammed +whammies +whamming +whammy +whammy's +whams +wharf +wharf's +wharfs +wharves +what +what's +whatchamacallit +whatchamacallit's +whatchamacallits +whatever +whatnot +whatnot's +whats +whatsoever +wheal +wheal's +wheals +wheat +wheat's +wheaten +wheedle +wheedled +wheedles +wheedling +wheel +wheel's +wheelbarrow +wheelbarrow's +wheelbarrows +wheelbase +wheelbase's +wheelbases +wheelchair +wheelchair's +wheelchairs +wheeled +wheeler +wheeling +wheels +wheelwright +wheelwright's +wheelwrights +wheeze +wheeze's +wheezed +wheezes +wheezier +wheeziest +wheezing +wheezy +whelk +whelk's +whelked +whelks +whelp +whelp's +whelped +whelping +whelps +when +when's +whence +whenever +whens +where +where's +whereabouts +whereabouts's +whereas +whereat +whereby +wherefore +wherefore's +wherefores +wherein +whereof +whereon +wheres +wheresoever +whereupon +wherever +wherewithal +wherewithal's +whet +whether +whets +whetstone +whetstone's +whetstones +whetted +whetting +whew +whey +whey's +which +whichever +whiff +whiff's +whiffed +whiffing +whiffs +while +while's +whiled +whiles +whiling +whilst +whim +whim's +whimper +whimper's +whimpered +whimpering +whimpers +whims +whimsey +whimsey's +whimseys +whimsical +whimsicality +whimsicality's +whimsically +whimsies +whimsy +whimsy's +whine +whine's +whined +whiner +whiner's +whiners +whines +whinier +whiniest +whining +whinnied +whinnies +whinny +whinny's +whinnying +whiny +whip +whip's +whipcord +whipcord's +whiplash +whiplash's +whiplashes +whipped +whippersnapper +whippersnapper's +whippersnappers +whippet +whippet's +whippets +whipping +whipping's +whippings +whippoorwill +whippoorwill's +whippoorwills +whips +whir +whir's +whirl +whirl's +whirled +whirligig +whirligig's +whirligigs +whirling +whirlpool +whirlpool's +whirlpools +whirls +whirlwind +whirlwind's +whirlwinds +whirr +whirr's +whirred +whirring +whirrs +whirs +whisk +whisk's +whisked +whisker +whisker's +whiskered +whiskers +whiskey +whiskey's +whiskeys +whiskies +whisking +whisks +whisky +whisky's +whiskys +whisper +whisper's +whispered +whispering +whispers +whist +whist's +whistle +whistle's +whistled +whistler +whistler's +whistlers +whistles +whistling +whit +whit's +white +white's +whitecap +whitecap's +whitecaps +whitefish +whitefish's +whitefishes +whiten +whitened +whitener +whitener's +whiteners +whiteness +whiteness's +whitening +whitens +whiter +whites +whitest +whitewall +whitewall's +whitewalls +whitewash +whitewash's +whitewashed +whitewashes +whitewashing +whither +whiting +whiting's +whitings +whitish +whits +whittle +whittled +whittler +whittler's +whittlers +whittles +whittling +whiz +whiz's +whizz +whizz's +whizzed +whizzes +whizzing +who +who'd +who'll +who're +who's +who've +whoa +whodunit +whodunit's +whodunits +whodunnit +whodunnit's +whodunnits +whodunnits's +whoever +whole +whole's +wholehearted +wholeheartedly +wholeness +wholeness's +wholes +wholesale +wholesale's +wholesaled +wholesaler +wholesaler's +wholesalers +wholesales +wholesaling +wholesome +wholesomeness +wholesomeness's +wholly +whom +whomever +whomsoever +whoop +whoop's +whooped +whoopee +whoopees +whooping +whoops +whoosh +whoosh's +whooshed +whooshes +whooshing +whopper +whopper's +whoppers +whopping +whore +whore's +whorehouse +whorehouse's +whorehouses +whores +whorl +whorl's +whorled +whorls +whose +whosoever +why +why's +whys +wick +wick's +wicked +wickeder +wickedest +wickedly +wickedness +wickedness's +wicker +wicker's +wickers +wickerwork +wickerwork's +wicket +wicket's +wickets +wicks +wide +widely +widen +widened +wideness +wideness's +widening +widens +wider +widespread +widest +widgeon +widgeon's +widgeons +widow +widow's +widowed +widower +widower's +widowers +widowhood +widowhood's +widowing +widows +width +width's +widths +wield +wielded +wielding +wields +wiener +wiener's +wieners +wife +wife's +wifelier +wifeliest +wifely +wig +wig's +wigeon +wigeon's +wigeons +wigged +wigging +wiggle +wiggle's +wiggled +wiggler +wiggler's +wigglers +wiggles +wigglier +wiggliest +wiggling +wiggly +wight +wight's +wights +wigs +wigwag +wigwag's +wigwagged +wigwagging +wigwags +wigwam +wigwam's +wigwams +wiki +wiki's +wikis +wild +wild's +wildcat +wildcat's +wildcats +wildcatted +wildcatting +wildebeest +wildebeest's +wildebeests +wilder +wilderness +wilderness's +wildernesses +wildest +wildfire +wildfire's +wildfires +wildflower +wildflower's +wildflowers +wildfowl +wildfowl's +wildfowls +wildlife +wildlife's +wildly +wildness +wildness's +wilds +wile +wile's +wiled +wiles +wilful +wilfully +wilfulness +wilfulness's +wilier +wiliest +wiliness +wiliness's +wiling +will +will's +willed +willful +willfully +willfulness +willfulness's +willies +willies's +willing +willingly +willingness +willingness's +willow +willow's +willowier +willowiest +willows +willowy +willpower +willpower's +wills +wilt +wilt's +wilted +wilting +wilts +wily +wimp +wimp's +wimpier +wimpiest +wimple +wimple's +wimpled +wimples +wimpling +wimps +wimpy +win +win's +wince +wince's +winced +winces +winch +winch's +winched +winches +winching +wincing +wind +wind's +windbag +windbag's +windbags +windbreak +windbreak's +windbreaker +windbreaker's +windbreakers +windbreaks +windburn +windburn's +winded +windfall +windfall's +windfalls +windier +windiest +windiness +windiness's +winding +winding's +windjammer +windjammer's +windjammers +windlass +windlass's +windlasses +windmill +windmill's +windmilled +windmilling +windmills +window +window's +windowed +windowing +windowpane +windowpane's +windowpanes +windows +windowsill +windowsill's +windowsills +windpipe +windpipe's +windpipes +winds +windscreen +windscreen's +windscreens +windshield +windshield's +windshields +windsock +windsock's +windsocks +windstorm +windstorm's +windstorms +windsurf +windsurfed +windsurfing +windsurfing's +windsurfs +windswept +windup +windup's +windups +windward +windward's +windy +wine +wine's +wined +wineglass +wineglass's +wineglasses +wineries +winery +winery's +wines +wing +wing's +winged +winger +wingers +winging +wingless +wings +wingspan +wingspan's +wingspans +wingspread +wingspread's +wingspreads +wingtip +wingtip's +wingtips +wining +wink +wink's +winked +winking +winks +winner +winner's +winners +winning +winning's +winnings +winnow +winnowed +winnowing +winnows +wino +wino's +winos +wins +winsome +winsomely +winsomer +winsomest +winter +winter's +wintered +wintergreen +wintergreen's +winterier +winteriest +wintering +winterize +winterized +winterizes +winterizing +winters +wintertime +wintertime's +wintery +wintrier +wintriest +wintry +wipe +wipe's +wiped +wiper +wiper's +wipers +wipes +wiping +wire +wire's +wired +wireless +wireless's +wirelesses +wires +wiretap +wiretap's +wiretapped +wiretapping +wiretaps +wirier +wiriest +wiriness +wiriness's +wiring +wiring's +wiry +wisdom +wisdom's +wise +wise's +wiseacre +wiseacre's +wiseacres +wisecrack +wisecrack's +wisecracked +wisecracking +wisecracks +wisely +wiser +wises +wisest +wish +wish's +wishbone +wishbone's +wishbones +wished +wisher +wisher's +wishers +wishes +wishful +wishfully +wishing +wisp +wisp's +wispier +wispiest +wisps +wispy +wist +wistaria +wistaria's +wistarias +wisteria +wisteria's +wisterias +wistful +wistfully +wistfulness +wistfulness's +wit +wit's +witch +witch's +witchcraft +witchcraft's +witched +witchery +witchery's +witches +witching +with +withal +withdraw +withdrawal +withdrawal's +withdrawals +withdrawing +withdrawn +withdraws +withdrew +wither +withered +withering +withers +withers's +withheld +withhold +withholding +withholding's +withholds +within +within's +without +withstand +withstanding +withstands +withstood +witless +witlessly +witness +witness's +witnessed +witnesses +witnessing +wits +wits's +witticism +witticism's +witticisms +wittier +wittiest +wittily +wittiness +wittiness's +witting +wittingly +witty +wive +wives +wiz +wiz's +wizard +wizard's +wizardry +wizardry's +wizards +wizened +wizes +wizzes +wobble +wobble's +wobbled +wobbles +wobblier +wobbliest +wobbling +wobbly +woe +woe's +woebegone +woeful +woefuller +woefullest +woefully +woes +wok +wok's +woke +woken +woks +wolf +wolf's +wolfed +wolfhound +wolfhound's +wolfhounds +wolfing +wolfish +wolfram +wolfram's +wolfs +wolverine +wolverine's +wolverines +wolves +woman +woman's +womanhood +womanhood's +womanish +womanize +womanized +womanizer +womanizer's +womanizers +womanizes +womanizing +womankind +womankind's +womanlier +womanliest +womanlike +womanlike's +womanliness +womanliness's +womanly +womb +womb's +wombat +wombat's +wombats +wombs +women +womenfolk +womenfolk's +womenfolks +womenfolks's +won +won's +won't +wonder +wonder's +wondered +wonderful +wonderfully +wondering +wonderland +wonderland's +wonderlands +wonderment +wonderment's +wonders +wondrous +wondrously +wont +wont's +wonted +woo +wood +wood's +woodbine +woodbine's +woodcarving +woodcarving's +woodcarvings +woodchuck +woodchuck's +woodchucks +woodcock +woodcock's +woodcocks +woodcraft +woodcraft's +woodcut +woodcut's +woodcuts +woodcutter +woodcutter's +woodcutters +woodcutting +woodcutting's +wooded +wooden +woodener +woodenest +woodenly +woodenness +woodenness's +woodier +woodies +woodiest +woodiness +woodiness's +wooding +woodland +woodland's +woodlands +woodman +woodman's +woodmen +woodpecker +woodpecker's +woodpeckers +woodpile +woodpile's +woodpiles +woods +woods's +woodshed +woodshed's +woodsheds +woodsier +woodsiest +woodsman +woodsman's +woodsmen +woodsy +woodwind +woodwind's +woodwinds +woodwork +woodwork's +woodworking +woodworking's +woodworm +woody +woody's +wooed +wooer +wooer's +wooers +woof +woof's +woofed +woofer +woofer's +woofers +woofing +woofs +wooing +wool +wool's +woolen +woolen's +woolens +woolgathering +woolgathering's +woolie +woolie's +woolier +woolies +wooliest +woollier +woollies +woolliest +woolliness +woolliness's +woolly +woolly's +wooly +wooly's +woos +woozier +wooziest +wooziness +wooziness's +woozy +word +word's +worded +wordier +wordiest +wordiness +wordiness's +wording +wording's +wordings +wordplay +wordplay's +words +wordy +wore +work +work's +workable +workaday +workaholic +workaholic's +workaholics +workbench +workbench's +workbenches +workbook +workbook's +workbooks +workday +workday's +workdays +worked +worker +worker's +workers +workfare +workfare's +workforce +workforce's +workhorse +workhorse's +workhorses +workhouse +workhouse's +workhouses +working +working's +workingman +workingman's +workingmen +workings +workings's +workload +workload's +workloads +workman +workman's +workmanlike +workmanship +workmanship's +workmen +workout +workout's +workouts +workplace +workplace's +workplaces +works +works's +worksheet +worksheet's +worksheets +workshop +workshop's +workshops +workstation +workstation's +workstations +workweek +workweek's +workweeks +world +world's +worldlier +worldliest +worldliness +worldliness's +worldly +worlds +worldwide +worm +worm's +wormed +wormhole +wormhole's +wormholes +wormier +wormiest +worming +worms +wormwood +wormwood's +wormy +worn +worried +worrier +worrier's +worriers +worries +worrisome +worry +worry's +worrying +worryings +worrywart +worrywart's +worrywarts +worse +worse's +worsen +worsened +worsening +worsens +worship +worship's +worshiped +worshiper +worshiper's +worshipers +worshipful +worshiping +worshipped +worshipper +worshipper's +worshippers +worshipping +worships +worst +worst's +worsted +worsted's +worsting +worsts +worth +worth's +worthier +worthies +worthiest +worthily +worthiness +worthiness's +worthless +worthlessness +worthlessness's +worthwhile +worthy +worthy's +wot +would +would've +wouldn't +woulds +wound +wound's +wounded +wounder +wounding +wounds +wove +woven +wow +wow's +wowed +wowing +wows +wrack +wrack's +wraith +wraith's +wraiths +wrangle +wrangle's +wrangled +wrangler +wrangler's +wranglers +wrangles +wrangling +wrap +wrap's +wraparound +wraparound's +wraparounds +wrapped +wrapper +wrapper's +wrappers +wrapping +wrapping's +wrappings +wraps +wrapt +wrath +wrath's +wrathful +wrathfully +wreak +wreaked +wreaking +wreaks +wreath +wreath's +wreathe +wreathed +wreathes +wreathing +wreaths +wreck +wreck's +wreckage +wreckage's +wrecked +wrecker +wrecker's +wreckers +wrecking +wrecks +wren +wren's +wrench +wrench's +wrenched +wrenches +wrenching +wrens +wrest +wrest's +wrested +wresting +wrestle +wrestle's +wrestled +wrestler +wrestler's +wrestlers +wrestles +wrestling +wrestling's +wrests +wretch +wretch's +wretched +wretcheder +wretchedest +wretchedly +wretchedness +wretchedness's +wretches +wrier +wriest +wriggle +wriggle's +wriggled +wriggler +wriggler's +wrigglers +wriggles +wrigglier +wriggliest +wriggling +wriggly +wright +wring +wring's +wringer +wringer's +wringers +wringing +wrings +wrinkle +wrinkle's +wrinkled +wrinkles +wrinklier +wrinklies +wrinkliest +wrinkling +wrinkly +wrinkly's +wrist +wrist's +wristband +wristband's +wristbands +wrists +wristwatch +wristwatch's +wristwatches +writ +writ's +writable +write +writer +writer's +writers +writes +writhe +writhe's +writhed +writhes +writhing +writing +writing's +writings +writs +written +wrong +wrong's +wrongdoer +wrongdoer's +wrongdoers +wrongdoing +wrongdoing's +wrongdoings +wronged +wronger +wrongest +wrongful +wrongfully +wrongfulness +wrongfulness's +wrongheaded +wrongheadedly +wrongheadedness +wrongheadedness's +wronging +wrongly +wrongness +wrongness's +wrongs +wrote +wroth +wrought +wrung +wry +wryer +wryest +wryly +wryness +wryness's +wuss +wuss's +wusses +x +xenon +xenon's +xenophobia +xenophobia's +xenophobic +xerographic +xerography +xerography's +xylem +xylem's +xylophone +xylophone's +xylophones +xylophonist +xylophonist's +xylophonists +y +y'all +yacht +yacht's +yachted +yachting +yachting's +yachts +yachtsman +yachtsman's +yachtsmen +yack +yack's +yacked +yacking +yacks +yahoo +yahoo's +yahoos +yak +yak's +yakked +yakking +yaks +yam +yam's +yammer +yammer's +yammered +yammering +yammers +yams +yank +yank's +yanked +yanking +yanks +yap +yap's +yapped +yapping +yaps +yard +yard's +yardage +yardage's +yardages +yardarm +yardarm's +yardarms +yards +yardstick +yardstick's +yardsticks +yarmulke +yarmulke's +yarmulkes +yarn +yarn's +yarns +yaw +yaw's +yawed +yawing +yawl +yawl's +yawls +yawn +yawn's +yawned +yawning +yawns +yaws +yaws's +ye +yea +yea's +yeah +yeah's +yeahs +year +year's +yearbook +yearbook's +yearbooks +yearlies +yearling +yearling's +yearlings +yearly +yearly's +yearn +yearned +yearning +yearning's +yearnings +yearns +years +yeas +yeast +yeast's +yeastier +yeastiest +yeasts +yeasty +yell +yell's +yelled +yelling +yellow +yellow's +yellowed +yellower +yellowest +yellowing +yellowish +yellows +yells +yelp +yelp's +yelped +yelping +yelps +yen +yen's +yens +yeoman +yeoman's +yeomen +yep +yep's +yeps +yes +yes's +yeses +yeshiva +yeshiva's +yeshivah +yeshivah's +yeshivahs +yeshivas +yeshivot +yeshivoth +yessed +yessing +yest +yesterday +yesterday's +yesterdays +yesteryear +yesteryear's +yet +yeti +yew +yew's +yews +yield +yield's +yielded +yielding +yieldings +yields +yip +yip's +yipped +yippee +yipping +yips +yo +yock +yock's +yocks +yodel +yodel's +yodeled +yodeler +yodeler's +yodelers +yodeling +yodelled +yodeller +yodeller's +yodellers +yodelling +yodels +yoga +yoga's +yoghourt +yoghourt's +yoghourts +yoghurt +yoghurt's +yoghurts +yogi +yogi's +yogin +yogin's +yogins +yogis +yogurt +yogurt's +yogurts +yoke +yoke's +yoked +yokel +yokel's +yokels +yokes +yoking +yolk +yolk's +yolks +yon +yonder +yore +yore's +you +you'd +you'll +you're +you's +you've +young +young's +younger +youngest +youngish +youngster +youngster's +youngsters +your +yours +yourself +yourselves +yous +youth +youth's +youthful +youthfully +youthfulness +youthfulness's +youths +yowl +yowl's +yowled +yowling +yowls +yttrium +yttrium's +yucca +yucca's +yuccas +yuck +yuck's +yucked +yuckier +yuckiest +yucking +yucks +yucky +yuk +yuk's +yukked +yukking +yuks +yule +yule's +yuletide +yuletide's +yum +yummier +yummiest +yummy +yup +yup's +yuppie +yuppie's +yuppies +yuppy +yuppy's +yups +z +zanier +zanies +zaniest +zaniness +zaniness's +zany +zany's +zap +zap's +zapped +zapping +zaps +zeal +zeal's +zealot +zealot's +zealots +zealous +zealously +zealousness +zealousness's +zebra +zebra's +zebras +zebu +zebu's +zebus +zed +zed's +zeds +zenith +zenith's +zeniths +zephyr +zephyr's +zephyrs +zeppelin +zeppelin's +zeppelins +zero +zero's +zeroed +zeroes +zeroing +zeros +zest +zest's +zestful +zestfully +zests +zeta +zigzag +zigzag's +zigzagged +zigzagging +zigzags +zilch +zilch's +zillion +zillion's +zillions +zinc +zinc's +zinced +zincing +zincked +zincking +zincs +zing +zing's +zinged +zinger +zinger's +zingers +zinging +zings +zinnia +zinnia's +zinnias +zip +zip's +zipped +zipper +zipper's +zippered +zippering +zippers +zippier +zippiest +zipping +zippy +zips +zircon +zircon's +zirconium +zirconium's +zircons +zit +zit's +zither +zither's +zithers +zits +zodiac +zodiac's +zodiacal +zodiacs +zombi +zombi's +zombie +zombie's +zombies +zombis +zonal +zone +zone's +zoned +zones +zoning +zonked +zoo +zoo's +zoological +zoologist +zoologist's +zoologists +zoology +zoology's +zoom +zoom's +zoomed +zooming +zooms +zoos +zucchini +zucchini's +zucchinis +zwieback +zwieback's +zygote +zygote's +zygotes diff --git a/exercises/Exercise_solutions.md b/exercises/Exercise_solutions.md index b39144b..5953c3f 100644 --- a/exercises/Exercise_solutions.md +++ b/exercises/Exercise_solutions.md @@ -1,12 +1,10 @@ # Exercise solutions ->![info](../images/info.svg) Exercise related files are available from [exercises folder of learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises). -
# awk introduction -**a)** For the input file `addr.txt`, display all lines containing `is`. +**1)** For the input file `addr.txt`, display all lines containing `is`. ```bash $ cat addr.txt @@ -22,7 +20,7 @@ This game is good Today is sunny ``` -**b)** For the input file `addr.txt`, display first field of lines *not* containing `y`. Consider space as the field separator for this file. +**2)** For the input file `addr.txt`, display the first field of lines *not* containing `y`. Consider space as the field separator for this file. ```bash $ awk '!/y/{print $1}' addr.txt @@ -31,7 +29,7 @@ This 12345 ``` -**c)** For the input file `addr.txt`, display all lines containing no more than 2 fields. +**3)** For the input file `addr.txt`, display all lines containing no more than 2 fields. ```bash $ awk 'NF<3' addr.txt @@ -39,14 +37,14 @@ Hello World 12345 ``` -**d)** For the input file `addr.txt`, display all lines containing `is` in the second field. +**4)** For the input file `addr.txt`, display all lines containing `is` in the second field. ```bash $ awk '$2 ~ /is/' addr.txt Today is sunny ``` -**e)** For each line of the input file `addr.txt`, replace first occurrence of `o` with `0`. +**5)** For each line of the input file `addr.txt`, replace the first occurrence of `o` with `0`. ```bash $ awk '{sub(/o/, "0")} 1' addr.txt @@ -58,7 +56,7 @@ T0day is sunny Y0u are funny ``` -**f)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. +**6)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. ```bash $ cat table.txt @@ -70,63 +68,83 @@ $ awk 'BEGIN{p = 1} {p *= $NF} END{print p}' table.txt -923.16 ``` -**g)** Append `.` to all the input lines for the given `stdin` data. +**7)** Append `.` to all the input lines for the given stdin data. ```bash -$ printf 'last\nappend\nstop\ntail\n' | awk '{$0 = $0 "."} 1' +# can also use: awk '{$0 = $0 "."} 1' +$ printf 'last\nappend\nstop\ntail\n' | awk '{print $0 "."}' last. append. stop. tail. ``` +**8)** Replace all occurrences of `0xA0` with `0x50` and `0xFF` with `0x7F` for the given input file. + +```bash +$ cat hex.txt +start address: 0xA0, func1 address: 0xA0 +end address: 0xFF, func2 address: 0xB0 + +$ awk '{gsub(/0xA0/, "0x50"); gsub(/0xFF/, "0x7F")} 1' hex.txt +start address: 0x50, func1 address: 0x50 +end address: 0x7F, func2 address: 0xB0 +``` +
# Regular Expressions -**a)** For the given input, print all lines that start with `den` or end with `ly`. +**1)** For the input file `patterns.txt`, display all lines that start with `den` or end with `ly`. ```bash -$ lines='lovely\n1 dentist\n2 lonely\neden\nfly away\ndent\n' -$ printf '%b' "$lines" | awk '/^den|ly$/' -lovely +$ awk '/^den|ly$/' patterns.txt 2 lonely dent +lovely ``` -**b)** Replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Note that **word** in these exercises have same meaning as defined in regular expressions. +**2)** For the input file `patterns.txt`, replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Display only the modified lines. ```bash -$ echo 'hi42bye nice421423 bad42 cool_42a 42c' | awk '{gsub(/\B42\B/, "[&]")} 1' -hi[42]bye nice[42]1[42]3 bad42 cool_[42]a 42c +$ awk 'gsub(/\B42\B/, "[&]")' patterns.txt +Hi[42]Bye nice1[42]3 bad42 +eqn2 = pressure*3+42/5-1[42]56 +cool_[42]a 42fake +_[42]_ ``` -**c)** Add `[]` around words starting with `s` and containing `e` and `t` in any order. +**3)** For the input file `patterns.txt`, add `[]` around words starting with `s` and containing `e` and `t` in any order. Display only the modified lines. ```bash -$ words='sequoia subtle exhibit asset sets tests site' -$ echo "$words" | awk '{gsub(/\ /, "\\1\n", "g")}' -area -not a -_a2_ roar -took 22 +$ awk '/[A-Z]/ && /[ar]\> /{print gensub(/([ar])\> /, "\\1\n", "g")}' patterns.txt +par +car +tar +far +Cart +Not a +pip DOWN ``` -**e)** Replace all occurrences of `[4]|*` with `2` for the given input. +**5)** For the input file `patterns.txt`, replace all occurrences of `*[5]` with `2`. Display only the modified lines. ```bash -$ echo '2.3/[4]|*6 foo 5.3-[4]|*9' | awk '{gsub(/\[4]\|\*/, "2")} 1' -2.3/26 foo 5.3-29 +$ awk 'gsub(/\*\[5]/, "2")' patterns.txt +(9-2)2 ``` -**f)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. +**6)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. False. `[on]{2}` will also match `oo` and `nn`. @@ -139,77 +157,81 @@ pony inns ``` -**g)** Print all lines that start with `hand` and ends with `s` or `y` or `le` or no further character. For example, `handed` shouldn't be printed even though it starts with `hand`. +**7)** For the input file `patterns.txt`, display all lines starting with `hand` and ending immediately with `s` or `y` or `le` or no further characters. For example, `handed` shouldn't be matched even though it starts with `hand`. ```bash -$ lines='handed\nhand\nhandy\nunhand\nhands\nhandle\n' -$ printf '%b' "$lines" | awk '/^hand([sy]|le)?$/' -hand +$ awk '/^hand([sy]|le)?$/' patterns.txt +handle handy hands -handle +hand ``` -**h)** Replace `42//5` or `42/5` with `8` for the given input. +**8)** For the input file `patterns.txt`, replace `42//5` or `42/5` with `8`. Display only the modified lines. ```bash -$ echo 'a+42//5-c pressure*3+42/5-14256' | awk '{gsub("42//?5", "8")} 1' -a+8-c pressure*3+8-14256 +$ awk 'gsub("42//?5", "8")' patterns.txt +eqn3 = r*42-5/3+42///5-83+a +eqn1 = a+8-c +eqn2 = pressure*3+8-14256 ``` -**i)** For the given quantifiers, what would be the equivalent form using `{m,n}` representation? +**9)** For the given quantifiers, what would be the equivalent form using the `{m,n}` representation? * `?` is same as `{,1}` * `*` is same as `{0,}` * `+` is same as `{1,}` -**j)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** True or False? `(a*|b*)` is same as `(a|b)*` False. Because `(a*|b*)` will match only sequences like `a`, `aaa`, `bb`, `bbbbbbbb`. But `(a|b)*` can match a mixed sequence like `ababbba` too. -**k)** For the given input, construct two different regexps to get the outputs as shown below. +**11)** For the input file `patterns.txt`, construct two different regexps to get the outputs as shown below. Display only the modified lines. ```bash -$ # delete from '(' till next ')' -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk '{gsub(/\([^)]*)/, "")} 1' -a/b + c%d - 2( +# delete from '(' till the next ')' +$ awk 'gsub(/\([^)]*)/, "")' patterns.txt +a/b + c%d +*[5] +def factorial +12- *4) +Hi there. Nice day -$ # delete from '(' till next ')' but not if there is '(' in between -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk '{gsub(/\([^()]*)/, "")} 1' -a/b + c%d - (a#2( +# delete from '(' till the next ')' but not if there is '(' in between +$ awk 'gsub(/\([^()]*)/, "")' patterns.txt +a/b + c%d +*[5] +def factorial +12- (e+*4) +Hi there. Nice day(a ``` -**l)** For the input file `anchors.txt`, convert **markdown** anchors to corresponding **hyperlinks**. +**12)** For the input file `anchors.txt`, convert markdown anchors to corresponding hyperlinks as shown below. ```bash $ cat anchors.txt # Regular Expressions ## Subexpression calls +## The dot meta character $ awk '{print gensub(/#+ <\/a>(.+)/, "[\\2](#\\1)", 1)}' anchors.txt [Regular Expressions](#regular-expressions) [Subexpression calls](#subexpression-calls) +[The dot meta character](#the-dot-meta-character) ``` -**m)** Display all lines that satisfies **both** of these conditions: - -* `professor` matched irrespective of case -* `quip` or `this` matched case sensitively +**13)** Display lines from `sample.txt` that satisfy both of these conditions: -Input is a file downloaded from internet as shown below. +* `to` or `he` matched irrespective of case +* `World` or `No` matched case sensitively ```bash -$ wget https://www.gutenberg.org/files/345/345.txt -O dracula.txt - -$ awk 'tolower($0) ~ /professor/ && /this|quip/' dracula.txt -equipment of a professor of the healing craft. When we were shown in, -should be. I could see that the Professor had carried out in this room, -"Not up to this moment, Professor," she said impulsively, "but up to -and sprang at us. But by this time the Professor had gained his feet, -this time the Professor had to ask her questions, and to ask them pretty +$ awk 'tolower($0) ~ /to|he/ && /World|No/' sample.txt +Hello World +No doubt you like it too ``` -**n)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. +**14)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. ```bash $ echo 'lion,ant,road,neon' | awk '{print gensub(/[^,]+/, "42", 3)}' @@ -219,19 +241,15 @@ $ echo '_;3%,.,=-=,:' | awk '{print gensub(/[^,]+/, "42", 3)}' _;3%,.,42,: ``` -**o)** For the given strings, replace last but third `so` with `X`. Only print the lines which are changed by the substitution. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. ```bash -$ printf 'so and so also sow and soup' | awk 'BEGIN{r = @/(.*)so((.*so){3})/} - $0~r{print gensub(r, "\\1X\\2", 1)}' -so and X also sow and soup - -$ printf 'sososososososo\nso and so\n' | awk 'BEGIN{r = @/(.*)so((.*so){3})/} - $0~r{print gensub(r, "\\1X\\2", 1)}' -sososoXsososo +$ awk 'BEGIN{r = @/(.*)ar((.*ar){2})/} $0~r{print gensub(r, "\\1X\\2", 1)}' patterns.txt +par car tX far Cart +pXt cart mart ``` -**p)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. Can you do it with single substitution? +**16)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. ```bash $ words='tiger imp goat eagle ant important' @@ -239,11 +257,121 @@ $ echo "$words" | awk '{print gensub(/\<(imp|ant|(\w+))\>/, "(\\2)", "g")}' (tiger) () (goat) (eagle) () (important) ``` +**17)** For the input file `patterns.txt`, display lines containing `car` but not as a whole word. For example, `scared-cat` and `car care` should match but not `far car park`. + +```bash +$ awk '/\Bcar|car\B/' patterns.txt +scar +care +a huge discarded pile of books +scare +part cart mart +``` + +**18)** Will the pattern `^a\w+([0-9]+:fig)?` match the same characters for the input `apple42:banana314` and `apple42:fig100`? If not, why not? + +```bash +$ echo 'apple42:banana314' | awk '{sub(/^a\w+([0-9]+:fig)?/, "[&]")} 1' +[apple42]:banana314 + +$ echo 'apple42:fig100' | awk '{sub(/^a\w+([0-9]+:fig)?/, "[&]")} 1' +[apple42:fig]100 +``` + +For patterns matching from the same starting location, longest match wins in ERE. So, `\w+` will give up characters to allow `([0-9]+:fig)?` to also match in the second case. In other flavors like PCRE, `apple42` will be matched for both the cases. + +**19)** For the input file `patterns.txt`, display lines starting with `4` or `-` or `u` or `sub` or `care`. + +```bash +$ awk '/^([4u-]|sub|care)/' patterns.txt +care +4*5] +-handy +subtle sequoia +unhand +``` + +**20)** Replace sequences made up of words separated by `:` or `.` by the first word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk '{gsub(/([:.]\w*)+/, "")} 1' +wow hi-2 bye kite +``` + +**21)** Replace sequences made up of words separated by `:` or `.` by the last word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk '{print gensub(/((\w+)[:.])+/, "\\2", "g")}' +five hi-2 bye water +``` + +**22)** Replace all whole words with `X` unless it is preceded by a `(` character. + +```bash +$ s='guava (apple) berry) apple (mango) (grape' +$ echo "$s" | awk '{print gensub(/(^|[^(])\<\w+/, "\\1X", "g")}' +X (apple) X) X (mango) (grape +``` + +**23)** Surround whole words with `[]` only if they are followed by `:` or `,` or `-`. + +```bash +$ ip='Poke,on=-=so_good:ink.to/is(vast)ever2-sit' +$ echo "$ip" | awk '{print gensub(/(\w+)([:,-])/, "[\\1]\\2", "g")}' +[Poke],on=-=[so_good]:ink.to/is(vast)[ever2]-sit +``` + +**24)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +# can also use: awk '/[0-9].*:/{sub(/:[^:]*$/, "")} 1' fields.txt +$ awk '{print gensub(/([0-9].*):.*/, "\\1", 1)}' fields.txt +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**25)** Can you use a character other than `/` as the regexp delimiter? If not, are there ways to construct a regexp that do not require the `/` character to be escaped for literal matching? + +A regexp literal can use only the `/` character as the regexp delimiter. You can also pass a string literal for regexp matching, which doesn't require the `/` character to be escaped for literal matching. However, you'll have to use `\\` to represent a single `\` character, which will affect the use of escape sequences like `\<` and `\w`. + +```bash +# using a string literal for regexp matching, no need to escape the / character +$ printf '/home/joe/1\n/home/john/1\n' | awk '$0 ~ "/home/joe/"' +/home/joe/1 + +# however, you'll need \\ to represent a single \ +$ echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' +/learn/by/example +``` + +**26)** For the input file `patterns.txt`, surround all hexadecimal sequences with a minimum of four characters with `[]`. Match `0x` as an optional prefix, but shouldn't be counted for determining the length. Match the characters case insensitively, and the sequences shouldn't be surrounded by other word characters. Display only the modified lines. + +```bash +# can also use: awk 'gsub(/\<(0[xX])?[[:xdigit:]]{4,}\>/, "[&]")' patterns.txt +$ awk -v IGNORECASE=1 'gsub(/\<(0x)?[0-9a-f]{4,}\>/, "[&]")' patterns.txt +"should not match [0XdeadBEEF]" +Hi42Bye nice1423 [bad42] +took 0xbad 22 [0x0ff1ce] +eqn2 = pressure*3+42/5-[14256] +``` +
# Field separators -**a)** Extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. +**1)** For the input file `brackets.txt`, extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. ```bash $ cat brackets.txt @@ -257,7 +385,7 @@ almond-pista yoyo ``` -**b)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. +**2)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. ```bash $ cat scores.csv @@ -269,6 +397,7 @@ Cy,97,98,95 Ort,68,72,66 Ith,100,100,100 +# can also use: awk -F, '{print $1 ":" $3}' scores.csv $ awk -F, -v OFS=: '{print $1, $3}' scores.csv Name:Physics Blue:46 @@ -279,7 +408,7 @@ Ort:72 Ith:100 ``` -**c)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. +**3)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. ```bash $ awk -F, '+$2>70{print $1}' scores.csv @@ -288,7 +417,7 @@ Cy Ith ``` -**d)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? +**4)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? ```bash $ echo 'hi there' | awk '{print gsub(/\w/, "")}' @@ -298,27 +427,33 @@ $ echo 'u-no;co%."(do_12:as' | awk -F'\\w' '{print NF-1}' 12 ``` -**e)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions or string concatenation. +**Note** that the first solution will print `0` for lines not containing any word character, while the second one will print `-1`. You can use `print NF ? NF-1 : 0` to cover such corner cases. + +**5)** For the input file `quoted.txt`, extract the first and third sequence of characters surrounded by double quotes and display them in the format shown below. Solution shouldn't use substitution functions. ```bash -$ echo '1 "grape" and "mango" and "guava"' | awk -v FPAT='"[^"]+"' -v OFS=, '{print $1, $3}' -"grape","guava" +$ cat quoted.txt +1 "grape" and "mango" and "guava" +("a 1""b""c-2""d") -$ echo '("a 1""b""c-2""d")' | awk -v FPAT='"[^"]+"' -v OFS=, '{print $1, $3}' +$ awk -v FPAT='"[^"]+"' -v OFS=, '{print $1, $3}' quoted.txt +"grape","guava" "a 1","c-2" ``` -**f)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions. Can you do it without explicitly using `print` function as well? +**6)** For the input file `varying_fields.txt`, construct a solution to get the output shown below. Solution shouldn't use substitution functions. ```bash -$ echo 'hi,bye,there,was,here,to' | awk -F, -v OFS=, '{$3=$NF; NF=3} 1' -hi,bye,to +$ cat varying_fields.txt +hi,bye,there,was,here,to +1,2,3,4,5 -$ echo '1,2,3,4,5' | awk -F, -v OFS=, '{$3=$NF; NF=3} 1' +$ awk -F, -v OFS=, '{$3=$NF; NF=3} 1' varying_fields.txt +hi,bye,to 1,2,5 ``` -**g)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. +**7)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. ```bash $ cat fw.txt @@ -334,20 +469,82 @@ $ awk -v FIELDWIDTHS='3 2:2 3:2 2:*' -v OFS=, '$2==" "{$2="NA"} {print $1, $2, 4.2,kt,45.1 ``` -**h)** Display only the third and fifth characters from each line input line as shown below. +**8)** Display only the third and fifth characters from each input line as shown below. ```bash +# can also use: awk '{print substr($0, 3, 1) substr($0, 5, 1)}' $ printf 'restore\ncat one\ncricket' | awk -F '' -v OFS= '{print $3, $5}' so to ik ``` +**9)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. Solution shouldn't use substitution functions. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +$ awk -F: -v OFS=: '/[0-9].*:/{NF--} 1' fields.txt +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**10)** Retain only the first three fields for the given sample string that uses `^` as the input field separator. Use `,` as the output field separator. + +```bash +$ echo 'sit^eat^very^eerie^near' | awk -F'^' -v OFS=, '{NF=3} 1' +sit,eat,very +``` + +**11)** The sample string shown below uses `cat` as the field separator (irrespective of case). Use space as the output field separator and add `42` as the last field. + +```bash +$ s='applecatfigCaT12345cAtbanana' +$ echo "$s" | awk -F'cat' -v IGNORECASE=1 '{$(NF+1)=42} 1' +apple fig 12345 banana 42 +``` + +**12)** For the input file `sample.txt`, filter lines containing 6 or more lowercase vowels. + +```bash +$ awk -F'[aeiou]' 'NF>6' sample.txt +No doubt you like it too +Much ado about nothing +``` + +**13)** The input file `concat.txt` has contents of various files preceded by a line starting with `###`. Replace such sequence of characters with an incrementing integer value (starting with `1`) in the format shown below. + +```bash +$ awk '$1=="###"{$1 = ++c ")"} 1' concat.txt +1) addr.txt +How are you +This game is good +Today is sunny +2) broken.txt +top +1234567890 +bottom +3) sample.txt +Just do-it +Believe it +4) mixed_fs.txt +pink blue white yellow +car,mat,ball,basket +``` +
# Record separators -**a)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. +**1)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. ```bash $ cat jumbled.txt @@ -364,25 +561,25 @@ intuition titanic ``` -**b)** Emulate `paste -sd,` with `awk`. +**2)** Emulate `paste -sd,` with `awk`. ```bash -$ # this command joins all input lines with ',' character +# this command joins all input lines with the ',' character $ paste -sd, addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # make sure there's no ',' at end of the line -$ # and that there's a newline character at the end of the line +# make sure there's no ',' at end of the line +# and that there's a newline character at the end of the line $ awk -v ORS= 'NR>1{print ","} 1; END{print "\n"}' addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # if there's only one line in input, again make sure there's no trailing ',' -$ printf 'foo' | paste -sd, -foo -$ printf 'foo' | awk -v ORS= 'NR>1{print ","} 1; END{print "\n"}' -foo +# if there's only one line in input, again make sure there's no trailing ',' +$ printf 'fig' | paste -sd, +fig +$ printf 'fig' | awk -v ORS= 'NR>1{print ","} 1; END{print "\n"}' +fig ``` -**c)** For the input file `scores.csv`, add another column named `GP` which is calculated out of `100` by giving `50%` weightage to `Maths` and `25%` each for `Physics` and `Chemistry`. +**3)** For the input file `scores.csv`, add another column named **GP** which is calculated out of 100 by giving 50% weightage to Maths and 25% each for Physics and Chemistry. ```bash $ awk -F, -v OFS=, '{$(NF+1) = NR==1 ? "GP" : ($2/2 + ($3+$4)/4)} 1' scores.csv @@ -395,7 +592,7 @@ Ort,68,72,66,68.5 Ith,100,100,100,100 ``` -**d)** For the input file `sample.txt`, extract all paragraphs containing `do` and exactly two lines. +**4)** For the input file `sample.txt`, extract paragraphs containing `do` and exactly two lines. ```bash $ cat sample.txt @@ -414,7 +611,7 @@ No doubt you like it too Much ado about nothing He he he -$ # note that there's no extra empty line at the end of the output +# note that there's no extra empty line at the end of the output $ awk -F'\n' -v RS= 'NF==2 && /do/{print s $0; s="\n"}' sample.txt Just do-it Believe it @@ -423,12 +620,11 @@ Much ado about nothing He he he ``` -**e)** For the input file `sample.txt`, change all paragraphs into single line by joining lines using `.` and a space character as the separator. And add a final `.` to each paragraph. +**5)** For the input file `sample.txt`, change each paragraph to a single line by joining lines using `.` and a space character as the separator. Also, add a final `.` to each paragraph. ```bash -$ # note that there's no extra empty line at the end of the output -$ awk 'BEGIN{FS="\n"; OFS=". "; RS=""} {$1=$1; $NF=$NF "."; - print s $0; s="\n"}' sample.txt +# note that there's no extra empty line at the end of the output +$ awk 'BEGIN{FS="\n"; OFS=". "; RS=""} {$NF=$NF "."; print s $0; s="\n"}' sample.txt Hello World. Good day. How are you. @@ -440,7 +636,7 @@ Today is sunny. Not a bit funny. No doubt you like it too. Much ado about nothing. He he he. ``` -**f)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only first two fields from each input line. The field separators should be space for first two lines and `,` for the rest of the lines. +**6)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only the first two fields from each input line. The field separators should be space for the first two lines and `,` for the rest of the lines. ```bash $ cat mixed_fs.txt @@ -448,35 +644,43 @@ rose lily jasmine tulip pink blue white yellow car,mat,ball,basket green,brown,black,purple +apple,banana,cherry $ awk 'NF=2; NR==2{FS=OFS=","}' mixed_fs.txt rose lily pink blue car,mat green,brown +apple,banana ``` -**g)** For the input file `table.txt`, get the outputs shown below. All of them feature line number as part of the solution. +**7)** For the input file `table.txt`, print other than the second line. ```bash -$ # print other than second line $ awk 'NR!=2' table.txt brown bread mat hair 42 yellow banana window shoes 3.14 +``` -$ # print line number of lines containing 'air' or 'win' +**8)** For the `table.txt` file, print only the line number for lines containing `air` or `win`. + +```bash $ awk '/air|win/{print NR}' table.txt 1 3 +``` -$ # calculate the sum of numbers in last column, except second line +**9)** For the input file `table.txt`, calculate the sum of numbers in the last column, excluding the second line. + +```bash $ awk 'NR!=2{sum += $NF} END{print sum}' table.txt 45.14 ``` -**h)** Print second and fourth line for every block of five lines. +**10)** Print the second and fourth line for every block of five lines. ```bash +# can also use: seq 15 | awk 'BEGIN{a[2]; a[4]} (NR%5) in a' $ seq 15 | awk 'NR%5 == 2 || NR%5 == 4' 2 4 @@ -486,7 +690,7 @@ $ seq 15 | awk 'NR%5 == 2 || NR%5 == 4' 14 ``` -**i)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use `RT`. In real world, you can use `sed -E 's/\b(\w|(\w)\w*\2)\b/{&}/g' odd.txt` to solve this. +**11)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use the `RT` variable (`sed -E 's/\b(\w)(\w*\1)?\b/{&}/g' odd.txt` would be a simpler solution). ```bash $ cat odd.txt @@ -498,11 +702,61 @@ $ awk -F '' -v RS='\\W+' -v ORS= '$0 && $1==$NF{$0 = "{" $0 "}"} {print $0 RT}' {RoaR} to {wow}- ``` +**12)** Print only the second field of the third line, if any, from these input files: `addr.txt`, `sample.txt` and `copyright.txt`. Consider space as the field separator. + +```bash +$ awk 'FNR==3{print $2}' addr.txt sample.txt copyright.txt +game +day +bla +``` + +**13)** The input file `ip.txt` has varying amount of empty lines between the records, change them to be always two empty lines. Also, remove the empty lines at the start and end of the file. + +```bash +$ awk -v RS= '{print s $0; s="\n\n"}' ip.txt +hello + + +world + + +apple +banana +cherry + + +tea coffee +chocolate +``` + +**14)** The sample string shown below uses `cat` as the record separator (irrespective of case). Display only the even numbered records separated by a single empty line. + +```bash +$ s='applecatfigCaT12345cAtbananaCATguava:caT:mangocat3' +$ echo "$s" | awk -v RS='cat' -v IGNORECASE=1 'NR%2==0{print s $0; s="\n"}' +fig + +banana + +:mango +``` + +**15)** Input has the ASCII NUL character as the record separator. Change it to dot and newline characters as shown below. + +```bash +$ printf 'apple\npie\0banana\ncherry\0' | awk -v RS='\0' -v ORS='.\n' '1' +apple +pie. +banana +cherry. +``` +
# In-place file editing -**a)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` +**1)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` ```bash $ cat copyright.txt @@ -524,7 +778,7 @@ bla bla bla copyright: 2018 ``` -**b)** For the input files `nums1.txt` and `nums2.txt`, retain only second and third lines and write back the changes to their respective files. No need to create backups. +**2)** For the input files `nums1.txt` and `nums2.txt`, retain only the second and third lines and write back the changes to their respective files. No need to create backups. ```bash $ cat nums1.txt @@ -551,7 +805,7 @@ $ cat nums2.txt # Using shell variables -**a)** Use contents of `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. +**1)** Use contents of the `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. ```bash $ s='do' @@ -559,7 +813,7 @@ $ awk -v s="$s" '$0 ~ "\\<" s "\\>"' sample.txt Just do-it ``` -**b)** Replace all occurrences of `o` for the input file `addr.txt` with literal contents of `s` variable. Assume that the `s` variable has regexp metacharacters. +**2)** Replace all occurrences of `o` for the input file `addr.txt` with the literal contents of the `s` variable. Assume that the `s` variable has regexp metacharacters. ```bash $ s='\&/' @@ -576,7 +830,7 @@ Y\&/u are funny # Control Structures -**a)** The input file `nums.txt` contains single column of numbers. Change positive numbers to negative and vice versa. Can you do it with using only `sub` function and without explicit use of `if-else` or ternary operator? +**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -586,7 +840,7 @@ $ cat nums.txt -3.14 -75 -$ # same as: awk '{$0 ~ /^-/ ? sub(/^-/, "") : sub(/^/, "-")} 1' nums.txt +# same as: awk '{$0 ~ /^-/ ? sub(/^-/, "") : sub(/^/, "-")} 1' nums.txt $ awk '!sub(/^-/, ""){sub(/^/, "-")} 1' nums.txt -42 2 @@ -595,7 +849,7 @@ $ awk '!sub(/^-/, ""){sub(/^/, "-")} 1' nums.txt 75 ``` -**b)** For the input file `table.txt`, change the field separator from space to `,` character. Also, any field not containing digit characters should be surrounded by double quotes. +**2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. ```bash $ awk -v q='"' -v OFS=, '{for(i=1; i<=NF; i++) if($i !~ /[0-9]/) $i = q $i q} 1' table.txt @@ -604,7 +858,7 @@ $ awk -v q='"' -v OFS=, '{for(i=1; i<=NF; i++) if($i !~ /[0-9]/) $i = q $i q} 1' "yellow","banana","window","shoes",3.14 ``` -**c)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. +**3)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. ```bash $ cat secrets.txt @@ -612,37 +866,39 @@ stag area row tick deaf chi rate tall glad Bi tac toe - 42 -$ # same as: awk '{print gensub(/[^ ]*(.)( |$)/, "\\1", "g")}' secrets.txt +# can also use: awk '{print gensub(/[^ ]*(.)( |$)/, "\\1", "g")}' +# can also use: awk -v OFS= '{for(i=1; i<=NF; i++) $i = substr($i, length($i))} 1' $ awk -v OFS= '{for(i=1; i<=NF; i++) $i = gensub(/.*(.)/, "\\1", 1, $i)} 1' secrets.txt gawk field ice-2 ``` -**d)** Emulate `q` and `Q` commands of `sed` as shown below. +**4)** For the input file `sample.txt`, emulate the `q` and `Q` commands of `sed` as shown below. ```bash -$ # sed '/are/q' sample.txt will print until (and including) line contains 'are' +# sed '/are/q' sample.txt will print till the line containing 'are' $ awk '1; /are/{exit}' sample.txt Hello World Good day How are you -$ # sed '/are/Q' sample.txt will print until (but excluding) line contains 'are' +# sed '/are/Q' sample.txt is similar to the 'q' command, +# but the matching line won't be part of the output $ awk '/are/{exit} 1' sample.txt Hello World Good day ``` -**e)** For the input file `addr.txt`: +**5)** For the input file `addr.txt`: -* if line contains `e` +* if a line contains `e` * delete all occurrences of `e` * surround all consecutive repeated characters with `{}` - * assume that input will not have more than two consecutive repeats -* if line doesn't contain `e` but contains `u` + * assume that the input will not have more than two consecutive repeats +* if a line doesn't contain `e` but contains `u` * surround all lowercase vowels in that line with `[]` ```bash @@ -658,13 +914,31 @@ T[o]d[a]y [i]s s[u]nny You ar fu{nn}y ``` +**6)** The goal is to print `found you` if the input file contains `you` and `not found` otherwise. However, both the `print` statements are executed in the `awk` code shown below. Change it to work as expected. + +```bash +$ awk '/you/{print "found you"; exit} END{print "not found"}' addr.txt +found you +not found +``` + +One way to solve such problems is to use a flag as shown below: + +```bash +$ awk '/you/{print "found you"; f=1; exit} END{if(!f) print "not found"}' addr.txt +found you + +$ awk '/you/{print "found you"; f=1; exit} END{if(!f) print "not found"}' table.txt +not found +``` +
# Built-in functions >![info](../images/info.svg) Exercises will also include functions and features not discussed in this chapter. Refer to [gawk manual: Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Functions) for details. -**a)** For the input file `scores.csv`, sort the rows based on **Physics** values in descending order. Header should be retained as the first line in output. +**1)** For the input file `scores.csv`, sort the rows in descending order based on the values in the Physics column. Header should be retained as the first line in the output. ```bash $ awk -F, 'NR==1{PROCINFO["sorted_in"] = "@ind_num_desc"; print; next} @@ -678,9 +952,15 @@ Ort,68,72,66 Blue,67,46,99 ``` -**b)** For the input file `nums3.txt`, calculate the square root of numbers and display in two different formats. First with four digits after fractional point and next in scientific notation, again with four digits after fractional point. Assume input has only single column positive numbers. +**2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash +$ cat nums3.txt +3.14 +4201 +777 +0323012 + $ awk '{printf "%.4f\n", sqrt($0)}' nums3.txt 1.7720 64.8151 @@ -694,27 +974,35 @@ $ awk '{printf "%.4e\n", sqrt($0)}' nums3.txt 5.6834e+02 ``` -**c)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. From the second field, remove the second `:` and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. The numbers can be positive/negative integers or floating-point numbers (including scientific notation). +**3)** For the input file `items.txt`, assume space as the field separator. From the second field, remove the second `:` character and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. ```bash -$ echo 'go x:12:-425 og 6.2' | awk '{split($2, a, /:/); $2=a[1] ":" a[2]; $NF *= a[3]} 1' -go x:12 og -2635 +$ cat items.txt +apple rxg:12:-425 og 6.2 +fig zwt:3.64:12.89e2 ljg 5 +banana ysl:42:3.14 vle 45 -$ echo 'rx zwt:3.64:12.89e2 ljg 5' | awk '{split($2, a, /:/); $2=a[1] ":" a[2]; $NF *= a[3]} 1' -rx zwt:3.64 ljg 6445 +$ awk '{split($2, a, /:/); $2=a[1] ":" a[2]; $NF *= a[3]} 1' items.txt +apple rxg:12 og -2635 +fig zwt:3.64 ljg 6445 +banana ysl:42 vle 141.3 ``` -**d)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. Replace the second field with sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers (but not scientific notation). +**4)** For the input file `sum.txt`, assume space as the field separator. Replace the second field with the sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers but not scientific notation. ```bash -$ echo 'f2:z3 kt//-42\\3.14//tw 5y6' | awk '{patsplit($2, a, /-?([0-9]+\.)?[0-9]+/); $2=a[1] + a[2]} 1' -f2:z3 -38.86 5y6 +$ cat sum.txt +f2:z3 kt//-42\\3.14//tw 5y6 +t5:x7 qr;wq<=>+10{-8764.124}yb u9 +apple:fig 100:32 9j4 -$ echo 't5:x7 qr;wq<=>+10{-8764.124}yb u9' | awk '{patsplit($2, a, /-?([0-9]+\.)?[0-9]+/); $2=a[1] + a[2]} 1' +$ awk '{patsplit($2, a, /-?[0-9]+(\.[0-9]+)?/); $2=a[1] + a[2]} 1' sum.txt +f2:z3 -38.86 5y6 t5:x7 -8754.12 u9 +apple:fig 132 9j4 ``` -**e)** For the given input strings, extract portion of the line starting from the matching location specified by shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. +**5)** For the given input strings, extract portion of the line starting from the matching location specified by the shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. ```bash $ s='(a^b)' @@ -722,17 +1010,18 @@ $ echo '3*f + (a^b) - 45' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($ (a^b) - 45 $ s='\&/' -$ # should be no output for this input +# should be no output for this input $ echo 'f\&z\&2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' -$ # but this one has a match +# but this one has a match $ echo 'f\&z\&/2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' \&/2.14 ``` -**f)** Extract all positive integers preceded by `-` and followed by `:` or `;` and display all such matches separated by a newline character. +**6)** Extract all positive integers preceded by `-` and followed by `:` or `;`. Display the matching portions separated by a newline character. ```bash -$ s='42 foo-5; baz3; x-83, y-20:-34; f12' +$ s='42 apple-5; fig3; x-83, y-20:-34; f12' +# can also use: awk -v RS='-[0-9]+[;:]' 'RT{print substr(RT, 2, length(RT)-2)}' $ echo "$s" | awk '{ while( match($0, /-([0-9]+)[;:]/, m) ){print m[1]; $0=substr($0, RSTART+RLENGTH)} }' 5 @@ -740,7 +1029,7 @@ $ echo "$s" | awk '{ while( match($0, /-([0-9]+)[;:]/, m) ){print m[1]; 34 ``` -**g)** For the input file `scores.csv`, calculate the average of three marks for each `Name`. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The format is `Name` and average score (up to two decimal points) separated by a tab character. +**7)** For the input file `scores.csv`, calculate the average score for each row. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The output files should have the names followed by a tab character, and finally the average score (two decimal points). ```bash $ awk -F, 'NR>1{t = ($2+$3+$4)/3; op = sprintf("%s\t%.2f", $1, t); @@ -756,7 +1045,7 @@ Cy 96.67 Ith 100.00 ``` -**h)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. +**8)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. ```bash $ cat files.txt @@ -778,7 +1067,7 @@ yellow ----------- ``` -**i)** For the input file `fw.txt`, format the last column of numbers in scientific notation with two digits after the decimal point. +**9)** For the input file `fw.txt`, format the last column in scientific notation with two digits after the decimal point. ```bash $ awk -v FIELDWIDTHS='14 *' '{printf "%s%.2e\n", $1, $2}' fw.txt @@ -788,22 +1077,52 @@ $ awk -v FIELDWIDTHS='14 *' '{printf "%s%.2e\n", $1, $2}' fw.txt 4.2 kt 32 4.51e+01 ``` -**j)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. +**10)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. >![info](../images/info.svg) Hint — [gawk manual: Bit-Manipulation Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Bitwise-Functions). ```bash +# can also use: awk '(/e/ && !/u/) || (!/e/ && /u/)' $ awk 'xor(/e/, /u/)' addr.txt Hello World This game is good Today is sunny ``` +**11)** For the input file `patterns.txt`, filter lines containing `[5]` at the start of a line. The search term should be matched literally. + +```bash +$ awk 'index($0, "[5]")==1' patterns.txt +[5]*3 +``` + +**12)** For the input file `table.txt`, uppercase the third field. + +```bash +$ awk '{$3 = toupper($3)} 1' table.txt +brown bread MAT hair 42 +blue cake MUG shirt -7 +yellow banana WINDOW shoes 3.14 +``` + +**13)** For the input files `patterns.txt` and `sum.txt`, match lines containing the literal value stored in the `s` variable. Assume that the `s` variable has regexp metacharacters. + +```bash +$ s='[5]' +$ s="$s" awk 'index($0, ENVIRON["s"])' patterns.txt sum.txt +(9-2)*[5] +[5]*3 + +$ s='\\' +$ s="$s" awk 'index($0, ENVIRON["s"])' patterns.txt sum.txt +f2:z3 kt//-42\\3.14//tw 5y6 +``` +
# Multiple file input -**a)** Print the last field of first two lines for the input files `table.txt`, `scores.csv` and `fw.txt`. The field separators for these files are space, comma and fixed width respectively. To make the output more informative, print filenames and a separator as shown in the output below. Assume input files will have at least two lines. +**1)** Print the last field of the first two lines for the input files `table.txt`, `scores.csv` and `fw.txt`. The field separators for these files are space, comma and fixed width respectively. To make the output more informative, print filenames and a separator as shown in the output below. Assume that the input files will have at least two lines. ```bash $ awk 'BEGINFILE{print ">" FILENAME "<"} {print $NF} FNR==2{print "----------"; @@ -822,7 +1141,7 @@ Chemistry ---------- ``` -**b)** For the given list of input files, display all filenames that contain `at` or `fun` in the third field. Assume space as the field separator. +**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `at` or `fun` in the third field. Assume space as the field separator. ```bash $ awk '$3 ~ /fun|at/{print FILENAME; nextfile}' sample.txt secrets.txt addr.txt table.txt @@ -835,7 +1154,7 @@ table.txt # Processing multiple records -**a)** For the input file `sample.txt`, print a matching line containing `do` only if the previous line is empty and the line before that contains `you`. +**1)** For the input file `sample.txt`, print lines containing `do` only if the previous line is empty and the line before that contains `you`. ```bash $ awk 'p2 ~ /you/ && p1=="" && /do/; {p2=p1; p1=$0}' sample.txt @@ -843,7 +1162,7 @@ Just do-it Much ado about nothing ``` -**b)** Print only the second matching line respectively for the search terms `do` and `not` for the input file `sample.txt`. Match these terms case insensitively. +**2)** For the input file `sample.txt`, match lines containing `do` or `not` case insensitively. Each of these terms occur multiple times in the file. The goal is to print only the second occurrences of these terms (independent of each other). ```bash $ awk -v IGNORECASE=1 '/do/ && ++d == 2; /not/ && ++n == 2' sample.txt @@ -851,7 +1170,7 @@ No doubt you like it too Much ado about nothing ``` -**c)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. +**3)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. ```bash $ awk -v n=1 '/are|bit/{for(i=NR-n; i0) print a[i]; c=n+1} @@ -863,7 +1182,7 @@ Today is sunny Not a bit funny No doubt you like it too -$ # note that first and last line are empty for this case +# note that the first and last line are empty for this case $ awk -v n=2 '/are|bit/{for(i=NR-n; i0) print a[i]; c=n+1} c && c--; {a[NR]=$0}' sample.txt @@ -878,7 +1197,7 @@ No doubt you like it too ``` -**d)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till end of file if second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. ```bash $ cat broken.txt @@ -894,7 +1213,7 @@ Hi there Have a nice day Good bye -$ # wrong output +# wrong output $ awk '/bottom/{f=0} f; /top/{f=1}' broken.txt 3.14 1234567890 @@ -902,13 +1221,13 @@ Hi there Have a nice day Good bye -$ # expected output +# expected output $ tac broken.txt | awk '/top/{f=0} f; /bottom/{f=1}' | tac 3.14 1234567890 ``` -**e)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by variable `n` passed via the `-v` option. +**5)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by the variable `n` passed via the `-v` option. ```bash $ cat concat.txt @@ -932,13 +1251,14 @@ $ awk -v n=2 '/^### /{c++} c==n' concat.txt top 1234567890 bottom + $ awk -v n=4 '/^### /{c++} c==n' concat.txt ### mixed_fs.txt pink blue white yellow car,mat,ball,basket ``` -**f)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). +**6)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). Save the output in `out.md`. ```bash $ awk -v IGNORECASE=1 '/```ruby/{f=1} !f{gsub(/ruby/, "Ruby")} /```$/{f=0} 1' ruby.md > out.md @@ -946,25 +1266,70 @@ $ diff -sq out.md expected.md Files out.md and expected.md are identical ``` +**7)** For the input file `lines.txt`, delete the line that comes after a whole line containing `---`. Assume that such lines won't occur consecutively. + +```bash +$ cat lines.txt +Go There +come on +go there +--- +2 apples and 5 mangoes +come on! +--- +2 Apples +COME ON + +# can also use: awk '!(n && n--); $0=="---"{n=1}' lines.txt +$ awk 'p!="---"; {p=$0}' lines.txt +Go There +come on +go there +--- +come on! +--- +COME ON +``` + +**8)** For the input file `result.csv`, use `---` to separate entries with the same name in the first column. Assume that the lines with the same first column value will always be next to each other. + +```bash +$ awk -F, 'NR>1 && p!=$1{print "---"} 1; {p=$1}' result.csv +Amy,maths,89 +Amy,physics,75 +--- +Joe,maths,79 +--- +John,chemistry,77 +John,physics,91 +--- +Moe,maths,81 +--- +Ravi,physics,84 +Ravi,chemistry,70 +--- +Yui,maths,92 +``` +
# Two file processing -**a)** Use contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. +**1)** Use the contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. ```bash $ cat match_words.txt %whole(Hello)--{doubt}==ado== just,\joint*,concession<=nice -$ # 'concession' is one of the third words from 'match_words.txt' -$ # and second word from 'jumbled.txt' +# 'concession' is one of the third words from 'match_words.txt' +# and second word from 'jumbled.txt' $ awk -v FPAT='\\w+' 'NR==FNR{a[$3]; next} $2 in a' match_words.txt jumbled.txt sample.txt wavering:concession/woof\retailer No doubt you like it too ``` -**b)** Interleave contents of `secrets.txt` with the contents of a file passed via `-v` option as shown below. +**2)** Interleave the contents of `secrets.txt` with the contents of a file passed via the `-v` option as shown below. ```bash $ awk -v f='table.txt' '{print; getline < f; print; print "---"}' secrets.txt @@ -979,7 +1344,7 @@ yellow banana window shoes 3.14 --- ``` -**c)** The file `search_terms.txt` contains one search string per line (these have no regexp metacharacters). Construct an `awk` command that reads this file and displays search terms (matched case insensitively) that were found in all of the other file arguments. Note that these terms should be matched with any part of the line, not just whole words. +**3)** The file `search_terms.txt` contains one search string per line, and these terms have no regexp metacharacters. Construct an `awk` command that reads this file and displays the search terms (matched case insensitively) that were found in every file passed as the arguments after `search_terms.txt`. Note that these terms should be matched anywhere in the line (so, don't use word boundaries). ```bash $ cat search_terms.txt @@ -995,6 +1360,7 @@ $ awk -v IGNORECASE=1 'NR==FNR{s[$0]; next} {for(k in s) if($0 ~ k) a[k]} ' search_terms.txt jumbled.txt mixed_fs.txt secrets.txt table.txt at row + $ awk -v IGNORECASE=1 'NR==FNR{s[$0]; next} {for(k in s) if($0 ~ k) a[k]} ENDFILE{for(k in a) s[k]++; delete a} END{for(k in s) if(s[k]==(ARGC-2)) print k} @@ -1004,11 +1370,56 @@ you hello ``` +**4)** Display lines from `scores.csv` by matching the first field based on a list of names from the `names.txt` file. Also, change the output field separator to a space character. + +```bash +$ cat names.txt +Lin +Cy +Ith + +$ awk -F, 'NR==FNR{a[$1]; next} $1 in a{$1=$1; print}' names.txt scores.csv +Lin 78 83 80 +Cy 97 98 95 +Ith 100 100 100 +``` + +**5)** What's the default value of the special variable `SUBSEP`? Where is it commonly used? + +`SUBSEP` has a default value of the non-printing character `\034` which is usually not used as part of text files. The value of this variable is used to join the comma-separated values provided as a key for associative arrays. + +**6)** The `result.csv` file has three columns — name, subject and mark. The `criteria.txt` file has two columns — name and subject. Match lines from `result.csv` based on the two columns from `criteria.txt` provided the mark column is greater than 80. + +```bash +$ cat result.csv +Amy,maths,89 +Amy,physics,75 +Joe,maths,79 +John,chemistry,77 +John,physics,91 +Moe,maths,81 +Ravi,physics,84 +Ravi,chemistry,70 +Yui,maths,92 + +$ cat criteria.txt +Amy maths +John chemistry +John physics +Ravi chemistry +Yui maths + +$ awk 'NR==FNR{a[$1,$2]; next} ($1,$2) in a && $3 > 80' criteria.txt FS=, result.csv +Amy,maths,89 +John,physics,91 +Yui,maths,92 +``` +
# Dealing with duplicates -**a)** Retain only first copy of a line for the input file `lines.txt`. Case should be ignored while comparing lines. For example `hi there` and `HI TheRE` will be considered as duplicates. +**1)** Retain only the first copy of a line for the input file `lines.txt`. Case should be ignored while comparing the lines. For example, `hi there` and `HI TheRE` should be considered as duplicates. ```bash $ cat lines.txt @@ -1031,7 +1442,7 @@ come on! 2 Apples ``` -**b)** Retain only first copy of a line for the input file `lines.txt`. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**2)** Retain only the first copy of a line for the input file `twos.txt`. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ cat twos.txt @@ -1055,7 +1466,7 @@ hehe bebe tru eblue ``` -**c)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**3)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ awk 'NR==FNR{c[$1,$2]++; next} {if((c[$1,$2] + c[$2,$1]) == 1) print > "uniq.txt"; @@ -1065,6 +1476,7 @@ $ cat uniq.txt true blue hehe bebe tru eblue + $ cat dupl.txt hehe haha door floor @@ -1079,7 +1491,7 @@ haha hehe # awk scripts -**a)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of `Summary` header. Also note that this sample doesn't simulate all the rules. +**1)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of the `Summary` header. Also note that this sample doesn't illustrate every rule explained below. ```bash # Field separators @@ -1093,33 +1505,33 @@ haha hehe * [Summary](#summary-1) ``` -For the input file `gawk.md`, construct table of content links as per the details described below. +For the input file `gawk.md`, construct a Table of Content section as per the details described below: * Identify all header lines * there are two types of header lines, one starting with ``# `` and the other starting with ``## `` * lines starting with `#` inside code blocks defined by ` ```bash ` and ` ``` ` markers should be ignored * The headers lines should then be converted as per the following rules: - * content is defined as portion of the header ignoring the initial `#` or `##` characters and a space character - * initial `##` should be replaced with four spaces and a `*` - * else, initial `#` should be replaced with `*` - * create a copy of the content, change it to all lowercase, replace all space characters with `-` character and then place it within `(#` and `)` - * if there are multiple headers with same content, append `-1`, `-2`, etc respectively for the second header, third header, etc - * surround the original content with `[]` and then append the string obtained from previous step + * content is defined as the portion of the header ignoring the initial `#` or `##` characters and the space character + * `##` should be replaced with four spaces and a `*` character + * else, `#` should be replaced with `*` character + * create a copy of the content, change it to all lowercase, replace all space characters with the `-` character and then enclose it within `(#` and `)` + * if there are multiple headers with the same content, append `-1`, `-2`, etc respectively for the second header, third header, etc + * surround the original content with `[]` and then append the string obtained from the previous step * Note that the output should have only the converted headers, all other input lines should not be present -As the input file `gawk.md` is too long, only the commands to verify your solution is shown. +The script file should be named as `toc.awk` and save the output in `out.md`. ```bash $ cat toc.awk /^```bash$/ { - f = 1 + f = 1 } /^```$/ { - f = 0 + f = 0 } -! f && /^#+ / { +!f && /^#+ / { m = tolower($0) a[m]++ && m = m "-" (a[m]-1) sub(/^#+ /, "", m) @@ -1134,7 +1546,7 @@ $ diff -sq out.md toc_expected.md Files out.md and toc_expected.md are identical ``` -**b)** For the input file `odd.txt`, surround first two whole words of each line with `{}` that start and end with the same word character. Assume that input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you recall various features presented in this book. +**2)** For the input file `odd.txt`, surround the first two whole words of each line with `{}` that start and end with the same word character. Assume that the input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you use various features presented in this book. ```bash $ cat odd.txt diff --git a/exercises/Exercises.md b/exercises/Exercises.md index 722ade1..ed4b3c8 100644 --- a/exercises/Exercises.md +++ b/exercises/Exercises.md @@ -1,12 +1,12 @@ # Exercises ->![info](../images/info.svg) Exercise related files are available from [exercises folder of learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises). For solutions, see [Exercise_solutions.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercise_solutions.md). +>![info](../images/info.svg) For solutions, see [Exercise_solutions.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercise_solutions.md).
# awk introduction -**a)** For the input file `addr.txt`, display all lines containing `is`. +**1)** For the input file `addr.txt`, display all lines containing `is`. ```bash $ cat addr.txt @@ -22,7 +22,7 @@ This game is good Today is sunny ``` -**b)** For the input file `addr.txt`, display first field of lines *not* containing `y`. Consider space as the field separator for this file. +**2)** For the input file `addr.txt`, display the first field of lines *not* containing `y`. Consider space as the field separator for this file. ```bash $ awk ##### add your solution here @@ -31,7 +31,7 @@ This 12345 ``` -**c)** For the input file `addr.txt`, display all lines containing no more than 2 fields. +**3)** For the input file `addr.txt`, display all lines containing no more than 2 fields. ```bash $ awk ##### add your solution here @@ -39,14 +39,14 @@ Hello World 12345 ``` -**d)** For the input file `addr.txt`, display all lines containing `is` in the second field. +**4)** For the input file `addr.txt`, display all lines containing `is` in the second field. ```bash $ awk ##### add your solution here Today is sunny ``` -**e)** For each line of the input file `addr.txt`, replace first occurrence of `o` with `0`. +**5)** For each line of the input file `addr.txt`, replace the first occurrence of `o` with `0`. ```bash $ awk ##### add your solution here @@ -58,7 +58,7 @@ T0day is sunny Y0u are funny ``` -**f)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. +**6)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. ```bash $ cat table.txt @@ -70,7 +70,7 @@ $ awk ##### add your solution here -923.16 ``` -**g)** Append `.` to all the input lines for the given `stdin` data. +**7)** Append `.` to all the input lines for the given stdin data. ```bash $ printf 'last\nappend\nstop\ntail\n' | awk ##### add your solution here @@ -80,53 +80,72 @@ stop. tail. ``` +**8)** Replace all occurrences of `0xA0` with `0x50` and `0xFF` with `0x7F` for the given input file. + +```bash +$ cat hex.txt +start address: 0xA0, func1 address: 0xA0 +end address: 0xFF, func2 address: 0xB0 + +$ awk ##### add your solution here +start address: 0x50, func1 address: 0x50 +end address: 0x7F, func2 address: 0xB0 +``` +
# Regular Expressions -**a)** For the given input, print all lines that start with `den` or end with `ly`. +**1)** For the input file `patterns.txt`, display all lines that start with `den` or end with `ly`. ```bash -$ lines='lovely\n1 dentist\n2 lonely\neden\nfly away\ndent\n' -$ printf '%b' "$lines" | awk ##### add your solution here -lovely +$ awk ##### add your solution here 2 lonely dent +lovely ``` -**b)** Replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Note that **word** in these exercises have same meaning as defined in regular expressions. +**2)** For the input file `patterns.txt`, replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Display only the modified lines. ```bash -$ echo 'hi42bye nice421423 bad42 cool_42a 42c' | awk ##### add your solution here -hi[42]bye nice[42]1[42]3 bad42 cool_[42]a 42c +$ awk ##### add your solution here +Hi[42]Bye nice1[42]3 bad42 +eqn2 = pressure*3+42/5-1[42]56 +cool_[42]a 42fake +_[42]_ ``` -**c)** Add `[]` around words starting with `s` and containing `e` and `t` in any order. +**3)** For the input file `patterns.txt`, add `[]` around words starting with `s` and containing `e` and `t` in any order. Display only the modified lines. ```bash -$ words='sequoia subtle exhibit asset sets tests site' -$ echo "$words" | awk ##### add your solution here -sequoia [subtle] exhibit asset [sets] tests [site] +$ awk ##### add your solution here +[sets] tests Sauerkraut +[site] cite kite bite [store_2] +[subtle] sequoia +a [set] ``` -**d)** Replace the space character that occurs after a word ending with `a` or `r` with a newline character. +**4)** For the input file `patterns.txt`, replace the space character that occurs after a word ending with `a` or `r` with a newline character, only if the line also contains an uppercase letter. Display only the modified lines. For example, `A car park` should get converted to `A car` and `park` separated by a newline. But `car far tar` shouldn't be matched as there's no uppercase letter in this line. ```bash -$ echo 'area not a _a2_ roar took 22' | awk ##### add your solution here -area -not a -_a2_ roar -took 22 +$ awk ##### add your solution here +par +car +tar +far +Cart +Not a +pip DOWN ``` -**e)** Replace all occurrences of `[4]|*` with `2` for the given input. +**5)** For the input file `patterns.txt`, replace all occurrences of `*[5]` with `2`. Display only the modified lines. ```bash -$ echo '2.3/[4]|*6 foo 5.3-[4]|*9' | awk ##### add your solution here -2.3/26 foo 5.3-29 +$ awk ##### add your solution here +(9-2)2 ``` -**f)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. +**6)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. ```bash $ printf 'known\nmood\nknow\npony\ninns\n' @@ -137,75 +156,79 @@ pony inns ``` -**g)** Print all lines that start with `hand` and ends with `s` or `y` or `le` or no further character. For example, `handed` shouldn't be printed even though it starts with `hand`. +**7)** For the input file `patterns.txt`, display all lines starting with `hand` and ending immediately with `s` or `y` or `le` or no further characters. For example, `handed` shouldn't be matched even though it starts with `hand`. ```bash -$ lines='handed\nhand\nhandy\nunhand\nhands\nhandle\n' -$ printf '%b' "$lines" | awk ##### add your solution here -hand +$ awk ##### add your solution here +handle handy hands -handle +hand ``` -**h)** Replace `42//5` or `42/5` with `8` for the given input. +**8)** For the input file `patterns.txt`, replace `42//5` or `42/5` with `8`. Display only the modified lines. ```bash -$ echo 'a+42//5-c pressure*3+42/5-14256' | awk ##### add your solution here -a+8-c pressure*3+8-14256 +$ awk ##### add your solution here +eqn3 = r*42-5/3+42///5-83+a +eqn1 = a+8-c +eqn2 = pressure*3+8-14256 ``` -**i)** For the given quantifiers, what would be the equivalent form using `{m,n}` representation? +**9)** For the given quantifiers, what would be the equivalent form using the `{m,n}` representation? * `?` is same as * `*` is same as * `+` is same as -**j)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** True or False? `(a*|b*)` is same as `(a|b)*` -**k)** For the given input, construct two different regexps to get the outputs as shown below. +**11)** For the input file `patterns.txt`, construct two different regexps to get the outputs as shown below. Display only the modified lines. ```bash -$ # delete from '(' till next ')' -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk ##### add your solution here -a/b + c%d - 2( +# delete from '(' till the next ')' +$ awk ##### add your solution here +a/b + c%d +*[5] +def factorial +12- *4) +Hi there. Nice day -$ # delete from '(' till next ')' but not if there is '(' in between -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk ##### add your solution here -a/b + c%d - (a#2( +# delete from '(' till the next ')' but not if there is '(' in between +$ awk ##### add your solution here +a/b + c%d +*[5] +def factorial +12- (e+*4) +Hi there. Nice day(a ``` -**l)** For the input file `anchors.txt`, convert **markdown** anchors to corresponding **hyperlinks**. +**12)** For the input file `anchors.txt`, convert markdown anchors to corresponding hyperlinks as shown below. ```bash $ cat anchors.txt #
Regular Expressions ## Subexpression calls +## The dot meta character $ awk ##### add your solution here [Regular Expressions](#regular-expressions) [Subexpression calls](#subexpression-calls) +[The dot meta character](#the-dot-meta-character) ``` -**m)** Display all lines that satisfies **both** of these conditions: +**13)** Display lines from `sample.txt` that satisfy both of these conditions: -* `professor` matched irrespective of case -* `quip` or `this` matched case sensitively - -Input is a file downloaded from internet as shown below. +* `to` or `he` matched irrespective of case +* `World` or `No` matched case sensitively ```bash -$ wget https://www.gutenberg.org/files/345/345.txt -O dracula.txt - $ awk ##### add your solution here -equipment of a professor of the healing craft. When we were shown in, -should be. I could see that the Professor had carried out in this room, -"Not up to this moment, Professor," she said impulsively, "but up to -and sprang at us. But by this time the Professor had gained his feet, -this time the Professor had to ask her questions, and to ask them pretty +Hello World +No doubt you like it too ``` -**n)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. +**14)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. ```bash $ echo 'lion,ant,road,neon' | awk ##### add your solution here @@ -215,17 +238,15 @@ $ echo '_;3%,.,=-=,:' | awk ##### add your solution here _;3%,.,42,: ``` -**o)** For the given strings, replace last but third `so` with `X`. Only print the lines which are changed by the substitution. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. ```bash -$ printf 'so and so also sow and soup' | awk ##### add your solution here -so and X also sow and soup - -$ printf 'sososososososo\nso and so\n' | awk ##### add your solution here -sososoXsososo +$ awk ##### add your solution here +par car tX far Cart +pXt cart mart ``` -**p)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. Can you do it with single substitution? +**16)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. ```bash $ words='tiger imp goat eagle ant important' @@ -233,11 +254,97 @@ $ echo "$words" | awk ##### add your solution here (tiger) () (goat) (eagle) () (important) ``` +**17)** For the input file `patterns.txt`, display lines containing `car` but not as a whole word. For example, `scared-cat` and `car care` should match but not `far car park`. + +```bash +$ awk ##### add your solution here +scar +care +a huge discarded pile of books +scare +part cart mart +``` + +**18)** Will the pattern `^a\w+([0-9]+:fig)?` match the same characters for the input `apple42:banana314` and `apple42:fig100`? If not, why not? + +**19)** For the input file `patterns.txt`, display lines starting with `4` or `-` or `u` or `sub` or `care`. + +```bash +$ awk ##### add your solution here +care +4*5] +-handy +subtle sequoia +unhand +``` + +**20)** Replace sequences made up of words separated by `:` or `.` by the first word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk ##### add your solution here +wow hi-2 bye kite +``` + +**21)** Replace sequences made up of words separated by `:` or `.` by the last word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk ##### add your solution here +five hi-2 bye water +``` + +**22)** Replace all whole words with `X` unless it is preceded by a `(` character. + +```bash +$ s='guava (apple) berry) apple (mango) (grape' +$ echo "$s" | awk ##### add your solution here +X (apple) X) X (mango) (grape +``` + +**23)** Surround whole words with `[]` only if they are followed by `:` or `,` or `-`. + +```bash +$ ip='Poke,on=-=so_good:ink.to/is(vast)ever2-sit' +$ echo "$ip" | awk ##### add your solution here +[Poke],on=-=[so_good]:ink.to/is(vast)[ever2]-sit +``` + +**24)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +$ awk ##### add your solution here +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**25)** Can you use a character other than `/` as the regexp delimiter? If not, are there ways to construct a regexp that do not require the `/` character to be escaped for literal matching? + +**26)** For the input file `patterns.txt`, surround all hexadecimal sequences with a minimum of four characters with `[]`. Match `0x` as an optional prefix, but shouldn't be counted for determining the length. Match the characters case insensitively, and the sequences shouldn't be surrounded by other word characters. Display only the modified lines. + +```bash +$ awk ##### add your solution here +"should not match [0XdeadBEEF]" +Hi42Bye nice1423 [bad42] +took 0xbad 22 [0x0ff1ce] +eqn2 = pressure*3+42/5-[14256] +``` +
# Field separators -**a)** Extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. +**1)** For the input file `brackets.txt`, extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. ```bash $ cat brackets.txt @@ -251,7 +358,7 @@ almond-pista yoyo ``` -**b)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. +**2)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. ```bash $ cat scores.csv @@ -273,7 +380,7 @@ Ort:72 Ith:100 ``` -**c)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. +**3)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. ```bash $ awk ##### add your solution here @@ -282,7 +389,7 @@ Cy Ith ``` -**d)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? +**4)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? ```bash $ echo 'hi there' | awk ##### add your solution here @@ -292,27 +399,31 @@ $ echo 'u-no;co%."(do_12:as' | awk ##### add your solution here 12 ``` -**e)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions or string concatenation. +**5)** For the input file `quoted.txt`, extract the first and third sequence of characters surrounded by double quotes and display them in the format shown below. Solution shouldn't use substitution functions. ```bash -$ echo '1 "grape" and "mango" and "guava"' | awk ##### add your solution here -"grape","guava" +$ cat quoted.txt +1 "grape" and "mango" and "guava" +("a 1""b""c-2""d") -$ echo '("a 1""b""c-2""d")' | awk ##### add your solution here +$ awk ##### add your solution here +"grape","guava" "a 1","c-2" ``` -**f)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions. Can you do it without explicitly using `print` function as well? +**6)** For the input file `varying_fields.txt`, construct a solution to get the output shown below. Solution shouldn't use substitution functions. ```bash -$ echo 'hi,bye,there,was,here,to' | awk ##### add your solution here -hi,bye,to +$ cat varying_fields.txt +hi,bye,there,was,here,to +1,2,3,4,5 -$ echo '1,2,3,4,5' | awk ##### add your solution here +$ awk ##### add your solution here +hi,bye,to 1,2,5 ``` -**g)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. +**7)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. ```bash $ cat fw.txt @@ -328,7 +439,7 @@ $ awk ##### add your solution here 4.2,kt,45.1 ``` -**h)** Display only the third and fifth characters from each line input line as shown below. +**8)** Display only the third and fifth characters from each input line as shown below. ```bash $ printf 'restore\ncat one\ncricket' | awk ##### add your solution here @@ -337,11 +448,72 @@ to ik ``` +**9)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. Solution shouldn't use substitution functions. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +$ awk ##### add your solution here +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**10)** Retain only the first three fields for the given sample string that uses `^` as the input field separator. Use `,` as the output field separator. + +```bash +$ echo 'sit^eat^very^eerie^near' | awk ##### add your solution here +sit,eat,very +``` + +**11)** The sample string shown below uses `cat` as the field separator (irrespective of case). Use space as the output field separator and add `42` as the last field. + +```bash +$ s='applecatfigCaT12345cAtbanana' +$ echo "$s" | awk ##### add your solution here +apple fig 12345 banana 42 +``` + +**12)** For the input file `sample.txt`, filter lines containing 6 or more lowercase vowels. + +```bash +$ awk ##### add your solution here +No doubt you like it too +Much ado about nothing +``` + +**13)** The input file `concat.txt` has contents of various files preceded by a line starting with `###`. Replace such sequence of characters with an incrementing integer value (starting with `1`) in the format shown below. + +```bash +$ awk ##### add your solution here +1) addr.txt +How are you +This game is good +Today is sunny +2) broken.txt +top +1234567890 +bottom +3) sample.txt +Just do-it +Believe it +4) mixed_fs.txt +pink blue white yellow +car,mat,ball,basket +``` +
# Record separators -**a)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. +**1)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. ```bash $ cat jumbled.txt @@ -358,25 +530,25 @@ intuition titanic ``` -**b)** Emulate `paste -sd,` with `awk`. +**2)** Emulate `paste -sd,` with `awk`. ```bash -$ # this command joins all input lines with ',' character +# this command joins all input lines with the ',' character $ paste -sd, addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # make sure there's no ',' at end of the line -$ # and that there's a newline character at the end of the line +# make sure there's no ',' at end of the line +# and that there's a newline character at the end of the line $ awk ##### add your solution here Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # if there's only one line in input, again make sure there's no trailing ',' -$ printf 'foo' | paste -sd, -foo -$ printf 'foo' | awk ##### add your solution here -foo +# if there's only one line in input, again make sure there's no trailing ',' +$ printf 'fig' | paste -sd, +fig +$ printf 'fig' | awk ##### add your solution here +fig ``` -**c)** For the input file `scores.csv`, add another column named `GP` which is calculated out of `100` by giving `50%` weightage to `Maths` and `25%` each for `Physics` and `Chemistry`. +**3)** For the input file `scores.csv`, add another column named **GP** which is calculated out of 100 by giving 50% weightage to Maths and 25% each for Physics and Chemistry. ```bash $ awk ##### add your solution here @@ -389,7 +561,7 @@ Ort,68,72,66,68.5 Ith,100,100,100,100 ``` -**d)** For the input file `sample.txt`, extract all paragraphs containing `do` and exactly two lines. +**4)** For the input file `sample.txt`, extract paragraphs containing `do` and exactly two lines. ```bash $ cat sample.txt @@ -408,7 +580,7 @@ No doubt you like it too Much ado about nothing He he he -$ # note that there's no extra empty line at the end of the output +# note that there's no extra empty line at the end of the output $ awk ##### add your solution here Just do-it Believe it @@ -417,10 +589,10 @@ Much ado about nothing He he he ``` -**e)** For the input file `sample.txt`, change all paragraphs into single line by joining lines using `.` and a space character as the separator. And add a final `.` to each paragraph. +**5)** For the input file `sample.txt`, change each paragraph to a single line by joining lines using `.` and a space character as the separator. Also, add a final `.` to each paragraph. ```bash -$ # note that there's no extra empty line at the end of the output +# note that there's no extra empty line at the end of the output $ awk ##### add your solution here Hello World. @@ -433,7 +605,7 @@ Today is sunny. Not a bit funny. No doubt you like it too. Much ado about nothing. He he he. ``` -**f)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only first two fields from each input line. The field separators should be space for first two lines and `,` for the rest of the lines. +**6)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only the first two fields from each input line. The field separators should be space for the first two lines and `,` for the rest of the lines. ```bash $ cat mixed_fs.txt @@ -441,33 +613,40 @@ rose lily jasmine tulip pink blue white yellow car,mat,ball,basket green,brown,black,purple +apple,banana,cherry $ awk ##### add your solution here rose lily pink blue car,mat green,brown +apple,banana ``` -**g)** For the input file `table.txt`, get the outputs shown below. All of them feature line number as part of the solution. +**7)** For the input file `table.txt`, print other than the second line. ```bash -$ # print other than second line $ awk ##### add your solution here brown bread mat hair 42 yellow banana window shoes 3.14 +``` -$ # print line number of lines containing 'air' or 'win' +**8)** For the `table.txt` file, print only the line number for lines containing `air` or `win`. + +```bash $ awk ##### add your solution here 1 3 +``` + +**9)** For the input file `table.txt`, calculate the sum of numbers in the last column, excluding the second line. -$ # calculate the sum of numbers in last column, except second line +```bash $ awk ##### add your solution here 45.14 ``` -**h)** Print second and fourth line for every block of five lines. +**10)** Print the second and fourth line for every block of five lines. ```bash $ seq 15 | awk ##### add your solution here @@ -479,7 +658,7 @@ $ seq 15 | awk ##### add your solution here 14 ``` -**i)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use `RT`. In real world, you can use `sed -E 's/\b(\w|(\w)\w*\2)\b/{&}/g' odd.txt` to solve this. +**11)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use the `RT` variable (`sed -E 's/\b(\w)(\w*\1)?\b/{&}/g' odd.txt` would be a simpler solution). ```bash $ cat odd.txt @@ -491,11 +670,61 @@ $ awk ##### add your solution here {RoaR} to {wow}- ``` +**12)** Print only the second field of the third line, if any, from these input files: `addr.txt`, `sample.txt` and `copyright.txt`. Consider space as the field separator. + +```bash +$ awk ##### add your solution here +game +day +bla +``` + +**13)** The input file `ip.txt` has varying amount of empty lines between the records, change them to be always two empty lines. Also, remove the empty lines at the start and end of the file. + +```bash +$ awk ##### add your solution here +hello + + +world + + +apple +banana +cherry + + +tea coffee +chocolate +``` + +**14)** The sample string shown below uses `cat` as the record separator (irrespective of case). Display only the even numbered records separated by a single empty line. + +```bash +$ s='applecatfigCaT12345cAtbananaCATguava:caT:mangocat3' +$ echo "$s" | awk ##### add your solution here +fig + +banana + +:mango +``` + +**15)** Input has the ASCII NUL character as the record separator. Change it to dot and newline characters as shown below. + +```bash +$ printf 'apple\npie\0banana\ncherry\0' | awk ##### add your solution here +apple +pie. +banana +cherry. +``` +
# In-place file editing -**a)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` +**1)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` ```bash $ cat copyright.txt @@ -517,7 +746,7 @@ bla bla bla copyright: 2018 ``` -**b)** For the input files `nums1.txt` and `nums2.txt`, retain only second and third lines and write back the changes to their respective files. No need to create backups. +**2)** For the input files `nums1.txt` and `nums2.txt`, retain only the second and third lines and write back the changes to their respective files. No need to create backups. ```bash $ cat nums1.txt @@ -544,19 +773,19 @@ $ cat nums2.txt # Using shell variables -**a)** Use contents of `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. +**1)** Use contents of the `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. ```bash $ s='do' -$ ##### add your solution here +##### add your solution here Just do-it ``` -**b)** Replace all occurrences of `o` for the input file `addr.txt` with literal contents of `s` variable. Assume that the `s` variable has regexp metacharacters. +**2)** Replace all occurrences of `o` for the input file `addr.txt` with the literal contents of the `s` variable. Assume that the `s` variable has regexp metacharacters. ```bash $ s='\&/' -$ ##### add your solution here +##### add your solution here Hell\&/ W\&/rld H\&/w are y\&/u This game is g\&/\&/d @@ -569,7 +798,7 @@ Y\&/u are funny # Control Structures -**a)** The input file `nums.txt` contains single column of numbers. Change positive numbers to negative and vice versa. Can you do it with using only `sub` function and without explicit use of `if-else` or ternary operator? +**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -587,7 +816,7 @@ $ awk ##### add your solution here 75 ``` -**b)** For the input file `table.txt`, change the field separator from space to `,` character. Also, any field not containing digit characters should be surrounded by double quotes. +**2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. ```bash $ awk ##### add your solution here @@ -596,7 +825,7 @@ $ awk ##### add your solution here "yellow","banana","window","shoes",3.14 ``` -**c)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. +**3)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. ```bash $ cat secrets.txt @@ -610,30 +839,31 @@ field ice-2 ``` -**d)** Emulate `q` and `Q` commands of `sed` as shown below. +**4)** For the input file `sample.txt`, emulate the `q` and `Q` commands of `sed` as shown below. ```bash -$ # sed '/are/q' sample.txt will print until (and including) line contains 'are' +# sed '/are/q' sample.txt will print till the line containing 'are' $ awk ##### add your solution here Hello World Good day How are you -$ # sed '/are/Q' sample.txt will print until (but excluding) line contains 'are' +# sed '/are/Q' sample.txt is similar to the 'q' command, +# but the matching line won't be part of the output $ awk ##### add your solution here Hello World Good day ``` -**e)** For the input file `addr.txt`: +**5)** For the input file `addr.txt`: -* if line contains `e` +* if a line contains `e` * delete all occurrences of `e` * surround all consecutive repeated characters with `{}` - * assume that input will not have more than two consecutive repeats -* if line doesn't contain `e` but contains `u` + * assume that the input will not have more than two consecutive repeats +* if a line doesn't contain `e` but contains `u` * surround all lowercase vowels in that line with `[]` ```bash @@ -646,13 +876,21 @@ T[o]d[a]y [i]s s[u]nny You ar fu{nn}y ``` +**6)** The goal is to print `found you` if the input file contains `you` and `not found` otherwise. However, both the `print` statements are executed in the `awk` code shown below. Change it to work as expected. + +```bash +$ awk '/you/{print "found you"; exit} END{print "not found"}' addr.txt +found you +not found +``` +
# Built-in functions >![info](../images/info.svg) Exercises will also include functions and features not discussed in this chapter. Refer to [gawk manual: Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Functions) for details. -**a)** For the input file `scores.csv`, sort the rows based on **Physics** values in descending order. Header should be retained as the first line in output. +**1)** For the input file `scores.csv`, sort the rows in descending order based on the values in the Physics column. Header should be retained as the first line in the output. ```bash $ awk ##### add your solution here @@ -665,9 +903,15 @@ Ort,68,72,66 Blue,67,46,99 ``` -**b)** For the input file `nums3.txt`, calculate the square root of numbers and display in two different formats. First with four digits after fractional point and next in scientific notation, again with four digits after fractional point. Assume input has only single column positive numbers. +**2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash +$ cat nums3.txt +3.14 +4201 +777 +0323012 + $ awk ##### add your solution here 1.7720 64.8151 @@ -681,27 +925,35 @@ $ awk ##### add your solution here 5.6834e+02 ``` -**c)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. From the second field, remove the second `:` and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. The numbers can be positive/negative integers or floating-point numbers (including scientific notation). +**3)** For the input file `items.txt`, assume space as the field separator. From the second field, remove the second `:` character and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. ```bash -$ echo 'go x:12:-425 og 6.2' | awk ##### add your solution here -go x:12 og -2635 +$ cat items.txt +apple rxg:12:-425 og 6.2 +fig zwt:3.64:12.89e2 ljg 5 +banana ysl:42:3.14 vle 45 -$ echo 'rx zwt:3.64:12.89e2 ljg 5' | awk ##### add your solution here -rx zwt:3.64 ljg 6445 +$ awk ##### add your solution here +apple rxg:12 og -2635 +fig zwt:3.64 ljg 6445 +banana ysl:42 vle 141.3 ``` -**d)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. Replace the second field with sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers (but not scientific notation). +**4)** For the input file `sum.txt`, assume space as the field separator. Replace the second field with the sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers but not scientific notation. ```bash -$ echo 'f2:z3 kt//-42\\3.14//tw 5y6' | awk ##### add your solution here -f2:z3 -38.86 5y6 +$ cat sum.txt +f2:z3 kt//-42\\3.14//tw 5y6 +t5:x7 qr;wq<=>+10{-8764.124}yb u9 +apple:fig 100:32 9j4 -$ echo 't5:x7 qr;wq<=>+10{-8764.124}yb u9' | awk ##### add your solution here +$ awk ##### add your solution here +f2:z3 -38.86 5y6 t5:x7 -8754.12 u9 +apple:fig 132 9j4 ``` -**e)** For the given input strings, extract portion of the line starting from the matching location specified by shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. +**5)** For the given input strings, extract portion of the line starting from the matching location specified by the shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. ```bash $ s='(a^b)' @@ -709,24 +961,24 @@ $ echo '3*f + (a^b) - 45' | ##### add your solution here (a^b) - 45 $ s='\&/' -$ # should be no output for this input +# should be no output for this input $ echo 'f\&z\&2.14' | ##### add your solution here -$ # but this one has a match +# but this one has a match $ echo 'f\&z\&/2.14' | ##### add your solution here \&/2.14 ``` -**f)** Extract all positive integers preceded by `-` and followed by `:` or `;` and display all such matches separated by a newline character. +**6)** Extract all positive integers preceded by `-` and followed by `:` or `;`. Display the matching portions separated by a newline character. ```bash -$ s='42 foo-5; baz3; x-83, y-20:-34; f12' +$ s='42 apple-5; fig3; x-83, y-20:-34; f12' $ echo "$s" | awk ##### add your solution here 5 20 34 ``` -**g)** For the input file `scores.csv`, calculate the average of three marks for each `Name`. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The format is `Name` and average score (up to two decimal points) separated by a tab character. +**7)** For the input file `scores.csv`, calculate the average score for each row. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The output files should have the names followed by a tab character, and finally the average score (two decimal points). ```bash $ awk ##### add your solution here @@ -741,7 +993,7 @@ Cy 96.67 Ith 100.00 ``` -**h)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. +**8)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. ```bash $ cat files.txt @@ -763,7 +1015,7 @@ yellow ----------- ``` -**i)** For the input file `fw.txt`, format the last column of numbers in scientific notation with two digits after the decimal point. +**9)** For the input file `fw.txt`, format the last column in scientific notation with two digits after the decimal point. ```bash $ awk ##### add your solution here @@ -773,7 +1025,7 @@ $ awk ##### add your solution here 4.2 kt 32 4.51e+01 ``` -**j)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. +**10)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. >![info](../images/info.svg) Hint — [gawk manual: Bit-Manipulation Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Bitwise-Functions). @@ -784,11 +1036,40 @@ This game is good Today is sunny ``` +**11)** For the input file `patterns.txt`, filter lines containing `[5]` at the start of a line. The search term should be matched literally. + +```bash +$ awk ##### add your solution here +[5]*3 +``` + +**12)** For the input file `table.txt`, uppercase the third field. + +```bash +$ awk ##### add your solution here +brown bread MAT hair 42 +blue cake MUG shirt -7 +yellow banana WINDOW shoes 3.14 +``` + +**13)** For the input files `patterns.txt` and `sum.txt`, match lines containing the literal value stored in the `s` variable. Assume that the `s` variable has regexp metacharacters. + +```bash +$ s='[5]' +##### add your solution here +(9-2)*[5] +[5]*3 + +$ s='\\' +##### add your solution here +f2:z3 kt//-42\\3.14//tw 5y6 +``` +
# Multiple file input -**a)** Print the last field of first two lines for the input files `table.txt`, `scores.csv` and `fw.txt`. The field separators for these files are space, comma and fixed width respectively. To make the output more informative, print filenames and a separator as shown in the output below. Assume input files will have at least two lines. +**1)** Print the last field of the first two lines for the input files `table.txt`, `scores.csv` and `fw.txt`. The field separators for these files are space, comma and fixed width respectively. To make the output more informative, print filenames and a separator as shown in the output below. Assume that the input files will have at least two lines. ```bash $ awk ##### add your solution here @@ -806,7 +1087,7 @@ Chemistry ---------- ``` -**b)** For the given list of input files, display all filenames that contain `at` or `fun` in the third field. Assume space as the field separator. +**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `at` or `fun` in the third field. Assume space as the field separator. ```bash $ awk ##### add your solution here sample.txt secrets.txt addr.txt table.txt @@ -819,7 +1100,7 @@ table.txt # Processing multiple records -**a)** For the input file `sample.txt`, print a matching line containing `do` only if the previous line is empty and the line before that contains `you`. +**1)** For the input file `sample.txt`, print lines containing `do` only if the previous line is empty and the line before that contains `you`. ```bash $ awk ##### add your solution here @@ -827,7 +1108,7 @@ Just do-it Much ado about nothing ``` -**b)** Print only the second matching line respectively for the search terms `do` and `not` for the input file `sample.txt`. Match these terms case insensitively. +**2)** For the input file `sample.txt`, match lines containing `do` or `not` case insensitively. Each of these terms occur multiple times in the file. The goal is to print only the second occurrences of these terms (independent of each other). ```bash $ awk ##### add your solution here @@ -835,7 +1116,7 @@ No doubt you like it too Much ado about nothing ``` -**c)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. +**3)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. ```bash $ awk -v n=1 ##### add your solution here @@ -846,7 +1127,7 @@ Today is sunny Not a bit funny No doubt you like it too -$ # note that first and last line are empty for this case +# note that the first and last line are empty for this case $ awk -v n=2 ##### add your solution here Good day @@ -860,7 +1141,7 @@ No doubt you like it too ``` -**d)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till end of file if second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. ```bash $ cat broken.txt @@ -876,7 +1157,7 @@ Hi there Have a nice day Good bye -$ # wrong output +# wrong output $ awk '/bottom/{f=0} f; /top/{f=1}' broken.txt 3.14 1234567890 @@ -884,13 +1165,13 @@ Hi there Have a nice day Good bye -$ # expected output -$ ##### add your solution here +# expected output +##### add your solution here 3.14 1234567890 ``` -**e)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by variable `n` passed via the `-v` option. +**5)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by the variable `n` passed via the `-v` option. ```bash $ cat concat.txt @@ -914,13 +1195,14 @@ $ awk -v n=2 ##### add your solution here top 1234567890 bottom + $ awk -v n=4 ##### add your solution here ### mixed_fs.txt pink blue white yellow car,mat,ball,basket ``` -**f)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). +**6)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). Save the output in `out.md`. ```bash $ awk ##### add your solution here ruby.md > out.md @@ -928,25 +1210,69 @@ $ diff -sq out.md expected.md Files out.md and expected.md are identical ``` +**7)** For the input file `lines.txt`, delete the line that comes after a whole line containing `---`. Assume that such lines won't occur consecutively. + +```bash +$ cat lines.txt +Go There +come on +go there +--- +2 apples and 5 mangoes +come on! +--- +2 Apples +COME ON + +$ awk ##### add your solution here +Go There +come on +go there +--- +come on! +--- +COME ON +``` + +**8)** For the input file `result.csv`, use `---` to separate entries with the same name in the first column. Assume that the lines with the same first column value will always be next to each other. + +```bash +$ awk ##### add your solution here +Amy,maths,89 +Amy,physics,75 +--- +Joe,maths,79 +--- +John,chemistry,77 +John,physics,91 +--- +Moe,maths,81 +--- +Ravi,physics,84 +Ravi,chemistry,70 +--- +Yui,maths,92 +``` +
# Two file processing -**a)** Use contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. +**1)** Use the contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. ```bash $ cat match_words.txt %whole(Hello)--{doubt}==ado== just,\joint*,concession<=nice -$ # 'concession' is one of the third words from 'match_words.txt' -$ # and second word from 'jumbled.txt' +# 'concession' is one of the third words from 'match_words.txt' +# and second word from 'jumbled.txt' $ awk ##### add your solution here wavering:concession/woof\retailer No doubt you like it too ``` -**b)** Interleave contents of `secrets.txt` with the contents of a file passed via `-v` option as shown below. +**2)** Interleave the contents of `secrets.txt` with the contents of a file passed via the `-v` option as shown below. ```bash $ awk -v f='table.txt' ##### add your solution here @@ -961,7 +1287,7 @@ yellow banana window shoes 3.14 --- ``` -**c)** The file `search_terms.txt` contains one search string per line (these have no regexp metacharacters). Construct an `awk` command that reads this file and displays search terms (matched case insensitively) that were found in all of the other file arguments. Note that these terms should be matched with any part of the line, not just whole words. +**3)** The file `search_terms.txt` contains one search string per line, and these terms have no regexp metacharacters. Construct an `awk` command that reads this file and displays the search terms (matched case insensitively) that were found in every file passed as the arguments after `search_terms.txt`. Note that these terms should be matched anywhere in the line (so, don't use word boundaries). ```bash $ cat search_terms.txt @@ -975,6 +1301,7 @@ $ awk ##### add your solution here ##file list## search_terms.txt jumbled.txt mixed_fs.txt secrets.txt table.txt at row + $ awk ##### add your solution here ##file list## search_terms.txt addr.txt sample.txt is @@ -982,11 +1309,54 @@ you hello ``` +**4)** Display lines from `scores.csv` by matching the first field based on a list of names from the `names.txt` file. Also, change the output field separator to a space character. + +```bash +$ cat names.txt +Lin +Cy +Ith + +$ awk ##### add your solution here +Lin 78 83 80 +Cy 97 98 95 +Ith 100 100 100 +``` + +**5)** What's the default value of the special variable `SUBSEP`? Where is it commonly used? + +**6)** The `result.csv` file has three columns — name, subject and mark. The `criteria.txt` file has two columns — name and subject. Match lines from `result.csv` based on the two columns from `criteria.txt` provided the mark column is greater than 80. + +```bash +$ cat result.csv +Amy,maths,89 +Amy,physics,75 +Joe,maths,79 +John,chemistry,77 +John,physics,91 +Moe,maths,81 +Ravi,physics,84 +Ravi,chemistry,70 +Yui,maths,92 + +$ cat criteria.txt +Amy maths +John chemistry +John physics +Ravi chemistry +Yui maths + +$ awk ##### add your solution here +Amy,maths,89 +John,physics,91 +Yui,maths,92 +``` +
# Dealing with duplicates -**a)** Retain only first copy of a line for the input file `lines.txt`. Case should be ignored while comparing lines. For example `hi there` and `HI TheRE` will be considered as duplicates. +**1)** Retain only the first copy of a line for the input file `lines.txt`. Case should be ignored while comparing the lines. For example, `hi there` and `HI TheRE` should be considered as duplicates. ```bash $ cat lines.txt @@ -1009,7 +1379,7 @@ come on! 2 Apples ``` -**b)** Retain only first copy of a line for the input file `lines.txt`. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**2)** Retain only the first copy of a line for the input file `twos.txt`. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ cat twos.txt @@ -1033,7 +1403,7 @@ hehe bebe tru eblue ``` -**c)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**3)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ awk ##### add your solution here @@ -1042,6 +1412,7 @@ $ cat uniq.txt true blue hehe bebe tru eblue + $ cat dupl.txt hehe haha door floor @@ -1056,7 +1427,7 @@ haha hehe # awk scripts -**a)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of `Summary` header. Also note that this sample doesn't simulate all the rules. +**1)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of the `Summary` header. Also note that this sample doesn't illustrate every rule explained below. ```bash # Field separators @@ -1070,21 +1441,21 @@ haha hehe * [Summary](#summary-1) ``` -For the input file `gawk.md`, construct table of content links as per the details described below. +For the input file `gawk.md`, construct a Table of Content section as per the details described below: * Identify all header lines * there are two types of header lines, one starting with ``# `` and the other starting with ``## `` * lines starting with `#` inside code blocks defined by ` ```bash ` and ` ``` ` markers should be ignored * The headers lines should then be converted as per the following rules: - * content is defined as portion of the header ignoring the initial `#` or `##` characters and a space character - * initial `##` should be replaced with four spaces and a `*` - * else, initial `#` should be replaced with `*` - * create a copy of the content, change it to all lowercase, replace all space characters with `-` character and then place it within `(#` and `)` - * if there are multiple headers with same content, append `-1`, `-2`, etc respectively for the second header, third header, etc - * surround the original content with `[]` and then append the string obtained from previous step + * content is defined as the portion of the header ignoring the initial `#` or `##` characters and the space character + * `##` should be replaced with four spaces and a `*` character + * else, `#` should be replaced with `*` character + * create a copy of the content, change it to all lowercase, replace all space characters with the `-` character and then enclose it within `(#` and `)` + * if there are multiple headers with the same content, append `-1`, `-2`, etc respectively for the second header, third header, etc + * surround the original content with `[]` and then append the string obtained from the previous step * Note that the output should have only the converted headers, all other input lines should not be present -As the input file `gawk.md` is too long, only the commands to verify your solution is shown. +The script file should be named as `toc.awk` and save the output in `out.md`. ```bash $ awk -f toc.awk gawk.md > out.md @@ -1092,7 +1463,7 @@ $ diff -sq out.md toc_expected.md Files out.md and toc_expected.md are identical ``` -**b)** For the input file `odd.txt`, surround first two whole words of each line with `{}` that start and end with the same word character. Assume that input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you recall various features presented in this book. +**2)** For the input file `odd.txt`, surround the first two whole words of each line with `{}` that start and end with the same word character. Assume that the input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you use various features presented in this book. ```bash $ cat odd.txt diff --git a/exercises/anchors.txt b/exercises/anchors.txt index c68cdd5..a23ac0b 100644 --- a/exercises/anchors.txt +++ b/exercises/anchors.txt @@ -1,2 +1,3 @@ # Regular Expressions ## Subexpression calls +## The dot meta character diff --git a/exercises/criteria.txt b/exercises/criteria.txt new file mode 100644 index 0000000..e0fcf18 --- /dev/null +++ b/exercises/criteria.txt @@ -0,0 +1,5 @@ +Amy maths +John chemistry +John physics +Ravi chemistry +Yui maths diff --git a/exercises/fields.txt b/exercises/fields.txt new file mode 100644 index 0000000..07ecd64 --- /dev/null +++ b/exercises/fields.txt @@ -0,0 +1,5 @@ +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur diff --git a/exercises/hex.txt b/exercises/hex.txt new file mode 100644 index 0000000..35ea76e --- /dev/null +++ b/exercises/hex.txt @@ -0,0 +1,2 @@ +start address: 0xA0, func1 address: 0xA0 +end address: 0xFF, func2 address: 0xB0 diff --git a/exercises/ip.txt b/exercises/ip.txt new file mode 100644 index 0000000..d7caa8f --- /dev/null +++ b/exercises/ip.txt @@ -0,0 +1,20 @@ + +hello + + + + +world + +apple +banana +cherry + + +tea coffee +chocolate + + + + + diff --git a/exercises/items.txt b/exercises/items.txt new file mode 100644 index 0000000..ad75799 --- /dev/null +++ b/exercises/items.txt @@ -0,0 +1,3 @@ +apple rxg:12:-425 og 6.2 +fig zwt:3.64:12.89e2 ljg 5 +banana ysl:42:3.14 vle 45 diff --git a/exercises/mixed_fs.txt b/exercises/mixed_fs.txt index 4dca629..339d3dd 100644 --- a/exercises/mixed_fs.txt +++ b/exercises/mixed_fs.txt @@ -2,3 +2,4 @@ rose lily jasmine tulip pink blue white yellow car,mat,ball,basket green,brown,black,purple +apple,banana,cherry diff --git a/exercises/names.txt b/exercises/names.txt new file mode 100644 index 0000000..29d554f --- /dev/null +++ b/exercises/names.txt @@ -0,0 +1,3 @@ +Lin +Cy +Ith diff --git a/exercises/patterns.txt b/exercises/patterns.txt new file mode 100644 index 0000000..a64dc56 --- /dev/null +++ b/exercises/patterns.txt @@ -0,0 +1,53 @@ +scar +refused reed redo received +eqn3 = r*42-5/3+42///5-42/53+a +handle +pot +a/b(division) + c%d(#modulo) +r*[5 +par car tar far Cart +"should not match 0XdeadBEEF" += +Hi42Bye nice1423 bad42 +(9-2)*[5] +care +4*5] +a huge discarded pile of books +scare +sets tests Sauerkraut +2 lonely +site cite kite bite store_2 +eqn1 = a+42//5-c +fly away +Not a pip DOWN +dent +creed refuse removed read +refused refused and retired +y +handed +-handy +hand-icy +subtle sequoia +a set +handy +exhibits +1 dentist 1 +car +eden +rested replied +part cart mart +took 0xbad 22 0x0ff1ce +eqn2 = pressure*3+42/5-14256 +hands +cool_42a 42fake +_42_ +def factorial() +hand +unhand +hand +12- (e+(j/k-3)*4) +[5]*3 +oreo roar +Hi there(greeting). Nice day(a(b) +crested received refuse +lovely diff --git a/exercises/quoted.txt b/exercises/quoted.txt new file mode 100644 index 0000000..8d0f4a3 --- /dev/null +++ b/exercises/quoted.txt @@ -0,0 +1,2 @@ +1 "grape" and "mango" and "guava" +("a 1""b""c-2""d") diff --git a/exercises/result.csv b/exercises/result.csv new file mode 100644 index 0000000..ba1e4db --- /dev/null +++ b/exercises/result.csv @@ -0,0 +1,9 @@ +Amy,maths,89 +Amy,physics,75 +Joe,maths,79 +John,chemistry,77 +John,physics,91 +Moe,maths,81 +Ravi,physics,84 +Ravi,chemistry,70 +Yui,maths,92 diff --git a/exercises/sum.txt b/exercises/sum.txt new file mode 100644 index 0000000..5a3c42c --- /dev/null +++ b/exercises/sum.txt @@ -0,0 +1,3 @@ +f2:z3 kt//-42\\3.14//tw 5y6 +t5:x7 qr;wq<=>+10{-8764.124}yb u9 +apple:fig 100:32 9j4 diff --git a/exercises/varying_fields.txt b/exercises/varying_fields.txt new file mode 100644 index 0000000..8f84147 --- /dev/null +++ b/exercises/varying_fields.txt @@ -0,0 +1,2 @@ +hi,bye,there,was,here,to +1,2,3,4,5 diff --git a/gnu_awk.md b/gnu_awk.md index 9fda68e..9aeb26e 100644 --- a/gnu_awk.md +++ b/gnu_awk.md @@ -1,102 +1,112 @@ # Preface -When it comes to command line text processing, from an abstract point of view, there are three major pillars — `grep` for filtering, `sed` for substitution and `awk` for field processing. These tools have some overlapping features too, for example, all three of them have extensive filtering capabilities. +When it comes to command line text processing, the three major pillars are `grep` for filtering, `sed` for substitution and `awk` for field processing. These tools have overlapping features too, for example, all three of them have extensive filtering capabilities. -Unlike `grep` and `sed`, `awk` is a full blown programming language. However, this book intends to showcase `awk` one-liners that can be composed from the command line instead of writing a program file. +Unlike `grep` and `sed`, `awk` is a programming language. However, this book intends to showcase `awk` one-liners that can be composed from the command line instead of focusing on larger scripts. -This book heavily leans on examples to present options and features of `awk` one by one. It is recommended that you manually type each example and experiment with them. Understanding both the nature of sample input string and the output produced is essential. As an analogy, consider learning to drive a bike or a car — no matter how much you read about them or listen to explanations, you need to practice a lot and infer your own conclusions. Should you feel that copy-paste is ideal for you, [code snippets are available chapter wise on GitHub](https://github.com/learnbyexample/learn_gnuawk/tree/master/code_snippets). +This book heavily leans on examples to present features one by one. Regular expressions will also be discussed in detail. + +It is recommended that you manually type each example. Make an effort to understand the sample input as well as the solution presented and check if the output changes (or not!) when you alter some part of the input and the command. As an analogy, consider learning to drive a car — no matter how much you read about them or listen to explanations, you'd need practical experience to become proficient. ## Prerequisites -* Prior experience working with command line and `bash` shell, should know concepts like file redirection, command pipeline and so on -* Familiarity with programming concepts like variables, printing, functions, control structures, arrays, etc -* Knowing basics of `grep` and `sed` will help in understanding similar features of `awk` +You should be familiar with command line usage in a Unix-like environment. You should also be comfortable with concepts like file redirection and command pipelines. Knowing the basics of the `grep` and `sed` commands will be handy in understanding the filtering and substitution features of `awk`. -If you are new to the world of command line, check out my curated resources on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) before starting this book. +As `awk` is a programming language, you are also expected to be familiar with concepts like variables, printing, functions, control structures, arrays and so on. -My [Command Line Text Processing](https://github.com/learnbyexample/Command-line-text-processing) repository includes a chapter on `GNU awk` which has been edited and restructured to create this book. +If you are new to the world of the command line, check out my [Computing from the Command Line](https://github.com/learnbyexample/cli-computing) ebook and curated resources on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) before starting this book. ## Conventions -* The examples presented here have been tested on `GNU bash` shell with **GNU awk 5.1.0** and includes features not available in earlier versions. -* Code snippets shown are copy pasted from `bash` shell and modified for presentation purposes. Some commands are preceded by comments to provide context and explanations. Blank lines have been added to improve readability, only `real` time is shown for speed comparisons, output is skipped for commands like `wget` and so on. -* Unless otherwise noted, all examples and explanations are meant for **ASCII** characters. -* `awk` would mean `GNU awk`, `grep` would mean `GNU grep` and so on unless otherwise specified. -* External links are provided for further reading throughout the book. Not necessary to immediately visit them. They have been chosen with care and would help, especially during re-reads. -* The [learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk) has all the code snippets and files used in examples, exercises and other details related to the book. If you are not familiar with `git` command, click the **Code** button on the webpage to get the files. +* The examples presented here have been tested with **GNU awk** version **5.2.2** and includes features not available in earlier versions. +* Code snippets are copy pasted from the `GNU bash` shell and modified for presentation purposes. Some commands are preceded by comments to provide context and explanations. Blank lines to improve readability, only `real` time shown for speed comparisons, output skipped for commands like `wget` and so on. +* Unless otherwise noted, all examples and explanations are meant for **ASCII** input. +* `awk` would mean `GNU awk`, `sed` would mean `GNU sed`, `grep` would mean `GNU grep` and so on unless otherwise specified. +* External links are provided throughout the book for you to explore certain topics in more depth. +* The [learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk) has all the code snippets and files used in examples, exercises and other details related to the book. If you are not familiar with the `git` command, click the **Code** button on the webpage to get the files. ## Acknowledgements * [GNU awk documentation](https://www.gnu.org/software/gawk/manual/) — manual and examples -* [stackoverflow](https://stackoverflow.com/) and [unix.stackexchange](https://unix.stackexchange.com/) — for getting answers to pertinent questions on `bash`, `awk` and other commands +* [stackoverflow](https://stackoverflow.com/) and [unix.stackexchange](https://unix.stackexchange.com/) — for getting answers to pertinent questions on `awk` and related commands * [tex.stackexchange](https://tex.stackexchange.com/) — for help on [pandoc](https://github.com/jgm/pandoc/) and `tex` related questions -* [LibreOffice Draw](https://www.libreoffice.org/discover/draw/) — cover image -* [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) for optimizing images -* [softwareengineering.stackexchange](https://softwareengineering.stackexchange.com/questions/39/whats-your-favourite-quote-about-programming) and [skolakoda](https://skolakoda.org/programming-quotes) for programming quotes +* [/r/commandline/](https://old.reddit.com/r/commandline), [/r/linux4noobs/](https://old.reddit.com/r/linux4noobs/), [/r/linuxquestions/](https://old.reddit.com/r/linuxquestions/) and [/r/linux/](https://old.reddit.com/r/linux/) — helpful forums +* [canva](https://www.canva.com/) — cover image +* [oxipng](https://github.com/shssoichiro/oxipng), [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) — optimizing images * [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain * [arifmahmudrana](https://github.com/arifmahmudrana) for spotting an ambiguous explanation +* [Pound-Hash](https://github.com/Pound-Hash) for critical feedback Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during these difficult times. ## Feedback and Errata -I would highly appreciate if you'd let me know how you felt about this book, it would help to improve this book as well as my future attempts. Also, please do let me know if you spot any error or typo. - -Issue Manager: https://github.com/learnbyexample/learn_gnuawk/issues +I would highly appreciate it if you'd let me know how you felt about this book. It could be anything from a simple thank you, pointing out a typo, mistakes in code snippets, which aspects of the book worked for you (or didn't!) and so on. Reader feedback is essential and especially so for self-published authors. -E-mail: learnbyexample.net@gmail.com +You can reach me via: -Twitter: https://twitter.com/learn_byexample +* Issue Manager: [https://github.com/learnbyexample/learn_gnuawk/issues](https://github.com/learnbyexample/learn_gnuawk/issues) +* E-mail: learnbyexample.net@gmail.com +* Twitter: [https://twitter.com/learn_byexample](https://twitter.com/learn_byexample) ## Author info -Sundeep Agarwal is a freelance trainer, author and mentor. His previous experience includes working as a Design Engineer at Analog Devices for more than 5 years. You can find his other works, primarily focused on Linux command line, text processing, scripting languages and curated lists, at [https://github.com/learnbyexample](https://github.com/learnbyexample). He has also been a technical reviewer for [Command Line Fundamentals](https://www.packtpub.com/application-development/command-line-fundamentals) book and video course published by Packt. +Sundeep Agarwal is a lazy being who prefers to work just enough to support his modest lifestyle. He accumulated vast wealth working as a Design Engineer at Analog Devices and retired from the corporate world at the ripe age of twenty-eight. Unfortunately, he squandered his savings within a few years and had to scramble trying to earn a living. Against all odds, selling programming ebooks saved his lazy self from having to look for a job again. He can now afford all the fantasy ebooks he wants to read and spends unhealthy amount of time browsing the internet. + +When the creative muse strikes, he can be found working on yet another programming ebook (which invariably ends up having at least one example with regular expressions). Researching materials for his ebooks and everyday social media usage drowned his bookmarks, so he maintains curated resource lists for sanity sake. He is thankful for free learning resources and open source tools. His own contributions can be found at [https://github.com/learnbyexample](https://github.com/learnbyexample). **List of books:** https://learnbyexample.github.io/books/ ## License -This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/) +This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). -Code snippets are available under [MIT License](https://github.com/learnbyexample/learn_gnuawk/blob/master/LICENSE) +Code snippets are available under [MIT License](https://github.com/learnbyexample/learn_gnuawk/blob/master/LICENSE). Resources mentioned in Acknowledgements section are available under original licenses. ## Book version -1.4 +2.0 See [Version_changes.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/Version_changes.md) to track changes across book versions. # Installation and Documentation -The command name `awk` is derived from its developers — Alfred V. **A**ho, Peter J. **W**einberger, and Brian W. **K**ernighan. Over the years, it has been adapted and modified by various other developers. See [gawk manual: History](https://www.gnu.org/software/gawk/manual/gawk.html#History) for more details. This chapter will show how to install or upgrade `awk` followed by details related to documentation. +The command name `awk` is derived from its developers — Alfred V. **A**ho, Peter J. **W**einberger, and Brian W. **K**ernighan. Over the years, it has been adapted and modified by various other developers. See [gawk manual: History](https://www.gnu.org/software/gawk/manual/gawk.html#History) for more details. + +This chapter will show how to install or upgrade `awk` followed by details related to documentation. ## Installation -If you are on a Unix like system, you are most likely to already have some version of `awk` installed. This book is primarily for `GNU awk`. As there are syntax and feature differences between various implementations, please make sure to follow along with what is presented here. `GNU awk` is part of [text creation and manipulation](https://www.gnu.org/manual/manual.html) commands provided by `GNU`. To install newer or particular version, visit [gnu: software gawk](https://www.gnu.org/software/gawk/). Check [release notes](https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=gawk+released&submit=Search%21&idxname=info-gnu&max=20&result=normal&sort=date%3Alate) for an overview of changes between versions. +If you are on a Unix-like system, you will most likely have some version of `awk` already installed. This book is primarily about `GNU awk`. As there are syntax and feature differences between various implementations, make sure to use `GNU awk` to follow along the examples presented in this book. + +`GNU awk` is part of the [text creation and manipulation](https://www.gnu.org/manual/manual.html) commands and usually comes by default on GNU/Linux distributions. To install a particular version, visit [gnu: gawk software](https://www.gnu.org/software/gawk/). See also [release notes](https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=gawk+released&submit=Search%21&idxname=info-gnu&max=20&result=normal&sort=date%3Alate) for an overview of changes between versions. ```bash -$ # use a dir, say ~/Downloads/awk_install before following the steps below -$ wget https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz -$ tar -Jxf gawk-5.1.0.tar.xz -$ cd gawk-5.1.0/ +$ wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz +$ tar -Jxf gawk-5.2.2.tar.xz +$ cd gawk-5.2.2/ +# see https://askubuntu.com/q/237576 if you get compiler not found error $ ./configure $ make $ sudo make install -$ type -a awk -awk is /usr/local/bin/awk -awk is /usr/bin/awk $ awk --version | head -n1 -GNU Awk 5.1.0, API: 3.0 +GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1 ``` +If you are not using a Linux distribution, you may be able to access `GNU awk` using an option below: + +* [Git for Windows](https://git-scm.com/downloads) — provides a Bash emulation used to run Git from the command line +* [Windows Subsystem for Linux](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux) — compatibility layer for running Linux binary executables natively on Windows +* [brew](https://brew.sh/) — Package Manager for macOS (or Linux) + >![info](images/info.svg) See also [gawk manual: Installation](https://www.gnu.org/software/gawk/manual/html_node/Installation.html) for advanced options and instructions to install `awk` on other platforms. ## Documentation -It is always a good idea to know where to find the documentation. From command line, you can use `man awk` for a short manual and `info awk` for full documentation. The [online GNU awk manual](https://www.gnu.org/software/gawk/manual/) has a better reading interface and provides the most complete documentation, examples and information about other `awk` versions, POSIX standard, etc. +It is always good to know where to find documentation. From the command line, you can use `man awk` for a short manual and `info awk` for the full documentation. I prefer using the [online gnu awk manual](https://www.gnu.org/software/gawk/manual/), which feels much easier to use and navigate. Here's a snippet from `man awk`: @@ -143,6 +153,7 @@ Short options: GNU long options: (extensions) -g --gen-pot -h --help -i includefile --include=includefile + -I --trace -l library --load=library -L[fatal|invalid|no-ext] --lint[=fatal|invalid|no-ext] -M --bignum @@ -161,59 +172,61 @@ Short options: GNU long options: (extensions) # awk introduction -This chapter will give an overview of `awk` syntax and some examples to show what kind of problems you could solve using `awk`. These features will be covered in depth in later chapters, but don't go skipping this chapter. +This chapter will give an overview of `awk` syntax and some examples to show what kind of problems you could solve using `awk`. These features will be covered in depth in later, but you shouldn't skip this chapter. ## Filtering -`awk` provides filtering capabilities like those supported by `grep` and `sed` plus some nifty features of its own. And similar to many command line utilities, `awk` can accept input from both `stdin` and files. +`awk` provides filtering capabilities like those supported by the `grep` and `sed` commands. As a programming language, there are additional nifty features as well. Similar to many command line utilities, `awk` can accept input from both stdin and files. ```bash -$ # sample stdin data +# sample stdin data $ printf 'gate\napple\nwhat\nkite\n' gate apple what kite -$ # same as: grep 'at' and sed -n '/at/p' -$ # print all lines containing 'at' +# same as: grep 'at' and sed -n '/at/p' +# filter lines containing 'at' $ printf 'gate\napple\nwhat\nkite\n' | awk '/at/' gate what -$ # same as: grep -v 'e' and sed -n '/e/!p' -$ # print all lines NOT containing 'e' +# same as: grep -v 'e' and sed -n '/e/!p' +# filter lines NOT containing 'e' $ printf 'gate\napple\nwhat\nkite\n' | awk '!/e/' what ``` -Similar to `grep` and `sed`, by default `awk` automatically loops over input content line by line. You can then use `awk`'s programming instructions to process those lines. As `awk` is primarily used from the command line, many shortcuts are available to reduce the amount of typing needed. +By default, `awk` automatically loops over the input content line by line. You can then use programming instructions to process those lines. As `awk` is often used from the command line, many shortcuts are available to reduce the amount of typing needed. -In the above examples, a regular expression (defined by the pattern between a pair of forward slashes) has been used to filter the input. Regular expressions (regexp) will be covered in detail in the next chapter, only simple string value is used here without any special characters. The full syntax is `string ~ /regexp/` to check if the given string matches the regexp and `string !~ /regexp/` to check if doesn't match. When the string isn't specified, the test is performed against a special variable `$0`, which has the contents of the input line. The correct term would be input **record**, but that's a discussion for a later chapter. +In the above examples, a regular expression (defined by the pattern between a pair of forward slashes) has been used to filter the input. Regular expressions (regexp) will be covered in detail in the [next chapter](#regular-expressions). String values without any special regexp characters are used in this chapter. The full syntax is `string ~ /regexp/` to check if the given string matches the regexp and `string !~ /regexp/` to check if doesn't match. When the string isn't specified, the test is performed against a special variable `$0`, which has the contents of the input line. The correct term would be input **record**, but that's a discussion for a [later chapter](#record-separators). -Also, in the above examples, only the filtering condition was given and nothing about what should be done. By default, when the condition evaluates to `true`, the contents of `$0` is printed. Thus: +Also, in the above examples, only the filtering condition was given. By default, when the condition evaluates to `true`, the contents of `$0` is printed. Thus: * `awk '/regexp/'` is a shortcut for `awk '$0 ~ /regexp/{print $0}'` * `awk '!/regexp/'` is a shortcut for `awk '$0 !~ /regexp/{print $0}'` ```bash -$ # same as: awk '/at/' +# same as: awk '/at/' $ printf 'gate\napple\nwhat\nkite\n' | awk '$0 ~ /at/{print $0}' gate what -$ # same as: awk '!/e/' +# same as: awk '!/e/' $ printf 'gate\napple\nwhat\nkite\n' | awk '$0 !~ /e/{print $0}' what ``` -In the above examples, `{}` is used to specify a block of code to be executed when the condition that precedes the block evaluates to `true`. One or more statements can be given separated by `;` character. You'll see such examples and learn more about `awk` syntax later. +In the above examples, `{}` is used to specify a block of code to be executed when the condition that precedes the block evaluates to `true`. One or more statements can be given separated by the `;` character. You'll see such examples and learn more about `awk` syntax later. -Any non-zero numeric value and non-empty string value is considered as `true` when that value is used as a conditional expression. Idiomatically, `1` is used to denote a `true` condition in one-liners as a shortcut to print the contents of `$0`. +## Idiomatic use of 1 + +In a conditional expression, non-zero numeric values and non-empty string values are evaluated as `true`. Idiomatically, `1` is used to denote a `true` condition in one-liners as a shortcut to print the contents of `$0`. ```bash -$ # same as: printf 'gate\napple\nwhat\nkite\n' | cat -$ # same as: awk '{print $0}' +# same as: printf 'gate\napple\nwhat\nkite\n' | cat +# same as: awk '{print $0}' $ printf 'gate\napple\nwhat\nkite\n' | awk '1' gate apple @@ -223,34 +236,34 @@ kite ## Substitution -`awk` has three functions to cover search and replace requirements. Two of them are shown below. The `sub` function replaces only the first match whereas `gsub` function replaces all the matching occurrences. By default, these functions operate on `$0` when the input string isn't provided. Both `sub` and `gsub` modifies the input source on successful substitution. +`awk` has three functions to cover search and replace requirements. Two of them are shown below. The `sub` function replaces only the first match, whereas the `gsub` function replaces all the matching occurrences. By default, these functions operate on `$0` when the input string isn't provided. Both `sub` and `gsub` modifies the input source on successful substitution. ```bash -$ # for each input line, change only first ':' to '-' -$ # same as: sed 's/:/-/' +# for each input line, change only the first ':' to '-' +# same as: sed 's/:/-/' $ printf '1:2:3:4\na:b:c:d\n' | awk '{sub(/:/, "-")} 1' 1-2:3:4 a-b:c:d -$ # for each input line, change all ':' to '-' -$ # same as: sed 's/:/-/g' +# for each input line, change all ':' to '-' +# same as: sed 's/:/-/g' $ printf '1:2:3:4\na:b:c:d\n' | awk '{gsub(/:/, "-")} 1' 1-2-3-4 a-b-c-d ``` -The first argument to `sub` and `gsub` functions is the regexp to be matched against the input content. The second argument is the replacement string. String literals are specified within double quotes. In the above examples, `sub` and `gsub` are used inside a block as they aren't intended to be used as a conditional expression. The `1` after the block is treated as a conditional expression as it is used outside a block. You can also use the variations presented below to get the same results. +The first argument to the `sub` and `gsub` functions is the regexp to be matched against the input content. The second argument is the replacement string. String literals are specified within double quotes. In the above examples, `sub` and `gsub` are used inside a block as they aren't intended to be used as a conditional expression. The `1` after the block is treated as a conditional expression as it is used outside a block. You can also use the variations presented below to get the same results: * `awk '{sub(/:/, "-")} 1'` is same as `awk '{sub(/:/, "-"); print $0}'` * You can also just use `print` instead of `print $0` as `$0` is the default string ->![info](images/info.svg) You might wonder why to use or learn `grep` and `sed` when you can achieve same results with `awk`. It depends on the problem you are trying to solve. A simple line filtering will be faster with `grep` compared to `sed` or `awk` because `grep` is optimized for such cases. Similarly, `sed` will be faster than `awk` for substitution cases. Also, not all features easily translate among these tools. For example, `grep -o` requires lot more steps to code with `sed` or `awk`. Only `grep` offers recursive search. And so on. See also [unix.stackexchange: When to use grep, sed, awk, perl, etc](https://unix.stackexchange.com/q/303044/109046). +>![info](images/info.svg) You might wonder why to use or learn `grep` and `sed` when you can achieve the same results with `awk`. It depends on the problem you are trying to solve. A simple line filtering will be faster with `grep` compared to `sed` or `awk` because `grep` is optimized for such cases. Similarly, `sed` will be faster than `awk` for substitution cases. Also, not all features easily translate among these tools. For example, `grep -o` requires lot more steps to code with `sed` or `awk`. Only `grep` offers recursive search. And so on. See also [unix.stackexchange: When to use grep, sed, awk, perl, etc](https://unix.stackexchange.com/q/303044/109046). ## Field processing As mentioned before, `awk` is primarily used for field based processing. Consider the sample input file shown below with fields separated by a single space character. ->![info](images/info.svg) The [learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) has all the files used in examples. +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ```bash $ cat table.txt @@ -259,21 +272,21 @@ blue cake mug shirt -7 yellow banana window shoes 3.14 ``` -Here's some examples that is based on specific field rather than entire line. By default, `awk` splits the input line based on spaces and the field contents can be accessed using `$N` where `N` is the field number required. A special variable `NF` is updated with the total number of fields for each input line. There's more details to cover, but for now this is enough to proceed. +Here are some examples that are based on a specific field rather than the entire line. By default, `awk` splits the input line based on spaces and the field contents can be accessed using `$N` where `N` is the field number required. A special variable `NF` is updated with the total number of fields for each input line. There are many more details and nuances to cover regarding the default field splitting, but for now this is enough to proceed. ```bash -$ # print the second field of each input line +# print the second field of each input line $ awk '{print $2}' table.txt bread cake banana -$ # print lines only if the last field is a negative number -$ # recall that the default action is to print the contents of $0 +# print lines only if the last field is a negative number +# recall that the default action is to print the contents of $0 $ awk '$NF<0' table.txt blue cake mug shirt -7 -$ # change 'b' to 'B' only for the first field +# change 'b' to 'B' only for the first field $ awk '{gsub(/b/, "B", $1)} 1' table.txt Brown bread mat hair 42 Blue cake mug shirt -7 @@ -282,11 +295,11 @@ yellow banana window shoes 3.14 ## awk one-liner structure -The examples in previous sections used a few different ways to construct a typical `awk` one-liner. If you haven't yet grasped the syntax, this generic structure might help: +The examples in the previous sections have used a few different ways to construct a typical `awk` one-liner. If you haven't yet grasped the syntax, this generic structure might help: `awk 'cond1{action1} cond2{action2} ... condN{actionN}'` -If a condition isn't provided, the action is always executed. Within a block, you can provide multiple statements separated by semicolon character. If action isn't provided, then by default, contents of `$0` variable is printed if the condition evaluates to `true`. When action isn't present, you can use semicolon to terminate a condition and start another `condX{actionX}` snippet. +When a condition isn't provided, the action is always executed. Within a block, you can provide multiple statements separated by the semicolon character. If an action isn't provided, then by default, contents of `$0` variable is printed if the condition evaluates to `true`. When action isn't present, you can use a semicolon to terminate a condition and start another `condX{actionX}` snippet. Note that multiple blocks are just a syntactical sugar. It helps to avoid explicit use of `if` control structure for most one-liners. The below snippet shows the same code with and without `if` structure. @@ -302,7 +315,7 @@ $ awk '$NF<0' table.txt blue cake mug shirt -7 ``` -You can use a `BEGIN{}` block when you need to execute something before the input is read and a `END{}` block to execute something after all of the input has been processed. +You can use a `BEGIN{}` block when you need to execute something before the input is read and an `END{}` block to execute something after all of the input has been processed. ```bash $ seq 2 | awk 'BEGIN{print "---"} 1; END{print "%%%"}' @@ -319,7 +332,7 @@ There are some more types of blocks that can be used, you'll see them in coming Some examples so far have already used string and numeric literals. As mentioned earlier, `awk` tries to provide a concise way to construct a solution from the command line. The data type of a value is determined based on the syntax used. String literals are represented inside double quotes. Numbers can be integers or floating-point. Scientific notation is allowed as well. See [gawk manual: Constant Expressions](https://www.gnu.org/software/gawk/manual/gawk.html#Constants) for more details. ```bash -$ # BEGIN{} is also useful to write awk program without any external input +# BEGIN{} is also useful to write an awk program without any external input $ awk 'BEGIN{print "hi"}' hi @@ -331,21 +344,21 @@ $ awk 'BEGIN{print 34.23e4}' 342300 ``` -You can also save these literals in variables and use it later. Some variables are predefined, for example `NF`. +You can also save these literals in variables for later use. Some variables are predefined, `NF` for example. ```bash $ awk 'BEGIN{a=5; b=2.5; print a+b}' 7.5 -$ # strings placed next to each other are concatenated +# strings placed next to each other are concatenated $ awk 'BEGIN{s1="con"; s2="cat"; print s1 s2}' concat ``` -If uninitialized variable is used, it will act as empty string in string context and `0` in numeric context. You can force a string to behave as a number by simply using it in an expression with numeric values. You can also use unary `+` or `-` operators. If the string doesn't start with a valid number (ignoring any starting whitespaces), it will be treated as `0`. Similarly, concatenating a string to a number will automatically change the number to string. See [gawk manual: How awk Converts Between Strings and Numbers](https://www.gnu.org/software/gawk/manual/gawk.html#Strings-And-Numbers) for more details. +If an uninitialized variable is used, it will act as an empty string in string context and `0` in numeric context. You can force a string to behave as a number by simply using it in an expression with numeric values. You can also use unary `+` or `-` operators. If the string doesn't start with a valid number (ignoring any starting whitespaces), it will be treated as `0`. Similarly, concatenating a string to a number will automatically change the number to string. See [gawk manual: How awk Converts Between Strings and Numbers](https://www.gnu.org/software/gawk/manual/gawk.html#Strings-And-Numbers) for more details. ```bash -$ # same as: awk 'BEGIN{sum=0} {sum += $NF} END{print sum}' +# same as: awk 'BEGIN{sum=0} {sum += $NF} END{print sum}' $ awk '{sum += $NF} END{print sum}' table.txt 38.14 @@ -366,12 +379,12 @@ $ awk 'BEGIN{print 5 + " \t 2 xyz"}' Arrays in `awk` are associative, meaning they are key-value pairs. The keys can be numbers or strings, but numbers get converted to strings internally. They can be multi-dimensional as well. There will be plenty of array examples in later chapters in relevant context. See [gawk manual: Arrays](https://www.gnu.org/software/gawk/manual/gawk.html#Arrays) for complete details and gotchas. ```bash -$ # assigning an array and accessing an element based on string key +# assigning an array and accessing an element based on string keys $ awk 'BEGIN{student["id"] = 101; student["name"] = "Joe"; print student["name"]}' Joe -$ # checking if a key exists +# checking if a key exists $ awk 'BEGIN{student["id"] = 101; student["name"] = "Joe"; if("id" in student) print "Key found"}' Key found @@ -379,15 +392,25 @@ Key found ## Summary -In my early days of getting used to the Linux command line, I was intimidated by `sed` and `awk` examples and didn't even try to learn them. Hopefully, this gentler introduction works for you and the various syntactical magic has been explained adequately. Try to experiment with the given examples, for example change field number to something other than the number used. Be curious, like what happens if field number is negative or a floating-point number. Read the manual. Practice a lot. +In my early days of getting used to the Linux command line, I was intimidated by `sed` and `awk` examples and didn't even try to learn them. Hopefully, this gentler introduction works for you and the various syntactical magic has been explained adequately. Try to experiment with the given examples, for example change field numbers to something other than the number used. Be curious, like what happens if a field number is negative or a floating-point number. Read the manual. Practice a lot. And so on. + +The next chapter is dedicated solely for regular expressions. The features introduced in this chapter would be used in the examples, so make sure you are comfortable with `awk` syntax before proceeding. Solving the exercises to follow will help test your understanding. + +## Interactive exercises -Next chapter is dedicated solely for regular expressions. The features introduced in this chapter would be used in the examples, so make sure you are comfortable with `awk` syntax before proceeding. And, do solve the exercises coming up in the next section. +I wrote a TUI app to help you solve some of the exercises from this book interactively. See [AwkExercises](https://github.com/learnbyexample/TUI-apps/tree/main/AwkExercises) repo for installation steps and [app_guide.md](https://github.com/learnbyexample/TUI-apps/blob/main/AwkExercises/app_guide.md) for instructions on using this app. + +Here's a sample screenshot: + +![AwkExercises example](images/awk_exercises.png) ## Exercises ->![info](images/info.svg) Exercise related files are available from [exercises folder of learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises). All the exercises are also collated together in one place at [Exercises.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercises.md). For solutions, see [Exercise_solutions.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercise_solutions.md). +>![info](images/info.svg) All the exercises are also collated together in one place at [Exercises.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercises.md). For solutions, see [Exercise_solutions.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/exercises/Exercise_solutions.md). + +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. -**a)** For the input file `addr.txt`, display all lines containing `is`. +**1)** For the input file `addr.txt`, display all lines containing `is`. ```bash $ cat addr.txt @@ -403,7 +426,7 @@ This game is good Today is sunny ``` -**b)** For the input file `addr.txt`, display first field of lines *not* containing `y`. Consider space as the field separator for this file. +**2)** For the input file `addr.txt`, display the first field of lines *not* containing `y`. Consider space as the field separator for this file. ```bash $ awk ##### add your solution here @@ -412,7 +435,7 @@ This 12345 ``` -**c)** For the input file `addr.txt`, display all lines containing no more than 2 fields. +**3)** For the input file `addr.txt`, display all lines containing no more than 2 fields. ```bash $ awk ##### add your solution here @@ -420,14 +443,14 @@ Hello World 12345 ``` -**d)** For the input file `addr.txt`, display all lines containing `is` in the second field. +**4)** For the input file `addr.txt`, display all lines containing `is` in the second field. ```bash $ awk ##### add your solution here Today is sunny ``` -**e)** For each line of the input file `addr.txt`, replace first occurrence of `o` with `0`. +**5)** For each line of the input file `addr.txt`, replace the first occurrence of `o` with `0`. ```bash $ awk ##### add your solution here @@ -439,7 +462,7 @@ T0day is sunny Y0u are funny ``` -**f)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. +**6)** For the input file `table.txt`, calculate and display the product of numbers in the last field of each line. Consider space as the field separator for this file. ```bash $ cat table.txt @@ -451,7 +474,7 @@ $ awk ##### add your solution here -923.16 ``` -**g)** Append `.` to all the input lines for the given `stdin` data. +**7)** Append `.` to all the input lines for the given stdin data. ```bash $ printf 'last\nappend\nstop\ntail\n' | awk ##### add your solution here @@ -461,23 +484,37 @@ stop. tail. ``` +**8)** Replace all occurrences of `0xA0` with `0x50` and `0xFF` with `0x7F` for the given input file. + +```bash +$ cat hex.txt +start address: 0xA0, func1 address: 0xA0 +end address: 0xFF, func2 address: 0xB0 + +$ awk ##### add your solution here +start address: 0x50, func1 address: 0x50 +end address: 0x7F, func2 address: 0xB0 +``` + # Regular Expressions -Regular Expressions is a versatile tool for text processing. It helps to precisely define a matching criteria. For learning and understanding purposes, one can view regular expressions as a mini programming language in itself, specialized for text processing. Parts of a regular expression can be saved for future use, analogous to variables and functions. There are ways to perform AND, OR, NOT conditionals, features to concisely define repetition to avoid manual replication and so on. +Regular Expressions is a versatile tool for text processing. It helps to precisely define a matching criteria. For learning and understanding purposes, one can view regular expressions as a mini-programming language in itself, specialized for text processing. Parts of a regular expression can be saved for future use, analogous to variables and functions. There are ways to perform AND, OR, NOT conditionals, features to concisely define repetition to avoid manual replication and so on. -Here's some common use cases. +Here are some common use cases: * Sanitizing a string to ensure that it satisfies a known set of rules. For example, to check if a given string matches password rules. -* Filtering or extracting portions on an abstract level like alphabets, numbers, punctuation and so on. +* Filtering or extracting portions on an abstract level like alphabets, digits, punctuation and so on. * Qualified string replacement. For example, at the start or the end of a string, only whole words, based on surrounding text, etc. -This chapter will cover regular expressions as implemented in `awk`. Most of `awk`'s regular expression syntax is similar to Extended Regular Expression (ERE) found with `grep -E` and `sed -E`. Unless otherwise indicated, examples and descriptions will assume ASCII input. +This chapter will cover regular expressions as implemented in `awk`. Most of `awk`'s regular expression syntax is similar to Extended Regular Expression (ERE) supported by `grep -E` and `sed -E`. Unless otherwise indicated, examples and descriptions will assume ASCII input. + +>![info](images/info.svg) See also [POSIX specification](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html) for regular expressions and [unix.stackexchange: Why does my regular expression work in X but not in Y?](https://unix.stackexchange.com/q/119905/109046) See my [blog post](https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/) for differences between regexp features supported by `grep`, `sed` and `awk`. ->![info](images/info.svg) See also [POSIX specification](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html) for regular expressions. And [unix.stackexchange: Why does my regular expression work in X but not in Y?](https://unix.stackexchange.com/q/119905/109046) +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## Syntax and variable assignment -As seen in previous chapter, the syntax is `string ~ /regexp/` to check if the given string satisfies the rules specified by the regexp. And `string !~ /regexp/` to invert the condition. By default, `$0` is checked if the string isn't specified. You can also save a regexp literal in a variable by prefixing `@` symbol. The prefix is needed because `/regexp/` by itself would mean `$0 ~ /regexp/`. +As seen in the previous chapter, the syntax is `string ~ /regexp/` to check if the given string satisfies the rules specified by the regexp. And `string !~ /regexp/` to invert the condition. By default, `$0` is checked if the string isn't specified. You can also save a regexp literal in a variable by adding `@` as a prefix. This is needed because `/regexp/` by itself would mean `$0 ~ /regexp/`. ```bash $ printf 'spared no one\ngrasped\nspar\n' | awk '/ed/' @@ -491,109 +528,125 @@ grasped ## String Anchors -In the examples seen so far, the regexp was a simple string value without any special characters. Also, the regexp pattern evaluated to `true` if it was found anywhere in the string. Instead of matching anywhere in the string, restrictions can be specified. These restrictions are made possible by assigning special meaning to certain characters and escape sequences. The characters with special meaning are known as **metacharacters** in regular expressions parlance. In case you need to match those characters literally, you need to escape them with a `\` (discussed in [Matching the metacharacters](#matching-the-metacharacters) section). +In the examples seen so far, the regexp was a simple string value without any special characters. Also, the regexp pattern evaluated to `true` if it was found anywhere in the string. Instead of matching anywhere in the string, restrictions can be specified. These restrictions are made possible by assigning special meaning to certain characters and escape sequences. The characters with special meaning are known as **metacharacters** in regular expressions parlance. In case you need to match those characters literally, you need to escape them with a `\` character (discussed in the [Matching the metacharacters](#matching-the-metacharacters) section). There are two string anchors: -* `^` metacharacter restricts the matching to the start of string -* `$` metacharacter restricts the matching to the end of string +* `^` metacharacter restricts the matching to the start of the string +* `$` metacharacter restricts the matching to the end of the string + +By default, `awk` processes input line by line, using a newline character as the separator. This separator won't be part of the contents in `$0` but you get back the newline when printing because the default output record separator is also a newline character. Thus, these string anchors can be considered as *line* anchors when you are processing input content line by line. ```bash -$ # string starting with 'sp' -$ printf 'spared no one\ngrasped\nspar\n' | awk '/^sp/' -spared no one +$ cat anchors.txt +sub par spar +apparent effort +two spare computers +cart part tart mart -$ # string ending with 'ar' -$ printf 'spared no one\ngrasped\nspar\n' | awk '/ar$/' +# lines starting with 'sp' +$ awk '/^sp/' anchors.txt spar -$ # change only whole string 'spar' -$ # can also use: awk '/^spar$/{$0 = 123} 1' or awk '$0=="spar"{$0 = 123} 1' -$ printf 'spared no one\ngrasped\nspar\n' | awk '{sub(/^spar$/, "123")} 1' +# lines ending with 'ar' +$ awk '/ar$/' anchors.txt +sub par +spar +``` + +By combining these two anchors, you can restrict the matching to only whole lines. Here's an example: + +```bash +# change only whole line 'spar' +# can also use: awk '/^spar$/{$0 = 123} 1' +# can also use: awk '$0=="spar"{$0 = 123} 1' +$ printf 'spared no one\npar\nspar\n' | awk '{sub(/^spar$/, "123")} 1' spared no one -grasped +par 123 ``` -The anchors can be used by themselves as a pattern. Helps to insert text at the start or end of string, emulating string concatenation operations. These might not feel like useful capability, but combined with other features they become quite a handy tool. +The anchors can be used by themselves as a pattern too. Helps to insert text at the start/end of a string, emulating string concatenation operations. These might not feel like useful capability, but combined with other features they become quite a handy tool. ```bash +# add '* ' at the start of every input line $ printf 'spared no one\ngrasped\nspar\n' | awk '{gsub(/^/, "* ")} 1' * spared no one * grasped * spar -$ # append only if string doesn't contain space characters +# append '.' only if a line doesn't contain space characters $ printf 'spared no one\ngrasped\nspar\n' | awk '!/ /{gsub(/$/, ".")} 1' spared no one grasped. spar. ``` ->![info](images/info.svg) See also [Behavior of ^ and $ when string contains newline](#behavior-of--and--when-string-contains-newline) section. +>![info](images/info.svg) See also the [Behavior of ^ and $ when string contains newline](#behavior-of--and--when-string-contains-newline) section. ## Word Anchors The second type of restriction is word anchors. A word character is any alphabet (irrespective of case), digit and the underscore character. You might wonder why there are digits and underscores as well, why not only alphabets? This comes from variable and function naming conventions — typically alphabets, digits and underscores are allowed. So, the definition is more programming oriented than natural language. -Use `\<` to indicate start of word anchor and `\>` to indicate end of word anchor. As an alternate, you can use `\y` to indicate both the start of word and end of word anchors. - ->![info](images/info.svg) Typically `\b` is used to represent word anchor (for example, in `grep`, `sed`, `perl`, etc), but in `awk` the escape sequence `\b` refers to the backspace character. +Use `\<` to indicate the start of word anchor and `\>` to indicate the end of word anchor. As an alternate, you can use `\y` to indicate both the start and end of word anchors. ```bash -$ cat word_anchors.txt +$ cat anchors.txt sub par spar apparent effort two spare computers cart part tart mart -$ # words starting with 'par' -$ awk '/\/' word_anchors.txt +# words ending with 'par' +$ awk '/par\>/' anchors.txt sub par spar -$ # only whole word 'par' -$ # note that only lines where substitution succeeded will be printed -$ # as return value of sub/gsub is number of substitutions made -$ awk 'gsub(/\/, "***")' word_anchors.txt +# replace only whole word 'par' +# note that only lines where the substitution succeeded will be printed +# as the return value of sub/gsub is number of substitutions made +$ awk 'gsub(/\/, "***")' anchors.txt sub *** ``` ->![warning](images/warning.svg) See also [Word boundary differences](#word-boundary-differences) section. +>![info](images/info.svg) Typically `\b` is used to represent the word anchor (for example, in `grep`, `sed`, `perl`, etc), but in `awk` the escape sequence `\b` refers to the backspace character. See also the [Word boundary differences](#word-boundary-differences) section. -`\y` has an opposite too. `\B` matches locations other than those places where the word anchor would match. +## Opposite Word Anchor + +The `\y` escape sequence has an opposite anchor too. `\B` matches wherever `\y` doesn't match. This duality will be seen later with some other escape sequences too. ```bash -$ # match 'par' if it is surrounded by word characters -$ awk '/\Bpar\B/' word_anchors.txt +# match 'par' if it is surrounded by word characters +$ awk '/\Bpar\B/' anchors.txt apparent effort two spare computers -$ # match 'par' but not as start of word -$ awk '/\Bpar/' word_anchors.txt +# match 'par' but not at the start of a word +$ awk '/\Bpar/' anchors.txt spar apparent effort two spare computers -$ # match 'par' but not as end of word -$ awk '/par\B/' word_anchors.txt +# match 'par' but not at the end of a word +$ awk '/par\B/' anchors.txt apparent effort two spare computers cart part tart mart ``` -Here's an example for using word boundaries by themselves as a pattern. It also neatly shows the opposite functionality of `\y` and `\B`. +Here are some examples for using word boundaries by themselves as a pattern: ```bash $ echo 'copper' | awk '{gsub(/\y/, ":")} 1' :copper: + $ echo 'copper' | awk '{gsub(/\B/, ":")} 1' c:o:p:p:e:r ``` @@ -605,11 +658,12 @@ c:o:p:p:e:r Before seeing the next regexp feature, it is good to note that sometimes using logical operators is easier to read and maintain compared to doing everything with regexp. ```bash -$ # string starting with 'b' but not containing 'at' +# lines starting with 'b' and not containing 'at' $ awk '/^b/ && !/at/' table.txt blue cake mug shirt -7 -$ # if the first field contains 'low' or the last field is less than 0 +# first field contains 'low' +# or, the last field value is less than 0 $ awk '$1 ~ /low/ || $NF<0' table.txt blue cake mug shirt -7 yellow banana window shoes 3.14 @@ -617,35 +671,39 @@ yellow banana window shoes 3.14 ## Alternation -Many a times, you'd want to search for multiple terms. In a conditional expression, you can use the logical operators to combine multiple conditions. With regular expressions, the `|` metacharacter is similar to logical OR. The regular expression will match if any of the expression separated by `|` is satisfied. These can have their own independent anchors as well. +Many a times, you'd want to search for multiple terms. In a conditional expression, you can use the logical operators to combine multiple conditions (see the previous section for examples). With regular expressions, the `|` metacharacter is similar to logical OR. The regular expression will match if any of the patterns separated by `|` is satisfied. -Alternation is similar to using `||` operator between two regexps. Having a single regexp helps to write terser code and `||` cannot be used when substitution is required. +Alternation is similar to using the `||` operator between two regexps. Having a single regexp helps to write terser code and `||` cannot be used when substitution is required. ```bash -$ # match whole word 'par' or string ending with 's' -$ # same as: awk '/\/ || /s$/' -$ awk '/\|s$/' word_anchors.txt +# match whole word 'par' or string ending with 's' +# same as: awk '/\/ || /s$/' +$ awk '/\|s$/' anchors.txt sub par two spare computers -$ # replace 'cat' or 'dog' or 'fox' with '--' +# replace 'cat' or 'dog' or 'fox' with '--' +# note the use of gsub for multiple replacements $ echo 'cats dog bee parrot foxed' | awk '{gsub(/cat|dog|fox/, "--")} 1' --s -- bee parrot --ed ``` -There's some tricky situations when using alternation. If it is used for filtering a line, there is no ambiguity. However, for use cases like substitution, it depends on a few factors. Say, you want to replace `are` or `spared` — which one should get precedence? The bigger word `spared` or the substring `are` inside it or based on something else? +## Alternation precedence + +There are some tricky corner cases when using alternation. If it is used for filtering a line, there is no ambiguity. However, for use cases like substitution, it depends on a few factors. Say, you want to replace `are` or `spared` — which one should get precedence? The bigger word `spared` or the substring `are` inside it or based on something else? The alternative which matches earliest in the input gets precedence. ```bash -$ # note that 'sub' is used here, so only first match gets replaced +# here, the output will be the same irrespective of alternation order +# note that 'sub' is used here, so only the first match gets replaced $ echo 'cats dog bee parrot foxed' | awk '{sub(/bee|parrot|at/, "--")} 1' c--s dog bee parrot foxed $ echo 'cats dog bee parrot foxed' | awk '{sub(/parrot|at|bee/, "--")} 1' c--s dog bee parrot foxed ``` -In case of matches starting from same location, for example `spar` and `spared`, the longest matching portion gets precedence. Unlike other regular expression implementations, left-to-right priority for alternation comes into play only if length of the matches are the same. See [Longest match wins](#longest-match-wins) and [Backreferences](#backreferences) sections for more examples. +In case of matches starting from the same location, for example `spar` and `spared`, the longest matching portion gets precedence. Unlike other regular expression implementations, left-to-right priority for alternation comes into play only if the length of the matches are the same. See [Longest match wins](#longest-match-wins) and [Backreferences](#backreferences) sections for more examples. See [regular-expressions: alternation](https://www.regular-expressions.info/alternation.html) for more information on this topic. ```bash $ echo 'spared party parent' | awk '{sub(/spa|spared/, "**")} 1' @@ -653,7 +711,7 @@ $ echo 'spared party parent' | awk '{sub(/spa|spared/, "**")} 1' $ echo 'spared party parent' | awk '{sub(/spared|spa/, "**")} 1' ** party parent -$ # other implementations like 'perl' have left-to-right priority +# other regexp flavors like Perl have left-to-right priority $ echo 'spared party parent' | perl -pe 's/spa|spared/**/' **red party parent ``` @@ -663,43 +721,43 @@ $ echo 'spared party parent' | perl -pe 's/spa|spared/**/' Often, there are some common things among the regular expression alternatives. It could be common characters or qualifiers like the anchors. In such cases, you can group them using a pair of parentheses metacharacters. Similar to `a(b+c)d = abd+acd` in maths, you get `a(b|c)d = abd|acd` in regular expressions. ```bash -$ # without grouping +# without grouping $ printf 'red\nreform\nread\narrest\n' | awk '/reform|rest/' reform arrest -$ # with grouping +# with grouping $ printf 'red\nreform\nread\narrest\n' | awk '/re(form|st)/' reform arrest -$ # without grouping -$ printf 'sub par\nspare\npart time\n' | awk '/\|\/' +# without grouping +$ awk '/\|\/' anchors.txt sub par -part time -$ # taking out common anchors -$ printf 'sub par\nspare\npart time\n' | awk '/\<(par|part)\>/' +cart part tart mart +# taking out common anchors +$ awk '/\<(par|part)\>/' anchors.txt sub par -part time -$ # taking out common characters as well -$ # you'll later learn a better technique instead of using empty alternate -$ printf 'sub par\nspare\npart time\n' | awk '/\/' +cart part tart mart +# taking out common characters as well +# you'll later learn a better technique instead of using empty alternate +$ awk '/\/' anchors.txt sub par -part time +cart part tart mart ``` ## Matching the metacharacters -You have seen a few metacharacters and escape sequences that help to compose a regular expression. To match the metacharacters literally, i.e. to remove their special meaning, prefix those characters with a `\` character. To indicate a literal `\` character, use `\\`. +You have already seen a few metacharacters and escape sequences that help compose a regular expression. To match the metacharacters literally, i.e. to remove their special meaning, prefix those characters with a `\` character. To indicate a literal `\` character, use `\\`. -Unlike `grep` and `sed`, the string anchors have to be always escaped to match them literally as there is no BRE mode in `awk`. They do not lose their special meaning when not used in their customary positions. +Unlike `grep` and `sed`, the string anchors have to be always escaped to match them literally as there is no BRE mode in `awk`. They do not lose their special meaning even when not used in their customary positions. ```bash -$ # awk '/b^2/' will not work even though ^ isn't being used as anchor -$ # b^2 will work for both grep and sed if you use BRE syntax -$ echo 'a^2 + b^2 - C*3' | awk '/b\^2/' +# awk '/b^2/' will not work even though ^ isn't being used as anchor +# b^2 will work for both grep and sed if you use BRE syntax +$ printf 'a^2 + b^2 - C*3\nd = c^2' | awk '/b\^2/' a^2 + b^2 - C*3 -$ # note that ')' doesn't need to be escaped +# note that ')' doesn't need to be escaped $ echo '(a*b) + c' | awk '{gsub(/\(|)/, "")} 1' a*b + c @@ -707,11 +765,11 @@ $ echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' /learn/by/example ``` ->![info](images/info.svg) [Backreferences](#backreferences) section will discuss how to handle the metacharacters in replacement section. +>![info](images/info.svg) Handling the replacement section metacharacters will be discussed in the [Backreferences](#backreferences) section. -## Using string literal as regexp +## Using string literal as a regexp -The first argument to `sub` and `gsub` functions can be a string as well, `awk` will handle converting it to a regexp. This has a few advantages. For example, if you have many `/` characters in the search pattern, it might become easier to use string instead of regexp. +The first argument to the `sub` and `gsub` functions can be a string as well, which will then be converted to a regexp. This is handy in a few cases. For example, if you have many `/` characters in the search pattern, it might become easier to use a string literal instead of a regexp. ```bash $ p='/home/learnbyexample/reports' @@ -720,121 +778,118 @@ $ echo "$p" | awk '{sub(/\/home\/learnbyexample\//, "~/")} 1' $ echo "$p" | awk '{sub("/home/learnbyexample/", "~/")} 1' ~/reports -$ # example with line matching instead of substitution -$ printf '/foo/bar/1\n/foo/baz/1\n' | awk '/\/foo\/bar\//' -/foo/bar/1 -$ printf '/foo/bar/1\n/foo/baz/1\n' | awk '$0 ~ "/foo/bar/"' -/foo/bar/1 +# filtering example +$ printf '/home/joe/1\n/home/john/1\n' | awk '/\/home\/joe\//' +/home/joe/1 +$ printf '/home/joe/1\n/home/john/1\n' | awk '$0 ~ "/home/joe/"' +/home/joe/1 ``` -In the above examples, the string literal was supplied directly. But any other expression or variable can be used as well, examples for which will be shown later in this chapter. The reason why string isn't always used as the first argument is that the special meaning for `\` character will clash. For example: +In the above examples, the string literal was supplied directly. But any other expression or variable can be used as well, examples for which will be shown later in this chapter. The reason why string isn't always used to represent regexp is that the special meaning for the `\` character will clash. For example: ```bash -$ awk 'gsub("\", "X")' word_anchors.txt +$ awk 'gsub("\", "X")' anchors.txt awk: cmd. line:1: warning: escape sequence `\<' treated as plain `<' awk: cmd. line:1: warning: escape sequence `\>' treated as plain `>' -$ # you'll need \\ to represent \ -$ awk 'gsub("\\", "X")' word_anchors.txt +# you'll need \\ to represent a single \ +$ awk 'gsub("\\", "X")' anchors.txt sub X -$ # much more readable with regexp literal -$ awk 'gsub(/\/, "X")' word_anchors.txt +# regexp literal is better suited in these cases +$ awk 'gsub(/\/, "X")' anchors.txt sub X -$ # another example +# another example $ echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' /learn/by/example $ echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' /learn/by/example ``` ->![info](images/info.svg) See [gawk manual: Gory details](https://www.gnu.org/software/gawk/manual/gawk.html#Gory-Details) for more information than you'd want. +>![info](images/info.svg) See [gawk manual: Gory details](https://www.gnu.org/software/gawk/manual/gawk.html#Gory-Details) for more information than you'd want to know. ## The dot meta character -The dot metacharacter serves as a placeholder to match any character (including the newline character). Later you'll learn how to define your own custom placeholder for limited set of characters. +The dot metacharacter serves as a placeholder to match any character (including the newline character). Later you'll learn how to define your own custom placeholder for a limited set of characters. ```bash -$ # 3 character sequence starting with 'c' and ending with 't' +# 3 character sequence starting with 'c' and ending with 't' $ echo 'tac tin cot abc:tyz excited' | awk '{gsub(/c.t/, "-")} 1' ta-in - ab-yz ex-ed -$ # any character followed by 3 and again any character -$ printf '4\t35x\n' | awk '{gsub(/.3./, "")} 1' -4x +# any character followed by 3 and again any character +$ printf '42\t3500\n' | awk '{gsub(/.3./, ":")} 1' +42:00 -$ # 'c' followed by any character followed by 'x' +# example to show that . matches \n as well +# 'c' followed by any character followed by 'x' $ awk 'BEGIN{s="abc\nxyz"; sub(/c.x/, " ", s); print s}' ab yz ``` ## Quantifiers -As an analogy, alternation provides logical OR. Combining the dot metacharacter `.` and quantifiers (and alternation if needed) paves a way to perform logical AND. For example, to check if a string matches two patterns with any number of characters in between. Quantifiers can be applied to both characters and groupings. Apart from ability to specify exact quantity and bounded range, these can also match unbounded varying quantities. +Alternation helps you match one among multiple patterns. Combining the dot metacharacter with quantifiers (and alternation if needed) paves a way to perform logical AND between patterns. For example, to check if a string matches two patterns with any number of characters in between. Quantifiers can be applied to characters, groupings and some more constructs that'll be discussed later. Apart from the ability to specify exact quantity and bounded range, these can also match unbounded varying quantities. -First up, the `?` metacharacter which quantifies a character or group to match `0` or `1` times. This helps to define optional patterns and build terser patterns compared to groupings for some cases. +First up, the `?` metacharacter which quantifies a character or group to match `0` or `1` times. This helps to define optional patterns and build terser patterns. ```bash -$ # same as: awk '{gsub(/\<(fe.d|fed)\>/, "X")} 1' +# same as: awk '{gsub(/\<(fe.d|fed)\>/, "X")} 1' $ echo 'fed fold fe:d feeder' | awk '{gsub(/\/, "X")} 1' X fold X feeder -$ # same as: awk '/\/' -$ printf 'sub par\nspare\npart time\n' | awk '/\/' +# same as: awk '/\/' +$ awk '/\/' anchors.txt sub par -part time +cart part tart mart -$ # same as: awk '{gsub(/part|parrot/, "X")} 1' +# same as: awk '{gsub(/part|parrot/, "X")} 1' $ echo 'par part parrot parent' | awk '{gsub(/par(ro)?t/, "X")} 1' par X X parent -$ # same as: awk '{gsub(/part|parrot|parent/, "X")} 1' +# same as: awk '{gsub(/part|parrot|parent/, "X")} 1' $ echo 'par part parrot parent' | awk '{gsub(/par(en|ro)?t/, "X")} 1' par X X X -$ # both '<' and '\<' are replaced with '\<' -$ echo 'blah \< foo bar < blah baz <' | awk '{gsub(/\\?![info](images/info.svg) The `{}` metacharacters have to be escaped to match them literally. Similar to `()` metacharacters, escaping `{` alone is enough. +>![info](images/info.svg) The `{}` metacharacters have to be escaped to match them literally. Similar to the `()` metacharacters, escaping `{` alone is enough. If it doesn't conform strictly to any of the four forms listed above, escaping is not needed at all. +> +> ```bash +> $ echo 'a{5} = 10' | awk '{sub(/a\{5}/, "x")} 1' +> x = 10 +> $ echo 'report_{a,b}.txt' | awk '{sub(/_{a,b}/, "_c")} 1' +> report_c.txt +> ``` + +## Conditional AND Next up, how to construct conditional AND using dot metacharacter and quantifiers. ```bash -$ # match 'Error' followed by zero or more characters followed by 'valid' +# match 'Error' followed by zero or more characters followed by 'valid' $ echo 'Error: not a valid input' | awk '/Error.*valid/' Error: not a valid input ``` -To allow matching in any order, you'll have to bring in alternation as well. But, for more than 3 patterns, the combinations become too many to write and maintain. +To allow matching in any order, you'll have to bring in alternation as well. ```bash -$ # 'cat' followed by 'dog' or 'dog' followed by 'cat' +# 'cat' followed by 'dog' or 'dog' followed by 'cat' $ echo 'two cats and a dog' | awk '{gsub(/cat.*dog|dog.*cat/, "pets")} 1' two pets $ echo 'two dogs and a cat' | awk '{gsub(/cat.*dog|dog.*cat/, "pets")} 1' @@ -870,42 +934,42 @@ two pets ## Longest match wins -You've already seen an example with alternation, where the longest matching portion was chosen if two alternatives started from same location. For example `spar|spared` will result in `spared` being chosen over `spar`. The same applies whenever there are two or more matching possibilities from same starting location. For example, `f.?o` will match `foo` instead of `fo` if the input string to match is `foot`. +You've already seen an example where the longest matching portion was chosen if the alternatives started from the same location. For example `spar|spared` will result in `spared` being chosen over `spar`. The same applies whenever there are two or more matching possibilities from the same starting location. For example, `f.?o` will match `foo` instead of `fo` if the input string to match is `foot`. ```bash -$ # longest match among 'foo' and 'fo' wins here +# longest match among 'foo' and 'fo' wins here $ echo 'foot' | awk '{sub(/f.?o/, "X")} 1' Xt -$ # everything will match here +# everything will match here $ echo 'car bat cod map scat dot abacus' | awk '{sub(/.*/, "X")} 1' X -$ # longest match happens when (1|2|3)+ matches up to '1233' only -$ # so that '12baz' can match as well -$ echo 'foo123312baz' | awk '{sub(/o(1|2|3)+(12baz)?/, "X")} 1' -foX -$ # in other implementations like 'perl', that is not the case -$ # quantifiers match as much as possible, but precedence is left to right -$ echo 'foo123312baz' | perl -pe 's/o(1|2|3)+(12baz)?/X/' -foXbaz +# longest match happens when (1|2|3)+ matches up to '1233' only +# so that '12apple' can match as well +$ echo 'fig123312apple' | awk '{sub(/g(1|2|3)+(12apple)?/, "X")} 1' +fiX +# in other implementations like Perl, that is not the case +# precedence is left-to-right for greedy quantifiers +$ echo 'fig123312apple' | perl -pe 's/g(1|2|3)+(12apple)?/X/' +fiXapple ``` -While determining the longest match, overall regular expression matching is also considered. That's how `Error.*valid` example worked. If `.*` had consumed everything after `Error`, there wouldn't be any more characters to try to match `valid`. So, among the varying quantity of characters to match for `.*`, the longest portion that satisfies the overall regular expression is chosen. Something like `a.*b` will match from first `a` in the input string to the last `b` in the string. In other implementations, like `perl`, this is achieved through a process called **backtracking**. Both approaches have their own advantages and disadvantages and have cases where the regexp can result in exponential time consumption. +While determining the longest match, the overall regular expression matching is also considered. That's how the `Error.*valid` example worked. If `.*` had consumed everything after `Error`, there wouldn't be any more characters to try to match `valid`. So, among the varying quantity of characters to match for `.*`, the longest portion that satisfies the overall regular expression is chosen. Something like `a.*b` will match from the first `a` in the input string to the last `b`. In other implementations, like Perl, this is achieved through a process called **backtracking**. These approaches have their own advantages and disadvantages and have cases where the pattern can result in exponential time consumption. ```bash -$ # from start of line to last 'm' in the line -$ echo 'car bat cod map scat dot abacus' | awk '{sub(/.*m/, "-")} 1' --ap scat dot abacus +# from the start of line to the last 'b' in the line +$ echo 'car bat cod map scat dot abacus' | awk '{sub(/.*b/, "-")} 1' +-acus -$ # from first 'b' to last 't' in the line +# from the first 'b' to the last 't' in the line $ echo 'car bat cod map scat dot abacus' | awk '{sub(/b.*t/, "-")} 1' car - abacus -$ # from first 'b' to last 'at' in the line +# from the first 'b' to the last 'at' in the line $ echo 'car bat cod map scat dot abacus' | awk '{sub(/b.*at/, "-")} 1' car - dot abacus -$ # here 'm*' will match 'm' zero times as that gives the longest match +# here 'm*' will match 'm' zero times as that gives the longest match $ echo 'car bat cod map scat dot abacus' | awk '{sub(/a.*m*/, "-")} 1' c- ``` @@ -915,78 +979,80 @@ c- To create a custom placeholder for limited set of characters, enclose them inside `[]` metacharacters. It is similar to using single character alternations inside a grouping, but with added flexibility and features. Character classes have their own versions of metacharacters and provide special predefined sets for common use cases. Quantifiers are also applicable to character classes. ```bash -$ # same as: awk '/cot|cut/' and awk '/c(o|u)t/' +# same as: awk '/cot|cut/' and awk '/c(o|u)t/' $ printf 'cute\ncat\ncot\ncoat\ncost\nscuttle\n' | awk '/c[ou]t/' cute cot scuttle -$ # same as: awk '/.(a|e|o)+t/' -$ printf 'meeting\ncute\nboat\nat\nfoot\n' | awk '/.[aeo]+t/' +# same as: awk '/.(a|e|o)t/' +$ printf 'meeting\ncute\nboat\nat\nfoot\n' | awk '/.[aeo]t/' meeting boat foot -$ # same as: awk '{gsub(/\<(s|o|t)(o|n)\>/, "X")} 1' +# same as: awk '{gsub(/\<(s|o|t)(o|n)\>/, "X")} 1' $ echo 'no so in to do on' | awk '{gsub(/\<[sot][on]\>/, "X")} 1' no X in X do X -$ # strings made up of letters 'o' and 'n', string length at least 2 -$ # /usr/share/dict/words contains dictionary words, one word per line -$ awk '/^[on]{2,}$/' /usr/share/dict/words +# lines made up of letters 'o' and 'n', line length at least 2 +# words.txt contains dictionary words, one word per line +$ awk '/^[on]{2,}$/' words.txt no non noon on ``` -Character classes have their own metacharacters to help define the sets succinctly. Metacharacters outside of character classes like `^`, `$`, `()` etc either don't have special meaning or have completely different one inside the character classes. +## Character class metacharacters + +Character classes have their own metacharacters to help define the sets succinctly. Metacharacters outside of character classes like `^`, `$`, `()` etc either don't have special meaning or have a completely different one inside the character classes. First up, the `-` metacharacter that helps to define a range of characters instead of having to specify them all individually. ```bash -$ # same as: awk '{gsub(/[0123456789]+/, "-")} 1' +# same as: awk '{gsub(/[0123456789]+/, "-")} 1' $ echo 'Sample123string42with777numbers' | awk '{gsub(/[0-9]+/, "-")} 1' Sample-string-with-numbers -$ # whole words made up of lowercase alphabets and digits only +# whole words made up of lowercase alphabets and digits only $ echo 'coat Bin food tar12 best' | awk '{gsub(/\<[a-z0-9]+\>/, "X")} 1' X Bin X X X -$ # whole words made up of lowercase alphabets, starting with 'p' to 'z' +# whole words made up of lowercase alphabets, starting with 'p' to 'z' $ echo 'road i post grip read eat pit' | awk '{gsub(/\<[p-z][a-z]*\>/, "X")} 1' X i X grip X eat X ``` -Character classes can also be used to construct numeric ranges. However, it is easy to miss corner cases and some ranges are complicated to design. See also [regular-expressions: Matching Numeric Ranges with a Regular Expression](https://www.regular-expressions.info/numericranges.html). +Character classes can also be used to construct numeric ranges. However, it is easy to miss corner cases and some ranges are complicated to design. ```bash -$ # numbers between 10 to 29 +# numbers between 10 to 29 $ echo '23 154 12 26 34' | awk '{gsub(/\<[12][0-9]\>/, "X")} 1' X 154 X X 34 -$ # numbers >= 100 with optional leading zeros +# numbers >= 100 with optional leading zeros $ echo '0501 035 154 12 26 98234' | awk '{gsub(/\<0*[1-9][0-9]{2,}\>/, "X")} 1' X 035 X 12 26 X ``` -Next metacharacter is `^` which has to specified as the first character of the character class. It negates the set of characters, so all characters other than those specified will be matched. Handle negative logic with care though, you might end up matching more than you wanted. +Next metacharacter is `^` which has to be specified as the first character of the character class. It negates the set of characters, so all characters other than those specified will be matched. As highlighted earlier, handle negative logic with care, you might end up matching more than you wanted. ```bash -$ # replace all non-digits +# replace all non-digit characters $ echo 'Sample123string42with777numbers' | awk '{gsub(/[^0-9]+/, "-")} 1' -123-42-777- -$ # delete last two columns based on a delimiter -$ echo 'foo:123:bar:baz' | awk '{sub(/(:[^:]+){2}$/, "")} 1' -foo:123 +# delete last two columns +$ echo 'apple:123:banana:cherry' | awk '{sub(/(:[^:]+){2}$/, "")} 1' +apple:123 -$ # sequence of characters surrounded by unique character +# sequence of characters surrounded by a unique character $ echo 'I like "mango" and "guava"' | awk '{gsub(/"[^"]+"/, "X")} 1' I like X and X -$ # sometimes it is simpler to positively define a set than negation -$ # same as: awk '/^[^aeiou]*$/' +# sometimes it is simpler to positively define a set than negation +# same as: awk '/^[^aeiou]*$/' $ printf 'tryst\nfun\nglyph\npity\nwhy\n' | awk '!/[aeiou]/' tryst glyph @@ -1000,27 +1066,39 @@ Some commonly used character sets have predefined escape sequences: * `\s` matches all **whitespace** characters: tab, newline, vertical tab, form feed, carriage return and space * `\S` matches all non-whitespace characters +These escape sequences *cannot* be used inside character classes. Also, as mentioned earlier, these definitions assume ASCII input. + ```bash -$ # match all non-word characters -$ echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "-")} 1' -load-err_msg-ant-r2-not +# match all non-word characters +$ echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' +load|err_msg|ant|r2|not -$ # replace all sequences of whitespaces with single space +# replace all sequences of whitespaces with a single space $ printf 'hi \v\f there.\thave \ra nice\t\tday\n' | awk '{gsub(/\s+/, " ")} 1' hi there. have a nice day -``` -These escape sequences *cannot* be used inside character classes. - -```bash -$ # \w would simply match w inside character classes +# \w would simply match w inside character classes $ echo 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' y\x+9*3 ``` >![warning](images/warning.svg) `awk` doesn't support `\d` and `\D`, commonly featured in other implementations as a shortcut for all the digits and non-digits. - -A **named character set** is defined by a name enclosed between `[:` and `:]` and has to be used within a character class `[]`, along with any other characters as needed. +> +> ```bash +> # \d will match just the 'd' character and produces a warning as well +> $ echo '42\d123' | awk '{gsub(/\d+/, "-")} 1' +> awk: cmd. line:1: warning: regexp escape sequence +> '\d' is not a known regexp operator +> 42\-123 +> +> # \d here matches all digit characters +> $ echo '42\d123' | perl -pe 's/\d+/-/g' +> -\d- +> ``` + +## Named character sets + +A named character set is defined by a name enclosed between `[:` and `:]` and has to be used within a character class `[]`, along with other characters as needed. | Named set | Description | | ------------ | ----------- | @@ -1037,6 +1115,8 @@ A **named character set** is defined by a name enclosed between `[:` and `:]` an | `[:blank:]` | space and tab characters | | `[:space:]` | whitespace characters, same as `\s` | +Here are some examples: + ```bash $ s='err_msg xerox ant m_2 P2 load1 eel' $ echo "$s" | awk '{gsub(/\<[[:lower:]]+\>/, "X")} 1' @@ -1048,183 +1128,220 @@ X X X m_2 P2 load1 X $ echo "$s" | awk '{gsub(/\<[[:alnum:]]+\>/, "X")} 1' err_msg X X m_2 X X X +# retain only punctuation characters $ echo ',pie tie#ink-eat_42' | awk '{gsub(/[^[:punct:]]+/, "")} 1' ,#-_ ``` +## Matching character class metacharacters literally + Specific placement is needed to match character class metacharacters literally. Or, they can be escaped by prefixing `\` to avoid having to remember the different rules. As `\` is special inside character class, use `\\` to represent it literally. +`-` should be the first or the last character. + ```bash -$ # - should be first or last character within [] $ echo 'ab-cd gh-c 12-423' | awk '{gsub(/[a-z-]{2,}/, "X")} 1' X X 12-423 -$ # or escaped with \ + +# or escaped with \ $ echo 'ab-cd gh-c 12-423' | awk '{gsub(/[a-z\-0-9]{2,}/, "X")} 1' X X X +``` + +`]` should be the first character. -$ # ] should be first character within [] -$ printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[=]]/' -$ printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[]=]/' +```bash +# no match +$ printf 'int a[5]\nfig\n1+1=2\n' | awk '/[=]]/' + +# correct usage +$ printf 'int a[5]\nfig\n1+1=2\n' | awk '/[]=]/' int a[5] 1+1=2 +``` + +`[` can be used anywhere in the character set. Using `[][]` will match both `[` and `]`. -$ # to match [ use [ anywhere in the character set -$ # [][] will match both [ and ] -$ printf 'int a[5]\nfoo\n1+1=2\n' | awk '/[][]/' +```bash +$ echo 'int a[5].y' | awk '{gsub(/[x[y.]/, "")} 1' +int a5] + +$ printf 'int a[5]\nfig\n1+1=2\nwho]' | awk '/[][]/' int a[5] +who] +``` -$ # ^ should be other than first character within [] +`^` should be other than the first character. + +```bash $ echo 'f*(a^b) - 3*(a+b)/(a-b)' | awk '{gsub(/a[+^]b/, "c")} 1' f*(c) - 3*(c)/(a-b) ``` >![warning](images/warning.svg) Combinations like `[.` or `[:` cannot be used together to mean two individual characters, as they have special meaning within `[]`. See [gawk manual: Using Bracket Expressions](https://www.gnu.org/software/gawk/manual/gawk.html#Bracket-Expressions) for more details. - -```bash -$ echo 'int a[5]' | awk '/[x[.y]/' -awk: cmd. line:1: error: Unmatched [, [^, [:, [., or [=: /[x[.y]/ -$ echo 'int a[5]' | awk '/[x[y.]/' -int a[5] -``` +> +> ```bash +> $ echo 'int a[5]' | awk '/[x[.y]/' +> awk: cmd. line:1: error: Unmatched [, [^, [:, [., or [=: /[x[.y]/ +> $ echo 'int a[5]' | awk '/[x[y.]/' +> int a[5] +> ``` ## Escape sequences Certain ASCII characters like tab `\t`, carriage return `\r`, newline `\n`, etc have escape sequences to represent them. Additionally, any character can be represented using their ASCII value in octal `\NNN` or hexadecimal `\xNN` formats. Unlike character set escape sequences like `\w`, these can be used inside character classes. ```bash -$ # using \t to represent tab character -$ printf 'foo\tbar\tbaz\n' | awk '{gsub(/\t/, " ")} 1' -foo bar baz +# \t represents the tab character +$ printf 'apple\tbanana\tcherry\n' | awk '{gsub(/\t/, " ")} 1' +apple banana cherry -$ # these escape sequence work inside character class too +# these escape sequences work inside character class too $ printf 'a\t\r\fb\vc\n' | awk '{gsub(/[\t\v\f\r]+/, ":")} 1' a:b:c -$ # representing single quotes -$ # use \047 for octal format +# representing single quotes +# use \047 for octal format $ echo "universe: '42'" | awk '{gsub(/\x27/, "")} 1' universe: 42 ``` ->![info](images/info.svg) If a metacharacter is specified by ASCII value, it will still act as the metacharacter. Undefined sequences will result in a warning and treated as the character it escapes. +If a metacharacter is specified using the ASCII value format, it will still act as the metacharacter. ```bash -$ # \x5e is ^ character, acts as string anchor here -$ printf 'cute\ncot\ncat\ncoat\n' | awk '/\x5eco/' +# \x5e is ^ character, acts as line anchor here +$ printf 'acorn\ncot\ncat\ncoat\n' | awk '/\x5eco/' cot coat -$ # & metacharacter in replacement will be discussed in a later section -$ # it represents entire matched portion +# & metacharacter in replacement will be discussed in a later section +# it represents the entire matched portion $ echo 'hello world' | awk '{sub(/.*/, "[&]")} 1' [hello world] -$ # \x26 is & character +# \x26 in hexadecimal is the & character $ echo 'hello world' | awk '{sub(/.*/, "[\x26]")} 1' [hello world] +``` + +Undefined sequences will result in a warning and treated as the character it escapes. -$ echo 'read' | awk '{sub(/a/, "\.")} 1' -awk: cmd. line:1: warning: escape sequence `\.' treated as plain `.' -re.d +```bash +$ echo 'read' | awk '{sub(/\d/, "l")} 1' +awk: cmd. line:1: warning: regexp escape sequence + '\d' is not a known regexp operator +real ``` >![info](images/info.svg) See [gawk manual: Escape Sequences](https://www.gnu.org/software/gawk/manual/gawk.html#Escape-Sequences) for full list and other details. ## Replace specific occurrence -The third substitution function is `gensub` which can be used instead of both `sub` and `gsub` functions. Syntax wise, `gensub` needs minimum three arguments. The third argument is used to indicate whether you want to replace all occurrences with `"g"` or specific occurrence by giving a number. Another difference is that `gensub` returns a string value (irrespective of substitution succeeding) instead of modifying the input. +The third substitution function is `gensub` which can be used instead of both the `sub` and `gsub` functions. Syntax wise, `gensub` needs minimum three arguments. The third argument is used to indicate whether you want to replace all occurrences with `"g"` or a specific occurrence by passing a number. Another difference is that `gensub` returns a string value (irrespective of the substitution operation succeeding) instead of modifying the input. ```bash -$ # same as: sed 's/:/-/2' -$ # replace only second occurrence of ':' with '-' -$ # note that output of gensub is passed to print here -$ echo 'foo:123:bar:baz' | awk '{print gensub(/:/, "-", 2)}' -foo:123-bar:baz +$ s='apple:banana:cherry:fig:mango' -$ # same as: sed -E 's/[^:]+/X/3' -$ # replace only third field with 'X' -$ echo 'foo:123:bar:baz' | awk '{print gensub(/[^:]+/, "X", 3)}' -foo:123:X:baz +# same as: sed 's/:/-/2' +# replace only the second occurrence of ':' with '-' +# note that the output of gensub is passed to print here +$ echo "$s" | awk '{print gensub(/:/, "-", 2)}' +apple:banana-cherry:fig:mango + +# same as: sed -E 's/[^:]+/X/3' +# replace only the third field with '123' +$ echo "$s" | awk '{print gensub(/[^:]+/, "123", 3)}' +apple:banana:123:fig:mango ``` -The fourth argument for `gensub` function allows you to specify the input string or variable on which the substitution has to be performed. Default is `$0`, as seen in previous examples. +The fourth argument for the `gensub` function allows you to specify a string or a variable on which the substitution has to be performed. Default is `$0`, as seen in the previous examples. ```bash -$ # replace vowels with 'X' only for fourth field -$ # same as: awk '{gsub(/[aeiou]/, "X", $4)} 1' +# same as: awk '{gsub(/[aeiou]/, "X", $4)} 1' $ echo '1 good 2 apples' | awk '{$4 = gensub(/[aeiou]/, "X", "g", $4)} 1' 1 good 2 XpplXs ``` ## Backreferences -The grouping metacharacters `()` are also known as **capture groups**. They are like variables, the string captured by `()` can be referred later using backreference `\N` where `N` is the capture group you want. Leftmost `(` in the regular expression is `\1`, next one is `\2` and so on up to `\9`. As a special case, `&` metacharacter represents entire matched string. As `\` is special inside double quotes, you'll have to use `"\\1"` to represent `\1`. +The grouping metacharacters `()` are also known as **capture groups**. Similar to variables in programming languages, the portion captured by `()` can be referred later using backreferences. The syntax is `\N` where `N` is the capture group you want. Leftmost `(` in the regular expression is `\1`, next one is `\2` and so on up to `\9`. The `&` metacharacter represents entire matched string. As `\` is already special inside double quotes, you'll have to use `"\\1"` to represent `\1`. ->![info](images/info.svg) Backreferences of the form `\N` can only be used with `gensub` function. `&` can be used with `sub`, `gsub` and `gensub` functions. `\0` can also be used instead of `&` with `gensub` function. +>![info](images/info.svg) Backreferences of the form `\N` can only be used with the `gensub` function. `&` can be used with `sub`, `gsub` and `gensub` functions. `\0` can also be used instead of `&` with the `gensub` function. ```bash -$ # reduce \\ to single \ and delete if it is a single \ +# reduce \\ to single \ and delete if it is a single \ $ s='\[\] and \\w and \[a-zA-Z0-9\_\]' $ echo "$s" | awk '{print gensub(/(\\?)\\/, "\\1", "g")}' [] and \w and [a-zA-Z0-9_] -$ # duplicate first column value as final column +# duplicate the first column value and add it as the final column $ echo 'one,2,3.14,42' | awk '{print gensub(/^([^,]+).*/, "&,\\1", 1)}' one,2,3.14,42,one -$ # add something at start and end of string, gensub isn't needed here +# add something at the start and end of string, gensub isn't needed here $ echo 'hello world' | awk '{sub(/.*/, "Hi. &. Have a nice day")} 1' Hi. hello world. Have a nice day -$ # here {N} refers to last but Nth occurrence -$ s='456:foo:123:bar:789:baz' -$ echo "$s" | awk '{print gensub(/(.*):((.*:){2})/, "\\1[]\\2", 1)}' -456:foo:123[]bar:789:baz +# here {N} refers to the last but Nth occurrence +$ s='car,art,pot,tap,urn,ray,ear' +$ echo "$s" | awk '{print gensub(/(.*),((.*,){2})/, "\\1[]\\2", 1)}' +car,art,pot,tap[]urn,ray,ear ``` ->![warning](images/warning.svg) See [unix.stackexchange: Why doesn't this sed command replace the 3rd-to-last "and"?](https://unix.stackexchange.com/q/579889/109046) for a bug related to use of word boundaries in the `((){N})` generic case. +>![warning](images/warning.svg) See [unix.stackexchange: Why doesn't this sed command replace the 3rd-to-last "and"?](https://unix.stackexchange.com/q/579889/109046) for a bug related to the use of word anchors in the `((pat){N})` generic case. ->![warning](images/warning.svg) Unlike other regular expression implementations, like `grep` or `sed` or `perl`, backreferences cannot be used in search section in `awk`. See also [unix.stackexchange: backreference in awk](https://unix.stackexchange.com/q/361427/109046). +>![warning](images/warning.svg) Unlike other regular expression implementations, like `grep` or `sed` or `perl`, backreferences cannot be used in the search section in `awk`. See also [unix.stackexchange: backreference in awk](https://unix.stackexchange.com/q/361427/109046). +> +> ```bash +> $ s='effort flee facade oddball rat tool' +> +> # no change +> $ echo "$s" | awk '{gsub(/\w*(\w)\1\w*/, "X")} 1' +> effort flee facade oddball rat tool +> # whole words that have at least one consecutive repeated character +> $ echo "$s" | sed -E 's/\w*(\w)\1\w*/X/g' +> X X facade X rat X +> ``` -If quantifier is applied on a pattern grouped inside `()` metacharacters, you'll need an outer `()` group to capture the matching portion. Some regular expression engines provide non-capturing group to handle such cases. In `awk`, you'll have to work around the extra capture group. +If a quantifier is applied on a pattern grouped inside `()` metacharacters, you'll need an outer `()` group to capture the matching portion. Other flavors like Perl provide non-capturing groups to handle such cases. In `awk` you'll have to consider the extra capture groups. ```bash -$ # note the numbers used in replacement section +# note the numbers used in the replacement section $ s='one,2,3.14,42' $ echo "$s" | awk '{$0=gensub(/^(([^,]+,){2})([^,]+)/, "[\\1](\\3)", 1)} 1' [one,2,](3.14),42 ``` -Here's an example where alternation order matters when matching portions have same length. Aim is to delete all whole words unless it starts with `g` or `p` and contains `y`. +Here's an example where alternation order matters when the matching portions have the same length. Aim is to delete all whole words unless it starts with `g` or `p` and contains `y`. ```bash $ s='tryst,fun,glyph,pity,why,group' -$ # all words get deleted because \w+ gets priority here +# all words get deleted because \<\w+\> gets priority here $ echo "$s" | awk '{print gensub(/\<\w+\>|(\<[gp]\w*y\w*\>)/, "\\1", "g")}' ,,,,, -$ # capture group gets priority here, thus words matching the group are retained +# capture group gets priority here, so words in the capture group are retained $ echo "$s" | awk '{print gensub(/(\<[gp]\w*y\w*\>)|\<\w+\>/, "\\1", "g")}' ,,glyph,pity,, ``` -As `\` and `&` are special characters inside double quotes in replacement section, use `\\` and `\\&` respectively for literal representation. +As `\` and `&` are special characters in the replacement section, you'll need to escape them for literal representation. ```bash -$ echo 'foo and bar' | awk '{sub(/and/, "[&]")} 1' -foo [and] bar -$ echo 'foo and bar' | awk '{sub(/and/, "[\\&]")} 1' -foo [&] bar +$ echo 'apple and fig' | awk '{sub(/and/, "[&]")} 1' +apple [and] fig +$ echo 'apple and fig' | awk '{sub(/and/, "[\\&]")} 1' +apple [&] fig -$ echo 'foo and bar' | awk '{sub(/and/, "\\")} 1' -foo \ bar +$ echo 'apple and fig' | awk '{sub(/and/, "\\")} 1' +apple \ fig ``` ## Case insensitive matching Unlike `sed` or `perl`, regular expressions in `awk` do not directly support the use of flags to change certain behaviors. For example, there is no flag to force the regexp to ignore case while matching. -The `IGNORECASE` special variable controls case sensitivity, which is `0` by default. By changing it to some other value (which would mean `true` in conditional expression), you can match case insensitively. The `-v` command line option allows you to assign a variable before input is read. The `BEGIN` block is also often used to change such settings. +The `IGNORECASE` special variable controls case sensitivity, which is `0` by default. By changing it to some other value (which would mean `true` in a conditional expression), you can match case insensitively. The `-v` command line option allows you to assign a variable before input is read. The `BEGIN` block is also often used to change such settings. ```bash $ printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk -v IGNORECASE=1 '/cat/' @@ -1232,11 +1349,11 @@ Cat cOnCaT scatter -$ # for small enough string, can also use character class -$ printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk '{gsub(/[cC][aA][tT]/, "dog")} 1' -dog -cOndog -sdogter +# for small enough string, you can also use character class +$ printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk '{gsub(/[cC][aA][tT]/, "(&)")} 1' +(Cat) +cOn(CaT) +s(cat)ter cot ``` @@ -1251,9 +1368,7 @@ scatter ## Dynamic regexp -As seen earlier, you can use a string literal instead of regexp to specify the pattern to be matched. Which implies that you can use any expression or a variable as well. This is helpful if you need to compute the regexp based on some conditions or if you are getting the pattern externally, such as user input. - -The `-v` command line option comes in handy to get user input, say from a `bash` variable. +As seen earlier, string literals can be used instead of a regexp to specify the pattern to be matched. Which implies that you can use any expression or a variable as well. This is helpful if you need to compute the regexp based on some conditions or if you are getting the pattern externally, such as user input passed via the `-v` option from a `bash` variable. ```bash $ r='cat.*dog|dog.*cat' @@ -1264,7 +1379,7 @@ $ awk -v s='ow' '$0 ~ s' table.txt brown bread mat hair 42 yellow banana window shoes 3.14 -$ # you'll have to make sure to use \\ instead of \ +# you'll have to make sure to use \\ instead of \ $ r='\\<[12][0-9]\\>' $ echo '23 154 12 26 34' | awk -v ip="$r" '{gsub(ip, "X")} 1' X 154 X X 34 @@ -1272,7 +1387,7 @@ X 154 X X 34 >![info](images/info.svg) See [Using shell variables](#using-shell-variables) chapter for a way to avoid having to escape backslashes. -Sometimes, you need to get user input and then treat it literally instead of regexp pattern. In such cases, you'll need to first escape the metacharacters before using in substitution functions. Below example shows how to do it for search section. For replace section, you only have to escape the `\` and `&` characters. +Sometimes, user input has to be treated literally instead of as a regexp pattern. In such cases, you'll need to escape all the regexp metacharacters. Below example shows how to do it for the search section. For the replace section, you only have to escape the `\` and `&` characters. ```bash $ awk -v s='(a.b)^{c}|d' 'BEGIN{gsub(/[{[(^$*?+.|\\]/, "\\\\&", s); print s}' @@ -1282,7 +1397,7 @@ $ echo 'f*(a^b) - 3*(a^b)' | awk -v s='(a^b)' '{gsub(/[{[(^$*?+.|\\]/, "\\\\&", s); gsub(s, "c")} 1' f*c - 3*c -$ # match given input string literally, but only at the end of string +# match given input string literally, but only at the end of string $ echo 'f*(a^b) - 3*(a^b)' | awk -v s='(a^b)' '{gsub(/[{[(^$*?+.|\\]/, "\\\\&", s); gsub(s "$", "c")} 1' f*(a^b) - 3*c @@ -1290,7 +1405,7 @@ f*(a^b) - 3*c >![info](images/info.svg) See [my blog post](https://learnbyexample.github.io/escaping-madness-awk-literal-field-separator/) for more details about escaping metacharacters. ->![info](images/info.svg) If you need to match instead of substitution, you can use the `index` function. See [index](#index) section for details. +>![info](images/info.svg) If you need to just match literally instead of substitution, you can use the `index` function. See the [index](#index) section for details. ## Summary @@ -1298,49 +1413,58 @@ Regular expressions is a feature that you'll encounter in multiple command line ## Exercises -**a)** For the given input, print all lines that start with `den` or end with `ly`. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** For the input file `patterns.txt`, display all lines that start with `den` or end with `ly`. ```bash -$ lines='lovely\n1 dentist\n2 lonely\neden\nfly away\ndent\n' -$ printf '%b' "$lines" | awk ##### add your solution here -lovely +$ awk ##### add your solution here 2 lonely dent +lovely ``` -**b)** Replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Note that **word** in these exercises have same meaning as defined in regular expressions. +**2)** For the input file `patterns.txt`, replace all occurrences of `42` with `[42]` unless it is at the edge of a word. Display only the modified lines. ```bash -$ echo 'hi42bye nice421423 bad42 cool_42a 42c' | awk ##### add your solution here -hi[42]bye nice[42]1[42]3 bad42 cool_[42]a 42c +$ awk ##### add your solution here +Hi[42]Bye nice1[42]3 bad42 +eqn2 = pressure*3+42/5-1[42]56 +cool_[42]a 42fake +_[42]_ ``` -**c)** Add `[]` around words starting with `s` and containing `e` and `t` in any order. +**3)** For the input file `patterns.txt`, add `[]` around words starting with `s` and containing `e` and `t` in any order. Display only the modified lines. ```bash -$ words='sequoia subtle exhibit asset sets tests site' -$ echo "$words" | awk ##### add your solution here -sequoia [subtle] exhibit asset [sets] tests [site] +$ awk ##### add your solution here +[sets] tests Sauerkraut +[site] cite kite bite [store_2] +[subtle] sequoia +a [set] ``` -**d)** Replace the space character that occurs after a word ending with `a` or `r` with a newline character. +**4)** For the input file `patterns.txt`, replace the space character that occurs after a word ending with `a` or `r` with a newline character, only if the line also contains an uppercase letter. Display only the modified lines. For example, `A car park` should get converted to `A car` and `park` separated by a newline. But `car far tar` shouldn't be matched as there's no uppercase letter in this line. ```bash -$ echo 'area not a _a2_ roar took 22' | awk ##### add your solution here -area -not a -_a2_ roar -took 22 +$ awk ##### add your solution here +par +car +tar +far +Cart +Not a +pip DOWN ``` -**e)** Replace all occurrences of `[4]|*` with `2` for the given input. +**5)** For the input file `patterns.txt`, replace all occurrences of `*[5]` with `2`. Display only the modified lines. ```bash -$ echo '2.3/[4]|*6 foo 5.3-[4]|*9' | awk ##### add your solution here -2.3/26 foo 5.3-29 +$ awk ##### add your solution here +(9-2)2 ``` -**f)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. +**6)** `awk '/\<[a-z](on|no)[a-z]\>/'` is same as `awk '/\<[a-z][on]{2}[a-z]\>/'`. True or False? Sample input shown below might help to understand the differences, if any. ```bash $ printf 'known\nmood\nknow\npony\ninns\n' @@ -1351,75 +1475,79 @@ pony inns ``` -**g)** Print all lines that start with `hand` and ends with `s` or `y` or `le` or no further character. For example, `handed` shouldn't be printed even though it starts with `hand`. +**7)** For the input file `patterns.txt`, display all lines starting with `hand` and ending immediately with `s` or `y` or `le` or no further characters. For example, `handed` shouldn't be matched even though it starts with `hand`. ```bash -$ lines='handed\nhand\nhandy\nunhand\nhands\nhandle\n' -$ printf '%b' "$lines" | awk ##### add your solution here -hand +$ awk ##### add your solution here +handle handy hands -handle +hand ``` -**h)** Replace `42//5` or `42/5` with `8` for the given input. +**8)** For the input file `patterns.txt`, replace `42//5` or `42/5` with `8`. Display only the modified lines. ```bash -$ echo 'a+42//5-c pressure*3+42/5-14256' | awk ##### add your solution here -a+8-c pressure*3+8-14256 +$ awk ##### add your solution here +eqn3 = r*42-5/3+42///5-83+a +eqn1 = a+8-c +eqn2 = pressure*3+8-14256 ``` -**i)** For the given quantifiers, what would be the equivalent form using `{m,n}` representation? +**9)** For the given quantifiers, what would be the equivalent form using the `{m,n}` representation? * `?` is same as * `*` is same as * `+` is same as -**j)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** True or False? `(a*|b*)` is same as `(a|b)*` -**k)** For the given input, construct two different regexps to get the outputs as shown below. +**11)** For the input file `patterns.txt`, construct two different regexps to get the outputs as shown below. Display only the modified lines. ```bash -$ # delete from '(' till next ')' -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk ##### add your solution here -a/b + c%d - 2( +# delete from '(' till the next ')' +$ awk ##### add your solution here +a/b + c%d +*[5] +def factorial +12- *4) +Hi there. Nice day -$ # delete from '(' till next ')' but not if there is '(' in between -$ echo 'a/b(division) + c%d() - (a#(b)2(' | awk ##### add your solution here -a/b + c%d - (a#2( +# delete from '(' till the next ')' but not if there is '(' in between +$ awk ##### add your solution here +a/b + c%d +*[5] +def factorial +12- (e+*4) +Hi there. Nice day(a ``` -**l)** For the input file `anchors.txt`, convert **markdown** anchors to corresponding **hyperlinks**. +**12)** For the input file `anchors.txt`, convert markdown anchors to corresponding hyperlinks as shown below. ```bash $ cat anchors.txt # Regular Expressions ## Subexpression calls +## The dot meta character $ awk ##### add your solution here [Regular Expressions](#regular-expressions) [Subexpression calls](#subexpression-calls) +[The dot meta character](#the-dot-meta-character) ``` -**m)** Display all lines that satisfies **both** of these conditions: +**13)** Display lines from `sample.txt` that satisfy both of these conditions: -* `professor` matched irrespective of case -* `quip` or `this` matched case sensitively - -Input is a file downloaded from internet as shown below. +* `to` or `he` matched irrespective of case +* `World` or `No` matched case sensitively ```bash -$ wget https://www.gutenberg.org/files/345/345.txt -O dracula.txt - $ awk ##### add your solution here -equipment of a professor of the healing craft. When we were shown in, -should be. I could see that the Professor had carried out in this room, -"Not up to this moment, Professor," she said impulsively, "but up to -and sprang at us. But by this time the Professor had gained his feet, -this time the Professor had to ask her questions, and to ask them pretty +Hello World +No doubt you like it too ``` -**n)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. +**14)** Given sample strings have fields separated by `,` and field values cannot be empty. Replace the third field with `42`. ```bash $ echo 'lion,ant,road,neon' | awk ##### add your solution here @@ -1429,17 +1557,15 @@ $ echo '_;3%,.,=-=,:' | awk ##### add your solution here _;3%,.,42,: ``` -**o)** For the given strings, replace last but third `so` with `X`. Only print the lines which are changed by the substitution. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. ```bash -$ printf 'so and so also sow and soup' | awk ##### add your solution here -so and X also sow and soup - -$ printf 'sososososososo\nso and so\n' | awk ##### add your solution here -sososoXsososo +$ awk ##### add your solution here +par car tX far Cart +pXt cart mart ``` -**p)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. Can you do it with single substitution? +**16)** Surround all whole words with `()`. Additionally, if the whole word is `imp` or `ant`, delete them. ```bash $ words='tiger imp goat eagle ant important' @@ -1447,13 +1573,101 @@ $ echo "$words" | awk ##### add your solution here (tiger) () (goat) (eagle) () (important) ``` +**17)** For the input file `patterns.txt`, display lines containing `car` but not as a whole word. For example, `scared-cat` and `car care` should match but not `far car park`. + +```bash +$ awk ##### add your solution here +scar +care +a huge discarded pile of books +scare +part cart mart +``` + +**18)** Will the pattern `^a\w+([0-9]+:fig)?` match the same characters for the input `apple42:banana314` and `apple42:fig100`? If not, why not? + +**19)** For the input file `patterns.txt`, display lines starting with `4` or `-` or `u` or `sub` or `care`. + +```bash +$ awk ##### add your solution here +care +4*5] +-handy +subtle sequoia +unhand +``` + +**20)** Replace sequences made up of words separated by `:` or `.` by the first word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk ##### add your solution here +wow hi-2 bye kite +``` + +**21)** Replace sequences made up of words separated by `:` or `.` by the last word of the sequence. Such sequences will end when `:` or `.` is not followed by a word character. + +```bash +$ ip='wow:Good:2_two.five: hi-2 bye kite.777:water.' +$ echo "$ip" | awk ##### add your solution here +five hi-2 bye water +``` + +**22)** Replace all whole words with `X` unless it is preceded by a `(` character. + +```bash +$ s='guava (apple) berry) apple (mango) (grape' +$ echo "$s" | awk ##### add your solution here +X (apple) X) X (mango) (grape +``` + +**23)** Surround whole words with `[]` only if they are followed by `:` or `,` or `-`. + +```bash +$ ip='Poke,on=-=so_good:ink.to/is(vast)ever2-sit' +$ echo "$ip" | awk ##### add your solution here +[Poke],on=-=[so_good]:ink.to/is(vast)[ever2]-sit +``` + +**24)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +$ awk ##### add your solution here +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**25)** Can you use a character other than `/` as the regexp delimiter? If not, are there ways to construct a regexp that do not require the `/` character to be escaped for literal matching? + +**26)** For the input file `patterns.txt`, surround all hexadecimal sequences with a minimum of four characters with `[]`. Match `0x` as an optional prefix, but shouldn't be counted for determining the length. Match the characters case insensitively, and the sequences shouldn't be surrounded by other word characters. Display only the modified lines. + +```bash +$ awk ##### add your solution here +"should not match [0XdeadBEEF]" +Hi42Bye nice1423 [bad42] +took 0xbad 22 [0x0ff1ce] +eqn2 = pressure*3+42/5-[14256] +``` + # Field separators Now that you are familiar with basic `awk` syntax and regular expressions, this chapter will dive deep into field processing. You'll learn how to set input and output field separators, how to use regexps for defining fields and how to work with fixed length fields. +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. + ## Default field separation -As seen earlier, `awk` automatically splits input into fields which are accessible using `$N` where `N` is the field number you need. You can also pass an expression instead of numeric literal to specify the field required. +As seen earlier, `awk` automatically splits input into fields which are accessible using `$N` where `N` is the field number you need. You can also pass an expression instead of a numeric literal to specify the field required. ```bash $ cat table.txt @@ -1461,53 +1675,54 @@ brown bread mat hair 42 blue cake mug shirt -7 yellow banana window shoes 3.14 -$ # print fourth field if first field starts with 'b' +# print the fourth field if the first field starts with 'b' $ awk '$1 ~ /^b/{print $4}' table.txt hair shirt -$ # print the field as specified by value stored in 'f' variable +# print the field as specified by the value stored in the 'f' variable $ awk -v f=3 '{print $f}' table.txt mat mug window ``` -The `NF` special variable will give you the number of fields for each input line. This is useful when you don't know how many fields are present in the input and you need to specify field number from the end. +The `NF` special variable will give you the number of fields for each input line. This is useful when you don't know how many fields are present in the input and you need to process fields from the end. ```bash -$ # print the last field of each input line +# print the last field of each input line $ awk '{print $NF}' table.txt 42 -7 3.14 -$ # print the last but one field +# print the last but one field $ awk '{print $(NF-1)}' table.txt hair shirt shoes -$ # don't forget the parentheses! +# don't forget the parentheses! +# this will subtract 1 from the last field and print it $ awk '{print $NF-1}' table.txt 41 -8 2.14 ``` -By default, `awk` does more than split the input on spaces. It splits based on one or more sequence of **space** or **tab** or **newline** characters. In addition, any of these three characters at the start or end of input gets trimmed and won't be part of field contents. Input containing newline character will be covered in [Record separators](#record-separators) chapter. +By default, `awk` does more than split the input on spaces. It splits based on one or more sequence of **space** or **tab** or **newline** characters. In addition, any of these three characters at the start or end of input gets trimmed and won't be part of the field contents. Input containing newline characters will be covered in the [Record separators](#record-separators) chapter. ```bash $ echo ' a b c ' | awk '{print NF}' 3 -$ # note that leading spaces isn't part of field content +# note that the leading spaces aren't part of the field content $ echo ' a b c ' | awk '{print $1}' a -$ # note that trailing spaces isn't part of field content +# note that the trailing spaces aren't part of the field content $ echo ' a b c ' | awk '{print $NF "."}' c. -$ # here's another example with tab characters thrown in +# here's another example with tab characters thrown in $ printf ' one \t two\t\t\tthree ' | awk '{print NF}' 3 $ printf ' one \t two\t\t\tthree ' | awk '{print $2 "."}' @@ -1515,46 +1730,46 @@ two. ``` >![warning](images/warning.svg) When passing an expression for field number, floating-point result is acceptable too. The fractional portion is ignored. However, as precision is limited, it could result in rounding instead of truncation. - -```bash -$ awk 'BEGIN{printf "%.16f\n", 2.999999999999999}' -2.9999999999999991 -$ awk 'BEGIN{printf "%.16f\n", 2.9999999999999999}' -3.0000000000000000 - -$ # same as: awk '{print $2}' table.txt -$ awk '{print $2.999999999999999}' table.txt -bread -cake -banana - -$ # same as: awk '{print $3}' table.txt -$ awk '{print $2.9999999999999999}' table.txt -mat -mug -window -``` +> +> ```bash +> $ awk 'BEGIN{printf "%.16f\n", 2.999999999999999}' +> 2.9999999999999991 +> $ awk 'BEGIN{printf "%.16f\n", 2.9999999999999999}' +> 3.0000000000000000 +> +> # same as: awk '{print $2}' table.txt +> $ awk '{print $2.999999999999999}' table.txt +> bread +> cake +> banana +> +> # same as: awk '{print $3}' table.txt +> $ awk '{print $2.9999999999999999}' table.txt +> mat +> mug +> window +> ``` ## Input field separator -The most common way to change the default field separator is to use the `-F` command line option. The value passed to the option will be treated as a string literal and then converted to a regexp. For now, here's some examples without any special regexp characters. +The most common way to change the default field separator is to use the `-F` command line option. The value passed to the option will be treated as a string literal and then converted to a regexp. For now, here are some examples without any special regexp characters. ```bash -$ # use ':' as input field separator +# use ':' as the input field separator $ echo 'goal:amazing:whistle:kwality' | awk -F: '{print $1}' goal $ echo 'goal:amazing:whistle:kwality' | awk -F: '{print $NF}' kwality -$ # use quotes to avoid clashes with shell special characters +# use quotes to avoid clashes with shell special characters $ echo 'one;two;three;four' | awk -F';' '{print $3}' three -$ # first and last fields will have empty string as their values +# first and last fields will have empty string as their values $ echo '=a=b=c=' | awk -F= '{print $1 "[" $NF "]"}' [] -$ # difference between empty lines and lines without field separator +# difference between empty lines and lines without field separator $ printf '\nhello\napple,banana\n' | awk -F, '{print NF}' 0 1 @@ -1567,7 +1782,7 @@ You can also directly set the special `FS` variable to change the input field se $ echo 'goal:amazing:whistle:kwality' | awk -v FS=: '{print $2}' amazing -$ # field separator can be multiple characters too +# field separator can be multiple characters too $ echo '1e4SPT2k6SPT3a5SPT4z0' | awk 'BEGIN{FS="SPT"} {print $3}' 3a5 ``` @@ -1575,18 +1790,18 @@ $ echo '1e4SPT2k6SPT3a5SPT4z0' | awk 'BEGIN{FS="SPT"} {print $3}' If you wish to split the input as individual characters, use an empty string as the field separator. ```bash -$ # note that the space between -F and '' is mandatory +# note that the space between -F and '' is necessary here $ echo 'apple' | awk -F '' '{print $1}' a $ echo 'apple' | awk -v FS= '{print $NF}' e -$ # depending upon the locale, you can work with multibyte characters too +# depending upon the locale, you can work with multibyte characters too $ echo 'αλεπού' | awk -v FS= '{print $3}' ε ``` -Here's some examples with regexp based field separator. The value passed to `-F` or `FS` is treated as a string and then converted to regexp. So, you'll need `\\` instead of `\` to mean a backslash character. The good news is that for single characters that are also regexp metacharacters, they'll be treated literally and you do not need to escape them. +Here are some examples with regexp based field separators. The value passed to `-F` or `FS` is treated as a string and then converted to a regexp. So, you'll need `\\` instead of `\` to mean a backslash character. The good news is that for single characters that are also regexp metacharacters, they'll be treated literally and you do not need to escape them. ```bash $ echo 'Sample123string42with777numbers' | awk -F'[0-9]+' '{print $2}' @@ -1594,38 +1809,40 @@ string $ echo 'Sample123string42with777numbers' | awk -F'[a-zA-Z]+' '{print $2}' 123 -$ # note the use of \\W to indicate \W +# note the use of \\W to indicate \W $ echo 'load;err_msg--\ant,r2..not' | awk -F'\\W+' '{print $3}' ant -$ # same as: awk -F'\\.' '{print $2}' +# same as: awk -F'\\.' '{print $2}' $ echo 'hi.bye.hello' | awk -F. '{print $2}' bye -$ # count number of vowels for each input line +# count the number of vowels for each input line +# note that empty lines will give -1 in the output $ printf 'cool\nnice car\n' | awk -F'[aeiou]' '{print NF-1}' 2 3 ``` ->![warning](images/warning.svg) The default value of `FS` is single space character. So, if you set input field separator to single space, then it will be the same as if you are using the default split discussed in previous section. If you want to override this behavior, you can use space inside a character class. +>![warning](images/warning.svg) The default value of `FS` is a single space character. So, if you set the input field separator to a single space, then it will be the same as if you are using the default split discussed in the previous section. If you want to override this behavior, you can use space inside a character class. +> +> ```bash +> # same as: awk '{print NF}' +> $ echo ' a b c ' | awk -F' ' '{print NF}' +> 3 +> +> # there are 12 space characters, thus 13 fields +> $ echo ' a b c ' | awk -F'[ ]' '{print NF}' +> 13 +> ``` -```bash -$ # same as: awk '{print NF}' -$ echo ' a b c ' | awk -F' ' '{print NF}' -3 -$ # there are 12 space characters, thus 13 fields -$ echo ' a b c ' | awk -F'[ ]' '{print NF}' -13 -``` - ->![warning](images/warning.svg) If `IGNORECASE` is set, it will affect field separation as well. Except when field separator is a single character, which can be worked around by using a character class. +If `IGNORECASE` is set, it will affect field separation as well. Except when the field separator is a single character, which can be worked around by using a character class. ```bash -$ echo 'RECONSTRUCTED' | awk -F'[aeiou]+' -v IGNORECASE=1 '{print $1}' -R +$ echo 'RECONSTRUCTED' | awk -F'[aeiou]+' -v IGNORECASE=1 '{print $NF}' +D -$ # when FS is a single character +# when FS is a single character $ echo 'RECONSTRUCTED' | awk -F'e' -v IGNORECASE=1 '{print $1}' RECONSTRUCTED $ echo 'RECONSTRUCTED' | awk -F'[e]' -v IGNORECASE=1 '{print $1}' @@ -1634,28 +1851,28 @@ R ## Output field separator -The `OFS` special variable controls the output field separator. `OFS` is used as the string between multiple arguments passed to `print` function. It is also used whenever `$0` has to be reconstructed as a result of changing field contents. The default value for `OFS` is a single space character, just like for `FS`. There is no command line option though, you'll have to change `OFS` directly. +The `OFS` special variable controls the output field separator. `OFS` is used as the string between multiple arguments passed to the `print` function. It is also used whenever `$0` has to be reconstructed as a result of field contents being modified. The default value for `OFS` is a single space character, just like `FS`. There is no equivalent command line option though, you'll have to change `OFS` directly. ```bash -$ # printing first and third field, OFS is used to join these values -$ # note the use of , to separate print arguments +# print the first and third fields, OFS is used to join these values +# note the use of , to separate print arguments $ awk '{print $1, $3}' table.txt brown mat blue mug yellow window -$ # same FS and OFS +# same FS and OFS $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{print $2, $NF}' amazing:kwality $ echo 'goal:amazing:whistle:kwality' | awk 'BEGIN{FS=OFS=":"} {print $2, $NF}' amazing:kwality -$ # different values for FS and OFS +# different values for FS and OFS $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=- '{print $2, $NF}' amazing-kwality ``` -Here's some examples for changing field contents and then printing `$0`. +Here are some examples for changing field contents and then printing `$0`. ```bash $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{$2 = 42} 1' @@ -1663,37 +1880,52 @@ goal:42:whistle:kwality $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=, '{$2 = 42} 1' goal,42,whistle,kwality -$ # recall that spaces at start/end gets trimmed for default FS +# recall that spaces at the start/end gets trimmed for default FS $ echo ' a b c ' | awk '{$NF = "last"} 1' a b last ``` -Sometimes you want to print contents of `$0` with the new `OFS` value but field contents aren't being changed. In such cases, you can assign a field value to itself to force reconstruction of `$0`. +Sometimes you want to print the contents of `$0` with the new `OFS` value but field contents aren't being changed. In such cases, you can assign a field value to itself to force the reconstruction of `$0`. ```bash -$ # no change because there was no trigger to rebuild $0 +# no change because there was no trigger to rebuild $0 $ echo 'Sample123string42with777numbers' | awk -F'[0-9]+' -v OFS=, '1' Sample123string42with777numbers -$ # assign a field to itself in such cases +# assign a field to itself in such cases $ echo 'Sample123string42with777numbers' | awk -F'[0-9]+' -v OFS=, '{$1=$1} 1' Sample,string,with,numbers ``` +>![info](images/info.svg) If you need to set the same input and output field separator, you can write a more concise one-liner using brace expansion. Here are some examples: +> +> ```bash +> $ echo -v{,O}FS=: +> -vFS=: -vOFS=: +> +> $ echo 'goal:amazing:whistle:kwality' | awk -v{,O}FS=: '{$2 = 42} 1' +> goal:42:whistle:kwality +> +> $ echo 'goal:amazing:whistle:kwality' | awk '{$2 = 42} 1' {,O}FS=: +> goal:42:whistle:kwality +> ``` +> +> However, this is not commonly used and doesn't save too many characters to be preferred over explicit assignment. + ## Manipulating NF -Changing `NF` value will rebuild `$0` as well. +Changing the value of `NF` will rebuild `$0` as well. Here are some examples: ```bash -$ # reducing fields +# reducing fields $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=, '{NF=2} 1' goal,amazing -$ # increasing fields +# increasing fields $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{$(NF+1)="sea"} 1' goal:amazing:whistle:kwality:sea -$ # empty fields will be created as needed +# empty fields will be created as needed $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{$8="go"} 1' goal:amazing:whistle:kwality::::go ``` @@ -1707,44 +1939,51 @@ awk: cmd. line:1: (FILENAME=- FNR=1) fatal: NF set to negative value ## FPAT -`FS` allows to define input field separator. In contrast, `FPAT` (field pattern) allows to define what should the fields be made up of. +The `FS` variable allows you to define the input field *separator*. In contrast, `FPAT` (field pattern) allows you to define what should the fields be made up of. ```bash $ s='Sample123string42with777numbers' - -$ # define fields to be one or more consecutive digits +# one or more consecutive digits $ echo "$s" | awk -v FPAT='[0-9]+' '{print $2}' 42 -$ # define fields to be one or more consecutive alphabets -$ echo "$s" | awk -v FPAT='[a-zA-Z]+' -v OFS=, '{$1=$1} 1' -Sample,string,with,numbers +$ s='coat Bin food tar12 best Apple fig_42' +# whole words made up of lowercase alphabets and digits only +$ echo "$s" | awk -v FPAT='\\<[a-z0-9]+\\>' -v OFS=, '{$1=$1} 1' +coat,food,tar12,best + +$ s='items: "apple" and "mango"' +# get the first double quoted item +$ echo "$s" | awk -v FPAT='"[^"]+"' '{print $1}' +"apple" ``` -`FPAT` is often used for `csv` input where fields can contain embedded delimiter characters. For example, a field content `"fox,42"` when `,` is the delimiter. +`FPAT` is often used for CSV input where fields can contain embedded delimiter characters. For example, a field content `"fox,42"` when `,` is the delimiter. ```bash $ s='eagle,"fox,42",bee,frog' -$ # simply using , as separator isn't sufficient +# simply using , as separator isn't sufficient $ echo "$s" | awk -F, '{print $2}' "fox ``` -For such simpler `csv` input, `FPAT` helps to define fields as starting and ending with double quotes or containing non-comma characters. +For such simpler CSV input, `FPAT` helps to define fields as starting and ending with double quotes or containing non-comma characters. ```bash -$ # * is used instead of + to allow empty fields +# * is used instead of + to allow empty fields $ echo "$s" | awk -v FPAT='"[^"]*"|[^,]*' '{print $2}' "fox,42" ``` ->![warning](images/warning.svg) The above will not work for all kinds of `csv` files, for example if fields contain escaped double quotes, newline characters, etc. See [stackoverflow: What's the most robust way to efficiently parse CSV using awk?](https://stackoverflow.com/q/45420535/4082052) for such cases. You could also use other programming languages such as Perl, Python, Ruby, etc which come with standard `csv` parsing libraries or have easy access to third party solutions. There are also specialized command line tools such as [xsv](https://github.com/BurntSushi/xsv). +>![warning](images/warning.svg) The above will not work for all kinds of CSV files, for example if fields contain escaped double quotes, newline characters, etc. See [stackoverflow: What's the most robust way to efficiently parse CSV using awk?](https://stackoverflow.com/q/45420535/4082052) and [csvquote](https://github.com/dbro/csvquote) for such cases. You could also use other programming languages such as Perl, Python, Ruby, etc which come with standard CSV parsing libraries or have easy access to third party solutions. There are also specialized command line tools such as [xsv](https://github.com/BurntSushi/xsv). + +>![info](images/info.svg) A proper CSV support is planned for a future version. You can also check out [frawk](https://github.com/ezrosent/frawk), which is mostly similar to the `awk` command but also supports CSV parsing. [goawk](https://github.com/benhoyt/goawk) is another implementation with CSV support. ->![info](images/info.svg) If `IGNORECASE` is set, it will affect field matching. Unlike `FS`, there is no different behavior for single character pattern. +If `IGNORECASE` is set, it will affect field matching as well. Unlike `FS`, there is no different behavior for a single character pattern. ```bash -$ # count number of 'e' in the input string +# count number of 'e' in the input string $ echo 'Read Eat Sleep' | awk -v FPAT='e' '{print NF}' 3 $ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='e' '{print NF}' @@ -1755,19 +1994,19 @@ $ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='[e]' '{print NF}' ## FIELDWIDTHS -`FIELDWIDTHS` is another feature where you get to define field contents. As indicated by the name, you have to specify number of characters for each field. This method is useful to process fixed width file inputs, and especially when they can contain empty fields. +`FIELDWIDTHS` is another feature where you get to define field contents. As indicated by the name, you have to specify the number of characters for each field. This method is useful to process fixed width data. ```bash $ cat items.txt apple fig banana 50 10 200 -$ # here field widths have been assigned such that -$ # extra spaces are placed at the end of each field +# here field widths have been assigned such that +# extra spaces are placed at the end of each field $ awk -v FIELDWIDTHS='8 4 6' '{print $2}' items.txt fig 10 -$ # note that the field contents will include the spaces as well +# note that the field contents will include the spaces as well $ awk -v FIELDWIDTHS='8 4 6' '{print "[" $2 "]"}' items.txt [fig ] [10 ] @@ -1776,9 +2015,9 @@ $ awk -v FIELDWIDTHS='8 4 6' '{print "[" $2 "]"}' items.txt You can optionally prefix a field width with number of characters to be ignored. ```bash -$ # first field is 5 characters -$ # then 3 characters are ignored and 3 characters for second field -$ # then 1 character is ignored and 6 characters for third field +# first field is 5 characters +# then 3 characters are ignored and 3 characters for the second field +# then 1 character is ignored and 6 characters for the third field $ awk -v FIELDWIDTHS='5 3:3 1:6' '{print "[" $1 "]"}' items.txt [apple] [50 ] @@ -1787,7 +2026,7 @@ $ awk -v FIELDWIDTHS='5 3:3 1:6' '{print "[" $2 "]"}' items.txt [10 ] ``` -If an input line length exceeds the total widths specified, the extra characters will simply be ignored. If you wish to access those characters, you can use `*` to represent the last field. See [gawk manual: FIELDWIDTHS](https://www.gnu.org/software/gawk/manual/gawk.html#Fields-with-fixed-data) for more corner cases. +If an input line length exceeds the total width specified, the extra characters will simply be ignored. If you wish to access those characters, you can use `*` to represent the last field. See [gawk manual: FIELDWIDTHS](https://www.gnu.org/software/gawk/manual/gawk.html#Fields-with-fixed-data) for more such corner cases. ```bash $ awk -v FIELDWIDTHS='5 *' '{print "[" $1 "]"}' items.txt @@ -1801,13 +2040,15 @@ $ awk -v FIELDWIDTHS='5 *' '{print "[" $2 "]"}' items.txt ## Summary -Working with fields is the most popular feature of `awk`. This chapter discussed various ways in which you can split the input into fields and manipulate them. There's many more examples to be discussed related to fields in upcoming chapters. I'd highly suggest to also read through [gawk manual: Fields](https://www.gnu.org/software/gawk/manual/gawk.html#Fields) for more details regarding field processing. +Working with fields is the most popular feature of `awk`. This chapter discussed various ways in which you can split the input into fields and manipulate them. There are many more examples to be discussed related to fields in the coming chapters. I'd highly suggest to also read through [gawk manual: Fields](https://www.gnu.org/software/gawk/manual/gawk.html#Fields) for more details regarding field processing. Next chapter will discuss various ways to use record separators and related special variables. ## Exercises -**a)** Extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** For the input file `brackets.txt`, extract only the contents between `()` or `)(` from each input line. Assume that `()` characters will be present only once every line. ```bash $ cat brackets.txt @@ -1821,7 +2062,7 @@ almond-pista yoyo ``` -**b)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. +**2)** For the input file `scores.csv`, extract `Name` and `Physics` fields in the format shown below. ```bash $ cat scores.csv @@ -1843,7 +2084,7 @@ Ort:72 Ith:100 ``` -**c)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. +**3)** For the input file `scores.csv`, display names of those who've scored above `70` in Maths. ```bash $ awk ##### add your solution here @@ -1852,7 +2093,7 @@ Cy Ith ``` -**d)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? +**4)** Display the number of word characters for the given inputs. Word definition here is same as used in regular expressions. Can you construct a solution with `gsub` and one without substitution functions? ```bash $ echo 'hi there' | awk ##### add your solution here @@ -1862,27 +2103,31 @@ $ echo 'u-no;co%."(do_12:as' | awk ##### add your solution here 12 ``` -**e)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions or string concatenation. +**5)** For the input file `quoted.txt`, extract the first and third sequence of characters surrounded by double quotes and display them in the format shown below. Solution shouldn't use substitution functions. ```bash -$ echo '1 "grape" and "mango" and "guava"' | awk ##### add your solution here -"grape","guava" +$ cat quoted.txt +1 "grape" and "mango" and "guava" +("a 1""b""c-2""d") -$ echo '("a 1""b""c-2""d")' | awk ##### add your solution here +$ awk ##### add your solution here +"grape","guava" "a 1","c-2" ``` -**f)** Construct a solution that works for both the given sample inputs and the corresponding output shown. Solution shouldn't use substitution functions. Can you do it without explicitly using `print` function as well? +**6)** For the input file `varying_fields.txt`, construct a solution to get the output shown below. Solution shouldn't use substitution functions. ```bash -$ echo 'hi,bye,there,was,here,to' | awk ##### add your solution here -hi,bye,to +$ cat varying_fields.txt +hi,bye,there,was,here,to +1,2,3,4,5 -$ echo '1,2,3,4,5' | awk ##### add your solution here +$ awk ##### add your solution here +hi,bye,to 1,2,5 ``` -**g)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. +**7)** Transform the given input file `fw.txt` to get the output as shown below. If a field is empty (i.e. contains only space characters), replace it with `NA`. ```bash $ cat fw.txt @@ -1898,7 +2143,7 @@ $ awk ##### add your solution here 4.2,kt,45.1 ``` -**h)** Display only the third and fifth characters from each line input line as shown below. +**8)** Display only the third and fifth characters from each input line as shown below. ```bash $ printf 'restore\ncat one\ncricket' | awk ##### add your solution here @@ -1907,32 +2152,97 @@ to ik ``` +**9)** The `fields.txt` file has fields separated by the `:` character. Delete `:` and the last field if there is a digit character anywhere before the last field. Solution shouldn't use substitution functions. + +```bash +$ cat fields.txt +42:cat +twelve:a2b +we:be:he:0:a:b:bother +apple:banana-42:cherry: +dragon:unicorn:centaur + +$ awk ##### add your solution here +42 +twelve:a2b +we:be:he:0:a:b +apple:banana-42:cherry +dragon:unicorn:centaur +``` + +**10)** Retain only the first three fields for the given sample string that uses `^` as the input field separator. Use `,` as the output field separator. + +```bash +$ echo 'sit^eat^very^eerie^near' | awk ##### add your solution here +sit,eat,very +``` + +**11)** The sample string shown below uses `cat` as the field separator (irrespective of case). Use space as the output field separator and add `42` as the last field. + +```bash +$ s='applecatfigCaT12345cAtbanana' +$ echo "$s" | awk ##### add your solution here +apple fig 12345 banana 42 +``` + +**12)** For the input file `sample.txt`, filter lines containing 6 or more lowercase vowels. + +```bash +$ awk ##### add your solution here +No doubt you like it too +Much ado about nothing +``` + +**13)** The input file `concat.txt` has contents of various files preceded by a line starting with `###`. Replace such sequence of characters with an incrementing integer value (starting with `1`) in the format shown below. + +```bash +$ awk ##### add your solution here +1) addr.txt +How are you +This game is good +Today is sunny +2) broken.txt +top +1234567890 +bottom +3) sample.txt +Just do-it +Believe it +4) mixed_fs.txt +pink blue white yellow +car,mat,ball,basket +``` + # Record separators -So far, you've seen examples where `awk` automatically splits input line by line based on the `\n` newline character. Just like you can control how those lines are further split into fields using `FS` and other features, `awk` provides a way to control what constitutes a line in the first place. In `awk` parlance, the term **record** is used to describe the contents that gets placed in the `$0` variable. And similar to `OFS`, you can control the string that gets added at the end for `print` function. This chapter will also discuss how you can use special variables that have information related to record (line) numbers. +So far, you've seen examples where `awk` automatically splits input line by line based on the newline character. Just like you can control how those lines are further split into fields using `FS` and other features, `awk` provides a way to control what constitutes a line in the first place. In `awk` parlance, the term **record** is used to describe the contents that gets placed in the `$0` variable. And similar to `OFS`, you can control the string that gets added at the end for the `print` function. This chapter will also discuss how you can use special variables that have information related to record (line) numbers. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## Input record separator -The `RS` special variable is used to control how the input content is split into records. The default is `\n` newline character, as evident with examples used in previous chapters. The special variable `NR` keeps track of the current record number. +The `RS` special variable is used to control how the input content is split into records. The default is the newline character, as evident from the examples used in the previous chapters. The special variable `NR` keeps track of the current record number. ```bash -$ # changing input record separator to comma -$ # note the content of second record, newline is just another character -$ printf 'this,is\na,sample' | awk -v RS=, '{print NR ")", $0}' +# change the input record separator to a comma character +# note the content of the 2nd record where newline is just another character +$ printf 'this,is\na,sample,text' | awk -v RS=, '{print NR ")", $0}' 1) this 2) is a 3) sample +4) text ``` -Recall that default `FS` will split input record based on spaces, tabs and newlines. Now that you've seen how `RS` can be something other than newline, here's an example to show the full effect of default record splitting. +Recall that default `FS` will split input record based on spaces, tabs and newlines. Now that you've seen how `RS` can be something other than `\n`, here's an example to show the full effect of the default record splitting. ```bash -$ s=' a\t\tb:1000\n\n\n\n123 7777:x y \n \n z ' +$ s=' a\t\tb:1000\n\n\t \n\n123 7777:x y \n \n z :apple banana cherry' $ printf '%b' "$s" | awk -v RS=: -v OFS=, '{$1=$1} 1' a,b 1000,123,7777 x,y,z +apple,banana,cherry ``` Similar to `FS`, the `RS` value is treated as a string literal and then converted to a regexp. For now, consider an example with multiple characters for `RS` but without needing regexp metacharacters. @@ -1944,38 +2254,39 @@ something went wrong some more details Error: third record details about what went wrong -$ # uses 'Error:' as the input record separator -$ # prints all the records that contains 'something' +# use 'Error:' as the input record separator +# print all the records that contains 'something' $ awk -v RS='Error:' '/something/' report.log second record starts something went wrong some more details ``` ->![warning](images/warning.svg) If `IGNORECASE` is set, it will affect record separation as well. Except when record separator is a single character, which can be worked around by using a character class. +If `IGNORECASE` is set, it will affect record separation as well. Except when the record separator is a single character, which can be worked around by using a character class. ```bash $ awk -v IGNORECASE=1 -v RS='error:' 'NR==1' report.log blah blah -$ # when RS is a single character +# when RS is a single character $ awk -v IGNORECASE=1 -v RS='e' 'NR==1' report.log blah blah Error: s $ awk -v IGNORECASE=1 -v RS='[e]' 'NR==1' report.log blah blah ``` ->![warning](images/warning.svg) The default line ending for text files varies between different platforms. For example, a text file downloaded from internet or a file originating from Windows OS would typically have lines ending with carriage return and line feed characters. So, you'll have to use `RS='\r\n'` for such files. See also [stackoverflow: Why does my tool output overwrite itself and how do I fix it?](https://stackoverflow.com/q/45772525/4082052) for a detailed discussion and mitigation methods. +>![warning](images/warning.svg) The default line ending for text files varies between different platforms. For example, a text file downloaded from the internet or a file originating from Windows OS would typically have lines ending with carriage return and line feed characters. So, you'll have to use `RS='\r\n'` for such files. See also [stackoverflow: Why does my tool output overwrite itself and how do I fix it?](https://stackoverflow.com/q/45772525/4082052) for a detailed discussion and mitigation methods. ## Output record separator -The `ORS` special variable is used for output record separator. `ORS` is the string that gets added to the end of every call to the `print` function. The default value for `ORS` is a single newline character, just like `RS`. +The `ORS` special variable is used to customize the output record separator. `ORS` is the string that gets added to the end of every call to the `print` function. The default value for `ORS` is a single newline character, just like `RS`. ```bash -$ # change NUL record separator to dot and newline -$ printf 'foo\0bar\0' | awk -v RS='\0' -v ORS='.\n' '1' -foo. -bar. +# change NUL record separator to dot and newline +$ printf 'apple\0banana\0cherry\0' | awk -v RS='\0' -v ORS='.\n' '1' +apple. +banana. +cherry. $ cat msg.txt Hello there. @@ -1983,57 +2294,57 @@ It will rain to- day. Have a safe and pleasant jou- rney. -$ # here ORS is empty string +# here ORS is an empty string $ awk -v RS='-\n' -v ORS= '1' msg.txt Hello there. It will rain today. Have a safe and pleasant journey. ``` ->![info](images/info.svg) Note that the `$0` variable is assigned after removing trailing characters matched by `RS`. Thus, you cannot directly manipulate those characters with functions like `sub`. With tools that don't automatically strip record separator, such as `perl`, the previous example can be solved as `perl -pe 's/-\n//' msg.txt`. +>![info](images/info.svg) Note that the `$0` variable is assigned after removing trailing characters matched by `RS`. Thus, you cannot directly manipulate those characters. With tools that don't automatically strip record separator, such as `perl`, the previous example can be solved as `perl -pe 's/-\n//' msg.txt`. Many a times, you need to change `ORS` depending upon contents of input record or some other condition. The `cond ? expr1 : expr2` ternary operator is often used in such scenarios. The below example assumes that input is evenly divisible, you'll have to add more logic if that is not the case. ```bash -$ # can also use RS instead of "\n" here +# can also use RS instead of "\n" here $ seq 6 | awk '{ORS = NR%3 ? "-" : "\n"} 1' 1-2-3 4-5-6 ``` >![info](images/info.svg) If the last line of input didn't end with the input record separator, it might get added in the output if `print` is used, as `ORS` gets appended. - -```bash -$ # here last line of input didn't end with newline -$ # but gets added via ORS when 'print' is used -$ printf '1\n2' | awk '1; END{print 3}' -1 -2 -3 -``` +> +> ```bash +> # here last line of the input doesn't end with a newline character +> # but gets added via ORS when 'print' is used +> $ printf '1\n2' | awk '1; END{print 3}' +> 1 +> 2 +> 3 +> ``` ## Regexp RS and RT -As mentioned before, the value passed to `RS` is treated as a string literal and then converted to a regexp. Here's some examples. +As mentioned before, the value passed to `RS` is treated as a string literal and then converted to a regexp. Here are some examples. ```bash -$ # set input record separator as one or more digit characters -$ # print records containing 'i' and 't' +# set input record separator as one or more digit characters +# print records containing both 'i' and 't' $ printf 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '/i/ && /t/' string with -$ # similar to FS, the value passed to RS is string literal -$ # which is then converted to regexp, so need \\ instead of \ here +# similar to FS, the value passed to RS is treated as a string +# which is then converted to a regexp, so need \\ instead of \ here $ printf 'load;err_msg--ant,r2..not' | awk -v RS='\\W+' '/an/' ant ``` ->![info](images/info.svg) First record will be empty if `RS` matches from the start of input file. However, if `RS` matches until the very last character of the input file, there won't be empty record as the last record. This is different from how `FS` behaves if it matches until the last character. +First record will be empty if `RS` matches from the start of input file. However, if `RS` matches until the very last character of the input file, there won't be an empty record as the last record. This is different from how `FS` behaves if it matches until the last character. ```bash -$ # first record is empty and last record is newline character -$ # change 'echo' command to 'printf' and see what changes +# first record is empty and the last record is a newline character +# change 'echo' command to 'printf' and see what changes $ echo '123string42with777' | awk -v RS='[0-9]+' '{print NR ") [" $0 "]"}' 1) [] 2) [string] @@ -2041,6 +2352,7 @@ $ echo '123string42with777' | awk -v RS='[0-9]+' '{print NR ") [" $0 "]"}' 4) [ ] +# difference between FS and RS when they match till the end of the input $ printf '123string42with777' | awk -v FS='[0-9]+' '{print NF}' 4 $ printf '123string42with777' | awk -v RS='[0-9]+' 'END{print NR}' @@ -2050,8 +2362,8 @@ $ printf '123string42with777' | awk -v RS='[0-9]+' 'END{print NR}' The `RT` special variable contains the text that was matched by `RS`. This variable gets updated for every input record. ```bash -$ # print record number and value of RT for that record -$ # last record has empty RT because it didn't end with digits +# print record number and the value of RT for that record +# last record has empty RT because it didn't end with digits $ echo 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '{print NR, RT}' 1 123 2 42 @@ -2061,52 +2373,55 @@ $ echo 'Sample123string42with777numbers' | awk -v RS='[0-9]+' '{print NR, RT}' ## Paragraph mode -As a special case, when `RS` is set to empty string, one or more consecutive empty lines is used as the input record separator. Consider the below sample file: +As a special case, when `RS` is set to an empty string, one or more consecutive empty lines is used as the input record separator. Consider the below sample file: ```bash -$ cat programming_quotes.txt -Debugging is twice as hard as writing the code in the first place. -Therefore, if you write the code as cleverly as possible, you are, -by definition, not smart enough to debug it by Brian W. Kernighan +$ cat para.txt +Hello World + +Hi there +How are you -Some people, when confronted with a problem, think - I know, I will -use regular expressions. Now they have two problems by Jamie Zawinski +Just do-it +Believe it -A language that does not affect the way you think about programming, -is not worth knowing by Alan Perlis +banana +papaya +mango -There are 2 hard problems in computer science: cache invalidation, -naming things, and off-by-1 errors by Leon Bambrick +Much ado about nothing +He he he +Adios amigo ``` -Here's an example of processing input paragraph wise. +Here's an example of processing input paragraph wise: ```bash -$ # print all paragraphs containing 'you' -$ # note that there'll be an empty line after the last record -$ awk -v RS= -v ORS='\n\n' '/you/' programming_quotes.txt -Debugging is twice as hard as writing the code in the first place. -Therefore, if you write the code as cleverly as possible, you are, -by definition, not smart enough to debug it by Brian W. Kernighan +# print all paragraphs containing 'do' +# note that there'll be an empty line after the last record +$ awk -v RS= -v ORS='\n\n' '/do/' para.txt +Just do-it +Believe it -A language that does not affect the way you think about programming, -is not worth knowing by Alan Perlis +Much ado about nothing +He he he +Adios amigo ``` -The empty line at the end is a common problem when dealing with custom record separators. You could either process the output to remove it or add logic to avoid the extras. Here's one workaround for the previous example. +The empty line at the end is a common problem when dealing with custom record separators. You could either process the output further to remove it or add logic to handle the issue in `awk` itself. Here's one possible workaround for the previous example: ```bash -$ # here ORS is left as default newline character -$ # uninitialized variable 's' will be empty for the first match -$ # afterwards, 's' will provide the empty line separation -$ awk -v RS= '/you/{print s $0; s="\n"}' programming_quotes.txt -Debugging is twice as hard as writing the code in the first place. -Therefore, if you write the code as cleverly as possible, you are, -by definition, not smart enough to debug it by Brian W. Kernighan +# here ORS is left as the default newline character +# uninitialized variable 's' will be empty for the first match +# afterwards, 's' will provide the empty line separation +$ awk -v RS= '/do/{print s $0; s="\n"}' para.txt +Just do-it +Believe it -A language that does not affect the way you think about programming, -is not worth knowing by Alan Perlis +Much ado about nothing +He he he +Adios amigo ``` Paragraph mode is not the same as using `RS='\n\n+'` because `awk` does a few more operations when `RS` is empty. See [gawk manual: multiline records](https://www.gnu.org/software/gawk/manual/html_node/Multiple-Line.html#Multiple-Line) for details. Important points are quoted below and illustrated with examples. @@ -2116,7 +2431,7 @@ Paragraph mode is not the same as using `RS='\n\n+'` because `awk` does a few mo ```bash $ s='\n\n\na\nb\n\n12\n34\n\nhi\nhello\n' -$ # paragraph mode +# paragraph mode $ printf '%b' "$s" | awk -v RS= -v ORS='\n---\n' 'NR<=2' a b @@ -2125,7 +2440,7 @@ b 34 --- -$ # RS is '\n\n+' instead of paragraph mode +# RS is '\n\n+' instead of paragraph mode $ printf '%b' "$s" | awk -v RS='\n\n+' -v ORS='\n---\n' 'NR<=2' --- @@ -2139,13 +2454,13 @@ b ```bash $ s='\n\n\na\nb\n\n12\n34\n\nhi\nhello\n' -$ # paragraph mode +# paragraph mode $ printf '%b' "$s" | awk -v RS= -v ORS='\n---\n' 'END{print}' hi hello --- -$ # RS is '\n\n+' instead of paragraph mode +# RS is '\n\n+' instead of paragraph mode $ printf '%b' "$s" | awk -v RS='\n\n+' -v ORS='\n---\n' 'END{print}' hi hello @@ -2158,15 +2473,15 @@ hello ```bash $ s='a:b\nc:d\n\n1\n2\n3' -$ # FS is a single character in paragraph mode +# FS is a single character in paragraph mode $ printf '%b' "$s" | awk -F: -v RS= -v ORS='\n---\n' '{$1=$1} 1' a b c d --- 1 2 3 --- -$ # FS is a regexp in paragraph mode -$ printf '%b' "$s" | awk -F':+' -v RS= -v ORS='\n---\n' '{$1=$1} 1' +# FS is a regexp in paragraph mode +$ printf '%b' "$s" | awk -F'[:]' -v RS= -v ORS='\n---\n' '{$1=$1} 1' a b c d --- @@ -2175,7 +2490,7 @@ c d 3 --- -$ # FS is single character and RS is '\n\n+' instead of paragraph mode +# FS is a single character and RS is '\n\n+' instead of paragraph mode $ printf '%b' "$s" | awk -F: -v RS='\n\n+' -v ORS='\n---\n' '{$1=$1} 1' a b c d @@ -2188,26 +2503,26 @@ c d ## NR vs FNR -There are two special variables related to record number. You've seen `NR` earlier in the chapter, but here's some more examples. +There are two special variables related to record numbering. You've seen `NR` earlier in the chapter, but here are some more examples. ```bash -$ # same as: head -n2 +# same as: head -n2 $ seq 5 | awk 'NR<=2' 1 2 -$ # same as: tail -n1 +# same as: tail -n1 $ awk 'END{print}' table.txt yellow banana window shoes 3.14 -$ # change first field content only for second line +# change the first field content only for the second line $ awk 'NR==2{$1="green"} 1' table.txt brown bread mat hair 42 green cake mug shirt -7 yellow banana window shoes 3.14 ``` -All the examples with `NR` so far has been with single file input. If there are multiple file inputs, then you can choose between `NR` and the second special variable `FNR`. The difference is that `NR` contains total records read so far whereas `FNR` contains record number of only the current file being processed. Here's some examples to show them in action. You'll see more examples in later chapters as well. +All the examples with `NR` so far has been with a single file input. If there are multiple file inputs, then you can choose between `NR` and the second special variable `FNR`. The difference is that `NR` contains total records read so far whereas `FNR` contains record number of only the current file being processed. Here are some examples to show them in action. You'll see more examples in later chapters as well. ```bash $ awk -v OFS='\t' 'BEGIN{print "NR", "FNR", "Content"} @@ -2221,13 +2536,13 @@ NR FNR Content 6 2 blue cake mug shirt -7 7 3 yellow banana window shoes 3.14 -$ # same as: head -q -n1 +# same as: head -q -n1 $ awk 'FNR==1' report.log table.txt blah blah Error: second record starts brown bread mat hair 42 ``` ->![info](images/info.svg) For large input files, use `exit` to avoid unnecessary record processing. +For large input files, use `exit` to avoid unnecessary record processing. ```bash $ seq 3542 4623452 | awk 'NR==2452{print; exit}' @@ -2236,7 +2551,7 @@ $ seq 3542 4623452 | awk 'NR==250; NR==2452{print; exit}' 3791 5993 -$ # here is a sample time comparison +# here is a sample time comparison $ time seq 3542 4623452 | awk 'NR==2452{print; exit}' > f1 real 0m0.004s $ time seq 3542 4623452 | awk 'NR==2452' > f2 @@ -2245,13 +2560,15 @@ real 0m0.395s ## Summary -This chapter showed you how to change the way input content is split into records and how to set the string to be appended when `print` is used. The paragraph mode is useful for processing multiline records separated by empty lines. You also learned two special variables related to record numbers and where to use them. +This chapter showed you how to change the way input content is split into records and how to set the string to be appended when `print` is used. The paragraph mode is useful for processing multiline records separated by empty lines. You also learned two special variables related to record numbers and when to use them. So far, you've used `awk` to manipulate file content without modifying the source file. The next chapter will discuss how to write back the changes to the original input files. ## Exercises -**a)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** The input file `jumbled.txt` consists of words separated by various delimiters. Display all words that contain `an` or `at` or `in` or `it`, one per line. ```bash $ cat jumbled.txt @@ -2268,25 +2585,25 @@ intuition titanic ``` -**b)** Emulate `paste -sd,` with `awk`. +**2)** Emulate `paste -sd,` with `awk`. ```bash -$ # this command joins all input lines with ',' character +# this command joins all input lines with the ',' character $ paste -sd, addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # make sure there's no ',' at end of the line -$ # and that there's a newline character at the end of the line +# make sure there's no ',' at end of the line +# and that there's a newline character at the end of the line $ awk ##### add your solution here Hello World,How are you,This game is good,Today is sunny,12345,You are funny -$ # if there's only one line in input, again make sure there's no trailing ',' -$ printf 'foo' | paste -sd, -foo -$ printf 'foo' | awk ##### add your solution here -foo +# if there's only one line in input, again make sure there's no trailing ',' +$ printf 'fig' | paste -sd, +fig +$ printf 'fig' | awk ##### add your solution here +fig ``` -**c)** For the input file `scores.csv`, add another column named `GP` which is calculated out of `100` by giving `50%` weightage to `Maths` and `25%` each for `Physics` and `Chemistry`. +**3)** For the input file `scores.csv`, add another column named **GP** which is calculated out of 100 by giving 50% weightage to Maths and 25% each for Physics and Chemistry. ```bash $ awk ##### add your solution here @@ -2299,7 +2616,7 @@ Ort,68,72,66,68.5 Ith,100,100,100,100 ``` -**d)** For the input file `sample.txt`, extract all paragraphs containing `do` and exactly two lines. +**4)** For the input file `sample.txt`, extract paragraphs containing `do` and exactly two lines. ```bash $ cat sample.txt @@ -2318,7 +2635,7 @@ No doubt you like it too Much ado about nothing He he he -$ # note that there's no extra empty line at the end of the output +# note that there's no extra empty line at the end of the output $ awk ##### add your solution here Just do-it Believe it @@ -2327,10 +2644,10 @@ Much ado about nothing He he he ``` -**e)** For the input file `sample.txt`, change all paragraphs into single line by joining lines using `.` and a space character as the separator. And add a final `.` to each paragraph. +**5)** For the input file `sample.txt`, change each paragraph to a single line by joining lines using `.` and a space character as the separator. Also, add a final `.` to each paragraph. ```bash -$ # note that there's no extra empty line at the end of the output +# note that there's no extra empty line at the end of the output $ awk ##### add your solution here Hello World. @@ -2343,7 +2660,7 @@ Today is sunny. Not a bit funny. No doubt you like it too. Much ado about nothing. He he he. ``` -**f)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only first two fields from each input line. The field separators should be space for first two lines and `,` for the rest of the lines. +**6)** The various input/output separators can be changed dynamically and comes into effect during the next input/output operation. For the input file `mixed_fs.txt`, retain only the first two fields from each input line. The field separators should be space for the first two lines and `,` for the rest of the lines. ```bash $ cat mixed_fs.txt @@ -2351,33 +2668,40 @@ rose lily jasmine tulip pink blue white yellow car,mat,ball,basket green,brown,black,purple +apple,banana,cherry $ awk ##### add your solution here rose lily pink blue car,mat green,brown +apple,banana ``` -**g)** For the input file `table.txt`, get the outputs shown below. All of them feature line number as part of the solution. +**7)** For the input file `table.txt`, print other than the second line. ```bash -$ # print other than second line $ awk ##### add your solution here brown bread mat hair 42 yellow banana window shoes 3.14 +``` + +**8)** For the `table.txt` file, print only the line number for lines containing `air` or `win`. -$ # print line number of lines containing 'air' or 'win' +```bash $ awk ##### add your solution here 1 3 +``` + +**9)** For the input file `table.txt`, calculate the sum of numbers in the last column, excluding the second line. -$ # calculate the sum of numbers in last column, except second line +```bash $ awk ##### add your solution here 45.14 ``` -**h)** Print second and fourth line for every block of five lines. +**10)** Print the second and fourth line for every block of five lines. ```bash $ seq 15 | awk ##### add your solution here @@ -2389,7 +2713,7 @@ $ seq 15 | awk ##### add your solution here 14 ``` -**i)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use `RT`. In real world, you can use `sed -E 's/\b(\w|(\w)\w*\2)\b/{&}/g' odd.txt` to solve this. +**11)** For the input file `odd.txt`, surround all whole words with `{}` that start and end with the same word character. This is a contrived exercise to make you use the `RT` variable (`sed -E 's/\b(\w)(\w*\1)?\b/{&}/g' odd.txt` would be a simpler solution). ```bash $ cat odd.txt @@ -2401,13 +2725,65 @@ $ awk ##### add your solution here {RoaR} to {wow}- ``` +**12)** Print only the second field of the third line, if any, from these input files: `addr.txt`, `sample.txt` and `copyright.txt`. Consider space as the field separator. + +```bash +$ awk ##### add your solution here +game +day +bla +``` + +**13)** The input file `ip.txt` has varying amount of empty lines between the records, change them to be always two empty lines. Also, remove the empty lines at the start and end of the file. + +```bash +$ awk ##### add your solution here +hello + + +world + + +apple +banana +cherry + + +tea coffee +chocolate +``` + +**14)** The sample string shown below uses `cat` as the record separator (irrespective of case). Display only the even numbered records separated by a single empty line. + +```bash +$ s='applecatfigCaT12345cAtbananaCATguava:caT:mangocat3' +$ echo "$s" | awk ##### add your solution here +fig + +banana + +:mango +``` + +**15)** Input has the ASCII NUL character as the record separator. Change it to dot and newline characters as shown below. + +```bash +$ printf 'apple\npie\0banana\ncherry\0' | awk ##### add your solution here +apple +pie. +banana +cherry. +``` + # In-place file editing -In the examples presented so far, the output from `awk` was displayed on the terminal. This chapter will discuss how to write back the changes to the input file(s) itself using the `-i` command line option. This option can be configured to make changes to the input file(s) with or without creating a backup of original contents. +In the examples presented so far, the output from `awk` was displayed on the terminal. This chapter will discuss how to write back the changes to the input files using the `-i` command line option. You can also choose to create backups of the original files. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## Without backup -The `-i` option allows you to load libraries (see [gawk manual: -i option](https://www.gnu.org/software/gawk/manual/gawk.html#index-_002di-option) for details). `inplace` library comes by default with the `awk` installation. Use `-i inplace` to indicate that `awk` should modify the original input itself. Use this option with caution, preferably after testing that the code is working as intended. +The `-i` option allows you to load libraries (see [gawk manual: -i option](https://www.gnu.org/software/gawk/manual/gawk.html#index-_002di-option) for details). The `inplace` library comes by default with the `awk` installation. Use `-i inplace` to indicate that you want to modify the original input itself. Use this option with caution, preferably after testing that the code is working as intended. ```bash $ cat greet.txt @@ -2415,7 +2791,7 @@ Hi there Have a nice day Good bye -$ # prefix line numbers +# prefix line numbers $ awk -i inplace '{print NR ". " $0}' greet.txt $ cat greet.txt 1. Hi there @@ -2423,7 +2799,7 @@ $ cat greet.txt 3. Good bye ``` -Multiple input files are treated individually and changes are written back to respective files. +Multiple input files are treated separately and changes are written back to the respective files. ```bash $ cat f1.txt @@ -2454,24 +2830,32 @@ Name,Physics,Maths Moe,76,82 Raj,56,64 -$ # original file is preserved in 'f3.txt.bkp' +# original file will be preserved in 'f3.txt.bkp' $ cat f3.txt.bkp Name Physics Maths Moe 76 82 Raj 56 64 ``` ->![info](images/info.svg) Earlier versions of `awk` used `INPLACE_SUFFIX` variable instead of `inplace::suffix`. Also, you can use `inplace::enable` variable to dynamically control whether files should be in-placed or not. See [gawk manual: Enabling In-Place File Editing](https://www.gnu.org/software/gawk/manual/gawk.html#Extension-Sample-Inplace) for more details. +>![info](images/info.svg) In earlier versions of `awk`, the `INPLACE_SUFFIX` variable was used instead of `inplace::suffix`. Also, you can use `inplace::enable` variable to dynamically control whether files should be in-placed or not. See [gawk manual: Enabling In-Place File Editing](https://www.gnu.org/software/gawk/manual/gawk.html#Extension-Sample-Inplace) for more details. + +## Security implications + +By default, when you use the `-i inplace` option, the `awk` command will look for a file named `inplace` or `inplace.awk` in the current working directory. If such files aren't found, then `awk` will look for them in the installation directories, which is what you'd usually want. + +For secure applications, you shouldn't rely on the `-i inplace` option. Instead, you could either use the absolute path of the `inplace` file from the installation directory, or manipulate `AWKPATH` (environment variable that controls the behavior of searching for files to be loaded) to be restricted to secure paths only. See [this unix.stackexchange thread](https://unix.stackexchange.com/q/749645/109046) for more details about this issue and workarounds. ## Summary -This chapter discussed about the `-i inplace` option which is useful when you need to edit a file in-place. This is particularly useful in automation scripts. But, do ensure that you have tested the `awk` command before applying to actual files if you need to use this option without creating backups. +This chapter discussed about the `-i inplace` option which is useful when you need to edit a file in-place. This is particularly useful in automation scripts. But, do ensure that you have tested the `awk` command before applying changes to the actual files if you need to use this option without creating backups. -The next chapter will revisit the use of shell variables in `awk` commands. +The next chapter will discuss the use of shell variables in more detail. ## Exercises -**a)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** For the input file `copyright.txt`, replace `copyright: 2018` with `copyright: 2020` and write back the changes to `copyright.txt` itself. The original contents should get saved to `copyright.txt.orig` ```bash $ cat copyright.txt @@ -2493,7 +2877,7 @@ bla bla bla copyright: 2018 ``` -**b)** For the input files `nums1.txt` and `nums2.txt`, retain only second and third lines and write back the changes to their respective files. No need to create backups. +**2)** For the input files `nums1.txt` and `nums2.txt`, retain only the second and third lines and write back the changes to their respective files. No need to create backups. ```bash $ cat nums1.txt @@ -2518,17 +2902,21 @@ $ cat nums2.txt # Using shell variables -When it comes to automation and scripting, you'd often need to construct commands that can accept input from user, file, output of a shell command, etc. As mentioned before, this book assumes `bash` as the shell being used. +When it comes to automation and scripting, you'd often need to construct commands that can accept input from the user, incorporate data from a file or the output of a tool and so on. + +In this chapter, you'll see how to pass information saved in shell variables to `awk` commands. As mentioned before, this book assumes `bash` as the shell being used. + +>![info](images/info.svg) As an example, see my repo [ch: command help](https://github.com/learnbyexample/command_help/blob/master/ch) for a practical shell script where commands are constructed dynamically. ->![info](images/info.svg) As an example, see my repo [ch: command help](https://github.com/learnbyexample/command_help/blob/master/ch) for a practical shell script, where commands are constructed dynamically. +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## -v option The most common method is to use the `-v` command line option. ```bash -$ # assume that the 's' variable is part of some bash script -$ # or perhaps a variable that has stored the output of a shell command +# assume that the 's' variable is part of some bash script +# or perhaps a variable that stores the output of a shell command $ s='cake' $ awk -v word="$s" '$2==word' table.txt blue cake mug shirt -7 @@ -2539,30 +2927,30 @@ blue cake mug shirt -7 To access environment variables of the shell, you can call the special array variable `ENVIRON` with the name of the environment variable as a string key. ```bash -$ # existing environment variable -$ # output shown here is for my machine, would differ for you +# existing environment variable +# output shown here is for my machine, would differ for you $ awk 'BEGIN{print ENVIRON["HOME"]}' /home/learnbyexample $ awk 'BEGIN{print ENVIRON["SHELL"]}' /bin/bash -$ # defined along with awk command -$ # note that the variable is placed before awk +# defined along with the awk command +# note that the variable is placed as a prefix to the command $ word='hello' awk 'BEGIN{print ENVIRON["word"]}' hello ``` -`ENVIRON` is a good way to get around `awk`'s interpretation of escape sequences. This is especially helpful for fixed string matching, see [index](#index) section for examples. +`ENVIRON` is a good way to get around `awk`'s interpretation of escape sequences. This is especially helpful for fixed string matching (see the [index](#index) section for examples). ```bash $ s='hi\nbye' -$ # when passed via -v option +# when passed via -v option $ awk -v ip="$s" 'BEGIN{print ip}' hi bye -$ # when passed as an environment variable +# when passed as an environment variable $ ip="$s" awk 'BEGIN{print ENVIRON["ip"]}' hi\nbye ``` @@ -2570,43 +2958,45 @@ hi\nbye Here's another example when a regexp is passed to an `awk` command. ```bash -$ # when passed via -v option +# when passed via -v option $ r='\Bpar\B' -$ awk -v rgx="$r" '$0 ~ rgx' word_anchors.txt -awk: warning: escape sequence `\B' treated as plain `B' +$ awk -v rgx="$r" '$0 ~ rgx' anchors.txt +awk: warning: escape sequence '\B' treated as plain 'B' $ r='\\Bpar\\B' -$ awk -v rgx="$r" '$0 ~ rgx' word_anchors.txt +$ awk -v rgx="$r" '$0 ~ rgx' anchors.txt apparent effort two spare computers -$ # when passed as an environment variable +# when passed as an environment variable $ r='\Bpar\B' -$ rgx="$r" awk '$0 ~ ENVIRON["rgx"]' word_anchors.txt +$ rgx="$r" awk '$0 ~ ENVIRON["rgx"]' anchors.txt apparent effort two spare computers ``` ## Summary -This short chapter revisited the `-v` command line option and introduced the `ENVIRON` special array. These are particularly useful when the `awk` command is part of a shell script. More about arrays will be discussed in later chapters. +This short chapter revisited the `-v` command line option and introduced the `ENVIRON` special array. These are particularly useful when the `awk` command is part of a shell script. Arrays will be discussed in more detail in the later chapters. The next chapter will cover control structures. ## Exercises -**a)** Use contents of `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** Use contents of the `s` variable to display all matching lines from the input file `sample.txt`. Assume that the `s` variable doesn't have any regexp metacharacters and construct a solution such that only whole words are matched. ```bash $ s='do' -$ ##### add your solution here +##### add your solution here Just do-it ``` -**b)** Replace all occurrences of `o` for the input file `addr.txt` with literal contents of `s` variable. Assume that the `s` variable has regexp metacharacters. +**2)** Replace all occurrences of `o` for the input file `addr.txt` with the literal contents of the `s` variable. Assume that the `s` variable has regexp metacharacters. ```bash $ s='\&/' -$ ##### add your solution here +##### add your solution here Hell\&/ W\&/rld H\&/w are y\&/u This game is g\&/\&/d @@ -2617,21 +3007,23 @@ Y\&/u are funny # Control Structures -You've already seen various examples requiring conditional expressions. This chapter will revisit `if-else` control structure along with the ternary operator. Then you will see some examples with explicit loops (recall that `awk` is already looping over input records). Followed by keywords that control loop flow. Most of the syntax is very similar to the `C` language. +You've already seen various examples requiring conditional expressions. This chapter will revisit the `if-else` control structure and the ternary operator. Then you will see some examples with explicit loops (recall that `awk` is already looping over input records). Followed by keywords that control loop flow. Most of the syntax is very similar to the `C` language. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## if-else -Mostly, when you need to use `if` control structure, you can get away with using `condX{actionX}` format in `awk` one-liners. But sometimes, you need additional condition checking within such action blocks. Or, you might need it inside loops. The syntax is `if(cond){action}` where the braces are optional if you need only one statement. `if` can be optionally followed by multiple `else if` conditions and a final `else` condition. These can also be nested as needed. +Mostly, when you need to use `if` control structure, you can get away with using the `condX{actionX}` blocks instead. But sometimes, you need additional condition checking within such action blocks. Or, you might need it inside loops. The syntax is `if(cond){action}` where the braces are optional if you need only one statement. `if` can be optionally followed by multiple `else if` conditions and a final `else` condition. These can also be nested as needed. ```bash -$ # print all lines starting with 'b' -$ # additionally, if last column is > 0, then print some more info +# print all lines starting with 'b' +# additionally, if the last column is > 0, then print some more text $ awk '/^b/{print; if($NF>0) print "------"}' table.txt brown bread mat hair 42 ------ blue cake mug shirt -7 -$ # same as above, but includes 'else' condition as well +# same as above, but uses the 'else' condition as well $ awk '/^b/{print; if($NF>0) print "------"; else print "======"}' table.txt brown bread mat hair 42 ------ @@ -2639,15 +3031,15 @@ blue cake mug shirt -7 ====== ``` -The ternary operator often reduces the need for single statement `if-else` cases. +The ternary operator often reduces the need for single statement `if-else` control structures. ```bash -$ # same as: awk '{if(NR%3) ORS="-" ; else ORS=RS} 1' +# same as: awk '{if(NR%3) ORS="-" ; else ORS=RS} 1' $ seq 6 | awk '{ORS = NR%3 ? "-" : RS} 1' 1-2-3 4-5-6 -$ # note that parentheses is necessary for print in this case +# note that parentheses is necessary for print in this case $ awk '/^b/{print; print($NF>0 ? "------" : "======")}' table.txt brown bread mat hair 42 ------ @@ -2655,13 +3047,11 @@ blue cake mug shirt -7 ====== ``` ->![info](images/info.svg) See also [stackoverflow: finding min and max value of a column](https://stackoverflow.com/a/29784278). - ->![info](images/info.svg) See also [gawk manual: switch](https://www.gnu.org/software/gawk/manual/gawk.html#Switch-Statement). +>![info](images/info.svg) See also [stackoverflow: finding min and max value of a column](https://stackoverflow.com/a/29784278) and [gawk manual: switch](https://www.gnu.org/software/gawk/manual/gawk.html#Switch-Statement). ## loops -`for` loops are handy when you are working with arrays. Also for processing input fields, since `$N` syntax allows passing an expression instead of fixed value. +`for` loops are handy when you are working with arrays. Also for processing input fields, since `$N` syntax allows passing an expression instead of just fixed values. ```bash $ awk 'BEGIN{for(i=2; i<7; i+=2) print i}' @@ -2669,7 +3059,7 @@ $ awk 'BEGIN{for(i=2; i<7; i+=2) print i}' 4 6 -$ # looping each field +# looping each field $ awk -v OFS=, '{for(i=1; i<=NF; i++) if($i ~ /^[bm]/) $i="["$i"]"} 1' table.txt [brown],[bread],[mat],hair,42 [blue],cake,[mug],shirt,-7 @@ -2689,14 +3079,14 @@ EEE Tia 59 ECE Om 92 CSE Amy 67 -$ # average marks for each department +# average marks for each department $ awk 'NR>1{d[$1]+=$3; c[$1]++} END{for(k in d) print k, d[k]/c[k]}' marks.txt ECE 72.3333 EEE 63.5 CSE 74 ``` -You can use `break` and `continue` to alter the normal flow of loops. `break` will cause the current loop to quit immediately without processing the remaining statements and iterations. `continue` will skip the remaining statements in the loop and start next iteration. +You can use `break` and `continue` to alter the normal flow of loops. `break` will cause the current loop to quit immediately without processing the remaining statements and iterations. `continue` will skip the remaining statements in the loop and start the next iteration. ```bash $ awk -v OFS=, '{for(i=1; i<=NF; i++) if($i ~ /b/){NF=i; break}} 1' table.txt @@ -2707,7 +3097,7 @@ yellow,banana >![info](images/info.svg) See also [stackoverflow: find missing numbers from sequential list](https://stackoverflow.com/q/38491676/4082052). -`awk` supports `while` and `do-while` loop mechanisms as well. +`awk` supports the `while` and `do-while` loop mechanisms as well. ```bash $ awk 'BEGIN{i=6; while(i>0){print i; i-=2}}' @@ -2715,7 +3105,7 @@ $ awk 'BEGIN{i=6; while(i>0){print i; i-=2}}' 4 2 -$ # recursive substitution +# recursive substitution $ echo 'titillate' | awk '{while(gsub(/til/, "")) print}' tilate ate @@ -2727,10 +3117,10 @@ ate ## next -`next` is similar to `continue` statement but it acts on the default loop that goes through the input records. It doesn't affect `BEGIN` or `END` blocks as they are outside the record looping. When `next` is executed, rest of the statements will be skipped and next input record will be fetched for processing. +`next` is similar to the `continue` statement but it acts on the default loop that goes through the input records. It doesn't affect `BEGIN` or `END` blocks as they are outside the record looping. When `next` is executed, rest of the statements will be skipped and next input record will be fetched for processing. ```bash -$ awk '/\![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -2799,7 +3191,7 @@ $ awk ##### add your solution here 75 ``` -**b)** For the input file `table.txt`, change the field separator from space to `,` character. Also, any field not containing digit characters should be surrounded by double quotes. +**2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. ```bash $ awk ##### add your solution here @@ -2808,7 +3200,7 @@ $ awk ##### add your solution here "yellow","banana","window","shoes",3.14 ``` -**c)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. +**3)** For each input line of the file `secrets.txt`, remove all characters except the last character of each field. Assume space as the input field separator. ```bash $ cat secrets.txt @@ -2822,30 +3214,31 @@ field ice-2 ``` -**d)** Emulate `q` and `Q` commands of `sed` as shown below. +**4)** For the input file `sample.txt`, emulate the `q` and `Q` commands of `sed` as shown below. ```bash -$ # sed '/are/q' sample.txt will print until (and including) line contains 'are' +# sed '/are/q' sample.txt will print till the line containing 'are' $ awk ##### add your solution here Hello World Good day How are you -$ # sed '/are/Q' sample.txt will print until (but excluding) line contains 'are' +# sed '/are/Q' sample.txt is similar to the 'q' command, +# but the matching line won't be part of the output $ awk ##### add your solution here Hello World Good day ``` -**e)** For the input file `addr.txt`: +**5)** For the input file `addr.txt`: -* if line contains `e` +* if a line contains `e` * delete all occurrences of `e` * surround all consecutive repeated characters with `{}` - * assume that input will not have more than two consecutive repeats -* if line doesn't contain `e` but contains `u` + * assume that the input will not have more than two consecutive repeats +* if a line doesn't contain `e` but contains `u` * surround all lowercase vowels in that line with `[]` ```bash @@ -2858,23 +3251,33 @@ T[o]d[a]y [i]s s[u]nny You ar fu{nn}y ``` +**6)** The goal is to print `found you` if the input file contains `you` and `not found` otherwise. However, both the `print` statements are executed in the `awk` code shown below. Change it to work as expected. + +```bash +$ awk '/you/{print "found you"; exit} END{print "not found"}' addr.txt +found you +not found +``` + # Built-in functions -You've already seen some built-in functions in detail, such as `sub`, `gsub` and `gensub` functions. This chapter will discuss many more built-ins that are often used in one-liners. You'll also see more examples with arrays. +You've already seen some built-in functions in detail, such as the `sub`, `gsub` and `gensub` functions. This chapter will discuss many more built-ins that are often used in one-liners. You'll also see more examples with arrays. >![info](images/info.svg) See [gawk manual: Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Functions) for details about all the built-in functions as well as how to define your own functions. +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. + ## length -`length` function returns number of characters for the given string argument. By default, it acts on `$0` variable and a number argument is converted to string automatically. +The `length` function returns the number of characters for the given string argument. By default, it acts on the `$0` variable. Numeric arguments will be automatically converted to strings. ```bash $ awk 'BEGIN{print length("road"); print length(123456)}' 4 6 -$ # recall that record separator isn't part of $0 -$ # so, line ending won't be counted here +# recall that the record separator isn't part of $0 +# so, line ending won't be counted here $ printf 'fox\ntiger\n' | awk '{print length()}' 3 5 @@ -2884,7 +3287,7 @@ brown bread mat hair 42 blue cake mug shirt -7 ``` -If you need number of bytes, instead of number of characters, then use the `-b` command line option as well. Locale can also play a role. +The `-b` command line option is handy if you need the number of bytes, instead of the number of characters. Locale also plays a role. ```bash $ echo 'αλεπού' | awk '{print length()}' @@ -2895,25 +3298,27 @@ $ echo 'αλεπού' | LC_ALL=C awk '{print length()}' 12 ``` +>![info](images/info.svg) For the above illustration, you can also use `match($0, /$/)-1` to get the byte count, irrespective of the locale or the use of the `-b` option. This solution was suggested in [this issue](https://github.com/learnbyexample/learn_gnuawk/issues/5). + ## Array sorting -By default, array looping with `for(key in array)` format gives you elements in random order. By setting a special value to `PROCINFO["sorted_in"]`, you can control the order in which you wish to retrieve the elements. See [gawk manual: Using Predefined Array Scanning Orders](https://www.gnu.org/software/gawk/manual/gawk.html#Controlling-Scanning) for other options and details. +By default, array looping with the `for(key in array)` format gives you elements in random order. By setting a special value to `PROCINFO["sorted_in"]`, you can control the order in which you wish to retrieve the elements. See [gawk manual: Using Predefined Array Scanning Orders](https://www.gnu.org/software/gawk/manual/gawk.html#Controlling-Scanning) for other options and details. ```bash -$ # by default, array is traversed in random order +# by default, array is traversed in random order $ awk 'BEGIN{a["z"]=1; a["x"]=12; a["b"]=42; for(i in a) print i, a[i]}' x 12 z 1 b 42 -$ # index (i.e. keys) sorted in ascending order as strings +# index (i.e. keys) sorted in ascending order as strings $ awk 'BEGIN{PROCINFO["sorted_in"] = "@ind_str_asc"; a["z"]=1; a["x"]=12; a["b"]=42; for(i in a) print i, a[i]}' b 42 x 12 z 1 -$ # value sorted in ascending order as numbers +# value sorted in ascending order as numbers $ awk 'BEGIN{PROCINFO["sorted_in"] = "@val_num_asc"; a["z"]=1; a["x"]=12; a["b"]=42; for(i in a) print i, a[i]}' z 1 @@ -2921,7 +3326,7 @@ x 12 b 42 ``` -Here's an example of sorting input lines in ascending order based on second column, treating the data as string. +Here's an example of sorting input lines in ascending order based on the second column, treating the data as strings. ```bash $ awk 'BEGIN{PROCINFO["sorted_in"] = "@ind_str_asc"} @@ -2933,25 +3338,25 @@ blue cake mug shirt -7 ## split -The `split` function provides the same features as the record splitting done using `FS`. This is helpful when you need the results as an array for some reason, for example to use array sorting features. Or, when you need to further split a field content. `split` accepts four arguments, the last two being optional. +The `split` function provides the same features as the record splitting done using `FS`. This is helpful when you need the results as an array for some reason, for example to use array sorting features. Or, when you need to further split a field content. `split` accepts four arguments, the last two being optional: * First argument is the string to be split -* Second argument is the array variable to save results +* Second argument is the array variable that saves the results * Third argument is the separator, whose default is `FS` -The return value of `split` function is number of fields, similar to `NF` variable. The array gets indexed starting from `1` for first element, `2` for second element and so on. If the array already had some value, it gets overwritten with the new value. +The return value of the `split` function is number of fields, similar to the `NF` variable. The array gets indexed starting from `1` for the first element, `2` for the second element and so on. If the array already had some value, it gets overwritten with the new result. ```bash -$ # same as: awk '{print $2}' +# same as: awk '{print $2}' $ printf ' one \t two\t\t\tthree ' | awk '{split($0, a); print a[2]}' two -$ # example with both FS and split in action +# example with both FS and split in action $ s='Joe,1996-10-25,64,78' $ echo "$s" | awk -F, '{split($2, d, "-"); print $1 " was born in " d[1]}' Joe was born in 1996 -$ # single row to multiple rows based on splitting last field +# single row to multiple rows based on splitting the last field $ s='air,water,12:42:3' $ echo "$s" | awk -F, '{n=split($NF, a, ":"); for(i=1; i<=n; i++) print $1, $2, a[i]}' @@ -2960,7 +3365,7 @@ air water 42 air water 3 ``` -Similar to `FS`, you can use regular expression as a separator. +Similar to `FS`, you can use a regular expression as the separator. ```bash $ s='Sample123string42with777numbers' @@ -2968,9 +3373,7 @@ $ echo "$s" | awk '{split($0, s, /[0-9]+/); print s[2], s[4]}' string numbers ``` -The fourth argument provides a feature not present with `FS` splitting. It allows you to save the portions matched by the separator in an array. Quoting from [gawk manual: split()](https://www.gnu.org/software/gawk/manual/gawk.html#index-split_0028_0029-function-1): - ->If `fieldsep` is a single space, then any leading whitespace goes into `seps[0]` and any trailing whitespace goes into `seps[n]`, where `n` is the return value of `split()` (i.e., the number of elements in `array`). +The fourth argument provides a feature not present with `FS` splitting. It allows you to save the portions matched by the separator in an array. ```bash $ s='Sample123string42with777numbers' @@ -2981,7 +3384,11 @@ $ echo "$s" | awk '{n=split($0, s, /[0-9]+/, seps); 777 ``` -Here's an example where `split` is merely used to initialize an array based on empty separator. Unlike `$N` syntax where an expression resulting in floating-point number is acceptable, array index has to be an integer. Hence, `int` function is used to convert floating-point result to integer in the example below. +>![info](images/info.svg) Quoting from [gawk manual: split()](https://www.gnu.org/software/gawk/manual/gawk.html#index-split_0028_0029-function-1): +> +>If `fieldsep` is a single space, then any leading whitespace goes into `seps[0]` and any trailing whitespace goes into `seps[n]`, where `n` is the return value of `split()` (i.e., the number of elements in `array`). + +Here's an example where `split` helps to initialize an array using an empty separator. Unlike `$N` syntax where an expression resulting in a floating-point number is acceptable, array index has to be an integer only. Hence, the `int` function is used to convert the floating-point result to an integer in the example below. ```bash $ cat marks.txt @@ -2994,7 +3401,7 @@ EEE Tia 59 ECE Om 92 CSE Amy 67 -$ # adds a new grade column based on marks in 3rd column +# adds a new grade column based on marks in the third column $ awk 'BEGIN{OFS="\t"; split("DCBAS", g, //)} {$(NF+1) = NR==1 ? "Grade" : g[int($NF/10)-4]} 1' marks.txt Dept Name Marks Grade @@ -3020,13 +3427,13 @@ $ echo "$s" | awk '{patsplit($0, a, /"[^"]*"|[^,]*/); print a[2]}' ## substr -The `substr` function allows to extract specified number of characters from given string based on indexing. The argument order is: +The `substr` function helps to extract a specified number of characters from an input string based on indexing. The argument order is: * First argument is the input string -* Second argument is starting position -* Third argument is number of characters to extract +* Second argument is the starting position +* Third argument is the number of characters to extract -The index starts from `1`. If the third argument is not specified, by default all characters until the end of string input is extracted. If the second argument is greater than length of the string or if third argument is less than or equal to `0` then empty string is returned. Second argument will use `1` if a number less than one is specified. +The index starts from `1`. If the third argument is not specified, by default all characters until the end of the string is extracted. If the second argument is greater than the length of the string or if the third argument is less than or equal to `0`, then an empty string is returned. The second argument will be converted `1` if a number less than one is specified. ```bash @@ -3042,7 +3449,7 @@ $ echo 'abcdefghij' | awk -v OFS=: '{print substr($0, 2, 3), substr($0, 6, 3)}' bcd:fgh ``` -If only a few characters are needed from input record, can also use empty `FS`. +If only a few characters are needed from the input record, you can also use empty `FS`. ```bash $ echo 'abcdefghij' | awk -v FS= '{print $3}' @@ -3055,39 +3462,41 @@ c e The `match` function is useful to extract portion of an input string matched by a regexp. There are two ways to get the matched portion: -* by using `substr` function along with special variables `RSTART` and `RLENGTH` +* by using the `substr` function along with special variables `RSTART` (starting position of the match) and `RLENGTH` (length of the match) * by passing a third argument to `match` so that the results are available from an array -The first argument to `match` is the input string and second is the regexp. If the match fails, then `RSTART` gets `0` and `RLENGTH` gets `-1`. Return value is same as `RSTART`. +The first argument to `match` is the input string and the second one is the regexp. If the match fails, then `RSTART` gets `0` and `RLENGTH` gets `-1`. Return value is same as `RSTART`. ```bash -$ s='051 035 154 12 26 98234' +$ s='051 035 154 12 26 98234 3' -$ # using substr and RSTART/RLENGTH +# using substr and RSTART/RLENGTH +# match a number with >= 4 digits $ echo "$s" | awk 'match($0, /[0-9]{4,}/){print substr($0, RSTART, RLENGTH)}' 98234 -$ # using array, note that index 0 is used here, not 1 +# using array, note that index 0 is used here, not 1 +# match a number >= 100 (with optional leading zeros) $ echo "$s" | awk 'match($0, /0*[1-9][0-9]{2,}/, m){print m[0]}' 154 ``` -Both the above examples can also be easily solved using `FPAT` or `patsplit`. `match` has an advantage when it comes to getting portions matched only within capture groups. The first element of array will still have the entire match. Second element will contain portion matched by first group, third element will contain portion matched by second group and so on. See also [stackoverflow: arithmetic replacement in a text file](https://stackoverflow.com/q/62241101/4082052). +Both the above examples can also be easily solved using `FPAT` or `patsplit`. `match` has an advantage when it comes to getting portions matched only within capture groups. The first element of the array will still have the entire match. The second element will contain the portion matched by the first group, the third one will contain the portion matched by the second group and so on. See also [stackoverflow: arithmetic replacement in a text file](https://stackoverflow.com/q/62241101/4082052). ```bash -$ # entire matched portion -$ echo 'foo=42, baz=314' | awk 'match($0, /baz=([0-9]+)/, m){print m[0]}' -baz=314 -$ # matched portion of first capture group -$ echo 'foo=42, baz=314' | awk 'match($0, /baz=([0-9]+)/, m){print m[1]}' +# entire matched portion +$ echo 'apple=42, fig=314' | awk 'match($0, /fig=([0-9]+)/, m){print m[0]}' +fig=314 +# matched portion of the first capture group +$ echo 'apple=42, fig=314' | awk 'match($0, /fig=([0-9]+)/, m){print m[1]}' 314 ``` If you need to get matching portions for all the matches instead of just the first match, you can use a loop and adjust the input string every iteration. ```bash -$ # extract numbers only if it is followed by a comma -$ s='42 foo-5, baz3; x-83, y-20: f12' +# extract numbers only if it is followed by a comma +$ s='42 apple-5, fig3; x-83, y-20: f12' $ echo "$s" | awk '{ while( match($0, /([0-9]+),/, m) ){print m[1]; $0=substr($0, RSTART+RLENGTH)} }' 5 @@ -3096,7 +3505,7 @@ $ echo "$s" | awk '{ while( match($0, /([0-9]+),/, m) ){print m[1]; ## index -The `index` function is useful when you need to match a string literally in the given input string. This is similar to `grep -F` functionality of matching fixed strings. The first argument to this function is the input string and the second is the string to be matched literally. The return value is the index of matching location and `0` if there is no match. +The `index` function is useful when you need to match a string literally. This is similar to the `grep -F` functionality of matching fixed strings. The first argument to this function is the input string and the second one is the string to be matched literally. The return value is the index of the matching location and `0` if there is no match. ```bash $ cat eqns.txt @@ -3104,32 +3513,33 @@ a=b,a-b=c,c*d a+b,pi=3.14,5e12 i*(t+9-g)/8,4-a+b -$ # no output because the metacharacters aren't escaped +# no output because the metacharacters aren't escaped $ awk '/i*(t+9-g)/' eqns.txt -$ # same as: grep -F 'i*(t+9-g)' eqns.txt +# same as: grep -F 'i*(t+9-g)' eqns.txt $ awk 'index($0, "i*(t+9-g)")' eqns.txt i*(t+9-g)/8,4-a+b -$ # check only the last field +# check only the last field $ awk -F, 'index($NF, "a+b")' eqns.txt i*(t+9-g)/8,4-a+b -$ # index not needed if entire field/line is being compared +# index not needed if the entire field/line is being compared $ awk -F, '$1=="a+b"' eqns.txt a+b,pi=3.14,5e12 ``` -The return value is also useful to ensure match is found at specific positions only. For example start or end of input string. +The return value is useful to ensure that the match is found at specific positions only. For example, the start or end of the string. ```bash -$ # start of string +# start of string $ awk 'index($0, "a+b")==1' eqns.txt a+b,pi=3.14,5e12 -$ # end of string + +# end of string $ awk -v s="a+b" 'index($0, s)==length()-length(s)+1' eqns.txt i*(t+9-g)/8,4-a+b ``` -Recall that `-v` option gets parsed by `awk`'s string processing rules. So, if you need to pass a literal string without falling in backslash hell, use `ENVIRON` instead of `-v` option. +Recall that the `-v` option gets parsed by `awk`'s string processing rules. So, if you need to pass a literal string without falling in backslash hell, use `ENVIRON` instead. ```bash $ echo 'a\b\c\d' | awk -v s='a\b' 'index($0, s)' @@ -3162,7 +3572,7 @@ $ echo 'f1,t2,f3' | awk -F, '{system("cat " $2 ".txt")}' I bought two balls and 3 bats ``` -Return value of `system` depends on `exit` status of the executed command. See [gawk manual: Input/Output Functions](https://www.gnu.org/software/gawk/manual/html_node/I_002fO-Functions.html) for details. +The return value of `system` depends on the exit status of the executed command. See [gawk manual: Input/Output Functions](https://www.gnu.org/software/gawk/manual/html_node/I_002fO-Functions.html) for details. ```bash $ ls xyz.txt @@ -3177,10 +3587,10 @@ Exit status: 2 ## printf and sprintf -The `printf` function is useful over `print` function when you need to format the data before printing. Another difference is that `OFS` and `ORS` do not affect the `printf` function. The features are similar to those found in `C` programming language and the shell built-in command. +The `printf` function is useful over the `print` function when you need to format the data before printing. Another difference is that `OFS` and `ORS` do not affect the `printf` function. The formatting features are similar to those found in the `C` programming language and the `printf` shell built-in command. ```bash -$ # OFMT controls the formatting for numbers displayed with print function +# OFMT controls the formatting for numbers displayed with the print function $ awk 'BEGIN{print OFMT}' %.6g $ awk 'BEGIN{sum = 3.1428 + 100; print sum}' @@ -3188,59 +3598,59 @@ $ awk 'BEGIN{sum = 3.1428 + 100; print sum}' $ awk 'BEGIN{OFMT="%.5f"; sum = 3.1428 + 100; print sum}' 103.14280 -$ # using printf function -$ # note the use of \n as ORS isn't appended unlike print +# using printf function +# note the use of \n as ORS isn't appended unlike print $ awk 'BEGIN{sum = 3.1428 + 10; printf "%f\n", sum}' 13.142800 $ awk 'BEGIN{sum = 3.1428 + 10; printf "%.3f\n", sum}' 13.143 ``` -Here's some more formatting options for floating-point numbers. +Here are some more formatting examples for floating-point numbers. ```bash -$ # total length is 10, filled with space if needed -$ # [ and ] are used here for visualization purposes +# total length is 10, filled with space if needed +# [ and ] are used here for visualization purposes $ awk 'BEGIN{pi = 3.14159; printf "[%10.3f]\n", pi}' [ 3.142] $ awk 'BEGIN{pi = 3.14159; printf "[%-10.3f]\n", pi}' [3.142 ] -$ # zero filled +# zero filled $ awk 'BEGIN{pi = 3.14159; printf "%010.3f\n", pi}' 000003.142 -$ # scientific notation +# scientific notation $ awk 'BEGIN{pi = 3.14159; printf "%e\n", pi}' 3.141590e+00 ``` -Here's some formatting options for integers. +Here are some formatting examples for integers. ```bash -$ # note that there is no rounding +# note that there is no rounding $ awk 'BEGIN{printf "%d\n", 1.99}' 1 -$ # ensure there's always a sign prefixed to integer +# ensure there's always a sign prefixed for integers $ awk 'BEGIN{printf "%+d\n", 100}' +100 $ awk 'BEGIN{printf "%+d\n", -100}' -100 ``` -Here's some formatting options for strings. +Here are some formatting examples for strings. ```bash -$ # prefix remaining width with spaces +# prefix remaining width with spaces $ awk 'BEGIN{printf "|%10s|\n", "mango"}' | mango| -$ # suffix remaining width with spaces +# suffix remaining width with spaces $ awk 'BEGIN{printf "|%-10s|\n", "mango"}' |mango | -$ # truncate +# truncate $ awk '{printf "%.4s\n", $0}' table.txt brow blue @@ -3252,7 +3662,7 @@ You can also refer to an argument using `N$` format, where `N` is the positional ```bash $ awk 'BEGIN{printf "%1$d + %2$d * %1$d = %3$d\n", 3, 4, 15}' 3 + 4 * 3 = 15 -$ # remove # if you do not need the prefix +# remove # if you do not need the prefix $ awk 'BEGIN{printf "hex=%1$#x\noct=%1$#o\ndec=%1$d\n", 15}' hex=0xf oct=017 @@ -3262,35 +3672,35 @@ dec=15 You can pass variables by specifying a `*` instead of a number in the formatting string. ```bash -$ # same as: awk 'BEGIN{pi = 3.14159; printf "%010.3f\n", pi}' +# same as: awk 'BEGIN{pi = 3.14159; printf "%010.3f\n", pi}' $ awk 'BEGIN{d=10; p=3; pi = 3.14159; printf "%0*.*f\n", d, p, pi}' 000003.142 ``` ->![warning](images/warning.svg) Passing a variable directly to `printf` without using a format specifier can result in error depending upon the contents of the variable. - -```bash -$ awk 'BEGIN{s="solve: 5 % x = 1"; printf s}' -awk: cmd. line:1: fatal: not enough arguments to satisfy format string - `solve: 5 % x = 1' - ^ ran out for this one -``` +>![warning](images/warning.svg) Passing a variable directly to `printf` without using a format specifier can result in an error depending upon the contents of the variable. +> +> ```bash +> $ awk 'BEGIN{s="solve: 5 % x = 1"; printf s}' +> awk: cmd. line:1: fatal: not enough arguments to satisfy format string +> `solve: 5 % x = 1' +> ^ ran out for this one +> ``` -So, as a good practice, always use variables with appropriate format instead of passing it directly to `printf`. +So, as a good practice, always use variables with an appropriate format instead of passing it directly to `printf`. ```bash $ awk 'BEGIN{s="solve: 5 % x = 1"; printf "%s\n", s}' solve: 5 % x = 1 ``` -If `%` has to be used literally inside the format specifier, use `%%`. This is similar to using `\\` in regexp to represent `\` literally. +If `%` has to be used literally inside the format specifier, use `%%`. This is similar to using `\\` in regexps to represent `\` literally. ```bash $ awk 'BEGIN{printf "n%%d gives the remainder\n"}' n%d gives the remainder ``` -To save the results of the formatting in a variable instead of printing, use `sprintf` function. Unlike `printf`, parentheses are always required to use `sprintf` function. +To save the results of the formatting in a variable instead of printing, use the `sprintf` function. Unlike `printf`, parentheses are always required to use this function. ```bash $ awk 'BEGIN{pi = 3.14159; s = sprintf("%010.3f", pi); print s}' @@ -3301,7 +3711,7 @@ $ awk 'BEGIN{pi = 3.14159; s = sprintf("%010.3f", pi); print s}' ## Redirecting print output -The results from `print` and `printf` functions can be redirected to a shell command or a file instead of `stdout`. There's nothing special about it, you could have done it normally on `awk` command as well. The use case arises when you need to redirect only a specific portion or if you need multiple redirections within the same `awk` command. Here's some examples of redirecting to multiple files. +The results from the `print` and `printf` functions can be redirected to a shell command or a file instead of `stdout`. There's nothing special about it, you could have done it using shell redirections as well. The use case arises when you need to redirect only a specific portion or if you need multiple redirections within the same `awk` command. Here are some examples of redirecting to multiple files. ```bash $ seq 6 | awk 'NR%2{print > "odd.txt"; next} {print > "even.txt"}' @@ -3314,9 +3724,9 @@ $ cat even.txt 4 6 -$ # dynamically creating filenames +# dynamically creating filenames $ awk -v OFS='\t' 'NR>1{print $2, $3 > $1".txt"}' marks.txt -$ # output for one of the departments +# output for one of the departments $ cat ECE.txt Raj 53 Joel 72 @@ -3325,22 +3735,22 @@ Om 92 Note that the use of `>` doesn't mean that the file will get overwritten everytime. That happens only once if the file already existed prior to executing the `awk` command. Use `>>` if you wish to append to already existing files. -As seen in above examples, the file names are passed as string expressions. To redirect to a shell command, again you need to pass a string expression after `|` pipe symbol. Here's an example. +As seen in the above examples, the filenames are passed as string expressions. To redirect to a shell command, again you need to pass a string expression after the `|` pipe symbol. Here's an example: ```bash $ awk '{print $2 | "paste -sd,"}' table.txt bread,cake,banana ``` -And here's some examples of multiple redirections. +And here are some examples with multiple redirections. ```bash $ awk '{print $2 | "sort | paste -sd,"}' table.txt banana,bread,cake -$ # sort the output before writing to files +# sort the output before writing to files $ awk -v OFS='\t' 'NR>1{print $2, $3 | "sort > "$1".txt"}' marks.txt -$ # output for one of the departments +# output for one of the departments $ cat ECE.txt Joel 72 Om 92 @@ -3357,9 +3767,11 @@ Next chapter will cover features related to processing multiple files passed as ## Exercises +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + >![info](images/info.svg) Exercises will also include functions and features not discussed in this chapter. Refer to [gawk manual: Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Functions) for details. -**a)** For the input file `scores.csv`, sort the rows based on **Physics** values in descending order. Header should be retained as the first line in output. +**1)** For the input file `scores.csv`, sort the rows in descending order based on the values in the Physics column. Header should be retained as the first line in the output. ```bash $ awk ##### add your solution here @@ -3372,9 +3784,15 @@ Ort,68,72,66 Blue,67,46,99 ``` -**b)** For the input file `nums3.txt`, calculate the square root of numbers and display in two different formats. First with four digits after fractional point and next in scientific notation, again with four digits after fractional point. Assume input has only single column positive numbers. +**2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash +$ cat nums3.txt +3.14 +4201 +777 +0323012 + $ awk ##### add your solution here 1.7720 64.8151 @@ -3388,27 +3806,35 @@ $ awk ##### add your solution here 5.6834e+02 ``` -**c)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. From the second field, remove the second `:` and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. The numbers can be positive/negative integers or floating-point numbers (including scientific notation). +**3)** For the input file `items.txt`, assume space as the field separator. From the second field, remove the second `:` character and the number that follows. Modify the last field by multiplying it by the number that was deleted from the second field. ```bash -$ echo 'go x:12:-425 og 6.2' | awk ##### add your solution here -go x:12 og -2635 +$ cat items.txt +apple rxg:12:-425 og 6.2 +fig zwt:3.64:12.89e2 ljg 5 +banana ysl:42:3.14 vle 45 -$ echo 'rx zwt:3.64:12.89e2 ljg 5' | awk ##### add your solution here -rx zwt:3.64 ljg 6445 +$ awk ##### add your solution here +apple rxg:12 og -2635 +fig zwt:3.64 ljg 6445 +banana ysl:42 vle 141.3 ``` -**d)** Transform the given input strings to the corresponding output shown. Assume space as the field separators. Replace the second field with sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers (but not scientific notation). +**4)** For the input file `sum.txt`, assume space as the field separator. Replace the second field with the sum of the two numbers embedded in it. The numbers can be positive/negative integers or floating-point numbers but not scientific notation. ```bash -$ echo 'f2:z3 kt//-42\\3.14//tw 5y6' | awk ##### add your solution here -f2:z3 -38.86 5y6 +$ cat sum.txt +f2:z3 kt//-42\\3.14//tw 5y6 +t5:x7 qr;wq<=>+10{-8764.124}yb u9 +apple:fig 100:32 9j4 -$ echo 't5:x7 qr;wq<=>+10{-8764.124}yb u9' | awk ##### add your solution here +$ awk ##### add your solution here +f2:z3 -38.86 5y6 t5:x7 -8754.12 u9 +apple:fig 132 9j4 ``` -**e)** For the given input strings, extract portion of the line starting from the matching location specified by shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. +**5)** For the given input strings, extract portion of the line starting from the matching location specified by the shell variable `s` till the end of the line. If there is no match, do not print that line. The contents of `s` should be matched literally. ```bash $ s='(a^b)' @@ -3416,24 +3842,24 @@ $ echo '3*f + (a^b) - 45' | ##### add your solution here (a^b) - 45 $ s='\&/' -$ # should be no output for this input +# should be no output for this input $ echo 'f\&z\&2.14' | ##### add your solution here -$ # but this one has a match +# but this one has a match $ echo 'f\&z\&/2.14' | ##### add your solution here \&/2.14 ``` -**f)** Extract all positive integers preceded by `-` and followed by `:` or `;` and display all such matches separated by a newline character. +**6)** Extract all positive integers preceded by `-` and followed by `:` or `;`. Display the matching portions separated by a newline character. ```bash -$ s='42 foo-5; baz3; x-83, y-20:-34; f12' +$ s='42 apple-5; fig3; x-83, y-20:-34; f12' $ echo "$s" | awk ##### add your solution here 5 20 34 ``` -**g)** For the input file `scores.csv`, calculate the average of three marks for each `Name`. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The format is `Name` and average score (up to two decimal points) separated by a tab character. +**7)** For the input file `scores.csv`, calculate the average score for each row. Those with average greater than or equal to `80` should be saved in `pass.csv` and the rest in `fail.csv`. The output files should have the names followed by a tab character, and finally the average score (two decimal points). ```bash $ awk ##### add your solution here @@ -3448,7 +3874,7 @@ Cy 96.67 Ith 100.00 ``` -**h)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. +**8)** For the input file `files.txt`, replace lines starting with a space with the output of that line executed as a shell command. ```bash $ cat files.txt @@ -3470,7 +3896,7 @@ yellow ----------- ``` -**i)** For the input file `fw.txt`, format the last column of numbers in scientific notation with two digits after the decimal point. +**9)** For the input file `fw.txt`, format the last column in scientific notation with two digits after the decimal point. ```bash $ awk ##### add your solution here @@ -3480,7 +3906,7 @@ $ awk ##### add your solution here 4.2 kt 32 4.51e+01 ``` -**j)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. +**10)** For the input file `addr.txt`, display all lines containing `e` or `u` but not both. >![info](images/info.svg) Hint — [gawk manual: Bit-Manipulation Functions](https://www.gnu.org/software/gawk/manual/gawk.html#Bitwise-Functions). @@ -3491,17 +3917,51 @@ This game is good Today is sunny ``` +**11)** For the input file `patterns.txt`, filter lines containing `[5]` at the start of a line. The search term should be matched literally. + +```bash +$ awk ##### add your solution here +[5]*3 +``` + +**12)** For the input file `table.txt`, uppercase the third field. + +```bash +$ awk ##### add your solution here +brown bread MAT hair 42 +blue cake MUG shirt -7 +yellow banana WINDOW shoes 3.14 +``` + +**13)** For the input files `patterns.txt` and `sum.txt`, match lines containing the literal value stored in the `s` variable. Assume that the `s` variable has regexp metacharacters. + +```bash +$ s='[5]' +##### add your solution here +(9-2)*[5] +[5]*3 + +$ s='\\' +##### add your solution here +f2:z3 kt//-42\\3.14//tw 5y6 +``` + # Multiple file input -You have already seen control structures like `BEGIN`, `END` and `next`. This chapter will discuss control structures that are useful to make decisions around each file when there are multiple files passed as input. +You have already seen blocks like `BEGIN`, `END` and statements like `next`. This chapter will discuss features that are useful to make decisions around each file when there are multiple files passed as input. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## BEGINFILE, ENDFILE and FILENAME -* `BEGINFILE` — this block gets executed before start of each input file +* `BEGINFILE` — this block gets executed before the start of each input file * `ENDFILE` — this block gets executed after processing each input file -* `FILENAME` — special variable having file name of current input file +* `FILENAME` — special variable having the filename of the current input file + +Here are some examples: ```bash +# can also use: awk 'BEGINFILE{printf "--- %s ---\n", FILENAME} 1' $ awk 'BEGINFILE{print "--- " FILENAME " ---"} 1' greeting.txt table.txt --- greeting.txt --- Hi there @@ -3512,7 +3972,7 @@ brown bread mat hair 42 blue cake mug shirt -7 yellow banana window shoes 3.14 -$ # same as: tail -q -n1 greeting.txt table.txt +# same as: tail -q -n1 greeting.txt table.txt $ awk 'ENDFILE{print $0}' greeting.txt table.txt Good bye yellow banana window shoes 3.14 @@ -3520,35 +3980,35 @@ yellow banana window shoes 3.14 ## nextfile -`nextfile` will skip remaining records from the current file being processed and move on to the next file. +The `nextfile` statement helps to skip the remaining records from the current file being processed and move on to the next file. Note that the `ENDFILE` block will still be executed, if present. ```bash -$ # print filename if it contains 'I' anywhere in the file -$ # same as: grep -l 'I' f[1-3].txt greeting.txt +# print filename if it contains 'I' anywhere in the file +# same as: grep -l 'I' f[1-3].txt greeting.txt $ awk '/I/{print FILENAME; nextfile}' f[1-3].txt greeting.txt f1.txt f2.txt -$ # print filename if it contains both 'o' and 'at' anywhere in the file +# print filename if it contains both 'o' and 'at' anywhere in the file $ awk 'BEGINFILE{m1=m2=0} /o/{m1=1} /at/{m2=1} m1 && m2{print FILENAME; nextfile}' f[1-3].txt greeting.txt f2.txt f3.txt -$ # print filename if it contains 'at' but not 'o' +# print filename if it contains 'at' but not 'o' $ awk 'BEGINFILE{m1=m2=0} /o/{m1=1; nextfile} /at/{m2=1} ENDFILE{if(!m1 && m2) print FILENAME}' f[1-3].txt greeting.txt f1.txt ``` ->![warning](images/warning.svg) `nextfile` cannot be used in `BEGIN` or `END` or `ENDFILE` blocks. See [gawk manual: nextfile](https://www.gnu.org/software/gawk/manual/gawk.html#Nextfile-Statement) for more details, how it affects `ENDFILE` and other special cases. +>![warning](images/warning.svg) `nextfile` cannot be used in the `BEGIN` or `END` or `ENDFILE` blocks. See [gawk manual: nextfile](https://www.gnu.org/software/gawk/manual/gawk.html#Nextfile-Statement) for more details, how it affects `ENDFILE` and other special cases. ## ARGC and ARGV -The `ARGC` special variable contains total number of arguments passed to the `awk` command, including `awk` itself as an argument. The `ARGV` special array contains the arguments themselves. +The `ARGC` special variable contains the total number of arguments passed to the `awk` command, including `awk` itself as an argument. The `ARGV` special array contains the arguments themselves. ```bash -$ # note that index starts with '0' here +# note that the index starts with '0' here $ awk 'BEGIN{for(i=0; i![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** Print the last field of the first two lines for the input files `table.txt`, `scores.csv` and `fw.txt`. The field separators for these files are space, comma and fixed width respectively. To make the output more informative, print filenames and a separator as shown in the output below. Assume that the input files will have at least two lines. ```bash $ awk ##### add your solution here @@ -3619,7 +4081,7 @@ Chemistry ---------- ``` -**b)** For the given list of input files, display all filenames that contain `at` or `fun` in the third field. Assume space as the field separator. +**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `at` or `fun` in the third field. Assume space as the field separator. ```bash $ awk ##### add your solution here sample.txt secrets.txt addr.txt table.txt @@ -3632,29 +4094,31 @@ table.txt Often, you need to consider multiple lines at a time to make a decision, such as the paragraph mode examples seen earlier. Sometimes, you need to match a particular record and then get records surrounding the matched record. The `condX{actionX}` shortcut makes it easy to code state machines concisely, which is useful to solve such multiple record use cases. See [softwareengineering: FSM examples](https://softwareengineering.stackexchange.com/questions/47806/examples-of-finite-state-machines) if you are not familiar with state machines. +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. + ## Processing consecutive records -You might need to define a condition that should satisfy something for one record and something else for the very next record. `awk` does provide a feature to get next record, but that could get complicated (see [getline](#getline) section). Instead, you can simply save each record in a variable and then create the required conditional expression. The default behavior of uninitialized variable to act as `0` in numerical context and empty in string context plays a role too. +You might need to define a condition that should satisfy something for one record and something else for the very next record. `awk` does provide a feature to get next record, but that could get complicated (see the [getline](#getline) section). Instead, you can simply save relevant records in variables/arrays and then create the required conditional expression when you have all the required records available. The default behavior of uninitialized variable to act as `0` in numerical context and empty in string context plays a role too. ```bash -$ # match and print two consecutive records -$ # first record should contain 'as' and second record should contain 'not' -$ awk 'p ~ /as/ && /not/{print p ORS $0} {p=$0}' programming_quotes.txt -Therefore, if you write the code as cleverly as possible, you are, -by definition, not smart enough to debug it by Brian W. Kernighan +# match and print two consecutive records +# the first record should contain 'he' and the second one should contain 'you' +$ awk 'p ~ /he/ && /you/{print p ORS $0} {p=$0}' para.txt +Hi there +How are you -$ # same filtering as above, but print only the first record -$ awk 'p ~ /as/ && /not/{print p} {p=$0}' programming_quotes.txt -Therefore, if you write the code as cleverly as possible, you are, +# same filtering as above, but print only the first record +$ awk 'p ~ /he/ && /you/{print p} {p=$0}' para.txt +Hi there -$ # same filtering as above, but print only the second record -$ awk 'p ~ /as/ && /not/; {p=$0}' programming_quotes.txt -by definition, not smart enough to debug it by Brian W. Kernighan +# same filtering as above, but print only the second record +$ awk 'p ~ /he/ && /you/; {p=$0}' para.txt +How are you ``` ## Context matching -Sometimes you want not just the matching records, but the records relative to the matches as well. For example, it could be to see the comments at start of a function block that was matched while searching a program file. Or, it could be to see extended information from a log file while searching for a particular error message. +Sometimes you want not just the matching records, but the records relative to the matches as well. For example, it could be to see the comments at the start of a function block that was matched while searching a program file. Or, it could be to see extended information from a log file while searching for a particular error message. Consider this sample input file: @@ -3679,24 +4143,24 @@ programming language ruby ``` -**Case 1:** Here's an example that emulates `grep --no-group-separator -A` functionality. The `n && n--` trick used in the example works like this: +**Case 1:** Here's an example that emulates the `grep --no-group-separator -A` functionality. The `n && n--` trick used in the example below works like this: * If initially `n=2`, then we get - * `2 && 2` --> evaluates to `true` and `n` becomes `1` - * `1 && 1` --> evaluates to `true` and `n` becomes `0` - * `0 && ` --> evaluates to `false` and `n` doesn't change -* Note that when conditionals are connected with logical `&&`, the second expression will not be executed at all if the first one turns out to be `false` because the overall result will always be `false`. Same is the case if the first expression evaluates to `true` with logical `||` operator. Such logical operators are also known as **short-circuit** operators. Thus, in the above case, `n--` won't be executed when `n` is `0` on the left hand side. This prevents `n` going negative and `n && n--` will never become `true` unless `n` is assigned again. + * `2 && 2` — evaluates to `true` and `n` becomes `1` + * `1 && 1` — evaluates to `true` and `n` becomes `0` + * `0 && ` — evaluates to `false` and `n` doesn't change +* Note that when conditionals are connected with logical `&&`, the second expression will not be executed at all if the first one turns out to be `false` because the overall result will always be `false`. Same is the case if the first expression evaluates to `true` with the logical `||` operator. Such logical operators are also known as **short-circuit** operators. Thus, in the above case, `n--` won't be executed when `n` is `0` on the left hand side. This prevents `n` going negative and `n && n--` will never become `true` unless `n` is assigned again. ```bash -$ # same as: grep --no-group-separator -A1 'blue' -$ # print matching line as well as the one that follows it +# same as: grep --no-group-separator -A1 'blue' +# print the matching line as well as the one that follows it $ awk '/blue/{n=2} n && n--' context.txt blue toy light blue flower -$ # overlapping example, n gets re-assigned before reaching 0 +# overlapping example, n gets re-assigned before reaching 0 $ awk '/toy|flower/{n=2} n && n--{print NR, $0}' context.txt 2 toy 3 flower @@ -3704,7 +4168,7 @@ $ awk '/toy|flower/{n=2} n && n--{print NR, $0}' context.txt 6 flower 7 sky -$ # doesn't allow overlapping cases to re-assign the counter +# doesn't allow overlapping cases to re-assign the counter $ awk '!n && /toy|flower/{n=2} n && n--{print NR, $0}' context.txt 2 toy 3 flower @@ -3717,14 +4181,14 @@ Once you've understood the above examples, the rest of the examples in this sect **Case 2:** Print `n` records after match. This is similar to previous case, except that the matching record isn't printed. ```bash -$ # print 1 line after matching line -$ # for overlapping cases, n gets re-assigned before reaching 0 +# print 1 line after the matching line +# for overlapping cases, n gets re-assigned before reaching 0 $ awk 'n && n--; /language/{n=1}' context.txt english python -$ # print 2 lines after matching line -$ # doesn't allow overlapping cases to re-assign the counter +# print 2 lines after the matching line +# doesn't allow overlapping cases to re-assign the counter $ awk '!n && /toy|flower/{n=2; next} n && n--' context.txt flower sand stone @@ -3732,30 +4196,30 @@ $ awk '!n && /toy|flower/{n=2; next} n && n--' context.txt water ``` -**Case 3:** Here's how to print `n`th record after the matching record. +**Case 3:** Here's how to print the `n`th record after the matching record. ```bash -$ # print only the 2nd line found after matching line -$ # the array saves matching result for each record -$ # doesn't rely on a counter, thus works for overlapping cases -$ # same as: awk -v n=2 'a[NR-n]; /toy|flower/{a[NR]=1}' +# print only the 2nd line found after the matching line +# the array saves the matching result for each record +# doesn't rely on a counter, thus works for overlapping cases +# same as: awk -v n=2 'a[NR-n]; /toy|flower/{a[NR]=1}' $ awk -v n=2 'NR in a; /toy|flower/{a[NR+n]}' context.txt sand stone light blue water -$ # print only the 3rd line found after matching line -$ # n && !--n will be true only when --n yields 0 -$ # overlapping cases won't work as n gets re-assigned before going to 0 +# print only the 3rd line found after matching line +# n && !--n will be true only when --n yields 0 +# overlapping cases won't work as n gets re-assigned before going to 0 $ awk 'n && !--n; /language/{n=3}' context.txt spanish ruby ``` -**Case 4:** Print `n` records before match. Printing the matching record as well is left as an exercise. Since the file is being read in forward direction, and the problem statement is to print something before the matching record, overlapping situation like the previous examples doesn't occur. +**Case 4:** Print `n` records before the match. Printing the matching record as well is left as an exercise. Since the file is being read in forward direction, and the problem statement is to print something before the matching record, overlapping situation like the previous examples doesn't occur. ```bash -$ # i>0 is used because NR starts from 1 +# i>0 is used because NR starts from 1 $ awk -v n=2 '/toy|flower/{for(i=NR-n; i0) print a[i]} {a[NR]=$0}' context.txt blue @@ -3768,14 +4232,14 @@ light blue **Case 5:** Print `n`th record before the matching record. ```bash -$ # if the count is small enough, you can save them in variables -$ # this one prints 2nd line before the matching line -$ # NR>2 is needed as first 2 records shouldn't be considered for a match +# if the count is small enough, you can save them in variables +# this one prints the 2nd line before the matching line +# NR>2 is needed as first 2 records shouldn't be considered for a match $ awk 'NR>2 && /toy|flower/{print p2} {p2=p1; p1=$0}' context.txt blue sand stone -$ # else, use an array to save previous records +# else, use an array to save previous records $ awk -v n=4 'NR>n && /age/{print a[NR-n]} {a[NR]=$0}' context.txt light blue english @@ -3783,9 +4247,9 @@ light blue ## Records bounded by distinct markers -This section will cover cases where the input file will always contain the same number of starting and ending patterns and arranged in alternating fashion. For example, there cannot be two starting patterns appearing without an ending pattern between them and vice versa. Zero or more records of text can appear inside such groups as well as in between the groups. +This section will cover cases where the input file will always contain the same number of starting and ending patterns, arranged in an alternating fashion. For example, there cannot be two starting patterns appearing without an ending pattern between them and vice versa. Lines of text inside and between such groups are optional. -The sample file shown below will be used to illustrate examples in this section. For simplicity, assume that the starting pattern is marked by `start` and the ending pattern by `end`. They have also been given group numbers to make it easier to visualize the transformation between input and output for the commands discussed in this section. +The sample file shown below will be used to illustrate examples in this section. For simplicity, assume that the starting pattern is marked by `start` and the ending pattern by `end`. They have also been given group numbers to make it easier to analyze the output. ```bash $ cat uniform.txt @@ -3820,7 +4284,7 @@ c **end 2** ``` ->![info](images/info.svg) Similar to `sed -n '/start/,/end/p'` you can also use `awk '/start/,/end/'` but the state machine format is more suitable to change for various cases to follow. +>![info](images/info.svg) Similar to `sed -n '/start/,/end/p'` you can also use `awk '/start/,/end/'` but the state machine format is more suitable for the various cases to follow. **Case 2:** Processing all the groups of records but excluding the records matched by markers themselves. @@ -3833,7 +4297,7 @@ $ awk '/end/{f=0} f{print "*", $0} /start/{f=1}' uniform.txt * c ``` -**Case 3-4:** Processing all the groups of records but excluding either of the markers. +**Case 3-4:** Processing all the groups of records but excluding one of the markers. ```bash $ awk '/start/{f=1} /end/{f=0} f' uniform.txt @@ -3907,7 +4371,7 @@ par,far,mar,tar ## Specific blocks -Instead of working with all the groups (or blocks) bound by the markers, this section will discuss how to choose blocks based on additional criteria. +Instead of working with all the groups (or blocks) bound by the markers, this section will discuss how to choose blocks based on an additional criteria. Here's how you can process only the first matching block. @@ -3918,7 +4382,7 @@ $ awk '/start/{f=1} f; /end/{exit}' uniform.txt 6789 **end 1** -$ # use other tricks discussed in previous section as needed +# use other tricks discussed in previous section as needed $ awk '/end/{exit} f; /start/{f=1}' uniform.txt 1234 6789 @@ -3927,8 +4391,8 @@ $ awk '/end/{exit} f; /start/{f=1}' uniform.txt Getting last block alone involves lot more work, unless you happen to know how many blocks are present in the input file. ```bash -$ # reverse input linewise, change the order of comparison, reverse again -$ # can't be used if RS has to be something other than newline +# reverse input linewise, change the order of comparison, reverse again +# might not work if RS has to be something other than newline $ tac uniform.txt | awk '/end/{f=1} f; /start/{exit}' | tac --start 2-- a @@ -3936,7 +4400,7 @@ b c **end 2** -$ # or, save the blocks in a buffer and print the last one alone +# or, save the blocks in a buffer and print the last one alone $ awk '/start/{f=1; b=$0; next} f{b=b ORS $0} /end/{f=0} END{print b}' uniform.txt --start 2-- @@ -3949,7 +4413,7 @@ c Only the `n`th block. ```bash -$ # can also use: awk -v n=2 '/4/{c++} c==n{print; if(/6/) exit}' +# can also use: awk -v n=2 '/4/{c++} c==n{print; if(/6/) exit}' $ seq 30 | awk -v n=2 '/4/{c++} c==n; /6/ && c==n{exit}' 14 15 @@ -3968,7 +4432,7 @@ $ seq 30 | awk -v n=1 '/4/{f=1; c++} f && c>n; /6/{f=0}' 26 ``` -Excluding `n`th block. +Excluding the `n`th block. ```bash $ seq 30 | awk -v n=2 '/4/{f=1; c++} f && c!=n; /6/{f=0}' @@ -3983,7 +4447,7 @@ $ seq 30 | awk -v n=2 '/4/{f=1; c++} f && c!=n; /6/{f=0}' All blocks, only if the records between the markers match an additional condition. ```bash -$ # additional condition here is a record with entire content as '15' +# additional condition here is a record with entire content as '15' $ seq 30 | awk '/4/{f=1; buf=$0; m=0; next} f{buf=buf ORS $0} /6/{f=0; if(m) print buf} @@ -4035,7 +4499,9 @@ Next chapter will discuss use cases where you need to process a file input based ## Exercises -**a)** For the input file `sample.txt`, print a matching line containing `do` only if the previous line is empty and the line before that contains `you`. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** For the input file `sample.txt`, print lines containing `do` only if the previous line is empty and the line before that contains `you`. ```bash $ awk ##### add your solution here @@ -4043,7 +4509,7 @@ Just do-it Much ado about nothing ``` -**b)** Print only the second matching line respectively for the search terms `do` and `not` for the input file `sample.txt`. Match these terms case insensitively. +**2)** For the input file `sample.txt`, match lines containing `do` or `not` case insensitively. Each of these terms occur multiple times in the file. The goal is to print only the second occurrences of these terms (independent of each other). ```bash $ awk ##### add your solution here @@ -4051,7 +4517,7 @@ No doubt you like it too Much ado about nothing ``` -**c)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. +**3)** For the input file `sample.txt`, print the matching lines containing `are` or `bit` as well as `n` lines around the matching lines. The value for `n` is passed to the `awk` command via the `-v` option. ```bash $ awk -v n=1 ##### add your solution here @@ -4062,7 +4528,7 @@ Today is sunny Not a bit funny No doubt you like it too -$ # note that first and last line are empty for this case +# note that the first and last line are empty for this case $ awk -v n=2 ##### add your solution here Good day @@ -4076,7 +4542,7 @@ No doubt you like it too ``` -**d)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till end of file if second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. ```bash $ cat broken.txt @@ -4092,7 +4558,7 @@ Hi there Have a nice day Good bye -$ # wrong output +# wrong output $ awk '/bottom/{f=0} f; /top/{f=1}' broken.txt 3.14 1234567890 @@ -4100,13 +4566,13 @@ Hi there Have a nice day Good bye -$ # expected output -$ ##### add your solution here +# expected output +##### add your solution here 3.14 1234567890 ``` -**e)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by variable `n` passed via the `-v` option. +**5)** For the input file `concat.txt`, extract contents from a line starting with ``### `` until but not including the next such line. The block to be extracted is indicated by the variable `n` passed via the `-v` option. ```bash $ cat concat.txt @@ -4130,13 +4596,14 @@ $ awk -v n=2 ##### add your solution here top 1234567890 bottom + $ awk -v n=4 ##### add your solution here ### mixed_fs.txt pink blue white yellow car,mat,ball,basket ``` -**f)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). +**6)** For the input file `ruby.md`, replace all occurrences of `ruby` (irrespective of case) with `Ruby`. But, do not replace any matches between ` ```ruby ` and ` ``` ` lines (`ruby` in these markers shouldn't be replaced either). Save the output in `out.md`. ```bash $ awk ##### add your solution here ruby.md > out.md @@ -4144,21 +4611,67 @@ $ diff -sq out.md expected.md Files out.md and expected.md are identical ``` +**7)** For the input file `lines.txt`, delete the line that comes after a whole line containing `---`. Assume that such lines won't occur consecutively. + +```bash +$ cat lines.txt +Go There +come on +go there +--- +2 apples and 5 mangoes +come on! +--- +2 Apples +COME ON + +$ awk ##### add your solution here +Go There +come on +go there +--- +come on! +--- +COME ON +``` + +**8)** For the input file `result.csv`, use `---` to separate entries with the same name in the first column. Assume that the lines with the same first column value will always be next to each other. + +```bash +$ awk ##### add your solution here +Amy,maths,89 +Amy,physics,75 +--- +Joe,maths,79 +--- +John,chemistry,77 +John,physics,91 +--- +Moe,maths,81 +--- +Ravi,physics,84 +Ravi,chemistry,70 +--- +Yui,maths,92 +``` + # Two file processing -This chapter focuses on solving problems which depend upon contents of two files. These are usually based on comparing records and fields. Sometimes, record number plays a role too. You'll also learn about the `getline` built-in function. +This chapter focuses on solving problems which depend upon the contents of two or more files. These are usually based on comparing records and fields. Sometimes, record number plays a role too. You'll also learn about the `getline` built-in function. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## Comparing records -Consider the following input files which will be compared line wise to get common lines and unique lines. +Consider the following input files which will be compared line wise to get the common and unique lines. ```bash -$ cat color_list1.txt +$ cat colors_1.txt teal light blue green yellow -$ cat color_list2.txt +$ cat colors_2.txt light blue black dark green @@ -4168,35 +4681,46 @@ yellow The *key* features used in the solution below: * For two files as input, `NR==FNR` will be `true` only when the first file is being processed -* `next` will skip rest of code and fetch next record +* `next` will skip rest of the script and fetch the next record * `a[$0]` by itself is a valid statement. It will create an uninitialized element in array `a` with `$0` as the key (assuming the key doesn't exist yet) -* `$0 in a` checks if the given string (`$0` here) exists as a key in array `a` +* `$0 in a` checks if the given string (`$0` here) exists as a key in the array `a` ```bash -$ # common lines -$ # same as: grep -Fxf color_list1.txt color_list2.txt -$ awk 'NR==FNR{a[$0]; next} $0 in a' color_list1.txt color_list2.txt +# common lines +# same as: grep -Fxf colors_1.txt colors_2.txt +$ awk 'NR==FNR{a[$0]; next} $0 in a' colors_1.txt colors_2.txt light blue yellow -$ # lines from color_list2.txt not present in color_list1.txt -$ # same as: grep -vFxf color_list1.txt color_list2.txt -$ awk 'NR==FNR{a[$0]; next} !($0 in a)' color_list1.txt color_list2.txt +# lines from colors_2.txt not present in colors_1.txt +# same as: grep -vFxf colors_1.txt colors_2.txt +$ awk 'NR==FNR{a[$0]; next} !($0 in a)' colors_1.txt colors_2.txt black dark green -$ # reversing the order of input files gives -$ # lines from color_list1.txt not present in color_list2.txt -$ awk 'NR==FNR{a[$0]; next} !($0 in a)' color_list2.txt color_list1.txt +# reversing the order of input files gives +# lines from colors_1.txt not present in colors_2.txt +$ awk 'NR==FNR{a[$0]; next} !($0 in a)' colors_2.txt colors_1.txt teal green ``` ->![warning](images/warning.svg) Note that the `NR==FNR` logic will fail if the first file is empty. See [this unix.stackexchange thread](https://unix.stackexchange.com/a/237110/109046) for workarounds. +>![warning](images/warning.svg) Note that the `NR==FNR` logic will fail if the first file is empty, since `NR` wouldn't get a chance to increment. You can set a flag after the first file has been processed to avoid this issue. See [this unix.stackexchange thread](https://unix.stackexchange.com/a/237110/109046) for more workarounds. +> +> ```bash +> # no output +> $ awk 'NR==FNR{a[$0]; next} !($0 in a)' /dev/null greeting.txt +> +> # gives the expected output +> $ awk '!f{a[$0]; next} !($0 in a)' /dev/null f=1 greeting.txt +> Hi there +> Have a nice day +> Good bye +> ``` ## Comparing fields -In the previous section, you saw how to compare whole contents of records between two files. This section will focus on comparing only specific field(s). The below sample file will be one of the two file inputs for examples in this section. +In the previous section, you saw how to compare the contents of whole records between two files. This section will focus on comparing only specific fields. The below sample file will be one of the two file inputs for examples in this section. ```bash $ cat marks.txt @@ -4210,14 +4734,14 @@ ECE Om 92 CSE Amy 67 ``` -To start with, here's a single field comparison. The problem statement is to fetch all records from `marks.txt` if the first field matches any of the departments listed in `dept.txt` file. +To start with, here's a single field comparison. The problem statement is to fetch all records from `marks.txt` if the first field matches any of the departments listed in the `dept.txt` file. ```bash $ cat dept.txt CSE ECE -$ # note that dept.txt is used to build the array keys first +# note that dept.txt is used to build the array keys first $ awk 'NR==FNR{a[$1]; next} $1 in a' dept.txt marks.txt ECE Raj 53 ECE Joel 72 @@ -4225,7 +4749,7 @@ CSE Surya 81 ECE Om 92 CSE Amy 67 -$ # if header is needed as well +# if the header is needed as well $ awk 'NR==FNR{a[$1]; next} FNR==1 || $1 in a' dept.txt marks.txt Dept Name Marks ECE Raj 53 @@ -4235,7 +4759,7 @@ ECE Om 92 CSE Amy 67 ``` -For multiple field comparison, you need to construct the key robustly. Simply concatenating field values can lead to false matches. For example, field values `abc` and `123` will wrongly match `ab` and `c123`. To avoid this, you may introduce some string between the field values, say `"_"` (if you know the field themselves cannot have this character) or `FS` (safer option). You could also allow `awk` to bail you out. If you use `,` symbol (not `","` as a string) between field values, the value of special variable `SUBSEP` is inserted. `SUBSEP` has a default value of the non-printing character `\034` which is usually not used as part of text files. +For multiple field comparison, you need to construct the key robustly. Simply concatenating field values can lead to false matches. For example, field values `abc` and `123` will wrongly match `ab` and `c123`. To avoid this, you may introduce some string between the field values, say `"_"` (if you know the field themselves cannot have this character) or `FS` (safer option). You could also allow `awk` to bail you out. If you use the `,` symbol (not `","` as a string) between the field values, the value of the special variable `SUBSEP` is inserted. `SUBSEP` has a default value of the non-printing character `\034` which is usually not used as part of text files. ```bash $ cat dept_name.txt @@ -4243,8 +4767,8 @@ EEE Moi CSE Amy ECE Raj -$ # uses SUBSEP as separator between field values to construct the key -$ # note the use of parentheses for key testing +# uses SUBSEP as a separator between the field values to construct the key +# note the use of parentheses for key testing $ awk 'NR==FNR{a[$1,$2]; next} ($1,$2) in a' dept_name.txt marks.txt ECE Raj 53 EEE Moi 68 @@ -4259,7 +4783,7 @@ ECE 70 EEE 65 CSE 80 -$ # match Dept and minimum marks specified in dept_mark.txt +# match Dept and minimum marks specified in dept_mark.txt $ awk 'NR==FNR{d[$1]=$2; next} $1 in d && $3 >= d[$1]' dept_mark.txt marks.txt ECE Joel 72 @@ -4280,20 +4804,20 @@ $ awk -v OFS='\t' 'NR==FNR{r[$1]=$2; next} {$(NF+1) = FNR==1 ? "Role" : r[$2]} 1' role.txt marks.txt Dept Name Marks Role ECE Raj 53 class_rep -ECE Joel 72 -EEE Moi 68 -CSE Surya 81 +ECE Joel 72 +EEE Moi 68 +CSE Surya 81 EEE Tia 59 placement_rep -ECE Om 92 +ECE Om 92 CSE Amy 67 sports_rep ``` ## getline -As the name indicates, `getline` function allows you to read a line from a file on demand. This is most useful when you need something based on line number. The following example shows how you can replace `m`th line from a file with `n`th line from another file. There are many syntax variations with `getline`, here the line read is saved in a variable. +As the name indicates, the `getline` function allows you to read a line from a file on demand. This is easiest to use when you need something based on line numbers. The following example shows how you can replace the `m`th line from a file with the `n`th line from another file. There are many syntax variations with `getline`, here the line read is saved in a variable. ```bash -$ # return value handling is not shown here, but should be done ideally +# return value handling is not shown here, but should be done ideally $ awk -v m=3 -v n=2 'BEGIN{while(n-- > 0) getline s < "greeting.txt"} FNR==m{$0=s} 1' table.txt brown bread mat hair 42 @@ -4301,28 +4825,28 @@ blue cake mug shirt -7 Have a nice day ``` -Here's an example where two files are processed simultaneously. In this case, the return value of `getline` is also used. It will be `1` if line was read successfully, `0` if there's no more input to be read as end of file has already been reached and `-1` if something went wrong. The `ERRNO` special variable will have details regarding the issues. +Here's an example where two files are processed simultaneously. In this case, the return value of `getline` is also used. It will be `1` if the line was read successfully, `0` if there's no more input to be read as end of file has already been reached and `-1` if something went wrong. The `ERRNO` special variable will have the error details. ```bash -$ # print line from greeting.txt if last column of corresponding line -$ # from table.txt is +ve number +# print line from greeting.txt if the last column of the corresponding line +# from table.txt is a positive number $ awk -v file='table.txt' '(getline line < file)==1{n=split(line, a); if(a[n]>0) print}' greeting.txt Hi there Good bye ``` -If a file is passed as argument to `awk` command and cannot be opened, you get an error. For example: +If a file is passed as an argument to the `awk` command that cannot be opened, you get an error. For example: ```bash $ awk '{print $2}' xyz.txt -awk: fatal: cannot open file `xyz.txt' for reading: No such file or directory +awk: fatal: cannot open file 'xyz.txt' for reading: No such file or directory ``` -It is recommended to always check for return value when using `getline` or perhaps use techniques from previous sections to avoid `getline` altogether. +It is recommended to always check for the return value when using `getline` or perhaps use techniques from the previous sections to avoid `getline` altogether. ```bash -$ # xyz.txt doesn't exist, but output doesn't show something went wrong +# xyz.txt doesn't exist, but output doesn't show something went wrong $ awk '{getline line < "xyz.txt"; print $NF, line}' table.txt 42 -7 @@ -4334,31 +4858,33 @@ $ awk -v file='xyz.txt' '{ e=(getline line < file); xyz.txt: No such file or directory ``` ->![info](images/info.svg) See [gawk manual: getline](https://www.gnu.org/software/gawk/manual/gawk.html#Getline) for details, especially about corner cases and errors. See also [awk.freeshell: getline caveats](https://awk.freeshell.org/AllAboutGetline). +>![info](images/info.svg) See [gawk manual: getline](https://www.gnu.org/software/gawk/manual/gawk.html#Getline) for details, especially about corner cases and errors. See also [awk.freeshell: getline caveats](http://awk.freeshell.org/AllAboutGetline). ## Summary -This chapter discussed a few cases where you need to compare contents of two files. The `NR==FNR` trick is handy for such cases. The `getline` function is helpful for line number based comparisons. +This chapter discussed a few cases where you need to compare contents between two files. The `NR==FNR` trick is handy for such cases. You also saw a few examples with the `getline` function. Next chapter will discuss how to handle duplicate contents. ## Exercises -**a)** Use contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** Use the contents of `match_words.txt` file to display matching lines from `jumbled.txt` and `sample.txt`. The matching criteria is that the second word of lines from these files should match the third word of lines from `match_words.txt`. ```bash $ cat match_words.txt %whole(Hello)--{doubt}==ado== just,\joint*,concession<=nice -$ # 'concession' is one of the third words from 'match_words.txt' -$ # and second word from 'jumbled.txt' +# 'concession' is one of the third words from 'match_words.txt' +# and second word from 'jumbled.txt' $ awk ##### add your solution here wavering:concession/woof\retailer No doubt you like it too ``` -**b)** Interleave contents of `secrets.txt` with the contents of a file passed via `-v` option as shown below. +**2)** Interleave the contents of `secrets.txt` with the contents of a file passed via the `-v` option as shown below. ```bash $ awk -v f='table.txt' ##### add your solution here @@ -4373,7 +4899,7 @@ yellow banana window shoes 3.14 --- ``` -**c)** The file `search_terms.txt` contains one search string per line (these have no regexp metacharacters). Construct an `awk` command that reads this file and displays search terms (matched case insensitively) that were found in all of the other file arguments. Note that these terms should be matched with any part of the line, not just whole words. +**3)** The file `search_terms.txt` contains one search string per line, and these terms have no regexp metacharacters. Construct an `awk` command that reads this file and displays the search terms (matched case insensitively) that were found in every file passed as the arguments after `search_terms.txt`. Note that these terms should be matched anywhere in the line (so, don't use word boundaries). ```bash $ cat search_terms.txt @@ -4387,6 +4913,7 @@ $ awk ##### add your solution here ##file list## search_terms.txt jumbled.txt mixed_fs.txt secrets.txt table.txt at row + $ awk ##### add your solution here ##file list## search_terms.txt addr.txt sample.txt is @@ -4394,13 +4921,58 @@ you hello ``` +**4)** Display lines from `scores.csv` by matching the first field based on a list of names from the `names.txt` file. Also, change the output field separator to a space character. + +```bash +$ cat names.txt +Lin +Cy +Ith + +$ awk ##### add your solution here +Lin 78 83 80 +Cy 97 98 95 +Ith 100 100 100 +``` + +**5)** What's the default value of the special variable `SUBSEP`? Where is it commonly used? + +**6)** The `result.csv` file has three columns — name, subject and mark. The `criteria.txt` file has two columns — name and subject. Match lines from `result.csv` based on the two columns from `criteria.txt` provided the mark column is greater than 80. + +```bash +$ cat result.csv +Amy,maths,89 +Amy,physics,75 +Joe,maths,79 +John,chemistry,77 +John,physics,91 +Moe,maths,81 +Ravi,physics,84 +Ravi,chemistry,70 +Yui,maths,92 + +$ cat criteria.txt +Amy maths +John chemistry +John physics +Ravi chemistry +Yui maths + +$ awk ##### add your solution here +Amy,maths,89 +John,physics,91 +Yui,maths,92 +``` + # Dealing with duplicates -Often, you need to eliminate duplicates from an input file. This could be based on entire line content or based on certain fields. These are typically solved with `sort` and `uniq` commands. Advantage with `awk` include regexp based field and record separators, input doesn't have to be sorted, and in general more flexibility because it is a programming language. +Often, you need to eliminate duplicates from an input file. This could be based on the entire line content or based on certain fields. These are typically solved with the `sort` and `uniq` commands. Advantages with `awk` include regexp based field and record separators, input doesn't have to be sorted, and in general more flexibility because it is a programming language. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. ## Whole line duplicates -`awk '!a[$0]++'` is one of the most famous `awk` one-liners. It eliminates line based duplicates while retaining input order. The following example shows it in action along with an illustration of how the logic works. +`awk '!a[$0]++'` is one of the most famous `awk` one-liners. It eliminates line based duplicates while retaining the input order. The following example shows it in action along with an illustration of how the logic works. ```bash $ cat purchases.txt @@ -4423,7 +4995,7 @@ $ awk '{print +a[$0] "\t" $0; a[$0]++}' purchases.txt 0 soap 2 tea -$ # only those entries with zero in first column will be retained +# only those entries with zero in first column will be retained $ awk '!a[$0]++' purchases.txt coffee tea @@ -4432,9 +5004,11 @@ toothpaste soap ``` +>![info](images/info.svg) See also [huniq](https://github.com/koraa/huniq), a faster alternative for removing line based duplicates. + ## Column wise duplicates -Removing field based duplicates is simple for single field comparison. Just change `$0` to the required field number after setting the appropriate field separator. +Removing field based duplicates is simple for a single field comparison. Just change `$0` to the required field number after setting the appropriate field separator. ```bash $ cat duplicates.txt @@ -4446,7 +5020,7 @@ yellow,toy,flower,333 white,sky,bread,111 light red,purse,rose,333 -$ # based on last field +# based on the last field $ awk -F, '!seen[$NF]++' duplicates.txt brown,toy,bread,42 dark red,ruby,rose,111 @@ -4457,7 +5031,7 @@ dark red,sky,rose,555 For multiple fields comparison, separate the fields with `,` so that `SUBSEP` is used to combine the field values to generate the key. As mentioned before, `SUBSEP` has a default value of `\034` non-printing character, which is typically not used in text files. ```bash -$ # based on first and third field +# based on the first and third fields $ awk -F, '!seen[$1,$3]++' duplicates.txt brown,toy,bread,42 dark red,ruby,rose,111 @@ -4474,21 +5048,21 @@ In this section, how many times a duplicate record is found plays a role in dete First up, printing only a specific numbered duplicate. ```bash -$ # print only the second occurrence of duplicates based on 2nd field +# print only the second occurrence of duplicates based on the second field $ awk -F, '++seen[$2]==2' duplicates.txt blue,ruby,water,333 yellow,toy,flower,333 white,sky,bread,111 -$ # print only the third occurrence of duplicates based on last field +# print only the third occurrence of duplicates based on the last field $ awk -F, '++seen[$NF]==3' duplicates.txt light red,purse,rose,333 ``` -Next, printing only the last copy of duplicate. Since the count isn't known, the `tac` command comes in handy again. +Next, printing only the last copy of duplicates. Since the count isn't known, the `tac` command comes in handy again. ```bash -$ # reverse the input line-wise, retain first copy and then reverse again +# reverse the input line-wise, retain first copy and then reverse again $ tac duplicates.txt | awk -F, '!seen[$NF]++' | tac brown,toy,bread,42 dark red,sky,rose,555 @@ -4499,7 +5073,7 @@ light red,purse,rose,333 To get all the records based on a duplicate count, you can pass the input file twice. Then use the two file processing trick to make decisions. ```bash -$ # all duplicates based on last column +# all duplicates based on the last column $ awk -F, 'NR==FNR{a[$NF]++; next} a[$NF]>1' duplicates.txt duplicates.txt dark red,ruby,rose,111 blue,ruby,water,333 @@ -4507,13 +5081,13 @@ yellow,toy,flower,333 white,sky,bread,111 light red,purse,rose,333 -$ # all duplicates based on last column, minimum 3 duplicates +# all duplicates based on the last column, minimum 3 duplicates $ awk -F, 'NR==FNR{a[$NF]++; next} a[$NF]>2' duplicates.txt duplicates.txt blue,ruby,water,333 yellow,toy,flower,333 light red,purse,rose,333 -$ # only unique lines based on 3rd column +# only unique lines based on the third column $ awk -F, 'NR==FNR{a[$3]++; next} a[$3]==1' duplicates.txt duplicates.txt blue,ruby,water,333 yellow,toy,flower,333 @@ -4521,13 +5095,15 @@ yellow,toy,flower,333 ## Summary -This chapter showed how to work with duplicate contents, both record and field based. If you don't need regexp based separators and if your input is too big to handle, then specialized command line tools `sort` and `uniq` will be better suited compared to `awk`. +This chapter showed how to work with duplicate contents for records and fields. If you don't need regexp based separators and if your input is too big to handle, then specialized command line tools like `sort` and `uniq` will be better suited compared to `awk`. Next chapter will show how to write `awk` scripts instead of the usual one-liners. ## Exercises -**a)** Retain only first copy of a line for the input file `lines.txt`. Case should be ignored while comparing lines. For example `hi there` and `HI TheRE` will be considered as duplicates. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** Retain only the first copy of a line for the input file `lines.txt`. Case should be ignored while comparing the lines. For example, `hi there` and `HI TheRE` should be considered as duplicates. ```bash $ cat lines.txt @@ -4550,7 +5126,7 @@ come on! 2 Apples ``` -**b)** Retain only first copy of a line for the input file `lines.txt`. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**2)** Retain only the first copy of a line for the input file `twos.txt`. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ cat twos.txt @@ -4574,7 +5150,7 @@ hehe bebe tru eblue ``` -**c)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as field separator with two fields on each line. Compare the lines irrespective of order of the fields. For example, `hehe haha` and `haha hehe` will be considered as duplicates. +**3)** For the input file `twos.txt`, create a file `uniq.txt` with all the unique lines and `dupl.txt` with all the duplicate lines. Assume space as the field separator with exactly two fields per line. Compare the lines irrespective of the order of the fields. For example, `hehe haha` and `haha hehe` should be considered as duplicates. ```bash $ awk ##### add your solution here @@ -4583,6 +5159,7 @@ $ cat uniq.txt true blue hehe bebe tru eblue + $ cat dupl.txt hehe haha door floor @@ -4595,9 +5172,13 @@ haha hehe # awk scripts +So far, you've only seen how to provide `awk` scripts directly on the command line. In this chapter, you'll see basic examples for executing scripts saved in files. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. + ## -f option -The `-f` command line option allows you to pass the `awk` code via file instead of writing it all on the command line. Here's a one-liner seen earlier that's been converted to a multiline script. Note that `;` is no longer necessary to separate the commands, newline will do that too. +The `-f` command line option allows you to pass the `awk` script via files instead of writing everything on the command line. Here's an one-liner seen earlier that's been converted to a multiline script. Note that `;` is no longer necessary to separate the commands, newline will do that too. ```bash $ cat buf.awk @@ -4647,15 +5228,15 @@ $ echo 'cue us on this example' | awk -f quotes.awk ## -o option -If the code has been first tried out on command line, add `-o` option to get a pretty printed version. Output filename can be passed along `-o` option, otherwise `awkprof.out` will be used by default. +If the code has been first tried out on the command line, you can use the `-o` option to get a pretty printed version. Output filename can be passed along as an argument to this option. By default, `awkprof.out` will be used as the filename. ```bash -$ # adding -o after the one-liner has been tested -$ # input filenames and -v would be simply ignored +# adding -o after the one-liner has been tested +# input filenames and -v would be simply ignored $ awk -o -v OFS='\t' 'NR==FNR{r[$1]=$2; next} {$(NF+1) = FNR==1 ? "Role" : r[$2]} 1' role.txt marks.txt -$ # pretty printed version +# pretty printed version $ cat awkprof.out NR == FNR { r[$1] = $2 @@ -4670,28 +5251,30 @@ NR == FNR { print } -$ # calling the script -$ # note that other command line options have to be provided as usual +# calling the script +# note that other command line options have to be provided as usual $ awk -v OFS='\t' -f awkprof.out role.txt marks.txt Dept Name Marks Role ECE Raj 53 class_rep -ECE Joel 72 -EEE Moi 68 -CSE Surya 81 +ECE Joel 72 +EEE Moi 68 +CSE Surya 81 EEE Tia 59 placement_rep -ECE Om 92 +ECE Om 92 CSE Amy 67 sports_rep ``` ## Summary -So, now you know how to write program files for `awk` instead of just the one-liners. And about the useful `-o` option, helps to convert complicated one-liners to pretty printed program files. +So, now you know how to write program files for `awk` instead of just the one-liners. And about the `-o` option, which helps to convert complicated one-liners to pretty printed program files. Next chapter will discuss a few gotchas and tricks. ## Exercises -**a)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of `Summary` header. Also note that this sample doesn't simulate all the rules. +>![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. + +**1)** Before explaining the problem statement, here's an example of markdown headers and their converted link version. Note the use of `-1` for the second occurrence of the `Summary` header. Also note that this sample doesn't illustrate every rule explained below. ```bash # Field separators @@ -4705,21 +5288,21 @@ Next chapter will discuss a few gotchas and tricks. * [Summary](#summary-1) ``` -For the input file `gawk.md`, construct table of content links as per the details described below. +For the input file `gawk.md`, construct a Table of Content section as per the details described below: * Identify all header lines * there are two types of header lines, one starting with ``# `` and the other starting with ``## `` * lines starting with `#` inside code blocks defined by ` ```bash ` and ` ``` ` markers should be ignored * The headers lines should then be converted as per the following rules: - * content is defined as portion of the header ignoring the initial `#` or `##` characters and a space character - * initial `##` should be replaced with four spaces and a `*` - * else, initial `#` should be replaced with `*` - * create a copy of the content, change it to all lowercase, replace all space characters with `-` character and then place it within `(#` and `)` - * if there are multiple headers with same content, append `-1`, `-2`, etc respectively for the second header, third header, etc - * surround the original content with `[]` and then append the string obtained from previous step + * content is defined as the portion of the header ignoring the initial `#` or `##` characters and the space character + * `##` should be replaced with four spaces and a `*` character + * else, `#` should be replaced with `*` character + * create a copy of the content, change it to all lowercase, replace all space characters with the `-` character and then enclose it within `(#` and `)` + * if there are multiple headers with the same content, append `-1`, `-2`, etc respectively for the second header, third header, etc + * surround the original content with `[]` and then append the string obtained from the previous step * Note that the output should have only the converted headers, all other input lines should not be present -As the input file `gawk.md` is too long, only the commands to verify your solution is shown. +The script file should be named as `toc.awk` and save the output in `out.md`. ```bash $ awk -f toc.awk gawk.md > out.md @@ -4727,7 +5310,7 @@ $ diff -sq out.md toc_expected.md Files out.md and toc_expected.md are identical ``` -**b)** For the input file `odd.txt`, surround first two whole words of each line with `{}` that start and end with the same word character. Assume that input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you recall various features presented in this book. +**2)** For the input file `odd.txt`, surround the first two whole words of each line with `{}` that start and end with the same word character. Assume that the input file will not require case insensitive comparison. This is a contrived exercise that needs around 10 instructions and makes you use various features presented in this book. ```bash $ cat odd.txt @@ -4741,35 +5324,39 @@ $ awk -f same.awk odd.txt # Gotchas and Tips +This chapter will discuss some of the often made beginner mistakes, corner cases as well as a few tricks to improve performance. + +>![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. + ## Prefixing $ for variables -Some scripting languages like `bash` require a `$` prefix when you need the value stored in a variable. For example, if you declare `name='Joe'` you'd need `echo "$name"` to print the value. This may result in using `$` prefix and other bashisms in `awk` as well when you are a beginner. To make it a bit worse, `awk` has the `$N` syntax for accessing field contents, which could result in false comprehension that all variables need `$` prefix to access their values. See also [unix.stackexchange: Why does awk print the whole line when I want it to print a variable?](https://unix.stackexchange.com/q/291126/109046). +Some scripting languages like `bash` require a `$` prefix when you need the value stored in a variable. For example, if you declare `name='Joe'` you'd need `echo "$name"` to print the value. This may result in using `$` prefix and other bashisms in `awk` as well when you are a beginner. To make it a bit worse, `awk` has the `$N` syntax for accessing field contents, which could result in false comprehension that all variables need the `$` prefix to access their values. See also [unix.stackexchange: Why does awk print the whole line when I want it to print a variable?](https://unix.stackexchange.com/q/291126/109046). ```bash -$ # silently fails, $word becomes $0 because of string to numeric conversion +# silently fails, $word becomes $0 because of string to numeric conversion $ awk -v word="cake" '$2==$word' table.txt -$ # works when the variable is used correctly +# works when the variable is used correctly $ awk -v word="cake" '$2==word' table.txt blue cake mug shirt -7 -$ # here 'field' gets replaced with '2' and hence $2 is printed +# here 'field' gets replaced with '2' and hence $2 is printed $ awk -v field=2 '{print $field}' table.txt bread cake banana ``` -## Dos style line endings +## DOS style line endings -As mentioned before, line endings differ from one platform to another. On Windows, it is typically a combination of carriage return and the newline character and referred as **dos style** line endings. Since `GNU awk` allows multicharacter `RS`, it is easy to handle. See [stackoverflow: Why does my tool output overwrite itself and how do I fix it?](https://stackoverflow.com/q/45772525/4082052) for a detailed discussion and various mitigation methods. +As mentioned before, line endings differ from one platform to another. On Windows, it is typically a combination of carriage return and the newline character and referred as DOS style line endings. Since `GNU awk` allows multicharacter `RS`, it is easy to handle. See [stackoverflow: Why does my tool output overwrite itself and how do I fix it?](https://stackoverflow.com/q/45772525/4082052) for a detailed discussion and various mitigation methods. ```bash -$ # no issue with unix style line ending +# no issue with Unix style line ending $ printf 'mat dog\n123 789\n' | awk '{print $2, $1}' dog mat 789 123 -$ # dos style line ending causes trouble +# DOS style line ending causes trouble $ printf 'mat dog\r\n123 789\r\n' | awk '{print $2, $1}' mat 123 @@ -4777,8 +5364,8 @@ $ printf 'mat dog\r\n123 789\r\n' | awk '{sub(/$/, ".")} 1' .at dog .23 789 -$ # use \r?\n if you want to handle both unix and dos style with same command -$ # note that ORS would still be newline character only +# use \r?\n if you want to handle both Unix and DOS style with the same command +# and use ORS=RT to preserve the line ending style $ printf 'mat dog\r\n123 789\r\n' | awk -v RS='\r\n' '{print $2, $1}' dog mat 789 123 @@ -4792,28 +5379,28 @@ mat dog. In some regular expression implementations, `^` matches the start of a line and `$` matches the end of a line (with newline as the line separator). In `awk`, these anchors always match the start of the entire string and end of the entire string respectively. This comes into play when `RS` is other than the newline character, or if you have a string value containing newline characters. ```bash -$ # 'apple\n' doesn't match as there's newline character +# 'apple\n' doesn't match as there's a newline character $ printf 'apple\n,mustard,grape,\nmango' | awk -v RS=, '/e$/' grape -$ # '\nmango' doesn't match as there's newline character +# '\nmango' doesn't match as there's a newline character $ printf 'apple\n,mustard,grape,\nmango' | awk -v RS=, '/^m/' mustard ``` ## Word boundary differences -The word boundary `\y` matches both start and end of word locations. Whereas, `\<` and `\>` match exactly the start and end of word locations respectively. This leads to cases where you have to choose which of these word boundaries to use depending on results desired. Consider `I have 12, he has 2!` as sample text, shown below as an image with vertical bars marking the word boundaries. The last character `!` doesn't have end of word boundary as it is not a word character. +The word boundary `\y` matches both the start and end of word locations. Whereas, `\<` and `\>` will match exactly the start and end of word locations respectively. This leads to cases where you have to choose which of these word boundaries to use depending on the results desired. Consider `I have 12, he has 2!` as a sample text, shown below as an image with vertical bars marking the word boundaries. The last character `!` doesn't have the end of word boundary marker as it is not a word character. ![word boundary](images/word_boundary.png) ```bash -$ # \y matches both start and end of word boundaries -$ # the first match here used starting boundary of 'I' and 'have' +# \y matches both the start and end of word boundaries +# the first match here used starting boundary of 'I' and 'have' $ echo 'I have 12, he has 2!' | awk '{gsub(/\y..\y/, "[&]")} 1' [I ]have [12][, ][he] has[ 2]! -$ # \< and \> only match the start and end word boundaries respectively +# \< and \> only matches the start and end word boundaries respectively $ echo 'I have 12, he has 2!' | awk '{gsub(/\<..\>/, "[&]")} 1' I have [12], [he] has 2! ``` @@ -4821,68 +5408,69 @@ I have [12], [he] has 2! Here's another example to show the difference between the two types of word boundaries. ```bash -$ # add something to both start/end of word +# add something to both the start/end of word $ echo 'hi log_42 12b' | awk '{gsub(/\y/, ":")} 1' :hi: :log_42: :12b: -$ # add something only at start of word +# add something only at the start of word $ echo 'hi log_42 12b' | awk '{gsub(/\/, ":")} 1' hi: log_42: 12b: ``` -## Relying on default initial value +## Relying on the default initial value Uninitialized variables are useful, but sometimes they don't translate well if you are converting a command from single file input to multiple files. You have to workout which ones would need a reset at the beginning of each file being processed. ```bash -$ # step 1 - works for single file +# step 1: works for single file $ awk '{sum += $NF} END{print sum}' table.txt 38.14 -$ # step 2 - prepare code to work for multiple file +# step 2: prepare code to work for multiple file $ awk '{sum += $NF} ENDFILE{print FILENAME ":" sum}' table.txt table.txt:38.14 -$ # step 3 - check with multiple file input -$ # oops, default numerical value '0' for sum works only once +# step 3: check with multiple file input +# oops, default numerical value '0' for sum works only once $ awk '{sum += $NF} ENDFILE{print FILENAME ":" sum}' table.txt marks.txt table.txt:38.14 marks.txt:530.14 -$ # step 4 - correctly initialize variables +# step 4: correctly initialize variables $ awk '{sum += $NF} ENDFILE{print FILENAME ":" sum; sum=0}' table.txt marks.txt table.txt:38.14 marks.txt:492 ``` -## Code in replacement section +## Code in the replacement section -The replacement section in substitution functions can accept any expression, converted to string whenever necessary. What happens if the regexp doesn't match the input string but the expression can change the value of a variable, such as increment/decrement operators? Well, the expression is still executed, which may or may not be what you need. +The replacement section in the substitution functions can accept any expression, which are converted to string whenever necessary. What happens if the regexp doesn't match the input string but the expression can change the value of a variable, such as increment/decrement operators? Well, the expression is still executed, which may or may not be what you need. ```bash -$ # no match for second line, but 'c' was still modified +# no match for the second line, but 'c' was still modified $ awk '{sub(/^(br|ye)/, ++c ") &")} 1' table.txt 1) brown bread mat hair 42 blue cake mug shirt -7 3) yellow banana window shoes 3.14 -$ # check for matching line first before applying substitution -$ # that may help to simplify the regexp for substitution -$ # or, you could save the regexp in a variable to avoid duplication +# check for a match before applying the substitution +# this may also help to simplify the regexp for substitution +# or, you could save the regexp in a variable to avoid duplication +# can also use: awk '/^(br|ye)/{$0 = ++c ") " $0} 1' table.txt $ awk '/^(br|ye)/{sub(/^/, ++c ") ")} 1' table.txt 1) brown bread mat hair 42 blue cake mug shirt -7 2) yellow banana window shoes 3.14 ``` -Also, the expression is executed only once per function call, not for every match. +Another important point to note is that the expression is executed only once per function call, not for every match. ```bash -$ # first line has two matches but 'c' is modified only once +# the first line has two matches but 'c' is modified only once $ awk '{gsub(/\2{NF -= 2} 1' varying.txt parrot good @@ -4962,13 +5552,13 @@ blue sky 12 34 56 ``` -Here's another example, which needs to access third field from the end. +Here's another example. Goal is to access the third field from the end. ```bash $ awk '{print $(NF-2)}' varying.txt awk: cmd. line:1: (FILENAME=varying.txt FNR=1) fatal: attempt to access field -1 -$ # print only if there are minimum 3 fields +# print only if there are minimum 3 fields $ awk 'NF>2{print $(NF-2)}' varying.txt good 56 @@ -4976,47 +5566,49 @@ good ## Faster execution -Changing locale to ASCII (assuming current locale is not ASCII and the input file has only ASCII characters) can give significant speed boost. Using `mawk` is another way to speed up execution, provided you are not using `GNU awk` specific features. Among other feature differences, `mawk` doesn't support `{}` form of quantifiers, see [unix.stackexchange: How to specify regex quantifiers with mawk?](https://unix.stackexchange.com/q/506119/109046) for details. See also [wikipedia: awk Versions and implementations](https://en.wikipedia.org/wiki/AWK_programming_language#Versions_and_implementations). +Changing the locale to ASCII (assuming that the default is not ASCII) can give a significant speed boost. Using `mawk` is another way to speed up the execution, provided you are not using `GNU awk` specific features. There are many feature differences, for example, `mawk` doesn't support the `{}` form of quantifiers (see [unix.stackexchange: How to specify regex quantifiers with mawk?](https://unix.stackexchange.com/q/506119/109046) for details). See also [wikipedia: awk Versions and implementations](https://en.wikipedia.org/wiki/AWK_programming_language#Versions_and_implementations). ```bash -$ # time shown is best result from multiple runs -$ # speed benefit will vary depending on computing resources, input, etc -$ # /usr/share/dict/words contains dictionary words, one word per line -$ time awk '/^([a-d][r-z]){3}$/' /usr/share/dict/words > f1 +# time shown is the best result from multiple runs +# speed benefit will vary depending on computing resources, input, etc +# words.txt contains dictionary words, one word per line +$ time awk '/^([a-d][r-z]){3}$/' words.txt > f1 real 0m0.029s -$ time LC_ALL=C awk '/^([a-d][r-z]){3}$/' /usr/share/dict/words > f2 -real 0m0.022s +$ time LC_ALL=C awk '/^([a-d][r-z]){3}$/' words.txt > f2 +real 0m0.017s -$ time mawk '/^[a-d][r-z][a-d][r-z][a-d][r-z]$/' /usr/share/dict/words > f3 +$ time mawk '/^[a-d][r-z][a-d][r-z][a-d][r-z]$/' words.txt > f3 real 0m0.009s -$ # check that the results are same +# check that the results are the same $ diff -s f1 f2 Files f1 and f2 are identical $ diff -s f2 f3 Files f2 and f3 are identical -$ # clean up temporary files +# clean up temporary files $ rm f[123] ``` Here's another example. ```bash -$ # count words containing exactly 3 lowercase 'a' -$ time awk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words -1102 -real 0m0.034s +# count words containing exactly 3 lowercase 'a' characters +$ time awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt +1019 +real 0m0.032s -$ time LC_ALL=C awk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words -1102 -real 0m0.023s +$ time LC_ALL=C awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt +1019 +real 0m0.021s -$ time mawk -F'a' 'NF==4{cnt++} END{print +cnt}' /usr/share/dict/words -1102 +$ time mawk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt +1019 real 0m0.014s ``` +>![info](images/info.svg) See also [frawk](https://github.com/ezrosent/frawk), an efficient awk-like language implemented in Rust. And [huniq](https://github.com/koraa/huniq), a faster alternative for removing line based duplicates. + # Further Reading * `man awk` and `info awk` and [online manual](https://www.gnu.org/software/gawk/manual/gawk.html) @@ -5024,6 +5616,7 @@ real 0m0.014s * [awk FAQ](http://www.faqs.org/faqs/computer-lang/awk/faq/) — great resource, but last modified *23 May 2002* * [grymoire: awk tutorial](https://www.grymoire.com/Unix/Awk.html) — covers information about different `awk` versions as well * [cheat sheet for awk/nawk/gawk](https://catonmat.net/ftp/awk.cheat.sheet.txt) + * [list of freely available awk implementations](https://www.gnu.org/software/gawk/manual/html_node/Other-Versions.html) * Q&A on stackoverflow/stackexchange are good source of learning material, good for practice exercises as well * [awk Q&A on unix.stackexchange](https://unix.stackexchange.com/questions/tagged/awk?sort=votes&pageSize=15) * [awk Q&A on stackoverflow](https://stackoverflow.com/questions/tagged/awk?sort=votes&pageSize=15) @@ -5031,30 +5624,30 @@ real 0m0.014s * [regular-expressions](https://www.regular-expressions.info/) — tutorials and tools * [rexegg](https://www.rexegg.com/) — tutorials, tricks and more * [stackoverflow: What does this regex mean?](https://stackoverflow.com/q/22937618/4082052) - * [online regex tester and debugger](https://regex101.com/) — not fully suitable for cli tools, but most of the POSIX syntax works -* [My repo on cli text processing tools](https://github.com/learnbyexample/Command-line-text-processing) + * [online regex tester and debugger](https://regex101.com/) — not fully suitable for CLI tools, but most of ERE syntax works +* [My ebooks on CLI text processing tools](https://learnbyexample.github.io/books/) * Related tools * [GNU datamash](https://www.gnu.org/software/datamash/) * [bioawk](https://github.com/lh3/bioawk) * [frawk](https://github.com/ezrosent/frawk) — an efficient awk-like language, implemented in Rust - * [hawk](https://github.com/gelisam/hawk/blob/master/doc/README.md) — based on Haskell - * [miller](https://github.com/johnkerl/miller) — similar to awk/sed/cut/join/sort for name-indexed data such as CSV, TSV, and tabular JSON - * See this [news.ycombinator discussion](https://news.ycombinator.com/item?id=10066742) for other tools like this -* miscellaneous + * [goawk](https://github.com/benhoyt/goawk) — POSIX-compliant awk interpreter written in Go, with CSV support + * [hawk](https://github.com/gelisam/hawk) — similar to awk, but using Haskell as the text-processing language + * [miller](https://github.com/johnkerl/miller) — similar to awk/sed/cut/join/sort for name-indexed data such as CSV, TSV, and tabular JSON (see this [news.ycombinator discussion](https://news.ycombinator.com/item?id=10066742) for other tools like this) +* Miscellaneous * [unix.stackexchange: When to use grep, sed, awk, perl, etc](https://unix.stackexchange.com/q/303044/109046) * [awk-libs](https://github.com/e36freak/awk-libs) — lots of useful functions * [awkaster](https://github.com/TheMozg/awk-raycaster) — Pseudo-3D shooter written completely in awk - * [awk REPL](https://awk.js.org/) — live editor on browser + * [awk REPL](https://awk.js.org/) — live editor (browser app) * ASCII reference and locale usage * [ASCII code table](https://ascii.cl/) - * [wiki.archlinux: locale](https://wiki.archlinux.org/index.php/locale) + * [wiki.archlinux: locale](https://wiki.archlinux.org/title/locale) * [shellhacks: Define Locale and Language Settings](https://www.shellhacks.com/linux-define-locale-language-settings/) -* examples for some of the topics not covered in this book +* Examples for some of the topics not covered in this book * [unix.stackexchange: rand/srand](https://unix.stackexchange.com/q/372816/109046) * [unix.stackexchange: strftime](https://unix.stackexchange.com/q/224969/109046) * [stackoverflow: arbitrary precision integer extension](https://stackoverflow.com/q/46904447/4082052) * [stackoverflow: recognizing hexadecimal numbers](https://stackoverflow.com/q/3683110/4082052) - * [unix.stackexchange: sprintf and file close](https://unix.stackexchange.com/q/223727/109046) + * [unix.stackexchange: sprintf and file closing](https://unix.stackexchange.com/q/223727/109046) * [unix.stackexchange: user defined functions and array passing](https://unix.stackexchange.com/q/72469/109046) - * [unix.stackexchange: rename csv files based on number of fields in header row](https://unix.stackexchange.com/q/408742/109046) + * [unix.stackexchange: rename CSV files based on number of fields in header row](https://unix.stackexchange.com/q/408742/109046) diff --git a/images/awk_exercises.png b/images/awk_exercises.png new file mode 100644 index 0000000000000000000000000000000000000000..09de589ac945acf7ab5e36299c7cba3b6d9f094f GIT binary patch literal 27266 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 Wir!^HjD5lsv6Nn_$yLah2K^Vt>)E#e literal 0 HcmV?d00001 diff --git a/images/gawk.png b/images/gawk.png deleted file mode 100644 index 33579e73dc70c3abda9ab3daa8211ec4dcbb2457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106922 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
ZM*%w9?e& z*!c5}cAF5K2Kvcmrt1^W-6{IH)1d>oEJuyM-jLwO4GcZFW#oNH=fE5zIw}R56VTq~ zq^DJz&QloMX~O#|fw&Jd{>MLwUptk?lRYhhM}BH^%M5;?*1z3ZD1rnufF{#MTI=49 zH>m0zeO1ov!FQA6?73bx+ubCI}3^dW zuU8}GkT>Ag>H$6(z9J-+V;!eora4PU*F#^`f_=5C7dFxn7sKQ}u>3-k7TAPl=4%G% zoZxJgZKAX_}5JOEr7uR#Pm#K&I6?^6FfLG+ZCZKiv)q ze1Rb&d_|H$;P5}B`cm`O-9&dPkUA|x%jFpQ9H7!+YpZ*H0`lwE$hkRVGNdVx=L7q* z!xNdOQHr2FUQ(}-lg*$Dyn?HP z%gqD4;Sn2q7Sszw7n_>mO6)G>JhVbc!W)nv5}*wqBnVK523^J_7HQ(#!1K%r)ZT&p zx&!e|0A%V=II;V+K7_7<)ntK>6Z#^ru4UOm#w{yk$+p##=uQW`rmx@{I+_$4pt(%V}DllA$SAzRt$>Yx|uW{jk`E6c?a|)$plOYfb#Ef zhj@8W&B5hsih(LD0rbE#slUQ!R{@QduV)W3iLJWA>yY3sa5K5!!qk1s>;bPiY!$gW z56uhGl)j| zr=ojm>HU0zNp?-g*+z_)-Y@>wNiFnJ<`*AA_i>eMLG0xXi~NKNzc6xYdfLrFHpNFn z@s7!j@lTda57_*Do+p~Q+6wz&|1fa6GtHcSr{b;EvY|uGL#%*23mXd-bi)e4_WQur z6`rC?N<9k)MTY1gB6+%eUHO=GMhmGCMDc=3fVAicRQwL0bm3nj7NXUI(mT0L3s(&zPm}>S$sV#`K*!pV=ZfGaIzMNG#^}HBhn46z#BQByx za?UefX>c01E-y_Qq_Enen_IeWiwHB~V&w|PDe-c{)ejv;ld0PmSrec2Y7tn?tT27y z4X+Qcx1FyyPi;u;+=7Zor(bzl(f>Il<_1<;?>4DTU=rQW0mUW^5HYREKAXe^fox1? zRYWdV{rM2j}Neqqj}lJ43qY6$uWoP?}o$c7aBpj zv6x_B{C!cv;u-TyzBn_#VL;yT0S6jXfBN`psc8QG*hIrBos!2r(poe*rEDt4!D8SC zzx|zM&z7S(_Z&B?>i0|+O-B4)-gU^b`S>Y2_{d~s0*o4s0vaqzV9BHP)HiLr%j3$r z%q%=IN$+P?g^5wEEk41kangUTezeO0KGJoh>kv&I6jc&)?Rr!egXH?8xu4cDxs9te zzN9c~mjPLE`kZzx=^B$QNrxDU1EW{hhQ(%-s{`h<)_=(Mao%W2p`%O6pFk%ZyYwZ= zjf&bL0>Vu;Q8NeUs<3$F8u;;p@@-1b$Oj2WI_>Ic355J-C@x;woUzH8lJKtxH|hP* zw@&^(mFLLSd;fyz7@NHDjr@*dNAvIL$~qRO9jdX)ZSb!>#?hJzOAx1yg@0v&0Xzi3 zAnqH>UlaKj?QfV{0QeOx-xB$%Nor=?{|&>T!a#P){}|(>Ak{jp(7v!!@(NH74_7aj J{2lDX{{SeXaM=I= literal 0 HcmV?d00001 diff --git a/sample_chapters/gnu_awk_sample.pdf b/sample_chapters/gnu_awk_sample.pdf index 82c43cf8c6fd53e9d3a1b3f1f5d555e80a613b35..dc29cff4260d9404a2951db77e3f1530831940e0 100644 GIT binary patch delta 342667 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%0AwNHD12_j)9T6 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%0DX6&x1Y= z*gkM{2Oo*<6Kvwiqdk?2cdmRdb?~`9@#!{0R_^%#DE0YsSL5@SauwW{b|1R_@X#Ec zDGV{*_u};Z4_`%-im=IRtXd;iTiqH^p0*vg@&!#O+7_gHd!DbX!dRevNy*;A$>cAk z7R!$xY`(X=Y)N-C;AvG8o;-8}_bgiaiMs$Yv( zud^WSM1dU;o!9l$nk34%`s+|!Vw&3q4Bux*y?>%K&n_z0komxxOGi1bfq$qJ8NJ!; zI%w4IO)cJACAK)jH*UlAQ?AcYjzcmGVu z>9r%|T<8V=pl}RWme$FH`uLgpZ*UT72>ksDb?%$$WAx;M_bJhJl5#u!;G8e}*{oyL zOrEpb<1zFV#Q2kp;t%2|6%$~qho6w9PKGO2T9~7b)R`$lByJ|J?~B4a$J6YZEggjw zE$k$R+>Ej+MRwtB*;Vik(|kLyD*m9rv~Imy$$zOSJz)=_;N}h-?$> z4-T3o97pOFx`xWG0psvn-E({Iy6zhKxIQCAy*)c@UouaO^AH?F#mB`ND+Ko+?B2!( z2^VYee@jRd6J%qvt+PC2j_#H)G0&TqR~|5|=ND+Xv-^2MXdHEX$VjQyAYPZ`-2yS! zFxg6Zr!H3nw<^w3tz0?VQeQ?jJvqK+zP-wt6N%8GPIS4yy27E~BwzQz`S-cGOU#j^ z6?Q$RW06ebm7BZ59(Bqcs^V880^&n%)K^$+zR~(p7n=uDy(puXy%E*?=!fKuZ1ShY zfoIcIK2m?wYRokDEaZ=#U1^Q7en%HLLYry-JYG4pRweZK_#-7HD%a4(?x3wkUJ<#c zI(5&fCg3>baa0Mp*<;#QWDPNl6Id}_BE`uyA=2H}I~W(ltTms9`un6+tLf|t9l-Fj zc067upB^>;RE<&ZY_iT2YklTq<5sn|5~C0kGcxs5`*!D0zaUBK5B;p?@mx>zdl46# zsJ9NHb7J2F<_9hB>e(_^UkHG5Q0#Y2l??PMcjD{3W?uIB>1=5|Q*#uEAn#f{iXn|v z@5R@lMUzHUd&L&-J6ODX`FSTsi85&?dmtB|Fflc0_080MzHsD42jl6F0-i8l75pu^ z>S^G9BLAMcv1KH*9{>Fy>e1NEkb4!(%~xC4BoT*vaaGZM3Or%nao!pnyWgx$xn^4@ zK20xscekO^W-WTW6(ifow@*mkN}Sh%mVvI`2IZ>Hs#ZN)5i!8e{#N#8!Co0`~CJ$~~v)w{0=xyWUOaJbk`LD`>2E zJzrHpnc9h8r6UnN* zU~kUS%|ssop?8ER{bc9Dx)J*_9GEjQDTZ{E@oSij2R6_|JOP9E*lZKt#s5z&#dY(@B z-ypOSH=`bDJUe>&^uuuRXS!?uTsR>8WyOD`9MO44*;kM>o#?$|ps`z_UP{|HfI9c~ z)NRw;P)Q{`xT@uwTpwQ3=8Y1 zJjY1G;Vw0xL@fudp^&-!`D|?>u)I6gR~TKi`XiGfgJvUn4bswfp_o$@y?!km0_zpU z3;w8Mef9EQ_^V{y>xH+RzV4v2ACL_>4`AC&y{Kx+#`9rU&L!zAv%KvYZvn9=8f*3a zHcY!qbqd8(uQd>ley*n`Mi%YZU@T3T(&%jlTeXJI?7KO-$scG%4|F|aXvPue>rE0R zi&y8pJ#LVqjiJ|!g3;0vzcnbup>z&B!6>htITd-nL~KLpe?@M-t*mGSL#5!F=0$#zq9~!Cf9) zwqZ4YQsv>(l;UaH>pkPT9mTs`<7`^xq)7UxK&({|4cM1AzMiKzP;y5^PC4Kd`r(66Y5QIWO#bJI53wQp2cb9obPb^ZC13(DVQaBhV4v+F{3j_rxYf3s+% z|LERFA4E};xKDRoIf>OLo#!YvrsmI|`RV={Ux8+qCEIZFyhKjp)s>21r1cZIrEp$A zRg1oHRK3B)H@?{riQK5<<9o{J8_n-Gt@YeaUQ$2Esd?-Ofrhg8uZSN^@~nt()i3Ym z8tauSn?2p(h4h9W0+XELK{UTG?mwz$Lhscx3tkYNQdHn*`@o)P^Y@>+d$+HmMWz%{ zbEf-?U0yRADcUQ9sG2&{zfkmwPlUOaw6C6QIr)e6LxwxOTX+{`;0vm*`C)3UpDmBL zI7<_My|4r#mJpBiNHC~>^VC%#WR=3Gj1J>^l9y8;?|Ab)>E~+QXSn{mS>oeE+PJv5 z8NRv@XP45dvmAK^kxZlIZ!p(k-(u!l6K-W^Y8CQA=ndPaN8{=mIcjol&@nl(Xe0ZG*vw@dRcwplW{IS%dAihzM=t7bF6U?P!rb2Ii;b# z6dG?E$Rp97m5v3A$?3rR7wPv2@-H24Kb^;COCTi%_OR> z-!no%XWg@}x7-92+-m@uFOR*Wen;s`PriL*9;hVXvM<;3)iD&iZen*vA3GwnFjM_M z2H+p3!Jegb$E%gXP7k4>qZJWQtR zrU+m~8N+YD7A<^#>4^H3ZI%%0%kHKsIJ$J2#voXFC#Ix!d${WG z{xE~!um&)n;q2Km0(Y$7GQ-A=a#Ku490-eQU3l6~L38<3!Z&jumi^HzOE@9!*1F>T zvo<;O+nO)xwx8{=G7#pB6^1~s)?mht(A)Y64o!r&&DDv-){8_5;-mzD;xLj}#0@UaY!Y7J6R#VU`$BdssAqve}M4)ZI0iixUvop!86D z5UO|J?GSTKfO$%Ebl?=s1#wr~ak6_vq2aB`ep>AJ=UY^#FoAbqB}>8yrFTjUzc8KQ z^jBl4$z5{Q?t0IA8a~@&_rmRM;5SrVxdk~U&79*qzy}GZSD4db`F1y_y!YYQZZf;eISKj%kxw52?C|z z#Tlq0Vs!1(B(kz_D8INS7Wjh5f^`)DBQK;@Dnm>RE>?KFa^rnw-Pm)@%bHTR4b$bg z`^(>d$KJ@$aKO>w9b&>h_?QK1al>z+i7TN|CadS03!;KBy*%nAy;{~%9y%oAt&l*> zrFfrrs@nN{o~!G*k3D8BLuUaNZe3>JZbrQ}#1~l{{gy*$ok+3%njWo*oEy)cnYx$CgSA;gFEO z_$;H+n4ngc>2mySwRn8510Su)`|JWCk5jVxU0YqwB}|vI*tns~5Lv(jEynyh4IWNJ zyqk)?_WJiJCp@vG9hhEfH(b{mUL0U^|C~`8%+`U!)8|++6uAEQP+`II$O|)<>CYhB zI5OX$`d;9xFTzp)uEdG_`9^E*Mg3@5(|qe9CuP|6snTR6?t>mQ7z)c zGg3_5%V5ihmZf}?sH)p7;P@J$9HBhxkN_#W=7m#^>!=HmwNJhGwaOxA-$iDabF?PR zeqw7rs}Z|Y-mYm#BU9OI^sy5fnTNjL6&6OxkR#+@bA>{hFpZ-*h-#B>+KYD-doMpk z^(YYj@Q0z`~lHWI5{rAFDMc$bn^i};P?RXXyGSLsmnx1VYiMZ-Ua(D=nuJtcWWX}xq ztWR6}^fH=vn2A70^bh3)h(t6CbOex}UH z)3$1;I_FY9*{aM$F|`(+9%do)3BgkyR3Urt-Q@aM+bzWG6~8=I*=yu*?*3rf660bB z#@oT$dVT^bC;n9uUK=}g#l>w6vzrEl*KrA*hHVnFhuba@on{$43Zg7{BgeR5w6jb0 z^MWIK_d(N?Oc|n4ycg|-T6}lL%jMVaJ~j}R$K`#YY?ml8>9X-^=()2cYx%lEeqoXq zU-cvM)f;fBt)4a&ax9fsM7@dcd?W@Qer;ahdDG1{vj;v?8_{V!23&vlcu>$jVZ1C) ze-}AhOig95Fg3z9bKC=pE-W$)LJYh*FP0{|@KT0#$Pbrdzq)X$a{@Aygq3OCS8WsT*551?DjKzYp`B-N~iq{IcF41bXjxm7qT6YKYa0aVDA>f z(v18Vin9E<7u_u<0T@-MVMq0DR9ThY!#G(b*7v4-9ZM<|HHAqc^P@A!?)#w^9_D7# zX)@J|e*Ov%s+H6_mONT|$%s!JwKVU4h*`RK&qvgx_RZoaNLQP6LwKP3nDcFT~rhfVXWFs`&!&RyVly5EuOcobQQ(OGVR%1>35I7 zCo$zbO`^yfN~3(ntqdBPmHYV*C4_DwM>je;G^rcXNZ&EP(6e+Y`DKYHM=p}=b^9?s|jj=mw z5IV%!)PniAu|eUtPkiTyt2WFB59+<)Nc;Z%Vb5~X`oAvipXSkig!FOa-u2?c^5GhS5j=y~vfg7hWqP$cMpcSCA5&C@u7la1t3k%PcU$CXd$ zHU?w(*asLdhW2#O7r12udO#+vEqC@N$bTatp&)O6JBzCOxu3^*HA%GiRTtaEZ~Vi4 zaHL18`KNCc`H|UgQov<2k1gV?tYf_Mb{a*wY0@4sm*D1N2UPBOfBvGnOJ9{KaqbXI zBe?ZEX_OfY`pxL;!Y-P{i6mEZFV>5Gb0DDO(zp;l9sUR8Boi}nl$-vO`?>Z2++v|H zYBSwe=5dsv{aFv4!O@sQXfZa)%ADF#@?bn&AsUcLGUpu z_>3a^MnDha`TD_^=T6o_K~bzTny7YZpP2N%bggNtZ#2(Pg$b8WP!oULW2*`#M_hoF zNASGp9o<)UpaV1y#1eqsXYXgsHp>_pj>_QjT4i_pKkrRT2%M}z1g!kKTLtwJp+|b_ z7w&XD4^_o(R;6!gpoAaNIruKri5{4##oTQ^PF=U)M6iq%YK4Ex@WGE*5WD)HY5BiEE z3`t(y(L`6|zK<+IGgC}ghQ9d<8k5#2N|R}dtG_m*i4IR?z>E}Lf4i=k6-dNW$D1pG zzeq^{8%QaGQ->hYe+wM-{omH_e;&I(Cn(hZ85;j1nEpFk_@CzG-(u*GX!-n}dm0A#v#Ya0mL^bht>{FCpSHzjoemgsqjj3I5BAv?4Ih!gBp;rG)e6#X_ByvU zCOQtzv4I9M2lg~H5f=WPPr|F)e24=2~BNg_1d%KCFdMo{+%!3ZNK*A!~bYguMPHFDJC(b9+r&)@W;YR6dbj z=%3}PP?TXbRTo7cW;Xj&_fo;tS$MvA+F=XbAZ7h z=k3NDd={bCj?&(8o>Dwopfw#Us`H+Yz5O62c}IL^r)pAlidD{DB&yLls5?S<0#!%B zV_oZ^;6SB3lu;bBJyUe!{X^s41G*q;@1~-)x3h31tzy7*dxrh;y&d?AnrZ3f8UF{< z$Ok_B@!OC#C}BuL*HuW!o|`su_bHGPPvi;-j`$|usGmP`yV{$2L!FsZy2<<*RRs2jkL<+(0ztLMB>B4$hcXzc}4xdSzKzl(WhE~5LcP=~X2;yl7wK!eR zo>fJD?;;`a`4$T{;Ssw!!y(k#at0lgf2ZWiO^$g%T8?oN9c!o{*RUg0>?R6df z%A;@->>e0bC+ejbcRT8eFT;M8VFP7kW~M$Jc8ye*)Y~v0=@~DF-1Xix4E=R(h)s`p zmoy)1*0Ea_un37LIW#LLVe`XCT@_cCA6zqUT!0`Pa}gsEL*tlW^^l{eCzmfDMAS8O zb#G*1%6d=|Ia4$M@#uw@Nn*?j$yZP;4=>xWwnEjM?{2}Stz=V!pIrL3dGWM(^4)cm z!Y>nN(rrM1k}-5yyT23K#A?stvP#_%U?mdoEoTByyY~n_F6ezZ$wVxDsvz01dRE*6rqa{f5nSQ=}Ml zJUf|%#VM=i&ie;hl&J}1u#&I?wW{$!$IqG`!E-R9xA*5-39Z{si$T3%59@8Fm5%vf zv6B|}%AV~{E7_9c_P)$~=Sk6<$@tULB#P=ZtBImBGH&O$`k92F-OUjD|+GW*V8~UIm)O#ngKXh^IjABB-DZF3;Pqaz#=^X>+StN^M z)wcRMmbLn){x+WPNI!iIiTB9<$iLWh+ac&z#D;zVjltIP&Wri=n}XyGdue={0J2FE zOZy#--Q}vRbpPo3nBweK&)Nk?Hh8bx7Q}I-8n97xWM1>6I=fWJ&atVu{@f~`bK45B zCt#@tTR(_++aU5b(-kXPS#CcLvxT3#>RBxkGHj0Jg7-d!(|_RF>ekeL=%DkQjI3Z= zcSUGK8SiT1`NS?w%IxQ|KCO7*FrD~eUcCN;d%WN6C!yS^ z<=#F}0(bv}Q2U5@XChRkRA%pDMSwatLLfXOgRX zsCUBZa&5hF5T)yQW7PlPZX}x8%6n4Ooe|ta86h7TCAEj}O`z44#FF3*p<_4fPV-yknn)8ffv+aRTZb>IsYOH_4<2s+`MENV?Y^Rfj)-1bFpFz7ht<5*=TJSlM->Vin$RsvO&Hnf!8__RYJ1&{RTU_vpw08>2GCScPJM=FvuI#-k63NkUDS+!MYI(V%lfV=Y?5d8f-a zYEYM%d@as4)Ic^oKP<=q36O6xQR1Uts0Qe%8odouN{HotpoLLuS20qKH8d_rE!%7{ z7@RJhdF;9J{rIt~+=!#Gh-3MJ1?$zd2a56Z+lU#xl^gT-Y7_%D=sg10J_fb1+t0{p zl?@*>NYauPpGDJ>Hbu%9rO>DjzNiElZOormc_KgAh<&{2ySv%hqz!;`!h!7~+T{<) zYYn;UvLZ^{-Eiyghn2xA{5~4JqR*%0XF1NNS%ebF~ zW!(yj(ia?fHc5>_N!!u2+*UqC$*04`%eSAvYn%k9pCjzs%w}IodDIDrZSzm|cTx` z*FeqojomwVi$&V;#a5p$g6t7DKlG+QxI6mVSY9?Mq9@QO@NffXQqahfhr^KjAmGKW zy0lZGY6SF%Q~7b=K}VqgKGR|uMH>cJi!9W%7Tn4{@+wyZ$f)B-A1W}22*#HtR<^P7 z>*})SGkRWv?Uw9Di%X|m`CN>AtIF~A<_ClMAdJpbCS1qKRjBXgGtAcR9c5G%`sZVI z_Ph~rlS^%(o&eH$;rxox0UOa^3aVG_cA?KmOeuV}2JU(f+}ZV_hV#&O0dbpuu|Jeo zI){OqmlWyrE^ZDi$NP6GEaGmj9i0JN z*F&SVla&`ESym;n+zQjU1~%3mDZ_3Yob?Tm$lbNF`SB0QHrEhLdIA!zH)8@BV^ zE{|;}bp8cIfY_&rzxl@@6>AT4k^PyKRZP&1+IVN@?ID#c6Xh_4b?+QLwH)iJp)r?Q zu9txb9$W&#GPLhn_`gWE*HoUod(h}U>V*t<9X71#8ci?q^k|fN`DOQ@S}%bFdbPl3 zh^)8VA($@oslCV-da!7HI}2)?>|FpO?HNN9SdU>meM*o#f-!j$6tpj$%KgzAow@6g z@1BDjc}w?HjkU=~4xRo7k^4mJKEDrMazgFqs8dM5^F>&X#-~u60TUcK#?~)_ zJfw7Ia^Rvl{`C11HJ+M5v@_kM0rfcTm*jR5h5HzCu9WNF#kp*+9qxUp#KZm59&ONX zK{~!;BG}DS<+STY6G8nRt%=N%S+@>2l8yDf<%n(H=&{(_^dHWp)Gkr`qtxQ==jxT^ zjllHfe;#bD?=E$Rkx_4UdPbk^x8A)EsC9(Gv-IpY7Oe;svnh@Y9m-+6H+EF~=7R|H zn_oqA+qIFM=0!W(`-bVdf2hO4>bEo`^I7kEA(c|H7q*M$dA*6GT%v*`P z?|W_4BAqEsfJjXIqvEN7qGV^j-N)4K+o{401>Hh_G7?Wo?GSN4MJL z<}(7qE}Y4Kbwrpr(OJMBrPYd=nqxw6&-JXht`DPY;*m`*tJjvcAgd8nIWlXAYi`>m zY z6pRB$K&t1t${ID?djq!PWqwkZ!G;T|3GaW0<0nI>9rKji>;B42IKtr`Z<^f7t9D#Df9zdsr{Z!@W#FUrlZ_T z;_VA4I`6rt895^)U(e9ps9jjAjJiZga^IajxnWzPs>dC=4~9>%OgSJ~G5e$XkN}oc z-^ZCx5_qa_DbjYc*2Q-@TBIZI;P!V-M$D25#uX_p!YFI1AwjVFOXIXBjmYR8_bOE8 zJOo#xADDdsIfQa=U3FZz>hv}&+{PffEESHUi?L-I@<44Xu_H`$Ff1vy%_U=Age@-m z?PcEC?Kp3(ZZtJ!=^Com$jy?gghH!-k9 z!f@}E$T)emz0pv**8672EWBFlWEKDS7(kHe$gA#qIlij@ zWgpWoPPAcY-Oj}#bYarl!&UR_VI^^}VOkKat<@9{b#Em>d%6V1f+ zU7WOmEsolDyIb_xmUmbq^mSoVl=jSs6y7Vy&A_|P*UmEa3|20y^I9J7Tl5fsoV}e~ zeMOcK_k2e`!-OW--|U+g9CRZ@g9Rsc=AaeA08-cJSDSX>euQ~gZ^7B|&g7q)%}A^y zHbTu6!BhGzOQ@pXSeEP!m6Jif_}22}EmuYsmZa|$Bh;{xY>g+a`FV9pyl&{~d24St@=+e69od?wHm%W?#O1=sg|3d!ea8>(! zmb|#V^Of!=wA7xga}L6})jV)It$#YgbSFSlfNZ9azxl$#I{X$|TW5@nY$yZ0VxdZP zAz|S{am(nfr*%3cdsD?wSjp+36333Oh+Zf2(=-=ggHym`4#uWXmQQi>$DixbF51n`tG$SfB%bt_m{3Y z)iHw6S=T#n?j55{(XF%m%SUPw(lLfma@L^!ZK6#;I-C%*F?IUvwn{KCf=@U}Q7R_l zo^0{{^ihmB*9Ej!wBqRzj7q4kd&_=c$`W`teX4kCWsmi%Zvq6g6#0p7dI*8cg2(n| zUwQ;^y?1jWu^#E6CV64U&Ym03Kxl$u8OzRM}ZK&f7- zfM}8FwlcWu<06f@Zp5!!Qb(;aDiL-X@J+90?Iwz!Sbj+yzi5K%pE?8~sx+xU$_0^qtPB3P63{W|Quq*&z$5!bw~ z?n-J}vFzct?E}(9UoKOz-ogKp4wXximXwA?A@t?1gSkn05iq{Ezb%@DAd)Rt(2U~E zWNj+jP|jSYkmH31y95GG5;mt`X73U_sOrz&k9ypyqx~YB5Lor{*&^+3hy+-#9T0lz zTG^^inHSg2c5Nnl9GNboBl3d~tkP6E+&U&I?kFG6-~54H?0&EX{$7MiUp@AH?NSxL z(`*%gDjq>^Bf})Vd^(u)W6N(R+?~haXq`AEFyp1)|M^h?g3=CTG$XUhP5YusNBR>m zbPkbgW##3N0N%mK*~>?qM(n`xC+UE_vDYyTXw!MEx>J{EczQ3JWgbG$;CVKe55Bs; zU*DONHHf9ITDqFlJO8Ag_495wjTu*od5pRI_d^DUh(cNY_+ZgMl@$a%j-bcWxSlxu z>Eb&5Ie`h3Lh9zvMx*_u*PldAT%eQWh~EA_us{mjJhh9!bi@CqP&S~aOsVo)U7XRC z;}tJww5Jn+;k~Tr{+ zdDxhf+g{liIlUr0h5vGtCz$ggHoPfY5&lJ6EGl+8nh|5i4Lfxy8k3H`XT}BdoZe>b zTACWNE)+Ht0xbYw5SOF_Es!fFJIT2-8UIy_~9NjH08?#_NN-au8}6&70C7RHls_TU|jF^fP+P_`TY^ zxIzDp7p6M6dxrLG&RWDxYwfpG+)_w454oayim%rJ8|}$`OYHaxB!{ct(>%z8knZCM zSi}6Wa--)vbLx158U4`;4*PtEU^U_v*YL-S(o!FBWbak=m6pteWOnjnbJL@|`%tT_ zQ2seOdZN~fI5BYak4WYDOuI-JV3m+mA`o4CbuF2`v4gQL(1Bg3=D2cdwRp^Pz722% zHss7@Uz2!3T|j>7QKAK7yFl3nJ!_)=Ut*FgO{ITcXYKjePb(0JkE~w=QSQv&V0%r| zdfm>c$F43wKC zUDHR#J^%uAQnA)UDM`)sJ<53&YohuFEBhXwp!538-c4yw2Cv*U`P&uIxcriSGEfw` zz_~qLDDwIw>{oX|r4%y(Y*odAbo!+P;lO)3N8Y zW7EU(&D%qVIJ6g2Sm`A&&rM1Qro8LkySpuZ0sF!0=B2j)i5K6iLlm(@CxhjV20WwjAci$V(>K_>P`bVR>TO=8b= z;hRcH`8yzd9Fn`QK~qawIaGW#Q!%$;YhYduX-UE{%y zzWznu0b@`6JBex#IwF&Su1Wl8wuT@MmV(KG_5fH<<=q9CB*x@Ms$kwTlcL2U)0MI1 z?Ct0+Z=tebN2Jb8@%9-=%zXi~dnp`EC&2Y&Y4)OLD~YEMDv4b&MfC;ZbOp*Zv2-T# zlaU~iS5cwd>j5mQLyIrxi);0bX}!-UV|9naB(Yb^*A((nLc7({jTj#dDU@w>1A|cY z*nKVMF^f@1TdU|UjIua^yyV4+DYXvzDrBsB)L~bJuw$|Vr%jWD2n&^^TeDe4P8lt7`{6gqlx+{|6ul8ePCI zVpCQrSrx--^>_0@%S9%K#aEt)rV3l4Q5gIt?1Jxbr3z-w=Jg$I4;>>*6_~%_@8@qv z^Am?j`^NLRMJY*}y4<#*TBhm2e&n-|K6?P$TDT;$D@sqAwhfv8{p<$^O|~+Ms+-S0 z!oqni7k7e5dzU2KctA%1KwoV*;Gd9vTOmuV_US%ocAT6Cd2H871^|oD(8CGoAzcaN z;5szs)0wfsiPP49%MzP42a%TMX0zwd-M5xpfh!nS(?5$tU&*dqIe+6}Oj;#-y>xzD z3m*u!&{h_dqjzvK~0+3Pa78c$q0yy)60sn-Jq9u9zs6S*xE0JzC8g_C%fw% zx`&ul)}TuuCN+NfOEf@ZlS@-@uJOF69=04M>6N|F@}d#;?*Siw-O|Qn;J0t(QxBm* z+?L8o1e1r&<#+3taA@@;?(zldR+`r_%4Pdp4;Y?+xd( zg7v)2@J&_4Kg5e$nV&gUzSt*!g_}Xy+Uo|@eiU{rcKiJm=JaYabdiZypXWt!Z(GUg z(BuhvDZ`}>iH{o;pL`@4iaqgn{{@FmvcdmIh2Mf<0^&dOC&AgoB-C@<2$(@j9bfW^ z@ZFm{V;y)x3}3#?Uz(=yjJh_W&u2#Z>}K#;a2$PG^fZ_5ZtB;{###*un^E9ogInt%2;%Jio=L*5mW_Q|TyYOc`-xoN3ZYVQTH zQbDEHKyhY5%*{0P5`WV(u&=boJ>`JQ%qiA?CMra?4DUdd}) z<3bgAoa;w3cK7+&wyOd*_-I$ehsUaC!DxcxNhaLK$HFk~-iBXHO(MzV(2gyXe^>~s zhf^(C?TXrUaGq^0!^*d}d>pz6T~#m^b;VYwCL6JRnf>!Cx67B!O=Z_4pYXRDT= z=@&0(dRe&?G-l6$PEob)jkAvnFM>;n!$`>in?INcI~eg;(jfh96aq}W-y`NOkzK0< zgE=+=Fv&~L$!s3epFi6oyCkUk;rLzK$*H*ccU0#epdYL-@J9!N_xXSfklEIb-@@5XZ4-(&Fr0 zfb7M6#6<4zjJB@RFLNi*E0VRh9Xs05jCV1oakKy~e6y9*6KkyjVxhpI}TJ_mxlY45G!gA_Z1MLWMwa zm5DyfTlsQUk9WApm9M*vFKl7kr^cEA3=H7k#6{?4@;8E^6?z{p1W-27+D0E47+6cH z3}|S!%rwWxTL&^eqop$WE6ifF#~?2z4r@H#a)n-(^g}CrA>@AP>W40#%5MG1Mn+We zh~9ac!2$ov7%*>DokO)Gu3Df|+!o#?NMzMlC*K=Ng9i!1WBb_LDQ^73xPaLAYlm|W zNDD;}vnF0|f~ptLhjl{yJRP=s3Q%tr)zHK)U(zZt+4k(&EUz2VyeFX!3NmJYky?Q< z7dy^So&msei(WlFMlfxCWHMVtu3qq&L5p)qa~!w=o%1N$W~E2ruL$Po;>WzpBW)NR z6%)aBPE5pQ0rM~Ac9D)wn31N7!%*HHXRc{5Rv^I*+@>pF42Y&fp-zFLxeKEKGFu`8 z0_W(PZ-m!*S%pzeqAJdmAp4x#j3aEDb0(ucrJqDEJ`HT$ORYjjoEy@76nyDg zL4gX}VUfuSX6chijBCL}^iM3H{!-qEZ_Af3r$LsTGaRTaV`tS+a?Lp%i7vjMo%Uk} z^3*BcEkj@df~0H%@bs%yDc>@8A54NO@4hDzjFo@z8C^`}cSGvy$Ry4|8<%Boz({`w z08AXg97t9~Et=yEx=WNn&xHB|7+rl=eE{;?qK0k?c~)00T@LH$+?Hv%cUIVbSGaxwk9Ml*V3RDHt?1GLU>)*@^pL|`f zK^CD$c94ltELgZ(Xa@Qlcw;mwO`({j9ds&R3Id~M*dkZPA~<$)-e4Mi;yaJ@nr{K? zVSQbqiXx)amdSQ#5)rj|;Ar2C6bnBFw+L8-N>&hesp{35P(<@qxwjzDs00k`b6$(3 zKMyh>`kwGz-kUms(sn#5gH2|kzt6S%^lvA{9H>YpP@k=bhI-7uT3uYCKRNR~k;&mY z9_D1ZzdsRw_%km3jys>+cml=$Qo1J1;`I$T+|MuH zB10soQpL6*{UASvU8HTqqYW&-%X#Jch8a%9|D%R{Kr_`!P3B0(ReGmP8u95@luHJmFDr>xl@>*o~*=^>OdRxnB@U7 z5Zc_+d&&;_>~azNb_a-GP8j^0oIJJX=D2^=&66vL5*69)XIQHYuJ7mH|B6O_^XV^q zltQ&XvmAEJb=RT?01k<=i`Wb~R+k-R!2K)H`-aRuMdg|Om*Y%Ap@g0MpzV8XgPTG^ zW1Vh;`M(Y|-PS4{>w;NvWG@bytIFGN2ch%fA7$j>Th` zS_`Phk?{x_4cJ%XE9{}@U@@RCf_SMET~`)}{y1y0yWi|E_~`fm`vF5p`mPJ5F5Zk@ zt2Bo~R%@W+x>R3&g-4(HG1(w@BmbOid&2(1k%08deqB8WZTjI zDbVgev^Rcicd$=fV^TbFEOmb1wsK~-cNcrU8!CP*H*&z|02BKq_XbFTg&fmQVp4Xz zUL6rp40hCal=I++K1=E1Z<|gdWlGxHQ`nBH;>7_wM#E|8cj$$F$Da1E{AKBBX?X(f zSoxY3_K0z2e10JuF(nV|NXY7TM4}fPuse?mOL(;wpAOrw&eAM85M z9poC}ULPk;d-)x#lgX#WFpujTLR$-!Gw;wI;Rh--WiLNC0B6u&j?OQj?$!;C`#3H0RZlURMD(`PrJbTx2hyfbd{$3SB%LWTaYOEUMP^|%-;91H6BkFXG| z^QSpTIYsih!LaNI#5H2|vs({hs`uHoy^f#)SZXdTbBR4uJW~uBBOdIOxB_uPsg5;# z5YxrW>95Z@w(30FdbKpNbZ19;LFDjIf5d6vbQ5zk$5|4)g z@$jtUe2E^l$_BJe8$O9$lFewzv$;j=3S`=oi%UbEkZ}vH)OMD70rOg(Epnq7hS(;` zcQP}+z!WYy_cP3@aaivq&p5msZ*QTDVHou6g-&xeqF)FQ@jqaQ<5`*=_2lPqZ-$z6 z7qxOL?K%x?!x7go1Y*?%;Cwq&dmK;{*TT`4^#-0@tAxtxz8Pe504s)$Kuy0d?7j1l z7!!{?ObvO0bT;u0d)GPhJ&>O^J$tfVJZuTQbNj0%wZYzkK}VJFQi&D>I^>eKPmBnI0h$Z%xpg!`;~2M!~xkJ`xUU;_?cyK2X~ zNoU66%y7MBfQQMzA#@tZw({N4kWFTzuZX3-NwepJPZZ)Y&oH)Nw?Xa(#QKcwr%d9P z>MfAy{lIa%>r+oNLJNevbm6@kzvsS|qD(oH8OeKWdC=aFd}XiHe@{is_=@$<@tk?9 z2%Fuqjo$sxDHIxT3jj6^pDV|h)fH53s^K8VTffY2CoewAioTXaLdgW#SB0kUSG8K$qc6JWQZ-$r7+-FWYv*kJ$w%0W~+sf>I&aR zJr8yGDSzC4yD$W5<3Qx-$z8we*I1H&wPE7`mXMAWc27c1$ydxx{)!aWcdiTRzWV z39o#tjHRG@`s^3!fJ=c5RcVXdLs&TVW2_(`0~-}z!DkPCz2hL(?BU^HK2Z0T%+gfypDvqJ3hzsu#(07=AdJ&v*e8f1N;a zd-tQYq-2U^EuQjNMX}cX^Kh}T8Pulcw!Y|UrOZ(v9V5ZVm3n-=8ceIar{?+~1_Q)> z^b;teZh^`tN-o7t;_VJ(FC1s>H%V;ldg?k+Jtmd?q(4Y}p6!Ds zxqsZ3OQXqAkFh{tJPVYKpo`#odM zdrzw!*UC9=)!z+!d?A>ts;Q>o7UwRK<)dcJfM-Iaqz*#=620^eA21qkG*M%T_LXz) zdFJ!}p1jswlr2tkqriCL@P!>uvWF7(X1=JCS7Rrk6!$ji6{V2Yp3>M+^ghIAA(~;$ zcnLD}l|as(jLV-cdlJ<@VC8!Tg&x|MBH^yO4vl_=sfCedLK6^vCs*59i9n| zzrtkIGgdiXuKYkQ5|A`U=+n`w@9=qSD;+gNIJ)of4G0$=DtzO#$i^lm6+DqY!zP`> zPUdsdZ?^SqQb<`vo;`+~J*hHeVTqi5FNN})U+C3TtaD!%dL;uY^=&x^y%FU$`rwCj z)y7lvv8`X{$#S7HaJ4+lR{O{RRkDnj@daABL&^7tuUf_p`sLjIR3Z}#Y z>bJ6K<4l@ipOWgJ}=KiS-cA|k$A64!BeSbCvey#=bhzO`H4WDg`ZXGcvpw= zfZtn~<0lJw{sh>iALM=1jhY$5%;c1RWd)h;RI0SX+b$hh(9@i%=*%lj*7w(z-4f@s zvw|OviX575Jm#c|%y!#Q zGc=?RIF>DvgGse*=8$vh8Pqb~^$z=J60;EfNY7S->NOz!yx=~%_>=&PB~kwrCy@V~ z*GTF0u3g})9l1AYITZ_kvJp%UuK&fGC?qZxw98lHP4D~oZvGjv1Z#uJE~6}MwA|Zn z+m{!AU;M;MABL7tKws;BeWrzfnNP?IZXNl2cYdhD>g zd+97a1qq4aD@Q~5+%w=c^b!OL^RUCU-|zoBEqo_-ljbxx_#VK2du#Kkk-9UB_(jYf zbb;EC>5=o3r*ujQspaJx0u3Bv&qfuy`WDjwY>ywEm}qJLTf~Kk-L{90(V$;?5x=53JAJHB0GH>Z`s1 zc$^yg_&Hx5kl+uZY@WJ|jKR53VK=MUh2$S&p;$8%q_5A?w@K^`t)au%3smV6z9ezu4L5mA$o4%k_KSk6~rs&e;VSeHLS^qq{2;lJ# zbV={UC1drmfn@F+OA+`*fMsh>>}29(V%xTD+qR7-wr$(CCbn(ccHY_NoDci`4SjX@s#UA% z)+3Eh7p*9?LW8KJg$3`1Ndg!V*X`yyQ0b{3tYEB>Yv8j0y)mT?A(ZbtJ@ir#HuZT)1g8$}yUPMLGNDvNPec&^A$$ER?^grdR1k0+u6u}UjN zj=2I!q?yI{m~HpWnQosKnq1*nyn%)q;9!2Su8A>KuM}h*_qivfJ^{e@AcXcd-(tzQ zE>)|wiygsqLPjdyfF(>Gn%@d~6irTq3&yu!^^+UBkV`ll;H)p*f7VIK+#UNDMVs7j zdy1f6X&Esr5$1Ijoe#u*(+G|&{naw^Ptk$J;0NzPWiaUg%A7W`3t!K?$kGaBruoQ3 zYsfHW4=Z{jRtyA*B?0sk8=Sh~^lo-=2z@;Lsyq;jM@6Wfqi!$W*UeDp^Xn#gD`{pr zqi3^8x*rmx8Hg0CzWUw>q)JhGS<8_n!U#o4!)JCde;Ch;e!0>%hbhKn2%AZ7VSXwW zWiJAjz5-?Quz(0qDQ&{s6dEwd%hB4q-82dq6|KqG%pdq8v<~p*0}i1oD#SDei)HS# zgled3e#tQY&6fwdlo!|_*yNIcWYHyAo*dU85l&j%mmQxo*cHzEaY?*tqENZhQzH_{MIjzZ3z$ z^bf$*RgLD;|7#tGJOdR0^H`3>v2+RSgXeJMP(VYW2aMVr+t^cnU|x?+yochRlgTaG z3=f=QpL=svhs#^|wNfAFl!x={y0Z3fo38L){+w*Bqyd7O=yhtuch^*DYgVqMk@?Ol z%pCqCMx-inN{h9fh~%oG#qlIhzbo5sk&dxw;$#f?PW#T7*~AE!mH6OzRry@gr%S#_ zdN{3*eQ&l|bB!AAOo$Sy>`R-aaUxLC{(iDfz0Oh$Xytj*43N}I!5RXlf7<&P&}9Kr zhV@v|;RM`Ulw;g75};J+PKsitI#7KSm#>*q0I;ipQ_~a8IaSR}=7L4?38G?bPp(g} zGyTKY&D3v<&esK)MMi)yh9CK(%rIda=B9(9OU76oMp#+!-EMx9if7X#3v0C?Y>Y&I zz5A9|Hmk$jId@xH3xvp?qjUMMTo={4#ugeehXG2MqIo*8<`Mz8E!|4y9#i=CNai`;706sJ=S4k13!xXE3R7SJB*8`&if7eZPH zF6`QGrDW|DGY3$$vh7bNulKiCD4cxTADX~O$3I1q$?lmQ!QCGCdd;i$Ow$X3cFevrun=0umH|X%ZJbl6bVCKj$&- zh)30sXH`e2YvJWxDY4$A<)crf{k*?%XD?|UCM%uyKLx=)KNa=9Pxg$Lj@0Mf@3)A(yhKV8n;Y4ajJSWXdVe7Rx7bHe zcv6fmklr`yQZvJ4KC#dGmiI1odwfhWU$(7xld*Afu(6j-MxeR$h{;}nJO)OKX96e? zEL8rei1R{w62;hNu8)Np4cM%HCT=)CEi>ODu7`2KJNOgSnhZ46x?Vgrja$vdEFVYX z;5E-BQqhqnJ|7J-TUn~16u$&`Yutd01dle@3Q2YAdFn_@WbVGyc&er1!{Dj?I}FZH zQBD1#2@g?9nhDQ0FBtCv0=RxPKR}aiG&d^Z%Myr2CkT+*m)_e?swIL}NSizN`+6!( z-ttA71EAY?|7@K-)&?P!vM2=)Gdy~mtct9FI%jfpDb@r=apfB%N!CD|RK%uU4@O&V z78r=DZ}d|-ZE{RmffIsCjSr1Zyg!G}@(jh|7O8jvpE*a3^UL=P<-()O*~F8Goz?9~ zj+y{17Q~k3I`~=~$q*-GOp`sI97nsKy!N1UsO@cu3FnaDWt*$%d0@uENw1|x4=wcc z1Hn~kZ;gYS7riyO_r?ArpQ&zaU66sY#Fhj01vnst!NQDz?+d}gX_V=IBnJ>C>0BE`QwHBUH!LPMypQ^7^g1FLl1xOBzb7o4#tSB zxYkf$%v_n7MIPSb?{As=@Za!Y(IBk4?0wn4CSdel-&Of?L-cM!a{-}$VPd5{0J!kF z7)K!>&|t1@KPR<%MW6thV(zUkpC1ThBOzE#^?@uT%y+K&Pl-|VEu1ugSJUD}1n>5` zeRq*uchpx!?{@xp3pq30xf5|L){iUSS5EQ0F;~FPr=!8$+XfYRF1Q`2BsM&8(>;j4 z{3i^#|1iQ#?7*7~*2}qa6+!fFU`QAGZoXQnsf%SMEuktMF%4i&XmLm@rwcug2~onp z-xKPvU7c(k@zNlHr{GzGms7>+tjn{8>SQj2b9H7>PrAj|x4_*lpE`G>+9q-v`l1{I zy-Gez3nTT3q-p{ALe!?lT12&$zmn7dYK!(W>T0KH!kEG0UUa;4?-x0&=691KIghy& zC_!aX7yf)Sqa9$&TO*z2j=o-TNTJhSA51*|jWF5O96g855zL@Cn;uU0k589L4>g8m z{%6$41cSG{rudNUsD`4IQo^ASbOwqdf%Y}LDB({*42jFJ9x_%sru+bY0?tJAod&td zYLj58^Z_TD2)K%(qvKNlahk?h%2F07<8Zn+&BNnEngoEhJ_2*(NE;~r8mUv>3!gk~ zYz>BlntT3rFj8~Q*Fwx$8{fbr7sMp!xyJzm`j2lGS2hZG2A@Nw?a^C>(KD6=Q@3U` zac=g9M8#^f34LejM0%IJ;86+=$Hi-kI3)qDWkN0dSA6$fbNiEtHW+SjQjI$s4FT1@ zH^Rj1cpHGCslgFS^WPH5rhCE^SUF%6>#%D60{)CMXEXO=Fi)Oj0$}P;I-n~3^zDcx zRe^i=*r^s7H0Ng4q|QL656d48W~m+%&UBecLyhHAI(3%?K0I`ua;meDKDTkFkRfw7 zWHq3m{9OY_6YrDuULYoxYhpIJ8}`C#UN82BM8QeLp+P z7+~qjd6=h$5U@q~qLIq#)+%gvUsF+D#|fc+^`TwfvIQ-J#RXk( z6i5G8R_mAMp>UWL$a>0I$Z7%l_kj?M@@9G(mHr1f_a`()2QM%GOt2z4J$lPWQ6l=` z4>DfGj$KZ$Tx$wZQ#eta7Rky47$Cdw+VnrA*x~KuC}n`Vx|IcrSQ_Awo)5G1j2fM zi5AaTuzsyGz2#h_6xX8vK#=?79LT=Ma`rE7B2!kOPWy-jN7gHeA|s?C8%Iwuo^^27 zsh36DuB<~E2RooRA7Xf0do)b)i(*uk9LobCaIjNFA_;XyS6aEC6PN zL*J(Nj~4AiF;@<$v=9iZQMcRY);)fYv7Ricz!V!%T9rmjKSZHM7Ln~)v`jIGsWmMv zYc3Jkg_d6kS4#RVR$8hM5n*w7Y0F#9xSLc&fp9SAfA6%t4aDG#ITY1YT8@j^MJ?YGW$wUh)KVDblN7a{9*UBTO4QOyHU6-K8bsAp>QebO&= zpV2S*mJBEl+@gHG`sSIfm}0bpb>Pz(W$U8rJZkT}2I$Wm4ih`R(Fn*GeS&2z{0c6) zk@#JN#;s9oD zbPDl-^O#3kxHQwTS08T1)!iC~%oJ#qFHrRqXVrV93#|Q-wVn2x(9~;n-R=>jPjz6b zu}NfSPDmCGh3fbY%YYn5GXJ)fSrNqzyG);wK3aGdf4t4 zsz(sjL6HP7P!1Gx;Kvk0TM>jY=Ij4_aR|k%v6rhFn+_3%_*y~>MX#^IbLR^FjQ1c% z3Lfarc#C(fkhaF3oLesZS=zl@)R4K`g>Pk?{8zJ;(;idO5#0-Df%kcT<2*g(13Lgd zu{RCtVoz^*v^5f7Q;-5U;7edvW$1G2<5#y2AH@vAdM?v>lhk8%!?z08_yZH%+F$J6 zDtho1Q07Pd)aYVsKf?D-r%3`#x07etX}HF9Z4PUwaBDUR3b>o-8V_CPT9cfGnDQHCPbmod>;D8z?;itd1nxQ{%b zI(IPtY3#((NGt0m6PunFL#m5-n)-PtQdg+!nAydoVKSklJ`;(oiGh?y^$q>w@l6%1 zvuFtw$Yr@2j_Y)K^dUA&NgmT>g1BD+f5K6p*Ewqaibx%mkax~KvrYPRPlKH%iQGWl z4%v55t`?7o?YiekuV2C^n$`fZ!NxCMAWyt zcI2grI573KrIs|u+KIm{f$(4eHfLoya~5+r693wQac(yRE%By=axYo#A@*=5%_wxNk+6kmIWq0n696p9oz5 zG)VPlwp~WiQ_$k^ez&B~vs2gv%?L<_0_1M%Z?|}^qM~nuz{|WsVg<}S*5B^y#a=7- z3UA-fUJ!bze_rdl$kr)QJtYV&)RBn<2X+o?@&rGy%FBot|FOop8sM%KajwqI2a(4g zFzu|3erKF4xrZLhpq{@vwalSI$`vyMVxO^4DjRf*b6i!AS#aOnKeRm@E1cfqYcS<} zTc)noR*CNNW<9vmBY2Q#rJSUO5%tRC8KqQdxlDqad!Vc7fR#yJeK6xBI2cP7t+G&3 z&x`wuOUTTgv*TSp%M)yCKk|6BwF`~N9-0y`2~$fYkO}( znZctf)=(|pGn3?UI8;Pg+iqaHp5_aQ^&jJkxf(OO>4|CDyC z<+EM#lq%drdo;MtDAOsso;)1_JdhOTIJ_mAj{e1{5(V?K*Thnb;gKbHtTHE+Iw}3U zMM|g{O2$wZ#(FZH13yV7aHrLV2$qm{ch`NfJDRZ`Yjben@GtXKp zdWZe4DANd!Q8_%~SVQ%vp0dy)&hoQlygZx@hitybresAfI;&^^b*>;>lyuLf6y%{& z%T2=fneRXg&;*~tBcy=`WXAC6O?tDzogb`WOwdY(A3Elt2Zzi;w;csNS1A5NeBY&~ z2-Xh&nMoTl`E+>1;9NtKIkcOCQj(|V7ITosMExi^7A@z?WNWQvP;@*rV{Z|7?K!pC zfMRlaE;d{o!p~z~m3Bz$^z;j0yZIcAR%a5nC2E@+qbHNwUVgj-v}L+TTIIN-LF~Vz zHpZ*F%Bc`Y1j8pI(j2M;M%Y4@Y;QpVk7bpiIkO&3<_fWeTf5mbo}r<_qs^l~_)v03 zEtQA9I$29r(h=A{B$Jqz>=r;s1=1C`D_(2Bp0#u>`3W>L94=WED1IK`6ZA_M{SnK& zet?CAi77pJ_@psg`7Q{XGv8xdFWj<%pn4wT)4Py!GX%|Vwmt@ zF~H7E|0x_dp*4)KI;S@&HL1R}D2oT^RBfc0bXs$3;r9;HU=NwWOUT}i-j2<$`gxb9 zL_Kt(#90C$z)m$9XN8DWd>=bG$ey%jPd9bxhJ9?xfZtJ_CP@>vC=fWpdbtd+SYn$E zS6pq6OZ5p&GJ`Bev8gvTP(rugUf7LGDR0Kj98B$1<}DBDUa|*Mk5*jcKR_EqX68*O z3>R%C2+XHnn(cF-+Ld5kyhhL4bo>=vrWMQ+?GjfrV6zdExDmU$pdv(^NzcM`^-@`O zLX~gEvtE{K`e8ld-uu2is?X!DmK)xxdfN$AnI&VqL+6<&cKHVMKCujxHsE;(?4Afu zptm|~ujf2FOP(XkLDXHsq#Fc*qAsT5rMRf{pc@spwGNI7+H>|<-*f>}V3zQo6Hiez zA6rKP;HuL^>kfu+yK;%7SHHaF=fxt*N_Q}Gs$no-u7{BH!GfEcRKBw`=vNkJk5QPC zCkhAS9bz;SoQm<$k;q@~%$)|BOqUiPs_rXERpw>_79t=)U*C;+J{lFqJ4se_MH)sa z$gQ1INCSa$f|gtBq18~;P{-#@)OY)_8`IwdAj-opr{sP=oIS1_2tc{t_PQ(4qA5Zq z@81_|zvElqJG^PrC5A0ih^q?&_g^6;L9&L3A3)k`qg{0S)%`Be3GfvqSI041E$p+~ z)2=I-nc+_c&WiPe+c1N-W=0I?!Yu%*wNKzgp)+vD3QB$5Te(uec$xuYrL4p8D7%jV z^Z{DZ%7Rq>l24C<8%`3-Bh6bKpxsW)4G`+H43p!hVyyon62f9;V)olpwI-jepw7U| z$nnSEgBpF4=o3}U%vBXtW`;Df0{JU#;|%k&AGN!H^#^y4OSc9C0kR%;zRh3NQZ z@^G?| zN_H+hM+RyauA$V?g~MUbmU4LoL((kcv{KsVFWZp7zk zG>$%vK&v~%^B`+B4M^^x5l8+FfP5aZ@HrTg?Iyy>yW@WV{F83Vvo|y+bO6sMy{|d{ z=V+KqJ~>jQlA zk91tK!!U(h>~STlCUNrHxiIvx{}LjkHvS*2yX0bKx8w3qV};6O>>X+iz#;>GPu6x& zs{}Oa!LcTu;$0vMMy9E^Rw>~P9jFNw;`YZo-uF*!v9|_-Ul>}ywAaoh?iD^_$$yo(X?!UK}P^@wFz8b;BH{)-Ib@l zIY`50*sy}HkP_4HljGP708V}N?MNdLHyizmiI^uBhv8vY4mQV-s5FGa-SY1lNQew> z8MktCV;323S)t7*%LXC>UO#7p;l+8<A z_GJ;2%OfT&5+$3Tg<>^Begit3L(l~TM_e3M3TiAtPwQ?(Xkc~{mP2Kz=%o7>xJ-P) z$l;lO&J|t-%4=N(z?Dv}RLkvlw-7B(5Cj&_!aDp!M9{L0hIG55)*$B5`uV6KXZ^9L zgu>s8fKag1gJ8#;&`0$3Ez67!MyZP$>aGJdmdeuX^;#{x@kCep<_&h%qhvWY>x~M# zM0~#)McF`ckY{jyeuBa{1wO$AI7rBDBR|N&&Po)Wbw0T@fX#3C4=Yknt=gLVPx;_p zHstBZ?+n@FW#T{+@T0Aw)r_P_JnFS$LqofLFYn{)z9rEp!30#GM#;_aKQNo{*2g?9 zBWqPzeiDRLOQg4u7uzmzen%c`g#{%=+rHeZZPmA>&es4GtDWGm{UBhAeU^BKskZj`0umQ z1Kq6wiodapcILxEkwVAMpQFJ-kCMYq-jU+NwXS@o0XHX=_edfu$KL^oW+rCyd*7OU zh26&Ygc>@;SVVt#>!uM-?dG7`5IEik?^<2Fr=bF?y%HBk;99HWcHF zf6#QEliLZXqTAbTv@^JDq-g>u?3RssRgbYD0Nz}Q(8Te_Yix4RkP~iDkTZIpDSk<& z1c}?G>m)3J?#!uSp3qK>O|3g$>{RZaXS5M%kC|5P(EXktMisAhEgu)J^j}2D-Xugi zT%k|-th@MfdXjYf@lh#{Q&n!krJX0-n36}s-3RqOlna?R*;+a{A7JqtFvHtIeFh+O z01P`4FV=g**c-dIBs`0@Gd3absNYp=6M0(5QAtYQ77upPUCU#dIT?|II1!5FObVXE z5uNytGEFD*!=5j*iIIZrr07veOI|D>5?I(ZZpczj2lO%BgJNBFUm_+RS3Va9epU~u znC7sxfX;_r#QvQWxa?)&(-e0sA*rR8o4qRw@6A9i)pCX0YtKc*MMsPjw?Lo69{pBZo26O}{#A=@ z1}oGH@Wy8kQy-<|BVrd}#bCO3Cy&}wh{>c2VuzQr- zK=TF6BmIE*xKq!=IMvONn(~fY%!#|889$Z3UelC*%>HA?T-dD+&nF9Xbyg7nsVi+| zOc5~wjR_PxA+}4($~}w@RlwQo%9;)%k43-PLIE}BM_L+ncF79v>@M2XHVb6z3Bb&A z&r=u;l+;YY{ZxO@Ec+OT_A+zw;%)Jv+i=?EN*2)P<#wu`?1omp@i)OeH8!UdZFQaBDoc$%hC(&p7Yqd{$a-Q5DBdNvXlDEI*qxZ*`?o5QMxTY&nGf*8t>OJ~ z0X|wAiAH;Vv>P3^O)Uv^gJuG%e!g+x*b!}=YX_IswM0pp=+<8iT_&Di)PL&WnQDEK z*pbrD!6e^qO;?9Qxz_Goes;LpGVibh=)Y2qjtiioUZIX#(=X6~e6@?KpY8qCJ8 z4IFu{j%UU76H3U9WA*l0FzbGDfLtuCNfwIY5iZy{dRSziSyX!l(Dk*}GzLMjTvE~P z`aLbnl5?#a>tr4D!IL=r#ZOnU?d`tT%%##D{D_ODpRRzu#k!@b!r5b-CyB^Ok6F8#3+feM@w5<<6V^zKs}4}MTuHR z)Qf(=yPt?e3VoHz0;xH#+L#=+QXs(zwcI8L4E#(-=j>)?fP_C~@>$^rI5}^VwCGtM z9d#4D07f+)(swd4Wl7&!!Q|*1kaor7c3azQlLJ z-0;n2qjkkyeeWO)nfN3B>7L`-BA`CVO|BK}+40eWVSsDG5WIp0Ot|uL^~6iol&n@Z zG<(4mY+oC@w1u;Vx?_~pQHg1-#3%=VIiCnx5>llrT*;#`oj+)P@t=r)URVj+%D1<#j&`aYM07A}(H zQy1!u1$9dvnm@0BF=BVX5X8MBrViqFsEj_)tLFI$2z_>nI2;ys$&=fde$ND_ThSA)EobWIxdK7B5hN28Ubd}qz)59PB8Ez(U&-OL?}AY_ zE8gN)=>hoae9@9*iI&I4Q?!G6!@45?{o#Gs+ulmV{tY~k zML&Bu_5gzu5Iy8)=dm{iA)%NC-{CBx-auD<1s!ORYs%W`$EzNyBXnoW^O7|7F%2;_x=@GuW zPV!>NEMXeFGg4^B7v<@gUD*;M@D)YY3G&Qz*+YXpo$}?1gc3t6TSyJofOU+X*a$wz+bYN@Jsg6yTKgDNCP3I?G>sb$phst zhTP|5r{7c18Paq3-+kj{lF>Q|Hf-oz9I6$?9K8lqR0?U%M{C<_XC^*sO6MBs;3Hb|qZNaSOL{Dzme5;VFWyG;TtJOXSwpeP< zkC;RwJT=5+ah|^OJn`Ef4TRlhL|W-#0JZxBm-EtQ>ht1~&lmZ9@df(l8juN(yU9W3 z=swmHTBB2tg`I9(KF!~Lf=SC+rdY)m= zy*(u9;p~{@@_}l3@7FC|0y(0~|Fq&#=_7&30BrOO|J{e%!rF*2YQ5^#bMVz~D!2v) zk1Q~6H_n)bzgys+iFSVK75hdB9~ltztZqh1PwoVokbFfN0Er%yz&T?*$32l zG<%?ngl&Ao0Q2silzyWql<(d2@>2Wt>N4JYbb^p%-EZL3RBCTVx%F27!ivJmTJ`vB zLa+7`io?|*F6D4}`S14uUYpxKrLE*q0c||EEuG|9@ZwQ*ukN3(1KmmU-MvnVdu&EU zO SePp`}t$IhYl75fYzbntvKzLt*Ok#6a9p+nw-e_hZL7%|nbZ3(F79>-aS!!yH zeexT22{^Tj*OKO7y*#}D6FAfM5NxHGaV&xo@C6 zGOCQ#&4&%sG!#vBJ?LkaU)kpv=z?%;hjsTH4jahQ5;7}rOEIq#{@lXtN%wECGa7<& zr3ETkyTo~`_uCg%6tl0c{8~W*l5Y|+WaOSUL;VH~T@W*XAqayg(kM(c?!1kATmTie z{hxr+H&BdKiP=dxx&R1P)GeAEWO*DO5C&hQxQ9f)=%SEZ*Z=eD2ufIc{nwpBdi##U zYiG3J$s77t#Fp0_&&p8W7*F@d{xb$tLhN(B>nEWP5TK1NjH?i=iNT{ z$Dzppryeg`=&Rq~c*OhpYt+H4RFo)C>(svt{HMrGg*q)YW?QXpm(or~2T%ip9eZni zU&3KknW)y((xeyoN?-I;h210HeT0K7mm7jn>N!7+Nouei4OaU>Hve$%i#-dB>W>j` zdqF8Q%7^*isoy^@sy+P8>uVH`sn;n4<+7khZ6_d=K>^3!kJmna$II5J!4lSrGVCmd z)B%3@;wx_TWoBSP8GaM3@Km}(rhs#bH`?Y zu)?=ahYy#@$c>r%E~a1U62c3JDfX&uGDP8|J)RxHi#r>8%Q%G=Tx1nWk4X$`;dGw) z+40W0r_Kaeg$d(E%wINmB~nyFdK8R}jEhuK$FDVp&&;ve_Sh^Lh2Z&-sJ#L7(RD7) zrH9O70ww+u;(tr+Jb!rGN)9j;&^nC)!h9+PFalgP5jyf;E8M<2;^$h1gU9tedBpdz z>MDcN!|1LwL_>}2DmK{!L60dC2utTU5unWu3nfiJ5uPww=a*-WTEp4P6N0&dX2yiK z550EIK&>11Vc+U*=>U>-LZhpkYLBw(+0nJmBp1Siy?)L`AHi%Y2)qF>L#-yj436w2 zN5C4;A)JWtb)f8yKC8`#?_h>KW8^_QwQK=19rkbw@1!(^vvz^9!}582zjU!-gsLr% z+jQBVdi5pq=tPFHG-%Y1z#8Q%bVEv_m&3@I>2Pcsv8RuYi+OvQM6m|jxe!CnVG%6% zNx@8dp`!VwQ8hF+Etfp=qrO2veI=W|5*Yfci-Ny>jgG2|xv6{DNfq9Aiq$?Sb$SPr z7;mZm3R!Pn6*}&KdXy-$E~@}h8p-*z&fAd`2k0I_F=-Xr-=-`9$(p`Bl}v8LZV~@b zdtFKx3Xw_09VU_6gE8s?xx&e+P7hre{`I%flEx?-AbXEY!QhT_#$9uO6X}e-P&t)R zFq9pEt4RR8JA%%r&fnytn%i$Y=dS2o56jm~u>rre(j=@AFT( zYwrE;+>7?R&?xX;oswz+;-z3h8c^tNpJxT!|KeG+TY>Kh2N&qiL{Gs?wBofA20bMa z#)W8{kBkZ6p)cA`?}GE?l4ACRk_%Ee)`_*FqaYb-d`4G>d{nvB^H=W}V-jo1Q(grk z^tY&r8!Eb-W=9?prR0m4;g>F+S?G)EE#1PZ%0m- z4M>P7F10FgGqH1%kwE9E@*Mo>%ic;;ilO*L4Pq)2cU>u?*>|S+4zOMy-VvR-?#+pI z@BIOh@z6Tx+HaRp>UIiK6(?4N0JR7u65;G|wsY%k(BFCb?U69>cEY}EuhpS1KdKY) z^e9Q~{1Y-5JZD+}^H#QgJ*`&EX)Q}uvhMRI?E}?Y&h8wy+hfgcdx@1puK~0M{lJ)m$EoKaP`QR)YMD<^Pz$0&k<0sBs)AElQ+e)__ z2wnQ|z|~Z}z^P}BJdRg2=FKyXGW0zQEGypCm=xwUg+IgrOBF*T(y5PB;RF7&+cjKC zn^3HG+yqv$B#Iz_0hSMwI3{u=<(zf;gMeEGP`PdrTo>5Dx9wp;zxzG?Ir`!N|%8s zCckla(}AeDo|)5b2tA6nE%xrSq+1{)ol(@GgiItrO~!_^>g&N3Uc*(FttnI9-;r!- zDFv5SlsDju`_VHY4r0C|6!wQ6upF%U5fY)eiN_*t4cYK&Il_Bhk~P{Gxhl%les{@q zr9DL3>VIfRrue08sFT)3>?nj;!8dmmn>pD?jM&Fu$s!GEHM)U4g}R4?dwZ*z66r`- zTAC<;nv!vmVw+p$+Ih`{Dp7UZh?gRd} zzrxwp3mFAX#gZ~M)AOo5>3d-qZs~`{ z+LnE8Y>T(%^S!I->Wy7@+Qnfd{6Tp!MKfOj|L~Vdw>Dk7(Oy%6I5mc=@rlpDDVQut zEFexP2uG)(DZ^jIJR#alt+q&@SXB?pG5@` z-6;P`AZ|2LKoLfO>#aHKwi_t{CjZg!)-+pvpR|CY7F32e2KdQv~zbnzM59= z%7$2j6*7<$=LIa-Bm#*~9NS42m8o~V9g%xIXmiqZS16JoaX?AMHO6H;BALm2hfIl+ zdWg|XnkE`gC zt9i4vDJ)v!40;X{uD}l83azi0g&%^hdkP$}*rBGVVSe3AD$7ZUk+4r2=j{W_V-(t8#o6qR6&>%JMrM*l2Y<6 z`}5-!oZ!cz(iu&j#GlR{lshcX2tX_*i@cCMYJ?7>p^@(ZKwlm?OF%j1Yv(hDt}*IY z%6?hqBlSu@ZPHHpK?2!(=VN78h)mv52L8>87w)DL8RfdOO=y>V`dYDd<&a3s);0Tx zqRH~Qv@|mMimx(MZ@p>R;B?h6KYto8*pj3&GFjct7D5Zt*zBslE>0|yR;7cEn2-^2*PJwk6y8MY&n zai9E`r6cP+^W5@grc(^n8@D6i6zHqV8UHT0zJ49O3Fc=CN6 zk~2#HJiX&GhjbN=RBt{~NAF+zW;)9JM*My4%pH$ocSy=K2tq!TdvUq8t|h@JFQ((X(uWGWQzElK_@LUJyi>bp6nI z=Un!By8Z?<%_*p<2nskR%#efR;hXc|rO<5ea;8ktGP5gy zsff1+P~sO<&IjPOI4YgIagj=-%BU0`0RMCR(SC z@;G3+fxl`6*c0-_lefe~E&)=(rkbYecY)V@cuA{o=TBxtzMnYhZCf1-APG*^!j)$H zTyd_{n_CMy_s5bD<`SPsA&QuNC%8F)K^ylMYC}sf&=82A6(Nva_AgS+1B!kYA_DID z=L;;i!oTC;%JZjI^ERS8l7y5y!7MQASa2OPu}?Rp-y(Yjd#@aA6Quz)#r7GUXce{0 z9TSJG=d2&3`=owoJ#|sPVA!SYY?3dR^TpMlrI%v=5>`T?`t~b(6m0W|)MoVpM3#yu zo~}Sr>I_s{uk^luGRpwmR|jBPmgPy&%iPCK(!aHpkB~!r?E(lwn&GqG_XKIm$sbeo z!%^7^zHo6(O_(ec#4=GfD@2CN1oRD9QP0y1lxp*JHw1@pL5G9)IcJu7VhEIKX`pRf zmL~t|$VxUP|Ek;^T7teDyg^9-F!@&^F0xKW+jrjmW8^3=TpB%jqh4REAdm@pwkN?h zh%Qs>x;YWlw{G^CVgBl5JTo0kG+5hX+h`M^4gJ6pwc5{1jVDW;#gQ_c`|+KS!KPao zF0_0uI8wUNenatVfb@gV_5;*;Th69h^p2CijB~<9^Qu~=v*{mty@5votedhMXI+y8 zbj|Y9BQsTOtW1Y!A!1<-vt;H$eU7Ccq@M!PkHJ1@7OeBfu|3~aia#GyY}{o`V@CyF z?45JkZ{o2i#-@-c8FA+;g4RWs=Lr==&#(k36ig4Q{mpo?vDzFX`uCS3ZAzRl}`&yN{1UwI8cE2hiJu z#scFbg8vv>Y+|t+d*och%z`D+&6?K8K7-MYmn}?u1gJDeP+6h#V$x+i6IJ%Ah2lnK zMrqYE@g`neHoa?4cm8dRklXog@;um%VhT}harZt7fI)28?o5&ePJ7h%M<=z z<8BuVloY^3&&K}WLS{=_D)yiavFGI9V0zl#2N3gn9e)GA<9eQ*0KDytJHlUF)9)XG zAvaW!a+}ztPAu5V7V>bBAjuo}(=)hjw??11Q zuhmi;VBh1b&+oad0BV4jmaoMk3|u=X8gUeM;;b};hB>+Jd!X;s(Nj^CXE@E1TH(M1 z2K8rKzmD1d7ANpbc4+5%^UHLZUZ@unqwZPirrISF4+N-lm#>`>WU<}CHsCm1@kFAi z=DzvacraOuTM2Rh$+#+vyPMdz`WVx~Om|o#sRt_df&Hnu8_}Zc1hHri{kljaztwcJ zUzsU20rbrg2_M@g(mtwIIsn}}bCb(fV$x6ci6gOEr^Nr*&DcQ6KvE@la#I}WC1>ye zN~+*gCOrwi@J$^5TXp%F0dVV9gu(SdYK>6FCTFVb)j*Y4UN~TRT(6IutIr=W6TCpG zS+%eDIJsu7cA~bYJ8PV%`;p3fN?teKWes!}ZXasOqV*WiQ04`K7DcqP8@U`kXSMZ7 z%q~oq7VpV{IU`L!7p?KiDji(s{nMd+Qz*@o0vuah3_162Qa&9K8URUA(p3}H%gg-N zW(4vQG}c^{ap|DlP`>3>&5g;@@~HCDJGs4j-dgcsh+pmgT6Yd$JbUH==9WCRuBut* zamd@+OwD*h3}z+>WEBinpU!x)!Hi%|yv1t9T*&?pny_;Yt-{k$<~^6Mv!_DVOL6C8 zc;7BUaKcg*9=`Kd4lumGvN*hV)+ubT$q@e1w~E(gfSIUSfSo*`*NWd}#5&^-+t+3v zS49bhGG~ah_>=q856=*Blv-J_Dd(B#EH7e84l@pkjkNb&c0!yjwD_=;)16Ef(Va{c zyB+R4{n{>fU#1#xi!b;v=_rphl9Uwcu588c4Mgr=3DaXS1^~(+>@rxdj9;{+pC`8L zxRKEvPPGy+b|-Zd#*KZgNBXh&Tj;8SfNP2rd$*e>Qt+rQ_>Y;VQ7J+%Ev~?A6^+(_ zi#nw`s9EtcvwflMS?dr;_FcCgC}Ji1TtYHBf0%u4^!Eg(`tLduDyo#smG71hlH99w_ zE?^J~cqCOcwTD(*uk)pv8yIu%X0kA!;i5lU&KJbgpDhvovqMF}GSU?dSoGHFkMw}P zOKxlL0k<}sZQIsl+va53Hl`g>B49{4b+MxqcXNsZmp(DK+Qq(kjU0Xe)n8K>Lbo_&InI_k^#xfwEM!T6rl}Pn zST&wrmRO(_Bxc}%Q7R$VRe*HkS1lPX;QF9L!IRYMlVFFn7-7<@!9re_KJte|hJm$6 zpJtxJBx3aM88*rRWyPlpUyvoKJy9BAbqC+H&IBDcCVNk=(IHR#0l1fVU*&9Pe2oJr zN;U-~{Suw%)A)6(#6vZc?7)?4fyQ(?Rl?5ECXuvXbYVtq|OU> z9aLV|>3edFGsaaaU)Dhk$3c_`Y1jnX>GFf{(p*BnYp**%FnTqCJJsu^!!9#WQyMSU zGEoyQoYQ9?F;YrWIWm_nB!Bu#4$XB&7sLWa%5G<(@ zRYi6t8T1dA>NXdeo9E-#GOzUwLS;SBG78N>f6Nz8mtQ3eQ6<_H{uosy1DMCi6JjUb z!ceg?d5&)s4c{MMPbiLAMSb@=A=R|etcYY+mTGV>`7god$-s;5Sqt+bQmN;7m^)P# z&Nib|3iL?mDKMu{Tnp|OXfz^ZMc`1M9&IWn;Z2iaD8L7{^#D|Pl&-AXlVX_zswB^NQ_0Qi*Au+Ov{$+4FRJ$A+ zBwX8J*o4AkEU)VA?%DSa2CNh4zoAY_(cnlDJAKay(=HjwO!g%IF@%o8t2GMCFtSz;7rJic2ulY(*Oo!Q zPNP-iR36tVTNNhR0${&_LHN-+u@duzm~7L;Q{<91ba=<|!SKv^I zN15g#JzB$vcECLa{la6*j58X|sGq706w&ioMQx|dcSh8y1@NG5q2(h<>!s5CwWzRa z-i<4eXhZ=Z3|m3U{N~Doq(nOSTvR5@nYb$uU;9c>-qWE&mCYWAfU?hOcNohTj*_T^ z9*orSO%E03xaTPL3gJb?*ttU(9S(W<0*@|p<>?EM{tCyNm8H{#a*OUS-X5Ke;K z$xH5y0~Lsv0$dY_GwZQE|AhHe1)8-DP}$nXgpDsL?il3O|N3&sEXQXt)TGv1?OX4p zVL0jDZLjUpe>z{|Da}z<#??q~&a&f>Y8eYoGNcrN*^(d)$PEmYMTSk&4KYzYDYNL6 z6?p`q;u_5|L7&+wwP9Sak+{2i9IVJszbUcXbhIAU-VGAz zM1V5fso=s;7}}R#w*DP!InZs5HHM_M8E1gjtwWLUF-fs`dUB9!A%%zz7f-&ffT&0w z)#xQrFYvIuzLz4}t?|7vuVM!7vX9qW8Xu*MuO?{!D)va)NTENM(^j8%MEKLQvab)( z(4POd36R!w2E=lypV-b=P8F0at{`l)qJii68F*JGn8-qWF~T*^0)a0{K&{qJHpE>Q z`!xE|<~c{jm+Gn6E$=Cn;9g->;nA{qsCg~}H}1x}{5-S!+N(z2_FF1{(JDg7tt#Uh zuV$4Oj*M|Dg~Fq45#{HCaJ=QPh@IEHuO&^k8Ng<#Lwv+f6}aIx(dPy3fyy;4i8tj{ zy`d7de!NuK$yx+y?(bse+#}G2YmjdbwB{Q8sWM-&l1;;a13^{^8px4m%n_%+wKBaB zNRCN+fYUWY7{0wnq{g`Pi|Bw#KiGUN97ph+4ZXoI0*f?g?iX8IeMS2X^J{0)Nx*o()Y**e612 z3C}6_GXgPvrdyYi+z2GZRASvffH3b?K5ik3gZE}!KzS9?E+BHaK-vd3UKxsa@TgkJAbKijlAqm&%xk->plMYTi|I~ z*yM6qqE~xd!j^f^SU~T*<54W|86ZKUgg|THp#F@qpYrp28u{x>QFJ!BF;;$+Sn7U~ zdO`C)<YwR%2FpJnwXmHVR_u(Z5*Dy6NH2z<1@zc;@dcu=&v zz%oepwL(^9ASLe51(bpJIp3V3^ZWbr)1DGp-G}Dly#J+!%C!=R#gY35dIDMqC-QyW?H_r=!7wMaE9c~aFWb2|BKU@W%TFSk7rtj*6sGOL@)fze6i_;?ra{rHKz5KdJv$5vPd!zJzdb2T4e;K9)svhgq zAlLy!)DJ_$v^#s>r)Bv-js;bSW{YpFeyBEeQTi?5PdyyXO=5C%FI6Luqax=JjWXfb zF`-)8K+2WvbW`8#kDXV_0|O05p)B3pXh3aZV(7LL2Mi!Ht}xf^$ST*OZ5LzzkIN!6 z=0GihfVKt4Xsr8W6|B(Ii;sWiUEn)HpmSfn6gxim?$({;fZ=6KRBjt|e50=tG!7Jc zTwOK*mLDro8+II`HI>H{`;vi;l_7v(p>%1()|2{Hq?|mnjk_EFg*Ocnjn}as3BQn~ zEo12@qx=A`EUB3ke()D?9syblG%$BmI++pfe0g{@JXL+ZFKgLLIVE;0W-_i8azWIw z^_N329H*+~8hc#m@Wbtx>t@|VPf1eu5l+_LiD;;q6E8?-pNoS17}o9x zV<0$!HGRR$A1Bzp1cH=ta!f+L&86SC<2TI4;v2>y5XsXp7=ma$JB#mK^Wwb}tO}DOS8c z`F0x^LItLufUd3jx{1g@wR-q0>bimIwPOc~ufJcriGXIbFG`&cq-2apy80j|*9|OK z?VCc(?mScZJJytmSCnkBg&k9!?kzlYdGFzCa6IPwv2ob9g~m%og~06zPxk>{!7OVu zKN@A*cw)1SiVfGl4|fNVwo&yuog1UNr*?oO4mB)-qXpe>EKiZQaW;3Q9@SI=LHakQt7I`7DXzV( z(^%D@;xWRV5?-}&TY`%WwHSZ~sANwBST5YAa0%`3XtGMz%miDQiXP>a6vqzM2R)4q z&n>7TX%$V$M%3}!;x+VSJSi5BnEE$_)z<7enPHe$Id?3rzXfy4JhZP4zT=n(OqNCo z;qu0sg==_echaYz;^oZSO6>9DZ7a%lzkphWB)F7@UH*_86~=1lQCg( zh*VKUUWNUk7~vI_!j)T?lM`5DuoGg8d^mp2xxoI;{l@_27SB<{M${Ies&*U04F#M< z6b z#Zd#9#dAlJg~9c-f`oEgScUaKu?vf|s~{{8QxS5}C zL8!_>fHjZ0R0Mr6Qz~g(2xVs^>8>MPZ0X=;%VED|9=m?=jm!aLcLM4DLG=-imJe(% z^A`8Iy*ZV)olu@l@uXme*x@`oV5HTKIMbr5-0gUyY7?@G)Q) zzBiIVAI&toTET93nr!Cg{3hxxn`H^hZWec{hbp@9%v+}1k>V2JUZf5M}aF;l2^frD7!hk zk&H6IHfKJme{VO8T2uI)i1%3&>REfJu}7$1CECO8mR1VL{~__PyIJ0I10Y($&h}fN zp@lm*h61pRXnC@TvG9;AV=?{n=<0bus)@q!6MBg69JNn?fGmQK|N;sxKY;kQL zkef_@a8v%i5O%XV$W^yYSaTu9l1Ivw8Sek0`?=8SbCSr?&Y6U`&Ro*tPA=0+FM%%5 z_Iz%x7&U)K(?EQS{`+5PoY^wIb=BGBycAiGMZ+7QRbb3tp8{nA${6ZK>Lg}?QJ=w_aBx@ z$;HK%D_KOGj^?m7w(Gn0S1iRod~}nlGyMcbf2|=*O9H-~@XOo^bQx;N;m><_G6)aq z4}^L^=URS4RuCN0_BX9QC?qT<2i}*Of5h=MqRbRTNp@^vz_gWuRkwHlP0i;1D>N6~ zuHIVit62(Z)%{S@jj`p)Vp}zG@q78I+CQ8Po?)>ctmK_JTW5Djlu|#|L81K$D>?h~ z%TM~s^~`xgNjk=2s}l7SRrHJ?A}~|sO@NdqM*TR(X*fY2f?e1PXB<*>T01W%hg6|s z@-=SJcf0)tY?(#O*JWHJBKgDI?N3tW`L)nHxPBsO^nXUUZ>&Z{;(LnYX8Rwk<`921 zmZ0NOz)(eKR%a912uCFTZ{LwMSTEyaL76}|s0nq$UHmpOtqPj@$UTd`^q z+BhcU*j*1iyL8Ow$8Wb~_Y=zy$=w`deS45K6!pJxJ!Awb8p5KRNJh?^Wgf~BcH5oE0>xA|s{ z93CWLzCJFd2$R{RS(HsGI6|bMfP`aw;5s%pkXwo`*|`~%Uco&`(v7@G6vvbvhIt8y z`Lp-<22pZ``wjC;2&1B`j^SLX?rh);gy)0*|=Y?$twXhYf=uox@U{>h6wm2IZR6{YJK& z`v>n^?rEoI^i21wcJTI2%V?VGeI$rY4d7aRXJ0INHyzuD5qH z7dQ7>hnSJJA84VFi8k{?KMQj8tqQnnX6Sz=2}3GmT}2iV4& zf*azZH6lXMcMc#S#CHY%(1K0p)#=YSuYV|Os!%oH80$5Cb)tYZILRW?|as0@i|ceL>0n7Bppr@6{%}?Mog)58Cty1@O=n!9gMLVb8lHv+5&nSs6H$;)_8SNw28X)O_uy)7@mw zhR^q`-t#qIv@karP}AX`ZnlZQqvurRICDIaN#E6^ASi`{ewDx@m(i0ByhC3yl_+&d zq@higr0Oc;)htR%jyo!Ekk*B+gcMk37FxVcu?lgm-mh?5ZAB_31f&GMu6JF!U~%=B zV74b)3A{6^vVvm?v^P={HSPQ^1&3(984Lp%u|t-+gYZXyfK%kt$F9x!rHh^U+Xq|) zwniVR7H?1?V<%3*917{V^@>;m#Ee|kEH`!H1bI)3e^!^DAmH&B7ix4EBY^k(M)(Y4pe7bWy2U2f$?rr^iA(g-FR&(GxnDl`1X^^^&fLl*V)1Q<1o9@%oPm<~+~W zwMkrmlBCgd?nKS=qTFD2Id3W<>EYi^}JQsQ1#&qx0>2rQkk#^(n0>Z+mcEYQ3&?*YPp#RQG9Ko|?Tba@VZh zHK@T?5z;%Cyyvso{4Ig66YkO*t~TEH!LDFSOLp^0r9gfNjQSYUBP7{2$m6D-K8MwO zEv>4^!wSVcl4x|P)bJDCc+ z%=f9`*1Pfdg?9;>6vriic*oLqGf*TqaPFpx85w&hszBPr3Py4KO<@P;}}HN zSu_Clys^1>4_#Ns7NIq+itn^ZrV-hZzkeo7NQ;rzSi+wF^+{cDcZK3OAB_Ipb+QUf z-nk>`10YQ=uty&DDE=}W-6XD7Xgc5$ApmUMsU%a={fbChw4_|JFY0OEN7Oy5&<%4= zC9_o0itX@mRLsp|2ggc5x1fPm32h(=e`{(LaF9n> z?heiU4NAko+m-rGuVibDmrt7bK8G$hpo1BZ3J|}WY)v~VOr~h@GMXq(#6}v)ZEB>N zGGCtrkG>2Dq!rX{Gd`YE)3nzKHp~85wP6g_nttqicop+RcA3|~mHxo?a9}>oXMTmK zFxwK%Pd{Avx5R`HV4;0`Tqv)hOLwhhur-!$AOPY2>QG@-2PV$eT2k1eLIz^` z2#}Tt-o$1dTGG2GB*i)`l&bE8&;s+@4SL`2V%kUodl7cBP{#|hZt-a6n)xsSm=~91 zW3t#Dx&Wi7dtP-hqGCa7fBHABt2^C0t4b;>LW6`)cQEa~a)J=}~V1CIaIl!3q?HaRxI85%XFfLFeTv>Z|G^*Z=*TXGJH<$9@UQTWTW>*n2%MI zwrC`3BQtXFAT#6lYX0)!+-!gu&|zU6tRS(T#x~&c6Cc*sCePNXKQP99Vk!pzBxGmr zP1>ErYip4A8}nS6nO731{(DXaAvku6@E!$Y#vK_jk1g@p*=x6pwuSYw4M;Ut+(Rmy zoV%tQbJcK!b$Q@wIqFCP@hy>v_-p|4^R%}1FBuVYiZD1VXcGkz=3}^ZW7v>k)ns3C zF@xHyVh*nnIWTLG^rEdnwaVona)HlX2=&D%5065@4R{gyby8T@U(}jd?c*C6Sq3-4 z7yPp7oL`+~L)kx$^C3>I0Q9f_2(c;HNp@cfRW@Dz5yI+I+m2fK4@S0NQFcE4DFcHi zG*T*SP+ye1xz*L}k^A3;j>wMY50f8G#sg7jkWyH(c{(wqlUEVT*rm0dSLH!itW4JO zcYnlNvo3$tbNWvGq>#)qs~|Smnj#Ma(++=}lw-O-lx>OP&(OTShF)0jH^4{S^NW_wVwqv*ji_c=tv=ypqOuBL+|zZ%ij5j&{9q`T^=W zmbY1Oc_;UdIMGc5b|3qO!~jG8?;^0eTZ@Xndl}g6%M{66c%iED-YiK`cPey9_!SO` z)C=>azjsECuS;iRuCvB9)&05iH3lXq{Y5Iddk)dfuMX6;0l74``+-FPd1@)UM=dwZ z=gC`fjs+BJ=GNoS1>^N|wthr3M7MO~d`voVGRA3K!s|3i_OAMz$#4}Q?_O$K`}ii5 z^grh5aoh76)d}0C&0&{s**{%klEQApyScj0#Y%p<3jDYQe~_Cno$9L!hs}s<&ZSPMJJz< z!mCJ7Cmr5LO38A}=mgTzQ`uP2jbYZi*!4CqcedKs``IE8DoCS-&OTi8J4$4;G@!YK zc@o0+g6C1D`S?sX_=}Eh5QdrBQ-vKhjGa{_EI+=usojZLB6~ks5oy#eUNF6zY}OAj8X4)^z&vCG|1?(NOJS%A?!`8 z@q=;G0K6h_*HGAvgBJWtbOB1OFWccG(g~P~^m+%2%(@-7)m42}uYXy>W5 zXJOp%#1toDL-+=RDw~(t(lF@MG~-h}V1D-~J4KcuJg#vd1_kL}-_1(UA(qQyh#+$e zI|d|lopNhJ>;4)Z3H)+uXGToIQL@XwzaDoV01?Ta+A0OnuxT)9H`CE1W<4SrRtUv(pyv!g=%{)IVc!bWFiO3sgPA!E^_FgNvV2CmGY8i&IXF z#j|a5iaUZZo*RdSsFjf1nPz0QBIP0c*?z2g#Z--{-(|7#R(Jfw0M$yXCu*PJ8rQ|@6iY+Jq@+2?xi%taPyXw1+r4K= zCQ0{lDUK~mB~rx8nyOL!^LAH~c9}L0Q~?TxNz?PR^FKi}`X7Td8N#j9@v#T3Bu26?U<^uE#=M zxqem`3WSnPSFy>Lr3uUt{3s&qEAy_jhimDzg}3TJYPOrJq}cTt?>h5?1C#MgncsMW z@)yYNOdQ2R27wz(X{5R)1kmm1HK)<@N|6~!c|uD)p(d$=Tx~GrF=<{1 zFm+PUrks`b%nsK}!&N)e+P!nr=l>%q99x88Uik!<`DMH&|E2h{&76*R$u<4nfzwYh zQY_Cq(~M0@%8nQ9AJ*Y>-n2db>^E%7j&1-c7?zOOou&|;BxT{PWo0@XYJm8)G=PphiaAtAI;!o5(V zrBkM0Cg$$ux!_Qq0P<3P&0dD@Oy}&BdXx38ViHgUDmB%X=~AFt$Wfra}S-%hMN*${B*j`PTY(<0r|GM9(&GAS3Gr)Fykbm{$KWxkG1`7_zfvkg)wdmkLOHeUG74J&XI{UgW_$-Z|H8B5X=! z-QVkUPHFaI%}}J*&pIaZ-ia+w>Xy6p8&@?oJxiw9NGhnCBdSw7)`r>kmys;CK*%!`^4Z zLs4Q++D*0oY@GBpdICUEcHh5=$tZngD6=*U5-O{5boCHu{Ot%{*Gl(Mx=`!Vy_rE!FP#pX#3`_WCbxr^PO>e19OJaQ4$)9p{6DeaZEBx<|S zePMGC=(}R(VRyT)#IDv~@+jo`YpdDSBVv*F?R?qFe20!Xx;r;$D}{8Z-_;C>p?@w(ZKi;JTClK*u9lofy zla%y9Oywj$%b`EJ*p!{p$IG2_-d&H$v1xHbyiQm7-JtN0IURUUC&S4e))f{B1y1F! zrxbaq!};rkPLtF1v=h3;i#qu)i`B?>wEsPiT~X(tak1=A4y%Y;z5_iJ`R3Mgw>Mqz z;W4nsC`1RcQm{Hw6WI((J$2!FzYc|VPgXAfJ0&(yeUtIb9RGVLpGYKV`%>6&Ry7f>Z-~#3B-`XqWl0Op*4Vj zk@yn!V(f}$6?cA@4~V;earYZ9cYk^+i-YgmHdwfoAP|-->*f}xjuA2LPAV?~M5qi$ z?6p}sqj}c#>sPqXzROJUNe_I+`2w$?$qSqD3fqNHapyBgki;PbuJZi->yllFkrb^z zAM=xA-WgE*#S~^1Zg#InYruZ_*@r?1q;mP;`AdbJ!5!vmZT}2(T5pYsA>`PtSu9rZ z!#hlSBOdC#%Gk_^#KtL(-0#N#AjO!nQAy>Eu(vsjS0sFDO-ynHbMuZia{o>oAEIq# z2(^%O<{TM_)W-MHxmfjor^%zNEf?iPK({s+(Kcd(hmo|oq*~}(7?_>MCyEtJ?^py& z&48Gby-%8}nJNSr47emQvwQJmLBfOQ!6FOE+~7b#suhFeOF>nY1vVf6)XFOT7U%hq zl-w!g)DE%h>ojD7A)+#v?zANFzI(4Q!yP@x(aOkflf^jCVG5bFbslbEC9LyT-uce>rOdhW)+%2prQdj0WX6|_V zGpR~0@ymQD(Q zGacJvz-@3v_LdytE+2n2Z#zRL`x?sTJ?Xk*n?mz?2XzjXHCbdf0npArx$!U1TxuAb zuz*IR*Z~quoRp|vP#Xu>4l<53pGm3NCz^@d0nYOs?doAg&`sxqDULLqpb)SDzC-Nj zZrgVL3p1t<5M{&w|3L&xrnoBA?Bgjl0wK2wM zA7z^T!_URtTf$lb+28vnh)>UHTvRF;b87X3PxR$(Cp~BEm1XW9{FTIj32~e0haVQI zGvJynTl_`yYtmxq+R_!RvU$yj6kmImQ$R7NA<;4D{1G%j>U#gcY}xZPB9@-Qe!4(^ zL-S6)VB65J3o+DoB4DfsQea;`7i8FITky9CzyX=3OEWmxW_8#+^52=Q8xS!ims23X z8PdWq5y-VgxleCD^Jot=iM5*GzZhH|3vH1!fj}cujgW%}ugM9cK-S=8?cr#Gx23f} zQgb(6aJB&)LKNWzFNB~uD2m(qJJ+wdl>}NFsE*)}HY7Z!y9pk&j&T0UDNdJwf2}@d zIS=jR6&Q~F!=f#il7J@%d|0u=yp%;yDheX!#|60SFZu{kM)tKQYvTtTZpq?nsXmI) z#c{6F)iuW&NrwXnGlpfySdkg+;koO{VzD+ogOw`<{8fk1z6e>JPK@M-Vd6yzx!f%| zHm+7|$HT8g**dh@g&Fi77Jq!~TM9fz%kJ()q`S=~Ls2siQQ`88QfK43H zmzNSGU~?kOD@Qf$qD9Szcc5r^vRD6e2s;{p<5fzES->#=!@0_kpK0&V;TdTasaXKH z(hpiW{n=;O;%!Z49l3C)0A&^BXsl5>GiMxT(OnBU@JGZ+-?^-HniBPGW0!$)T$KTC zlT);JOr^qM-OpIAD48erWktrCHts#XrJ50JDJDw$<6?r+q{@#jQacITp2x8GmVyE>=IH`E z)4}M*d6*1H+UuFx9gT;C#avdlb5h(EbT*~`%yBg*WH=c#>0B5SNsA=A($`?rF(+ls zJ z(BLc8^`(f<3Mw<@f`;8g3Bv>8Rd6j~gV3@|s7kJ3c;Jk4k|dprnS+E_xRqyZ)`pjp zdJ5Z0Mdk z3jW6J9UGni#d8GbEytEY7Ai=X0z`bH({)DORPC)ad*#f-fR>9il;EW-TOT*Le}%rJ zC>U~Kb_KN7@Bh8A#*P7wVF+uahC30FMdxG_YRB%`HV;TJBqQN0${l!N9(IkAeYTr_ zzeFSkJ;JE@G#%0`&KB{MCHZ6?&CZEl4`q7bRq$0;(Y30nk-|?AD7Ne=eD3@b97~DX zALb}oH+8VN%c!7C^jH|Q;mI7pw_BW5zGy4OBg%G59gu<6LuLY?PV7%*v17L~{r)|y zz`W^$7q?Fa?xk4cu|8Df7B-2at$YB@n5q!_@Bx{hfO3%xu-)DQha>xWE612=B6T?j z0Dt`Di_-uHK1?3RxzaQ;nDoj`urzfUcbF{YbN52yh(#N7Aa0!7fh6a@|I%JSbyHS&I8Wz-5NFdvx7_IzqqZI#W8RPR1j5 zj(5{P(>G6GOddVi7U>Xrv=Dp{jGNNTx9b5fBp%a=#7lx3v#C2lH|=UutY0V_+WxN%= zCGBdtp4hCabD>?2Okew7Uzmf~qm+3eZhkKV4M-8Re*|a8MPa>-h5r;{jzs1Vzg;;3 zz^d(+DE>3Nf^w&!>V1!|{|ko^e8)UHfLEFa&{0P{AVEk_{NR)Jzk6^6%fF3VFSB=F z!Q|~wW0N|?lQyQa@j63htfT+9mTyf_;llwY&MwZJ%*3e^fbXE^bHYTgKPB=8zBLM71BJ>7WZE+4DkP8SkJGoC-~!e7YB-WnCX__JotD0&ma4E z{(=Tdvc7)cg0wg(R}Vtl{<@zp_AlL6)M6=eMj`{+G|E$M@wjw7bpqA?l2-MNPRuq= z;?C2kslr;X*`7cRNhe3iB*E{cj=r3>S0GAB> zd9#P^_PmInF?ctnT&6S0ZQk|7h-p3BHpo8QExqEkB%T!g4kM#Pepd-5`mp8J z-s6K=2Lt;ot|98zAuIs=57uM`K%OuAQ^VpUUh+ZeRYouUCMJ2T>1I#~7jXZruft-)Zk^Q4PD^QO^@2NXBYuBi1++Oo7n z%E?+x^@6(dusu$J{j9uST|1@%++B~`FV39q>9P6WnImSA`h##k*0D}W00*Xgp`>Lf z1}v~;mvP2|8mShFyDm4Ttf?n`youtolkLV2qr#(b*S5-n5(u;e;BPGGVxx#bAgnJ> z?jD1lL}onHxLiXz0->LI^M#s>M)iGA{cN_;o9b6f5`3i5L*<=s>2_PiBa-+BXFQVh zL3ku}s?CZ`+(F@KCJy@+fGC#x4R6C%u^4APPKu=#n|L;74f%uSZZGA^9S9x^jtLBb zaxk{V!YkH+T&vd*sY|oUOYl#Gv$709(D{nwOgmyYs{>4Zjy3EWDWLN`zJ5)c!}^^d zVvEoqd6XDUe>VIKs|I*`8v~x>B6fZm>0`E+U(ps`eMhkRd|)IAVEE(8GL=EFdH)p} zr_{{wlJ005eb_{P2i*|p$|{r$HS|-3AuI0FHAieaNygqnkYmgT13+9LS%N4#dCMwy zGQy*^ej;Lqrf{(c9wX=K2ajTzH~c8dSDwd|xj?$R;h1N&dk`ZcKCb`5}LeJ1@Y zy1tuDei30v-|kBW;CPwzf*#LY7ER9}Bn?HX%dX~vyyp0~;AIRSD0JEVl6;~d3rX5e zBderu(EaPQyKS#b2D^O3ype7;V=Il7yp+?=N2-fryQ&*s$oq31jmtUN(#6kA%UP0t zxx?GzAd+6`%tmuIZM$Rl^GLh0qrC`P#v`SB6k$CPLrqWsz(XAdyE{Hz_go(&Wx|Rn zAXyoIz9q^-KLn7$UQ#oAq7g%&xZi!~wzeGRJVQYmO)o`LSTNiX%WD=MpSZDMcfPuP zTX!oXgJGfl$PstKk?(oRVFNIz;+KX%m2&O4@-=DAV7yZsaYO9+Zo~WPLdzh^xrXLL zsI{&cWX*hwZSGj&%yoW2VXyDiiW{kRSPN-8C&Mth29e(G!+WawbM9H`&|de=hKbWd zK57LQkxL3h&E`~(TU{$SK06veKga7D>MtalGwxkn!mux2E$qS9BkbUe*dcK0st zf9-bzx6zLCyYAa$F;1Y>CGA@U8Cy@XgPNov0aDZej18*M>@7{aXUuR&soX71nZjsh zLta$^!!m=E#ew<}a7x!IgPJx3F(Kxux-4-(8Pip;Bp;y=#x)%=!HyUMjtp!2C9S$e zj%L!R&_(H69&$G5a9rdYA(2A4BV%?2*@}Ml!-Q{(_$lLpl$tbfvlAhGe>H$Mh`!`N z9UKd=xmFZ|BPkCRlMby86Dyd&+}VVx7Udi>aMAC3m@Ij+EXN}mz&DCBo;puHI;Ut( zl}@-cNkLUN zP3`j-a}(3&UQ{V1+!pks=8s>?WFre-1tbbs()d8KWU;GEN#RUOa+|NvMFM+DBJ(4l znco)q(%$STXTF$|`S=3FzKw#mT$XgG{uPy0wYF~tn_hYl;nc>X*)?XFHRr5L%|p!^ z5~|2fHb=_*fun#umzLbJ-~uc`@6_GZXf|3FxaJUbi5)U3LO}SwP+Sfz1^+t?i*$j< znuE+ot_e=f{qKCAS+(D6>UT}g`tnaeYxJ|Mn{5i-Oh*=o+>K9h)~JX0N@N2=z+1g& z10yaIW;D6^3Llm2kztN!k}hIDyH8jr-ojmc<4qCpd;t^F^f&~6(m5*o9D~z1uGewU zek`7U(DQcJ3YPj2`LtQEmhocoC&}&U4_p3+ArBEFU?w!#M^I}OD^HMUTPqMiOMJlB z`?qyqOy6HgDRtTZ4klRiC#XoOZz?ZgpLrccW-KPycHcUZgaK?V3-*4`BmFHM41Zr9 z&a%)zFzw+1?qC+v~YRbmT$a|?-B@5FV@AkWPh)<%_L}beB_+pILmjw_=Eqb{@3S*@si+1 zf{Imq#B1J+X8hl416+_Pb1)%PmsZq!oAsG^9^ZXP!wZ84OY*O0jm_y!J;y>vxT+Ry zp+%G_b9!2WZIn%sw_cUD&DO`2){om9oJ|ROW5y&uic}ibt6q5`(8OIpuwj8xSE_S> zi^j3igDU>TA*Y9Gk1fd4RS;I6Ou%qb;PZ+mc>b0SicY39iKss*T}Z2@6I$(jNO^9h zg3hK>Udl4QgPmQ(vaybel7#kJi@vAI&skmifiw`d>&gv3Rk5)xq?nm3zU&!;MVrr` zI%Ra!RO_{ZpNCw*>FOvs8ir- zvS3Bppi-#O3kaNXkybdHT*!>t5Fs*YXU_Z{lqT2g?kG2&I8Sah=JYBIOX+Ma+bc9o zKW1pKX=n41Y`LWcAZ0s~qbcAWws{G;j6&`sD#a_iZQZmGQ2ogO6CFzjjXS@w@gnas zEF#~Uyc>>+ljG9H$?^&*yUd$ZFR zoc<8FH87s|A4E~QbnZin?b2Pv3UiXqYFSa^e4A6b&wdx6V~(5NWz5&b80ZU8heVg= z`!9F!&nFyS0>Bx-m8`xs{$^5OX1J}xp+w>Wk;9p)sG+#|QvCC{}FsO$H;TXRuxUgINHq((oUjUT1p zCiH}ZOjWfb$S;*9*Rxoxru7T$#7>|@6y*rjcsOA-Jc!$M{(wkd0}f7*>Ffi-DI` z^Q=smL1>eBnVdCk@{g?}Xm#|aqw9m&ucd<;*Yc%f|D1_SV|@uC-*tP!c9XiPksq|O zyeK>46?aepK+kRD#$cAe)7qDo%730X7Z&u$JqX6_fV{(?0%i?-v52t2RZp#?U8b&ogeJhyKRk+F_l=Y>{PC8pv0 zx_!=ga^)0##e-QUS`j=_rutipE#$#E#3&?8*PNuEB6B*FwB!|2GIUU@-r*-_0PpCFXAit zA<{X2dRAGB71GXUJohgTXPL!S} z+Iui#o_A`L1Lb`E{5D1xdLO6c@-iZi?XOu<9*Xe93+~A8V1aOhgo>EU^VG--@ZLU1 zW{+6jKw(P)b&vfk7}4Mk%xA2g-KPy8 z?N{73EH!_9O`Ti!BdiB>yv-(#d>uN!zHkXh7-RfBbNA&mPq@^ED_Mg z_Ro22(hZ?XCJ8$s$*)aTW(1evhY7|RBj{r!pQ-YVtF^Y}#RE@aZbAP?)j0)e5-w}E zZQI7QZB5&@ZQK2|&1u`VZQHhOPwUJ+C;o_kUsgq3RMbU9zL`(173ctckHg=N0vyH! zSN5wZfNq!y5zjP;1_m>OKEeM~ts4f%0V&R0n#Bn1$%V7np4zb@CRh7^Fy><-VQXJKqG zn?2u&?o~&JG{{*>p)9zJF_vyn+B-cT zMVXOj3PYLiR5&AIy|(hsfV!AYo;A<>R07ZU8JGRMqjfRI%150OcV5sH$m+ zlIp;Uc@LS>P#+;-Cp_$VT2SdRMx8d8YdNO5*&FW2#ni|L!R;lCn3n(P$|GZwOnM}G zru(i+Q5>^iPtahQOz-FS<0N4rf=ipOD^=uyPVq9-Lqle>uguVG&Az@IdBJI4W_oO! zj3x1CKLsuc(~{Q(4>$w-qo-FtVcC!}Y!UmzCkU38bJoF(CiIpSlR zYsQ1zbdR3C{;eBIK=8L~YzK}x+G}Cv1zu9pxJMq0Q}e(S*uEPzl;0M%)Pr#*h9un~ zh4dadTYX)Y)JPa%g3wzeJ=}<8aWK9=Q?Y(;l>qdzR%~1;i5kVORQy!)n;bznC>f~N zuVX-bUjGmW`ujD5XfRl%u#bk7(yQOMkO5LWrnHtCd1SY(-6D7{6+J>yZp z(E&1ym&mn!%76SIk-*7H?ch}QYzj(wC&*my??dRn=1Vauvt)U&5PqpGQxZy8=>ZfE zs1skxaSC=BEv0hw$3QE$c^y3M84#=3Jq<2CdXCjStD*MS5pkU&m0G#%Q0g~5**z

F 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

d2-6j(SbYOuH z*;uwNrIQnN*np)q)HB`d!q)NXT#FKT#@3$gn2Hkm#xiTkkzlKz>*)D$lvu`s#F7oz zTCE)urAW`sPx~v#cP*emC{9S;%vEGivAsobz^^84d(`eA)&CKrn2mXgvw>V3XfcwR z8o)wM4vq(92hq$*RwjU4YH>W~{kAov=K@|q`~n1<1eUa69aSPNA>*J!-Qdzx2v})( z9^paG#Dhw36H_5(-NEI1*7xt==~82cz$R2GojV*ox0u3X$i=N}pT9ei2Yn$F&}#mz zLkVwd;_m)%Ce~(9cGt7A=?&L5h7uJkD8KXb$K!LK=l#6r>v=x!=XpQ9?ShZ1`BR0`>lrU*CI30gl0M4#fCxpZYIt~{ zRZyz*7LP)EcwnI@H~O;&3QKPxC>0M6l>2Fmc027wqfsb&3qv94t?KD0Ec}!ntAfJO zDRC%-hld*k4WYkLMd9f!8s$!Zk43@h&u*vBSUk!Da{32Fqaj2(A-x-Q+Kqyvp!9B- z3jG}liGtAucpy$$BUI>2u_zU~FgG}ot_lvWN@s+FsM1w*!>XPN!>Z85yQv`QD!SoS z=`>gmB%LQt<&-lTdMd_E6-igf4UVQuL8B0-lqjMKT>uINIn@*jrQ3wXBj}8<98m2sr%*3JRgKc0)6?*DL zl~ZnL7y?eD3wAs0z`Dcf`l1jpI;koSM(;*?KMJ z{?tA=0s=w9RaMalC=P;!sM4c~hT;)07#^mAc7wnm5LKiK1Ws2L2UVpz)(x#fM~ezw zMI0WDgVEy;gJR)OH!Knlhj_qHC>T9l5c&vJJRA=}x#Q{jV$tq&NI+FkNF3S&iGp}Q zRNYkRRLE0JU|5`riVDOXhr*r)9goIhk#1;|2h1H!M<`u81nksLI0PP|>aMCnM;;Ch zN7J3*PFENQbtfWF2squ-ZYV6?4T*-r>EU*BbH}@*-4Q6dx7_epoGMfWj&;MHIuWm; z3ZeS~ip10HP({O4@Mt$W7Ew4H8j6O{6@;o{-63>t?kG39Y_tcAJ}=ze=~|t_6RoNW zcgLflC^X%x^eKfBULAWEeoRqDzYERCJon=dpWddjYJ~;~_ibEl)bQo)Cu?2?&xnq6V zLTA3e`)e+uKe_)S%c^YER&AYn)78=XN>YEfK_ zx^|y<7_0i#R6iP2tPV8zH(2^@yu8B7|Fb6i^O)w<-w+N4lOf~C!|>KMYa8NG zA6A_Z`=eTvSl=bs5E*_{En468Topt8abo!9um8XvF~NtZSo2r<@7|ipO(ti%c>l0K zvF|7GpIkpsk~i#*(Y=c10mYq|i8P9s5*LuK ze3zmn^0o_(+jE!1{vl28F_{#P!&KNJ)9UK+8yaO*6<(B-9-2w)#9C zwU8zh>tHT6qI3%_BZ}GdJ-mvwFb0Jad5B_*E3pFa%3-N5id2U$82}} z=W2a_7sVgRcd6)W)4}e2KQyUm(M!r0Q|~Bpjl!a~$1ZG`Mv(=?S}(JtWK5M23?7Mq z`htiS+6r7~gZyNLX__!7KH5T7iL04-H^f?9_&kLo3b0A&DM;|PG16D-w2(#eNffa) z(G;1Qx}{w@EkKAgaj?8nkZDhW+|*AF{fSx&Eszbhr?o?Z!9ebe{=I7zL4CBiL`UpS zsYZRpL$Gq~j_;wo)N*myd|TTl{L(1%GBK)p=ZDOR#`=$uqLa@lCdGZd+OA8fWTMvL zTJzucx_2Xr+4X}6B54+wqb)6cNky%ocFf({Km!a1?B8o{2af=JJ0>3Q*rrw3;2?iE z)D^M&`fTe)mC9?C*m|YEZmQpQ#_z>=7OEWeRNskQe(RIc*>^B@&kxjLAxdDxUnSm< z_`8}25>7nB0T5+iKdM$IhVtw_^yhk_vVy`HGFF&V2XZsk;Vk!hwID!9Z1AVN7O*N5%FnRA9Y-yS zA}?G=XyA`GuD;>;LemtUzvmX!K_g}}%b`Hv=y=`~=PwI4&ol9o?>mgW#Ut1uj*cPI zuBdg09>efeq{5)MGBt)db%$%lg;gJok^e~3sj5S4Eg`b0w2BZ3=mI@l4{@ri4r0`#qCDu^R3*Gk! zr9BPI$YSTEUXFQIv-1}KmrP5mNgd@>PyT8-?_`aVj`1Ot2>tAN;KLlfGvD@aqxz9y z?>}sp4mChQi5b!HMc0d&f#zjP2u)JuEO^`EEkD@a8&^uAkRheoh^0vhkl`?eOXPfw zMXSfQom}RYpf!rma-OAw$bqr2mepV`GF~ct|7%W4ae@#U;NHPG5NDU- z8JIG-j?BXkr051iP0F|3i~Ry&)`gRU4j*8^)FZ7`bA{q5yD0p|)Pp&z!)D zZd;pxbDWqLrKAxdjY*>yp8|y+-;A|he`d`p%uof( z4yHf}iOkwy=|PmuNTwAE<^~2KLSS^uu{VGv!ep!uBtqIB!`vs2mJdhB3#66ZR^#Yo z0!hLuhrcLOiPvIKNm43H)?7C~td}_>5wK8}LydJ4u!Sq_s!?@EOsTi?{E-{!#sMit z=Z*mrm=Ka7U}T}BUTte0MbZ&ZEfb#16(ofY}+e(}yd_I$1~rcZT*;5_nUtZqzO z_G5=T2%EPadHrGUSw!rsE$RsduyLU5BayY7S;Htt6ugFH6TLfc#NSHH#` z)IA107nV=sxCHW1&GE`81C>^kyPNBe60ENxQ#sW5b$u|ySsu2St0*4M$z6}t8_(^L z$o0fLj`du45X4~E-Sc^q?bY&EpzDuwk3=+x`nzk6>e2s*DYuxvm%IsE4wsU2WnNhc z50PaEX#f^8g=b?^Xm=X;zUvubw*T8+eq78r|G<_;&42P@VF;*=sMiS0{P9@F*b{k!99O80_W7N7GDov?>bAA z8>}P_$;0fl0Enfx8LW+o^9;n`C&XL6qS$68^BpuG>C2Ib{6ftKv00JO?!Gf1du@h$ zPttcZ0ar5<^Sd@=BHH7w7O@VZ-YDM`Xy5s$QO%nQtxPHx#p-|Zc6WX?|5l~9OJJt4 z$Q6GEC@*QKKGxrLqE9BDNpg@fIVVc=)`OjSauwcq!TX8xLb$h}S7p>46XD&A)+~HP z$Fgj|;Zx_2+MS`54bhKf4M`DDg@{go4y>UDu{7R#Yr5Sc5ZQk<#+w9HJ+D3n{ybQr ztN30&k~_xBeyh2p-Ai=A!c6|#EZp_YeU6L5Z+!4kXEzr4Bc2I!8tmPx31a_Aym_}T zcPld;%6WuKlb`{4Br-F~WtSsnMgPe#*{0#%mq z0iIH{s|~-*&&N#-ReihpM%jc2H~Vp78-@z%#aJUsNYS*SDucOmyx`QoP5+uSwu6$c zmydg_*TBU&gg|4GOza)JGE3pt)099q@yIA9@;AwM53xd@f1I()6}ULgWDX1U%Ud}M zyi~$$vY|{Z^I%0pMT@_PnY0p~%Qu9vMpv!|Nlp0M1xO zbqyMERF%=OnQs(!^}Y=JpiOIc zO(=DRK6mRF)Rd5uw}cQIFJOgJ?(rn?G8X<89N}Qy_6xj5qHuULd+L6;lWgWx2+uxu zHpgNogTAP61-&l{u%^bxdNG4IqV1pXPQqCjfx`@chV7l(v%zL|$)69L4LVqPuF=}( zL$oIa5C0xR*z1@x$~bT^xv8g@B-5Q6KiM{YI;-H?e!-1-DOicflg44&l1&2iuzafR zaD|WYacG~{iSePjn2FX~gzx%N6GQ^6Ly_oUeFO2(Z_5+7@B1H8QE zMP=PO;HW}t2`-114G(Usp--|Nzp?=_T=WL|gjPxZDA~%?w@BddYbbT+QE3SJ8(w*f zqwBx`L#6GX;|wK2yZx^ZqNIu()q(~vHC|Us%*C{TA+N&XOrQExOHvIvug>SidJ$KH z=j_{L{t2^(R{`|`VeQu|2hKZ;^k|~lI?0#AScskb(Z)vcv60j*2ch}8{6}W#7@BK&bSU3|0l5*ooMI;Xgy~X>*d+)hYfipzVudHr+6gbzu+-9 zCsF6c3trowuS04_$Y8w&pF%Jg$(PCb3}mh17dXh%lh`DHR^K=jIUacXy#<~7$eRjA z1Fz3|c@T>TYtMi4uC=@{XJ7lvDrQqT5atvmA#-&>j8SUf!l0{joQ(IC0xNtqI-=_u zl%((1H+BBkInsvUxc_X|CLX03u0=!K$3 z!b#q}1Db16{*ixXY~u=7S(pzXJdqZi#Du(zRBfV5vzdHkxfhj^@W!!|5*;Abfr&sY z$93}dDoEF)WeBrF-`ptJCbCsdE z-{;>sx{8!w_%D@$^kIHYg<$s224=|b7V8-tjy+-R4Q7h=*D5Ar9@gaZU#eWy&+r(w zDZWYkVRMV+7ZcCA8Y{!(Yn{w5Imzcqnx$LHHpaS4tbI(v0vVjp;JzjUT2!#1*_*H8 z_HEN`BA!_)?{kwBMW{0mC4e8i=c+=2s`55`aUGnhN)Qzhkp6V=;lEn$Y=iWa$WDv~ zf|jTC$(zQ+niOiJWcjI5dFi`LvQ@#i!BH!sT+UDBd*V8mgUeM)UCBJ`n+!{D&to=n z0*i0n{M~L*lPbq0tP98d63`j{nO9|t>cNTmKss+MeILydeIP^vN($7s2+5IdzP8Of z-!2Vw+u3d6y#f#fme5^VK>&?XAi|F*oW2hkHJ=M@GgE0BIgt2?89&-7(0WTgNf$rN!}kRf?Y2A#Dujw?%L z%99r4ij~NsEapH>YJdSjykC{#+@|o|bnqROiPrM!APIxOktbA${n)gu5bv7lS2la+ z!J6eZO4?|UWmhXXBfIRyrA>@`F)?A3KBmUzVzQi0mz}?y34-}%WFc?ZwHl@1zpJ(% z4}B(s@?fb#T!!QQ_BSZ;GvAN^N=_i&rGc%>!iF%c!uBJ|$2Bxtu+tRa_lf+n%&M;b zCOb;?h=T+&_|p!&6wSLz&!ivtP$>)}KV?Pwsx7#LCci#W1KMrYeMlN1R+_bVvgzOG zF3jV#OTF#mu)~jAa2$rSQB~)7a{`xL-)OMuPkLp`Yo#>88eT>h?B<0#S(N^K{%!m% zi-Eh92*HEUea*#fk*9)M?L9ViI|bKXKo5l7TLCqBoveAZ;#=L zd+P;FJ_gi+WRZH<`V`THfY-$+b)2q1C`(sxd}@Uhf~${~Lmr#6eH0?atDAYT6pZYbG+}($I(woVGlKX&3J0(Wbi6h?wljVrGrBn{{Pd7}8yY=e{);vl6R~{D( zRV)8f)ptDp&+|lr!YpR<0W%x-^^>{QpXI%ipXw)vAKMNZ$^@76DEsUD&i{@*8!e9i zI41nlFwak(*@N?+-=**gH>Gi!F~8m>#!Y>4NxQl>B>N<(Il-zXtOP8*K#L({<1>2n zB-8ka!epc1z`HK>d2ISHf>abq9PHFVOHS0eJlYM0Bjv<}4KRDI#T`8o0_9^A7i7O) zjN0~Wum!pa71@5X=ZisdQjj~CjZ++a3lby^DCH)+;1ChO7l};AU0S*t7nAt|YK#4TD6#)?h zSpOOD(COA5C>rJgMk7pMmI7p-mBnQ(LfC_%bG5u;oH69e4ugk@I&zjz!EFR7DPc8` zH^y?Jx2G>=SdLlWZz?XHM8sg~qbbbvV}asCeKx`}6Q>d8c{Jr5{e|`E`2xw5>hj_Y znJpmj=a~k!b_&1nMv+9{Wl^$5P@sXH-U1CQyn?ZgCjVkAy4gr82It3lP3X|G@nS_` zikCR3i3RMg6m&-WIFlPCc(3L4?~tuNkL2mg@`a1|VnIWjJYr%VHc)aUQ&dFXme|7R zyS2tQWpKIJ=mI^W>K(MaM4#?wZmADigKuT&hKCnFcq&KtV*-W|&ytgKW)Il;)_QfHi3WDaTnp>zus%2uk4+oRGwpIAn*=z#!=T@#@?V+g=R)=9!&u|3tl-#gId!QmU)xM>eIFyr z&dS^O#BT8-7$M^Useo+VVUU(M7Fc)ri(nQmP~k~r{P#+V$6wRF?dgtK1V5YEJ3Vs~~0G$=QA@6;`h2!!2G_QsEox7Z_- z!c1U6a>80L7&Ev7@q?mr2x5+%@q%TpUpd}$4M*!|Mr$?f=RQ&u`|#f*ipA~>N3GJ2 ze61iUqH?VTLg*r_LI<+=Na1yn!|;>VS%n00QjWMaEoo%Z#l+An!!)*p(_tS3;{KSV z8h&e!izl5&SOC*yh*4psu3i|qH%G1pse!VP7heKOKpnB_Vd~0w1)*%^EI+$`x259e zPFJbRzA}&<8Z9R&6rXVxqt}@FCun33nK(=&Up)d34@*WHx79Grcdel%aDAbQ{_y^9 zN?!OVx%n}@-hdwJaPr$HdSPu5QUF3@A5AGOVZfm3FOZE{HJtn7 z69(_koA^6F>-~p&eJ+EDGFd6Q6MtXltxoP18NOj!TaZBEkE}dz-bj)V@~V}@%nO?x zakc8*9Tl8MKjEN~zI7e{c+c|f&$XCT3mCARoury}_v91xv-)vxIj_!tonx0Dl$75d zdYZxmgFLPk2>dlclDec%tvGU;Vx=JdKKYa+#=J>2H^q+s3b225LOc(vPx_g5!Cx>{ zbJi?1sdnT#9?y&kIZul$JO1&~tq`*wh7apB_^hU1=lm1B{ZI_t>%OgY3>HlaQkOs` zDas|c1h-uX~zal?ONvVR8yI!q*xfrpYenq;IwDmB`t5WQ?TIgTmRB)51 z)py9F6-?LT*SFW2ODDZ2CjRmbcYSO@r->mLK}~c-M#HV_mk2{<)Q{vZ*VW&M2F~&? zJ!b^H_|Oqy3z(cbM^wA5eik+vp_KSe^wr?n7miYoX{bgfo>*3Sa~bv5{?BS``hpgf zx8CQX-$lc;q}t)Du+jKpK9G7NzqxV?K2#;f=3Ku1YH;c`GiFnCRqS%kWaYr%_}xDp z8JXNO5UwWf&*~793*k@+J!2j0WMq@0rizL@lf%i0J$9hVyZRzT0aiF|V2G3gO-J#@ zCZ;EDrjAeN5l1p^z$13X4P`*Nt7k+1L(h$9%EHWmf1X|;zx=J1jGkr_;9Pp-GSm3u zWiX26zKLIK+QLwCTS3)MI^_|8{)J&$dd*2Ci5i&B{r%Z-aukN1bLD~iHspKzDXGZK7Cz-JZrwXXZ(#o z(Ybs=3wXQ&5M%ntPUTup%vuiz`y1m0s7lP=CxSy)^G7apR@$345nyH_4zT22BJkhB zoxBrVp4Kc`UG7_h`YR`aph(v?lbQVSy1RB~A{q&UsL8@>IS#X0^nhLKquD{etB#Y4 zFV4>q$blWJQ#PIC7ANp+<^O>MAS-X5%N+& z6DB1zt=P=Ck>Pc&Kt!QAz(%k&^9fJkZ-}Zb5Ue zL!0_TSD#cphw^@4Mdv5u$6(CY>+agpMD*pZQma`voB5iu?VMU8Xbg#No7J!kL;Q0* z2eOaGD#m!m>;$NkJL3Qw2(0rBV1I4d?3BU!JQ0G`>*fG zYt0Rz>j!<7cD3k>z?E7HHlcek%f#YErO1HpxRTeZK|l9`WXFb(_voya(rVVTiJ2E3 zb6&9-ky%M$QNZ+iHsY_OPg^^`8O$CIc?u4&jSN(ZkOFmeM zFzOZBN4p6jKTc-`rhH7yt~Kc!=6an!UX{Wz7?lXhhxV1prjwVF&v<<0en&iP83=qa zQ@T=fTvu4laD`oZ=^fDf+fOkoB2l;0r)%IpC_##VjKCK&VUFJfk#85SOL+YJ9Yj$2 zbv9af&$Gt^+5^UQsC2<|$VcZ>7c@*hb}M)TyPTo{cHJnOHQ@R~80* z^j5Q#KbAZVfn}y$S}KzlF23DTokpTGKDoV8W2SIe+M2zS@vX1AxC%NpBm)!#1Z@mi zyB8TC^6<-1>^Q!G5>B}mBwwj*LALP^T9{e}+5X0Ib6_n0Yw|tQKD%I%`U?_EjYSWC z`G#d2d^YL5OK5d!e$DXeA(5wu@Z1leY3LAX`efcM2>NHt<2cygnu`+vYC6+Zvwq=X z-egfKgw&OTH~F_<`dKZxy75*fpVMphw$0Yi0e$L@W$rC4UDLq^57|T0%5K4MOr}@m z;hOP>N#Gy#8$Ms(sHkgP1Ssq~kB52pyB1wWh~SGEF_gqWrMo7iGsGnWR=&e?_b!3B zUYsp=_;19H@=W&ZMcL2KKdxLa5LGU1qSiAnHm#fVQVnO#e0y_`7IMs*zW^Cve+Go2 zzvWrsOv{^`ei^#SO9>-ECD9fyT@TEMuHwqYGj7J|UMsl&&gZtA=hsQVjTQjDkw9vG zn~4Iw6gc~gVLr9RnplG?nJfnmm^Tb6g{5#*dkmce&yW66dF8PZ!kg~%uae1g# zAZ(&9NV3D~UsuGJ!R>K=Dc`QX>ZXH@u=q8>SGv0HX%q`7_f}QnhwFO_Vp$134*OfP z@7|g8UELtowJaNa#!zZjQGRWKhwC=&Fp$Oq#n>9Y>B)qQ4 zBONQVW&af!P1cJg4u-A{D5AekbewG^yMEQbf&Vje6{8=ywU)};kSSyTreC^ESc)=G zudcFUfB8di&(iO0f$wmA9T{-0f!uNTGv{C)`1zkRmzLh3KRVRWGf78gjmD1?X_vYl zDRFg51e<#(l&{?TSPA&8KxizabbNYRr%CxEVEJ zmtsspv9`t&>zUk2T7Tf9%M~BhI)(B*dOgV&n<$~9oA-ySz^hWt%E}og!bDCTBi}GU zx;@pVUFIb7HwNSt;44`BAS{8K)A*?|!7nFsgc%(xY0!)054#G7z=AWN#FzK>`Ye}^ zs=uqsiwnUhD@s`!2)=i22je+#l@*CDw&IKau}|EI8v0(BVLutD-k$;wdtr6Ir|#`@ zO5NA`Gj2#K`g-)~$;W%J`j3vcTfMp*wLmkLPg_2j^-zZQzrDXFJw}RatR3+13)fLn zTZDaCAIj=1y;NhU@=ONwN}Rs^VujVl6)!%q_n*|KhBp~tFN3(VX2B|EBKvlnyX35? zI)JD*ad~Y-2i-5z#s4A}3O1hH-|`DjkPLBr2ImxJbXYx@i;{YAbgNu8`1>PSpw(V+ z&T-*=eDPV#hNs7yv3(5U&F@dlkz<1iio9g*Z@+-0DVxD|oVF)FQ?X)AG5>g;D+5$6G?K!!Z9fWf%Ck*a60I;Lp96qaANoAp-(zli1;Aiuz{^#r zg=`6_n7OL`y}R{o;g%9sZGKC@ ziNVt!=9Qbc?z#oy5;;`f(!5m)``YK0M$R^u*$RSgx!>2m@E+6qIm**r5MF%Z{9gtd zX!s&aL?^l7b7D%_a@e}m0DU1wh+QxIu@;n`4`!ZzaKga7(MgLkuUf=mU=eXVFu9Dx#+-a&6Xo^b=PE}4PyT!=9 z|NSx+`krlLb0Oi=hna(}!KK7}3#-=ib@xAq?rPi>O(f&HQZSc6($Rs%8W6L$M3Q4y zHxK|y|F3QKjwrR8e6DKO0pD0j6*GhF5kwQM)~r0A$EPw^QP`YDI>svt$T+1D`dS3@ z&aSW3U7Ch|oZ^Y7i{#(>E8>}ymG_JnLtis>FN!+KVApP;g-7^f+{SK%-&MS{@i1+{ z?(T`I49F^Ze7tVGiT@I)H^Gl+Ou0X{m31wBawxKBI?!<;dWhJp*X7;rQb6A#T@-fj z$BcSCNTqNBsXn>FQrT>}OIr5Jf11Jr-_2Xscjv?{i!XVNYam!a`&}H3O^apXOLm67 zzk9vZcl7O0zty^5R|9?y*bfA7Yj|vw`#Uio-{A)Z{999SFAAj};uI6zpoL8kLH&~5 zt;asI%|lP^QXJn)9#o4IR3(y^jB9As>Gc=CRfozN!j8KJY<|vUHx!=#_HBig``7SB zn@hOMs97A~CeHyj;1Vt3WjOKi^3BP8fRYA%|k~qaQwp-uDS`7UAB1c|-Yg11I zz3m@`xgRKuY!=mFLO5&O@OtApDY&L`lW{JN{-LVWv0mmh?MFBuHg_l5p2 zQB;&RqPj^5aE)aD&RkO*IWSefo$eUE0J8sSB<6Q8Y-24Tlj)R{j!njc*{9=-F`2G; zA*LV(hKrG0w-oONnl8Vl1(c>QQg#L&`QB{KkOB!!T$Ce>Oz|8gevtM5e4ELtU)#QL zXU@I70Da@UDKROj|LKAxm=j{w%hVNSwh{YY!Zpva*;*1b7h#D4b@n#D{h3zUdR+)~ z>z^8vHyx(VwOz8!$VH=BzotY`NWaxo7}xC^eCcE_PNxL7*551(1y9?-=(RvgT>LHjP};3^&vq8`OU8Oc=+f)f^TTF_#LcWj)zr z_6W>YCu^}1#v4nYgqoLWy_k4kqO6|yPmNWw^_>y6{(>pS1>KIoW+ zbd{rebT--=iuw;%X`-Ho4%w*?x|0-P8Zth*u>N23ogOCWvg&lV0KcU*JsWO;@MN_?H=vP^uglui^y|p_ zJHZdB1ugjHv*fY8CId~au6Hw*@%T`y1|^utLjN_Cy?;N)^9O_5a`&Z$HUs*VgA?}`Y<+G^6VvBFHUN^DpV)OBNS@2d7BS+U-Rco0Vejlul~MX)y!!e@h@)6#6DnTn#09t_i6VO_1C#(BBuw;N973vc9;P>~Q1K3WpDfO{rZZO~1 zuC?uEJIi*nj9-%VUNl!9^$%#oXXMgBTJxgZRCe=)TCG4(1%*q`_O9JRb0ClU}?R2Ms0n2quYln@5ptJj)jz{_&KsggBTi-YL2iqRAiYMI$^u z={5~gI9FSbB>PoTsPWK2b(U(rC%7^~S{7ZfdPe>}f4 z&54jk1uh zx8YB^4y$DVQ^yV8}=M6Xq%Ep zT(hR_Tvk4x{-vDvH_1{uebmV2ORd@fLHYP3-I48d3vY->jJJz#N&VzFEYDleO2W1tY|n|57%V@ zbPP!%S|DjW1jzL8+A;Rd@?L!2(*&`s_+BNHj!q8wGl&OH8G16}1xY z9PPzNJYA3|>U2FQ4cj^Zq*HG3lF|e7Y>uD5NfySvi575TsNV>X+1IbgABBHU2o8yy zPNRjcZG7R~ko6r|>+}3q+tk|F(sro*V5$40L|-QIpV+u<@9UzhbdH7Yd9;>eE5=Wa z*T%w&z7TT)TfvEHvW0KXOp$J7=!_8Y>&+^)*YwwP@<(4S`lo!zFr~imr%8yvykb8! z+ay-wxqnvN$oP*#x#$a#CGOH&g?&%WW(_guS_+Sl8BFdL)a-$3=0C25MXzFy>gT_s z?Br*?JZox_KWfS5zWv*&s8~V?^jOQCdc!fAeBsUAzmkNj@gJ`LBFJ6hXz)_4C$dL3 zxKSi@)j-#@8elB z>zs$I=?%ulCh`1_A%9R0|o(>2e8nZv)!zs^|I)PxVpfKv=X-v>N zKiIMvCg~ea`7tr{?LE}YM40&Z&kBGuoop0M;Rn<|g3xGZ1wAkL29DnRrq`P6mW7P} z*zW;ms^jIRmoqEQEgkHj@c8(i>2Zg&A*2AZHa!V8GTcYw1?nd&(J~Y31bjgq z6qacNPR=AUzN4(zwHm)@l4O%NcqXxKntu7#ATH_n>B1%O6<7WtA`^RQ@k#!1b^cj^ zXYgnc4O78uW8}pHs}LbC^*%dbUUQIDOP!IqE=AJcoGQ~0g3@TBz#6RtBWxhDP4NZ+ z&u{T4nIu^h3NiXMx50`Lbj+)YwgsW&+A$>~sd#I4U|TlwXJrLU?+qlo?jW{9cAH7 zRH_h5DBdoE2$$0^f4oq%GA>Bkikp}Pg;BJx)*_#Pe@HULl(eIA)PMqC79(06q`w$A zAz|0LB*6ezYbL4t0gK}|KJRvM|(E+0oWue`H;<3(P&}W*a zG0+dA@D44{k24kFvKFo!p60@x93mf@XrBEc`b!aNC-3?Lvd01uvL&L zA#C%2SsEu6Md1Ui?K>IACWW{c)zT4?#sID}_{x*`>kI8ZK`Mb>1vjEl{)5ymEFQP| zJ+7wwhgeLrfI|8O=m$myuZ*29*Vv1jvn6WF*ZNb@b7IE_RTZ55cNv*!#7D0-?fn`vFL-&w1hOY8FcRWucl^sLoy`8?{)33aJ-wAF zyBN>y5P!}8==)*=E^;AQ_8`>GVF(TYR6G~ZrV9xtn&*-IO5lwJL5 zM{;y58x=IAh9!|1r{k&@4k&BvNsIJ}!%^^qLKaz<*&U5%^xAdJ zYiq;b?^t25FN>Z32tBD39%1Qp3*vc1VINJ9%nI8B0mSs`Ll)x9F&apt%%saOqn`^a z&vQ%+GP8CzAHtUa8cs&F|jzrH{w!Ux|6DCMa)*d|Q_FR_$n|o#B@tmYs4&a3ZUw_eg4|L1@NAW1Yi*2sm z6fe_%Kbwwuvc_YsD~y9R1=`LiEdMp1_X%hp3lsjOz7rLG{P9KN;s%hf=55&>krZ~{ z`5EPd)(IDl&njo1hO;vfmn5Z^qC->u`~9rZ-$fi6;leDqEGq3Kf;-v%71rJ(c~8T$ z+jj@4-p6`6>wtJX7b%zg#{5lv_`s!@;p%S^F%htcSrJA5au$F^#=o^Q(Vgcu?HnY{ zuVT-oEN-qGpCl|?I|01$e_PieB(yqLs1oyO$L5fWRYBxP(lMLZ+!?+j#sI4>`#?k8 zY8ga=zV#aE6|JYaSmLdDI22;lUhnnoy5GC(*0u)y)+u+9g3M~dZ*yO}ca8mf$DIOY zoXDF8+%W~S7Yl2sDWS^F+eiP6IDNrEpi zC3i+961nzFH$ATql{Y?{FxiPshbNA6`1JxZ_xAWffR-Z|BY0}!`Rt=Zo+ysMbjp4I zU0Cbi8U2XNRQfC}NhFzJ0@Em$fjJt4PYE^q(GRX4#Dq56yvAe9zh*_4@USsmv2C@% zJ*53@<|jMdC9HTUC~U^J{-j^O*<})V8^LxZ0bHf_Pq~~}q_vgcU&N1#r+w(rdr0jZ zwdz~4ikk}TRWAP9{*F@m7fJGPy_j{hr=decO*)s}-0rH_N&PrHK9NRwP**T&}xz2Va|4Y%OD{Vaw_?gZS@4i)XD=+=F zb{nQO+R+|Eln-fqx*z%a`QvyS-srJ=ifZ5V*qHzQ3ehCF(LznW=YHl;ikNR6@}80w z+b(3L>Nhsn<(xgKF8f1fcXJs}?g*DYpV}etM=F`=?U^fz(3EZ|$%B^3^^eSRWJ*hiI8#!Pj0#y8`jlN(LOc`4<8y{q4C@>>#V| zfli`U{d4{8mR^H`mWscP&x@)(ns{DRfg}K%x&Lg#1Q@_Is)xG&;e1F3VK<0b%L|OL ziwV%Lw|+e>cF@={{I1#ieSCNK*w@x_i#2;c6E_fTDx4%qGvFZGjorNQLt=dm;0wDm zG#p@b`7UvL$Un@lPiYeXWKI;XOTb2l1*m3{rW+QEn=`Z=>cGe`*a7N4irychl8rDSMr@js66+#!@M zeFpQug3eO;to-ZVHVov1rrd@dsQ+_hHvgpIMtl@o)8NUO#1kJ5oxK@Bx|`K8GKIKc z#Bh1HvFa98?=D$Y(u0Gq)x zePVNix%CAJxY_pj$T0t6w7Uj*E?#oS@e28sRl4gBlrCJ*)MmuGdz8b7%Jw5Pv;y=1YNpa~2}?iMI!@ zd*#{q?>@i4c{z8pM&hz;XcFHr4_*of>;DOKH7xXQ3c(qWebskdF%4Nr|_4QKzFa-E|>4 zmgAO2kCpSF-EVK^t=oX5TbL2NBUv154L=TVF4Mnq5vKGN|KNb*Fjwncm4qB&3?hn zd99*Y1^2Enr)IN3nHSGr1^Sl1v!Mp^9I_*PZyg@~BKyV7cHab$#0s-y=~A^UD6hD? zRGnY*a^*R>Yiur<*CamRs|M%u>KFd81MgDBW?ovsJKg>o3?782YXR46-*1Edy(=jK z{S@W=$N>;;&Y8CRtq3Hhi_nuE`ej3X*8qE`27cUDlk<>x!MTsDye54C35-^Ee^08) z8a^NlRn1yk-@6P`U8x9j`GuHmcnf}7(m0z@*LiOQ-BA=W2$>(bKKOJDx%|mw#BTQ` zG*eBeHB=4?<2$!BkP~**-fnags-nYT+*mE8bzWpkJ4SY(Y4aVCwV<+;q(ixj2{Dy0 zfh&D2x}}V12yXNb;@-^F=6eYOEG4bj5W2@Wnx3Ak@&s;`QAt&x2T67Ke&%=Y>kgfF zyrgg{$Mga!bMo6_eC5}zC3`FQhim_~f5>s!@JMWL3TYNP*%f1JwEp<|-%!R8tT1j9 z&%pAL<{y=*{&qwLnf=PqUe+;kVq(v9PT~%ttIQuYXK{fukv#EEGjcXs4U4_M`E(FlC1uxZ$NFC$_5l ziK4yCIFcNVfCUa~6r5L}PfUny&D7k6YB;!l7EqCHlSt zc1~wt1FoXelHw_fkJD`eYFxhY=ecFd{tut?n-LQeMMQi=rizsomj4$FT(>vL}{e-YZ>cOASbsHe}Pbr7woFKG!^ z^1;Uy4=ZtIT`PJKOk!CpjuTTEyne-{rL5%X9d{tBGMslXwYX8xOka4h?EV;bXqJ%Y zg3!ONN1*_P^x{adWV{JRR>o>ER`=)2g%Bwuao-^T>&1LecQtM9?w@PcZ}%qyO?jYU zx#UKN3(R?c5~N4F1}yH~8@%om=A>TMHOlI!EE(C`WTTi56Zw;41=kh&25xF#cT~O> z$&&Vrn*6|rWX3GVs*u$FJGyPndGO0PYoFZ}D-ICobjzy_`Cx~StMLktxV%X}NmWuH z3cGK=Tf?lsE>(V_!+bx^JFohX<-<7uJsA)A9CU8)VT#gl(^LmGOxwiIA(Z#{2b0!k zjf0_wOp`7ELEAvV{d2dOsmaRJs|@Glf-YQi{2@$SZR;%%h?|+4)dBRtIp+o*0tkhb zhkuyDudIJ-Iddg3QZan~e-vGLJk$Rl$Czt#<=E!F?=>?=iZDj5obk=k+{@Jzl4zLQ z+>)k)%`HMiB<2{BGB=ScB}%SJDt`Mt_Rsd$=ks~LKYM*%&*$s;e104t@WhkDFWa98 zy}d}r55wnb?|LcF)7Hqh3Tc?ROH65L3RZupG}DfKu*${PtxAJUyA*kUfkSrJx9BC=yRn)L74)yar|dCja|X8leT`FVke z>wN<+cv@cfFs(5kdBL2}R039EXy8T0bC1S6PLvR-N*Jn2cN|X4y9s~mKhYfMODGdG zp&tX}J(<539R20Z=Z3hl-2BSLtX%|1N$gaE8kNlKC;sw;OX%EiM2}@w=8ZGKXZ+>S zsEq6?(_t00BDLu_SEGEZ%*-1vLR4va1eA~vSb-WlJS0IfWA`OIws$~ETxfI%GP|pd z(udy7sZis?z&sw*B^I%XUmeE0#tB0&Cg znX(t+tWs(P1{0X$Win}%HUt*?T>Db-HT{)|JS+02JcN@oles^Oxac8$1Xcn8&q!ik zyCq*%;i{_M|JUd)yZjmW+i%Z`0CPhkFs7VI2@<#mqQ8inRZ|d8r#LX8Uthr7jSn9( zhtFElLdw%I3(>V6$Z=h0O+xtC3zbBsx}E8iCcGA6D$Uld>91JV7L2a_H-d4*l?z-v zGc?PIRbXxw)2YBDU=lDjet!8yubmNZC5ww*g)oc6z^ZBqX;Ojeh?TgW$1TpJ(K1OH zgN`D=wcO17ITZ`tTGlKkAMS>Ia5ha7J!i?4m1N$hKpk&#_NVE8l=IZBmB?Bht|q_` zd>ry?xoY01w|;3%wbY!>D+wa=tfxa1QZPXk_|woDk?u?dd3olcpWpZ+kTq^55B&c& zIkGU1#6CAGhBHe~!C>rsYVvzjToHWfmZYrwG5r!fCa~8R!1_%9PDH8S^yVy~Sszzb ztuR(i&Y!R!tr5qUuD_RN@=uz(!m{!eZnZ-uve5Xv+X_h5kEImBd!z;CR=pWm8poyL z9$Zk349;`-Z&+Uj`&VV^_(gbie*$WT3oEk#KCU*emtR9oK5Rx^_qWN;}GsJ;JRk=a1Ea?U|k za{yBjj&=4z92ezWx~1D}Cf^mEQIMDFR!hNtb=4TBQ1fvLE4`-#m@JVaQ7iyM_$D!VK*w!dpMNF+CZ3!?0tK#K6o|wu)2rVnf+VUYfi=>~DXX zm6fB&xZE5PIkosYdi_8i*XDi^w{@e_Z3j!qo z-qtgvEC{6q=bd_et{v0oMMYY{*3F;)=+3pxep_H07iu#9Yi^xc^6=-fZCK#@;?}IS z>AtX^Bu;UU^!mV;PnBn9TgCX=dp?!>#a~-383w-3P*|(P4B9G7Qejeh8*~~3%!+Q_ z&34!&@U=&ad2~HX^0lD|KF$#x=IC@wvQ)E*uXr0r``{fZTK{fpDmkLjrz4E#-z&ur z(y}bsPYwQzUWI~m>A+5yQ^*eQiBwB`Mm%rSl+^N=eD_hzp^h(lRf|5Vaq5X;CHdR*$KOR#nGR!zJC|>W1B`GUi1%H zO}w$cKhio|tKS+G#Y?qU%lu0@PR-?>I=f|xLT_?+{rrp0{QPclM)U5tXu26MHi67Q z>H{eZBqq;3pVq{3H#dazYgfGnN}FkS%;fg-HQh{hM*-vc%3vK{`m+%3=he8^@kD~B zXWJY$dSUqrIl#?>{hK6}=q;OABd$=GkDtvGz6-*!O0Avs^*ul;$<0a9(quu|cr{(6 z$ZdU-p8#%5W~BYiV9bVhcSS=(@vE-@xvtXM@y@IMFIq1g-i-kF~azt6KT{EI8E;0rcI7+d1HKqpDKt6 z@vyH|a&Xwwnxa4RRGvF7F?afI2GQA`AW2e$&LSU}J`|80ce@(ooq7SrM}KM{bKB$E{v;10Chv<2BcFZ%yiJ+|@@q7Xj zb(^X4(G!t?3F}HoZ~;KI5WOt?CQxTt&k~UwL849xu!dEPeoY|)52)czbK_MzrGAol< z<9?ZV*?lL?9ss+Gp@(*H5JFeRBw0+#mQ^@0ODYgGb@jh2BYyF(B^9tfBqak)xAoNa za3k@|F&Agp`pn$2tcX(OhpV{i^7_2zlBdFj^`L8T{#Wv|vx2pZUhh&!p#VliL4re7 zaFfz#%$}5GAFD$6CX->@kH#9`Rj3S^3~CFW7%#LOMZC)V6<^#S%4T_XOiQIPmrR>@ z{>J~{U|G)@y~bkPO}=}5oxM`6 z$^P(c!l%#G#pj>5n4dU`O95tOOU+gMB>%>{fqdQ;p=HM)r}Skc6P!uhT@Y=Fb~x1V z?d8XUc3(VNma(7J9*-zA3gq>5h?pIH2l>XX>E63nM zLp@DPHg}Xb-k#5nHLi+C(l5gHiCu_0l<_LQ+@h}h!Om*MMk(nMUi$;OZgouvRFd=d zm6szpwa%+SA|(VQu!wgH@9~idFhuV|W;|_x$qx35I$nV}PobOA z6zK~1W!<32ENvaC@!b|Ij~ouOD8uS&@0$p8`nI7Ly*CXL?>)T+uQL&HHnw~kN^|%B z`Fx6-z>!|fF0Qo+6(((Y0gP(zy^V}{bE8ky^EhEO|p)Aq8XB)z@_0xw8{iJ7*+UMAi?GIik{auv2mwJDghc-m)^7=Ia zJyKQDdz`X~OXno0=_=WTqMDWI)xK=IjSv2z{psU_>l*`cTRbLAf>wt9fEEQd8LE&KBWl~T3B0(CHd_sDJ%gdf zkRh7;9DzKM4V|$-QEh#pbDA7(_6AB3R4tR{=WET6w6bxKOKXe8%39{YXcZdMuz>DW zI&PJ>FZGC?OawY;erQZkISxr_}GJ&-PLbzrE)v3raZod9 zzWNH!$==(A{1zHEEBIi{X|I?+!Xl)!S6)(1KQbPK*3ANqb%B>z)9uv6`%sV6Otl+s zH#;6JfL2iww^aXIrpi(D>pCtY3HWyL~?7a&rz$wpi-6zP$oh8&N#4k&S$i=spW|{#x+mXqCBr zX|YUf%TRnNwv%hZy)&nxx$UbmXyLjA0nOn&GQcse#WnE|m>hywC*Y(d#6RY*P|$v1 znso^{0r3yEdCN5CYj{CBs#u)9GR0+)Wf;pS6uk&8U?em4wZkyMbg+&V+U~#c_Tn)$ z=<^YX7~U)>#c=Zh>E7as@mEXWtnK4GnKb=m3S1~--ZW;h+bfJgfKV%F=^X-L8l%gy zQ&>soKkdfEl|+ZARklCjbYJ$F}CK+E8TInTGB46%$$y{mE~Ncdxi zL1deUHo@;hlz>G>W8>=@=(p|3&^8JEDR4eRb7NzmG=s1;U|;JhmgQ9eJ$L&oi_y!- z9xHqE-0%slkj;+leia`rtAf_&{~jR<9O=fUmxmj9p=(AoL{){5Od3JvKUa}6A{UdY zC%8ka#SGbw0?J-3f8CANl2_<_ni_S(g0tcD(d$CP-6Z?=qJUzMc;alrXoF%^dL zOc~3P1=4eS*(#`K1;7D)XCRB?cW$V;DGWSi0e?Y}BL`V&&dNt10Kc((#2vaV6DPV_ z2;iA*oX^i+)xInp_0YAJzlK`d`%BN?H7c)vV-XWLw>y@;q~;*`gv~3Cwc!wW=D)Y> z_5_D3i04P9arIJzhdFbt{!#mgvuV9R|b_TLQL3WQ}1x;9bQb1 z;ZD7?qh}N8_Dl4NEMe-Bhw?S~E5j;Q_0jczvGKoF3{73W6d#)8bxMBJMPCI|+j? zenqbbbKLX8;wmaTjP)^|^$MIpx_mDHznJ?|Ty2H85C}3rwqbQrsz)IC9`?IExfyFF zUj(oba^hWbr9qV!)VQks&Q*x@6XZVy76YnOL@2Lr-f#{GiPHt#Xq8pBu{FCuZ=djM zfnbQd95}NPI|r_vJ9f9@x>#AdarH7!KfX)eJ9^k(nsBfWG`)b9VF9nYf`26D0Qb*x z>wtgCD_NvtE9{^CZP(2S%Duv!X%d%0>CGjTMKv%1fdF@n_Nw)ZVuaIk-&f_D*+$Y6 z*0EJ7gQbo1fSK))lebv>cad`zfJmcy- z+y{-oz@-7+uJ?!P^Ne-9wUdY94#f&neNuaNFCb4&Wt8#2xHwV>&M6$6FK~J&bidPL zkNHi01}GQggN%60DhfbR+wQu73qgNj_V-p0$S|+AOH*26_mQYR&*2>nE8N==h@K6- z7_CjO@K|=utbv-(kz)Mi9>7h*S9(ixh52-)_I#WuCpO24i;S`5frRVI$H=BjrTEDg z%4TJA%g%TeAR%%X;+&zS;Mg|ASxdLi5dhK5jg!Ygg7(9_>c5+&Yo5pR(J|UOt3$vk z(lmZlhE^Dyr)rqrp`{j=a_Qfr_LaKbtS!c5k}osPi7gtUr{nv?oWIiMk7TWg++{W4 zO{#7t+scczS&s9kR>%p9uV}*YKwBqaIm|Oz{IP)pVWoQNS=Uhp7~8EVW_m_g)YM@9 zkD>&clwB5O(x2P7@*2l=vbdhC;v$r4$aF~_Ae z9m1N!3*Noi2~JVlpQ|m)Sb8-u;{m7oziB#n0^x5y1&3`Y;bdICv-gu8th#ew%%KW- zUj@1lxTn5tiO<7GXVaqlao!YGe&Mpy=JprWbt7B1DJhen25}-x;^hx@2Bh~u_}zQQ zQGw{vprMb#J&Y_Ib~I<7@&3IAW^s?*<=LD0D7AYG*is<=RG4Nj(8H~)5DC+JauvGG z>a4gZe(=MT-s&KWEE=cbL3|4}%EN@2n28JR*Ducg(c2Ipl&z7GF8V1%Zg_Vm+=*Z8eqy(-bso1ygin>@#eVFsE-`eLbSnWRWA_| z)PFy_TRVlc>%Ts@BYZi#B_Y6KE&2G8bc0^8B_&g=MjbwbuKqRV5L|=#R(gr+>4XmY z1^BIb_W`sTR@@2JWlbvtr2sn*YQP&ZWQIBnbE(Tm>eOlie#o-cC7YTt4r-F=jlAjg zdJ;sVSL@_m{1|*Kde3p~=NZ=d-4ViTn-#~mKOcaWO6MfuryOOYT8_IXsy~;740DC) z9W~)5Yr|Uppdhb$Ub@MQEtT`2WA$MkxG~qQk&6xtNTHj`V@AWW0QTUNZhO!HeiSFY z36;A;b+4>Sir9&fPQ&Q&R&{`N^-qm{6$)7hMNDmkPMI_RYxRPB9@@(@hJ=u6``7+R zB~v?j-zQeHdT-$ktr5A|yIL3PbNHU>w3q4xX-3a`|I*z~`_M)G{2$K`;S>y!h`IGl zkifKoI%Gb!v|MsK{j{!bYD;g^rF>eYkvp@>t&{QxG$~MQ+Qia7O zcm?=vK1BWc8CAl1R~Q@tdqcpn+aq3VhMs@b?PF1DHn9HF z;=6iTW5I`d+1AAN?lK|Rl1EnU^Zi&)W z(b$+C>$wA18VYEWAmq{>l|O=@5j#^lhbdozzSNkc;y|ylwbCogAqPaCQaoPlgS?I} zjw?30jZ}TaF7d{92bW>OSgdo;3J`Q@{TYQcxSTwSE7CdNi;2hdZwT1=x;ejJ6PUR!za-2#Jzf1z=yuQp@QE(@^wDQo!nlkVXE*r7r(E1} z^*Q*Se3#q}r&gku{t;B>U*m8Fa2DL3xH1NBXVFOMs2OEZiRtKcNzC{SKCH~dXqQ*D z<6Ds3f&w(c+*o^0CV|;PeW6wOk%HDLo)p#xUr4fhXZFenXd!I@Xm*NoM$EfhuYEY+ zkeI1;@keL!+i#U{;@M1$%QJKzc#!b&T{)nT^_sB$smm|T&`SDI8OG^L77->NZ{UG7 zmDML9*7&-WO6qp^1+xJcz>6_ObTg|>Jop+=m+bC78n5Q8{gG6$jAZKh`_CoR=?1)Z z8NoV7khOmwCE?q7psW&aZa>>^<7k#eQ5OxaHt7zwmVRo6=@?E#0Z#q!u2JGnL5f{| z$;_Vt*IrTOaJVenR~ciggnEdG#|P7O+EH>c;78pkDa=V7@VtE!3hk*kc3$@-rvBl> zRU_ZVY2V(2tYZ^6%tN0YCYLRguKE@j0~WM30ZeTaC1-ijfiYPhytKpLzX8-vd);pb zD-Z!brGo3)m?VI-!_>8pG;i9qXr(<{Lc1~{6Y@G@dCkzbH>hQ#(D`g<3n}Z}Qn!=S zzEh@eK#DAcBQ$A{Pf`#Z35-GnhCRfXMu!upOM!qZ0BP8e~W&5n>mxaNlzIcN}LTU$1 zoy5DC@XMMiOHrjW?GS+9_VM_K8_8n7zlS{u#_A8e(pukG_d=UHk3#I4`Zb0B$()~B zc(c-2Qa~#4d8E!?J{FfVW^Bb@@hK>1d-#i$w$AMKogX?H-(vsSWd%vIi|;@Cy4}hD zDgZ>vKY!oH(q`dl&HcZuja(ll2ML?(TYnjZ=9#*wV5lSf)vI5&JN7y!vWq8M*AlxH zfA3Z7KPvt8?2gFSf9KEPO07(umu60`-jJn~8RSWo7qW5CScZD0rCv(>P4CkF+NS;S z-@}-6zeZPqz2z$t{OigyYt3ha+&|XOY?xC~9KenRH5>B~*og%R zG;!{3ny9wTl4CX-o;!jk%I?89{p zN|^C4lJ=9>5L7`eCb%3RoyQlOv^9`cYU%{C1HR_?{b2hEVz_a5qonxJUFr4i5F|Z; zM7}b}1wB{V5ndIrN8_JPQY7S+Gy^Y;t`UzdROvk1!JA^Nz!z0{XJ0ohix_@lw0!9> zfiLeI>D-2&7GdEsr$RM#3VV|(`7AN1GSp8qcx2+AJJ_eo6;ed={4zs$K26}y-IRbm zea&WJDlt%Un;*$CH&c1Hn%IovWP8q zJphT?{@7C=C*L+f#F*1^rnJfKP0t0bwapxZ%q)RoBtfsAx}KP^Feo|vW?0y^dX&VY zBXThPqbp?*K!f;yKhnE08W-6eu(t$Cx=ni;aQ{v0k12pCnicAFC74W0thpOsuQg-( zxq;DQNq_jK8ag&is3KPVSfO=c1D($A?4&R3JDP!rUx}+^h6+Fp_W-QKul~}SG5fgx zVnr(-Yy95}6C}Q`jX76fezDOq^VWYKcg(>QQFf!n`6v6<)U|NpSta6995rp_oqzJC zd6yBTE31rgDO0>4OPw}#cb@k1_OCm+FXNULij9z$OIXCp zyqUH+&YaO{yfA7EkI?N2YHX}+eF2rw?{|vT_E8gq%Ktt36j=yjGQ416;#GQ@e~<0x zVg6%RrRa;&_)!+qG(ez0EZE3*eY-oklk0fbHC%kC`WE&oU9(a_^QWT$N8QoraPjfp zJ<~-{dLxv-lwF)1F_m#`L~>2Yg%1Wnig4x+PV-GD5t! zhrhfDLovKJz>O|Cr8`nD-qLhB&5~m!~(>MXj1pN!=fbN(|k8~$9 zFR4t{r$*P;Mamns8ST(VPju~7h00kd=0W7z{C*Z?Vs_+C7PD@-*FuqxC?Uow1MI{B z$5AgO zCA!+8sLTdm-xDLi@eid-czo-#G*5$|Q!!b{uZKa%zQA#|m%~x(H!pAQXBh)7gR=|7 zR!_SW&_e-U3N#-yNh+=S=X^V79sDX5Y6U!);d9sSpPpry_|)=o-Sr{>8O|eJ|CwNR z-ZmP&-;LaP8xaxV;rsOT;RnGB7z=&qVY?EPW%RTXbgVcI;_JP?$ccQ&ny|4fQBd01 z-8dJgKBV)plC6$r)E4!3AwI)y^Hya!_jl>lc~&>}lY_FPUDm+|C?E~=g9}CX{BhSgBfawUC$ndc7ch zGD$Evf2;lv;ihXCegF|mH`FHkd^6CVVKI{y0n1QR2c1Zyr-6w?{(Rco?2*??`yBxb z+`E;TC z&*^LqSKb;4&lERLYJT19}HWj~RT?3!2r{MW`uOlfehPYn&>GS8$#Y3jq zKb1yp30h`hTHAvIL%A#|MyuMze)!QtZ`ir^F%VZ(;=2u228qo76@#~rc@qL0^_s?; zkD=sem)9B|zxuPnS>$_5BDNiW5zuMT|7{kkRB!d4;qTRd=JLc}QhPG_JZ%A};&=Cc z1$D)Z4&ls@Fb?QM51TCdQ>7QrdOO`K!49BEup6=MG8>H_Y#qjV$UaT)4l$*3t}tG$ zWy&UM9qr`bC;hzQ)|Eq(Rf~HQ*z=i=!}6;mnR$;imW(?qwD;zBc!sKf_k=YP*hX29 zpX}wFUtCOb2|87uxmGrY`^4%J{7n5kGfF>^EStx&f^}=m4RU*D-Q*w(&^r{k?b%jAq6LV+def>{x4TL51?k+cQ#7=Z7eyZaG2!@r4vo06Rkw&2cVO6d-Os| zB~;@J>a9^&QOd1_c+Yl=57a!Z@A?N@;E?npj(>bx@4mKMuPH>L^BA)$a($aUk^*Zt zi^<{sMOr4YDJ1icOFD1&Ez0>Z=~QU~&uz?3J1scotJ2zv^*4WJ5<7)bRwnA})BrUx z=9aI*;=S>4=F{4ikl%ig1%Zb~7M> ztZ>Xk`$w6>_ScCDoabsV1T4Hcn_3Nqcl)vKEFd#%p zM(2bqy+BckE`Hk|9v_*@6Xe@(?sejk#pwHgfA~|cXiNB^nwd94agkrzy?UksKa88x zYhOKEz&nxkeaiu~6q?}7-gXoyAShzn1PWsrSkC3DOL0aqD=>Td$JQsOWC z_=@&XF3IRgET`WAqGrS42PsNnjsCBP$UC~h>U#56s_15q`?5m1M)`A%XcM=c%QD1K zgz0GY<4)}#*78%JZ&F{uzx*kaHDVfmJ=qhJT;YE%PX5j?npI#^%Q4+p$)++l-ss%# zm9wUpu~0(ubtep=&vkiW3Qd?RE?M zt!!X{o+JjPjDu<*w+5i=nYk__KwZt2Vl>hBh|huk--* zx|&Xf+S*Fe9yeR3&Knp6eUH15%0F&zsE-$PIxRnRNbY9)+4Gefm7K>&%XwcaCH4Vw zJR;JLe)W}b@A|7WIie)iO{+R9F!UB;YMLHL7daEQ$rBJ-5%8Cnccmi$p?@UEbEj#D z<&@Fn==n;18CZasBA^z&qScO5QNsqCw=rtJq%=V7>5vtQ?2GvF$!ZM(zdB8(N%+$5 z@_-27abjQ~2Q;od>*7KBg7a9|f}RdFF!qUsnG?a6_Gh;|F#P5 zo^%?Gzk3e063_J1v_*Hj{z83_Q(#{eg4ya+<7#X2eziPau6{R+6UHGh)e=uw^j`KY zKBK4_m!;qNEEyBF$?CLxVu_qRKK9Km+n;3gdC{yT4Q1FL<;qaGAJuGypMlEg?Xwi` zHWNJkT689PkwNb#r>8M=TUn^1cJ;e>-D(u^Y&bB@LL107e8^L`jP778&v?F0zd2lO zl>xNGT+^P%|Fq?UJNsGEmdgt1Krv7awC_O{YbCS?h$f2fU<=5MTfRkLenB!LHJ_m; zXy)+b5l!g%15o2~BI(g1tx3|)pT^1rsi#Z^t5;IL**l0{s;rmH5Psu`r5Z(>a@UH{ zZbn}0lL%jY4!9OnXuwh*RisRS-PefFN6ELla&vyqfk9{9e15MWzP0%G>i*js3g~RHz@b74D!tdsqm4q(33V4{pFQ={Qhj`#VDWbwzv9 z@<pb9)P&+5A~;hvt+Glc^zt3m*LLx6%#{w7UIK47Ji{~ zS1U8+sH}ma!;>#kNHdSg>KMg{8!~`D4MY$l zT|^Ske0+8Ec7!=i$ehrnHcWQjF0cKyAo3jNb+NTm(YbR9>uII;|Gh5@BRuNUVdbvI)|x2x zSuUzEaMR0UvA~N~;TmaJ5;pRh*;C&gTVt*GR+3!}^x-*j?eDfS=$egASUSFTkonC_ zo1Xan<}DNl;N2)pKeKWZ^w{L$uL_DP9I7zNMlEmY&wQDBDc3=ctRRR#bu@kss5SQ4 zW|SqGT!>5C&h{guZGXRd7|hL`t7ScmUHZQ17lF%}*OG^@E7H`tQ^!Ha{^#MjwBt@e zx@}|{t5*Kt?xo%IA#XmaCU$K&oO`noBbOY-xs;F~N?v=Z4dQ?~XbK=*|;H(T;9Y z0&{+tQ8rs^C~oc_ir0bqqo&|GzNB>a8PFx5m>(#y6Z;);9xW%^7hV)%0u&eLP|8of zfM~wdarK|ng_M5E1z+~t;>rMx=VPR0J@8A5=8^^5Ezd`|l!CO%?2(Y*-mS_e&eM6I zqP7r6f?+$cTl)bkvsI@-JF570Hxeafh{riU+AT3oYv&9kG=^oMGsSFmR!eaST+%&D zbXZ?s71Xsn00BSzM%bbW7wQV++^Kp8S*4=!2leWen*n4-GAZH*S;=GSPfU7H@r#J_wP+9ahD#7YUmxz z*%=-?pkI{q{xDRN958uiNI?0@-F*-D;*p2zI;&R>y|drYdo&8eFBVilH+yqVvgC4I zCG+!G^>RTVq8Wi?4h&pD{+;mu>AMr!5wO>HI>cB^VJWVNbbeqj? zh_{$M6Mh>pD~#5L-=M&)k?_p3k@{qE%b7U-3x(5@2>IdMv!BYC?-U`NBj?NWgp;Ln zD(5HvR@~aGkmAJYqkILFe(ds_+$Y_Ei`nQfJyWGC+AXlhw@}nfrE9nJr>tH2@UX8| zxmuJ)dnt5K%8-r8cvR0M$sw1gNfo&r`;1KyQ~)xjUVH=K@2v_i08yYJqS83bS*`)i zGH6I4S;m*CQoKmFB3v>Z8}7NT^Y%yy-8^Mz+Yx}edPa5G)Z>{S<7so}e`N0;=9)ol zh5{w==wpGu;t_#Ar(|lO(udU7QVXciT-p??6jEk&9>k6gQjXa#kd?ak25@cFMBc*J z-0xdMg2kVjhdHL7%L*HyA)TuVfJq{be)srT%3fK9*@v^k2#(qfL1Yu2)kUs>KwV+T zg~(l$%RP-0&ZLMl&VVn*NDSU%i0hqQ!X*-mC>zLKyR<_ugKBDEt{+J~C9Ws>(C6!K zGilwpB+b6WPzufLmaZu~Y+v;2dx#hb>s})m`MpEbNV+oqv;RHvioq}5hCb(Or2A9N zjq`@Bu?;F!gv3NylsqnEKG5yguMD#u<5Pc-ZIvT(rHS1RS-(jmuPUYPo=2Xub8-^D z&2iLsk6}>yNp|S)!W);zmD*R{vx|o&_;8K(;CNum_PjHtP>5F(`*vwLEeI`F3lpO9 za)<>9xcmyVK_tx_lJ*%DnLt@Kc52;!&5S3pDQ3i6g6wK_NwlHb2Bau4A&9Aqq%oi# zk$e%9;o`A2qc@hU(7(M0iB#Ddfh9JX7`O2#lDrn3fpx}fBr099tgb5%3o+FW8g0FS zZ$LiIv!WMpb{&g&;68CHQaNVCmYr3)a-AEe#gaBpZv7XbyvD~yl?u218zLi^3NlHh zWd0z0?3EBJ97*qC#bR5V`7c@KQh~Xo;E-SdYF+`B&sS6y)H!~M6Fa%vOP85Dddjul zlTR-lwP^I@U|?NcSAg!aD_YaKMyJeTF|E|h&!I$H7}$@>i*)v^46xLVCkeuAJ@4U- z=WZ8YS(K2HEE)g_XTEh<#O9VTz4NdU!fpE#AiO;Q0Xq`ld9GElv4TB_50HUqeg&%0 zv6*fzsZI>XK@Q><;L-OZ(|RD#^N^^PV$;ngA;dGu>sFA$!|_jPxo21Eyojv$JxTWh z*;7S6{W5FKlRSqXl)MsNJ_ATMJ0r-Gx&6Aab8_TW`<|41hj+8f*9BP^z$qg_dxv8t z4#CI5rz%bS=UTd&8ZAIucJ}zj503|=vK_EZ^Ypl7SOddhkIRB~@_~L~0HtW-sexs# z14`ZfE8gBz7g`w#t^I*EgZRY6{-6R=pp}IT|1ZRVD<5IHM&gHcy8PzZg)@)mp z(c_DV1e$Z^tUfGOQ5TIMY$nR^oO<5s_fN;eyU`?mw>BZzOny)1nQi&j4dnL1zlxe+ zQrVm7o_h-FiQHlmT9+k|@H#BdQ2YLh*w!!qQWIeNuZIKU?5G_!WT{q~=;@?^GoDiBv}Wkn^0NcramZpeMtn5S^72np18^hM z_pis6&#drgiuq;mIqTb{(AJ}%2Y%i(-~|q@e)U5iSN!{UV-v=PEESih!kR&Wy)VnW zr$jSP4~gK??I$F8G--$`13s?8IzS5$$`)j`3K1z#3PG{h+~PO04<%cXxvvRm6wq6#>!>3-1 zbhNwNULLQK!wa3w6yL}y$+w{B-+|v-)h2J8#PIObSI20I?qJo(6$DOa8KU? z5&|j<|41#PD+;kHh-D!a%;Os918}8?p<$c{vM`{f4qIz+708)1#wup3HOp>UmbqX`)kaPcrGByWI81#1Qhj{JEfPE(SPcvt ze7h-VM1e11LDewV2RsM&Z@#ze+p%NrTM-0XNmh`fi}yf1vLcNS(rh? z?#pjFQ7c#kX1>AGS0hdME|xgDMI}4b`K@K-^5VsDNML>RrrKIU3BH{bj~H%OquFDK z9#?;>+L`OI0#>WxRL}>FEvP&>081BT$RvZdyDEG(_yC1$8||!oX#dbZM}CMYWfY*m z$q_j}cw1OFKQl_oc5a0rJOfGxp1rH`nZjcI@k`*;{(xf^oUmA}POlqc51APJn)riT za4Z!em^C+%rjCM#IA0QAq)5n^Ly6>1u=}{8-X37oGMn56L5& zt3Vmb>;_N6Nw)J&Gq4sTCPQly$Y89?paXp&C}N!Wb05`5_gBlDKQqPA(1#CIBu;&- zy*S`#sx=mXRi&mX2ZKj9t}18o0>@|bomV`UDI|s0E`~mOpwByN$|YB zbwVMkQ->(pV^Q%>DT5}by0ZkZUpaNFhV@x4EqBA04`2nA3stI`iwaY{ENi|O0N;*n3;8Ig z9K~C{`7(Z-uhjG&%{>cL=&$S&joQ6R0Gc_?7+^c;G#tw!ju|#y0=oZV-P^^}y#x;n zCF+XfXoeJ;3z3&o*|cXDila}}@$k}8#=-X4@Ir8UvI2#7ic&XM4{gcHE)5`AB671> zm6%AB#jg@*uW7Fj5i_>zF;&)Cep$#Ev~3>;iCTxxZ7?x8nuB-+Xs$sRFsFv)@&Fw` znnglxsL9U2`dZn`b{(8bMO*t*#XUS$j2=|e&o5I}RU%*u*}iu+)xQNTE*`h z>vouh1ANrfU_3biBto5nTt`5)y&C?5d?I%%xbZ2gDil!MXg)etx8(K_ur3oWd^*ne zR*rANRd=t!jjMw(DMQv5_6>*NrYLOd?+%)16?V*xr`c&0RKPc!+f=9*>l1hRI>S$p zwRI($t3)@Z;ddE*(nY=z_<30?W5)xp+fMd zbCw>__x+aP;+cDRF?jRy2bsFehtbgN^VSPr;?LMLPgWgPYtPBNKi}|ojYkETUSWU6 zdHko^odPnAacC0+>|Di2e379rDh8cBV~jb-Wdja<1icFq<~jg&;ssz8<+ zeN7P}KB1K)rK4mPgyFBOKy8f<3L)j@6-8|H%(Q%SXTKXLLstL3jPT&PU-_BNc0h!2 z!>sS`jVZ9SKS^3$%TZLdJ;VK|dd4*!Q6}B-^1^88z;%^<&r8;qbdX)kUesOk-ttWJ z^mA||0i9Xd(31Y9zK1gU6Jj}VetGI8FF2 zl#GYk>rB`-(S{K&zJ=UCC(xS#p!qAEL7Y!_J7$%sXGt=m0ysTfXZ4X3=Xm2$%-EzRRyD`G61i zZ#lxFNA_%X? z_4JnG?B6Xr50OH1CP`8h=r>%ix07@HFyvzlO;W#R@5@zYrHp8Bj3bVdfMSr2OSyYV zsk|8+UMGYGcuMM0Wzd?bH+;hVB~DohYDOdJj;P!^O2sVud*3^@Z@I==9MCZm3IeHFu>Wep;W+HE-BDaR50XJ5Oie0V7_$Y?LsL>}SIzG7Pt*v77j=b@))O5f| zew1*{)At3hCH@|fB~Cow!@l49`)NrqED1W(YfZ5f(LxD%he$}c{ioo5LtfazPUM-A zGU@*GH7HCwImHL9YbS1ao#2w767@jMQeuopdS7agH0dx9wkZWRRQ9kR`1!%}zUL+XRq8TBF|S&r|oifSXj zT?VynJs4i&y$XfQWb&5M=CKYEA>|vmqxo-`B3SH%gprf0&inn%#uoc=kIY%`LDS2@_^6n2!H81Ue(klB z0SqMYsL;5%M>Sc2v%l%R2D`$KaC%YKy{CNmJ`Hd3oPi#nXuN#@|GLZSWJd~C1*KjF_QULX&TGTSGdzh3S|S`aD_tBr#b25JP&8zDTMW1T_S@$r1`WU*Ihk% zj_CsY#briS-MzG@5L(vS_2Q=C{qku4pjc)FkyE6gx7#q;vm;KnexLOt{_1~| zX_;U&s{xY!Fz-k_aCg zBZ5q3q$^mnlz98`*=bQJp|6wLf)5<}X)IRB zi;CrYtt$AO!x=ny6W76(P#BdDMp#UZnH%QmJpOa5rtP0XYK~t|nL{n*fd>;Q=1kgg z|6+L+WN*-ZUi#o_^``W{lh)SOOqSP|J&WfuFPTj*-m@Xl4EqjS= z4wB^eaDiB-0g@Ff7OCi)GtAem=VEPV-sS2-#v_=rmX41@D&8Mz`fJ3hqLWOP#yWUf zt1J9WYH*a889Ep*5=#Y2$Q~$lS$qqzKcBlj@ZbSO{H=742i`bIw<|uK=&`+}zEZgU z^0xlVrK_%10hmFGNQ3bnW>`n{w|1-jU)Z12GD<3-f`b%JXJo}zvIOR>#;ir_SJ8(1lG0>!AaejfB%)Ne(X4>hM|~c zg$!^*!#dUp_`)Ib1RmU!?>%)D>=@W@m_~%rRkekn@@D-ADLgHRA-tHL@;c#GZb`F6 zq+;40-td{XqTTG%{MLY!S#d7NjJ|dUH1X`Hx%W|av#|7=xkxaog&#d>$i^y#&X6Qv z_4~wfe|q-|&2P!g9OY0ZR^jAK@X{`?Q)Ipa+V`d+mT<5G(pi1m{jHvXeA`SP(msU7 z>;0_EI1e8!_3XrmI+xGzSxW*CCplb0(3n`-V98@x44{fW9v}CURs8KAFoV;t){V{{ z>&rhx(cU5<*_9WA<8N-ub#g?KKnL@`Tvz1~iS;8669+bIR_W4)Ofb0aW{~hGm!)nN zWE2NB_sVrILvi-VM*~;+wH)(wHs#cuaNIHTGequb!Wj2|uL|KY+QzrJ$qZ-^4-gPT zO82!(XS!n~Tw&$=`=_;POkcIvsM7uBpu7N3olextF0IK9I+!CMr->WwK19{TXs0%P zIP-`T!IVIQe^_6Cou5GaJp5?i?4A2WRS^STM!*<)Kzo}J_en*?&1yhJ0 z3<1wt!Ti87l3Z46LL`fPQ@D0Z1Z-LNlJH|ynac7RcmM#3}) zET*}g6x-5!kiq9GSG;p@3m@)qjP=veZY!T0&8b%7u)iOZyDkbU#!BdVO`ohoLPD&E z^%T0ULPg%{9hEbqUh<#~AB?|#i$r_trN z|M^}i-i=q>Xd#c!otSb0wC}8W`n`l<9N_GC_6nHX@$j1?au`>{7kJ;-m>jnPcHk1j zh$1q?ZU4M0l63B#U!X&0QaANPtj!lKJ=8K9drTv(zqsgNd1Z6CV{qdn)0asf|JBU@ zeS8_QtcZ4=hx4FCH&a4%anu9H8I%{boMfV?so9L0tWwX%9GV%oN_q8$ru7`SA6&iyHJWNIZMFiz!QSPB zt1^8De52E|DEBH0W};+~7k7(WJTpwzd(_F~1+XsD>y-#ep0i+&ctQ)0A#bbr@T%eP ziu=hEzW4{{TyrgL&CPAb!nmvlv(OunR~iAP3l4QD^*`YS(@;kpEu(lj?4J)9eLcOE zyP>k#HEvZDDO-p>3RoSoTNwSo-Kn@3%qD^oyPHq$)iH!n<-xB1Zk7#*dBeaF?D$x1 z6uR8OPMoX+ktsE5D;72cGf1kj7A57bE0#U;D)o3}2!T8l81~>5UQ&o7iG_n5kG{W) zv(k+|E_5~hUc904i^6=Z+Fv9NL*Lz`neyy zzc2CDS%Oa@4cz#*)?wSOR*Qa@qbxVkF?+tEVy9YK=}!MKWJPk?Ff*|sY3nF@DK5h) zgBSZnY$1ZF*jD4?UB?hHZC0lW6qt$S;S=qg;+8}H6%@1c4333cbLInc>Zv4`+fY6nkFN(p_10o#!tMaM!oM z4ZtE_8?)*Eu=af9&+^4=u4x~A95mq6$+9o9*Q6b%{EDVr7l51aXE350;hGSuhCV$1 zx34v&(I;f~9~Ff3$I382N!_ckDwM$>OQvIK9O#!@$L%t68N~vz+~h{BWj{smhF(>Z z#xqBB0AX<8H1S$v^a_`&B;JNiz-=DtW%s#i0axxnSd}iT2|lZX%7)&qSSN$aDASR2 zFd~Vp4#Bxkn%gpo+hjhzYBuA-F|mH%gx(eov20`d=P=K}+Pbl9?q_1gl-YMuf_on&{u{rBdsLJ1s6FV& zUS|D<>M>Yj99K#Mj-`l*&++?qm~}|xfP5J{@L>C?*B=r+g$1DAcD^(AGURGy@a5US zu9phlO5TO4mr^lu$if5Ago-~WaO$@H=VOW=@p1gq%ZxFuNmB!#6{f@6@}#HL!-xCy09xT>hQ)u;2bNXizQS zxj*0a>?v?-$doF$Id`LFhG;lN7W=#Vst~x6Nl``eP}{hY zanixhm0aa+k6$EzUk4#JkmK3<>8u~C_Z*p&F{+c94Xe?jWh&}It1nAGrD&hR*d}pU z2_qQ79o6mSw;~~GEQIKW-cV-QYquG`?U}Id<%@Vayu=vziwGX%brtkMzb=VaPKj3I zaf>`TY2gs}ct?qpmBmWdbFiK=mL20=+dB4b-O72qKlKA?;V)myMuW!qACGh3X7GPO z7%zU!rK?Vm&%0yASg^;~$Et0FwGXobzidbnoB%>H?@4i9c^p)8I6evmOfvYZX2P-{ zA^?$g8%Xn%3YrYY0iyghW3#CKGgH%Bc6tC2U z5VKzYr4Tr3wE7K?%4UfCOYzlkV1r{M;FJBA2RYzaT<-b<&GlOnb9#RJuv7BaxSrdU z`zT;tM`BGsqj|dp_?9A3mwNrVgJ>7uzqvcRI@`zjEEo5}Un*5B75N$$tT#oZeLaTU z+2)=SCI3X5B>T+4=0E<+^7$8S7TPm~$yk~G;We;aMICV|xv2Nijen4?$>%EubGCDI z+0dt#X*5k`9Eq75^wI?xA*1?PjEOnvWUyS61RA5b>aOY^lIg6 z6RRwdr9-rfHz*-TY^U;?H__}IC$(;r+m&7iY2Hq)O(q^xIy-X1bZYYqy(ncw77@}o)1LyK73?i;Jf4T?~ z2bkQF+CIBJc|BFojgc_L&Jka~mFa3uq&Pi@ruaE3|7Cc;H=^459`mQQXa9b@@L}S! zu56fYQy#4<`_G9#wBl>n?#A@(?@h@1l&|7JCG+{8M0mvI(OeQIo92#z|9Hr8{q{(z zV#L$i7)-AEt@O7pLob4SHSnVG9f8)Sc~6w02oD{?0m#7?ZJ3ewLI~B?qrJ_c4|ADd zlUd?ghrME2*P%)f{m4(e5iNWV2uTJi12{U}t^QcmqD_z!@2hdp-&vN`t}Be_U*uAm zEG)gjWp?lBW%^PN;fuUNOTXQ2zP{U%1?6mh>T8EPRzAwN?G54vOcRcGTy(xOrM5A| zhgkov@Ri#5iD@s~Og!Bwx~+hzemhD`=gwl29a(tLc@|D&gZ>!K94`8yL6(3EV8aa; zCPcWt{O}KQ)$Oxk<)dH~a!h7pdG$9PGZsENHwV}lfm}U!8!;}}=nqyUQ83Ax3BHt? z0A(SK`fsDMh1%Jb-sArcC^JL&GU(77RJmY&2d4pljGdFNDRa6kPHC@%g6YLLk+umR zRo^1(@;r^zLXF$!yB0dQisc5aPy1j=y%7ofd-rl4yU4=j1V`ZhPI)Z&SLvxYM@7kD ztI&%C(n48u%(ApwqrST2V z>->&a7_svx{|3~k(m>_E4@=q!o!Y61f;BwrKO=1Dh?knFqY5rCcV8-^Ad&~yy%w2P z8M(C_;C$6lt$Jp3G=|t-cKB7H#L}qzZ56srAo~`n-NQf|bDGSJh&i|aI|HhQweryV z>6W57t%Q)sHB|K;2ixO9_eL&O4oIs7BkK@`QYH`XX{{aTH`OJ?9;Uz2wW~rMVBBuV z`2MT@zUIhj%C3XPwhTPx$vmxj#i?MFOaB~&WD|s)0kt{H{im7jFa7p zNU%@f<|!QQ+Z*ZP34TKG8r~bf%@{&qmCT49{c@`*V!#<~Zg$R?(J#WJ%kO|Sijv3F z3G7mw3uSRAlGa)Jaehukfe(IJ`ml^BYV!a5_8BC}Wg#XPhP((X+LwVUyd+9V;n%{8G0dE6U zy?z{^!h%T#=5TZRhPu8 zQa8OAdK`@nZDh>`A79%E9M?n^3ol-i}rY9MjK#$-*tY(biqWC5ogzr}*@i^Av9$*r}}Z zFZPOvy+k8mmggE~T89Def@+O3Rc{E>aGAWeg+@-9Vjs;FbWcG6e`Kx>8b|;Zmf)-^ zI*P)b8^+r&`u}Y|4N!_wZSFdBNWaX|{_A1zgMGDaV7%kBM=0}|a~Q^naYx4{okP1B zxERA8BIVWyzewT%q4BR&wu?e8#Ds>FRA=m;VnbD;Sy&w;dt{-G8_L{a?tjyZz@)8F4Py-IPSOUFVmQk$>&Lzyt4h+cD0)BXA=A}vEJvX9wI_g;_Kg7k6Y_Vk6Nf= zM+n4HJ*hLx@hkgs`5nVCKr}*Iad1avjNaMH3;|hwjOOlr7YDWuoQswM7D76iO@Ysx zi=b^}V1IkV$-BFe9|g>x-+I2v{MS;v@?YXJCfO=J+mL5v;{-9M8?Tu~(sQ>I6|l+29?=d-{ui%- z4}?B}pE=o$%NpCTRYM!$u(cZue_&lDZW^=AE( z&c-w@#6v&}P~L4ZR~swrQ3HBdE$cI6lG`s*fsH*el@GiE|eD2wwfj@~dNEG6g&`xz0Y;$?Cd(EW}pLdy@v<n@HNs-nB+#m2yo;85cCU>gSGck*;-0+AH&@!k)C)wzVC za*}U~D1v#Nxe(HgbN|Ig_4qpBvl=j+xrAmc*@RW+Epce!l^-t`^z+|6|B+5ucv3j& zt6cZM(iv6O&>kHwZ$?-!aFaFO3W68)x*KdcD>zY8{rG!5i6*~|1pGK3An1oX??_*l z&Ji)fx4&DN0mGo(#HLUFjHg|#NhI=~)e3?hmC!g7_7iw96cM}}^7^E7$3tQ`M9Ig% zHtZiY=>_B6%oqrz3|SE6Nb3M24eh_IzpBoArO|ehgXE_5ZLA&D?=9XXzxC-6>9Y85 zcK*2%$laL$5fpsgK_jF~3%6i+qzyviy`)S~nJQkt*c||?CZ$@W7eXO+&QHE{MDth2 z-B*klDOFXX37slJUtV~ylpJC1W&1@sN=KYuti)Y*&Tw~8L7x;Hsr+fbBLhpLC#UE3 z-mp`sR216&Gq$Z>WpdilpE4w$V0@)gmF#Sc#Zmq1x5mZY@9PfPY@WYXtia*&9}fwy z#H=gy-2T3IWkmfoTAV5(AotR`uk(e0J|rCVK?KLh!Ag232yoG`d~CpcTmk6~L#OSM z(-bQ9D!U(|n17E&a8Vm1bI7N?-m=btQ8~|486CA1Pr80N_UgwiX|7q5TGy>xyCBrf z+?k7;YQJ25{{7a+$@k(FQy~v;fU%{M-Iai9>+80@T!Lf~8?fFJj5U(s23dbVX^5q2 zD^*|hId1PB!wH7{`PzU<`v|D~ObqtfSJx7EX@pBIy*Y{r+v0CfQo2C}Js(f#t4kd9 zi^(oll%OU_SKR#=e9M5?qD7&Xc4BO&wb!HpLbg0o7p?`vy4>(KIYbC2kCY^qbG69_ z5JWyd@OE4&#t{ow4UMp2Goc+(ko!WtM5tl?Fk-6`>dhs&CyJr+M@bb*viijd`uP*{#rEl zLWFQ;L3^`8bxI!gmQb?D8*=xpLV&2^Z31&~_WaH6aFPEm;NHK-o}RB({C7jvz7rQv zI~@J;?*7YASlI8>lI;Yg@K!zf6cY80|F2Nw5dKy-+yQ@91NbVNE&>&FWhkMjrPbaT z5~5d4E4I;=ge6^N5`MTr1vW_>SG_2xN!h2Q!%AL~vDz>XgMX-S}@)k_bgRP4EhWn?l^oIK}Hh2yV&?Hm9he_9FS*V+&GMAicv}TM< z)kg=B?Z|-5f<{qa^)n@=GMp(SHlQIXAh_D#; zZiX;lf-}`hY=XG7Aw&rzYDlTY0huEJBRZJ_H<}DOvVmP2%s&g5cWd?n#~{9UyY@*T zoe_)Tg61`Y(Dv^hNyoITu8GNxk$<6!lKtfl6E)M~vOgR&(v%;008IT%@)({~^QPlB zKlXH7hA%lm;zrNwgx>9K_!r;)l*b4Gx@coT7E}~L0ze5xR&8Edpx)pqTTvAMO5e@N z%O2c9>eTxkWaUoZ`*vli-5X#pwISv|HEQKUos5z5IC*a~&Y|#^TH83e44cMW0#@*Vp7lneSwrcZA5H{uJiHy2wnmx0f0Jc7yPZ zmh*#)>l=}0T6Dch@&_5-h2GYcf@%Ef!5_TNeG$6eB+!ms#cRMs_xC z=dg;HRB~G7@zXpAwO$UrgPNIOz9j2}ud5q#$C-Q}R>{EOStaFoSt>2o(19u%0emq4 z`^e5`oM>)+MaQc8gN7D>IRzk6{?kkZYIo)_4Mq>w#@<6j&uoii^~IJxESq=N``B#2 z%&1C8F9Tu_J~cAHT#l2Z4( zRo||N)RlDE3LzHfAUi2r&5dvrZe1~UVsZF&$)eDzF4Vog{+jLgGg_rm?;=9wQU&Sd zDz_8q1>_`XyPO7$W&Zj8=hA-^B5my`mPgX=vO>RD?#Er;^-r_p^`33m8xWlrq>pg? zm!v8HWH;Ajt4f-Z?w~t4)WEIRfu`ez4`L)E-UAl3wX$i2hYUnHU;xu2X5tV2(@CR` zN(DX4jg^Uw|6S*1Sss5dT8@u3f~yew1C;<~etWimI-sk9Y3$)JlPFm#L;7ZFUX51e zuI%G$Us+L%3w8=jFN@+F$0eAPt?naa_k7a?(19Pp^M}0V3sCOWs?t~Vq$1niZ(!Lh z?VcB(3Ayh<^SBHl8>LIgH6y!7=^$Jdk4@U^uFl{9!3V18Q5UY-rKt#D?ci8R=aD6S z>rtovt3(~cp#hNthq2H6hcR3(8?$AL?OR~0EHGyC>f>jvZ~pk>tLx^t3dOP)-;6O? z-JV`Hz601rb!KWOAQ|!SOy#4(0Ya7};v@wl-VZnj*K8xFY?#zOs6r#Ba@pKTSJF96 zb|)n}in@ULd%}+I7BHdoYkc-h_7siV0Ie!9oA(>oTPCJXSuzm9pdMj0RP- zj};3pmh~LJUgUFmGKupXIZge+J(MC?$+s%#h~z9*Ztl;$4@}P8dne7~)+mZqH{ziv zRu{zCTV7$kIH~(&b8I?3=Af)~vzNMBXpVodM9n zRdnUz?Q4w;go^7DjZLGpCNuca$b*>J^dvCYUN^?7QO^QmS0P}-Zo}Ms@bg-s^bX9- zk^LS*mZswmSBqBOm;gn?ILl z+wY@BK359s(@ZczBAQ0*-W}bRiMjdIsX3}W>EDIJ4Ov9O}JoG+AS7DmmsoQ#G2khi{=|6JD?;t^Au+!wc&O*$V*D&r08OFyFUANLafAM_w z8?R-ZwzKx*4OH#g8lg9f)44b&k>h`wPTXRYNZ>tH;kMOpe_*9w=C3IA$>)nF&sPxu z7iOw#<$o*CnC~K=>On@$VLh}+HiQLFBCNS?GKtCS(+D zNX+?MF}UT`cZ?)msO+kvMBU+m!6e?)ouN|Hs8`ij)8-olk zm)P6Yz|33x9ULW1u97natwf3HTd+jq=*3qGpj`U?v|)wAumL`W9JigN;D##UNETVF zHd~e+Ygv-0WHW$59--S?q_MJTbrO-t;3wh$lhJ<~%PznxmQqC&>b5&cqW@Gg>nivhE?OcJAl#-Q6#lEyZPRm&uhD8=K#hLrXdg#4X{}(z!mG$`T)kJgW(EX6{uaPUw ztDT_{8|H&1ogm5xUbl0J*Y9YWE-5iL;PY26@Z$ux`u(`5gOhvkJULBfj|6Ex_x`U5 ztuwE<#JgNcN1+jk*~Q-On&>?~C%hA@g|HJ4;25n8XvQv8Uxx>o29{{Zo2us&^SC-? z4-AzLYZXJU1P4t!&sX-}=RrM7sR2Na%9=S48|7&%c~CW`2uwiyYm(Y6 za#mqc9qXf*DI=y3fOUu^nZ#hGk*CoMgK?Aa@vlj~LPQ41zV*5+1LuE=CahtbTS#&G z=}y-F$Z2EbyUBFI4N2f7bJw_}Tog@)t>F$kROsTPk@=`MkY6u(!apc=hCV^sN@DO@vm`#3IC!I8xw zK9yYDS862%I&=oh1Sck!dQST;6D0g<%I(rxcJ0bfo7vf8fI0#oV7;;RUO+_FPh*IC z`P(-Om=LIau~1AU*7DcSMj9UcV?{p`5q@uBmP^=uIpP_MsXrDN8YT!&tg{Zzc`Bv6 zd5Jc@X7iP>%ROnX@bjSA0y{ojSZ*_OW-~F#Tn-AK;rGkCvn0uxyTQI9;J` zrS@HK|0TU#w;Z~T{0kaY;1E9l6Ujyy(eG`0?ciDkXJBbu%ldsLJOUB`aj3AwYz`+dzSH_n#z8SRo`mE;?9D}`G(6a8{=>p2lRp6}%zzfw6NCax|6 zhxOY#_J0%7V)d||R+nisX74oN{ic4Gebchpn|w+0#55PvgIZBl4bo$&Nv59#x^E3H zRyet!ixdPdeF=mjA(!+GiQ$gr4D6QZ`MEt5Ic1Q^o8CAGEyDYsQ5y^)7#iv&C@$y_ zsbuWri->s)4hfEL7pN)yBFS$htRp24f76y5)z!hOj*Dj*$Bm?c7nv?cLH;J;+ZFI( zi-fnM)0m}e3F!cjaSP-7tz~K!Q~^h!?ULc~WHmR`G(Am*FO51s>kNFXE`c{@S*2m0 z*R(!)Rs*#xRi%TyB2S+Yux8-9r_Y9?dcXn^q^1Ig>2_CU#B)bEVrm}5)R>s`f<1|6 ztM2=i7Kp9Af;+AS_0|h~4qiO^bdPAfwKhtW7>wbgsQ+9eZNa2Lhw#=JV3PD}Y5zdk zn_H43&<=YudwB}6&K~IElKA!#D3M*&Kb-_mtd9i8ff;8jwQ$cIw#is$_LeKe8DDuO zi?_tKFub{+l;p2R+#qrPxrKhjy{RkVtF}G=L5`3I;=j#^+(5#pR_p3`LEw`d|6wI` z06Ruf<Ev@oV{5;72IQ%AOb#FaUn{Cq5~8g&+cR-MDFaQ@}Da#{29| z!Xb~G(6Uj)A3+l!F`a+=O4=q!wrG$9hK5zlIcJkuP|C=uVeV6I$S{=+W{=kBg!Q$hGqjA?xx_H$$tN_KD#@YvABnvb9FE!<)G&xXt zbm*e2l34~=Y1*$fCUhQ%k(mX)dOh}+j}aexjGgy-_5z?DZ3z%=7f$i5g?MLTV7xNO zGTKjfgN_WXSEVMoAgxr6Q{_A)qZTLipl&`#4Go?B^Y|vmmuLE`+wVqcw8$has6q*0 zb)s+Dpz5R}xEMh+0|#r%+e-&p+?zd<>FKu&_$z z)xUsxApGBdGU3~rk$?Zwz}E0!v>YP?g|I-l<3=&z^W73w|8LbLstSpos3#rYvW<#Z z^OzFbEUM{aC{K({-WuiX&5x;NZ~oTrhVuCm!1{H@-nI#+0n3x;jkMl1lzHdwyZ8=U zP?MX`^sz&gSSnm02tWe2)XEAiJS7MYb2JE21>x2+`_IbkYWw?RhSM=+J`8wdKe;Ln zpqOcx3l5J(V$yk$oL1nvqzD0Yotjr~Jb3y2AALN=REi@$_Gk)Lsx9+S&~Z8m<@iM z%VQcZelZ4J$qG>+Ucl4k2vJkWy7+`xuTGmhvo!GdGSqN|Sv;-6uhU*FXIxpHCKMwZ zA6TR6puotKsO)OOMei}4zy)oRt^Q*Mxh}mrhJ}i-xEgB~ z^e|f6$vzvF@Y5u)7}@sl+dHJZVt}wo>q#ASv_G40Ny)yb`f+k=RB43;R|!o+k_CGx zmSqMnWhI3{=~5bwxYQ++v6@>lN98A`84*jZKwU%~F0elwKOf@FY6|OIUng%=#3(FRbB9bdSqLRJ zEQZGS6B$X>5B2X?=>(QV)=F8~0R<@63^WBC>$ z4Y3$HfD=FMzvA*(VjVDg$AT^rt=0EbTrv~Pdk+F|cL7xu&Ma)UiMyS*%<$U4dw>Gi;Et7@YjvXuPqk_w?k(FRy%tw!Wv_svqa^%9#lA zI3S|*aJ#&$aK^U#^J{D8&GoAw*dPL~WU6kNJW$+%*=rfQ?< zr(F~!t=)}cfIqKG9M=9(MYH-NxdXEPWge6)Cs1Xz06C&^^qj;8x|+^1si@usE_1tJzEb8=}k*fI6-H5FRADV#We_ zgD_+S?7M7O7v9;M6{kSG8WsV|MnF!w2e?w!j9mCE7eXrY@5i>p7Fc@GKv82y+I;~x z;^Qh(=aoF@-T+zpB-0j^+}zKcer0FcXDbIKCSYJ_YggiRkqIym z{K9YS)gVJ{``;__pGUpQzohT}88Iqw4=i!V^EI}p4z1L(oT_8DqMNS&UL^qHH zp7FLA*y55=59UV9Yfvue8Yz}~SqvCdBovl7y7y$VR@<#mH>G===I{TPlim|1)cck? zGo8jUU)Z>|RumT~teYVHxYrdzzAfzx;)DkAg`V-;InMfRfX}N`#kB8emUxHkL+`7T(bYK*mo!zd;=MXAmuhn# zKlvL`lj@-~+D{W^A>x{HLM`%b(jw(WQ7xS7vC_xSn21uzItucXU1EdGroZFYf(P2= zY0i|G9*Wyeokh&BsW(S2O2{GgrsMSs-thRfrehZ8N5x{$D&Lz*Cy0v0*GVfm=cCgFQSWw=+VEbr6Bx$JQX zEaP|FTMAfnbPqHvD3Dd&|`|Wq;=4a^1MdrSw%Lf~j1y`rrsf`^= z27N#nAR5?FtxzYdm3ygs9{+De%aQCSd$5~T)1s|zr2Sgo(GOu93NQjsg zi#|s^3$ri<326c#oZ+zK#fO3g?jK&*acQKg zo$R0_*iUhI_xokMbd?#L?Qo(vh@R(oizzfL#s z#i(@?TeIs5l#qi9rW76y?70?ZdcJ%~#wwb`CZ)zqE2)dv7DZI0!9(PJqQrhjla5=I zUs|KF^W_<*!6G{&-fu@_q`xh5#3ete|GXrWrIC>1{{8rD`g!%B2LQuYJdyg`(r%#b zV2we4jrAxeLP8m}@BCj6EOWVSb2AngnHcUgR@Kzkw@p!`jhB;pz~cIT>5eOK~haO!4A z@la3v40FEgkH2i-jG$=@JGd!3kV8nzBedJJ55))UM9);^{$&-zp0^(E(3*RT0BQ^< zfuUz>oF7PPeitQ;Z!CK)io{eE*X+I%-YrhH2jtA)Ta+gSm)jykXJ6&nr_Fq#=aoW{ zC$mXqm~k3!>n34LTu$!tzWxhOscmB&Fz>XZ092SsISrRiS#`wlJ=Qum^Yfi%;T3h# zu#AL0*BWS3V}pF`*VLOkXWxyMB&0?%(IE`kmd2qE9Fs|lU&7guF}Q#k_3r;TFk{A8Pb3+Q2r!wQ zh|hsx=JQ~nz~V{Y=ZD;R-{1WQ{(Tg3a#+mpA1n(K+5gf5Tv=|J12uV<%b=gG1M zBHRhmFK4(M@JesM-cN5)sn4F+lRlOGdPmJ;xE?Mu3_hA2BQsV0r{cxPU7D|o1hNa$ zbSMU0c1Nt|bO~u~xLlS4X5IlRSsyqzCO;mbHR(@^1#{upxseVP_`H5bX2-WWMw486 z!^2Ct#p3ADCSe>@TH1AVe%^iP2N44AJ0#%ihGx?o7IcMjiyillPHrTd7Y{}4Hilr@ z?eT+<^DTi8T2pK&t=J{AL`DQq$dQn8=BX-K1BgFPek1Ru|GyTp5Ba@)X0JUz(YSez zA1wbR9$4$vncsVQ|6=fwpqUuh*_Z4-tlwaw*@DnHta5UC#w1f#ldgn329&b#Nwrvd zRQH*?<}{aI-gyrS@*(7DUZi!=rkXECZtS)9)AH)Be17i59~9X}9y|Y0-HRIFx7zz# zEj_BN<>gLFZW0#jEL7MRoPF2u`COjsj^Rgt*8Db{UUpDTbI0hWwHlpEbLy@N4GWGM zobY?~hn;orNYxiN2W^BLjzYJ`C^8dlRUny1$BwdNk0(LGxlCC463|m=(hmcecX9V` z$+G>Nu%jg}YO;;2-H|2P&e^ay$Se;JkX=<&pPj|h z5Kn_$m+XOKuKAh&dUVD_Lo}0r*54Mf?vtJ>M z@TAoY^7g@M){6HA=&u!L6((Ni1Jrw`epEi_-6wz zxu-6j*)>JqmkK~g<#X-QmZK2N`3bDhx!ibBiqyUc zM$;k_AN!(Fd;s$2VX+(V%YXkvrDr{H^BQq1O1% z%EM$|(lI2YQL|AtFfUs10PhJ&)X$2V#bC~zqV5q3_M9(DiUY_Nescqc()Rm6e9j^e=g zhyoc*p+Y$5kShba10|6NXTEc*-{g}sx7hh(Cs^z%`ehQu1>Jr<_;huw5M-iD)sX1@ zLCtsOMI4p{ul0z&KRMsMvg>d{>Q`kNSLVz$(yC0USyIL1z^$;W|-q{ zxgQsamAKAk^yfiPpCoT$41I|C>9LMRIA^lZeNT9eMsV0+U+RI3q zonFp;G>?A0V{HMZ!R=N;I^~U#aoJJjwF8lFZAz*LOP!onQFc`i$x{fxaZ<)MEcqB> zR<{{xktD~`Bzj?kD27NdQS!E{u6;$}rX%u8mQH7$kw~>(eY5yyH$HBUnCuy2bc+%* z15D5bmjl+YXi!Jv#Gn?e8uH4>DTHI&ePm(+>`#|(ut^yn*|1P^PZEm-t7?N)*JqTh z*`Uz2!MJBx%t>f(n9bUq0A{*^5l3wE3-M}hAi)9Lg+|EMH-e6H?}a$wgVdoBBl&Z= z;YB7k;HNTPfkp5{7lw^|Xm3+9JJ?xiCP-=0S2K1X_IWy9sitk|Z&I87>$m~1+$S)d z^mrS+V!$|)*UE5XZG+tEni+=c7=&E~bJlJFb=z^m> zH6lwh`^3T=>{-yFCaT+vl>ejXyu;ai`zYR8H9~8ZM5$GKC9$d2 zimeD*dnfj$+9GBsi5Yu~6{AJ1YHN!<8>47Zv(#!8RqgN1dtLb}`RmD(JokNn&*z*Y zbZ2@~xdu~ug9oDN&vz~#{*(gYn#e47xn$4AOZ&x&{lG;JgaP=Ta2M>$rc5ZF)|3U@ zhHjKw(R+Pry)>MpO>^3BlbolyMwy$=;$ry0FFl@M7%gJX$wHb_ z4%kv12!CZ{gfe=4^RyAnX1ivjz22{#h|wNh?_A&0I84E*;|&QPcQ*aW4(y75oKTbN z$5%6jkFKUxlOV-ks=pUmpjj9D9#xWRBF`*wCpi6~Xc)?g3XDw6RU=R zL$?-1*R`(9c$(`j3AUs#??m-K#kQjy5WG@m?hLLl8k9$K^6rzhozL8v7CV|V7s`ab z!6HZgT|y0MR>guv_|Cfjs6~!B+gyis2Eh`>$ACaLa{~Rl;~#hLetx|(wO7q>^GkS4 zQ`8|UwfW1pry`Up-!7yc*{{8OXh8jHYIU`(WM4~p;kOd>lsEMYk3x4I=tHR^s;)D4oyV2T0u$})LJac2r&gNzoL{Sk z4X#V0uR~k%nsmL?Bxsa0gL_BUp4lBF_NA&)N{IE3ea)Jne2@ci2}-}g_pk6lgWn(1 zgqvS{vc>QYwSao68%GomG|p`bEP2Wbtj)AB**C_fDH5*!I;FvBXkARc*2p4)`*AZ& zsO7by_sYYMuM0&n9mtz%WYCOhXkNq}keco$MP}F@ca|_Q5tcpZrJ*6Z`H=8QNBb~W z5vVofedthaA9w3DVB!08&ZU7g71P1-Ht;RZH`@}492p;~YZ!HbbyG%@oW`yHF>Wob zPuIleJW_2OpU%<^s!d~WU;8RoGm^VRLM2Rf^_uP~m;5_=OylHyGKLJoHCd&rQH5N} zE3}^^;+g^;TtJ%OORT@KNzN}JCL9L&GNm$dAoYKdvYb?*wUlSC4R7mXFx8$@E@;`F z)aArPc{O}>1uG@CR3_eS*~Jf^vLW7gUa87Hk#6E#sh>^Vod_Jj+9hMMWucBJhBfCn7*^$ zu1X*O1?@TM`s`5}4s0&uak@#_BngS8wi}TpTko1EpOT($tv>0*s;+AeYrk}Y_TVRS zZ%zPv*P%~1D0$2j>2qhc>+DcBD#v%LmRWZs`#{7?@!rHFPhlu&TsZsg6@ZN0Au=Cx2 zeVLE$w#rjW#lCjBY~f#ALh6w?ugj;joi$F1S22xPl*cFeG}Ro z7IrzPE~uX2Tl7x=U99(|{L1ix&yJPoe1CvV?z%z8W?4!R|71XQY)R}x}S$i}!4o)*$NHgau%X7!&BLV?Ta$c~?|iTwG>2&K{AT1+gFu=pXDX zg$L4wy`nB|Fltz$n%vN^Hs-98WQI9b5>>(!cy2UD**q%k?Ofddgg~F2uf6j7Voy#s4jjV-7H$yX(hl#Gs!qAf%2&U^ICrX+|jenzu;P zhf(KefNE3}jP~tdj4QCL_o(mFLx#1vVe^%{z+>+mISLf?1 zN7U5`MZA%>MgwIXg<9&dA!aH;(@crM8 zoyzrFV6WCWU69M-?g$C8f({EfVpc&w>C2#u-)ar2!C|_^z&y!*3~x-e==;y#1UcM; z^`EZ~9kku$4pdcoAe}jQLRe0<;1YJj(`81&^78UuJcD&Mk9)3FhW>V+Iox;}g~>FD$?FT z{UJ!j#2g4(g^3!kVVe=K&aWA!M9=A|YwrHUTf%ND=3{JL>TIe{^jT=UH1neA^8zSz ztOaY28UJ7lMx>|!fl zr{Qii+Wz&=^0#a$5d%xZRhR?FJKS$n*7x%=YkpTMYB3e$WsP+QUVSi7qPxrfpDHnh=z%_kSQ_*(pD0r%r1n`SZYn*MJZmR2*Ry~9tce6Ohs z3W{W0Dm}>r0T^OQ4U`l$KsCvG%Ddc>tx2Ehf0xGbkl`sMB27wBV8lX*m*LyuF`NWT z4J3y#9gx@xN#-ALTK**Jkjo0s7ik8oe=#L{A4j_oMp@DBlpOcB0BW^0kY>6S>G*ZB zyH=ZU;Nz7)0HL00cKDgR9Pn>aoAEV+8;qa9r5Xmi^EnL|JIlw9vI?QHST?`A^dG|2 zPzui=onpfEC(^U;JNO*K6-hkj}F+{yRA5WZ7MH3n_K z@Fq7R40<>-i!!zq)CDMLW@AFnhvbfh)mVKJ^#pATM?z2^Qtn74lDr-b8CjA&bna0% z6Gj2^18I5zY1(K>594H58$r6ftf2pBD%-mfO->aZTR^n^iAAj5mHgZWWO;FF-9<$+mLi2tUr3m(|yFU(X(sIITRw z5P}8D1XCOY;#n`@ zko=!=wUUY1WlJ{G5qUf_ytg$};^Y1@fM1b57Ec^La=Jn|W6H}LY6WVSV4cI8m}KIo zB$+d5NdT*?5Ym{_5(Ixwy=)i*vqW)K)=AzQcK>bcuvuXp_VHM$JrAb%u2F1W`9ZudPI!%|amFtv5998sr$a}be zoWV|>{$rcbmTnulDa>3H@QVTU^g~yS`rT-$T+Zf%;hxfURnu6F87sR|^=Hn3w+UZ^ zAs%a~mP5OybqyI1OD{RkAE<-+7zmR&hX{i)XTL6}NMpr(h^scGQ*@dp%jaE{;vgU8 zIrF!2NR90<#b%e#n5Jb~Qta=diR_upSo;{oQAMc+?G$+@i?>|b_Hqk?mC}E(M$y51qjD%5NyLr( zIhdcfHdx-0{*8h*z}5?nSD+NI9E^)QA^mlAulDz+^_6Rc`v!^DY){}k`vLhNnx);u ztUW4Gauk-v%5IXZBlAnCtSa|YQI2XVjvCC2E{!b?jL+xxFV-G7%GON*&H7dSJ297fRI;&D)y1a;&2sjR; z>Riv%7uHD*6F5I7k@fb`w*-%a`H%CYFwqnsCYctPh+yco=uh=m7SDOHvrUSD-1>|@bv@Zy`vxVu9W%qFTlZqFJhRMBL>kPd} z?BH8}XHCSIR#B^od{}E0M2bL~@2jnjJaif$=MOTr&RAMU-Hz-LFuS2o*-}O-9lFF6 zks{N`Wc~eHu&FbMXAGwChH;;J7Noz9qRezT`m+)ljTXc&*%MXo_990Nx*=F$IhDlO~WO-rBM!x<~d-|_`)dh$H&^B+eY zSF;8Rz;lz*0-~iNk3#!#jXx+ECdxquwr_upKUA?W`g$(nSG_I!XLM*OR5|Dd+vQ8m z$*D)IR*hwW%YtCD@9q2nX(i51;}^M35lHl`quqESXMOT>e7ao+gbv8dREN3!rBx)d zy>E%cq~`+owR8l(v8cjT+tL@E^jv?Igd zFKcyJAK-`CMtzp2pgsM#{@1FCAr9YxWRUAINbtz|N!BQ?@*xNGHW4`4Syu$uJ1#N` zd{f~#ymp{;(5$2~I38wSKoB$M_$Q?WyWvYM?SfrOv)FmUOOIujTw;xikZ>pgJ^Lg|CsKnoxLDC7(Dx-vENAm+>B@3__4N4dn+Rp<=!eGwqzDjI~J)Z`0_w+$Q@gyydOt^6J1~e=V9AD0q1QJXF=GEktNV#qonRCxlBQam% zW2bC_1;-Qd?ZPM;2zf0P-*>@$TsM=7SO`ctgL?mnmMRs}b|XN?0ELACcQXbLs-HHG z`;YE6kssP060V|k-{1?B>=;TUUg6(0+4_Sp#VTyLQAT=X80@afrAQdul0#NEu zdM+UJsPcJuNddApo0~Ic;CR&CO1SdAe-z9oA<>jl@8K+YO-%zrBZR)$D2GchO4E;X zHp^>Z$nPEMgx2gj?L0cb`JA@i^KQ}Od;gwa7OEU?UafU2!YXdki#*IYj!^5EB%@jl zpHM$cjb2;R=TI%m{^VW^fG_`N>n7HZ344EFHb?TV^KjbhD@@1a)4vPBm2p+{srYRZNaOuW1~E>=b)8S`*`sc2B!7GvJs4*x8ixy5J}75kV7vo?-1(7Z zD0iJWErg}`PL}hsO4)i&;I1xW- zA({Z71A=6=IO`dssf|Jpew;ITel?B(R8#N%Ga7m_6cJ+Z9ha%a<%=P+7}z$Z{62P` zOKu^wqDVi$PMpH6$yv~JCi00W6a|~>@GjWID7tz7qZ_BCZx5yJ_UDR!@u`L|6Ccs# z?vdwu^-LuTmWbiY7u7=hS(uQIZYQD7UO#HNZqu*dfAHo~LIz&Jh|{_S*5#rBGQx8_ z=PWl0*IS!B(@h1WshI_Qe$qifA6l}&nK6=b;7MH|QeBubm@gT9XThr#wTuR8Fm|d@ zj&?Zy$mNCN8Hg|y?CO(T4R7-A-DGz6)Xfc6PK+XRjz&g0WNuh6WlIFfD+Plrn9Ha* zh58Sd-0GGd2io7k*G>Svt80JqhlT5vuh0k1KZRTB3^T~^9>KeO19 zC@dPYJl9MW*q57vA(K=4NF)eCGAvrE#fkMZPzLw*g^k*!e69v57fLPJ-(iDjan+=z zY?9fl84gogIST1kjW6oC>Tk}lx?BR9Shu{rn+)x9rgCRysDc@Cz8uP);*s@QP$0U& z&?4yG@-wB_8)Z+&s&t1ZO*sYdGIhVeP%5DRpXkZ6hg=TvJoJ+C_BJ#^K3{nubu3o4wlkc7oGUoyp#!S=UCMt;g&noLm4+C^ZT8zHBbE$nwx0aA8O!kSY?f`niZ2pixYV^LYYF0>z_nFLRR`s%cblKOo2 zjc=*irx!U3&z)H&Mb9upElNTDO@q0>y$TtZU@#Kk{cn3L2bK+#b`m?h7( zD#MZaTai7mx)xDn~aa0DG|&04{wA$(!R23sq8KKryIc4L+q222?#6C>GL}EFymY2gV z*{q%s0xyJMX3u|FSHkNJ*H^83*4zH(n^#jHRI@lf$k?y**2@3Xc+Tnbe0Pm8T7BTS z*^y&z!Je4phX_NMYlOu0t)WI_>Nsv{tQsTgLbw{Fv%sKKK52V=z9^g%**Nrw-fuDDcU?VpQ>@ z0r2#dYUGv3tprE>bv>7D8z9stoB<5NV46hrnPpg96U96eG1Erc{ZlArj*Azef~W*A z<$(HS+A(8bNT2@?_r^R8*Z0nzhNX`+n;WlFQU_}2QJVX!;D~UYjQ?m`*7?JVAVibg z8J@rwk9Y)QIKCK$C>H~luI-Fqe~u?6lxC_@ajy0^ONO$X&aBSc<} zBF4q~p#ojH0>!D=$WB!AEKbr`TXT9WZRT6H9Su{hJ6S~%bY^3ddcv*gS7n?^$C-Ks z8+V^V!b-70C9)NkDj&b!cX2LN>kx`>Z-P(?ghc^b;hSWyx}E}Mm)lB4pwBQMojOk> zM^06`!cpa;J@M_Y1XfAoqNQ23aE)7X4?(RR?gdW7pngo-Ym~mnc|o#SxPy!m?~7PL zC(7MZ+Svm1yr0lp6NX<8fHTh#(C zQLY;2GM_aFRp>R2Lj`Pq zuDS&Q_9(R3{6cg5*a^`Yz7q$yS~jEtst;PWuJcTJmdTp{8bHu~13Y-6wt-i(-rQ;2 zoG;efiX-Bx!Wj5!Nd5MK8xT)Med~g+Se3hO_b#=MR^;`l;Lh=4sO0`?(ieg~G1YZ>*+SU5qUo;;5+K8M}jpdX}W$4g!T>Ap| zZp^9uBT7dN^e?1F>!$@Mr(ZL!O`FLY%Ix%+7e6v&U!Ze=*(V(?gL?QF+9aW5|1Xd< zTKeH`3)FIaJe&^#i&am;n94cA`qn9#iTy<*E!dT30g^RUYhjE|Y z&Agd;VT)vqKmV2Y+R!xMV8y_tFLE@eLWpR^qU4yN@viql)DSJeryif<>5}ZHOG&q- znfxx?XNrMf5=|$=$e2kM+{k~WK=l8=tqCNJ@B7WYOoi@z^|ok8EvoTYrvApill_DW z%#k)f6VFYaEnGC!QutOElkjmknR9%s@_I7E2_}aoIcx%WERdCw))?@a*17s zcRiZ_xE^wAIuS?GC_A){wScApqcn_9s|pjw!zATw6yJjS04bd0rUws{fNc1F0loP~ z{xO9c*w-UARUcj#fST0RLA%R*TE7lA#L$G0&4(r|Tnlq%%rfC_Nx4n0TWxl35@h4Q zHV&I;x=E)Fo$V-1oY|af5FS}^YQGp}Ptyp!l%7>{7{d7~Ax*BePp5U7FL;*YfERSO zMR))L_FtYu<+6c*36U64W0qIA&PL{y3f1b1^mCoE)a}Jk<}e&IkuzPH#%)~0s@KfR z>@NViL@n$eY)TGW>-~($=snw5-A_Nz2BMEnmE1{OUkoM`x1USjE2fD^ zx$QG#h64?`Oo0(3%Q+*{(Y4L>vh8)e9@Oh0zQ+r0w%xRO$Iol*R^O zj%XA8n>#!yo0ZoFe*rwri~Gv!vzu~VwGqBGic-{TQLiNE@Im+3psKRZ+a%`j)k_yb zR%_q(b>e7cE3){;uiZ<7Sf>~KIC*Em5I1w&DHAVBq`q<$0p#=`X@I2PZ7K9GfYnLK zdZ#y?pI69E(HofzaRe77^l|<`#nw`?l-loj=BZbTo=~mJUlfra0>J@Ej{dqmm>FSv zRR5pth>zX0xB#xHNIYN&cs{tFFd22f-7b{{;XUO<)5;(6BW?V95gLeB(wtTawYTx6 z4T&i=4X$}Rx>*|Qq^@%Idj<97o7Mqoa9j~#SI9#NHJm$Z3hiksnW^DI)Ku=osmIb8 z^+i?7Inl6XTRZI(xY}88W2lB?6l#Cqv%W3dWM=?J@08RKbAc6nZ9LU zY*|abrs#lI8{ZZ2pdq{3>vT$FOhtW$EFb;5;BMp$H_Z_%RCo^nfN_8~71q{mL+nEsQ4E7j# zi0@>RF1$V(mNs8idpP$V(kSrnN8W>PHxE_Z?u^5U+xvH&{vg(Sr7t!YCOof_N*3lH zt>ujX1yYk|R$7N^a5~z{kt~qo)q=DcW=FPzGC6a$o)cx?3ZjR3i{v*HvS&v)Jlr_u znsKQ9l%$V)V~LqZ+T7Dl&U1`1XeEx}Y9s3Ph$sqO~VYRYqLs`ss>w}t%+JB<$6Zn<8ia=LXkOb&oB@Vn!pvSYYdjrGBV5Lx)i`5LsQ1-Oyo%*l(%; zS0-~+C$oH%+%F2%v$gZoMW0ZwTa*nfuFtpIXRN!eA10C&KS|UuN<6f;rRyt4(K!9#y^$x_4ddBy;Rd?&eb?8On zGH@nM8cGpU!9~=omgWW0d7{+w^w7- zpTfB0opS@?&WTjuB=&Dm1ex8_Ku{}qOA z70zZlM7k;ba{scMCS1~GTk3g0MqJ0XF!#JFw`##7U56ez2|&7K~V@eTJ}o5X97 z_pJPkZbaam=?ZEGp9}nbrjU{!h`h#D&Eih70_8)8>yLNuLuC1risP>JV?bcd59SlR zC`#n4I)W5~Th~O7e8J{Voyk5N<5m~=k`k;+hWnCo1FATF{o^ebOJG0~Z&q(-Zsg{$ z^SP~MIh%=}PxHFof-1Lt+(8~qre-Batxx3yqp5(=6-;VTu&oUpJ)nO^=9?IyLGo0= zsOf2^`GXB-wWhrqcC&vzB9Wj{gJ zUuKOOea`!3Cc$L13WCTY*`h@n%d|*qWS&14tc0B)C1(aArp*j?Qu`0?l$pN1F)q_) zuS{Rh!2Oo5+&$o~=GUi^q<9oLoA0Z2Q`RK!Q~I~`^~{tB(qH2MZCmcI2%aQ=LxW+! zL-gct=|C@1LT;qvTB9NVJ0k*N+PG>n@yjGI{YbCDrPj*5m6R88YT%Pu_Qq2b;V|5VVT?(zhL)n#L?`7|=Dab}t+6T2ZRzN1d! zEiacz`2bn!!V2Q&QAxZp9O~n{1>cJvt>(?d#ma^Yw~FSK_1ll0|8n^6(j9&yVS41< zFCPM=>!N$kC_ur4xFnT>ZFO_E9RM`k8g?@<$SF|JB3q>8NV-k38i>SnNM^)IZd;j* zi|)9h0K#_Ea6P;&a|2p9Dend=DqEj~xuS!~^PG$i)a3q01|G#PeUVfX5KdQekVKsm z#reYVoM#mzenwjZmP)Q;86Xc;rI512RMtMjxi+J#J8ucQUvEW%z#D9=infncNetMK z%WOxc5q=`9eIsOML>FIhdLc{hX-{K@_9tn+SPSb^b~)WVNalF(#i7HY3iE&X@QM<~ z7Wvok2a4LR+`sfaiuj)^I)M;jHZfAbq(IY(8CW zESYFvoy@??EJe?OQAJU!gWL%Y%RhL4Z(dpKuQ*^xHudD{djHcNOw0M_*<@=?#PPjG zv-LUCdvf+$e%@90gY8FCmTUiPN|IF#_5C^^3Q@>?cjqx!_2vq$HYP_puF%QTOoBPH zXIXpYUz_Eg*|^LM8804&QCoUKI|2#P0^<*G^HsiI9B5(Omt#%_ufG*Q84G-(Qe8D9 ztQJBB>rLQEuxfQ}A|sx`ns(;gg_*5kzoUNn%?K)4IwO>gSM z`v5#Q4aXDb0uHO0l%?!GL-VJ=jx_UC8VJGR9`TIi3i7}tk+lPeEI5Ii(w@KZPkbru zM%>;WPIp}I9Yc*1mZbhZ{EQLyi$qCwGpUXOWdWb1-kCSIdCdU|M;1Bs4T!#ujFu4gN~;1@lT(OcZvcYSFc>9Mr09#-Gu&sg1ARR47vQ@+H}dMTuh!CJ-OY9GS?UXm zEE-DLHfMgb4dV_Ah5CxU0a-zsBpddbJ)A{rjnbvWqNOY^&>Sjf4Mlswf0X|tyf&UO zXVb^ZH_Y=6i(H8b@0hpU??*l47Ts7WVPJhL5*r0xAG|&(l()ntwgDhI`wvC4X-LI_Hd7v-L$3@+*qH*QI~SxA)L-cd$d|r|&4H=TVVY zn^ZbY>0kxM#b|A3M>EgvMa}Lp!$Du~n;7c7=}~he50pmlrs@y4#R&?&g%-=J^tX|E z`r-QuUl4Ncq)xbCzlRkO=9)$r^`u;|Vn8rkr)T)2L7(t&7eK?c$szfy>jBW%GCqL^ zZ@tHmy&j0tgH2f;A;EZ2Z&n?p4Y>qBC|q?U?DM0coAIKZT~g|>2^oP{%z)81?{=Yx z)MpwiXg3=B`%e}!d{Cd|FHCOBDhp;00#ij|^Yo?;+)~NA-}fiX5JyTk0JdZ{d6=GA z>)poDeW>@$e6psFp_TjM{INR^w05hx@u$%sRPYKqy0|h4706fBvS@Pc1R9)N1ld0p zt6zLIOtmPO8o7Y;$pXf^`sXp4dBSDwDj0!nWqg{|U{z5UbIEOmsDu0C z81r~!TwxH@O`FhnaRm@Me6Z#61P*A98-=(~Wxm&mqz~@Ryb@{^1%b*Rcis;5d*SVx z)*D(ISv5!C7+FiBbND%t6WCR?AJ!qWRmzNIY8p?Ii(@30D<%|7x;DlxSoZX!6;(i5 zJ=4}d<0K8{WL@G0O2KhyAFPF3;GhvHX%(G?1%9!>9csDEywrH9KR1t%1|+rPY3+|w(^49QXrbFb?IS-V7bynpaV z5mCRr7=d?sUWB>{le^`Ig>Vr8w!qZs6X4RYpc0w zo%fa;r;wp&?1uXnV9#4^&)p=|Sk&wF>V-F(lZRLi)Np1VS4~q@kj^Df);sDrIDCJK zr~ma}EgM_D$8dLQ1ZeQ7iI3f$jxV3Ks2UYd79Pd{ELskK2-K-e;7(r0mV`28#Ljb} z!fst1wqkzhY5pU76ZDQSr7P8R7?#qKYw@~5yeO8lIXu3ETK}U0vx~4g8fc*Vv=(5Y zJ(l2ih$`qaPhHq8y=I@|mE}&i{kKyJ1)oxo?SPunW8ndXFb;$_?Er@LU7rOTss}5v zq<+Z+itvEq>&8C*?H>4G1BZV*`|l6^*`QyL`t|6CJuSW0s`Q)$qaBsO?oK(pHwsWT zm4|Z&Kc+*Ul?Hz%_XAkZaagz3TDH3V>N>$5BJY%(+!3ldSn5{NjFIJE`q_^R9}3$p z3@uLgF=ih+`uQ(uDrk_y`OmxaDU_}_;peA!r{4&#oEfKJgI@UZ_MGy9r9g+I3McEf zz>-~yt}Y8FNSn$xhuEkRRj z*$p+A$`8A0VTH17^X>c&54&#; zw=E){alg%0+Ol#3>=utl(-<0b=|5J>M!~^uZ)-$B!Ec@3BJ9(lf$9RQ1!CXH`D{~) zcMUeUR)1cwAq#J2^&;zTJTc6(L7IP+gD1j1(JX}?QHI1hskC+ZCEJ8+ zlmro>5&~(|!0`XV|K{1gJ3`G@Zr~N&B_uq?W!eqx(y9(D(d1~#+gvV#RY!?f8KmI) z3j^G`&Zo}+-@ z$FEwyaE{ZS<0WqAN?%|XdzLrnPX{o`Wis!4n3Fa~0bA0B~L+rvfS z1}C)UZ)taBCTd$GQI+?Xi&`?8XVYFNRg4bH`Se@t_Iel$PUebRD};P$sVc8~8u_j? zplkO>k)D^nv7NKLIp^ceAA$MZZutRuhrVOp)A!z9`INs!inm)n;({;bLndqPZIK!r zoFQsgKlY&kan9H2HZuP7+~XIJs@4U)iush}d+V*QpXpt3d@Cx1=`fsceps$bm0K6~ z%5F@HszJ1K<&xrgY^9T>!TSBNd!7=iHoArD@7ltr|Cl%#5Eg;}6oKG_*kf z#^oaV?NghGXMIasZlb0C-qXJL3}(q(7Fm9&Z1*O%4|xYHT$FFu@;yC7_c8mo88^@+ z8it(7v^OQHe$2}FEI$F&kvW8^?#CbBK#hZ80h5i6;jdAdT}R!flfx@d5U&=2fnIsj zK=>x6G{qU|Kl$Xt`1#6=nWsfTD-rm&F~8PI@oP=fo420^?q(CfkxI&aW?zA5fcO4a zXMWX>*p!luTny6u5%ql=(aL#N7jK`pX0;(HzC%gpC%$e{w*!S5s=~WN2N&QPgGvP- z-1zvo`oEw?C_~i0^gMPj{wpC~J2KiEwT{lvUIZi8e-Dy_RlRvwsBAGK74O*4MF zsz^Orn7=6|8UpLS4R0dEn@bvVw#+?!2wH6VE3Sr8-?;sj;%3_Z9-zAkn!@5y&%p*? zhZQYJlBg}r+Hz-Kh!xRQsJjmI4I8+;^m}!O!6llKND&Y4M+*pyuRTcEV&gfD8GJqB zSz9Qh3rw&=+G5V9Oku&5gt-gb1qu&CG%I5O@pmxk{QuT_zYPFhAQU!0bTxm}o7q++ zhFWQ6EHuq7<%=NvbF-DX*S7ltxtlgM9l*DPiAqsM9y_2$*x-s(aUro`ma;CrAN}5+ z8j=c>1wA_OnUiCUPo_^*O7VlKS(aXP+U;(P8tA)`I(Ey7uD5Q3StHw*i*K$PQr&le z%pOZF+eBac-tzM?yN>)bE^;CV4TvMQ624J8%%F|{RjUrD z^EbRLAy)WCf$~4tq@qJG<=92ntH1-TlHL!{s<7F|1Y1Jx9G{yR%xa#+d3rZz4#*-K z#qfSixr^QCQqh&9f&4#1<0pcux~Q1i-voT@Sg*_C9->?E*iiH~^a+?u#I8@f&-{FQ z8@N$e&99VsWRBF*4RflOmT;}$BSz&XweK@w6Bz`s$ghbdzdKJJcx~R|hlp+{I|V%H z$d*x=NK7Im3on=n7qx3O5cKZH%XX=1OafO;fRU9xi}}hAIB@W`j320_4#<`~(>got z+9>M#tG1R@$0S){IExD7#~z;2$C5DGHQUo@^6Zu`~i)qRG_ z69C7fB0P~~&(d?BQ;Qnm7YIwn%ryHuUNSZ1A|VvA+213rwL@O2z-M!Q43h4NV;##H zmdlr3?pGuK^$%zpqkz;K7+&X!dlr#pKC;&xjOIU8iC4#rJ)O;3d==-V)%=0rCr45o z0q#J_&qd0~O*Y>|ZR+RnU4|sko$fJmGj@lF_?-wY`CAO0%YjU(g?#h6`vhhE4ca6^ zH$;@&=la<6xl`2!z9u_xa&h!F+{W};0+?u-EC3UisywYl(TczI+zUoZNVsVbi$lEw zx?RTuzRjk*L8qe$m77H|O}rKp;rT1_aB+;78+cKNp1G z7rqNjv<>u3k+!J$AXy57Nk*PN^={o8{ZfZKWWwX3^sULHQJ)= z+FH+0Ra=Zjbv=(YAVfBMdcqreZBH*4p)~go?$KRcER?=RjXj3X0~tK-|N6d|K5g{J ztY>f<)c+wviozjym+@}k&Brd7XCpw5D<*7H+SD3^*bzr<(JZO@^H;eQsN8X}W@4#S zq?k}y0}gqjO0jV5P`q}|9CSN*>^XJbMQ7V%`pIwaP%O4DeKN#rM_5M*M|h{z-`&tH zl?mX^uSwvx(Dg&`R#C6IOHyJ@uKL~E@U0)U-$`wZ%J2x^PiJl`9NF+TfUP3tj`Ue1?l_H>bi^4-l4A5n3KWRUqE`2m6M7RqhCI;+CBQVB!ur0*PcJ7 z+)|2YsgDQ$8wEncUyG(uRpC2JkRjl>Q9&bqP?SjsnOHFayL4n&h`WG4dD~ z))Qb_{n>#mVt$=tP4CV8F@P`)y3>b}M_x0yILq{JjeY;01Ybf=Sm=5mlFXOCjS&kZ z4qlkS$-BGYDkn1VxXZPL9D1~hgd z2Z~P;{_TUmPP01!LPXbPIGv-UdpO0D&_glKFyS1?HY-x1XbkOFPQC^{wikTt3({qB zF_};;;JWEu$=Zl)zK!h1urHjSaAl~SxAwM@%5_J9uX4p~O?9iy89?(uFxT%dq-SdW#0#EMM-Kcxm*vicVGhns^QAM;iu8}zby+Ome0HSAGQ^pjJ6q@W4M zug(|Gp0W)cWr~Tq3E+q-NkC65A3I#r1l?HH%C=yN(H_e&I}WeX^yj^s4@PY#*AZMr zovL!_aZN~UK+)Ypy~)RPg(u&4#;bxIQ^g(|a2MZ^OmJZl1QngM(L2S^@{5bz5_eRwd!-9pA7Ut z3%VvqSHJn3qUe$ZhV{jN2Rnz~5{wOjFQHXJMw7RY<{hQwS3ZR()4>l@E?v!A&3R3)I9=qhu)T4h>jve6dz_o|?$G_dwg zNEM4mod0R~&iu(Vt9(5;w5D{4z$KePuU|ubpbx%n&|VKM=Dr&wT4@VtH>5&J$v95$ zstf~H8mMjj!SP$>rI>nX_T*L)K`^`^t?8DIUmA__2I}$`G7$KEt)fesawG3R=Pz5y z1P4|&kfYUZV)emB;LKZt$1yLS*tZShc>KO&cK^NlXCkQ!TAzL-R`+$`yKhJ0Ymb5e za)*E`M!c|VyW;x@?Ewb@GHPt1{H6#+&qZi#-=0j#4U5bH`SHq!!%0$ zr2)Zrs(c*OKl9s2)IhUkqwl&9*V_4Z{ESyMj{xg^bS_?%>}Y^F4bE&>TPK6~K3YJK za-l?cbhr}JXj2eCvjb>Xj~zAa>0aV|z|I%Y$8ws89cO15C#?0B9t9$}I}1$@q{q`y zE9Z(FJ>Bi@n;WoOGnovp;!}^NbR?I9bHN-z%+01v4WhM`qj4~Y7Slsyk!f1bi{o9> z(cNdr({LC1xF*eeSucXz@B9w*RQH=|bsQz!V+9{~tqu**0H&zt%w_-1JE1wyF6FJx zN#t{j={<{GOb`&sd)t7)%4L(~;#Uufa{-J-eSj8w*z8qErom1sHKh=Kr2(_?K0!q` zAvAMlnSselAe>Oocuj01M zmHOiyXQonr4*<0i0??`lrE-GacesP-2IEN?*PLC|9aZtqh)q#^wg3Xg8l_{?1Lp;t z4rZ792%!ReUkH6K36^X-~W9+ z@Av!lemx(r=QB~J`bih-yKR?Io$Nk2E=AweshJL!vr&`tZ=v;wil6P1beDZB#q6b7 zuGpcIO>v!(`Tr=p$jA*p&;uR5L&--vNBzBnnIEKDt80;~LSX55B`ak~b-a=<%Domc zGK4)d#p)96Dx#gkEQmi~a`}uj$|~BqGmK&s%=*4@vV)U7qf|W!!jkl==5vl$JsC(2 zpTImusbCzqo$2{sbEe517(ltj)kNy5W$)Jh(jkpDvg`YGa^4@zk$c~8(gGYf#T9Fv z91MBiOtO}Lh5b-{aYK`8&miCo4r}_HjPkvI`|eioA}EojFaU?yi|Q9hFy~DRe1`S_Q!*0O{HkuwFTlARgskf$x!6P2sUKyX)AAHT3Me3I7tU4(y?e6 z+UN_P*CRdXikw;VynKL#^G@j=T*L;`^OXVzx4?c>KYvU$C?uy9MraPMW?;vKzK`jZ zZ2lYyauIj1;#Ebb-@bZTzAVzA#c{dhf9Tq6_~6ulNM>Nc!s%#`&;6p>t^~PAKtLT zy9`For<+86jYlh@G~CTDkg}RQ7*+ms$S);7d{z+B&KSyFIM??w)koz)IJzKZFLmGr z8dt`+jN+cmT?{n5YZ6M-ca0~V4t+d7Rb1D@e!G<0NbBsB!1QbVA!n`GO#B-yyHM}W z3G31@8&&p1!9SMKx#BK<*t$l`(_jRzyR8>VHY@#jeirXM>OZUbz~e%eZduT6 zTd!ShNre3T50N)p9e)pESolq5&F01a9r!r;+Ix)mHpJ2*{lB3cOyuL8%t)0so>HdL zHv+1eKfa3kU6;iao5w(+vtvlnyv9$?$y5&&&ct&qL%(u9tULfm9RH@j{iPX?t22W0 z*M6yOt#s8?NpQW`pDMuJJhx`tgA!xQu@Y~3?leLRF}L`IFdcUFK4Z~#_3_)lhFW|I zfaUDPO}Y#LYfBH{SEKixvDp{j7yW1ZK?eriRBrQwcffC|(_;sIb~c9K*7|j)H1A=v^<^*11=d;!xK6h{J@*fC(Y^Aq`e zAxYYh&8nHA&}^s6fC~f6+=JY=~Oxji+JZnq`I>>a=eAZX99ySm*|G zC_v+Ire`RRi|fKa12Ez5_Ag|^C4&j-;vzBbKS+f!Q%q8>#~k1!(!^Iha2tWjr2LSKF*vUs^|R#*9lS5=?7F7B>WC> zzRGubi#;o4-Gjz)hD~|i;@|mCf^ub%s&-Z#9b30}57d+5J&nceuQ}-KL|ABG6vE_v z6xtg0W|vk1cV~w^ExMaK%ihKcIMXLUkLSz7~pmNb6A?$}KK#!#WyzB$HdQpe12D;hi4kmXr?Z3|3wuYzAt)z6m*m~LQ56x=29u6q zO(ZPA;o~@Dd*K+!f1973k3rz|Zsj1|vjIPW^topKK%pR}w7JJ9>@aQGyXM2Szf8@a zxK+@MqjgzOr--!Q$<3Q%BxN}gSxZC+Ei1GgV(D1@!69d=kOOmZrsnQ1h=vP^G}L4p z8)6B8hhw8p;aTQ%^3kA^Ln>GNUC1wYZR88pyAc-3qvSc@OLJ0mlg#Ebk8iN+tsK`T zbn@k6nmA9YGg)}t1bORlToVW%`xM;f9b_#f_vzP-YW!!v##(lGYi;xwlgWNWzuc-F zJ%N6aa!GWYGVIrv^$Xy%I#wA8W|+lOY*aztmZkF4sGbN`@mI&q<64Jt3(Uq~VhB;p zHF<3Njo)Q)Bg4Srk@ z8}9;Vki6QT4C(4~FZgE~c_3C;5BZPb2GB6^GWYV_0nT+j?ZUj#KvBnGf|a{kV+wBI z!?gZthbW`u?XAAvq9g4i2Nz4we8bbeIZwRR+G#eGZcVF9tGlPL(@VLI&2v zHfZiRx0J7p$Ecor;I>(=J9hk)7=^S3d*wDSCWY4_np}&q0cU65|MY?3O?*-P-{m?} zJ_l(i9Y%H=8(UpSn-X(Rubwbip1z#;%h9LpI#2mH_G5KUqymH22G#Ny%Lf@BAK7!k zI|_=NJ@Iv=6|2pyz8=Qa@jhN3xEKkg4Py8;PA*ihjFqVYlmo%;oQbGINtx~ei_t(C z4ksol5F-|%dLbsycTEDfBai)3oW;abX!uq0l$nWOFTMlxTA>kcQJCkwU7d?}a*iW9 zKddr;6aEZoc$bs0TZ&bix;6T#Z5;gG%||oDr_vB3I>*&n)ynM8z>krnx*s3@zIMF! z{gmP2{QbW_the=&;Mp+iyF`a4Wop>L^zH0ULTv$7$wX|s>Qp^k;i#-N8^+;0BbTcX z^;4PF4y8_+I-~0v3^4!F?rULq&Bs!2^Ji%;;Pau7!O(u}Q;T7`IOnJBQr~bU?{K|K zVAZXmf)>6>_~+DnoXcL4Wr$zF8e@>xvs6#MKCV&JVVT${y2<>tO%uXxfw|%^{|V5n z2!zyOaWC+8ZUIiv_lMlsEnP(pp^T;sbn-Ql;wLr2a90Mao!#9j6?z`*sF#iKkn~%1 z8O)V0`AN&=*23tfsEAJ)$-vj!x3+`op&nCDuI%)jf);ur!?_2vgocD-yL{5T|NS8BYt9s z1RppIgp_i~8(oUsn7DF5d7q4U@ST(JhJ3)c3<29TVRaQdLI*8he{a;hRcxs6^3RRu zxk`RfI$LruQ5Pl$8r}H0;^C}hF+i*fhg0OroUfoiuFf5Qiq-x#N1BahmOmUDT@uE2 zPc1%*;O4!&meaBa5B~;SAnsvqkS~93(1xu^aupzo;b7(vBrQSSm|#qF$tkiZ9=s{y zEWvTyfq1W2jXzG%i{r7NdE4a#yDM+ko4w4K6j_q@yK1)^xJknSxMwbrw&f-HM%7ga z8w#-BzPJ2TvLHs>`PRnP4NX}aB_-^pmZeW3sSd`^{j62^mY1c;S#~`(K+&brXVj+J zUfGLAT$$26P(~Zb@>d|py%YUkwuU}Xko-^1tng1A_uzqws6eS&m5AF^)QMyM55ADz z#pA}B#nH$jRP`c6bPg}9e1Xrv&+Pw)$o3kKWBYX2bOSV3Xs`rk=heQwffbQ%AB8wy zIJVp;nCO-`*F?S>O_ZxisV7twNY+;;pMu5vQ=_0t`K)kI^_R32#(?yL+ zQY(_n_S8U0v@bgBvy|B-!mtr;Do2I8;@45(8>N}>b z5gLQk7u|%KigKSYq|=7t0hQuFBG4sfs=8NIJEDCMurc%V zxsMFT{L3`lOx5XRh^2aoTe4h{xi@1AtEc}(Ueo-&)an^V>-dei6o$1}owvn>Z0+9a z+`Q&Aa^26o4~9h{v2u&o628*0w;D20K<6y^K&=N#wh$XbUkk;N18m(Uv#BeSxo#Rl zxvjdYKv?$PWaGv=TMWL__uamQ48&h%f)L#3o0uHd0gv3HR){-hef@sEIGe33|7QN$ z3o-Raa)HDfvVs|71s8U3cd~KGrjNPg+57koc$L=K8@5K^kA3aES`~`<&?$R>v+CWG;SsW$ih1mKlJ{uPHOXuCZ@Eh(< z^Zh>^t}zL?Q}heux`XkUU}ZjhGs=95=(j2CO6w(I0KN|gu+MHi`Oei=L!)$sQKG7< z0B$3VLhl*PHj1Lb80jVR_0Df;2n)B5sn;OODMgP3jp!?Cg`ZMr}qtVXOd1 zSo$Y_-FR$tIA>~I3K^NrSZyB7XGX546%Y+~0tUat?w>C1^lFcFI7VzHRjyE9UgTa-FBrF9;yr zA@k>e^Zv-80SS_mgSxy$9_v;RTVIX1Qg$Rp^{fCVw@MZkIw&0T?~9CVMNFu!FqRdX zD=}exV^X{nLy!z<=1c}q{^%jSq3?O=lQb9wN`m|R(CKRRho*`w{}$3qAd#lS!+drW zZ^1uB7v185+f+kk!tyvC(DRu4)o;vKC(vL<-4R^H+ zSC9Xnd#*;~*Ok5=YAM~!cPu7f!Q6#b?uEuy8bIPogl7AT4DKjHD`$TCu1rIY9px4h zHnI#M`j_dQnr^_PUbzu1Z3`qbv#()WY~c7NZ0aS@f_Uo-5M|(d<0tN87oplGXdGL0 zc*AQ~r>q$x&htTrOKoC=nfyXqj!Y6u0#5Sm;wFtBpcn+~jHy|6amzZ!JW(>$vg51f z{%Q2Ed%)AI29jR0im3O@WOIda6aSHMJnW>TkG}XXO8gjK zeFaAlbWxUz?G#W+hlfc>>sA6SiO7f7&O0yuIt0y<NnkPu~!5h|C1SU@xbc)+AJq$110<5n+IRa|T}P&W;VZWCmX<7) zTDkb`;m?+rTu~n?ZBNt5Ekk;l5;#P1^1h`Rj9*RbvR6vb_^IHf+Xb&!P#L%P;Kk9K zP6|WAp@yo-6UMM!mv!xrixl#4;RTS;vsNb$ntT^Vt|ekFCtX_F$1}(m6F-x)-bSohOQyr(!ad6>U?`FK07s`9 zx0cfo)BKcENlDS2ED`sb>7wI>Er;iHTnnr0Ie6etZ+6$>%}MC^<|shH<6e|^N|TQ* z0qooFcJq$kbdfsIMN-*PJkFlQ)BqC(pVj&`x4!QVPht5T3OlE(^)GuBZ9-70nCq*R zG{@AtRAR%*1gs=$`Bmk>6+2@lB7CW?@wOlst)F2?Q#Q(9m8fefXvA&_#3qyv z_){@`0D+%!G4IflJN&^W1B8MjA8^nHNbkS&Cs^ex+{)*Xsq{Ts{0^KSo1h9(wUWa+ zI&CmWLfT<$*{0p z0!(@WCX!@U+%iTI6>8WqRg`yT%0iOE(T?TsqmnAn)D>!B5;?L1M0*N;1r!Wy-C>1A3b_TnUibK@Yd!Q}Xa8reb;y+_hT^K2alI0X|MfO}I=&NX^DBnD zYdWiM6!*8yif%kMcVO`Rp~26SdDqX_Y#~%$Y9>Q}g%Q7fC?HVF?DP>*KQAFuLBeC6 zEaRY8Ktcp>s_5ciIX!Ij=0w47#^$5+9g9ahoGxtXXRJ(*nXhhOSeZBzBQR$Z-EKp# ztCdmTGW@1l9Hx@K?#N}8^r^y99w4m=xwVT+!<8el(v`YGT@_af=bR#L6^?0U6GZx%aU zN+6{wJ9A0W|~Ndk|+*CW+Gyo%q2h_Z$(mK<7t-oRVjg4JjMvag;C{Q36t_ zQOD~>p3@9OX3O2VuQ#Fj;1#x7<~{O3!x^P_O-(>xr*00hjl_5hB_1l$X zm)*zz#`XBraEY`oEQXSYIDRS61O(h$c=gFrRf<81giOt@=iE(#;G=mZZ|>MX#SRTW z{?_Y5a0yq@xocz%wp$=wzl{*-fU$Tnpb3Nu&}*w;WYv7tbEc)NFbca!^d={_>PB)` zZ>5F*O^>FxYtM~O^B7JV;moy&x^JrI^ef7KT%AWUt(37c3k2a}Mo@{{<3@T2G3gX@ zom8q37YAL?5Pmb$W2JqbM@_^|PA3W)JJ`~KGrSXSMgO}-DK;}J4Efu|=M1GFyTeq^ z|74k=q$O^@E|kVk6WcH7$p=`-EN|)DMi9l+8F-$0fGhyJarMv#sF@tqN}_{}Z^Q2& z8j_#6e&kQ?WgfX<1veFkQJzL;tOA2h>0daQ_d3ZzzSF;Pk+RpQhQsXi&lW62zZ&J{ zD7L?cPo27l4_(}ky|VU&_27k>vqBZ@y|*jg{LuIpAG;O_jI9>e16!Db_GlM~(Nr)9 zno3WQuLk-agop99YpX6xgN)XhGurSV%S5TV_|%<6h=#jsNtQZ64rM^6oo2+S>sJoT zWD89kiS@28(GE!BL0=^Z-UyxNSuAH)mGyB^p|deVdvSC+xv}!xVA9))zne_As+sT* zQ5BZS3g5-1G)HzlR~`C{Ban4N^0MdZPCsrxv3S}-_a-=}wx%LCzPE^Rlb(^#8V}@i zxBR=z`qlWoYXv3M)DWr%9woj?hl?$OIjV5xTd{~lW%T@Ae?H%;z zwu+=j?|{26!mVQzMjH^hr)gpe&u)0PzWwGv0^`q+)KwS`a=N!N)xg_%ld5c#My8P7(ol zqcL-z(wORj9pVmYNS;InLWMlWi48kqI+%E5UgMQgJ!6f=FF|J8b(Cwi=ryW=@#FMv zaFs&li6HQ>zR2nK&)zld(+P26!B=kvyUEt1)J7)L-J0xQ%ioC?-3FF=C>X3kih4m@ zi+M%zMDWec2>c(5Vnj#gRsd0xP|odw?pOrvORUkShHl^#O&||z-&=UcVC65KxEIE2 z1z+*LV>CVbap1^d(>EgrG0><)Pp|k^;4$rlmfQyj&QMK&$z9vZ`D^rpEQEizmgxMm zvY%sWijss=jqh#pDG%_1jyX>&@6PuB`Lnh9b$3D1&KM>fe0c4?9V{0KlGzjg`vV*Z zS5Yi%jx}j6zNp>v${2(GS;t=Rur}6KU?{6fUvhprl&r=5P17ax(*~Zyx5$Aq~>7Ny(yjbo1jgZ>r@ubCK6)=+?_z0u6pPngV9Y@+oy6Xj^qKdPv7!K2 z&ua!Z!*T_zY++UadrvGoz}Gik|5NT`3HcSCgd-4@eRc$4F#8XAgK|5aD9 z{PPPo4#C@ys-7eNn-j!I6p+}axc{az4~Es1E(=L^)C;>!r!Onxyd)p!zK?{3Xtln^ zTPSu;M!*@~R#6+Vaz)XJ_#;Ib*B?n6JyKLuQL#0ebbb7Rd!4?NQTkJ#%Z207pGqjQ z7?z!bXeDLhW14|6}t}qUsb8F`tctZ>1b>tHS1`=ItkmjNZ1H5V$ z+Mb5`Q+e)@-v7yiQxJNiw>F>oU|st=iuR3nDv@5mN9@l2VFsCtXkW9#yj}muj(qhy zA|IJ2_r=sDeEIC$Zt#*d^?c5&p7okZ-vzf(F+DWNwSMl__t>Cja~Jn6bisP;dScED zi+|9(NvXdkhWWdV27}CJ?$BrBNcd)|}GqHoi zkZicv9?exNi*0IN`C(Q!f3^`DR-SITYz2vEmK+AKpyq{dLz=X#)jCNa5P$+XpT|sA#pZJU1-i{K(AnBpmQ?-s@!naV zBpxBDKOqsEI0Y62y-~b@og+kEI4RXY-Hph5tQ6|;&?rlOuTp{Lx{fEoQv@=)lz!;A7KzTUo#Bh*9W&1f=dx*Rq|n+6(N=dD%4#_3X0%%~O>w5Ki=r`4Uvi%-VDnt8o3?ORs3Ikf43-BJ*)`5px7Q708Wh1RNqN(La zE9#S&uA!7XK2;zMMxiUNzc{e<;Ft0SSO)edy*I0W>bD`0kTr3{^K4(ixZ0zbLjTU6)7+*g7t+ijBcd6Jcq=${lAV`n5V5+% ziS>Y^a4cyxa^nWb}g!qD1Fgy*p26EF*@6sHDmwT*iY z1t%~uSzxU@-!f}#%8hal5*>-)r-@82nXV<+#tqPq6M9D~=S@FH`JWf*#z{iuKpJmq zkIojzIlY8tF*kSs@q@2GvOG3F2a(4KwAX*+R;R?HNLM*SuI%;PH8PGsM4pR9Ya^NEh}yfEfnMU974G;f zncDD}!|I-3MlMOnnQR z59i^d#M{9}2IVcwVPfC9G6O;YlV{0kV%MyO>1bwfEgK<1?&qsD`iX&T-|;Zj#WqD! zIn~-%k3KG3OT*4QvDJY^%NtsReb8g~4fktL)zEN%G$F$7fqXUIUkd?Zy81Ez8cG!4 zvQoP;;>eupg86ha#svY|2+k1ynq%j*_=3G!!gp|#)R2i zDJp_6Q~IX!VQ8};1}uGn>dia4W+e^$JlJYJp6DL{kSXtK;FdBRCm2``mEA)}c?(Kj zPQAa~lWpszVKwGxSZhH_I-G`VD$oiOeF$vBe$;W1umK;kGA)`Yali>fCNSp1cD0=1 z9i&^~TyHGyGH}-e_ppoYo#kFDRw#ZuBMAsPt^b9$wkE}p;TDWEWJw7uJ$IgxaAdC9XVpmU-~m&VUnPum6v5l@mX>;Se+Kp90yYxbL$e3ep)yrC z#KmK1GjQupJt4QMV(=JcK5tVi-X9Y>G~x(W;^G9dFg(&OZqfDe*J{h>LaC`87o^eL zovoWeI28QBVgi=Qr1C$tU`)diUvYJoa;1fS`nwINM0@u2U+eXevEV<#J&3x4% zOO!2UQ4uvaM^B8Ox8U#rwjqNoO9r;46C2GF(RXSh&2(iLc^>*n@i`cKUU}gC^kOo> zvH^G>JgX(V+wyF1^tjqcu`RnW?u!Y-g9jTOEyKN7&0D{@DDBbIxT=`a4T1OR89YYA zltH)X^sfJSj*XubG=6c~-DJ8SUT|HA`!t>;G3IMw!xN>Pl;#rtUKOqQ&9oYob|KIf z(s#c)WcIq<*fom;`^>)Qo}}qhbq>`b^+}})5Xb2+g{d>AiJRsh(i^M%9L?wrYmh>r z8E1jxSiQJTGX;r={S?Z84zEbKeaK8rJTz=ms(-3;}WGGS?1Ha^v#w9>oJ1~XH<{<+4*xYzm?3W(Ye^E@wuH`U~x+mNh0+(r0=C z4Bu7HY)f~xu_mF&wnfOy=f#3a@Q^t*OEd5;dXT4bjHNaemNZnr00A)h7*KP^>C7fb zi#hz#?rr}zJi^mG5Ru()?~bG1vq{8^t=XBHD~_x#@A&_Yvg&GohPY>@6Gk9B~@JothnrD&Sz2aN)GhuwXxW)ZV zn|FK4R%!x0FK6#fC24MJ#fS(v>wmdHOOF|IhKdtQdvg^l5baK+;Bp zT4}0;he85qlV)x23jIn2b2u6G(EM4%!z2Dq-Gj?*J&#@WXtn;1jL80!`uP*=O{_Sk zU)14@eIqj9gBedQkasMAUe_IRs2KER?m@8f$*-qpr?n1&oek>~`bp%US!#Wwe=>BD zmn9d4D6RFe$nh~Z&L^vZ)9sB!*N!O_1N=<5YT%bRp~|-o^pI@%$E~9a=mB+m95?ML z+(N(e_O8w@aCCh!A6^2rmD0gFnW?|eZsL?c`!-Gzlc&k|p`1hr1ijnJ`c`)r_nc<{ zL?OuXE{;P;X9ixWjy60`5|UR`TpOON{HA9ONd){TFI|4eqJU?TuG$+$M!n^-2>BJi zY7RC?RMWg|p{^KSas4ssdG6`>+5#lJ1=t;Q<-`mAodD$h;r355st0?vXn%2BbLM_o zZVEYGpXf_{4i}gLM$1q*Y|vq!ZVLAW}Lz^Lan%K3Li>m)eyJ9;|W5bM0D5LLVLZ zd<#%-({6SFHPseTU^~5`dCQQ;%T-m>UHu*A8O7$?;I(~fNSH=%4#3|dQ zyJMH%=k>C$IAPC4+Y!R7#9I=*T$&RKNrIH)Uh69=uJ)&YfAy;>u$r?^6P7Rzex#;} z0aFk^>FRlijs7+CW+O;136{zt8adTd|Bx68C^%C>(-@kwIkP|GM;N`Knzz>n; z%VASl_0#R3;(!W;dB`agTk4?a?C1g?Un0&M=@GFwiJ|YQ88(naoG0_fE{-7>5aQE= z;N!s26_4Lsa0vP*__lw*W*5lgF3lWF{9q-ijFmI6AD_4IUW0TC@oc5N3@b=eL^mn>fe#d11W#N$NjIbz-&!y1wXJu5!xVeJSM;&meIO;-gZ&J? zf4#2^06KN{PVcU$=sg_P^sM-&*7Id-H_L=9(D1+{5oL0^!sqd?NhAD*lxZ+tnN7ZY>RHqQ1BeMXFd=sV;+bmZ#E+45Z{F}_sk(t@TEfv?Y(W4PxSzJtQ zZj$>fqFL8f(~WM2LS{ZU8JOXDh6qm^1+JnJ4qDh>#E?AB(T{&9)eB(>&BL6-Ggulp zpRo~L%=(NekKyz~ZRPA`1(6Fq3;M8{8e-?W!?w2=4s z>Cqc2!0ThYY!DlBXEb9jY-7!L{%M8&`qq{v<=g&N$Yw~VLOWrM)gn>Jk;L7+*d|_deLriuoG}jVH09#voe46q-P}LRB6TQ z@w=Torn<_~ANJ&W=g$~8VE2CcBBwMT>l$Q8*TPuK&>#ic{(3=7de9R<+xjgh zOgvFLKI;<>YX<&cq&R{~dr_{c+enb%_j;kU;JNp<(*L@W9^V3(NuRV~R}XE&%e%Zm z8DCeZDz87hl@~b9uzA_cH;f=fcgT$KJ{*1gZ#ye+2621F>5sO__bLmlD9oSob4OJQUp#bg_ zGAj5|OQvn~>(f-|dK;)k5G~K`y~eYttW8daC(@x+3L`Pkp{>MDiFm(~ZPNF9FPi^! z5@|-T{_~0LH47hfc=qXLJq%z8M)GW*`NLUR=>d9`Yt?~XK|h~yp?Zv45<`%Or=`zd z+!hozbz4RTh-d>S?eJYx8r!pHx7$~G3m6-nM?G>h3UHEH*yne@vY%-kn0pCEK+(R@=R*dAL!Zx9IO-!7pE$ygA7LLc-GJBX8?^8l9egfA#pv z=F>Orsb*St0DkEe@Q=+pkO5W-c;yZ(LntTAoxYh&z~e30yM-{Xj^}}%1~PLddJTo1 zM7UB7n4(c|Q*$^0g|_)_*Ol9~KpoCey%o#LvjNwW{5R1oL4bf3*+IRZ;i!hqStK?n z39vb-o(eEM-@Ue>sp%BYXv`v6v)ALXkwnV;KF8KrTCW}{TzR{@YVpTAC$;Pq$06if zJ+b)wRaly+Dt^!J-DQ%$j;=sPkn5>mBKG|H{!Q&ZTyJ4T?*~+&03+nz!1asjbxH~4 zM{eY%jWn>;*r_Y-u|=wYAU_C@1}yF-4Ine-@5)!t@Tsh4KJ%Mc(iL8GWaLKqKjm@l z-WoJ*?*zE|P>hCMlJc;t_;RPXW$~e5*tm~(>+3*BT<(mmqkX%jlV}3bNjmR)SEe%d z0aG#C6;M<4uGW2mOo^Az*%$zik^p*c9+-nM$_qi3^jvBYzm|R2*&`Nsu*W5zQ?GXX z<>-ipGmb+${Mjx}2_IU7tizBIz)joL*Vx(|z&W~}vqnAgMmc33v$nay#h*Ih9@5jN5+b1z)6*9JZ z8zZjKuuE}+bwuE!_}K~RZ`eBks5VdAY+Ffb;v$*3BRt&nvNRoNmH21#n4zeBG?A8; zGY~iEkv?L@c>sUsL^0p_&idcIl?EnfZ?KYlSRAYz+Sbk&MYpvcq1d6G51%rr>pcz{ ze%?N-RefFCb?|TY&13${*B`QQUDuFlfyB4@EdI=Ywfr<0t=>y4SXXC)dS0_WpyF$u zN#d7Osb3!*7}gtQ`?4QO+C3|dL6F5oet^+DeT8y@l{|VPVzhlpg|$A20AimAy#Cs1 zPC~qx#{^Pk8zw0tJcOmg$!5VW=egtb0M)n;uRG-uwt?10DsGWHydt(Zy77(D?-iV= zHHdG%{6`HSwJisRm0RoGg1Hdg`@ja^f=(hkNh)`7u#V6ZbCKs(@JNzoBKdsI!4BqsD^Mu(6dJJjo! zu%WSIB?PgeI9u#kI4dfup#zaDV!E0{pSwiitRFlJZ}|Fhyu2d$02`H=Q@71V!Tg$K zUK_m=OpXayjZxJhZj}4P2c?&OEtJ~pgFp0H8MYaAZNC0EwI&uPlskV!M7Bx~2X4MF z!xRh2(s(b%taJGo+S3qK)jPRC8<%uuHr5!{YX_arEfsbkQj)`hbnzSjU;NO`F)r71 z<4k}u?GYeg1_ciQu*%lI+{M|(qPa%HeNc&_m7wiDPvx!K9yHt- zvvZ<8(T4x$3EGkfzUogYtj+;?K(5J!g(!~}R<~D1S|~Y=`rAogU9Fa6T~(ojONUtp$~y=&OkO2Y+pZD97ctU}j%`sTiZx zcrpljw()9nS`g#&n;kR%_#o$?@8_{4?T6HE$=zj=1Q+7*i(ywm&SIrNdyox&`|AO8c2o!WSAI`kkH&lPouBJ8M$n>w7WL$o((eMM4N?& z-&?N$BYV2o68!dY{&T;-=h30xaii=Ta3Mx~{jo+D{oE1GA2)tm=94`R2#6vq-_W!8 z*w2;-E!wYU7&Gg=xZt{CX?e^kCxx+jZ?zh8p2ZcvC7SKu`a{g__lBQ~s&9j`lp2J74DXN_fhDCz|bvN+Iws=gI0e4Lc=7uwF;=#{Ugm z+J{Ne*TtvHy-wFSgMDjj#p|%%`(xp^DqKgCGa}l{fhTU$;BP=HVuh-RC33~Sl0TlT zSYH!M!rP&jR7KD@(0!*jjf2V7i!|T`NK=t2N7zGapXJ5Ds|o&56}ZhoWhoK=MB}ad zgz7FWt&ucnFyK+8r%NKwkQ(hc!8AiYF%Di{8e3Z$51NEXry&ndu%^24L~R?rokO~; zUp4Lxh(J0k-haEn%1(QcxPJd40M|t+Fb_Evg^2XIT`|?@YJHqHmr7ss5G4e;fSz(E zkJX9!E?>bFfXcP;)TDyMGWe~pPxJJzOUozHp*T`a<8d=@3wi^1D{TQ%aRr%G0bGS< z5&*HNAfnA(F0K_U419wr6bV*{X5e%Gv`2}Kxyg(NS(_x>hi(Jkj&vfvL@sPB%#U|+ zSz5XP8F<%t1%c*Q^DUWZl08jB^!e_~5{e>}FbV{@1fMJ6tRgj~u|5C&q>`wi`cL(1 zY%wL|LAF@fQ}ahK_f&HKziOI9S$62y5$otWLIvZ`W+98cNzS+o+cXW&B=T$A-qyYg z(68i-L}2X@uFV9<-NK^U@?>0*MZYUP0f)k~1=qM6f4GN-seLbDYhW()zYRF(j{LDD z(0~+zJ1F%1JSw=UKwKQsglNf(5XmF+(?4h2F|U|vAfd%VFmz{71)_jyWH6v5>iuAV zOdt`0!Qv2KUfmY;p@hzPNge|864!_MTM)my_OlhPq}Qy%;)1-#`=)!Ie>|vE#-k24 zblsc)>+|K#&!M@AY1f#6U7F9GX;ZwckhfJGe#L_-Xcs~$69>V?<0?@*$-r#Nn&wMs z?B;J9rWe9+%8w|nvi-@$E3eeuiU(w#_`C*NW6tBQvsoLanOF)x`wGoz30-ND;1hAf zMLNNWK7-(JX+Vqu{eL4B$pf_=?zm?*4Q|0g+rU0w-MK^WJ)HLzkW8ok=vGzzvg+%t zXPF=X&ntaa43bOPJ={BZjQ0~x%ust|=2wY5MWFv$ElXOAc^Ye=PxtSjS;8$^X%8Fx z?rv71a^=kP{}j>>SF5dNuk(a^<6o3Y2G~p1)!*XkZcP?QCF@$7Du+IQYf8T5uVEtt znJ=wB_p7-W;cZw{9nW-5Clfi&LhcYT5RqWwH|f$(UM19>eY`&q{T8dT^#F)h`s_QG32EGx_4ljvh5SK%Id;4!CszJQ zJejMX+i(hcRtgW8(V+rpS|C=<|(r??O~$|cM#;E=4I{wapObFi=x=m zs8IRj7d8{zmSRurF|SbGoYzoAy{`*1d=rQM+m@6>zv+jt@%BD4#8O0TDaM5ECMNFq zVT(PWYvsE^R!s0t)Ki6QU)@MHn;}#S#MS?$VkT2ZJKcJ5{uyOHbs;(5B-dw_zGUFW zVs?G;GqJ^g2cd)3O&S+(Z>Rs7I$1A0JH|aRFfXn{Vzpxj)zAx>o4t!y3DxrMnzLrg zViSRPK38aH>&e%tSv@5KfN!%#p`YeB~&f9$cN{#aa&w{M`9;` zt0%;Pe3u^PC`=S(dRwb=X7^9sa4Oz*vy|GxT`TL4>uAvlh%23qH3$q3i|Ub@(^#UW z|H1;TzTtCvH7QNizLK;*bBzfO7@T>oyFlfq;PnY81?mpKn#qjvAf7Zfh9n9EbbhqM zjaai;sE5eqKgWjUL`3}wv0zM9uH1VIc^UkWD4j#?bA|5x-CbOO4fo)JpsdG*@qPPc zA6Q7}%-cg8+=l17Ca*V~N^TTV%A|?Dtq*Z9;4cUOr1#lERv?&S746yNl9q&p=rx(@ zG_G6OzW1xJo9_tyeD~|?HmaW=c(4l?hwpl=I6con-0+d-Jr?xvhgz}JQQeQ0sVmqc zAjuG3?26Fe`_irsKYQ!3=I2r`DMbq6iSMZNEg+YJ zF`fC4Dw>absX~DmXHoA-a8e>!TxdwyT$%NF%J2Z&0PHJ}$0yo}tTewbosZ#ni$*j# zuGX-vhtB7AeI653x}!V|k=fYdyJsPD4=Gif77~oCPit}|hXf=vKQF=$zj^pNK)VZN zXGYC;LEmYnlub_xyT>WZ1M0GE{@B6Y{J6{>C!n(J=O^y5)z>~*pt$pS;QHV{4SOqP zKGp+letQ0r*K`r%O&YY)r$Kt{6zG2&Aw|&{Gs~>?Rp5-5PbQM+-Y+#Eme~l3c$xao#}J917+gn`#1mH+ni=>Gt)Ku^CrBkfDcf6d#)8G8Tf21$eOt5tBGMs?w7`;&ptkbiJ1_G8Dats`)VLZ1VhJr@;PBGrEt(wzBQ#_pfc*C z!O{@A)U${~oIy~Wjf*KO$c_An#1a;1m2Xst?5ol0?%S$ zt-&`4A}%m!G@=ujOnWN2Rs4SelfHRW`}V`~(*H~|6l|UbsSeFY!_S<>D#~$CML4Rn ze@QJhJ*z1r8f8Q&L%0~X{aVI?oxvePODVR-*`$(MTrBKLrOI$n>?0Wa2*tkiY!9TC z5@#F`69*ft4ENxUEe$camBz8tAb8N{G_DwX=r%ND~`x#Ieg?<4( zo};Q+^B8@b;qGw=X`pJ#Jk5wHWKUy;VZ-w=5jaE6{iXmu9w=jU%z|;2*f^{4JIxsF zB4+>-yY6W>onfqbTkx|MQyb(A8S+W^CN>C-ZPCWHOak{*#Pt+~495lr@0R57e@xKu zO{$O$l17)7PIbE;2x6k!G;B1R88`xIWDBYs8=Sv;K4#3KFWmp^Qe01+TmTk>QNdzN z8&kZ<7H55ni}Z-N$P`k$Hex6ofBX1gHuimMYTuVp2NX2e89>K2HKx=V*Ccy~U~tZ0 zWh4uzqaCYN8$$e^k?|jGo~_!iKX(+_#;vOK!hxs|M^CAo_e@^AGyIj@V`j zToFc(8O5xhE0a$7hO!@IHIO>qR}B{Nb5cnqF$2Mvj=>lm*Tz&Z;uAUs0tU?Z&O*XC z%Q@q$fx^8p3%hN3T9cI_wv^hZgaOa{mJQ+J0FgM*#uNt)cE-FQ8eQnnIrA7+&{zgPoD1VGmrLEe8iNsZZL`j3NeqXy0V$&;RGcGOAQAj(S@ ztD@VL_nQUXsk-e^B`G5}>0@j3_-5{w3votROwG)czSbIge{u(2d_*3(pX0gqQ2dj= zDql>#)YpGY{%i{quf-iRGPszX_0RbFK2G0pDdorC)6|y=J5%F%Wl$+4>6_uWG4MI# z22*jPy|^31j9rty<4MLowx-s^8OvHs9Y|x!@9Yhd#x{}xA!8dK5f(p$WGEZ~9gYdo z2DGQ(snwz>e>nB1yf~N+a0W?ZJ;w&4(KYL*91~hmb&~|1#P9%*3Ec?~zWXlR??i(} zLsw4K8WO=9B|X)7hMwSh8Gj3ns`>iO&HNoA0xp86!C2rcO)V4? ze0pEarHnLxPjCcJV#c`P!jCfsb~zy}vc2KY{x-INe|OjyyTFHg-qoN%Z7Ew(?XL+J z+L{V#DdpoX60b|TX5t` znj9Pdf8C9iKj~qweJQnvDq=?Xn5B>L_I@TDe<#Msg^Vy~j0MsFVFb>QlyMfJ5H5C+ z3irHA&8gk+bfsOpR*EVqt)--p+UGf+bp|!2wsDr>xgck3Lt|>&?eX?QKCCnNf7xpTE2<`|BZEgA!Xsx`Y2YTxn8vY& z+`d|dX(V$N^}9TnWFvc1Nwh`3%}7>bH?h79{UD_;63I+N-EvnN2^1o zV>YIxm@-_L&eW)#WDptyVq=k>NEkPK({?wU^X+P1Y7LDczSz~K?f#n2-=-^dV5fWs zf6EL8CJmnP$qv5o&L~XaERHiP+0HH1RJcxrow3p~(rEd#F~kV2B^6*nRTT2TP^_~w z&>PG~w}6UbXLxa_GbWe~LL=jh618nf8rB&A#!1>JeHjnc8M*zyOmaHye+dtJ7Pnb9 zYe6w7+phr$>ZkWJarP!IW`mG1Jw7cff6r}i%AU-Z$r+3WHKYbN{2+t9fxfuWc8^`i z-5!I)kv_f{NLIVhYdAfHRd2v?WDwFd#Rvo+21-S}uMF6L{32!mT6al!K$C z71auuqSf-wXz^rY2q}DsFXD_YBGQ$Zv2H7>rlq3@4Lb@SZPrJdRv2}ojJn~Xf5*32 z6lK(S!EGaOM#*OkbOyfnccjsu`CJl8-`E+Xy-*oBCT!jgD2cmL*-=Kg0DU~0GC&!l zAr^zPT1+htR2l%s4JoGDoWVJOQ`?r}H@*X<)UN4FY5q1?94z~FA(1nV`lBt zC_WI0QGOF=^zat#62B*U>Wp54*$7hxJc8~N-@|kUH8NB1_?&H~By9Bc_@~3R?;)dy z#jW(Mwmb?m;jy0}5N*CaHT^zQOO2Bxgj;Ue_{KzyV9A$ z?7h2aT2s62*ctnQGfev4CpvicO{+q-H+0R^_I407uHi7_+STniV$dE{Q+EASC$sDp zURsnhaAR{2BUDadLAAvbjiC)1{^5t)M8kKcG&#s=r_0|CS241nVrPx`c)`r%|}$eMKWe?~`oQz#97Y_)3#vol2&I7+hnXcd zgo=_LM!MT0?hDO9aG)*vCyH; zh0btLOpiysDeDZ|f0|NfxaYHrvIp&2is0=V7&3O-ItSN&E%v5l%@nb*zYmSuWsMmC z!@enVqYIKzhwFOBUqU@#YM zkI9g8m^yBke~PMuM0A7-=7KT@25|;s*wUyW5qzi_ygPJTcbH2WVFn)n3EfB{|13Ob(OHCwTM9#pRfm{$Byjbe2e}}?7+USg3W@ESQ7f!A1axv8w zTZl0bihZvPGyFz6wrN?&L2L|k#x(^49yhs^`hkT3U}VUU-fd^4qu%KFbt1BeN^%Cn z0mYQ)0$<=U99m_-)36%_@utlg1HZb^Ck=QPp%{b5nBxGV28m%QZ#TmU! z%uqH|e;WEk3h@V>e$JPo5&dE&_g}sV7xp`!vC5eF0xtOFJwE)D?>%$zK8zWzl!C`Z zT1tU4My)Z_8Pu^QXWR&_YxmdqJ>kP`T1g$q1re5!iDhg{F%)J|$Trnb+tRTmI&QKusFcb%qjQETDd&tc z9Ro&()e+<2;lR#qi>-muU^++|!!9QA?s|+z)0a~NTT`hx#-v9z)>#&Bk1D2Zd}%rT^DY8|KHXbgJmcImO+e@)pK zpfgAsAdn{EF_v)#7g7|)F@=xU{XoO*6VjgI)l(<2VSeV8!k@tZt)KM$ZzPMnGG@ON zjerIb#(O{Gdmjxmq>`F8*6_{%D1NlX6c~f8L0I_S)D54$k%${Q&+zAENX(G*%}E2M zeETMT+u1iJZ(!r#VB1ikGd_Uge<}?#ZgR{p?b;ti8bHQ;lrvBp9iRf9R2OOuj^OyV zr9%zyg)gTtW^9o$=)pN-Jr}|U9KaC@amIjC_!yT}qwWc@2u6O~q0(KPF)__E4R||= zi<0Fc_>p_sk@>$^K}F@0RmRB(1Qd7{!ZM1O@WPl)CVfFIHU6XKZ%4+De`ztr*05Oc zAVZyj#ni4@Wb1aE^6i?*_pYy^*078sZ-_GR`9Lo)<+va$D1r+Yuq1>s#!Ylrw_w|CHG2J6Le;TlSYT737#^?SxP3rj&r~lTmU%VF>q4Zf^uuKC1+s9I2)mHBX9=o?KTNx*Pqq5yX&L3v~2g)7N#$y z<8LmgC}A9^GbCu>#u)>2arLHBk#z=9F>j*=?lkRFZFCe5=3+(5e<|FCR98XXZgF#p z3Mt*XnHWCcH+*VRS!H`u!AcR}Vay0a@&>l1s6{m~`T%ZI@kX4%*PNs~K;X?7U(?-P z>><*4djIGIL^8){34hOt$M_=Nh2_qXX>%3!UF}!TJ-%pzn}^)~^dW3Kaa%T2gZmag zPFt0@zf05~biunf#;!u4 zLBmVKccl)bo^r-mj!G%wf>woWOUKsd3`QbM;PVQHg2DCF8KQ!{L1VvGCvnE}k&ze7 z#<1fKhdcj7Fx=num4k%u(lc`VAOG~$h`UtH0aa6&G~m_VfB5wNakDvm1h43f$9Q|0 zu6*6Q|2USmEkuku{mwU3P$3i)G^WKGr;*V(e()Q7@wc;uB}$2Zk3YJ9L>@=(zI>M> zgN|=n<(ptZC#DxX=xnPm3lH@tbn_?MV-hTa!fE0u+}7JJ8U!-*m-6or1n_9UCuID{ zWbEF1LjMjXe`h?tJ@S%rhJYcZ)D50wxE;xm<`gYG-!;XQ#BZ*pmiO1x83zJ~g}yx=8^8Uv4rM$_9fGR#Wpq1edH~;qcCAsWUto;EWcKG4c_O5s`r( z&shUaK?M~j@d7eNKB6olGTbrnaYAPr6Ay2X+)_;uewe@e-? zgExePdw{(~D6p7%jlO`O5jX>0@b{%O*8dp8K*GRD~7mz=S$Xy5?DIOBkXu^|~; ze`_h3@%g5d#tbc{3>ouUPR&O{4S0dH(NS~AIuWOa6P+>gVrZRl2Y{`l13z-c$AON)$B2xP4}mk_W|s9j+;aETI}(PA-|n0Fh-DSCAvr@@R4EzL53m5Z zefJ-DC^a6x{D3#Vd`q{&F3Hb$dyK}vf9L5dD(j(wdXqYXuLH+GG!zTI4HTb$Ykh*o z_&R6cUvuJjymxma+mB*Fz>Sh^jPQRa{Pp91e0VqhyK%<&blk5UAJgCS;YTQ@p5FaH zHnLI4hW|aUfQ%o{N(g_=(m-dNg+Ga;apUX_ z${IJw7cc`yL&(}%q=G(z#S~+)Yp}pYA-b_J@a2HXz*XnK20U#`U+Nn5e`{}oFIX7L zh7?lQ0y5_3HEhiLdP+(vtf*KTEiy;Tn!}Jm&badwGdPpcQ8J*edPyOC=&|t4DT@a? zW6+d&pCjY`Q($2j8ic+PGo>I-2cz92fxwnRF6!D>a{=U>4)pcn|H2? zIQ!tq8~vz|A;)aE_w4Usf55naYTuTm0UuN{Y@uXPD+NHn5Ag}OUFw~Ws({9gdwBm; z)|``)eEsK$W!v0M)$!5bJFyZO)7cpYv*GZjVro_x_ym8a8}9Fvl3}YUbp{kqpN?HM zwfo@7C&$I;kJ_HvcR#L0=&Iy7zy7UGLAe=`|p=1tU?_grYwSm~_zu)((IwB#iv z1O6RyWIRDKG=(n$9g7JQC<%5(b08x>Amg9zz;Wf1Ap?gR-6seG2Mr+udQ$_R(m%#z zz!3y*aC6@V)YsI$f10JUIIJ`1q>hq*!y5u~&S*@lXYiHD;KQBC;9oYd*m_09m7ZVd zC4yx9CigF=uc|rNeFVRi$G7=C_sRF&I{_K+U#9W4dR$HU0Y!SXgRq!_zti*t<&5zh z8JfGNe-t*{;r|MA#*ea%F&byxf8wBl<Qn>$wB zvG(!>+;jUQO<>$#=gvPqym;_LzAk(O+~$7b-}%75uL;!@zfX6YoJKOHvu7U3_J8E( z1*Hloq9$wtPn|IyIRk!=Cu8(So`M4#@b4g8V0Y@ye+%kM$u2K2{f64w0 zkJIn_*s$ukbEIKK$>9GQS7|^79`(qVutI+d9O?88)qjKcCY~}p(*YTt1qu#^{gU8*W?t9otd7f6NwwhWn*c#n~G-)EMq%7gnBA&LA?- z8b}8GV$H$(3Z=2TZ$^9=y$_y026G%7xP$oqLk0u4ZSG8MNXFnbQ`fvRXh(IJPHo;9 z2nSNJe8$7!TeltQP>DNQogjq=&geV=20}6(LqqSymyn_3isJ!01E#4F8DkIcxzG48 ze~!0{b41{eQd)w~))}t@Wt`xQ*#c+K z*Te|Gzn{h6s+~9bMeZNHmePrx!R=Rn{67zjkl9>pzheY}{|-vVc$&ar|1lhYqpgE# zN>)y30O!pe;%{8^z9Cl(xk2mC@jb_ff5Rbi#+`pc{$6(9<3n9ttJ3h#K*Iksa_98{ zbFslwzE~LB625V@)Xi=0i<`j`+e~jtT2#bFXFf>aL30YgP-k=^YY-W&{{xL%B}2Bm z|3r7Zz87r&?1mqB`64BQoiTXs{!e%^WczdkrM!f91${^$=Q9`|ha!=Nhgh+}&4c=$wzpkbV@evIQ)b zw+W67j|Ejz*KVpa@JUYLyH@B7QpUW`8pwy8_fb7Xn;0YEqSabPGM1rn8alz{#<4F){J*o_w0G9FUBL?i0@`f5YDSbR-}1 zWZrK%`zH~AB7Fr zgp5Z48PntD-+`SmF+GZ8On5Hd^BdElzvtMJ@zDJ{y!0vK>>|wiKHZRxtyELH^t20r z5E(qkfCP>`+kMC888EXBE?kKz_GZvn8a`3A|hjKFh*nyo>JQ2 zYU(9_-4A$5ay=r${iJ(p%<~~~hG%1xdb{pt>~x_sVm$osF2XJ~@Sq&>1k%@c$0%j0q%TVj{CB1f=1#af3#E?)P{ycAs#_KsFY= zGmr|A#x6Po!Pspl&cK)o$-Tv;9GHT zN+*8HNJUUkMO#a~e?gBP7N_)EQh&p{73uIb(DTRtUWt z$B+?MQ?H@1bM%g?sfdh*Ja|>a%il(@fklV^DbB#7SAI{!9Iqc6--L__PsXe8Q>Hnf z``lzF6Xs_2kO4j(pHNMWNzRzy6ak&Rr}rP=-w9cOe^B^$e;6Ov)0LtPNqBmPevgo$ zV2lMh1DvraWt8-#5RSIb8O9lo3nF7*lQ+-4T@kgv?7rg2Z?7MlYDzYuB7nn(jGGd{ z35=UG06(Fcnh(bs%Un+_YlG^Hc5VfWPRDj`*Me%Q)pGx@A~Il{@$pL%_($s4(u2ux z$H1$Qj8QxwfBFBEP2l`~+J{kR;DJPG1Cl3%TIuXE8Mz}$k5NeAul=FRKghj`%n|;z zWUSo|$v}lo(@L3F?}8uyaiqv5@Nx4PrGJwNMFWZ^_jiJyC$IQJLdG>?F-g()z_51hcge>0$2OJuBhIJ7nOM0xmKt0`J6 zg~~AVy{pu-#kGXgk@6{nsknBEGk}g|h6Cy;?cL&bCgTi(V~y}wvt+n`s(Vq__AyK2 zi^$+=N}MtFdgRW%kc?6Mx{x%mrh2NAz6tkxUg@EekYRtuVowGN?{~hX>0^3B!n(YA zGVu4{e=o-vjBo0U0R?ScNUuNa-#)bmeuj*RaOsEO5Pk+m2ni8*>IIO2f2Rq$7GdZN zrQ$s$a0CO%fPNW8jT;Px!2;(QBQLd%f(NY&aWCWyA%oapXRO7};D7FeCljyj!fH##lMEU98OJYPdmzl{|JUBVzP6F2`2$bv#Ex_6T$*XO*Q+%lPXq-6r{`&LJfA0tstePS+e&I4k|7^e@f6M4#zP5h_Jq9nOWM<4gfXo>1KI7z6$bfml z4h=b{GS22UKJz}K&s5khB#PgGxHxAd&NHSntjrKK6-kVJ?!p|SGBaZ!Dk`dj$#_qC z@GlJ+@Bbn?4GH5tJw$}vzVE&JzQ_7+BQthnpYe|L;9qJoUdzy67p?~~$g~69e>-}= zWXm}D^fxYp42JGy$sqjx^Ka^BxQsvZa)<0e|E(RpsLe!+1Ac!?e+$5%-z*tqit_h- zJ-UDVyHHLFDLVI|W*zi^kpJ^8yQJWr9vJjOgY1Drx;P;xwNM#kn|PnmQ8IXBkmC-2 z`WqXw?fmJJkU@Ti!uS^lj4nA=f8@VLBX(TKNV=d0hs(|iZJg1A zLw-+_;{2B{WnFcA=4iiv2SP*GI4AuD%?#Rp7j@t?GWJ-@lWi;(q=oz7y{J{OQvtQWMPI{oN@;{LH_LpCOQb`XrXWxiUkv%JjDwVd0h` zXBqzY(|`O-R_OnU&idc^W{6gU{Hve-KHpz=t^avfMur?*;vbManAc8X;E8P0CwV`R zD>`@K{U9Ra9hcD|O@{oLe}DTY)`54){U9f%=v3c`-2Ot_jNS<31s$E5D;TlXLdsBm z#wo}Q7#YL`9h&<6AODRU9P*>8rrg6)#09yC&iOgBAu{84Z_iyQGBabJvLO9NU-aPf zTi;bu(U$?ujR9{om<%$2`!9NC9L#TeXwYK{-?PN%k=O6(6S&bye~pZ>DPn~F-kqJE zlCk|49vVhw?8<}1|M%BS8Grf_oEvCrZEQ8k!?|cRdcTNcZ8aHm=vo~l3vOcQ?tf(S@MpM9^o&;Reh@OcbPITs z0e{+FE@V8E8TAPxBGvG}k4@Go#|%BrT$ z#f|2M$_(KmqtUSX3{pew_xE{b^jW7dcQJ=x2M4RA*sB=1<(YBtEj@rzucoZfpv9ET z49esC9^+wDQ?k!^xAPZU1{|LH$j)41%l6Oo2<}h24jJO{e^ty($V1hgGRPsVs^v9* z#+2cx_8q^)IDrJn=zyPNN1^}thfn{`n~eX0$8+%Q=&~72B4bzm23jlaS}a6YK?eH% z))A8xUA0ZDdUDD*`H|h#Y*ncfnc=>f*gb@s6pOzo$6tWzOQa^qJqtC57c>@m`A$*yt2F+m+95 zWGsIH$Em{(Ja?gIB-vg2o-vC68x4mH^;_QTc`T}Xe~`}*WmJOvsbgO>2P{0Ehn$A!Glu-UrLJok%^#QkV+1mTjM%csU~ly0RJd;RJI;f>k(tq>I(i~As11h;{;auF#cw$bisLnSb~yg0V^>J%u%|u&$BFFj z@*QfIUpqw8@++;l%|#y&`ky_Qj9vLWHd=wSE2bT&44w|+xA1F=vblsedveV(B~)HU zzp^dliLeV^!K58ILbIbu_?1_sj%7&S{7NH3f57PIG8{HYn{oP2EHcy_AI}VSEFrC^ z;6mp37>g5aTuQVU^l+(DlZ2ehI9A7nkhBoh6dkbTsqt0~+2&-%p<#p8QlzLNZ&*3C zF9xafDGd@C^do@dfWA9WxAzRkTnRBj-tzU{Hi))Ac9SA@9plYV*+_f{Dp*u_~NdTv1gOmo8PFVpZ+FbI5LCK7&;>3 zuOpBdCv0Sj)8LtLV7efoL0_PYQ&>=)f1Q?!3|363$T-(noWIS>j6;VFdXPw;j!V(h z=+iN(Z~BhRph)Dn?E%%nW8?j|2k+sHy@n+mVxcVBCM*I`$ z>W%rHeYj`;W^>&NHUm6;p7FfI+=aV|*mD$5G$iB)!@VivF&rA10ZS<(e=|k`2R+VK zx=^9v>N9v?oU%^i#7K-Y;X{v%V>$)ynEeKsAs1reJnL9O*nuDJYpKzvI;e?0tE4Cm z6URW=AY-@Ri4J_ADk|P)a1#s#`Jg9qg9pa}eLP@4ngN=S#89e?xo?R7s#-GH_rl9d+x-kHqwLCzFMRV-8@t$KMeaL-M}U z=|B^mX{Ue%voT^b8ge-SnZa4~%pT)Zq=wdHNEGzehc=GS-CktIUI%=|l^8?g-B49l00wWsEgqTh{!lK zi>WhLHRXzol9_Qxe`%R=pz5=ZqYrEh;6YRa?RKE!kePAt9yA@i&*=4p z4VV|O1y`X#YpHkid3}DXXGUjRWrlnTxn21&PHgO{T{wF;-g~3ovZwRlACr%E-|)U< z*XV)V;3}xlVSvle?q&@&4Rs5{J=sr883Ok1dZ!XjJL z+Pf-9T(?Tgf14VFjL|OC#e5Ku+q>H-y$oe2@Q_e%)vY5yh$GOUkgkjjn+D`@B48Mi zA*M1;wSvl#8DLQA)I2NW%sKzfaQse-jJIz~WQG92R2(uEeSQ;}(Pycl>Z$%f#0H!3 zqtDk2X8h)#9H=>sZ$)MtfN?4@ZYz$s?XilA!;q2De|-lcL)u`^Ai5247@4sP+tA&j z8~UX z={FFOe?ebqEkz-GD_P7t@cG*w9G>En8fqc3uUf4&=hHxR>9qNEzA%s60~F<`MFN-B{V zJ>sLsho`{uJs-Ih6;-$QPMghmw_{}nsHnC(K1=LW@$0iYI*YO@%uYj(37f>wF+4kT zwHYik%=TLh*=l1`?po>;3{6QBC-%UU-G56HXI5gkGDB8V=cO_O>L73XJTmqv4sqP= ze|M^=;wn_H@g0RR7=TXvK)B$+!83z~2JbZ(4Bmpj>#4CRnH*iwYgn0~^%=07s!OAI zm#nz|Vsl`>Qs>+$9~Bk{?aSJT6MT^o(aDU9>HNiPGe-89E$F}1G@p(GW(MrO&%j(? zM*nRM+VaFW1}^kcs$gu2o1iZsH2Uzyf6_u5r0Vl7gWC9(XU2D;o;u(IRKf;3x{zf? zk7Nc#G5=WL==Jn^s>j-I#-nTIhOlAa=mcLfc6)aM6^bjggS6IWSZFTHe9%yIhWU{} zNN6KdLp?FNBiqG^HU$ovZ`F94eFnSin(8w$4hlIlSXiahTkBxL^E??JRAd~|f4Df* z=E6xe1;%bcMJ2j#8W#iAXwcv|7^uup%X{%oaL|gWo(hewL_ss7%XElx>YXb$I^Hr0 z8+9>*$Y%`lezId0KKudSNPwLG$^5;3E{uUDH;my>tD%bPsLYwZk+TB_LsO;=MdS43 z^wjP#!0fj@lVN7Y`LWA|?7q)SfAtwgHN`5bKFACn8YDKpk?jW03^6bz%PAQeyb~XY z;VIZ{us(yZI526*Lqu3P)n&=iWz|%dnlO5BW9h_McCFpkdeJ`AhmPT~E7pr<0w*qp zpk}f~$ZXILqSagNJS5%e&^|6?)a{A}+^D2nDtIN8Ib17S4WpVm)=yVDe=`rUwev!{ zC_6TFc*rZNLt~7Jj@j<(W4AOeM8Ba}@Wl9*e?*?_oVDTyMshG9tf1;SbTA%WJ~-7C zEM!=`bN3n@F{|OZ&)YAy2$>6+FL~od+q(uX?Z-R=!qHK8>|I~~4&3wA08~+CO!=$T zeoGf4S7?~?7;=(Nv2a9&f4j$U&GR{7ur5O#W?MX;@j-LJQ=>0haQ4wReI6QObgIvE z^ap*A7WBaUCp-^84AXUBQe~W zp@wYD4%}`s%4f!h4%R|S?c2RH>o2?f3Oe8Gg^>09rA=P_7JSu zOO%Jew;4pc>%*fWkMD)6Rj7qA|Z45Ja7k6ZU z{V(gm*RGJ(6`uff+ronWUVRTLfF|GuSkjHMiamAxw)8RNK(=8O z)hRjZ#2mm^cr=JMVmr+^TuR{(a~Y$YF5~1h>)`W(%+Q9WTzLU#6lVr$G(H^e>(Q~l zf7s_QeGnes$!0_A#i$`-m4bee{|8~F8BbIyzQ`;d3eZWxFhxi z&t?PcfZO^mD@vZ%e8-iq+gkafL~Tn4ucZVzIv@hUq{07@dtWb+gY(^A7}(|>v@g+T zMxs=PqR@iRm6WN%JTyuiJt$QO6ksYNbB1r^E~ie7F2mh`pJff&5*O!Z^ae+4k28jB zA&c|ue?CLp_Kn~mp}}bE_xZ4`D5yki&_YTaC?aMxcwq2?icf2}GJ_LgnW6LO@_vIp zQ?4Ai?V87jNF3WJi>hWi8IjYmvt?VP#WqX~_|J`;kl%+=jHAEm)Q3aRhx5GPEI0@G zvRx=bcOi=>Eik4mBFrg1ni^AAlX0S^`M@N&f73?BREEQaD5uWPw9DwY4wkapjN;7r zaHxi;cs<1uWB%q)n+o3t#ngbs2kbJG4(TF;g(#)O5mfflWz7b)(G|l}yvu;8L7q@l z>w7u7ST$e>qhh6HYqxN#P>%W$7WiY+26AoF!QoM+gTh8v2q4)ny#3OWE?kIMXh@c5WRN;+O+3 zlJP;(*oQzwMI|Gn4+_i5REu{GQ@Y}^7GV( z)@KZ}c9$Wd3(z8Kt@5@s0h8f1eFZ2ue+&9SN4p@nTtD@o}#N&iSV7Mrb37Hh| zxDPnZ4G*go%>{iw)z0O!`fo6mF*MZN95VOxHy57`>57LIV^aYZ>>ch2GLsV3(&!B_1 zMn!cXaL^V!qu1!EIgN|~Dmf8Oe>1aW02E`AHX?{o*5cl(TTG`DiRy-x~h`u?!e60$<#31 z-f`T@3fYN8fge+!HFe3?*xZ1umRffK@1X8btD3st5D&d<((*#J*v8e?y5{wzx;c~I z_K59_;h1F|fNo}nQBIxfJlMe0*?C4mrFY;t{RYSk2M%U~MF)8ie>h-hh;D<8-ww?A zK9Lz&qf;lngA)-RBj#e%6Y0^FEW~UEuc+Rsv8mw>#BF(2ja3x~ZQtzEgKm zd9lOai7Hg?->!2j)G~B@w~UvkB<^9 z_ml?3l)W*Q8OJf3znSS>#*CLzGshI48nK=6SGkdD!qfT#o&eQ@JtAJ4_gXj2v!wL!;&6o!DM_o(oe_GPFkAD z^D<_l!_eD|Q+4n;9GIF{QfITQNxoyog2LdrAw=Z#8D(cPbQyA9G z6@<~ZTnHYj)i~ja!EBsZ(-|W+W=kW3``~Q`f1e3g6B}J#ODD2yv*Lc6zJi^8TdUm+ zL8Wto1%P$yDhYBLRAz%&Dh-WM+0r>N<^2Slvf!C9r6^eEJ>@Q@)`bxq$4l{{DK(oh zv#!?3!oupo&xHENDpPZ+wnr~@?@em`o<_(PKy50mD%&NGbS6syEcXymAv7>#$x(Zq= z(NbxL-&;oQRB0K>;t5_Y2b582;enyCm>JW2GaeW-T13h2+j06g4G!DIxmie23TJtd zVP{6EKI2gGaJtZ14UNb^4pe0oQ*1^u}6fdXj(J9%60~j(ey4IgqvoT~b zV!vtQ!uu!S0+x{7jK_wq2n+ckyst9HX7hRqS7!kSqOwlon}MS0WHxdgF$Kq_SS2<0 zKv>Xf>P$5ndSIN(x97qKZ#P`A@wUR{rmSj;pTtDcVwV&hOd`xUr2e>B4)v)z!(snu>!7a}vHivyY&Bid)2^hO*9&x{cp zpX$kKNT?Tb71abuw6>Z&;1QRz^pgc@lv!C%cHN|CTG z(&;>yP+gmFruqvuH08SZTJAx%=YR#x2s)p^m*bpHy!2IdKA4MpR->=?f8lm$sM~1< zjuX*th*2pK9CS*9+8D7}jS(-V`163$KS&P@P4UpkThu<@1^bppBHL4QB6PD_E2Z}p zdS>hZ13N~&v{P{;cH}IW)TN`kqmk>{gLw-)EyHzchF}3=!#tPIIWi?irH;?UB*t0h z@r2w&xud4sGT6)p#c?cIe?SHo*5q;u^~_#W)xE7ofxz|f6ea1)uhIW{8-Fw zhFv!%(*){cU;#leqUFx@vr|-O2+;2GS(`{Xa|jF zD;L#VBm|?pjE!O$zBCX*qdJY1jkqqFgz+QDnqe|WZX;Sb|wMHqoQ zl(C|*&^Dee4-AjUaLb6!}oIv;oJnMS@Xf^4m8uHZf$hj0UQWXUoE(z(sQ~!qie+ zeRW(@f7CzSNXHmGq$EZSL`q^b2+|EB1`Y(JL|}}LjV@7glnBV^5F|&5bc3WK4Jrx> z`rG&Q`{#L{|Mt4Cdw1_W_k2#g-{*6V1O5y2U6{`nT*aP-cK+Uc8i87cgiB1&cr<%iv5k*4MqqObkU8H7E89>00EPE7wJP0pIp_B@&UU$~wqiABxplVIc%Pao{K=0l9L1_K?@w(HG^q z?Mt|xij%X{wf1?h|5&0k(saIz={AIYnIbcV2)wNbaFS)m;4@c4TcR^42P8o*s`Cb1 zZ>^+!Iul7qOGiZ|u_!AL8R3uB*@vVKD53tGMHyzs&}jK^81@~;+Hg%~cM`wUQaJY6AiW^89h1|K_ zn9|xWno4JgkDj(!hGSD$U9xkgg)nD0vkCn8kk_;_=hv2OE$EUJmY7Qb@y-FxrYE&R zKOle&lJ|GR)?j{qrRwjW)xm-ZO^MmuEo!SW%b3OpSHcKup}kj+Jl+s5I3wx}!}(im z_BPISIDJm7|57M8W@;ChW--?UXx|dggyXz?^m~xPwtRG4P7iU zGawkeuTUxWq-Lk%EDFcYi-+2B0%X(eFbgx)gia#7(lJehCzM+N) z`O*O|-<=LP6WRzsYlwYEug;ANzpQtE#vvIUu)#->OJ~8Q#)f38r+>^XfO4r_{hlvn zM-H;b3(h9`k^-n!#J4)nsL`U}26rJtP%FI(x0>FR_4YFdj!W=DOn-YG2!`{Pe*|(i zy!?0k%${IpVn*Ao^`YEc-a}AU?rHWw4q8gBv33r5`GOLrUi|ml?x_Dh$cqdCcL^~} z4Wvk#gZ33tQ+z|G22A5#ZiE#8PUa=(%%V_KFsv+{7|8#PSr!z%RPDEOm8{c*V&aS! zz+&VZ5E9C%2QRH>hDZiPv&~wH3@}h7pzrkgyZamguKW-{0Xld_BL!nexPf2_tAjiP z=@>j6AEw9U>MQgH`(+_Jh@gQjK4Oj(=5J6)lYy=>8eh;|-itO+ZpyA}c1DH@MjlaK zw(~5M{kDS;1GXer)?GptGXr_&uk!d#a;(E#K3*dxLk#4|b&Q)vGn`uD1DRC8B)wn{ zd4qvF5U`;*9rtv&OYJ^~jAJt?)D}Ri32McZs5MxfrNlavlMZB}*tv+|gRQ7|QlvH2 zft_Ul?khnAv2UyT6@W>rXZM*sb$Z~Kl&@fJ+0055GcX51)}L`-_zN=rw2TLAFmG-G zpr1`-0?s3}hcbj{xjE{h&2%U{-)`L}6@iGaT)Mrm)egwuqN_r;&Qig4Qf_;gebn&* zL&9C#J(`Q4{6J?3z7#Tt!6-AN9dzD`v=CbUpO{lT%u!#;;=qmW&BX+n9?vnMw z)S!pZZ}Mjd3F1`gg1{~E9W`O}1Pxexytg7iT>?`A>9KKP%ab54lY%D zfu8XOwTTy{xV!F-*wArp`IgsU|Nhht%pgK@$(ol;GXs=)h1I|dPFK5;lIzm(+ZnsQk zUlcBfRBH_W3K{>Qe^{R_i_zV0SJ<01>TezB{9~X_{q(pc#9Nl1n@0E zaRM(8Dz@zGGLGdG*k*L=w5TsuI8}u9Z5fYLbYFwJHg-A^csynHe1}(B99?G)MgXei z`-h-{kj#ZGoF#P!oGM-mDk%TJjj-_fxW&GOGRKi8r)axmr%$tU=`ZW)4`=B~7<8N= zV{y~01U(6rcN>I~1ACOXer>(~>)ioojJJnAg1Zb;#ABf0o3%e-2oA~k3<0dF{FyKR zRw6msW8bW&)1qhz!041lGR6nO7!XSu-IbaK^xtCP>~nP=OVk6IAmn{W>Gktl!nk{N z!cb=P&{jGJE>{?~93$^hd>C){)`;UsqN_TKmmu^r-^bADf8W2Y<$qLP1ardW<%rIdOQ0NiG zjJB`*7gF!_MdX=dC?ymGrUOt<6U3MdY49H;i*6sowCk}zy#d5r>)Mu*?JGxf%SJSVXg7!eab(=UF_CjT)MYL=(wp zHf<%qe5cJUTr)IW<_@}>Ty{s{l9)uum+_0E6Tc@NQR3n_|IVd?k9cR_N=JQX-5P&(Wp5{xUauCk0sQqLh5_H;>&Zs(FOV5L5ve6i_=U_0<{q$|$HM zzNz-l9(lxwl5%Ia#Ic~oZA)4tUQ2w()rbq{28zZUrd_`+*8GEuZ>{~))h>Nf@Mc^T zg<^;q*Gq;zgoy977g6GOzl14wdAF)MYdL})YE7k6>+uYujxlVUI9Dn_fH(gjlms&3 z{I9ZuskViYmV$Q1ExoJKVCQ&Gkc{BcB)LLyGXI)l`|k6y>mZo|@{!i~`F282P^qtu z4=c`ZadQ6hX)gh1(*<%xvauy&F#EbQ0?rsxZOW^|4JW~)vI#?t=rnN&S!(Z z<*Rt->wNq{{#rK8&#i-sjC3T?h!h0*=8HH(fs{2GQ_(ShFNPnPG< zGhP_<5;}4BJtr>1HRgl7gK^KNf=@|i7s}6j!@giI<5X>caNA;@yX-mHmVNq z5h6WKI!CA^7iJg_#TO?~D!(l6d9C&!Cjmwnjg0NhfBSFV9eM2rJ0wW7tILC)GI@+q z;>)-f1cRIQBiP}u@+8arX-#cF{xzNDlvr5dlddE(*tTe$Fs4ED=^TI8dssUa%|JGe zUw$O?_w7)+mx#H-E&s!IB-5LTd_ecl3vx|Tr(bHK3I-pySqI`wT|x&M+{sF|?9D9O za2FYDo#BZ{8WZJbOGL_UEr7JW!IpoXAFs!x-!8;7Zq6Uh8+W42nByg}yqE@@**yM; z%B0WF_tFGouk5KCfJdAn<^KYi1zHk@R9XwV@;|M!j$NYaoxb)`-6BMX-SQBPiaQMF z63Tw=PqFyOZ-AgR`FpaS6un}ATQ{Yt=pZC}U@P+cfC4)~bx1-86QP7j^1kUe`;hO_ zAtE%AzZHw~?ELxoH!S&_xs7WJ-62TM_fJw^HmZ6#Y`>XJi)Ooae z3)@j&ld7g=9{bIIiq0MjuN)lLO^U`OU;JBS>Ab%iuv@7OxVX}z8y-_;yWZviB1mFd z0XxW_1O8)hISjoF<;#7NzX4txD?gM}7vo_rdmL+A&yxzQsy3qkY!p7C`FJtEA9wkR zuci<{g!o9eVD+7VfLAwnc#e!hy}!r0J>9n!+3vE=8(JqXwtmrGW$vw)_2+&2#96S} z`^*}m0ZA-1S0W@bYLC3vBkQ-yrD_#<4R=aCBGF|>{|o7#&ou7yG#2(I^+ z@y0F)_EvyCMLa#h=^AsD!mw-Sg7zHHgYg|&=^t6%OZ<}&wz{t)beW?pDR^j$RFI#W z4p!P0mIt@JV7EU0tyyE6_cpzYb$FOBTE3s}9{7*THZ-5px1%TQY#wdOm@07g=3F=E z42`RrM8?4-U&&rd7mYc8IE~1Ks}Zu2jN70DC>Cdir-)c;wAbnQwRV6NZ8mS09v5mf zTmvxRzD?&HKaqPw^a7XQxFZvZN2-}QTMjM7PAoZo&U*;50Za>PapNl5gm?AwSI<+P z|FT^%UKqM0Q8h1m``4>y2EUbL-P~&L+$Kn5LtJq7Uw9cXwFC9 zP5MdeTJC4zi)V_-ebsBr=uIgwApoS(0vRBT(zxZ-oH2?^eSV7mjlmyG_lgl`>{&(} z={%k_d}W5eBAqmhF}K{2!hb7%$~_qj8sod%dwzDDZ>`5S8k%ki?ojsUW%$nLN$POz z!U5)_T`;mYHgJHxwAnxG!d)IEKOVTq*TK)v52so4Jysuk?pKpjVT8YJihcuJeD&+g z-UkS*X}Y(X4x|fp^g zsfK+P)P0pOduK=c;!jbP;pU!@8ryBf7~)Tbk{c( zd^M6>C>_$+)J>F+TytjgNI|fE^Qeu<_+%gA;{D!f0IVwe9&7dc1E*Gg22xC!s@tS7 zO{#b-f%VSq#uYj;4w*Zz1p&s>XKgZ;H}cK6pp0qHUR)l%GNss$dCr5#hW%UeTp}tpP@ha^LObcWN#L@!uZ){H4A@IXnR!f>vR*ack(t_ zbu}@)OzxJV`hl%`_LGB$oGd>><_v(hm%|@fPS(*Fb?2`zhcNsZvU`}f>WP4Gb6&Wx zj#L{Hv}AV~nZBceDAArL{bs5vw@2!w3w3_xu@`+)Eji_YjMd5d^F~m!7klwzfq|+x;x3s6d_|5U(Tcc+G+cPtnWrXGlGW4%vuweFemREOvq~y80t?juN1x5mwv3 z=>x5IQv$%0tI39!<0AELW1_{oXVKvgI8*8%%6{GXnKx}~e{2ob+$X;41Tc{i(7r@@ zh*u*$hpq+cquV+{4lP~1#W5X-zAxu@;+_`*ZQJ}?z!n>43n8u$fXn-7aVM4DunpJO z_pf_?eLjTgg1+CGW%;dBx905FR;h2$3|Rb`qvarZp$l%5BWKOoNs#2IWofYBf0VlU1;`e1rG{dblNM0 ztR@rXrYik*P}54tf~Or!CWzOjRjrBAyQLE5c6t+L zFtzhUJ4%R`QwN-l=9d>7!h4=j<#6BWh#6=P@g)5VP}4rRmvmrSOY!O-2W)ZY9dc(S zvA!dH%`Lh4Y+-7_ecf_-Jz;nPsIb9f%3@t81lpl|gtw1SX8DB;03Y*kSCSJm59?@f zYCy~6-yzoee3Jhfi@f{1Bu_)rJ+X92$0w~=cS~FKplLq|Xg#s3#53}$58_E&xYN@4 z>fY+-y5Pj?!Mn&(zWjd!8HeS=V#ptw_a5EA`*E-At+<7Ph5Amn`Yuf@e=!I-0I zW$uOEug9dW2Gl5d`-eA)Dpx1Db^o+^zHBL>?C&Ad&Rx?$WfA$rfNhSZG?8$!yuXt5 zr+%uA@^o5x(~R`2z{QZfRt)mRvS-7B8Mlh8=iYlK$IcZx!5FpsG)q~7`>HIFHAk`Y zKUoOgD~qT0ZF0}$Oi*?xG|lzL*apT`^2b~k)s#Q{HFQ^4OtPx0AD<7`PcBS zXVo;sBzXLb=8{O6=hcAkF#)5IrYA2Oq%{A_dkwMRmwRbr!TxJ~AS6fRrtFCG`A-mS z`ouE%z2>>138ey~ecbl-+It!Gt9{VF*l?At0q1Wu9kaAoRJVc;UaPFWvc7atELNKA z&J_U^#MobRQ`a3Tb>6OO+UQ--bZGjKStqi(LY>ePw1tqa=L`Xnmw= zlVcVsSOLS;gD~?@2zME zD@E8l1fW#HGmGE37C&%Q+Pf<&HBwx3hn?UPne}$oIua``(C~m%c&PJ@$n%wLctKPXuyX4KJN!9 zJM2W9gYn7UZHiFysHE>2OyA3CJs%V;-10cXOr?#5v;nru?q1J54j2O)E*XB0)jv1B zN*P_RH(};Y2tqQE5(39YNdo-URhWQc^q*eoM}h{4?hD6rbCFiI@O zHb1&IJt$9YJm@*h!6qrPPh(*CCT&iA>_0P4e)awiDppQmLT>wj&9Z%IbFa-u z%;XJQDDv!>yaCLT7FKrB=~g^4JZXPcG6n@Le{8P6601_*oqTs>{k=#4~u~b`AO;0GG62|B0^o(%4t)1E?|7`=^ZNPo0IGE682G6KV7Y?C>=`s-9}L8;p;-BYr6uM` zVfD8IZ9YyC%A%iWuSQprAwvY@(!?YR@h|e=&%gDa_bvxMtioX8FjXUji5owlOvwAm zYOALZ+JiXMv}cL@W{8!Dy5#GRr?;vH1(`S$Tvw5$tpzLI{D)WVraj!Z|DWp#P$9r}5NAcqW*M3ZKGZ z4xJ$+wHgCvW0a5Nz+bNBkkiR+Az58rX&k}q0)Dpq>@p6aed)5A(}|B@Z|(xgH7aMj zK;;zSLuf@JRX|Het(9k1j3-&5svCfPP&`QXjStMwbjgl!9nmWyAVL8FLhZ30 zOrzv9bPu6QT<5;E{(~;4V?j)>|Hw!MlQM)EhwCt(cH*!h;FG?I7#hgI_L2jx*B$jm zkc%#lj)99BiHAl2$4g;yBq^Cv(Ued&P7?sJ_vUh9EbM88AP)yI=|J>WE>puYyc82R zw-tm$v`p*h5ZI4!xHcMN0J-*;U}l)SS0=!b;p#q0Wq_3-V3?3RCmjWL$>0o0P%$)i zNpB9C5_I`EjFCO5erPXu+bRS02hIzrd)f&O+j^VB*^1h_-2X97gUfs zm{%v{Ab(41lu8e)3Td^HAZbec($7JWK25=8iKzA0HpBT#Dba}zV3+k|AqP84b~vg& zk_jC;&H{A2ckBpe1(K^jY{klc+YuSdfUfdz;FJv)uW|Pc-CVLO)tl7G?rrdp=K;DR zE;nr)cRhs2csh|CEy;@$aa20l&C{nUui}U|EmLX?Pqx zf?NMmW25}JfUQf11_N3Ju;r`L+hRtmOT=T$N!`Nsi@je*lJlAD3Oi82mu!HEOaJRd zPhK=_tY!@_+5tc=k7OT)`g4au1?#*g{@{o?TuHEc|1GKq<`t<}MiY`lrXrnpnl%u# zAmH^Nln$u>)rN*0E~P>WVt|&?Ide@c*=!|_3r3}Ql48+lDmF_yNUlY~@C{p(4jBhI zxTjLK=VvL?EL5I*d}!b>)n`PV=8JHxJV#9Tv4B5Et0NexoahQfeU`7VJrJ5H&mBrNe-@m`2Q z>DLEKRHYzl{`-)_Y1wwLOS^k)RYp7ptW*GIexgOvB)TuCMsT!(Tw*JFjJhsDGFIKZ zDKt{%^aS^^KL`y4n)$oPBz4xLMK>iP_sWzBhkN7;aAq93?mWIWys8F5Qe*$c2OI?E z@)Mh-7Q{+vrLU}(fHf1c>g*-aM<4_LTK~&xf>poG0r-y>NW$-Mq&86xTP-W^jA7-S@Ys%v%C@zB8{fk3cn@cjK4(5tV zlyz294csP7t{X(u2423Y9ubt}_%C=0UOnr@&76@zyeTos`05h6U?eM@~#isPk3w0zY@n2yA zZu%WPH+KpV*>P%U`=(T~$6yMk0dnTwJV&|xMV)SxkKO8xtAPW`XPVFjrvn;_Uw4b^k=)u&?@>*&pxF2Vc= zh}B?zzFyq=F;1OM2vFC|#G~tdSFCPvR!PGADN2MikHG8jD$UGftZWCok55Vom16X8 zSxroU4UyXGl(dWPkx)}qq9Lm``x+0;GIYwM(mk@VOdsN(%A8|thFK<|rX)9Nc-GUV z{8TUi4+P)vTUY)=#G-z3F%dRD6Us3 zdQ1;b0ZIKyXp=@7-9+dU?E>)dwrI@oqe%_Eq-tDmv1uOHfdj;rsbWBm{H3iwbwb%a z9Ajgd90+W^LO|?nMq)a*NMm}ariA#goJH<)cH6t-aNmg^Y8UxBrP1oD@ z)AVIWZ40*33d352nri=Yzwv0Pbrg28HPG*1Jc zc)0q~gswakwE$ayi8QsypMuDr${DKC8piE9ltkTQtb$F&(FlK`2&=5bQ+T@gdU{rd zX{6$kqU$S)Uf|-Q>tDPUo1)W77x-P&K|v#RMT6qM_roY^EQZkTPcXK0$%C|m2$#wC zlE#C;h5Y~95q>=;bMv85$Ri#jzKxVox-0WPpXK<~gx?N?G3qperdz}2+$&zFVWd=} zOXIQquGNpt>O<9whKPS!VlT=)MQz!e^bu8q{lMW=eS`1M{*InJ7wJ;F&MLGl)RBI5 z8jr+t#8FHCJHM-b^UMD7^l51Lz3(T#PV%Zw_BPx_>e5|GpDQDS8JtRj*JIdMx=!{_ z)zvS$Thn;^O=10{{X3kzC+GKpKqqpx$nQIk{jPy3-6XOqN0%YrpY{&FFN!>kj5z4o z&H1blx@Fle*huCP*CJbYKVfpfTV-d*&fiX#_o;^jDfEXbdyIb9Wx60ANvTE%1C;vq z@!0j1mklZU5P(NMN>QIx*!jZBP8KEhCH>nu@pH=?qm5k=zlaE6v6Aj<@sa2=HZg5@ zNQ4qIg(#!tb#>VW_vHJ#EVldI5$-q~(Ds)eJBKTqtrg9($W2{l{WTXgm%g%)Dlad{ zH9^k->E!j+NThpv>`cRc<)K8Hp_Lu7wkvA3# zCUHNy9Q(>%4TlK)y(ypj0I@Tmsj$E$R*u%c&1=`FiK2PHSRt=$%0fM9CU##Ko=A3e zUTAE>7-tr^TN&Z!7hxI7q`!c>jR8}zI1jVvRPhURn7kn-wU47MopNia3_96n3Ca(k zUM#J2NbEv3?cFkq5c45xVqg$beieS{`1f9M8F6S@d}Dg)8v`Vnf)J~w8zSFwY4ln0 z-#-~j7ILm)KrJ5JKAQ)qigV)e*6CYx%boZA)^~1-$WpZLJTa;KM)E6^Eb#IR>srUd z-q`&&*)0$ID!txs4!EQ1R#p7>oi6YYkKNQOjfP}&nO!HKTEkjAw zIxBZh6OQ@Yt@}++h+Z}UzJ_#_Dc7`T-wL|8HBb9Ei@NZ~lz?)!2uv-#*&*=mF!u+G z=-#{+zJzx5pJ1&y@h;9y>n316{c}=1viI~#Hl^ITF|DCr;!p3-E0(1nKE)JS;%O5) zNI2+QiMNqL_+)z%q4^=3@Mw0}It*<&;$KZdhnX_ZEBG)}J>W@NpM*EQ5)yK~@legX z)>iXq8f!Zc;o>;Tv>Um@>GApvW0Q%E|08I`Px{Z)V#~T`@mDPm4Z`LB>F*iyGiNb$ zfLvFz=DMedJ|`DcL<~KDpv#`8rD}V>qWaT=L%1PwF$F3xUiKW73Zp}J>=MMbK z_b@zIZs@kGtcOqjOgG!pv1wL?)h$7;*J1s5Z;Bj>cT zqzpFcyEJvxY_h&|C#1fRky>Put&KLq5@n?Xf?Otr)KTRD-=7S4#$)JLT>gL?0y_K# zT64RRv<60@FD%MT>c$ej)>etL?`k^iGQnXoxfR=%QntdAOJ}#wKVQ$1x2rCz_}+(S zTd*EwhO9^dbaxTQ+mb>NIy$bo@@PwyPj>C+bYzg=1ie^>FReYE5qWi^_XdwKh&q~Bf2D8ah0+&US@N2%=X$*(7H5pbCj|| zKD1X*sMhvB&jK#6th4ddSHu~0seH)?4@c%6@rMadmkT&b-lJtf+0)w8H+T;z&e>d> zX!$aY$2NRwe-+`MQV_PihtR(JnIm=R%i-W;h8Mr=b0NYYU|vrVd&Cf?PSHJOV?V4l zT)iioL8gQY{%r*&0$vI#%wF!Oe({qH`ROXG;BL3oR(Cq-9J_ugWvQ7TX=SFf&)Fhef| zQ^qNL4$DgD*KLBAJ2ND#>tS0bW8RgS|`D#A%tEvNF=| z)hhg{q*IZq3qnC^_st{i?$Vo`5H6qZ)-ICEbCLe6HEItv+0ir6UTJZzV>NXcm_+wRK07deT85DoIi zoyYsx^Xa{AFdbfXe`;MkXOx_5I?p;^cc(_v=>m@FikvtMbZ)}gnSaN^rKPNDeb031 zHSdM5e|n?_haC?z;6HcLuiBj|L^Isa-&h%b#66)1FFGaZS{7?Wa(E6OIkY)UPf1onY)@O|& z?A?$S=|-Jqjh)}?DGvPY&%`HI?$2~r-n*C!U%)@l8nT|5>Qu9f)Am<&Zj>=ke*@m3 zo?oE>?V&$CNtaf?p&Xt_P0T9|A!Z>~$jiti7D7Ul{#RIV{KE9@ESRqMG(0&R^@y)z*{hU0i8gw|=Hl1k4%;ws~DX5R`_k|I>W^1N|H|Iqo>(nD#QoLmNR)3Gip zftnq~{m}HoXFkqzU4>zPP!_RzPxemqZTTO~#rKw2cfBocvjf&CG%c`KAXN?S@IVr; zv;Rb#n7%*l!oYl2Q!@`bJ#!7=5Ay3 zV$>UE+1Ar!)n5{%wio*H0jc)uwyl)1-l3-$nu5gD<9Wpy+m}Uc^Zk15OkaT{Nu@`_ z6I1jri{}UCA4dr;?MU2R7`JfnI7Eu60==h%x!Fl5V=}Mk6*7vSDim_}_;VPWvI(X!dJoy4O8oJf?&;1m z`u zhb>re5y=@>FMPyV%<#zIuaSjxra@Uxjuh74O^oS(uFziUNdgNqRr)NeMP z7SX|K35sXTRf%PD8mdSc_>FH_Y5S>m)m`VDDa&tp@Pw+e+nFz0^-r}EaNG{Mu!#Ei9kFecm7X&NeC~M z6#vud+ejs_(*F!EC%8xb?sS|Ny`5sn7qE38?n@vVB^vdP4xxS0@Vxde+1(G<{{)8W zY=rC^ciZFoVv6PwnL3R>Iwe~gVb^DL& z-=};?^_z>~eXnSXy}2sUGCW(QSPtu0{%i`q1M8dBvqg65VgAO+89lw^0}223BUYmp zpH_S0@EjHqmR00(koTuRUgYnwoa4coxb(}3%)N-m4`vaqeu@(|tuOfV7$#82H+dY~ zTXNS+x;FY?<5j?%2<*_PhZn9o(z8QnAEI<*?1O2>+x*^b>FyS1`{;YW85i8%>f0fS zZ53LhzQZFpLIrcsF#;NL4&zp;u2!cDoDZxdyHTC53~ww%sa-n~7<%D4+J_1MGNcyq z+V4YtX}6{ugqF*)WaLliQ*I$&sf#hL49}kORgJ^ab;Bsiy|9)>KWfXFoOEN|)9Wo& zTeX>vM~)UD&kN&NZLWCBTYYA*!~EXUwVD%e-b2hKI`DS1l@ehb%(`Qs!H z_l}FdGD3LRxZj-WpeV%NH5HeZoP}^c>(*|MbJ0dpO=>VkarFJU z8k{l7I{J6%NrobIE$>d#)y#QVWZ3XLw#WS0vh=2z)^BlT{i*=mVa-=`<`2ulzvkpH zi@lW%izHsVH$3uuEe8v48-rO|rgZ#mMJJq|?>S*ed>1Q&oLW1}wF7^ApUzpXssGS4 zO7q=(Wn5`d-qDII{I5<0aw;{`3i!uE>Dy20pzd`9RebFd8#i2CyxlZ*_mEc9**7`3 z)i@+8c~zND(ZRYu9sWghP6d~t?Pv$|R1@yn=M>KC-};ru8E36~ph>iK=He_^qkY9{ z`Sq257{#UhKA@%HzCb9e?{B>=K-~z{?y8DWn;2W%f+tDHJ6uU1(r$po{ zG!xmUNktC=yO)j>zy7)<^Hf^wrS)xCkW8?l(HwU0=xtlT@d zLaT4-P5(Z;y4TO@?Y#kpa+=S%y`)fVT6DT`65h6ZJK9!1r;*!#f_O+*@-yF!s3qvI zRSP@xfm^#pp3nLGWbb}UKjmhGcGEtJb5ISR-oHmqlp+qN1{Nc-EC z9yuU5_zvFhwXRAC{P@Ff^ln9Vq~eh}B>pn@v~6`zwb9IT0_^e=9Unp8jt*IFaUERC zz~@?OJ_}UI&e4QEEjRR-ZVS*?<`i+;-i(Q;c@Qk$cR1r(^3J!spx(i#GQ3-%HlhAj ziX7XN3AyT1%kM~b&ySufWur9UC%U)h7oZOXTB^T`^63Gbl&ya(f3p$2Cs`-N*Qn+r z=d?%1H4JZ`%vR;hzh=DqMBni{FiZM$JXH&jXL|3CF1RrB^EuV*hS>6T?$#Nl^$bwT z;ee#Mt%+Ys(kD%FRbuxnr^oN#$e2Cz#FVCpJS{`ntvfBqruOz$gY^NKd*7c5IR0{N z_c=Ix`eP78fdVMni!`8%5PIHnXkVWv4)6CNE>>)-ceonYWu5)Mw4c?cQ{Q+8-=%$S zFF@}l+QBFdyR=nQeD_Y~$HXmOsaErm{*xbm`HxS{W83?z=zsRs7IhuTGrWkEx04O; zet3t4q-DrtjL>ES3-10RFYqgxrNUC$s|$mVwIpqnplzx$)|_jSXh#b*91L+CSo`Gq zJ*yXfrVqKb5O_@bl%h=VEwpYdAJHe@}J__pTkFjMagidt#hpfK6B zckiZv?4ECg1@B3n#J(x`{f9E*&t$!R+E2Y7qb}NSd%BA2Q<@s}HpskLh8N<&}0jHMptQF1EjIzSG?X*Rz{~p6+qfMYW#19)s50r5e!j z?VHe@UDx3=&9{s-?* zw^MH;C4NwUscN8G#$?cNFVUntc@|;j#rp*AT_rHpfN52fUaYS7!nC&rIm$KoRHN+Y ziwgVV7RKIXcs_Fqc(Y)m1Ja-TA;EKue;)gEaRRTZ{UEAm(G*G!Nj` zul=s#wlIgBgl3Xxr_Jv3-@<}Hl_E@|IfJx@jC~t`cw0b{1oUpf(z5xTbT#T|wXDx{ zq4McFEP5m%cglWr%^|hvvc(1K*sNN~^l3aRmDribkK8F#yNpm>pNC|(bpjYp)C5kt$=S@hJkx$zk+9vp=h?ng z{Z--WN{FUjo~T|evXs-47xNA7Mg2}iNUORRWljsMF;PeGN_Up4R`Sy{H_9Nt88fD; znTf-Nw#GnVlacW+E`H?y4sM>+F4R3f5nt=1r5>w@R#1K0aTt(`U9*|D7?0S!U^HTX zFI(hMX&|k&;Wwz;ob&wF;Qb)f>u{+Iml`|p7x!BKt&)BX>uN+9J!?pb`IqgBA*6l; z!ikp0ujxTm#Nj*5Ef~u)db{D0V>9j5WD*cnn|lJ~Vm9rl-}kf=5XZ|bdzm-SAY)If zvb4=N`>zaTxBexj-?lvNk{jcB-7c(e^XV6Dsm#vQHouYDmmM?=C6a>f6ghR24YZb9 zmk4m5dnP&IRrl^At~oVu!R0Cgibq}*gJhabPgu)$o{kv%YqpUc$q>s1Dh196gDQiC z@TCHBm^hh$b9%HcWxawUd^d)BFe5vV$*{2Vln%;#Iu~THapCF1%PmndI zROJ-AA92&yu$IA#J52AO6%{Oj?@9XBM`Et?-Je$GN6qt-tY96#Mg4U`D&mRk+63-v zrq6uvcoaWI+cQme&fc*s4OW%r0X7%}HdQ(KyqAI}17XG;?F#0Nuon%}aW80|C49)V z|1K^e-TDyKVy&97_!lQWb@I2?lC?NllOl_)qw^3 z&9m%3?CI_jzx?e3{)JFZBKtyr9A1z;QBeN%4VzYgfOy|rws7w&1-F;#^kJKoX?l#> zUM~_V>hs?_*0K3m&sMb0{FAF{{K;ivs^%aL`2b6}7<>J-ON;Y!-`7T>-x6xz;vrU` zK!TMbO`SIYE~o=)a%2Mxydf*~{3@IFsOj8JOlH;3x6XYTu;H^}#9rQV6(p$xQ{ zFZlV_p8@*J%%h!4Z>O}f%$?tLaO(F{+p#+)z4blzxt>r*OqIz@x#nO#VszjoMMr+?(x|J zx#iETxtc_Wxv@VZkgo$`4*F`(Z0(vqs9xSB=kl7G*-N?qq>apcJ2&!1|UI`uW4r+atvqJ=xJ%Zs#+eM)~oi*3IRrFmyRfpYUqn(AhrBds_(gq~9rT-USfyUdpi0?NJ z)(-M{@7zDXptm2o4q23eyY@<)`Nj4a=#{bgGd*$m*G-`Zh`EMQeveQP?!uQu86=r~ zl|g0ng=`bI-}P7Jb+Hwl`rf4;*+DIzDJNF{GsV6axw38GtDS~)eEF1F{MUl!+6<-M zQ!%Tfz8y1#(UNOg)!Dz-RsV?nW;Ay4T;CC}9+|xRFUW4^iF_nsL{8WlJ_g;r)pPo` zTAi`(6GQKrE2@wp*tC1Z7o1S8Tr}WvOZDGBa9BEPh4{VCgT(BZgC!5PAw_lbmTQMO z!SCuVWZh)N+D7BQy*k9gdwzU-|M+O!`TbtS#(gTUzg_PvW@RH+47?+HK9vWGJ1aX&U;Vl5EaNQTEPdRRb=Fop{;N>^-_Psf z&l{8DA=^~{kE(Z!(kxiEcFVSH+qP}nw*8iEyQ+&_w$)|Z?y_xvz0cX>j(h&)S`j(c z&s>o)=Mz5z->ug-dg}r(d3rnBFga{?gpcW=Aoiab0$)LgkI7;S+R|CMGs!cDZpTYz z*K&M<=GYJTw!-;sE|mG%V&W4dEt^S|0?OaDh43xr&Jp-WB~Ad3LrSp_za@RTOO#DZ zU*i0~n7F43d#C6DoW%x%&Rp{sH(<;A}=v8Kr4GWbV!xjO~8di!U3F;QfBszUnrj@OGJ8l;tk;lgC>8e$^ql~kfGUmHbgDchX@Mo132&vkYDXdjQ#e2PVcVI4O zKvkE;-(gqP|=$@-f$0I&;Wqk>veS0O&omM4HY4Q z#Ys{==t;E;#P73o^T4r6gu(1c;jSUWm~Qj%Z|0dTz(Af2x3cf~pBcy$LjO7wd{fTj zr7Dgk&)jjK)Kw(g_@^kB*~ir-09Hfe(uJCH5L_U76Ix>e~PF%T;s4XWWl6C3cO>Ex(TEa(&NT#+IU z=oFPpLXZXpW4xqpidqt1eE!7oD>cp5-|Zx`=maY1$6UbQ6+16zDIUwEE9V9ZsC3e zCzK;E6(ZAfw7AyV-X{JS$pBD_>ivhP&Q|^?MOv(kBcwn_b#W>!JRVkwAfFxy-~kx@ z`sG4nNx=a$J#kT?Fs=mGf21F?UldluhKFVBl~?}XVRCr=Q&u*RDVek=Nr(Aa?1F$| zGxk)vcyc?3kS#Mq zzreF0gxMY^kGS~qk&El=su84VtfRjmv#r>K_7o4GrW>rdF+PT3nMvAU)#Szq4Laqk zHmnybm7q@FvEdi8*zi%NDC~ywt(E~L627&~mXXeDsF2e^D-%I8PFh0U-S@oCYe6ey z7|8yDu;Pe4oj16h5IS%psJd0SjLUg>qK9}0Hff0TR-9DlIaWF!cmxfa7t^m}?nW)} zu8%5($=w`N9CiqFTOCg%FV0FaOfXm}0+NExPT5y|Obm20)BuY2M`7zoFMHov*D#{j8 zgpn<}%A#~36*LQmAwuzOTHXK*d`-&R)2*hA#@TR!Eus(S)gLy3?adrnm z&KZbR(hYCI91$Fa`C0S*Y?8}Ke%xXU0=t9MY0xJg7=wO+!QZ9|R@F*AP4m7AQlf$I zsFvi5X9$i?tClvtS%A%F^g5l~Z z2^uZ~>yzQ0x%dUX!Xyc#(0bzLI~>5FV*I)kUhm?xb8D|O7*-hzii zr%Cv*)%>{k-^^GvZ0Vpnx{J_1#}x3ri=D*9ZXkOa%pL>a-L1yH>QRt$CmI-k9Gd zH|sNW?`S=5L^dWO0GV61{JSBt^O!5#{_3p@dlc`yd=Eb@byX?1E&9V{@d6H~#=)h+ z<%L2JrooEphOyT4=tm@)XkCDO9k%wahWvSZ0nxnOde|$tPKW2E`t~~G>!Jgja|BNT zwFwLx;Foat0{DbqtxC*5z6C)AWoF^XI4=TL&Uh*WwgP6!_*(#?ozeCSm;i*8?LUDu z2o_EvW>$`jy#f%rjQk>C84xz6{{*r?*jWC*mvkB1#s9XjvuAu20|%P1un{p4sW7@S zGymJl^4~Sf0*U0=QDxv_eviu)S(J=00JXzaSe%)_EEA1OdCM_^w z6VMs!kREJ-smDvZz%}U=?!y;RnG&&zDqjNLqd(W{4ryd6elceDhMY~-ud{aJ4%8TF zlOEsbkZBQneP45Z-_PLRpFjnSn)w0S-;dTG*S<|zC2~^6ACJv>(ST?MN6K=&@y+tl zg6rm1%bJiN#ZbkC4c}M3`O!tJnFg+#!SOdgNkyYHMLrYNoCD_qI70Yc)~h^^m-n~D zgiS*Md%_QCD9bK%bvmWOUwS5M3K&X^K~5g+v;W51?wK|9k^XKKu1N$Bu$TBc!e#{4 zO-n566B?ZqE_sQu3;=A)sI8+HHmk3fOzWrv`5vUknSWe8JU{Y`vHIi9jq0i<3V@pp z9ft`#<-XkBoN(qn@NmY$Pn0(Yi>8mvM2p2DK9)4^hM@O0m&Y0VKW>4USyJxoMXj_0 z|C&`;-)jpj8Y7W&vN)~vV}kC>qzL*=dJw9Cc@*fHy*#)`CJhJ&lY8=qks&E6EdUam zhZ^v|eFDld>m`|lS{p^A)(;^R(iIl>cJ%B6-N8aCX8LPMLLlRXG}L#K7{}m=F1&Sl zSfjz5b!FClFCg>FI4wRc-q@*u|A;bh1s-PvZeR}rTJR>9xN85?Ep$R&bnaTZADR-# z6$ZW$|2~k+{uKabjHDOKE!DmUUn;ig1plyqlkZH2Fiea{FybznG(Y-%#pYvNv!U`0Rr|CaCxfC08hX(WUMgY zzbhZ#?43sR^`?%wLpGRNt)l(Zv)ErKp@!`mr=NyFcM;JwVWfWhw_gP;{0&s!9EzqL zDliv>)dkR8H6>xL7LJWGP6(+LS2aMQX5bcMbWavjg?Ar&ePA}W;yI;a@E%_WyWIJU z(iP|%R3Ke+=Ghd6Cyr)B0^1EIu9m)={?gC*_ZpC}(|&B=0jyP(Mco`7O?(Njv8`)? zXb^+oiE~B-00!~v4b}PZp;?klOZl|dfnaR&UIiex#xZOW^-PpZm-~UU|G3s9fH;V& zasBePErTAOiv`#WG2iL>H$lMw)+(=NNnp*yD?_N0sFMT9z*njEzz!l&0zD7o7tfTH z8}hS4DU!LLzr3c)0hLdQ)n~rsM7Vu4IfDOn@nY_I1=sbQ{PT2PB(U^?)zxh&u(9ZIbPYV?rUScQiJ{XtRci(1#Khbo&a{5KrW&iNW9^lb`NO2%c-k zy&NChpr@#g?c+V0-IXgroFf>0d`i`(ejtFp0AugG{vNMJx^m8{?azDV=#63zmU!h8 zB_1IMf?}~QBKH(+-_=a@54;(#y&coZ^$Q(kpl=;6O~0$uOiXn&)Hasb^Rp*#_+_BJiOTzx z{TSX(fGLgFR2N>KN%zw1~Z#C&I_M> z#6U&M%4?lUB}GRZyXwseN&+4nCvmJ7)4q7S%{`Mfo^N*5c9+8}-xaruBm$UVkS=ZU zc;8I*z_vR+3uEoucP}G{)tCMo`gN?T)}Ia^l|2vT2K%IPx=N2`Xj8pBVT17HmK+f) z@maxCmbCj^?4EXO(|U=!o)^I<7LV`uGtx`V)>Dq2gynmj6j_1DTd5m_mKo9-@GIVa zM@i{*ZPO#3$yl7)l_WXeKo)?NC;3OJJqGQSOJ0*uHZJp~%2hn@Csh&}Ic8|WH8h827x+sBEfuF+x+u9AEX2+x`?(aDNbjIwJ zO?q7{a2ni|CEu6q?fVnioa4|-Ll%AHK8-a+)sw^Hvr+pb8qWI>2LO<_vO>#*e?j4; z@Ub=%NRd)<)$@C=e?C;!hADGxpj#89Wzn8W&(3xXYprcLG4LGbYUqZq~haNC)59Fu1M0+%O<6u58d`_8Aq~H0e{fC{f=x z?|)!@BA+jKb)_ntSg7;|VO~Dca!*Hd$HS<#S;=ysHCXm~cr1Bs|f zc_bU%%&T+gMP5xB+`v--D43ego; zC^G!M--!-1G^1@Z#r+m1_}N$U*6Fa$L9uc#nBB{J=d!mu37tE6#8sc}Km8rYDo=Oo z&G*;QS;C2LvC%%@_Sa55h@;F-fW0876AxND*_TLP9t@A@Uq`k1LK7|2rxCP8%;%to zR$$DuMc`Z$!Y=^0Bx|Uqf*iPLorshZ^~FaFu>>&ZWii|}Cij?>JJgdHKJ;f;&Ya38 z^rScP_fW#;w5sv)E@%53P*q}dnFY`7ECF^9JOwwY^tfnpuK!e}SwkQ^1cZZ18boOz zmPho$O;#bB))};Bt=UK?)WCIrWL(W~Vu=M|+R|l6EF$1$cXm1HFS4*2L2#ZIKjK~A z#Va}qquN*JvaKb$&wIJd`{-t6eV2%%po8ES+z;OXNwv_;SsFA=pk0w5uq_nrFj`pY z+8o96jZ8?i1{CJ&D_G8w!qiRg&$1oh8quJ!Qe^G*pIDg?ovh(Cxa!r=)UZ)u3S9!!@%D85I6}aH_*S!(O6{|FHLYc zzlC$WF)0#I>3Squ%;($~vmQy2>NUTn*7u3=xTtbwo8Qn#Bzzk$rmaEJF`K*l8|?Bu zCIhfl1K%7BY1*&lq4M@CW&e|PA07C}o4!GMo1?GGQ1L9I=)q4Zh+gE(^iu7RMQuSi z6o`&2H`cpY|8``iF1?$B=3ztR6rZ7F zH$J()9?vhlR0&o~=rDELz)>K~eMb-R!T@l{K;*-Q%v;Rg{(XA%m75)d6S?tjHKntF zQZsdRwxLI5i`x9n*H*ZMj&|qm(9CR$C)u_8`j#b_fF+=XW{1+o* z2R6|wfzFTthxuk)XDavag-coZIvVs$jXpJ_3TJ=%G@nB^xG>Yn?=!2nd1Y|9dI+Zr z@YM4^BZ~05vSLaYCZ|85hbACAFWmqWBLYC1K_J+U;2NI~u$kg)P2u8&s4+w?)jIVf*W8M7ruq%`BYn9~QZ5#wYXn%15#tze{__XOBT# z2OE2}j#y6cg8seGdFlIn7*o4OrpMn^^)5MmNw9juF~6u%76Nq6$*Z9{TAu)nxY*k< zUJA|RlyC2Um&TFBBh8+DC`tzLd7FZ8>8A#AXD9 zFxY0%U{?3y7Mr6t$y2}FTR@1+cD5>qk6LtZfQ>+@dj%jgSr&IesdzhT1V0glY(o$K zrxO6e!ID8N3q}s$Z9VKxf;QCKvMJ1J;&!~ z4o>hKl(APALW$Z2Q|=hVQAAsUpkc|Au50<+( zzjoA}!hD#UHnnrftn1tGT-!)0C0Q8E>HXpj+aOn`ReJBjQCAktPo-o)I9G8jV9sSh zP+J7_v=cvxEQ^kuL2!o>bBvGD`tH#?{$=qq(fuVIIF+{J+N>uL&G9jm)o7P!Ty&P; zmn`b@stDU%<+IMF|=V3G0`=aFxP9>py)Kl_QL z(yENa--{dNs>E~3=jp?2FHJJg&8b&D3Nnw?yZ{5{m$cwPQ*UatfU$M-&YJL?#;GLN zap->O+6pzqs(uOf4)~n(M*GRFdno(0j+O$V`Wi~J61TwS%M7d~{s+MrK#FGQtuc4B zGusrG3FJebH4raiT=pZmiHqLi5(F7*nPRn7_XMMWEr|BugPGkI#)lqq-klxgc`)BX z$6%ygP1AD4-vcff1xo8V4ivlkdd6rgluW*(^_$JKidP4feVN(IdVg#@nJlj=U1A?B zV?1DmXWhE8+eEqB5h#oo&~=|eTsS~cP3`NcODw;BMA1xVVW)3{bDB;A^%HQ#p=222 z8|0&`Dp~p#a6PhVmZfc)^T>P^?!rg>aRn|fpMtkCn*de>R58f_0JFY{$Yyg4gY~H` zymMWYs|M!uuG`L+N5%Es9CQ9K^L9PyC800+Q+Zy1Q%#}bv9lu&h(q@ze`y^@GDRXq zkz9$uLB#?R18SbPEEfWPIAn!A>|XGxh&xub{#hVXxKq})_cK7mRA~o6p|@7|B@fQw z8NIb}TjZv7qE@ljYp5KhE~Bm#lrc z?9jRY-AMYzFg4;1_;Jm&G_+vwa5`)QrvA-g}cpE zp|()p5-9=o=E`8ErQ3S%4I!B5FV2RA`tbxFe0}?Z(Uz&u`BOxTX08y65tOAEGwY-A zRs`g;?A^9#0M&SJXQS?0EDNP>TGWMLt=L@6Xa_2KH3F12V~p_Hg0|5m*9MtG9gX;$ zZ0T*GiREI%)Vyf;6uDEYz}koMfa6YkipA@NQi@bjMicSF3L$F^S-aAl@zra=u$f}| zci_})``L}~eW%10do)%<+v3FG;|VJoZGEPpf5LlG05kC<+mJ`z(lvSDw*DPjWP@>* z-194)$7Csk=8N~WOPZnjB~59}gfYa9h`X&|!8X47FFp0Pqo`4M`9V0<+!xE()3agK zSbcDuilzRVn`i%ly(=U*Vfc$Me_z~1T23uF4_pZjRfhd z4Q^nUfBY%}8R)9Tj%_;^Xd!#13GXXZk6^U{04Sdol~m^oXF3IK!|dpxItk^!5w>A2 zI+;1kZ?iBXL;3_dWH?AzQ;5)z5J-oClJxKzT9(&Pk}~j*(ObnBJ`^oY$~nFGGuy)k zy?0&L%Mw$o&j1l9Pk-6+1;5sANnnpuk*oVojG>jb74osg8&p2ev;$FprFEx88GU|u zz-fT)WL}pKS=eUyl(*3L6nnv<0xJM1brbb=gkMBJ`>hi;VIQ5PL z;n?W2&d1(iDk=`eM~;HG_Tg&5H#h_o2p|1_&%^(*K~Ml#*#6IPh&LIJ%YEHzs4Qso zuSH&%Gzh{9dTEd0uY1|QZ9Qv^F#bcBo=O#^l7`P);erIV?NFsgGR#R$GnpYykMdnX zeoFpIW}>t6Ga_tk{3-}&7VP^5@B0oc=&R-XYW%!#e>=IcQ5L4c+`9MCR*?2W1!SZk zQw$$HJpc?#nl)rR!)Fr|DNRY^y9XnK3xEU>0@z~rc98}Av1eV`WZkQD`e&hR+iS=_@2Ltz6lcg z18-b77uRaOs;ei>O=7frFRuQSfE&&R|ER-(TU@Fh0 z5@iXig7iAV$s^`D(mQyhU7NJTR~qeK({lbJFE{IF?gqA7QLU(45y69Cv>^c7sivbS z_&D|aHF8J~lHy9IF%lweI1Ys7$QQn?*DMRXzottmxi-Xk2BVwHqfg$Pl;IWD z(9%=jiE@vnl;M@vpk$0|lr-=eDpg|sS~|g8ir+@-{+7AdS~ne!M!O>}<6?+(SyVal z#J99W1-8hzpO8m`Dc=0F0U%b{`*pG0EHsdQXb)*y8<&zhJFNVzT&CyE2<%Y~s-NwG z=R$!l-iI}dJV9=fMjt*6N(KDrXovy?Xo(&)TKPn8R^mgks*^?99NCQoM!QB@ks#}kqSmh#d_}Js}Z8%`aEp+2BNLzr|jZ??o(V3OJHOiu277ti{ z9JBJ|TIirDmsMkAHLSAd`z0mX zf=_(EB|jV3&b{H-$1;lMx%i}~=%tfwGr;WJ;)~C#QL^y!MPX3qBS3)Bh8X^6n!SL@uk4kMDI4NE9F?@G7&&lJ}2QE3EDoQKv&W4pd86jQ7n z>K_{8H2olcRqm)##bXf>OYM6X?1DIU@aGvw)_1#JK7gPE?wArEY!i=y= zLJkaZ4lVraDm9YUNQnog#8|%=n0P07tUlBOl+EV}2Ma_Y8x3|(;N_=%BN?2`A?a8- z!$y1jfZA z1yunF+*2p3VYXn^ewux-duw!6a#FKv3}hw}F3-btVyeET5Am1OU=7eNUW#}zf-9LgutS_r*2Z`mqQF!2r;X4RL`@P>}t)7A~5 zT<08a>dKKylY7-l5(l8l%xYW149WL!-WYy(pJhWaN?}9nmwL&9_XCTnUvQY?oOAQ< zn}Q<189xMBcsJZRo1jVDpq1dEfDREl7hpY7#UwCI2Hyrv=rBY?iNL6AP?238>GcGv z4lm|I!g_~ZrKZmu684jhwQv4#s;RYl+M^m+fqzL$^r=USXT~tkrSmE?b5dWx=`P~K zIuYe&fwiP86y(lY#gzEvVO=)X-3V;BS zqipforMqkX!Cjsi zJXL1%N_H*(1?x9-{3X85bU?;ikGzvQ7u3>a%efOYW1bj#+Pic)hL(vEQt*mTciBcK zg2RBy$-zwL!}YK8t<7zhFiD<`Zh(Y-&HU+9=K>WCp{9M~>gCuRhRnryTkE)=+#(0z zh7TGA@~1K2y7a}-tmwYA1Y+w2gl`#6pLWxr2`tdW#|9B+k%B zKHM`_dM$IgBcy_5pbeR`NJqj_ymWqJA##@k$LO_NMj*HmM)~*P^xnucJiue|!?Pjh z23C7!II?c;tl>OvG3sUH?6qcxtF`M&HD<1~NEhbN*=X7&QLnBfp4M7|Z^?VtPL!5r z8AM`vnu&fg*&v`q!iwo-<_e-G$7e0udwHj-$A!%?nJD{V4E~|46YFLhQ zaAEGfxgc26HzH;H$@Qh93Xn**BaOu;gWqo1&K}=sV}1#uDpB`@zQ}ts8!1A>Ol3E;!A=*2tnmm1*_ek_ruwRFC6hGQHc+#$x~y`x-Sv@3;S*;2G^*^% zToL@(|CWvmD9Yz|U8=GGOqdk)3d8$Mu=e+>8Ai0oH-(Qc%22mN1CDc1kQ@8;bb=zC z0Nhn^g)=_LH65}u^*C=$X7VCFc$YA{6t-uT)uqBKD7F?34)L7ql-}aubHCpG>i*=G zZ}HUeNU0}t9x7&2-a_BlQy3Bo~awVrMqx3u+x@;tZ{X6+VtF_x5 zC*+hBz_yTp3821kn4wdqyKxZX^)I;E(d$>dgIJQ6JKcUFE@WbmqpuY`3bzew z)1#ee`{SW+yG&qw=EJq`NEn}3pRwitToZ6CAlwtO!p7=QqTWM&s79lXw{Ulo1Q82X zCQ9H}pYR0|fdL%ud9@f0rD7_+OiQ|@)a^n)y!8Pg2|$`zhc+{A&}ClS-qVU?SL|rA zWe?v%Za^f-A{7O(O-&@83gsc8v06R>UJ4nu9IoS=w}-RO^sW6C_wU^(GkR#@%c!dy zMM3hmyK;n&6BfK!$(z~6ro5p$H5!83Eg@B*w+9=ddk}cb`)s&4_fcVI54=QSu<*!4 z_qejK0ATG0Zjyh+N$o?Q>|ktb9u>i;tT~C9L(KLlGhgqMQs0GuBFKZ~^ z7i9`lxiiv24*Qi9J&7IhJ@cpv%}9CVQAa@;Y9+K!ACf|#8oyxtwcZ}Zt*GPKB|PPS zf$kcaZu0e_tnV{JylId4^7R^hO1Rw9cRkRcV$x%N7r3}@pI$=%KK|K()HMY$bJ1AV z6Y8ny|9(sO0S#3e(fn_f!Sx?wDh1&GVo#R!WF2X{;CEg$UlFy^enXNIjTH&`23A_o_zm^OUIS`VmlZT!0&h=k+Pe_;eSPWOPV+v9nWR^%0wN27FA)+WBB6=w7m=XY+QWZB;^O>&OoRE@#PgOCw`6_D-kUG!%L_6aeX~IcjgE9n_V|< z5SI7(@qWEIKBuOFrYP*zmb{4leq7zw+`0aLaRH zOJhzLZd!D&K$6D5N@EPNf8OaC*|F{@>zZue>^+?&eo@f0mk_lY4_6@9P ztLX^qW!~)qU>Mv;+Rr$}vCi48HsVbF8M*L@y zkc8cSlOgm}=NWo0)@3BFsW+~AVZ$K9+cif&V7uj~_9V~ixVYLE%Qk_flVP1M2Z?YM z->U(%s2;>Jg8ublW)6lPQL?XBNs8kV6)IL)Al?rdkh`08T+Ri&Lj9+G5JujNwKWP$ z9$)T@415}J871w@kRUR99wClW%pz8i1ET|WOBn|-7YjXx6^$JSktV{9o5=a#12L8z zXbzmDYqu9(EbmJpa^6e4@cN>jQ@Yg1aADg9oUpxX4k~(J;(T){Jz^kv1bUyY#NGG= zkw(q~NSuciTU_4X;eE09z{XH-+y{Nqq6_}6@ZYgOlTL25<9hFCTnihi5HT-n9h^Wt zE{J%hMyquysE_>{8S&ld($@0;`;s}^aU+Qf-pF44C1TxA16!ZPnb4A!(iq+CvQ^z3 z9Z-F5^>WlORbWpDv*}rJm4$0*8dXRzf{Mfo0O!>`DE+E)i*^UV4$Cq&q?ei}SgeG0 zo~SjSbY5!fdXp0s--wr;Tdv{Rz+Y7CG531)HgA+)s^53`Wa zDK4t>Wh0b?h4Vg!9<^qH-SwqtC(67rj8l+rT*FzPw6(iOV;|9)`D2^XY@^snHbkSj zywJV6GOM__GO0efsv}d-c`9DJU#m6>xZ_K}!qgRr2;{sbhij| z@^)F)#(1RKV0U@@apT^7MCT!EX9`pB^ltwQ3i86l$a|tzy(?u+>mR{gB|k+8pjuhR zHs&uKyxh6YZ1UnhO5wWle=<_KB%4^KS3Y#}mLPhr$A1frKMzf{9f~+sdAd;u-L0q5{qS zdKCql4PJCy#tUR%)4~qYy^M|G0L%!AZx;%MO{yNJT9K4#;i^T%*z+#sV3BJE@Q$UD zr`eI*oG4Qy7`Cx9l6J*{*y0T?OMMt#Nk*cMQahqqOY)t16v+gn1!L?1s!u`pHaef{ zKIr4r1s+8CExR~h!*_NAJ?%iNr{1l^PKU2Vs_YP9C{TB11PJV4`5@MkYhemo_F01E-L zN%#YT3^GYc?yZ9GEtb}cW5H>SXHxgeZ^L_X?fxvUE!VI5<}3v1F497br4e=%AjM2s^wAI288H1%Twh#-(rN6&V`Bu~j4 zc5gwR|LVnqsTjv13+;-NAhcLMpy*?|mxcdb>JUj7VUL{+L+;TXc>?+9sZBiS99bDe z-|LKQg~#a`sxfFfvA$b=FOr;sLewD zdA5X>rVx)d!5e7XQ^@q4%%OWzC_$uzf;7o*)t;ASTt_fo7of#s?QH5=Ts%qNUYjl`VB&x0X^{wkdJ1Eja)|$BS2y3u|a7G zKQ*YH9D72OHDTpCsd5Si3eW?_^=B8&oNwnzVe?sDW0>7_C2C$?S@J2UzwpU?Bbk08 zH4CN>8~bf3@x79r`^l>tJE0@Udf#T&M%w9IiyTVurmd@UX#&0lT2MkB&6o0H&$6LV z$N!n>d;GWq0D=A$nVL;Yl#Ke>Spuz}wg4m6JDVOAD#QBipjtTSST-s-q?%2Nk;7#U z-h{~S(wDXvkgNEr-gH4F#XwIfX%~I?_UcU;Nembuv1{ddfHJ;KOf?!*pqB|?m<;MG zD|IHs+g|*`{smtZ=Xia6Pwz%;mqmjp+DM`P(R=0((ENN-!%Ip}ac|s@98sMLc7{nj zwNi16A8iYF#_dhRRzA0ukws$|^0nPYj=G-?ytyFQ_r=8dreJQK7u8=?EiO4vsrAZ! z+X;#yuSMMzj4$DCl(Eg)2?Dzr^~dW#w`KvR3NI~6gHAGhQcP3nf;;8M<-fF~cT(Sp zVyycG=r%zlbIGCg*E>77H403m(9FLm=`<$@M|9y}c0p;y4FKV@Lh(*$7rla$fTgY4 z_0`rv&j@3!LV4*tBw5!{|Kj>{+MTg%R10+#e#ALHk}J05)Yk=MOraMjg=V&~o795_ zyrma&I=%|Wfv>P&yfu!I6!mgCBAxE`ILi?O7;Ns-?OLmQ@ETl85S(XmfSxI9@SG{I zAm||-oyz8a_zipVh<+OEUy7?m4~$rZo@Y>UJ^=L z=LWS7i!x8t_@e0(YN`+{U}3P4#0X*%8C- z%G;t!VYujhK7zZ_7-*?wi$Cjh-}&ALXo}jOyQ3_CZFLd)A?wz8g3hBk^?-0b9jn$> zPVKII9_lz!7ryK5AZ%N0PcyK!Ip8qte(pNrfUJArzJgGXvr1%IJpgw%UYdf5#zz+9 zOC1Ia98Ri!`OP-H1u7Wt`!1LrfhtT*0Gn9sv@cg!bGu-e^osP5*WI95(bP7v-`h*q`eO)SFR{w)UXy1{Z8Nqswey>Z55q! zDVxaLJ@Z1Xs;NO;A2@2dQOQC9GArSie2AAIS2@mur*P6e%QOh(3 z*zDS)i5$dqm$$KlxQ9PGi1yR$bZ)8Jx#PcC3-0LJ(;DE#7IhDv>%<)XT}TdHZ+~nv z>qP4u$)Nu#siMR~|8nUyeXZtDmJAbjKMuJDb> zbRq;9AMbtyHCy=>0%ws68iw8fC#vp>=fvXE5R3>i@}MQ4ydaf@5IzA9f66fqQ=fKMkuh3Q#pi%bXWqAQ+uw`Rs{S|ig)#*x#sIOls&?>J{btslGB7~H`8zRixL2YMnYJ>ZVdQ9Pf<7888>Dbye^SQ>keb?SCs3PS%X1mH$*K|3@Bhr6-#})&}2uqPg@>O}(TW*Z>tw z29di6;mhiBTCwf%PfhLNI<|{gL0MXP{m zMJ1xQV%V?;`T5@Qb-Ase%!QwhN=1$acK+!u{iQN04uc<}|J_w$0oeNuyz4ipx%>5T zGI_Jg3U&EP=tGT3ni__cZume-#hBZ?LEpC&PF1uV0E}GfVF3(JqLsjZKDX1z5aX<1 zWgTZe-KXS=G-I=~?nPbwB;kqET~QlyY&V^D$k^RbTRkuJVRKPPnOy=`Dv4(RId8f_ z>07JsytJEf)JR8&3Shhga>{zNPsk#I^McR))naXA;}{Fl9qXe!05174r-DUVYLQz* zk7{Y_x?hdi4@wv(0wxh`!sdm0VrP4tYai!s9w)JFYA9oE3|A}9rMjuT?fS;uW@!96 zv{(1|LtQ2OmSpyGV1KlRPn{kf#Q~MO{#7nfiL?>`& z@R362w1^!I0(J$y+CR@w8_>~*5O;sx2Ng&wXTSLS7-YuXGAZrDlr5BhpCHgDV@wn? z1PDiYqn>$0M}6RQB;dsj`IkB=oKb$GMp&0eCA{l*;Y;6xYOa*q%aO_R_YP*^#?ED* z+8VR#kdm7;M|E8HPr(~lp_k=ZDEq!B)Uj$5zrWLW07$;h=zfiVPPEWUcT`2p>Bw38 zQ~OA=4wX=5~M&V>^LBby*0jMhz>Y8%?iNV=`#W$oEpXHxS` z*1Hax(0LRw08S|C7(ML!I2Bt#2oSjvc447N0Jgw@a6r&0GH7L%SyB!KVi{xqs|Sqs zO8m1B+9Oey;tbT>vlQYXIs~D^{;)HF6v%!$d`D~J_!_aJ8?m1^_GBI-tg$8WZ9-56JpK!D0B8|Zw*(rkffX-LM| z+p8F+nXiZGV=B<@=Jaeu2B9Xph^yj>$(UgZ!jtSK3Ox+|Gi3R30Rz0z#^)T8urT`g zsJI{|SiW2SpGNSqiB`AfJ3X#9T`xMIKP+zNfkcrzoZ48ZkH@^Mgy#!H|1=Aq>Y~ zBt%jU1Q1;*Ckh|#aeFCHDaVJ-05)_@^Zb0+(mUB$HKCGK?nY&thuoGDgi&SeJQ}w? zl98)1=Wl2hCR%Eyo0}#o`*vksD!mjmzurB-sD-lXiARfl(mP&jFGq6>=^_gF^DAz7 zrwm$118112Jc$6-eP5;tl*-1BX76G0#?tbAHS1|0OtN|p^@f>M?s&TC0A6I7F#pNzzH=n_18{1dIe5DV~nc#VMXZJ-5*sD88?@i6c(`PKk;t6 zDE+?{StsLVhiu7%w-$6GNEhe|=(6Y!G6nIKHJA4OdZCHYbL&o%*AdpQ=j;h&RX-;- zu1&Zz+uT7T`kUuE!nnk2#vsZF>`*PaWIo)51?ZUmc22Y8esgHG129Ken_D{EW;dfh1Nd%dUVKX4`IwqH8l$r~YL~m3E3{EhjvZTc!Yc+yE6tITcQoli zH7m{6d<P^i!pav1@*k!o-0`=D;?OjtgL+_{0gWNsqPbQ?sW`os)y(V` zTJDyLDj-Wl;^O>Ry`T`QBfQ4UQ_aGeMp*To8L#d}%N*xG_Cj={lo4)F5`ij-Jz(%5D;Sem{ot>BUCghyMmO2pNw^?+d{S{dzKz^+7Wcui3@?^K4dxpy^p z)k=wlCmnGb0k-t&?XE?&=5WryiK@IV3eu}x`6!X;)-b#-dSm0I0VgX1HeL(+{E8|A z-bCvYUS4p6^{Tt}u>6~|61P)M@dcwU)f(t6bfZVbLN~!%SV(UlVD5~bl@$bZQ3d@P zo<>GdIig&rmK{8F^>!w9dNLnMH*E_Zqm4NVph5Y0<6S_++zTcNdZ zkS#i2TMr!=lUhqNxRdiQ_NSCJ73n=1lg>SqXYOY z1#!v$fRSHqC1YymY+GWbw7E4)b~=pHmf6!Ogm=0MlgLMtZZs_4jOY}Px6{wEhTTG_ zbIsInuq?&S-(la2EGKs{seHT;J-iInBK*sp(yhFzp+~ui0aX@`w13$HUHbdVvi(WP zB)(#EfOY?KBzRXAb%_g`J^&Tu?GLbWugRKdt8!@GEn>W>=t<%vMeCwGs+nR-SZI3h zU-x%f(F@ZP6r({iGk~AIfJx6k-kgr=Z}Ne8?A_vFP8adu)17$CzCBQd11ak=A#-zZ zCfP0hpk0Sf30i}_F74`H4j$y_Vbntxi7O+hp>DG^67CjOF^}9)fp)JtFa$L0JQ-D5 zR7cIgtJYj-u-6@zQwm++U#5F$|ATD)zJ8tHJl86E<>33K8u8-QDXnHeZA*U1fO=aQe zHoa$kr_knyQ$(EDgM*$1C*VHsz|(cf2i&Q0ylmMZDm?$J5;#CP>;N?SPUO&JZj;28 z2iVowC8{>_7&g6mo{e_q^xC#%pSKwtWC@ubRDtVUM!!lT)7jEj7;JZ zILZ&ZRB5brc1S-7e4+N{51oH$o8ng*@LpIxsIRRtME+3?48-odYVhsMS+bz_(dLfe ztb+8oe?aq)evctK?IYskwyW1WjRJt8TdIWe}=EX zq1f$2UGe?g{sB5hMr`<>?G6o?DK+2|^nduM9RHnm>&Bh5H|ez7t>qFlRJ(;lGF8g! z7V7L6zKUSLQ}n^a)ceOrEl3hmPV&j(!sf;DyecG(M;qo$z8*E_fd83Fxk@osYPT)@ z>F;y6dkg9X*aALUzMcr(X)83--mbgwBmPxmAuF?_H(PIiycRZc08P)wZ+psrC~q%o zl>y?_K_RgLyU+qmjB_5ir|E8FE$P&!Jdt_ekh%U3vbpPq$KTbnOpULU!Jo>zOscVL zT>&n?;B#4{@IG$)95%OP7GaI6kyu5PDnsjw_Qabf9;2%0c{64aW=)kuOF?~FY=Wr z3y(j&fKBYrw^2y*?=_KMIBeg0fiUa#6x0^`la+?k&kt_A0JsNRBRowk2l;Xg3e#dY zFfj=&y*Shkn)Ht)g4)f7s^oCG<_ z^9?0215UEC_Ad?_LfgjY#+^fCy$4%;SiDbNu0oPK$ch^>KN5@awSHUPL6*E zG{Ab_Bam|DEX2_|1e}AQN7D6@ke->kOzco~F+{aj0X}*^Zjt_nI2psQMWQfR_;N0| zU{*ncgTn&-)B(VJU~y4~EqF<^(*z?&H?+^xL43B5gu;c-e4=KhLD8YBHU+D@lD-z# zd74N`Lrd`tb;#udYX!sLSPTINd6|t6Rbc0diIh+chtsBHzJgA3(YPXM0yc~d6@QR- z6TArjy?w+lthS0rl9ezX^FL%V9EmM&4^0IN(tnHKl$AI0_~pl_y7)+U({z;ugnjy} zvpX{OaN(5G@x|7HB{P6cA5(`AcX-iZ#+WT-T0%gfN~0n@)Ud*GiNt`#)Xf~Ej1+Qr zjy_<1B{aNg&q*MgCd1n_)>&M&oN*(zU$OEN0NA7utCzU~6Cw&tVSobX4_~dSj3Us8 zS4BNYz=U;$p$tPjvd*^EthftBE-#t*&m0);!0zR|2NZfJ&;*li-0JPezKFy>R3NV()%34 z0Cc2cDRExQ^G$DH7y9rKi?U;0w9lNL3Z<}h*|S+uWAcHWs}qBiZ80JUpIhLty31A} z8$}%xe=GeJz_G)aY35+qNiwWV31dUzx^#&a)P!$ChgR#BSEta~^4g>sfY)UecPe6A zi`AvAw`^xVVQs?&wv&mZi1?xChvvnF0VF*T3s)oI!I4|{3ZGI6!+1zvXg*&!AY5|z zmBeG%QBg)8sS7CcTh&;cKz8oEL2=Fsv&=)t=&f2uNEp`q&TKF_l) z_}jT~w_MDQMU`qx-O}>uD)j5JZyH8|1A3Mlasa_e8%162%Vid3q;KOi`O{=2kkS@# zd;EhD?iyUUgIZm3eu`akJ!)NWtyvRGqj3&1{AOZh7?-2w@)eH5IcIJGfP560qjsY* zB^Ay_jtw6?a7h}J_s8P-?nvq31MUt*ChCk(uos0Til$1>!-tp|J{z z5d0EU3Ia$iVTowqsD|#m%P!0lALCUtm6<(4BzdL1#;lFM9YMcI?-8-G_euqV`t#es z!#Hann{Y~6^DpQG_C@Ep0g=V*6Hca_V_7^QroBh3Rf9ntkm6kEn^eRuwIIcu+2FSuWbM$@WRHgK;V^G&p^rbS$H?NE+_X`R zk)pPg!?$g61KNjhj=-b3T!ag*E3id2LQ~ebDYK~O8bj|u9~LO87H&;+H-fk{cA&22 zPx=R#kDAf=B+ZuZJE#MmnvMl}^vx#tLaiz6c8=;^ZgPIfm(`ND;;nK{$+##DGJngI z3U=Ln`otpz1-WTd^Q!!mtYhmUvzNp$MolKK+5^+`0tDgXJDqWpYzVBxI3M6!F^>1p zhn<*BG{@E$@Voc3kVaHJ=~==?N}qbRoDgAnzdBA_pQ+^Z&mcRLgZv_IB#^EYSn*NM zAB<-eEmrx(OYJ(;k6svDj?W1UGcGs^(FJaR8zOIKK7iC+;R`&0LDG*e|Dk_ruMg&k zxo9^i0jcq(9n=X;yzbE&WH3!v|1ebY0a49LsrA;Us^2H448NtF4Bw)acw@ ztGZPTbqST1VEX+deI=uee!WFJ~{qvDzY?&WYk8?EH6q$jTh& zxZ*dY&-|%jg32*4%rsnuyc*ILWr(&t3`c+tU8&+vMT{r^zyExV9yoR7oxZm$u1n(W zPOvvla5>1nG5sa)7qiS9+NCJF{g?jFHn}gxRg)7uAK+2hNWKa6^}C>!NG8a~Fo zu01>nWb?5u$W!){t(`wz3mR|%G;&<%?+OhR)^N1(zB~3>2OMGu!)IUSzVAmb9To)* zN_Qz|x?29ly?#38Uaw~nA3u4l29uT+rCGb^25uyIgv39sJVc!(#X>Zt4igTX3^17?={ zl%?tSJ^M$6F10QVmT2xN3GQQdouagVV+UeWtp2p@Z<44PrfddSE{(AI?cyA09jDI) zm=jrBrqq~u;pC@19`fOxB9%RZR0{>4+AP5P%GwC2?EByDJv+1L1}9rtFAKLFZW{9A z>{1mKg5v9p5VQNq9>OC6SZ6(2`klkojeXTCTyl69_S&dJ{eUsZjq~16)0dlVCx)mf z8Yo;;IIIRn-lHpAEFIR7vZ3s?(~nG5jl{1M?Mqpxl+i-;YOsB&eZ?+H8N`HJuc9xV ziidvzh-e~4c&u&wXg`RJG)L*uvY&cMz4N|bB6sJ0h|Gy_q4M(qW|ptpmfh0NbI(&( z_}(=ek{NbIuffHh<9%UMqvGVA6Xd;wmcS-ytLx2R>NG!rCFKKu8dmf&9Wr|gb9T$G ztFVp-A{Kqz^pFNM>AMP$T28n#s+wM{*t^@HqDB$&UIjFn|d@GWcB`v#SkkO zY1**KZ#~2AU>^tq_~Q1XS9VXWfCXI>B$P>of~=5;X&Y``Km!33{r?p-YRV%Xu_n=@ zD!`mi<;0!j)TX$mi3o}K57t)`YSP-$5<#X|eSZB8$r+`?(q(K-gUzmjkuL4(;Y$4C zzNkadI+3o(A9g*rjv+mco=~*$PO>~H6Ded{7gO-`Rb;gSyxIOqLG6&pkzv&Ynzpb+ zm#4|z$yj0NbjuiF$TXO%uKb?Bo32T+#OR3skd`RZOaUvB7Fs`2!5UWaXWJZ@;rDS< z&9}(mfKt=yB~qo9%$Kq1WmAV_>7B&#O*)|)QTz?W9G9kN|5@4Aa}5u z^M@gLWQwQ_fM#~rSLn>ub8UMj0v^k*AWGR+*j|pWG7`Pzn&x-=yAKs2ZNYqt{H{Aa zoRaqPn1s{Jgp;Nde__*@yha)}fqu!f#qukHSJnZ2o?ZfRiziiAQm{u;9wzo|$!Xf# zb(Ph@FhDoA$++(Q4AIuB@c<1K+%Nyz;({8(-BcVEFcOqVHqnS5bx2hExlkqGBKABQ zGdEI84W3Zr)(oFb0bZasuN0_mT3Lx710Q0-?24Bi<{8$04Si==B7~P7Mg_q`Mq;Tm zK$sqC$uMFyr|CK+Y>Fx$8RyK9MM679M4V(VEhA)iM3za}&jI_C0Y}VVZC<&yc|cg8n&|O`Zce3O6D&C{Hfk6MY9rN}5fz`E$2DeBq*JaVO0%sr-p*z>thng@7up%ez!+@qqQ6WX$Xb zym8&fN5h7@=UL!-h@E|q)4FoeZw|vd9B8GZE9Pm6NKq`^VEvYSl8Wm#_W?vxx zisk)^6$a?1gv(=6ef6Yj(N%$i9Su(b=)WE*eZC8{O}U7v`TF(c2Bn1zsx;UAo~$eM zE`s|w1{A=(U5_RduF9<^&`m>GBwo|~W^|H`F@oLtdvHVfPAsSX;`#$IKiP+0xP$&h zyrXRm$M%kD?fWH`Szuts*M?KYYjm`xsjN%2yoNd(}fD{`J>iYVq=imn0>V0enwP?-j!2-$;G*hyzWuP(lGr+#g8T zL{oW}Px}unD3AM7c?aZVjq-P7$z|f{LCgZ=*oglqf`93%w#meFsq=_&duc~X;STe` z<{u1|-aOjz$K@jC;#$0#FP51hTXYd8W#`ELJ9-CVNU&(0G(KM(6h2K6x^%d$Ly} z-dvDPr%;&CmSyWa2MjTeh@l!FLIb95V~7x4r^C=KJQ8gx?aFMt2Rzvunr~VRezP~K zDohUyCscE5!`kT;+TBi{;KQv7i_2P7&q=7tKz;o>sUW8yw7*pm1t>oCsSMVAdfeDb z+_aBGjZ;qG;&0WsQZw;sBsKGiw<#~Y*iodyPZX!g;M8%5T4FjpQGgo3{;r3&%L$E= zqMa<7Dh=^4JS=T_USgKPT_V)EKnp>H+&v!Y8;^2wX*IUaK+biD{3E%l-tdMJ61@QZrgmyrU~$K4nX@1 z!~0Lzgq!_8lNKi@%YRQ=+yDMY;&I;h7|aV2WvKap2G&E}12s_6yTUrhQ4lcJJ=-7Q z-GAu#V6O8Y#xwKRV?IkQ+BQ^Z-qI*fPJ%=h0qVGPv)~6pkMEcfU}On(zu!=Qzdq)a ze2eA2SeSRw?ea4?_yvOtfeCf;5u|n!0jlmN@nOL2y*{r~e^VzXFL=I>ea>h2En>QO zeq0{TP9nxmiVmt99-xQ`6(j{Mi9pgZ{S~_0zs_cP?hz6gqLftJ@W6Z5+#T}TNal2E zu6}@Du(YhqWdS?9m!y<)>N1LSuN#Y`WOZ1CzxuD^5*MuH$8MI`D2L<>K0#Sn(SK9b+$vMdT}wgx*+*w#la5$-RSj9d3Ykf)tRk=4`R{P$ z(sg%7E9QUx;mM%m)qx=FZ@J)l&vG(*21%C*BcLVg^kv|vo!E%$770xD#h_}NEs2qE zHVie2T-H+)t(9Z4gKz;2=cC(v8GcfI@lSTu*^o`NuEQtwvD`FC0~~9pWdktt0aqWa$pY zMmkthhgWcxGm(?a^vw@UYwa-YR5g0`C=eCrhQSRhfc~J7Tn4JlPt3y^mzOV25YZgM z%OVzJvpDBqt%rLh&~_WYgRMhNM2RYdE-Y4x{~~tvoR-T;V`fvc0W?Ys&%^gJ5XjD+ zV>wlqsd@v>+~@w<&q1-69&WP0nRU?4ns>{b^zFu4X|vyt<=ZaKZ&RxkwH)W+WVOxS zU$3dvp@s_eu&W;Uw+CW1c4g5^xfvva_(M{}u5)``EC?<9vPe%!2jwY?d_5J+nY=%IgR5 zUF%muRqf9wX`z&W>0|z$Rdlh6*Wg^Z$D4_PI|RXup5ch+kYZ=+shrae`&SNf(Gp_R zWY0Az5h`~h*puXLY^OOad)Th{+pOvE}Y+` z#l2HFa z61^Uq_>m>vmyL%BBw0v$mo145$u_hOLl9>dzqsk)a?wS$s8dZO$rFAdNp{ys)Rz}A z4q%n4fzC?M03++;R<8-%^~*SHL2(3*8KlEb-;>$Q_RS>B(0DQ~dGy za1Ze83bP9B>K0Uyo4VOqE}%?o@kylIeDN!KPyeDu<#2tV{Op=lGxjFb2xc{hOoKbW zdA%KL0N$T)tHael{03|KphN`-;szu^hD)HZL7j5edLqXfgN?*v3bbgNO?N+EkyCDe zWX1SwTSWbvv|i9txuEVfxlAobqY(_t+je&Pzt&`x$jNW_bE1Rw5nDIXLcEeIyXFr6 z#BZ^h3w##(e!Q%tAk*0`&;IVA!Z4Kqoix>Q29#(Yr@r^5uc&c`_Lz)YYjqe5ybi7F z#^^4st}H~JC70+Gua&!oXSWloim-U*uP~>V1_3i3$)=C1wB_CWCSF7t_NPl(xml{v zm$Gp==69d-V%IZVHsz@8$I-j|$e%P0^*t7OUfvMxk?yc$-hjHE9wug=C^$mAAql4u z2l!14L{V$7Fz*lCtyrpGrQkn&j@G(_rwl-jHX{63E6DZSvIvN6_XZDW+{2hY{$*w6 zv#W?CoblXi<^)jv9Q^#yy~)Zpa%c)`r9cN1pR(iv)7XeDVUVs{6la?@#A5YF*R~sTx;U zq1*2qtG;s4GPpCgyq>0jFGz2v?%Z!B!uvDl-OL%e-7%Qj!Sm~2u?|RYl$T^G;7m28 zUzyN}G^j1Da2cxTTpf|vutRgPXW7!$z4oWl1QSdmAPU*vpm3IFV1fc%X^W;R0WOcq zR~8Bj5x5aq;$^_121n5d7V<8HBn%wlDp>jTX3}nHnp#4Mr|zZh_hhy3T7|o=q~NNk1(1nBjLzZw9-wR)+HfvyQ=Y|G#hNdrSaxe>An4#l zJmt|BzbvZj^CM#$94l?i;3i3M|8|Tq&DOh=j@gxCp=`{8h(4A1CQ-3Iy^oNC-sa4U zu6?RK+-XIjzZNo##5!@!5fAw}=aZd*cO>5~=ab#xn~mUmE3ES0Wi}|zJ61_ ztPow*?4Vq>gFA*D+6q#Y1Mo5I-K^Kju3ok~yU^f!LTYvAbnZSaMV&i8+UuJDI|;JS z=tbEd*v#q0k;OT3mo|td>yhnpCSexYW{yuA`*}x&22E$VT!EVuc4d?S|m*02&6(xwG76V{{&Z z44Hy5%^BFIc}CJw3gttWA84u9x!K z?&lr-fp4?m5$0Fhzsc4iYCCOZZ{x|XzLGOz*(S@=s|Ud=E?o)XLy#H=ToyM^GaPCC z(RGr6%4 z|Nhcc>n>mz5N@vjklC17|BsM&SyMK4lLM*eMdJ=JZU2rM1eOql4cJ?DUuQmORqttO z@a9L*^iNhkm9`9L3_g+O+w^|a;AXB= zg6TG`lC-J!A;ndnG?&;m*;0n$4nuX<{txtv25gB!#2a^ppUPmn)TPqinR%VAT7K^X)P_A(u zg~w@+&=u(j9w`QK8LVn_$QtECY=RkJ+IvlabYJXI-5&08N`hYz%2ep zz6#rJRxj8@4>;t&+H94=)K`h7-x>aG>otIO*m2G?N{O)nJ(cI;nT?~;o4$FcWVw#V zFwZuNx`27;u#|7F7i(2MwCPkVN{ZTgS(HBznwPBKd`S_ie7BJAD&#B*bO9EUs@mWj2!-+aM-h5E5 zzX7>&u8A}Jfgtdn$E=r#YPK`}l-pqg(u6qnc}R|fQqG-BGc*poSJ6>}PV9kJci4Q5 zR1m>^F7ir(-tDyci(bs zl@0Udi(K7PfS)UtC?Pjod4JOf1s-w^!amLM^;2}MAaWhot*Zj8p>!Uw0V4sh=9pLF zXM=`mAIp%vSr&}{HHjf8J@y7m{OU|ZLpLH{4`)EH@^1oUj-J^Wz_xyOhSj9+KBMm; zkGJ+5_&7!fw*wt#J#Gc%c5ftZeyu91>mR0fzp-nxZ7281guMfP zGhC54Bm~x>I!`cyH%SY91fl(;$<3o2XdBTkfqH+mafT=jek{EAY1>7yLyu6NS1vRP z?VlVbzwS3RF24$-Qjv2(P(hgf7mM`|6UoH=e>QWx@fy6=e;nqc>GdpZY^b7nxkhRA`e&Mi4FL!1#5+klVTXQ7^K{RF@rg*~H08d~cMA;2ej zfs5KMcve^@beHl~^Ywa1KPq}oRJ8H~h%l(Sxb@-KB=)X)zwqwuy7Xn&0pQi!O}a&c z;VnyIrHLvkGU(yVX_)_&t+|BU&Mrvq(@?!#%(L-tU#3j@#VG znR1d6MbcxKZ+cR-rJsbp@;=ej1BH~lXE5m>H4%?oEO1!Vrpk!Uz~0UMumP<#noG0M zlAtjCYrw`gl0LsVZ!9S#z8M>Ga_9PFV#tP6Za9=#76h;mP6SNQow!oAPTm*34bIvi7#UvcnR<(n#CTCPs9I@7B zi0?@+iKB@hvqgZbmYsY+Rq;v7&;E;pUK_GX<$@F?kxss1v8N$CE#g{5$M|K63D&?? z$}YnK zoz%GZ_D#PNw4Ym_jM4|{1_r%um-OucV{}+I8!}tN?^(jKPA!XTrmP=1L z4DT>D&pf9pBLrePWt44`F^-bAdzf19;Q&#vL~r&8jzmDgddAm>>T>C38ImNttYKOA3t*JvcA79R~%{qMsM7dnJhx{1&4bNvNBPSdbd~7Z66OF3Bb;gvM>o|WxcW; zVW)_scm^u3oJAUzV`oqfuMcy?D@@O)L6QAH8_a@c=6&?N4!*edtN6-v!%)>=hGgqz zIn=V{KvQzIg5R+;Xpw$&(x)~fH6-9nTAn?h;tX#EqmdmOpI)vM~gh za8^2fLYYz1!Ejso2d0`U;#rfx2sHIfR&JoHcgXO?^&B!>_A;>N4{c?6b zHrBf?AJ`&_NncR_gNVJ=TDohEB_nPT`&|dYZ!iNwBcvN<<{(PPJ`$0*UvcWL<_?6?PSF1W``J$2waX z%t!6xoQ3?BK(%IN+lZ7=Q_@Kvj{j9kJK_ks1a>PUr$r~OiQ7? z^tZN^h{gx+C@^QjtQ2^;Y=%?m-i_v+k~N)jQUm1!K%P%Y-R=Q-#CHf^yGk})U4kp6 zZnNwluJn4oqugP1p}R_lfJR?7A2Qa9eTh6)QY})k@YGt7O0apGT~Xptr#?f*d{Of; zEHXjk!_Pz51=D;_?<)xKQ=d#&;Vrg3lb#g1Uj)qsR{Z6-Fl4eejOLO)u%_o~bhzw0 zXoOb?@Ht7(fJJE~kne9o=ll#nlQ(p&^d*}f98y}^FT)D6&9oK&z7dIk~@RzYZGKKU9DK(3t&Hus3Z4# zi6HUfzhGO{FDAs_4@!rXzIC*t_E@-tC!ml4cqvkzlb@#k<|WI3wMNsiB=QH+DCbKv zoK?wz{V-oRHi#eCvv7o-_`H$RF=HKJQjRw4gALe4KeM{FfJ`V_dF z2ZUUkpfpyNOMC`_Wy-mQgw$W2d8E6stGHr^gb?|N+9SV`e2R@D=!rSg_?;4jRJ~vi z&;`P1qgl&OzoO99ucuq)0HA!>=kf9Dc;ZFCDN9M_E13r}X`8@9qjpG6APj{8SE{Mw zj!kUSEe$SKYRmF-z#Xas zd(!(Hu^M=l?%?ejS0;9H8SWrxzllQt`u83|HM$wQ4JwGAcywj8sUVPTxqA4#z0?&Za_rYmnnI&Td9Iy>#UZk3T2{m-N8Ox)M ztecY(RHMpJBHLx{|0+^{S=ywqz!2fi(dM1SJ}^{a#?{|+s$y6x(jT%@2Ij>BuzS1j z_N?}qJDds7C|A7!{C7ZMjA{&!Zuh$|UjsE#^6Pf~hO3YTfI_ZyvK%)A zok<+nZj8%*!+ur>(aBVD&Bze>PSD?m`dcjO9xOKO$uGZs5 zysXCPfsDh%W5#N<=S6n`FpfT?2b>+BYIwu-W$zkYo!c&k>rs+%pfk z`m}dG3YfciZf16ck4hWXt&V*bnR3hKL@)HEX+6M0<$B=InfA$58xjdWzCT*kG_FD0{Eg0K1e3t{sDm#nab>*k;AcXzLYMhv_Pa_B~+G_tW z0yueuCvAw0jjNbA#>WD|wo};J>vqN)nRqnL&SfZNu)os_2NN~ms0L{iR$E87wUc)e z`lGKPBFzd6j|a$V?HHd3o?XTbyhkiq=PLUh(7oLUO*=#Zk0fw~9HoHpDQZ1pmxo?CLm2bO4~r-H-j!%2WKK5)vbqQrXiF|SC*Nu_eR~m92%DIb z>yNeb4d$@GTi+i}Fw1<*nbGCxjX&JIHu_q*FP{zHEpby=?VZ%n)jTG?rca*>EJ@Pk z&EdWJKfRCu_z9#{xH$Wix`hwh?%bO}s>01?qr#J7EU!c5nG5VE@>R`~DKB!esh{H#4KS=OL_(OZr>)XtvO<53-1BR4yW z+%;-1?$6f-FuX)2<=YhxdJ#?Ak&&P21>J663*vK1SY8DrYzzS{0>&L!JadimD@I{e znksAMs=Hp|@DJ>rul?S$^)HwIU0VOOTZEIrC;=S*cV+$Ofg^4Ij|VQgtkqw_q+ZJ1 zzuRrDb(nzf=J|vvv4}GC)9)XBO-Ai`jo+P-CC#ZbLR<;WfJE#5zN3%iFCm>i{f;>D zLBmg=f9&g9p>HpPpddY=pOP$^67k8RQTw2*MJg{j+w1Z9TkCIXKy&JX&wygw!p7s5 zW2oZaaArIdBxB^&o4Z1sAvMc^%|p(;mzW%L80douJazObHkcejKft@&+veguSEDTk z5OTFV9b~@ofo3F@uGxC!)30#Q&%2jfLQa1J#(p2YBs7}o8?i?Yr;r6u@<6A_)zss- z6G6a^Q#{U-G1^cQKuR}z!AZLqxMiYsW}vxNDFtYet}MF1+h9q&!g`{%?vpPQDqWH} zx)~a&#cj(rBAh*}iq(_jaKeWL-7PTU(#N9l{u&x5BYc->0d@*e+@k5dacVYic--7i zLKB>mxz{LpVR!8FkJfkYG~;ZJMA!1wFE;B}ogyCK$my(bz+1+|-$&FCW2^EVL|u=pTB>D<7eghi0@q4L zs5Tn;TGe35ojm%bmxaj2vS0+k;T@6wC-bDaUOi*r!2}E;%+h!rP?r9-uw#3+h9_Fs zFTM{95Zdhl0ON%x1+{Xb7=gIpjzf0sbcxaQQ=-?DAu@XKiGwvegY@HmDe!%!jcD1% z(CV~HH;^Ox&d;Xg1 z3qSsZ-h7ij7vei?#{>&NAw_M zmMWY`#MeDn-a4Z?M{VL1sv+tqigdTErVmv-z|LF}oFKPyQAvLvYNw5=s{``miReCI z9B&j7^_s776ML!HbdZe4Zg!{AJ?JR(dw5+HFk)d=Z!ZG;Y}Px0Uenp=^zlk(XT zjiv^0C4UE3xcc85>6V(VW@S%U@i&$0{ZF=5YqUn_K~rELAuptFeMICHnNKKt*$lfR;D zI=!D+6MBuF8}kcOX--M8=Xf^bX9u@mPIxxBh`WhXazZC=d9)NMy^X$IqB3zcRwS&E zuR5aT_j~P3nZisPn`U&x_!>3T2TgvHwrOvwU-5ZQbMNU;cgy{VA7&qKU0m>z+J|67-;reXa4GG{=KOM662y=r zP?DDRi!&%M71RNd3z)Ro6Cp!FH3jv`*YjQutU=R__aB7YX#ES%6xJvVXyogLB3S!{ zsT6gllFbLo?8QNpY5|HOE7n_G;Kw-I76Wmy%ZyOl^Jb8;UK2C_xkMUGTvP^+q;maZK4u>) zBw*R8L4ACpzNGj9b%rm;o$V{XBc%f<{US!~l;7CF4tcOX)z#L5{CWk;@p5Dssg8Dk z6jh?h2srl1;QeQ|SXT&sg8SqpvqoU-GzSPiD))*Bc@bzs=kbOZ(C2%*WhS3SM()JgJv7G%j!F%6_cFLrCuPQ9{rUrk(Bs@D)*exmBs<76MknK|(a=VbS3uj@C=?Y6+& z3QG)I{?z=*<_4`C-2`_vVTONQn!$UJ$AtB*y2L1%S;GCF zd1yoCO>Ls93hw0#u-$ECSH=;;&1EcaHw&{*2_%y0+!(gOWS*6kLNykgmW1ZhvG5T( z=N*;)i)(?r3hug%+Fksq6dRyOw;m1J3Z6>XR((|~rnWS5w{O}0JEzFHj5UFMa8l1a zTe~ZC1Bk<3JBfp-Rc7+6+>hR~^t$1$l!=?e$#UZ+oG~pEkVX1aU&A73*CkG|!JpaK zlVNUCI$b=4nhwWVAgV{nUU7VpL`XfP%rg6uxfc2Dc8U`&Np=&YpurT{;_JbztbpOf zr!gd*d=kdG@W}*QeCHIdG`wCRiNKl~fvrt#eUqicPFx@18U27fB~tEKFL*Yw>?bM@ z?y~z_keoXPV0K=zGw{&CsbFefV0Xw%jCNX%nf92~*?@<^y>?SEz)CVbW+E7CAjlB5oIiw%;V&tlV)Ax+U4r=7EDEF+bPYHIFJLworF20*74Hxn+%n`cC z?c1NQNQuTkGR%qCxyC+U>+C*}9?Yx?K923Gu2i%HTqfy+3kTSjVpf)ZukfgA{;a!_ zeLc%?l*=&dXsfS&8wES#)DAkae>5&-MFZDb3esJ;?3NmjDe*`SuTohY`}tZLu8)Ag|LDuvp0K1 z7Xw4KWiYzojqV4ee`=70<3_g8CfsEg#_AAN*v2}~;|tdSTX`}ySBEX~#>G<1C;`XKNQ2jJ>0LT{vh+s(kKSiD2=~a96HmK= z8sOIPMk?I427aR(4IH!)hCY?skgoy4G%es=Hu%@2${t=kfbZsw-$8HBnN%Nh>hAzE zx3f9(>!!vSpRt*kNPRH+T>Z~eiVPqAVd1QhKrSn9xbcv_&HQ((pLmE9yuKJgxiii|5AbZeK z#-KHQ6sHmz0Dc}0DwtMqNlMc8C)T-M_i|?<3!o@snptthk*+{n%5hk8poaV#ejX93 zrc!gT6rNV zqG^xFl>}4&JK z%ZMY%08c^i-QC9~B*c}~3o06JUQ9VTh@lQwP*_kB)6sY1`Io_rca9kb{=$n<+^LB| z%A{5C141djB*Y^ve*|1l@++$S@3@l)YP3*Lba0$vV-9F*8VsnbNEW2CQ;s}|cyo`t z-w{&is;ICg@~JTxEf*Sf4PoT5tb=bB5=FPe0A`Vi2>}Ed8pSzAiaEIqaitDgnPz@i zxW@J~V_%&B%Op7Z;~_}RDtb=ddmas8*mw30N{(82bmy{eG9@LGJ7NZ&Drp52*xp@R z?RaZHU^VJssb!JN3AVYAH0vGh;Lflv{^a{<0;<^=kLG-H@G+i{6e5#?A>qV)zUoPE zz^|yZTW;hF9mex@c$oUBK(ak@>arLivSSo7B(aZb4WeXz9L8jZ{%uL zhkK;h{r*m62aH3FNYjKBIcmypoys2@r*3 zkW4WQ{R2`t5jP2ozl<$Dvxzj2iho+xh8JD$UHfqtm5VU8(|B+Uqq|W1HA7B-}+B!J%JMk@~{B zAk-15!Pk08wLp%ly}uUB{S_1L*8he}$VTCkvs!n)nn1aHydh%QDEUWhi9^+Qh$low zMNxaDOFKs4(PXhU<5hbt0I)$7!lzoEd>sZrv>eaWBqerFF7oB zXjSIHkCk!TZ22917P#n#80-_kyZGz$=#d|509ORQ^1Lt1MTjS@CHE<>6#OhG$n2~y z?DMA(eBzo`vR+#!0+p0%m|DDkQcMo4U00NeKrz}><6JF4H#k&OvKDZP2(aT~J``%( zGp~X6-tqtzDL`3z4rJO)p7nym%kXoiWx@`?lDwRV5NnkDK9Wi=Onwy|NI0)_DLwcj z*=MI`SQ1fB^j3@3GoUx^gyD8{L6 zS(&~2dg&)U75ZoBhrJ_I1<>FnMeU1a6eaRd@5;?=xHStey|FW;Ezx|W#4x{0Q~@mP z=zB?LPkOLY^My!IQ{S%*tdHSS=17_jbXD@+Jh1$=Y< z357ALk*~AREK_Z>5YY|d^7v`%RU-r2-F-&MaNJpUL21x_v3_;3l*#2$a|N}@&qlOD zY?UN`(K>`X3@mE*Y_7wIb2l(x$bvNW$H7k5*v)3^f&oogUn*MH6i=-oFQMwnDw)Bf z=S$!@Ur~>}<|&B;8o(n@kQby7YqM!^1-@pa_i;IIVl)-LeiY(^FB7cfj9lG+H6)si zFY~?X#&T`;d_F@DtAiJecA&`e*WPAHt$}u>s-E@=^)1K(9DoC(WowjT@e1SoJ*wQy z5EVQvKlv^C?8pU}2P5v9C4_@2bNP-;*F!uXOB8akNjyK}jA$=-1>aH1bOpv>Q^Q7+ zR>2-=p2iEGRX%uS@lTjC#)((61iUcUNHb)mSp@QS;bwXKvvhR9#GU4L%H>%2=Zq`n zNkT3*lB3PPzG&Rx=VLxZnP{GQ*ST!RA~r`|RVM0VrGa(|xs&`Yi|8hp&QrYpvv#hQ<=k<{y&gdTz+xYH4eNQWF0SQ{P9c<(qA0JJnPy87RB z3FH4)$5NQGsM{?U&#jU=c{YJIp_y#?|0JzJsM*x|L^@v&>E zYUsJe>g^mcZa^nkpl6$z}@8S%r%}YSKJxh zeFU$2#YROP5{ZQ5yX zBO_M>B`VJj?;kUGa9BUDN2ojs;Wmn-!i%Evh?Bn+Gy>5}6W})Ra$6@Z#Aht+6t1%U zr7hv%lJ5Q-VJXA3j4c6{hukNqYqc;y*lB;#SUEA<7@%T-3VbVxF0 zFJ{-Th%G;}Ni3OV`$L0K*7J!26O#Z`>BaTq_rp1QaXA8*|Du1A@Tl`cd7WdKa^oU& zMIKaF7xTug);z4uke1Fg0-49oI&P?r>%#|lC%5q9#k1L(-|PTl)8=^sxR4P9qZ6GvaE=h7>)xi9dw`aYd`G?CKbRDft# zOTz7$J;0-_1Pl+ zviZU0aWM@$(lH6z#!nh1aFbf?O!ajulbN{l-I{EQS_YK6E5G6P^LBK<@&JkA`bo#L zm^t9$m({X!Q9a_~fW~st>S~uX(d%FI+)q^?XvK|1^vx+^v5h9si^*kNByi>+f zzFU17F;{iZ%gHs2E;9)XyQ-DGY1a^+evUF8#fj`J7TBbAhNgFtdYZy}pVP6g)nnV% zyeAotl7Bh(cp@H^ha(KFn6ybew6^g}h$}+Q-b}`y)H*pP%>gFfae!LUmWD9;pDDy0 z6&Zigs0k3y+i9MFbXBcb&=v1t2<&5<4Qq=Sa72m|zH>s_U2~-d+9m!xp(+?x@N%Wt z^feHu2AILvMP3nZb7tc#R+IK_hO5JRdrK`6`JqD)gM8j`Rqzs}5* z*Em3&re(*1VG2!Nyst^u!AB9jh6k70QE($jH3bn%agJkG;XR=lESE93WD!rdE~rbz z$NcB?r>Er|Z2eo&wbp@&)d~M<+D{^Fl^ZA!Ih%=y4(IpT-$*wOaf$XvSx{;EqB^zw z%8yq9(4uO__yvjuX5(HqnH6haGX12c(^kL&H1C|IetpLJd9cod(uAB&PCimDTGx|+ zrH@Z2P1iOT;U6fC8Q zq-2poVFGa`yn*M`w(# zS(&dKQhz&dSE(IeAX(^Qo8-y72^ z7p*?ObcDRHzmjg2CToOapSlt;*v981r7^Rl71+OFXh^HL!<5dRS*?~uZb@Vt!A7WQ zdFGw*{N(%$_-3>kSY(0Mu?c05UR{7u*0sdu6O=PgxVc5pAOfZ=c+>#2G;}6ZZHuiY zRECcY+($faG)uUf-Zlcq4!Y7o7lgt50S%=u^o%1VC>*rmz)Cge3*}pF)K#N!XzjeO zZ7cZz*0y2<1Lt2cpZvE$M+84^JU1@edHL7{!ln7wr|L(4Lc6}Cp@rx-eTWf~2Zxb` z^LE8H=+(3ZvP+pYq=*4A{xt3Td8NWnR%>2Y24}NFYCcvpO3fkP898SgPgSvQNSki5 z&v9D0BG7aj+0L_hV$Gp({3kym*Zg=~8Mq4yuP2a1_C{l%NP9clDR)o{61pPz6AtxB zncS0(ih^E1gu*90-wGih>lFxFl4c>{-s-NOc{At}(6b2U2c!TRv<^{lZ+3n=8tZV4 z=fq-l7WKp>k>X8A)zf8>d}0fWKuAB=!kY3_c@IcDCx=wO2w~9G-aImXH?-5J^vc zu{#Sf%aH<7dV&Bx*7O=$30g)zL})iKt4o3~Ic>tl$MVYd>!9u8)M7WnW?HIsd5nGmkcJ45_H62Yq^Z_rm){F<`Tq1_YZ+`gCzkgstUsUCeh@%y;a+`uNQT| z*W1nY)Ata&nZP&xk`hcXyIbcCQ+&YgFIY+8d)MT9jJ9#=qgcC;VF3bR6G6GusLLQv zi4LnOi#H-=fb~2*pu1G#Gnd&8vBa3)*L3F|n`cphQk!7HOS`hK%+1O;^3rk8^}CFb z?I>n_E_nbrO_Ek$-0AJ$pucbg+nBFeVm|n{?R9`aoUbF9d*JAuL@kQxk^sC1#Uu}~ z+n}mnxTCxT6}&CAUb$0C0e~2$AQIWqO0KM)>>k(B?B#<4a9m6GO|M42Is!Vwx5&|r z1?N|Ul7}`SHs$xB`0$?9SpV*m@*Nd3WqzYCOD(_vkZ{)1EAV>yCLx10qLz#Rw>X3Z$GQ{|m0a6_ocz!G8 zXXCBIpiQY`{H_mIe3{c$b$>sm1u&_(15Z|9O5{77T!c^nTt*CDxj)OzIzto#O_!;( z1uecOJXkL^_j}Xy&VVQNerdrNeas`4oekjHTXap-T?J}r)41I?`5N`Maz50J5c1*E zYiJlOMTtYrcxp5tGw&u4f46UyU-}f! z{31%1W0QB(!c307R_3hx7ah5n$RxqO>u#y!pP%FOZqP^5BMSYTGnQ&!=KTPHqC$XC z9ztP5=D;f`)Na8;HlW_Zzh%!QVXtoVcKeq!JA%D*OXaIY623j*^}7UAu4PL%qZ5J% zLo*=s-ZPTh$iZMxU-mO5wHsR!b{w;q+pdDS_~H`9yOdrC7+y8)kE3y9eS$~cFgF+~ z1T+kWIj31q@$f1?-`#5b^@sK5SD4`k)?>?MH+-vUC6YiifslVJ-U)HvEPUb=W#Nd2 zgdJ*8HfI!6+nrRvUE@2VT(QMh0yWY)NTn%wS&hg+=+XpkIv%Ny)EO*PQ{JZBoaj;B z&voK>R1UoF*=_0%2m{gC!GHHVO#j1;WaRk2GgK|9e>x?Yf64WsG*2$l5wbT6lDu2<_J+Wk6Us=^M zR;!wuJ;d8pZbo}2=|`9xmPaKE*KA&MSg!HYw~hbUX=Qfs;6|D7jx%1&O@f3U2*y&QGx1vr?Sse zt~2cykBqMGT~PhXof78NJaxsn?s?Db9%IQu^&;QY4ZwxkylId#WblhsSx_LcQvS%p zrkQjX8fX;tGk$)6gwRiB0)t-wa;YZwD(yIq2e2*M31cEcrlmNfrd$aJKZ5ks07pZ& zbpPuj*w|c`GjcL7HyJrtWlr-pq-%GP8(${s_Hb80Lb1(&np~Z6Pto}hBv)7SWRBU5 zpr0eH2Y>(~zSz!$h(K_F0X%bq_3KV2WHGi73qeGb@_tNo8Vd{QBXEQ> z@PGzPll%--o(GtLj+18aHQ^2lkNa)AlX_Ieq*0W3nW-d=$8e!U=-Q#NWq5^6XdBP>umcO8EOXstODhVM9qCSmjatIBo z6A)Ih_rS!F4Q5aN~P>-IM?k-^~f_wJ_23McIXZ+-tJ9nZDopZKkGEkK*SUC7W165 zeW(#*;glZvP4=fjtk()^eon|&wrgi}8$fZSWO|v%%@P|w`&k|X^F3B{MP!2&1vgMs z*QA7WDkWK1+~3cwLf`L(oJdaKass6^!7>yy>5Y@$7${mCP#2PLn3*;`^vyn1L3Nhc zDg1%bn*3-bI&MF?ix$Iiy^(}tI8i(=y2lfsV@_MnoGGU$dM+b<+K^c|+L!8M2w-R1 z^Y(7Lkfb-v%s;w#PNyU(KKD$_U$y(=0)eteqJ} z(9weGJ@zF5fzie{frgV@6NsIxMaiziO%hbE$BvBDJK!gne(b$RW(y!+9diU4m&&5* zkOGUa0Ff2rrewP);i|DMC@fps1rRFmk$M%{AkmYAFBRzBm||iq_>t>`0YXu#iV{G^ zYLE0W;yqyV6}ClsO3WfVBQ->;XuwkW-*ubKUDcoHO+sP#`GejKlDaf*;KsLScU0C= z6M96~;vHWidKw#?Mh&92lvmnQ!FIl_1$q-;_5RSp2s%3J+p9t7kULBK0&o@}kpE4~ zG>Yg<<>Eee#OICqTUkdZyv61Z`+FqKCkgw!O)LYobQ;@o{ z&4BE{L5&Zx9$94VYVP+bEEYc z(__p?9nS#+A< z&vWXs@|DHMqnB*;-J+%(mVgyxgEH|pD0{?;W$FbFg(YMj!Ihj-ns4Ox5rn{-Pp=;M zY=F2GnJ7p6q71$q0^qI13}W3*W;oZWb6eq+x3B*=KI~mJoVr@YDpXbZq(_Zf_emOiGj(!<_G`9=2g9i&TW< zronEZ&ucAaU$>bm{Z-SR2{@O{>5XM6 zv~pc`2*0s$rNm!e`t}i7AN!-jVc5VMY3Dzwjq04CTgoYz^|BLrz!TEQ(qgw=+`;xnD_dE!GyfmCpVm^uynD zIrio^Jr|cdkhHHF+3Y}o&o7^|AnrP^9{-+!XBHPwm}8KQZZuLHsT=DLwdMNwQuBc* zZMk&2K!BLQA>q-ppw-!OaZZJKKj1n{YWSoBiK&bIZR)RImMOrBPuUF}#Zk(khPp2W z9?05he`;3cH9=b6-Y2@_L(UnRWYp}a?}-)M$}XpDbwhu#Zb|FKJazv`q^{&Y}M024Fw|EZFW{*#&e-vh*FFmrBDfdruA1w zdFAPF4Z9v54`?gNw?NcQvtkW~;%yd)BdblO+GO+7UC`wuAV}HGx&GUCbi12TI{r33F+iGv;ijsy)BLd)WBnmQ9gj5$} zIC81yT1kCwwcQF*ly+pHcFIMy3n2l`^TWw|2 zGl`Q1?cvfhp_g|5_msRVy{fhrp;?{4@T?-^X6knz!-0$if}`%)4g#*cJ88jp&$n?aI9`3^3a@p`rKeCxL*=M$}9MgUBrXf4S-XKMpiz+&|L4XqM+7~ zi4M0@r1szc38@)Kv&=mhA>>d4Q`@%r@=$<@fR6+mH6Wl)8dV4!u^p3L9rsdJMO|u* zO?D57^FbV?d>h~WY<42wfeBOJaZ<#O%x*3?EA4OAm`e(Qng*@!8u;skR6e4B*n3+O zm0I1c4eNO#A7Eu16;p#~uw9I_g{sOjTx_Ls-2*3kFO3j^mpi<3e}Mgv`t=HRAWV@YOQ_Ns6#nApRe zqKoOI|0~)qM`?saDNR*Kdc$%ZA%6lX*8o02+I4%uz?HfBcPyGlX>U)1t=ICCy-n-h zXdYLT2EbIPER*;a3509@#dbryX84lBA2Ct>gN`PFwV}9awy{cpB|V=6DKQWZz7g!x zkwV!BI(}f-W}Mn$H*|RvD>-ecnVLx|UkTTA!lbt71o@|PTBwhTs8-RMeT6G#CQvzMim`iqQ7)@2M(kh)o zM;dMC1?=$!MR|RU#=#hxZ&Wae?C(@sJ)%kM^{`)JiRtNKritYl(FEJ3FK@x?9@+3` zSeDsq+C-YGnP~x+Px2j`8b2nXpP0|$K%tg(H^qwsj^gFge228xae8RPMpQ$v_SMQv z%z%~!Ex4UK$N7OBA-hPh4CF=cX)~E;BqD_w2{(n*yN-5J#OQbJnO5gL37(dUoLRYx z&ZOVBrE`IUTO`x2@6_8eaIm_SW$j9D1sXoSiA{_xna=JNR#Lfx3>*SV$2LxFCUK*I0C)lyIO}rFf@dCrp&4y^Z_gEkI?lFF^=`wU8^Q8z|gbX`gA_tVEyY-*xD{q4@`7#S>eKgQR} zXBZ+2y!J;z4s2Lh6WVlFZ}L)Nyfl?P&PC_CeL5+uZNR>0=JGq377xx<1Wa%s9Dx10 zsbW`4O61pG^K$1p`ntM(1@s`SGR`fe|6%zn#KHuz_aM9vt&qX;4q2NOaA8~sp(yq3 z2ofULg1#XbiLnjgV3mzO(6z3t{n`_n#4o=fP`qNrCgw*Jn(Fuhj6*cz3Rsv!t-arYhTttOc9E{My3;-%(>|svcG5UbY2Osy%G*rfq@cBkH`5Le>QP1it z)hp2h1nTALBcUl$TcprW_U;kRzDsFF0SRGBfqP=o8-JiQ9wTA~WXUnS(f}nB0qSh|Em|dPBi30I&-&i21F7 zP@a3=nVM3z4Q<)~gu;kR@)g*GMM}ZSz;4YwTke%l#70)dk~lw>SNy{-^H=5DU0TV) z1Z3LGiuf_5ftF!|cf)=d%aICgE|hQ#&67FsY==$)t9*xm*B?Bk_j}E;IAE&Yi)>L3 zB)CiHU{yu9ayK4+J+UNwfOmi>l#=Gyn39Mvl+fUimAo>073c9^NTu6hRUhJlcxXe@ z$wp!77r1?=33|CQ`Y^l090Bi6k2d<*Di5_xbV2pwUG=k6uO8<7I>z5I20jzSS$rg5 zR`jtw6b3YZa6LEAEadk4X;ebvQyC`3W&J(K`7T5vA;Kzthd@H<_j!W>fpt~dF-`c8Y^%u@HAVsO$i1I3w>E}{N&j}zjmoO(=X<>rEL8->Jqu5-WN zt$O<=I!0L|*Q(~ldr)KoLvR^f!-17-2hk)wuf%nHF;5WtP{j`JQ1f7^&t7=IVTJzIGn)%{85>S3_bwZ$lIXfjfI_Y9gjhbsN$o!x)5~DDnY3h$ZRc+oa5N73 zp{rNHIH{L&1FlWqmhbofFk`4uoB8O&&xAw^q&H>k^=K?&T*pnXA%4OM9N?$7GzLpf zy3^=(77;doiLg*SoH&?Mu||oE;OlIg0(I78N7h1K);j49y$^Lc*MRpVPH*iDOmMFF zZ|k0L-g=#D%N3wzQ>CX>#}=)&73P4o9V|uokFeO30t7*bXdar!vr&ku$h5;F|JETfD|6EbMzDyTH?FIsAK%a2SVurUdnW(gj zN?G!)fEL6U=h7#qls*jh(5(Em-HxgrC%7A$TDXu_!o?pB|Et*@0Yk3Wj)==B#M7=Y z&25Vz^&b0Ji8*6FiXPpO)0c(&567W?OYMJ*ZRdP#T@#t!H4V?&PH&w^6QLES0ktr- z#fwXp3r;r{Tcph{Zq*C`Vg1eTdUnW&P8(H9z&rBv(IS(OVO)1fRKApzx9msBKtsWD ze}stvNB0yX(&@9-CT`Z@-5*6L&h=_fDHvi+R|{_n-%w@GQK~~Up^uSs`*N5u!b64! z>V5$%htvZX5k+em{G2hV#*>D73^~2Qbk*|Qzg;?K&}}9nLi@3p{Rl6lO`NUclS6L) z0Hv5rQdTDMg;2O~Y!`iCq1)t1M||sYl3$)aSM*(gu1_Ki2D*Z ziqxTK%ABC7xKC}D`q%!HURUFzn0Z`$Z9bMt6gbF+7b&|L_c0tBvZr8c6xt^k0$$B~ zwVz4RYJS*x-)?MlS>y*HhnwH| zQmXxdwZ>K9In%SROe*zE=++Xf2v@#JV~eqEfvsu2hY|vnV)|riv~^`Vd1fNXes1-6 zo5ckFXQ<8ozwl9}|1aWX>K}ZRXzX8J>=e&lrVG!{05oz6u8u>7{$F0~u%#J@F>x?a z$d}I;Rb$Fm{Ga*=(Opxqu~Hl@^5z^<_cxRIE0a)zP=v@4W7H1NEoKd0iJeMSw$Jy~ z!|&S>79zb6E+dsD$Zn+yKJN(1RmL=HK+=@O>m4^vDBX%YnXg_*ZZ}-6uY-`nb_Sz2 z51gBbNUDE|62;rz#e&_7=EdXf$BJHPk9W0l0U}=VAk4iHa;<_yDarb)J$iGno^k1vxg6}K$zLR)EyP-0Qi2d)^!3x-!5i_N-(qs=gY&xRkyB8@Z6wKufZc%s zRBhx4(5&R}!80EEP+)i6#^PkyFeC?2LdHOArFz}=27DzGZ*xY0bg#I0-yo_w?Pk^y z(w^}IKdpt~GujW%NYe|%dOcz#?^ZcAuURK1nW%AkbK49qyyjFgNhrn1Lti`J50 zi9%bh(Z7pt6x5R^l?(^=^%7vw8YIKEWwvV0CA5CahZ-; zm|ZLtmKO4psU~`V--HtF>&&DHi((^3vW5iAgbEi+5SAP9IcxcUW?-~X4;{v zLBlw%{cI>xk_7wBhPu`?2CE00A6RNkrvik{l%|1)3xSwg7ye3B8CDz?K8A0@$ZJjT z2HCh`mSKde6ewl(a{ezLfbJ2S;c|2`2Y;OF^^aD%8TU4Sy4kB;#UzzQuA(WNEDQhI z28BZa7V(i!a@ynldqr?$eNOU*JP~w~F`W>u8hF35nj^+HmvUVMgddro)$8L8Uku<6 zyl7wV&#n-U`zoQ*{cYFQ-#kTs#~bV|Qxk89KLr|dwC{Z&i$ZCK01IzExWLfK<+ERX zDgHbEh6gaVSP($Cu3R2$duaFtF{_+$5tEYyOHkxTDkz-`x$p*2t za(XHgJy~plQ<$EwF0WT^ubu%CxqIsk6v)ctwp5l-@%Aa>j0| zOB5D{bfB}zCAW4bnzYGZQL%kFhe+~H-{ z)t`udfbkWYjoV3`{Av$!d+&x9o#}bMwtnTJ>fzU;aiPYlO-kWv>5`0=`hEMb$<^SH zW)Zcgu&?R~>!^!6qNB;(K_@tculkO;z%{;6AosO-Wy;4$yh(zF4QgRKcl_5uR;h{} z4Xuq^={(M>0-EFYP=+hj6b)&NN3%%lDF)XlU`1(rGn=Wn9bINE`d<4+Ij6&K3Hl{X zT_;MHGJHna4A?tpzXn&NQPw-K|knJw2^-k%j zuCAli-eYQ8a8#K$H2LMsEb}0#KuO*w7X4m5_Z?M3y+fjUO4$YTDFdare^Pgf`${P-PNEZ2Yt$V^V0Sp z&aKjVMJyjX{u?&sV=kxQdhg)LF*IXoxNAo8MBUC^{jWY=n0j2qR5hPr{gz#ZZK1AK zgbgFKft*4tnbmAQ`z!YZmfX0qF2#EgilJhB6uQ!24K5 z#RxWDR3&!Ek;8F|KOZe6cjMNm<){Y}Rg?SyjSMV;p+H8}J zC2XarNlPv4FTfp!20DjajoUNl@RyN6o}_5aY#|-2Zm9`9#v7AAQf1JagT2hag`XzE zKz!VU=zL9zB9|2zUY4k&NjY6)>6?{Pk*TXyUcc%z478>jWG_$wQ}A{_Iu98w;0n!v zz>Su~Rv~<_PM~&9H-llBJNo((`s3&vDqY*?r_V++Zf_7 z;xeqc4#Di^e9OwyHv5c}BkZmCC!hn}<^qbx>pD_B(%e1U2FxKHc6;-fTv*&K2k=Cz zmX=A)qvJwL=06`cSi9*QmU&Fw+BPMHz4iOpYFrWmJDcA5MKB$Lr@2uDptA^(h$Mho z*g?;clQSXT^A8nqFasJE{GPjs#VcCZo;cWX{hht~;2>GH{#ui3;~iJ~Q9c*4rD-4xGU?l6^wLEhFj4t#X=Adw#n`&78yD- zpu^k_thLLkn%rcy8zZo`A1^CkO!l#Sjnm3BXw*gcP|{e}!UB#3;DDO4l+%51j2BzB z*WCY7ajx#v;=&nT)e*>SZVA*P^Ub3xxw2CDTldax(zL^N2SR4tpmkm4;6>&O7g5kq zAoSs2W$_N2T(?mtYW;diIsNO+rjE+tJ$q=3#2B>xU3b}arrb;y8C(3`*{evpsK_h6 zer{v_D!d5@tJR?eAaOuFl~p{W#JPUllaZd>78W4P7RR?+mrV?~534sbTbV@$E0QK< z4?(P<4R=?_Xvhw%)(T zsuRaG%3{}IYc@++TS`+_)p$YmrvpcGcS4+&wtf3%meAm%pZacRf40CKbw1^lPC>1_ zVwqI{5M+r~*?GKr`e){1`4Dn#}QJ{`X($`g!u&h;`@Q7qrI-B6r?`F&NRS}q(BOO&8E^&fJ=8y>YP&9eL6r{jAdw(r3Vpv7)4 z+4B4Qpfzy#2Jh@2C%_*`bnQqM2)V^qzzP&V(L-JgX3^sf(3qaM!OPEi^U?Xfulszn z^SlH0xINnI-1IPLGRn|YkDM5I=;@ZAxcchB`|kdHB2Z+I{|YD0NVy3;2&kLC4rO_9 z6Q%4XBqAXMI1&Aw$I^O*<7T6Y{rpnYB>n*=Ddv4(1BjpK8kCWJ!`Y*>%2LT9y#?A>U3y#!Op#FYb1+fxnhiRZoFiC46 zYa*o58!DF)>Hn5e5T?Jkol*gunxg($asg!m8 z97=G&4`gp)_5ovDUOx8IL^BbK!2@qo`8`WQ;w4{;1ZSaQHi@geY4H_ca^*;+dB;Z zoUS{k{2a-@;XuS%lq4{ZU!;>s29drHkQsu!VMKNd6&Fcj5@{l6ORgP&ptTO_Wx!0R zGlWm3zu^3}!?+{&WErRs#oJ%&#@+oVhS_W9Ex>yY`c|#+^XzZ3VTP_ovdnO%{`@Fu zbWL0n&wa#55qVO35{eoN3M%=3=sa zPnWOLif>e)s;WJQWSx(-!|b=zNuv!xtCo24VlegWs=-x5;!SdgvSf1;P>j_J_(yZ5 zy*(C}SZ*bj3)%>#?*uUxi`o&E5AwYQaN!B*Z=Y}-w>_VB`0 zIqM929Q-p=NHHnei~Nkl8&eJAxhMaV0kVtOEoSBtUBnAWQ@&V-C#YCLK^LaasLKLl zhHPHiVsw$=dyX+zLl!|PnlMR$y|QQfYJ*dka7#;6OZIhudA0gExEBS81EJJ?BsG_55Y+`|W2hZqr8V$+rVFK1vK(!+{G98U|6)r7#~5OfOidy_jN8 z(C<04+{Pv@VhFDVqqtuC&k89>`V9ZhJl(hQUuR!MDqL_Ys9#}4ONEe+nB_oHy#0&} z%$!zFe>2Mf-k3Qt^l^WA(&bF5i)yDdA*GfxYHIMhj3v(63#(YRH5!*67vV=Wqi4ZQ z3xW=o>n$qH+%7Lc?f)$!;=n@+u%0fFdsQ&SET}9XYOE?cN-2E`6Y4^W`YvNFSHIp_ zg`z_UV%7Ly`er)cQ9vr8%+!c$dC^RhOHm>n=rZLDD5lxnDrKES zFB2t;SKJ|`i&wYEO6R(GYQ>9m3rd#4BhclwuKnl4Z>2JobD9LG(t?>NCDlFC?QXmU z%D9054&h>{u!REECJ>i5UxeFO0cv>Q=ypuQ=0jhdLCa%?KlK@VW`wGxu`dW#JQd29 z_gU31&d9`t?t?;IfyN_hY=SiV+$&>&t>nK&*!1W?6?uJIb_^rNZrk%s=NDBInuj%9L=4;W zv}Sg)uCpno$FAj4B)gyzo#LB!D$v6sw6Yi>vLs{Wul~uA9M?xcsorEmP#canu3;(E z-bwApzX(pI8ZJ{#Jk!Ro`U)G<({lqmJ9?E$^nj#F)ZV+_tYum+XHz|P4=x>H3(!yi za0>A&0auQDU@DEr1X(z9LRPF{qCt&P)$O1w4374DCF~$x@wb{je+9L&(G}jS9|+4y z19c*6nPsQiqi0*IKUZt+jWU$bg0J6`x@u5VoXj#7{*)&CaW)fZP+N?oS59tT5mAq| zeB0Ug086<139Wp7u9Y`Of}j9arIXWuIZ;Kj*S ze*RDIEY#=ommakvfUzc%B#QQm3T`jKooR3KSXg-19kZB= zKPcRMcK&iM&pJ%sC+apYg=K4+<8zNZ4D(sgi)(H+8AVf&E@LjFCS0vm_lj?N78jCe ziUwxOKMsyksHd-CW!`&XcBShD!1lIdlX$O=o7up6{1Bu8D1c-e--$*+iobI@RRL21K7<3O|s$HI0-1sWeg3 zgfhU$0L)y>|HoUogF6+6)A5hl{09+k=AX9G5D9Dodp!$u58Y?pQamd-$29w2pE=@@ zu#;Hg)E0o*D!yaeD7pGEfbL_`5B3duLh8cqNU(lS!|ppgNAQ&eNfq7)_-S8!y-v+_ zxcWy~Sln-W-qxIHZrUF2@0SA5mzeMAZ$$can!Pmca=fI?T@5irf!C6Oy}S+M|A&(R znGM{>-}m`K8RDqW2l!6;x^~GN26;;|$JFkv2?DgQOwV$Ljw*{QH;i$13)1 z?tRgro88LT;@*i3U!0d%ec_G~K@l^UomC&0nc4RXZye{bg12)-(ILPV?AM+|p=gZH zN`q#>M`P|ORL+4q_GgjXaPee2p7yF!6&MElbQ9i1Z#ZAZO6p@xT3)rEZMIJ&nNl0D zm&sA3l#wS8i``VVx}ZxLG3RG`5Zh*b94mC343CgPH9GR&PWGv;2okkF1Jy_r zjg|bU{&ceWlPzAE~evU8&b|Qj_)7lSC%LJtb!J;SOzP+te5y$}kQspK(F;#d9r*@mIke(WHQYWZV$?=UmH}9U1Ab{s=w%7 z>NdX%jF4c8v=0FtiuiBs2)6JN|3z3he4*&@S<8xb8gq`vI%&JT7FW;{f!Nl#buu(J z&{xjHyDy_7-x9|&v+f?;aZ~P&BKFkjIV}rdhFwZlM2ujvhC?w_7a+Golm!$vvMaf^ zvJa&IkCC?Rnxkq``AS%J5Zr5F|Ki5`i}22g!}$OZ7>CGcR@7}(kD6N5Oj8+X(`#W{ zMh{xt42i#Z-Bj&6ePN-@b$lOHmL_xZeUtY6J}<*Z6m+6Ubt zvrKpGM#0;SV@@JFb?LE#m_z?ng=QuR#{ zggR+*dO0^*y``5jvg>I#Y*Ol=X*ZaXR+oQUMthmsCCVl0kPM8%DWW)>rk&y_|B%bZ zp`!kr!=gm(mGB-Z@I_||;}>{8?h?CYjn%6HLP6qhM~rcOpRj4-Jzw!ls1*d*UxM+kFrJPDATd^GlUCjGv#R<7gS#uvCMO%r6zi)R%0P zL$7nEzyuv;hPN?nfEb{!RTWP)cPkD=rJdQSxK6iom4)o3ikv&~C1jaf_@Y~W!w_>X z8ZCnomEX%Z#M#d{z-&pC0XevuWf8<5*aYH5jl(Sp%Z) zL^ad>duEXuiIu}1qEAA*1bq%$ zqE}s#Fn!IFt`PeuCgt!U8k1<Hl%n6vqkgB#b$Gn>{(J<=INsd8;T@#hTBltz zK@QD@A=^pCbp1hym@Ru{#{h<2Co{Ny5)Q}i-a_aCCRKWR6g7QJ5-*@!j~CMn&12U7 zW~Z z-L*^&LnZHqFV%MRAU@Sz)$=@U#C>}r7zJgX9{M_H76xld`SBr-q)J$Ivohx-8t7u# zFnqMLCaSE_gjdCd5Qs8%#waQf-oki8Tr0d|6l~H(v9qe5UB&D`=v0?~NX_OWtKJ}0 zlD9}HA=6MyG6YCc`pwFYlJ;hLdy&s<$wKDCDC`8Bt2LLxQjMy{PKQ{j+4Gy7j5AJH z0}Y)EBlpfvyOmDf$3cmFKA@F^Jht>1SMvBuwWFZ6a3e}(N;e-QZd7liiCnkk$uhFf zqcrbO=nuMVwIA?OJ5qdtC-J(S3`fvM{-J25$WoCHD3Y5TL+{-qU6gA#7@rw_Dsl{WezJPNAB51Y(~CtrkdZ) z!wyZ!XRNjscBR~^Dy3e21ZJlOv!6d0OI;W)65rURM_oWN2!Y7)v?)KDaT&mXEu9~> zn7C#JrvzXt?p*z6h>Rkl4)Yi-=CWBux9J$w^|FfYSVZOU`qXks*-qGzOC4G#noJhX zo7JLL#mS>nELT)=K2&8|w=|L-N9aqw<(GESuT-UN)DoEE$|@ODlQHnR4aST3idRyu zXHd~{fxJ2#o$u^myUOBYGyp{}V)F<_qX=3t4g{noq)rIz;9RFpHM6>^nF`1^fi8-G za1j$-1=vNW<)^L7_xg`sF$ecm{N8*fg~-K zVyTaBSbJ!QPCYLGXAk|iLmM%q9w*5Q&Tz|*<51X zG3Qc4#3h~n^H;J0X4wG9#xt5~WySU457YJgU^p}i$NnadlH6F$(R-VBg8uNYWNWHA zk!0n`FMBMa7-dzy?px`nkK-xnBQ(65mr=kiCti&Tw)RxEzivM2_Oo&q)q4>LUsMJx z<&px_{G+~@i~XarhHGF-=HHGT89iy2b9B?K!`Flc-r=MsnW&tkEA7{HrNWvh2fOs| z)WZx8}7fJtpu{={gf+Qj%!_P)>))nFDO5?OT-iZ|WLKIC4od2J24*XxMJSXe_ zVTSDJ%-EB5{D&EG0j^DRVGyt{5^x35VfRNTUZm@KR|SFP763)2gi=!3y5*h%`mbZn zRhKFzP0W)_X!+DMOn5~^uS35rgmUWm#K8IPpELN<5iJSp`*}Ahx<8fh{??Sw4^i>w z;$m=BjlP%HL<3+T3TyX#`s&qAkMANF~d=TzXT#9y7&P)V;_v zGjz^VHji3nDrPBE2u_wPE##vFZmTRwa2FgqS{yDvK$g@k2|O?+BwHEC<(TJ93mmMJ zQ$FQ%Mp79zPRfq?+QhOt3`#%M3FLInEvrx@wnBHoleB-awVr2&XnGYp?4=Yp+eOze z&OtCmEC4EBrWSo?#oAW^k}(hoVj1+KlO5NRCnF(MwBJnRk;)kR2y|P6E6S1>7WSw1 z7w4eurvX*K5(Mu#9^4a$WU*Rx^6D>&*(RwDv@xKV34&~4|fBHS02cJt-M&TL-@Y%520gB%wp)o~+ChSZQ%Q)N3DiP%kg4Jvr>a9&S z4H`9n0<{_~Fi9_w2Yct-z#xrkDpS^qh;*C?i|_5GVWwbClJC82O*hRfQ+p&v@>q;^ zQUGTgt#Pa`UZON{?q>cDGZwm3W6TGFO_Qo>mxr$nl04HdjfG@_=*>X9IN}b1h!O=) zL`WKT1l0cfr@WL=&qI5Klqx3o88=sNCJoY(w@DyePdW1%%pexM0qELHzt8n&+w6w4 zmu1s1twJ)a@hYkFO28=yuO=*Vn#XMdjK$x zR0}>d;1-s1B)qjXYZ{Ye z=kgZIX$s|grL;)&0WJl_w~e_W*&%Nq~niMIW?SoeA&5I52A-($zE#PZg5+ z-?pn)of`+NBA%NV4=S3<(zq#RkEO5Zq%<4&q3vs|o^!=CrZ&8b>SJm=IDm9g>ed8- z_u7PeZr9v#n#pYScZ9F`|7zRAEN$iJQ7;b^x0=&kR!d%=;VkW z8lSQ6P0|Y%MNkE>U83xB=*(_-qq4T=p?U84u-*Pai?q`(k0@Uf7hKX7b2~atcD*ZH zVk%dN(3Msh7(vdg?~D36NI;33;0L3P(6!&XR&yV2N~|ya_B;g8St+Dx`4O>_!CFpg zi_rp+3IewUSU?UU_v};_Bm~|biE(t$2-p4*T<#$0pD#M(V;nhWH6}2nXVmqb7iCIY zqZ8%OtTvBrM<11tkm3d9X)VfioWDP$oeFzDOOcodZAA?*z(mY45P&a*Cm3pMoj~@+ zrts+6+{YwO``zFhI`k~sn(f|)ZCjs0N^kI4hOs)QC=9s2 z1mPP(3Ain;4tM(6T5*QmKzs%Q&hOZtqcB>{#_6}KUvrP#)_V`K7JW@VNi_J3f9uk? zH`eU^-9#pt9d2^e0lc#3>@1!Gy(WL!7i*@9Wj%z2J6FHXz5rhq${P?PrTM3gXvF%R z!(7A}HKu|NB)IW)_-8M?`$xRW=JO3C;|N%yFvVk}uE?+MsZI~do`u>c)wAvwzB!Kg zUVfw)$+*|9Mh|iolaV_a8EMBGyHwx`lMbKMh&3I$*fso%bLa22wx7nqa9(M+<;v7+ z{IZwZbkLQq(tw?s;ncP4mj}1#xiYZQ>ZyUru;DA3V1Ahl=@Ar?#KuHAKwjqJ&?nUM zGMkMw)-0kq!$0QLWAk;cx1x;6JOCE?B^=uoF(-_tpfuH}UNc2Vboc!+Ja7bnQ4cm= z(RB-wny^y`OFP7k2$UN5UC`f{xK3xt#Cv)18$8YO5r9TQ2PhFH6bK-&{^6!ivB$jn zK^Cw+`l7>3q;C%TpohZh_-ce=rgZ@TVT}_+63{s9fD)+rA%-B?$<#g~K)uDNI0Kb~ zkrCPt3#h#Eicv6t`pRNF-l|2{nq;ePt)j$O2PDCE0l9KmOSQ>(SgF%pAMJ)!=s-7R zRlUXQ14N&`rrX4{e{~sP%!aw)2Uvi9i2&P?HDpDYk6P0B5ky!*%&SDh%_9x=DiUTg zQC-VjYyh5i0+WRz^S2qHheVj4?K1`srLx@p#&)ncbOr6N2UPJ;bHrZG>EJDNypD?I zB56_@aXPW(dnBp}kvCP6zAf;@Me2KfY>%y`0A85ttMYH>+D58r5>MV{Vs;(OL6r?39-P!(BAh$( zKsn?H+7nGZQ}R&`<;r0iwf2;XOL&LMoHo+T8fe=drg4?_rBTtww+Ft9%7*?%b&^=Q zVX20?WvGSu@2y+ImEp*HUM6(qi6EoUzGuD+Se6&<#TA*UfLMkC!eDZoQC5f}pxNE% zYX08X>XgguW-T<;)n-&aBddx*lkylhfX)50Q%A^5xI)#ZTwrtTGNT!$9d1jgcYAIe zoBiY+9P7G_ObI!-r&B$4d}r$3P{`ZzU}dtmoKX=9H}>Celie8FU9z2(Ew|vF$ti>; zCfcFWl~oyN?^(;%t8Nqf1Gn`N{ig<$Nj_|tZ#np{Rnm-TbxAlin?$&341Y>^zy^bq zc`Szd&5!b_=o7Ks*0c!vxg@Z~;OXICJ z<>Zv$GYNhDjMz^-%x)%?L3+h71Edo~2ym0J555OQMPo1XTy%d<+e%K(mi>#Hi4Xh> z_1yGd?uT89d>5fJ)j{4`ufBj;KoMn4-Z=r%yj4XAyT6RL8cP!B`i0KXX$x~2p-)(} z9-F-|1^BtnZwJ_qKQxr#3+!N=Kzh#Ux`@%*a^lF+ek%`2UAK(HZj*i-hxOG(iAP1WsH6^MiG+U%AE&!u|gF zLZqS>L#Nub^B{%9WZiD1jG|RX6Id-h9wSCa02n(tJFznoq&^GG-_iJfuk>ogH-7y5 zHK2$U$UA>C;ewv1cD=I$R~e<<)G{~K1cb1~z&3q;>efy<%uVZ`{R`6Pes6~c%P8ro z#I(0-$EfLQ_$SKKTs_@@&%;=k8~?Y{4}&y;zA~+9!k5=dfD^+kHnf{(|G|4{XG~Lq-fwdFR^NJHMH=bN)|uK%*~@ zrNI=R?XM0xehM-CV1r9r#>UR0+x02uZW7nx(E4*5beTCp+?1jA;r4*>I8oH&F4jAR z%W<=mx80WMw_46acDSURM{Xm}!5{aMHP60Xmz|y)YA3mAjoAeDgbK2>SXB`GmkjkCLn*K&&4!-xi)x z?jnc-*0_U5;Pa6Bs+gPnbXx}WdFLNP?Wl>VsB0-xo6(8!sO7eL{%03e%FR~zWXv+0 zXsJ4*>1EJ1y^OtTHQlTYZlePi|J}Y;YSlt{PaD5?ET@5AKypUZb+>=axazx<5c_2+ zGGMYI4^AW#(RF}g1gQ^h06pUA(K2*~ubAV|2z@>H7QBK##B3BqAio@uvO~f)AQb85 zIXhD7pKq>t^fqgVe;lyGP}b2&)4Nq?x{Y-Up(!K~tQv#=NgYoo>18)#>rG`4aeQ7m znB~WLCngAB5@xw` z$;Lu!zV2Szj)S}K&OuO-9iVMOr2CEG4<$`7bWny{td`OVE z4PgFbK2cGOPY0<8zg>?T0HP1l@p~;9JU|z04JX;=LTs~?TI|MQxjg^RHx^9|uFEcO zLWA@`?H>})lOkmqI&DxCJV74DcV+WD>BuQSJv zFe|P;VFiJLlU4&5O}^7kYr{Gf20+tC*!e7`>7_b`2}P|9(+*6PU);cy-?lPY2GB3t zd?$f6)M(L<``?sDAvrW1c}^cnTku19mTj@K=diZypyM>3tL9sk` z8xB{G<2(}|d^^{d6}M@Mx-(UuPj2es6{oq!kOfleE+4&1y zLbi++McSbFJBk%Uydt3b9aZ`rD8pd#YM3us9WTmMjR@(EvT8VpT3H8FB|Cv?c8sOV zMn{`BYIefh2~_mw+IY%EfwCt~_1&{ga7L)d9t?Ti!|Y5Oo<)x{i~;;a%GyPaJS(F@iyWLEM9A3(UzLU;rc(;y{)yCCSZ8U3w z+7rq^u%dAqiHy=($Ad^@Dz+_RW*+tKhz2y1f-mV?Yncq^gAlZ3{o zRr$RVg}m4O>A)KEQWb{7kmy`dcQnhpcu$mU(}rL|2;-yAc!KQENN1%`%E^Vs{Ra1J zh9?3uk;DOYD>XoT248=M#cw=sS$DjaUPOUPM{2bIOXU}x4=%d@ZEq&BGSSZj)tKwZ z6lw2-jbGnC9~mxNM(ux->i=M(DFFXxj)KYNU!?=RK+l@WXCRP# zYXpyF5z=mepZlr&yD2)hyfR3|L8{+*0}%lRF&=}JoB$!HK`;S7uT1%+4;^oYL%-bb zcO&mdc?Bg*aHn_2O#FY9uPoxfyFmQDpVt&r|4x=a#e)vye~$0GlNT%7`T(zP?;qjI zEsd{Zn4gEPH*GX;%vZ89M0&ce?)@huYN0?rZS-^5E~;K&kbe=ea2jNOgdWHknB+f7XbG21Mz*3i||B! zYMtL8teKTaYR>R6m>R!Q7&d@I(KLDl<@T6KK;rUG`E;6vJR0s|>ZK%`HC4@yr5wGX z0+C`*g)>)l=yK`s1@MZ}jHX$+YyUTCgBzK}Fo3*U)Q+Y6cy`5HF9&fVcDX;3Sl}H& zj83?!#PUeaE^1PBdXXYU%OJOHnf`WQRawW}z=uj9U5l(@w1H3O67LPFj$lmg@+f9L z|3(}|&mqEi#oSKbYxE>?F123LQMQRJ1Gka3#BOfIfEPf%0(-ocE}$Zk#VEr%_&#FG z4lqF{tBEkgn7I|CgGrf{;?YDqh#(z6?px2$Ni3#mTSrbi8;gA%hTK;=@rp4JiS_6G zjqqt_FbjMh%Hkx+9SLEoq-vnrz1x;qvFzc&=ay1dO%F0|ZD8|S-1sb?rhnq$a%jV7u9#Zdr_y57 zlTx3K`Vd(KTa2%yiYx)m@}CwvjVeZg@&sx=c#GWS!0;s?ads7hXOTUxh?>r zzcvIv@~l(%&()i}mPV0Ky}-M}Pn}K%#*#gqw}LCNYTIA*4y5aIHazTWO2cZ80H68} z5k!-AelXTSjllyf++HvMx?Hy+l^1-Fbd#auky_uX&7N9S>1OvfZX1JZEGhy&wd*_g z<1+Lw8;{PSlQu+b--c#ut4`GchXPsn0&N@n)-&gGG<9vi-I*=m1z)f4gbn(Fm6}RC zY&8Of%!R9M0G^r|(@u-a!nYk9zykr^97Ir22gMR8>W`c?SncMAeyky$)6WUu@qrGe zZ(I2hE0%0A7BaLqSF{ehdp-hq9wg1jy`t{=mG>+Ky?kQIi=3R>70FLa1Gf<3IUTpR zx5^yM2cp)Pjj{^1jMRouWi892AG-xvipVgn$)AjK3oKJN4^g<_Q1q|{VC|Fh_=qC3 zUB8Z00u?4&)H1&-zYB%?4W@31!~XAe(gwTMfYqmD-RNz1t9sB&QmK0MAaqG?1#~bm zCJ)_Wr87H5NGz}Yp`pJX}Im%*_i|uY(DgFgwjSrhTgQp z*8h1At2pE(_v()Ht;To-taFeMgquNSeNB{QQ6&7{&Gtol8KCXz6y-OoGtH;*ft%(r zS55=ht=*w`tM!DwDB%MzOcLapH7Hy3+in@k9G2zknQ@5;=3KpUs{1)-#2VEOfcK6tX@feeh&WPt zwYq5&QxB8sw=-UD z&`?T)-e+a8Y4d9iD?6}vVR(vyKvHt0n(^2*{!Gcr{m29{CQt^e3QenO zcF^66&UsF%I_JFXZ4grzr9Q`;=}3D{b$V@CO-wpX@-_S62^j@012iAbC-Drfm-s#y z=_ViX9JY{Izn#Bkm!$`PwO$RKKyHlb(m`^@ErR>C4l`oqby8dibi6 zjYC&-9!35b^<(9Fx(`pT{#JzAg-u%&-KF*qtBpp?RK^5@aOiMxz&$nt%ar0z09miMD7XBtcKh(NT!H${-&LFhu<7;7A(!y6``!{!XzM=V zap*hjQavMd(wWvFW1mvQbR&;%E8VGzpwj++nh0lDYpb>xtzhO>VI6_1iVYlXznR4- zvfE^kZN*K?yM={yTl+v0thV*LV~R#Tu@g#ydw>(%038x_CCnrXk9OP2_bm}h9-P*= z^@0o3Cp&><(dk)!#A*rhk}=|l?M_W6Dvo;17b(bj2SnWLV2bp|?QZnOWbe7l7-Ky8 zn9z?dsfbUq{ng6y`#rwGemtCR><9{~EYec6I0-2LFRLQ&N~pO-`w8T& zvhhqH;g+lA$Eo+u*b?%dHT@cBO)ABUkH_Q-KuOeVdE9_JK)yngle*uazUF)e@Wc7# z%Nx)i^;1M}9I_h|idj1Mwn{D_H}F)kO=Co&8Lf*_;%?q3o-Qe|^gN*Mm`$!t7^{<% zBO{<>g*0oej`nPzdAUGjd)-vX4Q5@RvU5WMMe9tht#XG@M|3thb0&Rb8$dGA@ky7w!*zTz` zN?#bU;m2A^vRYO=vG>4M z_bmW3o}V=G7<4~hBn69-jcZkRDr~LMx~#I(c+731Po4uQh#&~#;Gd?{Un^SzkO+5_ zIp3cS+ArVSfQr#Xn2rZJ_sC{pEdikAEt(vNG(i%~!zI`eYIgLiXCVt!WU@pIR&`Q( z)2TM5k%+XzE4(ZfS!lbgqI6$ptDBTGdb73W@F&l2VlyxbR2hp|O72L}^R5WjBy01` zmz8rHIHp=MC8l_XMjJ{lC{hmqj`ay#nHk;iFLdP4`$yQHrs|sy*sV#!-`)n_3qJsb zx2cRFP#7xhMlWL@yFs|Y3BfP|SPD=DABHB@6K#U+_3!I|=MA95Y{tYAbo?quE#pnX zs+GpS#gjP|d+$PRdv91{kv$L%)=eXxhlv_ZVhO1^}AW@-=8 z@O>`Tnk4J%;uNCZ>d-~NY~3KLtqx^z`-sxc%_>mPFH$2C(E_BB4#%$pmq_R>6!!OPEF zOTKsHg(QOzb&W~mkOol?e>|igDt2(FgzJADLs~!R7;WJyM_rWyxU8<`tL)3LaK!5@ zrgGYat@o>^h)EU&RdllS%0b`_qKacfM)#;*5ki*@&1(9u%LZXQexdyxK;uqkJ|nB8 zZo@O5efxG&Gj)g5t@-z)(Oa#P*eC*?n0jZT6GgAH`uYtU!62dl%)66gC`7%)=`BLL zHgs$s;=EK9f zsNbd`04RR!l1x`e{{`9+bOxPYC~yPMiKPU7zF0up{!a z*tdt(D=O`5>?LN04m*M_20xMUb|U5-z6J~t_hVRZTtCWk8vcl3`x>%#`tZihc$tFv zjT2%nUopT^VED>R*{z{m`~e8>3lpe+WB@1(&Gji2VMxB5C+=}mn)kyi%mD-(=>uI# zIM;9m@bq8q2?q{-*%?QVq7%gqlN+i0;v1AX)VYYsOYAJU1!3^~JU#!rzgEVGSlX?0 zSd0iHo9?~YK_;KgQfK%0cTNE|)`fa2W1PeS(he&Pl(IC0ptlz;%?%VI5Db7X zbJT$H2lO|dOEW1h;zn}D=O7m^MXu11+MgY=md6AGkGaBBR>uiAggto@IEGEC`JPVG z3>8E-Y3zbS3r`x@++D`yEk4If(|7mY@lV;0kIM^Nio8vw>JR2_+EhpjM~(BwFM=(L+4q>ldKHSLQ{Z5+IlkP zhQ?f`71*1ebx)Ksk(GG{om|3Au&a(rqr8lJV%^JhzGSp-!EaBtO>2rW^CM2@fLBS~ zH~0IOeT@aA>vYJKxjPV!X-dCXGbys*bC-pkXQ2?LX&;^pakD1wOA1fJ-3vf@e!0*N z9FphAcpbxI*KhC(SgWc#l^2c;qFxmlxT$?qU)wM=S&}iqGd#wg@kTr*Iwh9U#KW{3 z&DKPzn|B*>%^@(Xn#;-#3D!U@h^Q@v(uGkUE*5Bi1~DK^wX36NJaa_!cMC)WGv0sg z5F@I8_Y=a!g%<4{?29Zu`g@TwVf zA;dTfwW%bls7RJ^jC|hX94}^S{HOe>^OQ)xQ(2d%NJ5W94x@fEF(WKA z>tcy8%c@wY2&mr?u17#c0L2|14mb*_aH;i_k5LIskf%sfRWSTkEzd^LDXzX1#wA4& zoDisb7%qvPBp7=e+yf+rqsw|TO%{=7&<3NoB;Onqhzel~;K(yTpChovXKKOhmR4mL zK5sn<7BD!yl(Ly>BUNa$kyz;^j1F@R_7c@F$hfp6j_;Q&EnkKmXP8u*)np_hVoPd& zHeyA08%|C`5SO2&sV*^AKopxCBZxLvI7Z$yi3&??xPdpF2?GvC3=Vuih~XdPm0X}D z9#93iyak6Ie^nCIhC-IU%by6pe|V;qy|sNf#j;v9`f@6^H;_p8kk?#*FNS$j#PoIr zbrET+?BW-&J?8@1y*9D&kJMs{J-{_>;pXSK4-j94iV^YoH}v##67508a#Zi@bG8<9 zjG4&vk`PkRb^;(1G-S*^3YBC^h3v1H(v-gRx{DksS!!vN?q#HF=a`7(tLi&Ke<{dp zaG<(9sQd216s>Hwk8}**t-J!&qz{$Ins;FdQZk~bw%MM02tsit*6JL5WFZw;ILd^& zgpA>$ZwU^XAXP+jIz_ae>tF|fg zNlt_ijayS&MOUi#^?3EauByy*;8neLw)pg@_TE=CB)Pnk?$oaTo zGb=?338~3a65?9z03C^5Yg&moU66fwW!O^g_UlWi5wvI&vSQt&d&H<** zoomq%w(;ev7)U;(vE@e=KA)TfWp^Wco70ou`IE>SfH-Pxo8d)=SZv>@J7mNCH4@sI zb@7>Reewx%pS@?xhc6L4XqL@8{Sv}8HQuA|H=tUv3)PfqArcU&-drC5NSxN-ssR$7 zrV(g!sMWr+t^+~B%pKXU8t}{cr;sje=`V6+%`8)xP3cBk^9>m8lT;I3Sp~L6g*jy* zLNaE3d0_XMK$}$_@ZduFeXV*C5(Qg9gML3x1>Cx|ui&O{>*Qq$0SN6XPkTD(SB814 z7nA>v!#cOyHqT@FPIbuyX+*61xRP`_OP~EmVC8wuzqK}eh!x*tbM(+< z{VY2~L95meY+rL`cF`O0UL+b5W~STP65-!+-JQt;H;uCxVLx<;%WHr{FmxZ3ARXoa2*vSLzr{1RnC-iwl#4S zI!@z`%}mEx9x`nyht#8b@#QA3%z+WuX-23@=*+7rDnI3zrXeWEoWATXCbRiVz57mv z^ID(dR=-$yNS|Q)ssM9h@^ioRQ-Wim_dhu*ZL<9zKY@jjiQ|8#s2!aD-n=^_KuY_4 z0E>w!6hGX5a@7A1CB~Y$01=ThJWJGZY7>I_A|=A5~x|fCQ-bEw0Z0 zea_)jAU96haOh`IhAVJheT30(<~Kq}=%4MU5?-F{xV+?uMb30xBq8bUiXH4fta1Ud zvCW1SXBa^c`_)Er12RT6kSY=u0a3YOHuF(eu#l@%E%!^-o2X}z5L9~S$X#plPm&mb zTDgWbfzoqcxjYo`gbU(DfTvSzh;+b%xD&HF5`|eXR{^Reo7H|$5x9?05Yr}~;gi5mzml#g{Yz48Ujm=UylK48zV1o4zOywTQC&+&QqD4R9 z(~rmhcphaKWJWE)+5WlyZ)knF^>Y&4tHsh?P)#6#KOui% z`hffVyjHQycfvu(BYOU1@Ab3j?+?}G0dl_|GSuU$FT3XY0J^}$CI)*bYtg?rM)!vk zI!G7cxRfrX0vY)MvU_<>3J$_MP&t&Q@xtRnOiEB5BbHl9<9~=#yqAc5WOwv28F()W z5mbnqcXF~<3m_i<5>miKfwl?HmeovPu~rt&n}BG%YNkYwU*aHc4R=8*CQ1@S^g#!u zIVk4&3^4Ucq1 zD8oL-ujS>VIaoJvblI4QF;XreiGuZ!blC*chqFgOhiJsz^Nh#7>FH>zVk%M@bDTq4 znVFSlt1;mM05%>!x_I3A15fUl+)_Zve7-j?-O`$e8>D-XzakH1Q>wr@EVo?jTFIn@ zf6ZN5imICb@sgv%XJIJaHTw)RX;otxVOUxK(RSXW_13bnt$a01X1JV=r~M@!8cy7y zMkAOI>5?mB!3guMz|amVvv#2JR`m0e`2gPt(MbOTnC@l)Y6{WaNbJUU%}}&C;K=L~ zL}>h_J~mMpORR3o>`eDC#jLz`zHmw+N!%_PdRgpmcyY{BAx+Mj>1#~5wviFj9_(u{ z61FPX$!W|pdu3@cttk6zCcwA$&>7TBto#9W{V-;a`4gFs{wdVw^QD`)@h(h!Xe#yC zssH@~kj%Aym_sg-=%CM8EzI?u~eH$p~9m)9helQ*A@h&0GA*vYQe zF?}1U`e>_PYF$`P>%Fim6O!y|iQu0N<@VYJz$mbPo; zo1n>B?jYl^_E2l&t2q8-tP_xEYk#o!kHf5FIgRVMD8f z0WGhau8NA-=CL7H)9j;$W*COZP9{kJj5H`uf>#5N#hY(J>>_rp0n92TWOH)kR~H$U z(dzOEX%-t`=x-~StYXGxh?8f+sPH#|p;cv37j9-URIs7#4MZfpM zRz0Po_ulTq9ns=lkY@*PF0?%Xh^6Hss_V z7fayAOu`mR#jWi5K`=*sW9Lp%Pcu&}e2>s6G<`~ufkkw|R%r_#xX*|979+3)%b{FQ zLTVPMUJ@K#<6)gT?-m(G-RNAJjO%33Pp6BnE?$z$Xtr}Z44`4OdM{G|JAGt)`E=GE znxwIt)AG|Qk+<^rz&Qg$5zpgKb+ySfiOT970eos0-bKxcAihWU$1XEO31i z`V&Ra_2!|&FI?fBQph2)(r=m%a-rQ+eanl9i?be{L^PZm%88CHpYPvT$4KTkH8c>-$J-6gw(`114#rgFlf>pQwpFBXTJ$WlRy=e{DT)H$_|}63 zQmIC#w5i$rI*#!zx5@j~`vNL^M|RMbBJZo7ikHFS2E+tkT} zOiRE%#nY|`@`jceDtMxdn*NM)9m*7_ealuZ%vZZi8l|I#B#{!TR(h+WeF|rG@*9fL*TgTj$OUvRcVfDc8yt`rjtC zVkN#4;OHUe?_E<>5u`Ym2}P|lTu6cNT^+9=yBhBo{+Xlo2G{%Y$jqu1mP%`i*zt1D z-0QN*VY&8@mCt97melWW{=77lY_ouPVd)^HK%OfVS?E4kSV!kv0OpG8*z|~!2wI1X zm^J9x8!p82gh=(h(5o?c~onICC+nO0t!NtU@3{wf zR_~MqrfPrV?ZKM)1^8M`nJ)da0i~ZLAYf|{3gi7xb`AobpTrE=a?43G!oxGoF#{S+ z0D`BQBrD{8+HBhwoSiM3iI}D-W7X8(n7v`*qz$&*J1Vbtk}5-;723s}gh3-M4;fq6 zLBDPfF2lL1qq`W=LJ|MJ>Q<#AZYJjys$yQO1Ays^))={D4+4XZMh;mY|;(ClBR#L ziWSr~oyLvB+b<$(STXh2TSbln&p|`=xl>Pft8srz1?W!S*di`G9i>mfToS6*1h__o z53{kBwGI8f<9PbFqsj0%t?WcvvBV+BlGOHZyctYBMW#+w0DL+f8Ep z=~BGBn`oMd$QZg_+1B#!P4Obpwghdj@yPRUkMvnrm^Qx1azEMvDXB*B;_TpYb4A2x z(5%!1$M<^J^QY``!CCQ$7-XK}N-8hQa`GM-n~8d?VO-M3@45v!(hp5!^V5+m{M`F? zmZEt7&jOW=JvBZ7m<+(l#P)w$|DVv8|Aub-wEkhzj-YTPPzi7hoSZkde+C*qSbiwN z|4rRc{kdvRp?P(M?ORPLHgm4-jufT)OJ^1TqE4$vzb%UV&*=*swr6BU{<2e@TXauG zLrx4vA@c02qsXd!n>Zw*kM3Jnsop`wA7J0JTY3HUxp4S=j6qiS4{%bfBVbW!q~SLf zHw;7Ih|ixoLWrgT8-=2X4GC*NDYBKZbbR07@7yl|+w$v6CPa|K+Dr6CN#nflp+{2@ zE8ELD#I-Ef(=b#1lE1om%0H(paXtyZ-qThj?qP4HnX2XOy+J4CP&kmFUq|GO9$*Ko zKm^jIh#TG<4&3m|(=hAFZmu6Zm1s8_rl;8+9F#-bGO!e*k9rvmS}Z`N!+j}le%T+Mfe!GM*g^y|GOZC{|ok5VBu>(oMu)U zO_4;1PY=B~Shc%vWQM;dQ6ff3C~xNdukVN9>w>sV2o+lPdtaJgZ@4NmsMTVkx)ESEs2(aVdNS3$SWGZ@m7a zGo>LdfOO(Hj?6v#Qt#SPPI^GuUo1z=n|;qxZC`AvIV+{4k1x%aJhrB`l8T});4s~- z6em@kdb0-sUOo4n|4|J1*11DeJ*e0FdgJweneQzOrzx0^-Bo^fQ5)5O9!%lP1OYBH z7*Q3}s;xYsvY)>D$oR8h1vt4IHf__&>Z4Nj5@+a$ zC|Klo%SR$aV2egNO{A(PIU>gJ^sf_E309_og$f&54S-z??t!D>0n&DwPPDV6NICX7 zp_2obM3{524=PtrFdLKcQI;z`pp((Dd(aAls4}>kkq*VS&5y4NZ*6?gwz&qG*OkjW zn$eL33luJhpPogUptU?S1m7tR0)JY(p+T8H_;4Bwqa3@~pq4DQS^WM1KvP7v7Z9L$ z5F1qe$t*1JHUDZN0ktLma=*_CY;8?r3My#owdNNipl7nP4-Opy!lr>2m&5 z6XhxUS|m2BrsV|Mnua!@zRSgWIJ`^krdWrsz>P%CnVmHGaG6X;(yj72dCs#!5Dyu0 zQlNqQti_-wMVFP%MdAa=X;A~-fJ>Vqn|y_8<~gC0nCLA1y6(6L{~Pr`*B!@6t7B{+Y6%s{r5z8_>KR*i zf=c2c>eCpyJ2ouaFXt9qi`csQ^I0&aysMxwI!OXT2{@GsnxH%@-4WhsY>p$`R9S0+U^$i; zBhbxphpw3+D#pO|aaTr-WIcVX>5t9LQ=B7j_n|Q#dijPV6<6fO6N23oYo-wP7}Gaw zh*Z4zim-2HUYU?|_^T>OWXgx$CUW|p4wKI-jES^>LyVlzVi@Wf!7m#*<4{6`(l&Vn zw32%W@Fi^wN2cErL$z0||9CE8avJzds$vrAPA5x7CmycR{jcW`MH9}lxLofwp|A-&Ae>?GoH2yCvNY~`{n32{#fQu;mVymcaN=nJXT}EJ~;M%zp=l008 z)rVQ04eSYab}3K^Xt$fD=w&Gjcqoi)C!#z){;advfb8OWyYBhxUo}%#p9#NlC zrTqXtp8T>@T9bRE)F2^JY!taN8ttn+C{Qk{ychuX0>)E+V~hsMHh$vns5qDafKn0a zQ4Y_;WL0|sg<+n#a!uNFX|U3+1Mj%n3+nMo$>hYH>blyHqCh;s2Zc3-7M>Z1jKdwX zA_N*2#@)|-6v(md9BAlgAI1ph41`_iq85l7%OSXqHOq>rl&_dXIick-F4v5p26pIt z!JO7ck^3SWP^Wc?GYo5iC>16Qz@l;C^$Bob^bSiPqrzR!${Frx`iMuarAZsQ0UXK8 zN`j-q)POWUCT;tjrC2a`_KP8m)dN!sU<%CA5}PX83v!SWhGfNTberM!+EwCJ|NhpsM>C|FR#$nWSXfCB3g zN8hVjNU409H#2A<5jPxudk{S?5YsI zVOndTikgj=Gc4T^egC6H+jx>f%s2i6)2!W$b4^Z_K|x;eaIyU_-A5ap#9zp}XWZR3 zofKfoiF~`xcd}(!yd(_*2n%hg*OrXPquQlGJu+jlaIQYW^JLqTpR58mYg12l@R=vN zC;LR| z5R+~sySpF}OR}(FALBxqa6fwQwlslMFDrSRTtSHrhtQhg^d*M_B&ET}^c3`nO`&92 zs`?(b>Q)rc)3J^aC3NMq1htQtOwz_p_safBs@~G6ELFqJ@CwypD@YO5W*>oyCGj>5 zE;0eS(R;~5AoB(V$>)n3YP4W3$-u}k=pkcfXK>!r)EMGs7tUG1K1P&29$?O|LJv^F zA)H<2W|_pP2xM`rm#cmQ*bDkDLJ4PwQAiT#S) zHucYTc2Lzjf!pdPf*mf}y`NNKji7?FPu0^E>YOmsu*<| zCpN#kT0AZmBG|L6NF%UDapTq2az-f4cc%HuA=!5{=g*oDWV0Azz*`-kudXF4LN|hU$tUjI9(Sf(AzV{7&#V-q z1CXZ$z+73yyk7?fO1}cjWzZ4JGC0N#zjff9Z_MEXOOvd?JzDl>!^V3+aXnckzM60G z>aR^Tc zC@=Al3?yC#>9`Q1yd>iDyA^@3mGys}bOV*bHdv8;ZE`h5UOlqZt!A~O*`|?Jx2VCn z>V@)~D?j23xh!sgE?bK?C)FyQ!c?_4AOd#9<``UG zwrGf;2n_MBUN~f;g-RIUq(EWb@Z87&Q3=>XnrZ4DC&e^PTT*7zJVy(5U5W_Rezja4 zh+WL%Q2Q-;@4?)Kvw!NWC%4_7r}lt@ve<$WgN>1H;oiQ6wl$uokInV}PVQKtaNV@VwJyrW4-=;Pubu zO*p5?Ffl@Ihc)wwl7a_GXXJnUaee*y>ueovbwJKSz@?}rW~)LPvcZ_<6c)?W~wc;u|x zcKSU^rA4j_WADhA5EVgRX zm1}Z6U&E|GOl~*s)q8Wo2q|`?I#YmFW&}DI`3)T7XGmPfJUqx&?2}7?dD&?vQ|$7q ziqJ-zR<0vvOH)mb>q|@H(sUx~;^f{+t@FFA+~35Bhyg)-AM22)B$?J8?edB$w;uET zguz?P^ybgN^ScrqW|eCsY0JP!f{;vm%zg6?wa?0)a-YU;_?EisaGPAP&-|Ju<={VBXAIy&WA_1o6H6()u zn4l5pv}I5?7T?2@47b1q={fG*v#?Z>NO^^~xmU$-K)v>YDitqfrvImuLqLRkv=vk@>bv4^S ziov}AMq8HmLc9va0Qrl0_tAO;N?OrH<+x4LLNjEzWr)Y)J*vWxKpWvp^x=O7 zlTV(N$(^GWS-<8o;XC*SOm{)N)|~U}&lA0=&}Pa7EW;9Gl0wEH`XwsIyFE+1^Y~o! zq&!lNnV9d&50X>0DhIKZ#%xdeUnfp!)#U=Xx;AshaI#>O0V#pi&aQ~ZIv(wtEx}fX zwq#rCK>Mz>tGPUs!sE%3$b$XYEri@%wM%be-Y2Q>9!p6)pdEiGXQU`5YNj)JZyW4r zFesMb@2$%Z>as@AZ01VZ>89yN$$Yn4JWINHl`Dw9&M#+i52+V-)UKG9&eo&5l5o0y ziJiKm>Ihqx0=AvKDKVN<#dQud3R?~7)5-Su*2|gSp{swRcs`0t&{_v8I|h|$+So!B zor8!k2q{(+|Ncta*+)_`t7{Q}c;Z2wczAZz%$D>q4PXtgTZyPa5_Jd=>$tiAxZUc0Npyqxflt$Da52 z7=@LR%LE`bi-zZSFHV{D>(LIs?w1E2B{0@^5P<&Bs6G}gRe!v2q2IG`@s62SJ3gra zp~x{|cw@*DIXMWf*+80u9+n}6VP5bl<&C*SY%kkTQxF68IFPm5FGZ!(|5wZ6`sNHz zy<0`|AMr)50C^4QUqj*)da!#WdLQj(AxZ%KlnIcZL`RX+l)9cKQ86-_wC>2nhTo1( zEdUnkq*y*Wt(OzWUIa6m;8jU2RI!BRMVWa*BZVr8QA7i|-sEbpltIdMB~DRoqf2Gm zyqId&!V-r5Wzw?plv>G0ce%epClL+$DHjCe(enK18~odP2$^IDcb|6yaX0s1Aw5CX z*0z-7I)MbRLM#p#m?p>+Iyz&kS0P2qeRhTor7*e|qpR^UN5d{+C^Mw{{O%@mlU51e zXQucN9jP!HkH$1)Bv(! zeZOwyZHKg|BQJFjhPtW@IyU7Mupe3 z2hYXd!oI)TlQLsKpuH|WdTzjc$%lXI??GFT5y(P<_=D;^-1MYaLkCgWmIH9J9~$8G z7tb`ME_<(mvK)+BSjZJ{(@W}rAt?x@2#lpMDYcZbI8H@zx-6C&N#*8tXgN-!_AYn9 zE?qu_9E@u6Q1jAUpU6(YIFRxbs0B}o#@;T#0BfK1AC=Y*JpiL@;&F?C}Nkjppm&idVt`LK~K>4 z_8=Yd5G?hp!EH*J&~SesH-Gy|yIGS%y)lm2p!aZPv_ZpZwM4)OS#SwKszpKe!kZr7 z=a)Gs3pC>zh1arAv5oX*{=(~`!q`dkP|NOXLKduDORuPG-raM+3j;V(vn{O+ImX-D zWj%?QfqK;?1iTK3w70gZ{Iab$Y+oRV(yxFT;cQ?xDJUH zbexYFJc>|faZoVxdQ~^btlUZ#xw(luy1%>!W z_O~&xhGnX$jm_oM;sOjTHzwk)-cz++dmGa!!yw$7?wHSUg6!;BGkV?Y{Fucdly6hK zy^Tkq0}LRQV+NnGSnv{TaabyktR+u6p*r4FAKEh(AWrR}S2Z96rtf?h;b17=S9uAG zb*Akx|8P1tZu2qiDobrF7n~xMa)I8N>CH%=^(94=ArqQ zE7S!8VFFjCg9Zx<7&82Lskhuy!4QJevp29obT69jR=u!~>iQS^fsfh3)+*JWrZzT+ z4or5bS#J~$Y;k!cA0^eZ<_Ik*1zJ?JF` z6+Uc&**#C_VU>$^4p@5t%+|FbmB+lDU`ujFBz3S!N+H@QKXRN7D#T2rv|a&FMhln{ zE2lg`fV2{GJRtqa;7_dc5Hra8ib#M{z^bYgrvv6f0Oxxa!Qi3A3ubn;qvF2Gd{%sg z<4NA2yGc z391h4gqwxYhHycHELh2s<@2Aaa=jUnp^QeVJETgkLK=Nn+V-issxc8`-~uaz3$1I7 zDLHCAYM(K7LbMt9NkZn(b-xk!j%^^^V`gG zPWiEQ)pMZW$f49V+@Y3|I}+mD&)OJNisN;Z{h@OuKr3Fo3*4`fz^ZaH1z4!v4wJAw zWU~`1LQ!+4d|=oQOE#h+6Z)G6Eq4PbwW<1DDCno59uaR^z``)g5x>eiV_;&sJD`XJ zOdzQ{Vnfep9dw#bSz&vv6tb%wYlmi3u&NrhBf8J_qA-*dIIxRiZ^AuX{fVJMG>aVm zbyRIpfB)p-pU5T~(=`JDWA{d83`0pfnjj}->b`R?9Kjaj^lZz=fJls)vJkClhYyZF zI^<^D*?D{8TWQfS)$qG>)03Uy&8fp2Q1o_XC;)B4$gKQ{7b8dy4@9#wa{>|xPlRg( zua(x-v(=Ki#boa#t zg$EguGs9e7p<8Qjsn&*gF?$kjD6=m0A+N@6?3%3`Tv$<|qKL#Rpv%s@ z?&ft2YU)Zj!r%9PPOg-fq1KbW(b>w*zS9|hiYW9LcG#izkW;O@^ORE!kax)$e=;@V z(?I00H&L=_Jqb94FrL1bVH$e?3oO!)5tWic_yDz z8#EKe^|2kQXg%j)oLe@t)RkTjXocEusu@m=60TMUe_Dwiw!T`%*>9-4Z?s!iGxe4g zhFgYxA=F~9>Fnrq25G|lue3f-vtGO{YwKC*sA)g+9ipR5ZtIYingjOR%;(M6 zr|~-_qihMJJh6Nxv!T5K=;+Yzfu=aV1H}V3oo)O6q9$)Z0-lE$8VDUx2*xWi3T~HL z;HZ4s@MYAd?s`%sZT&EUSRmEC+P!FpdGoZeZ%esk`HYzch>Ab$2QM>eeR)ei}O zw6G7}4rqDKc*Y?bz4`}CoAJGDm2mHS;=59;Ea-J359A!*PGSp&6+e6rR0#tR43_i1 zgwtI`*WS~c&&%=B*(8#iFI-Cwm%81A=I$DuNrG~^>zAOV1>RHpV99CDOXR z61aUt=JLO_h64?J1HL;>KE6gr?KdO?9Clk1A&7#uf9~*wHk*EJ15PgAS1vm~pP=lt zE?X}N^jrRZE88n#DmcD7ZOJKe;2{;FZ)aXkTz|ik7C+?5%Yl3`0rMm9+be0keC*JF zulv0wI0g*?hIjc(VgKbHzoTTP2z786bCZ0e?V98MYV1qtzwSYo?q-`Zw6^3SdZ?fY zXMMM#(T+)Y;ZC#U1Uz*B(RRu0-WXf9b{ThTf-8Zgxo5inar5jH3CE!k0GpL0hlLrGZb?O!kdC5L_@1X?~kKHJwybJ&klC z)cbzeu2}$x#K6~gC8HM#@3X1ox2lh9Tn{%E5ipn~nqb0+z$ zESRrhW&^E70$^BdW>becK(2shE9oMkKr2*-gAacEQBtKaj3=cK*U8EqXoa%xa#jP0 zswydB`a4>(+47Pfd3tb?nR3vY`<0{rPjjQaX|k(}TJB@7Ag{lz7@vkbKiE2y{Uxj% zutgl*u*^X56jz|}t^$cSf8qTQ@~jqsIFP*mUF@Oa8DQhC(9j|rx-N~UdZ}ktQd1f= zFy_21;f}5oaJs|vTXRC9dSVI9$OPFb9h3Y6l@rLO6ECDwoh z22AlStehd4;}4^9kf#tgY(@26l2e7{Kmx3?jwA->5sU{#Ph<%}HkF?t=!uL%9HU#G zqat7ggd#*D$TF`_GDL``5Anx=%Qq}2S!}kg4B$!j+GLGhrz1hE*g(|50wQ1kwkRCV z*6-FL{6NYsyX4JfDDXCPtGKC8-Oc~7P!{7QWm)zlIj)J&*u<)mT4I+&A#Fi6ce$XO zHf!wqgw+r{g1Wzv%|hv0S7Z@o7Zb;vGk9x49^RHy^c#hLj8#HsoJ*DLG{A9MD3@B3 z1rRNkiN086k_PDqQfU<@Pix>6qooQ$Hl}tOqRHP%UN6O6{dY6UQG>7;s=KiceR zCrWZ840+b{7sz~SW%NA*EGq8H+Y08!d8JoA6&=<2IIT0Baxp;1?7j2rX)9uJ)kZD1e`?N zxp}`2CbWTub7_bQG#*ypg5Gciq~8uY}pktf7MM7(?&BjquLYa==HX@6uEnP(05wzX5TB5us#|$^L4ljXn@H- zpq4ML%W3Cd-?%E$czddK0|5C_Upo=r+cWSt&Mtp`(|Yq(EOmK{mhG#K{*pedE3-Li zv+SI2b9VWaw6}f`EvEw)tN5Z}vy3DjrqV?Lq?3fp1ks+3R+j*wwH06EcmKRt0)XshqN`ZQhJjd6 zO(yvf=p1|uBV1BsmJW;uM)F8l?!%IU=NW{u7dzdAccND5U{vI!mj@2wxm=)4Xvf2G zVkx!LNi;QuF-=Em+Rr&^P!ij-{Y-B$pY)&-1iX+|%HKL5(6wLlJBdRO@*?qTY1vii zJ+-A~UoW<`hUCLs3$VhgZg(DRWNONV$+b2_#Zlv#0QvGERzTJC)-z*|`24Ex^$u0t zQfG_0ODS3E714$Uw?0(hYWS3m5!v9##z^+iZYy>&Z0WZYn!r4~go8CTSBnt`)14Hp z!pF=ghb5LVX%sy_Fy$_o$rSZ)5gPGZLp`M(f#$A_O@d}e7a*QYV>lq-4qfJ2I4yfX zxZk(Trp|8csAU1hECVK3`-oaN>|b~wBQ2=Cp&Rd`3WG=kS)rUPLr*1(ou?GG!&Me7 z^DjB^(-tx`+9HSjAjU8j*AmWs++QDmN)E5KD)6mxBUv5p_4}PWzcRx5gse70D>x^t;+wF>rB| zTrj5B;ZNAAAVEdah-lJsDV4uo$wZTf=pph{HS-Y_Gn_7~P;O`IU@2o*vNQVNzGqm4YRo|2!9j^-!1;%gT-( z@t;%vNF#2+efL#l!IaGzK$=#Kn^sqo1AiGD!~#;h;^fwUDe^fyX~7t!j8Q6mjXeah zf%tgr(D@Pf<)`-h75XTov!sBod!zPDaukv7l6L6(wbk=w^&p=rB&kT#z9Zk#Yb_H| zZ>x{C-)pTvnIwIRG=Uy$2i~wvmmRc|m#0V_8;{NwDx9WV;A@WgT{7!yvTT!sVd_GK zd;rq(TAvXi00AbuF+0h`?&fg(wD4ZIu!VAzWN}j14 z;77^TJK8_=egYYFI;vsN*Tcb!o{Dk7{4JR0qLJOr#U9rY_8iGib+mhT(2OC*%DPuV zO#!yo`u7uh_6^1MKRq)C^M9<3%uFo*+uC^flP8ATewkBSMqu$@N(w_D;Tkv_Iphz& zieVvV9jHEWmGj_#l$4GQ-f6SOy2{EZGDS2>K9PF!*RC?re*R{#Zm?VtnTcCepq{Yv zV?PYZ^Syieook@KItzFAP6}Eccqu^<{gTbAyMT}d%X%$}+7$YkiH@#LGn;~^`@68` ziOlQC{}xhyP^*7}*&R7O42?Cm0WY_LQdrwx4_{%2^4Ir-y^utxKC3DayZ-c@63I|Z z(Hz-{N6F(YDa%*ugsFj4y6+q{+6t^>1nyayJ_j>8>k2-r9v574p{_U{kR&(B+cBDBQ| zy$>Y@Y=Z(NUG6xE3=`>%1;HsJjA?eGL46|2HXV8%+v##OA3^F+AOhBDm340%6c{Df z0?s;6#{~$@S7>H{h0EZwziU|>?&?YT%e@XZ_)D-v88x5K^Ex!a?Z263%7?dekSkP^ z;16L_>2Uf>Mg?ft6j{gLYDmTa6Hsu&Uh8-8Ecb^H&~1tv`DOqp+=b2T%fw)PO!pn8-Y3baq1FOZd=n?si=bMn*)KAFZBf<`3B_cJpY{^lR@tu5j?Fj4+S0L8nEB1w^+QIajfN@~EIato zFoghV3>)usR=cSdBpY-10*yS}f(; zP9<%%Ztg~yR_PPG&z~Vwe>@e>Y$aAo%uv?AnzB&|MKa(wJ$D4t#1=7X>>`)^5)V=$ zv2K2|^<+QWNhs{qQ%^%}#1fB7iFrQaCG)-tUf(QKOpF!g3NnDT#mJ(KyQf)*3ZAsC zS;zDij^%ZmtM$UUFC+<{UZ44dc8$mL=t-7{)GODUdMW-M4F=cVUI)Tv}`w`TERv0c?wG_ z5K6N;qHnf|n1s=RR!M2MSxVajwM~AHJaY>bmlr=@Jo+pubK&9&^OmD;x~%=DTa9TB z!g2a`M+F9Wqlwqtks5|T7Z^948Q!ExKp8=Ex!1<)d^Et5hq6YRmP>nzhs)jYg=X#* zj7BpPR@+an3mF;YKFEn~!#acxh547kkoWk}e1N>Y2BAq*-#-qi;N1#t4f~88OALbK zaJI<-2Jf%&3l)^3a%TSOa7q_HDyZqJF$J>3@bO9I~MBkHfCQ zz?h(`2ywt6aaH>ZRk}EMCZF|#-PLW1kK!0_tVXR2MnIO#Iw97AC`CMXQDhc+Uokue zKILJ+7^EmA5}fC+VsW0|+zbq~gpbA%F40`sRf-*?I=8&r z_ckhHN@Iw#1ltqGOx&$cA~Z*~b=OG;nj_M`rQQHlI=G`mkDG)g*G>)ch+VX7JI5LK zWE+&Q6L0&e_Y)lJRm4l!`$_Z@vh#s>Z-u+g_?giBjplX0>Iqhksdmp2uBoS@+Epag z>Dl^%sjX{8*K^H!BI*uxWvwp1l%2xmMxk(*4F(e4%%HtpK5WgS&w>PT=sqh}TgF;U zk;wovdQUFOORaGsV#9xPyRBDQ$M=(6v7HPH?ik0?h8~86Mn>@%bO_Twz+L8 z@}v#C*Hmlm=dudzmDsg6?&727khVefrD`vePs{H59y{EI@WY zBd((G;o14Wz z0`QjJatS=?xmAhkZ@@fDq zUJU%|W&F|^wO=uJ$4{5`$8zf8!JPR38%?tnM4;8Rf_#RGtXdrx7no_1KEefy{V|KO z{rmd_Cn2no#x#<-!&gpAgeMmM=%`Yr!;Sm-OgV2meniv29e$*2ZjJEM;)rL~UGyre zULR&n2S{{f?;V@$g??=4YwN!dm^J{pASaydcQ$UFIc8^F=$BuZj?6(}~G8wRf{ks?};z-*l|j;b;6I z1S2C(g7FEKR9Z9%?nggwijksAS?*s+S+yw1{2IMSN z7oMBtGzQNyI+eBMs~L~?fzY`*5X+n9_bbI>3*t8sz=!^}K1Q?q67|VQM-@WJl8hF9x z;MCQ6MUNcIr2<2?VDeop5x<24bS>u=bMEZH2g*?h#q@OtI%+NTJVs8G;43ef?Wn_6 zYLfV>`l}eTnE;DMrqWz&7tJRUsP=f3e@?TosiE0e@sIzEGTJrI^DqEzDSsHr}C~blJU=YK$6&_Kr4Rk%y3OQf=o9ED; z#`xBLb-(Ih;~})S>{xBuQv|~H~T`5V{eM262`;p5=oAmo+Sm=>!v5~wia{1G8L$FTY{UVe3LUgO0MnC(e3b3eO%UDc4;BJRCY~N)XW%@(E)b>U9j!h7zUGc(R0~mf=ngdT8 z+(ki1@}3Le)z^O{a_;?o8v=a3+_m{Q!?^2NzLZ(c)9^yV$Syxr#kpXnoiDV@=;sdk z(%tOV^;Et@f4NJWZ$7fRYuUP8{`v5yIqRhShI#@(&;{9f(%LMeef*~|pq4ha+?8XY zP6JmNR^Un)v{HWVd_sC&OU?iPfr;%u0}}%i^Zy>0 zeqdU02W|i5J$pfHB33NG7brvoP5^h>Ft8IuSZdbwULUyl<_}(+NVqsFzl!JOwrH!A zN)e4JDvLw(e(fj|ozK<6rJ07<8*usz!uHGGe|~#)eH}?Xy#7{_MglH7PTjae3tsZ` z1j$d{%xakk#1 zdcE0oQVVsZ1N=1obc>))I=;VOO-pZQcKBx#SIx5&=xF3A znwp}Vgg|LvMDh^qCoYYHz1^(;fQMm<7w<&+nTOfdo95T*F|=S%Wmtbomka%1yXxq18ftRBI;W95aG=~3aBQpeGZG~Sepu{i$Nx$Lo@BE+K&f2vKt245BU5H4}7 zvyrhTe9qLf*OZUSDf?LEk{Xl9<#$oFu(1{(9r5Wy$_dP{FTP!vs9QI>kPOBUc%5^W z#rj@x{dvV~&45Koc{GDCB2Gj9>#2B0VgaftEER9EWzUA!PFgFw`lUOkaU%=SIWUWg?5V0Y&5l0vb%*J3c?ApL z_2`((*~XSo3wgBbNqJ;rdNvRa16~}`Y`O*hJsSLcY`%}dXVLNKY6BmuG6N7Vx8fA0 zpdd6J|EFnRaV^7jBseilU zQ&!N-fa6!EQzDGUVzT}?>Y2#M&f+k%WNQP2aBhaF9%o(S?u~QOexn3VPik)ztBwyW zO-6GExHKP-W|AC7s1o7EQBLsw)wPqTL0;U^utb$e6{Y%HJm`HlSkRT{8TzMSF0(rf z$(!~3KEm1Fxnlgb05vI^C30H8(rtqV3Cfv}EgUNeQB2*kaU<>vDZ|6#=AP9_i(0Yb z$KFVE+ruCmxGxXaK!$)YQV19foupV7CUi6iE>x4)l!+%wfP)(sDwt)v03|2Oav8|e z4wB2P*c`CR72c2-huIgQizx+|-LZjU9i$<|zQTp;+@@>S5_ewj}mM5jzwWy84%9*aBvH!JVMWWclU+ut%_&W@!svA zjVnBQF}2%*z1!g8ibH=AGd7j*4IMS&)W=KNejQbjcjaqx1L-ylKo;OY`9fh3iDf~| zFf1WqBhg_=$IB)S8E6Nbo`l5?vie%CLhEukfpFs?`%lrBo9j!!TKwIvIu;b??rxp2 z&fA^OpIEd`i2K+S+SEv=NYf3 zIz7eJxMGJ;_ZO(0LhYzwdIGyfYcck)cjX?J%t+Q~y$CWIf^sGRgHuh;A5V;**rCeu zHKy?e%U|gR#Cy1EeGqhv@v@~<%XZ|d)RDO7LSOsuWVR|0qmDa!zm=^gdQi`z+BUtq?;Kabf&bnqC8F7M6ff`iHHX zBuKT)^?=0lK>-+`cx+R<2U>~OLdZ5znpZ#*7`N@hoV$DWXK_i|9B&r9s-QHR*$|kN zM3;pq`uYCgCZ}#*=}zo5s{~8ELWo-z;S!bydDGN84T6YQFU?jSiR$IjyNyz`lfSKk zY}tG`&b~6iy`oRP2PT@f92Q`DZxBc-hrJc&2POlgb?ODkyGQK>gUZ6HTZ(*$L^^yuWB`72GwC9c-zYkk`I{deSIZ>UgI2a9ayn^`vW3sw{ZbHc_=4^_LgA+X=T( zZ0jTC_>2Llj7h38Gs%pvmyFX$4l(&Bm109*X{-6Ef3oS}tD!oxu~MND(v8thm`Iw29g5U-@tO~h*)xE!m7g8TnQy&jYm_# zA4Awh|2}CZre7zOH5V{f1M|v%Y$2^nkecIg9{DfUOuYl`b)g^jOGu&j%L6-`&%Jy*)5h(xLJJP;h52irG+PwN zqS#Q@iomE&kXHvWEy$Xg6sOF?9mHt_jEKV-Sv`+uP{6mHAmeuKsz;%Ak_m_)yA8z3 zpMR<}Hd97zsUuKOOys|4;#P0!GQEiltl06h;zVZdY^OZQyIg-EP=G~M)5Oy&G|Na4 zO4Lo&E4V^L8Ik{Sy%R$jYv7}DD4kot_OM~H{Q*o&7aSzxT6*W^5+~~kSON%K9H-Bz zi&Z%tn`v3b4sD1GBI272Ya6JTeo$dulM5ygYJ=WuN}*H`n}YEwZ$ha$_w=IVZUaQr zCt-|dR5iOe)Au-u)x!w*N(6;_13E@Q9*`s+^Ml6_%}K#}@#LKFF|o6eiP4zFzPjT6 z-T%(NbW(pGn7Z;UZ;T^nLhPI2mvi5r=f-M%M#!0u36L*6RyOmsGB?Q!eQ_rT+tn=& zDySz|JS5t>Tc=~rfuiL2#1Fmca*7KfN&QOP337Z_a67K zJDL!@DB0@2&zS{&vo$%bPG)mZGp(?1^RrhXTN(?aA?-|A=@3a+vqtMVt|S28?dg*x zjk!_-g7pxpNJ{)h&$b{WI6aOV9X$H#OjkPzFdRf~q;U1cUbm}BOMFY14o>+K(E!q{ zlmZ#hFs$t<#rkLQxR&_V79-NvT z*A|kCibz{L@>r0WeaY2FHhyB`;{;`hED$|=w-kqh1EQ{sVbeV(z zk9#_ee{d3nbLLM}4*H`lq>!A?SE+F@&4-r4*9xfmozn01PZ%d8FlKR-1?O25tAY?J zU|H>3u`EKjK7L4}2ZXK}GpP}!HoQMe(%kdYkJ(uv)H!Q8h0;bkVhfoBO@XXijqBB| zZ0~F0wW=qpEG~k|^ckB?o;+>Ihv@^=a{jEk@gVoCM_T`qOF7%H9jJzM60FU)7%k!IKnd|e-7*~?c1RUGGu(sh3%Z)OTK-!y+63W-0v8}lF{J3_~;r0 zH>`jACS&C^d9ez7hyybB>N4IhcQ>oRoY628IE-mx*~CFh3R;q2Ufv%=11qS`XgY(q zKK>7ty_h)7xWd`E>)+hzb=B-&I|dm$*tB4sdtbn3oAaMHV#V0^HZMwq#=T)!wEz~H zno&rlQ^&gjrbJgN*)DN<_qQviTnCn)>y^O*$IK2j#< z&@;-<;jY2^n=`z&Oz&982mu2)jLdHkc^DNbB}o`i(bStZlq?V?Wf(pfqs4$0m~9PE zy&K#_R0T0M5>_Pkka3EjB<;+5k{VT1o3W7)rO~o#VdC6rWTXPJmytu8eS`>!b;rZ>k1L=Dpjcyp1PO6u!KARy(zQ#^@g5 ztV8uk0Z-G@v)Z#yxD%AQB1q-emo{QqjP^Y-!Hc~&=z`zTsjh91ROb!Dny{8|Fo^Y! zN1@JF|Eqc#D=T?5^$)`Gd9b%{j4XODz4q#Z(p-wNen7j5IwI{Rhq#1t^pOKiC)Nwo zg}V2I2d&}*oQ1$-^X9s`(d%J&`M0w(h4l?P5o)vBTt@eZVYsGiCkxtWXN)s4TQ`dp zC-ZFWtekAbdzFYD9T*uUHH z&4Qh|bon#`10R6*CXcGCO4Q9P8Fppk{BwNoxo%Ut#lDTrvr@6L2|S3RU?!tROGxEM zYmr%))P+p6US5;fq8f@$2l6XN9mCY9K=x5j z?j?AUl7CnGo0GP6clH%Mm*v|;*mO?sX2+)6L$)M%JIaHOxJ=I+6+?P2!GI-W>K1kf zB*2)X)3}6TIiu=36%C`bY3XstcVG=am?EzD7L_RD%_mkhhuM2+wuEge4zh?rLh7W7 zaF`{Z5R~2uHg6%^_4w{z_Z@Q2sG26(+|*{bQM?fjaoTybPZ6Iz5NZLWEz0!|T9)=( zoV<&DSXdIy0tGeS@`lOoo&cky?KW@{53I)~c}mR-AX`0L;B*IKO+v9^C&S8b|I+}q830&|d#w9vyy z#J4~h0mOQb`n*MryD}fh6w5jbN_5%tLa3<6N+`tJifpgpS>A57YG|Fh-Ud8uFN+5- zcNHlUikY_Dp})O_{|VZZu0YeQb7zl^KOG_oKARjiX=g`ia18PYW(2!BiX*9w#nL=f z8z%$LX1C(V0Q`YNxJdB;P$&{-LFU*R`8K${csmNyU5bE(q;B$*xW!U|! zQd3W$ydH{uwo}~=L@|uELylSS?;|&;_wD<1=EKoX4hy_xp759s`(gu z$3gxloC;zr@!UAzYT08h=ZEXrd}WN|Wla3mB&|q=rY*lJB>T4Drk7n-O)j(6FZUe% zdc0QaUs;Z*%lP=|{>@u(E@@xNoTKy3SrG{6V<83E<05>r?IxQPnaWU2mbA6K4HNDj zdp+SKZkJ?rnSJwIJ0_pu;GaLRNJxpJT=#sK%QfU!=o3r;4g9u{fx1W;GlT6p(pAW2 zO<%gSmodFZvR<-GIvGGd5LeT)^jxCTTV!6c62OfEkseaYF!?}$OY`C)o#P>#Q1 zZ>OTg%%x@un{!{B5L2dv{rhVK&VHhQ8dqbnMfzxaRK#!C7vh%Tg-7HY6i%DK|q zpN4P40@-;(*i9-=Omq~K4 zn6)kgC}Gsn)8X(`4pi! zw_EPt0q9hae%rgTpZm|VhTsKm5&0Ma!U9d$zg1%PN*Z3-DcjxTb?Xir&D^KWtG%F@ zuR4{`6S#+j7L_A(nX0dfryA>nJho>8Cgifh(2idcl#VUZ$t?j;b1JsKy=kvdp)V!e zhAl8yC$xL7IPtS-qi1V~_J?f{hR8Onx)WGAz>)uX*G-NxM)%uHCamj7=-oD-<=Mf9IG+G#jBUSs2+d+;3RZ3F66kL^4L;1(D*y7pl^W02a^p1dHR5t5x1=t!TQ%(mM3 z9e@wwL|j*adN1axpCL9lw}^OCOTlYGJ-oN~Ha=Z1Z!E3;;lp1Lo&^nOp8_gK z4VKebnw>*P?JLG#wtEr^!igz^8hfyD&rN)h8N^urEpqfE^nuMav+Dbwnm7Xz1snyG z^*?=a3V@sIzxv{>nzD`?%m}?V|0ENkDKsj`1!Knj8b<9%9f*8x+KY=wS6@Q0$&9+m zTTIe~7)_>G#|H<^=i<1fN3%2u6J0Q*RR@Noo0Hyo*Wb=3Mf^W4)IuW%y}2v(AuL1I zNwp4^_hx7LYS(OP6W$CXZU$ok%w}V!B=Mzw%iLQi9)2Q%{J53FC%y%dpOJ?-3(~1S z4uvKbZ-RvSV8gh2##Okb6T57Cc_y~X9h>b9kCTKe|` zX~)R5zMI3;#GF4!=Q1sB4mv_Ai=wj?Z3o5o4jX>u-S#bwYN(=jNeLGMi)K^*gy|`U zQsDb97&!^1>~e(S-h$V0!)8`+mCK&s^ux4T0WePZzs<)E$PUA@)Vp*e)}TN`l&<&- zT;WiQO4`jj;vE*5H~Nigtp{cW&($38BeG&4_v^~ohT5T08Ni^Fr-eBc0?EAoW`oJ3 zg9^9@E+kf8{`*uMI_nOo`%LI~9D)s*MYlkcY1&CsqR2EQP?Ac2+u?#_EfKB~6P0m4 zjV6xb%222rRHEr%+y9$d?Y{5uW>(mlltuUA%rr2c)tG>u&{s{=Z@dPNg6~(#wz3Mk z6VH7(pPBP5m@+seHR+h5KZVRXB~}?#T6cslWoG%qgDMS_238y>GLE%R5nY#=R?6t>JfL=)yk$?FO%NAzwVc!3Eg7P z;)v~^4l+_1H(oPGH8_0i5^7M5j|tj40!HjPT=-*9Y@j?blW!Aq$y)~Dmn8W&_j>|FD&oRYN9 z*^UB1qErPkW0( zM@q%J|2AXBa0Uc&MtJ}PVn)n6I6lC_{a;y_9=yr;1J29s`dj4hm=9RYKg5DOg0|a! z=+2AnD?Bd!n)xD@IcL-!=MC{>2d&zhZ0%Hx^?dwei zgnIWzvHzvae!ls?T-m=oAZzur&S`veTs=C>Omg6nrs~n%20lOD!d&-wH0ceH>gf$0 zA1Km(@vVQaNPn)q)h&07$%yQ0_5L`ynmu}IKeFAUR>q34G}sly8wBg?QAnkv;I}NP zc#$2dVakLP2`aGFIbkhvQY94>@m`LjW+yN&gr8& z4c1-&3gtqvS|BEsOnsM8bAJn;yd}?-b%Pgs94wO6~2(2?FP-TT$)N(#-`j(}*ME+Bzj$&lg-bLL&K z3DggC%XAmWnckxDTn!QH?}HwT{NVibjdd$C%e%zp@t}6$wJdlbB$}38etSBmjP9le ziMwWCGo?G15V7@B*1%owRFLLmu>+z0+Fvbh1|nOhcu0;3sgV4Q@SJma_+-u+7=rIi zBmHG&ITU7nTO;}_Tz(X%F4{2TOt$(+F5fVC(W0cF5UwcpaMvL({AAzMgNrLOs!VLK zK$}r-qt#^YV);#MuP0+n_cYMSf9xh}UV>pVz+45%zud_TuwF^HyUJqjr^sJG#XOkcu>d|@M(EMnj zzqpSA$M=qyyy>_6F3KzY=tMg<|BRD?-@MQY4LeM&)4EsGv8dzPt*Yv#oy}Wog@+4g zM&P4UX=xB5&=E{^^7@1&b2!-P8uX*=Xpxcpr#+ItYoce>hV@u$`ks4xsouApu-y*n z1rI;YX7ujO;fmznEXtS#Qh1q+z!cg{Or(l}eoo{zfj$(Mbhm!1fWnIcF(<$_oEloNvuy z7EfdNRSH!}=rRQ>;o(7DHS%S?DJ0}DtNb5Ll8X=;@>j#YokjotVC>dafR7Sx3{L6l z_k9c3d!R%!cJ`VKF;AKP$I3>6JH@zl+d1)V31`~poUfYY1=oU`_ln0KFUHxIvfi^` ztH)Ya38&(l6&zx}321nn+w`oG#Y?d~YDkSfJ)yOGpPDEBn|RF!DH`ijrhj(@@~!S? zRRuc?@H)<9?i*(XlLOQfAeECH7rb_BrjkKbA&xf1^9VM7Qz6Rxy#2o9B~$0mXGMgK z`5FH|W^F*z>%lx5Fr7M7KqZiFwj@;^@cP0?%>BM?qu9P|F4`DTXI%-)n*XP z)4^_%=0nI6g!+l|*!4)8l3iyyOvkd;NLR-L8kc43U_#2ySd#5Az>@)%i!`jiQ7H1* zyqdDm$uYXgttoe;nX5rVM@H;-h>Z83ZZiED(7E5BBTNjPJS(k(A`A zd1xv#NTol;sa`6o*c;I|6P(vm{sN?Kt?k3omR@z2As%$!()5T+F0;8=G#$D^(mEz!VGn8K~)X`}4F$cl<5j5Ms~34B5o_8;p#|Qs5 zpw6d@ldVYLBleWHh}5YiP1A7zu@#M*sH!n_L|^vp5U+aF$HI0RK1A+BOOjIg&ct zBjG`Kk?8l1`TD!cG~aKOrqR_=IenwuW9Ee&`|}0nL}d1};|TfJmJCM;^U=;gP`%=| zwSvm%B9}H*mMsE|p9dscZ#Jtr5giB*NY=^%hhP#`BU{bIzW>(6#`z7+ZO3wH66b)qsk`6Vd;Gn}rVqux=9k~>ebkDSusUixi; zB5;jfAF=lZYTp*0dy~Q zm?@`@N%qQydEef(!Cw;Dy?SdvQont(mutqOAZ^A2M7!jVx}odo{A0woU&h^ae~=KH zt}PhpI~{GZUA?xFrdjit;I>9T>cot2NC#=ILm`DUM9UcaKd^qS8h%0xQPdG+fTDn7 z{HLK#4g9yLZVO-Ek(}$gr_bawu(e1~QWynexE1~{qxg2TAh*J%@9&;2JL2mbVoGJS z(oBl@183)$8UZZHBAVzDsc1d{MP}*ukn!sAE|Ozr!d|jnwt&x?*^{&Kx3k4>HgIG# zm)<~*hX}WTA|ECD^V#R0Cwzc5E@|O)BRBn#>Qi(KJm47486xh(?(AY8ACt5+KeG|? z+3x3U4{T}szYv7Rf#tDlmO$L2GpB-d&bPRf7j)lDUZAMrpC?2u=&!3#1f#7?>V>m_ zK+kVp0*-0V%VRh9@Ts(pkN6z0pIf*vzg27NJTW7zH!Ej9u85!d_633Kei%~%dkr6s zlQ615nWvxZx1s#@B#hrkJ!60WG-gI`-hU1~(JDw&?ogLPG-uxk-6U5|jQn^B=p-L_ zzhe7%ZljCX?NR#4PTjrO!mh8BL2I8ml7c}6=GNCTQ z-fUB0*Y>+!)m!|9K8Q1LRsQ5B5uEBYQS3oS&0bacM?njdic+LNSaBz>?BLDfCbJ+3 zRzhSqU04?a6`8_iL)v}ukjS5SdjnF44FapN>8#x=?lPpq};fAFS6(D1jVn$=? zpixALm($9PqmV)##5w)V-Hdo}j6d%@$heQ7-?*RitpI}505 z`Z^Tcm8KgG?Zoyt18>Zoqh7YzPwEJy#k+%51xmo zv~W4I+i;EZ8B?=tOL*+Bp-?|oW#Vbi+p<{DLMJcU#5Bc#Z?lI4RBb;lY65z9CMO*`#{agYl#ln6HOS{st6@r9_aMhid zXowc-a9c|P@Az7<<{}kF8GOx!o=BjC7UtV-v-RZ3R^(w%J8|DVCOf)?|NV*7QDa?& zJKn1>B!*Ixw$kJJ-`9DW%9X0=6jt))QjBu9ESRtSr2&=XNXy1;i$FO978BSl;(nIk z$I0wLLWBU!<+G+AEp05{i zTYy)W+pzLiPT4`IE@lVLRyfL^Fb+-$(_IcH4J;H(%dkR6^El*`K~JXpemX)t$;vIZ z)W9eppJ{*0j&NjU?6-nDg1v9d-n-}b zsV)d%(s7zB6az%XD&47_AFc|vtE0EoQA905{aVI#wMM=#5I-JV!-4&DR*w2 zETUPb*Bht0bGvZMsRCES0U{Ev;Jue&+%=seef0PA=sFst}kB33d-4Kdzq#b@om~o2pm6{X{PYlJopd^$G3h3uap}A zGZu-<-k<058du@jin0TU{`JHVUcrU@k~}=iqM(jE9ie!EXa{bw4zjdE246=WvBjM_ zB%-KsI+o?Ar6Sri7dkfKy3EpRLNg9d#rJ&}UUw2FxgElvUlCvBm(@nYv2KF__$hBi zBszSAi%E+Cc$#kgW)X$l@Htdc>2w&7hH`d|Y1(9xd42lr^KCU1u=8sUPGS>v@6uMb z^1hVdqK8AIK3#Tt&oPrk8u6{s<&MKq3?2SHZ>>gyWo2Hnelj_Y(^|uq%wL|)Za%|g zCTA`>mQMb1cc>vTJl+$OBhQ`l#q&#gnWfr9_Vo_!dp|AiDsp5{+-O}-Fpe95{vi}K z&{2fatlu`W_&wrttbB5|GUnvOO%C)&8Xw!Li!I|i6B0VVMz(Fa$0&TPwDUloAsUN)ryZ0~f3+Ep1yqLU2Z*mEtG! zA2gn`!u1#v*l>ag@{DM@+3uwwji@mJQkDU23M#L^@5?ey)f^akRcKrQrd8Y_#RaJQ zRGt*CniLsR8`i3t(m9d$P9Bu%eygylR_G5O23w3)-Z*u0sAzjh8&zATA9ULiq}W8M z9-p~kmLSK0S3`NTDIN+^39KRaqZnrpMC3-8uF7oD{_v{`xo_tF%SAPB3zpSW5df2HIjdt!r)$c7O5xu+M!pZ#x`2FNM z6E9;u`-~8Tdo7&7XtRt|w04aT0@X>qNs}l4PFDN;Xly;2RE>LJ-`1&n#sYwcP2yic zPy*!hFN*Z1pP1K7#fQEbOnaJkU3jO**$fYq!tBmXm%nxE?(sipnS*|l3V5sfsygaC zg@Uct>8R5@8?=qdNoLc~!sV>!yu9Vi&&UOx&IpsdF2zDTJVO6y{M2w>hK_$!r&{~5 z)TNWO%)FJiuu=uAEsfRV@eG|DBz^)E`aVXGc6mI}2|O}%pOEbak4}|*j@I+0%?CbA zo)_|-=K`;*`(Yduyhubzht0ghM#NicM@p5`>tzla6=(cJkWCtH?oIa+9HSa&gw0?h zfDqbN?a3Y5R-uq)5g&!F)L#=-#acan*{Yr;(XcEmFK429A++$`N5GGyB+&Sz6&s3R z_N0#C@H*lP6pXQ>B4c0x9370AH6!R9oD$&V{Qrg@6dmbl(fV%6Z?R!y{}9to7?)-y zJ#rRrO87eEcqzDg-MkUE1qL$}5j~t|lj99(jqlGI6Uyu>Y{&n$|KdU11b(g;i5C?cqs}VE^Wqx11 zb9L84F?e;>db&F-8Fb{_Jt|=@Y{jur_j+-oez5ZN?^Fdcm$=ec8cHwYmDt!eHSM4g)n&W76>K z0qzopPZp{_V%SLTj28q8DpJ_cCX)Lg7%sOWzKT~5o_WEgw8}za1dS~g-Z`rb7c~V_ zDIa=N)*U#RG$f)zvc3km+Pee&^S4bc(A|5%iJfkX55<6`AQkP)&uB{&c0s<_pbcvE zcg`3RJmZh4qL!`d4PRnhNP}4VvE*B2Ga=VkwUR+j=TsW#pFwC}^$N%6FPtz=GwKcs zcd4Vv-h!l6(=6j54V-d6QV+T67Zxg?2)BhJ*bq#$gzyRrBMrs!{^5#TzQ>2-a#36b z;2kaPCEWntCh=Qxd`or}>6$CoL(wKj-DncqgTHn|Q(u)ymQ{b{elHlOAInb{)PLE8 z@J=jBuqf!py&DQl9d+M|=9h^s7!iT{TN3vy_>RNK5Sq5t2Zk&67Uu5;#xQwfI|eiU zilZ%f(~nL7pMho_9Q7lKF9fE7rX>hhoIm$YN>d9+WXxZlIcIr5I{RIv$mkabfh(yH zQ)e*q0oko{wXq>47Xk#^imxXN1B$hC{Lmi zgmMmO0u3WuSd=5!1M#FcdpDVKSNBR=W)yR`m#Ga>=cT!Hj?GtLbMJRJ1L-eQ@A2qw z^C!1;;7#u~_nEUGZ1OAJ9tST5-rrpD?{*J>wLsAh`XnS1f+%|6P{arKZ0r0F>HiUh zC2>OFe$XFGp|`%(IyJc&ZY6$eT%sP=L3i#QV;@F2Lo{M`-C}{>WU4nh@z;${v@;Te zpKT?7rc)C+BvMZUnZ%SAizW%mEO}GrSk5sFpsq;PFpu3Ud4Cv4 zk*^JM({8(2B-GY@ajDF&_MaH$pnEuFx52L*;lP^obCgCl(8@SOMnntCR-q(pdi||3 zM{a{qjYb&}U}EIta4?db2SHFoY;B&NNSfNNg~?6NK%H4tgM*Mgm|U-&x94cx8go8t z@~n)5;DnvLgATbwM{BxK6bKqdY`+Bv1P4yww9rreB2yITFbyi~UM|Vp&7Cn22)TK; zOMAY1>O;g6t2{d-LcZCg(LkFjZTq0^6@Q$Kb9@n5EaM2INBV6n_Ns6C?yd!EfpT#zsW{_I;;wh%hS>iiY8UUqjjoZ z92lNzvIGx4vd;2!eHMEjTN!jVpKL!3#px9zMYX@3`(p;1eG@9YOS~^;sp8VHXhu6L z;?R%uZdTUY$aMZ_c3l|hUg7ahEw%K+K-o;bk$baFg+`{Mm60;E(9L!Q5_M zrxr55o4FDpX=}OqLZrDkW1AMkRv#vd@VIBy-+xHJjYnc5=%Lh&DpS)5r3}uMGf5;VOGINckqzOuxdyMGg6HN~ON=d7r*Zza zmTD_rgi+>f;mYX4ZL8GdWp|b=bXFwqNtZk#upxfq0a}@g<36d}zFb(D%oOTtXAC zkl37NBJ*M4mJZ2Le1ytvk9YjCjxoB3Uee9DdkRXv;+?P=QPCkC{XwoadSV}?>FlqO z7na5*PrgF2<%~Oe&e>#Mni#ZzeKvE5ff}dF$~glv`@7|6s#V;+DN9{GPPK~YdgcX< z;#-MElw-wctiuZ$5Z1R@2AfhsTZ%_%#>vGsmVpyij!UJZiaH{wn`O6PhF8KEw|(=& zPTW`Z_siT>lAZkteo#{;ak&qfEmCE!P_xx2*+Nhlm0RqvOP!(tjMY-WzX_pVN@E$W zTBZ5ADmm$Cc+>Y41I2fnycTnX9+hgsi(}(hER=>Tc1gk3Kx<@@MCkAz&HzX6MXTbl zRIP?U&dNo(?L>Fo=uHq^J^z}Hs?;h|@T^f0 zEaI6R*SS*icg1>L9$V+g3CasxuDV!NRa{W$jYSYoS!LnfQV8s2VMF>sE6$9Bs;Y{U zf5iV>;d9l2?oCJMWzH|6*cXNk)v}TOEi{QU%_R?EK#(2cn#_bRSOh*O`>^a%^~#8F z-ET4m#Mid~yu(zv*;WFGUMwY`{3%-|Ixbx%XqpL6kU>8Q^`~KYyt>;_4fb@w~w^+s=J2sd2|o9&V(eNzL` zRV@}d&}B6Fsc15E8Wzb!^$EBQJ}-E18~HtV&0-Uq-5+rLc??;2Y*MqNd9B-d;;~*Y zMD6BG+Cs`oQ4qEpK9INYj1S_o57Uc2tC!ykS2Vb0bdX`}6 z`Ti~caq{;qA$nETHs6A@gW zos3hx@5RHjVae&0_UUP4l6c!)>EyG1tr;;m|8NySqfe-B9@K}6GEYB3G!+eejr$w3 z5ZS%5t-n4KzQ7PhiM;-|H0Ai;jNX4ges29=s0q%$gAbG;mPBf$f1BXB?YCH$K#y<3 z|ACsEtEb8=ZV0Gy7%*IBU8_h_h$mr4H~Rc1q_;2B>eb_gEgm`f0?*m~>tgjm^?Pks z-9`%c{>i-uWtllg;N^DlE&&;~73$rT@za^= z;7X@gJ_(n$BnG@m70Pi|g)S^Vuwn++z4J?J?B^jodz^7e3nuMv^|FYqx*-s9K!O$p zPEQe0k18>Y3j*;Qjq4HOeI;F-QR#W1ZVZl9Z-OoZ8xAKNCN$0%S|$0PB<}SD-;V=X?2&Y zS~ZxmgT2)UCSO~e&NUqP=wmhTOSkLnvSwvV$LWmI2pjWo^4;^|IxxEF78AKqpQ|VY zf?7`mU$g%;6-0sf)``B8=; zXn5`QjG(JmamvH{#+K&!=AM2i+bZIW;HD$vAa8{_t;G!|y;5XjB4bR@k%aA`QFryAx zKEEVxoueNtx@~i*^pB7U+&5`Oe1<~gxY&Nk)rxShgRC?Xnd5eI(EF{ZNs|QDwidlj z;nOQ4ie)L22VcWT;mWjgcOw<)c0T)GMHdI?&cP0rk})k%p}-pCG$vgpb452daXNdn zah5ED)StK3I#{RY#1N25)i2e&t%-64T3TJ=+eTzm#pjM! z#wr+N8(U#Xm;ba@2E<<}GW+aau2S+;OW#gPCOQDtN@nfPuJ6nr?^LnbUUd*CXP zp2<*z&lyT}=YF`ssN%s9MNW|}Njpc;gr^DSsf*#wZfCM5F~BoUo#t9q<0v!B2(ARL zE~v^BjeUnC2ToFjTeH!Ey6eHXs&!wUExDVcl{-G-S?_q@dCKR>Ymj@Voc3qgCb%P$ z-Ao;Bxa$CLq|xoZRdYjtHfqidn|@&6OXCsBV-p2C&!%jpqT^f1P%=Zi@N1$9A+woI zj3-SROQ@zrLuA~ua}JeNf7x>~cHh*-Ex*!DsD?#-kx`I%fp!5unZDXc#t0rwO-yZ- zwZ&R~sWZ0j^~i!km(MV6ryUYmf@7aao&SDW{9+hL@9Arrm-m={IwJn~T21aF$O%|D z?SrV+{e+EbWFblh7SJ*Ym#-VYK-wXXi^XXNEVWr5Ds9I>_2hv~f(CwSk)q(pksb{) z2jPfEMaZ)zw3hmY0Qaj4LDG(Su&wE&_zx2oTZjro-5bP-`SukTaP#^Kf*t^bO*e+l z@eL5)MeACFts|#g$1x7R4!NBFd0laX1x`-b_B!K_{`=H#Ra6=Za#JPt4MtX7e+%u- zYJJ>??!0XJ)}2<&_c*}d+!uQ`7i)b(vzbhw^Ttw~mlvsljPTu3HwkItTEk2We&V|I zXon}iJT(x-f;*v^>NM)vLhkZYn@`M`;wRwW?2$NCr@>(howa}i!q^UZSQ2P(&s19| z%hIZm*Qz_()~y>dn?(l;1lJH+TH30TjqQp}ngyXQyfsjX>Wa-StWPv~T+F3=+U{zj zpPc4%*p4pk9clBiFRt&Tx2ihiwX*TTlsZVSpQQqHAF{7!?|9OjaV2CX#i5)&BEaJ5 z5h*R_<^##lIK~5QwpPe>o(Oo2^XjUVZR_+IE#c!#zjWBjJaWlW;*RKPlOAQ0;#yM{ zHLZX6rjo<3|D)eLf30$!U6V0*nKY-Jd<64p&V;I=oiJ^R5iPWcTxf#r3jLLXz!Aee zN9nhdU8lt%b=>zId{!@HDn3PyBw&G{=KX5CTi?0ELC)+y0~}>;2D4ST4OxCk@#QyW z(?sS)<2*LBbrLSlv1{XezF9V4>m?SjoyPlIN9Kpy-nbUnePRY9yi!qbSsBVSa(Gvt zs8P5FbBVMcI*mht*Gt(AW(#VZrfwi&vvU5&vO;~DdWDqX$@p21G4wW@z{0OSt~%kb zZ$A-Jd-kL8TIE)bbe8)Mrt^A61b*$+2^A9SBu(3I;2BhY-#r?vC?Yv=XT89eDbCX@ zGU6|2-%`NdJI$i8o)5HNr1&MF@jHL^%Byz4$FeK++zh^xL)!(ri^05MznW48+6{nd zURrGF(>~u5T4i`pdgPSd0NkY|lgsg|Yo*!;V@GZ*d``!PmD5%{EFvr38m9DgalRj z@-UXNC%C-KOEpTzOrJWg3o}e8G%~s?Zb)wO9CyTX`M7mI!#tA;VCm?+;x&-Jbz3Ko z)f9G?l|*E|Fdrr>b-;eIA)YDECHN6;F42UsBzSw6yT~J&3XcnY8G2c9jidy(u~n?z zrfas<<%+R0zTaj|XDfoyJ8=JD4J&u`HKk>{VI`=%MK=CkyF)(cGc>34b7N>W3#^05 zvR3E9NSkFHE`jeHpqGl7H&D8MY8@H|fgyf~tT%tVy9=x9tb_~s$QAdjPHae3oXE!g zH=Q0bGir5X;g#M=pA<7AE}WcUgV_+S4w9anAN+S{`wd3UM*nKftoqwdmEydlk4#}97nB=A9_h%aE#9*xkb*=fha7~^J4&NV_-Yb7EqRL^ z_{S#pagGZeC5)_i`9Q|~_b#8kMd?}QlYWm|6J*vmUma|1e#}XQ`OXK1n^+B+P9oh$ z=t5i@diiSW_ok=mi3UnIe)_#xZf{14VZ&YRNwKxAZMl?)rsd9nPo2zD9jgfnJ0Bai*DiX_CN}e-^8JIH z7i}d?sg1N>4j-{y@S21#Z4F=6t01fH-(D{|0aJ(apXRIYk|3{eJ85B>w#tKxCe4-d z0ldsTF+Eu`81Jb)v(mEI#~w=cl%@IEUacM7RwQ4?-4~s_mBU+UQT81lM7}x$Oh;)z z9YyWLC>DkgO{_=F#-&exw2?xt&obgil;>c<)4{5U_iP?g@ckpT+U^qJiw618hHAjO zboZAnk3rR6G3fT5bT+M~xU`(>@~1D++1m}l<|znFC?%YOIBcAx)^@yGUPZd7&pTkt zl4aokjrlp4IhxqOac4N=f>VNWW&BZrzy~;3dH!1it^bm+A(8&+{{;sY18dQ!)Obyf zW4Y>Vmk?xUkvL<9%^VD+Ytqh<{yj6*Z|dJ{lBNyeR_xU^=bIDQPjQ(;-+F_dE(3K@ zQuxvsEBGV0wA(#+a%Wt)7+FmC@;^y%j(&yasCG0hbVV^?E8=%RxAfmewte0 zpQfbFU0aPzQRu*t1YWQ<=P(5jhbYLoT>4lruLR$2GH}5^(b0{}Uc*w_x0vu~QTa{? zFeEHc7-rlgL5Et2!ag-%R&%C*qGdW8ph!v?84QjR8I*WYerXCA3-S1XHR|O9EHV6hwA&gUkz|;Q~c9T#BI*T9D2PV`9XOu|+AcU!m%wa))L)?}3d(5IM z`uPi@@r0AXY2+LRtC@ztYN9~>q(KN-euv89(qQ~tNsUH;*u^X%T$Fk^Suq0( z@6->MA#|xy%GCZp$+A?U5QV_cl*1nfx;c1|FOUx6z!intG#3GFGXZ`H&QJ1sG8R#I zOm90=QH^D@aQNVaJzHR54S^!-`l+ye<&*7xA1S#*Ls@xl%&Vtk-7_3w~uK{{TB( zOeNBS5H5QUO0_%l5@(yBE&zS5hSi_{Jd;!0txr;$z+sr5=$lDrD7PvI~^avn>B{>7RM7P5pk420ldX+&~FG?R3g~T#4Zr>$pe{oH5F}g z_b^E=3alQbJ%{9MUC?_W6jP9?R3X5jY|f~dV*({EgV>>@HG=>s4M@$F*W_Cgd|`>p zOb0^mFwa`)miH{vsBSO=d~Px+WQk!^%HAZjdIU-Fys}G4DawvRgpwEs3BH&Ugi5Ct z;G4u<2gto9%kBIY%8le8h|E3jpxFSPB^Im1Dd9_6&I1@;utvu<%o>H%JG* z_OxGQKLWxGtD9fPj}P9aM`Lz+->!FV_rDRRyT5ofT4@~3znTqq5tqlT9zDtPRc>UU zF&{Y|8BSs!rDWK+-s990rp;y>X5B>qLX%%0Bl#jjvh`u0Um?WWn%H%-o@YFi(0!C>(1;XYuM`)IGr<9UPl{i*LW|DxI z;}-XqhDr?0=&T5%7al+5#1kL?g=QUpp(yRYAc8@fJ_;!)`T{vb035$8crucDJfp>c zOQMDW+66jrLy33^7i_SDjs3`{h%NbD_o{XyE_^RqRFe9LygdZK-vf@)Q zGH=t2Pr{wHE1%;TQjL)xjE`U{vodEiXc(0mVqb~S3CLfB3J=;~_7KY#yd?gnse=*8 zI|n?odv)*#u6w%DFfrx1;1e5Iu*u6UktjKuyH zR`M{l5Q~pFD~oeZv&O%8MN9)>CGv$af8OVk=oZX35=QuGXb7#t{;#5y;_NNa2r8@= zu&m}-JLkY`{*cNuE`jqS?lyI7U+fxxLpNs<*&^R;sZqKM!1Eld5wRPWv1{q)K|D1} z51GC?Q4-F7)}y6{87{u(h%I&eL`wm;)mLWTvIg0v$&^I3O>3dj9BEAtxVd+V?xWnq zB68~Yc^B4+RUA<%o%|h@KqS!) zZ)=K#)dK)_T30;ru3<=*i;E&vXz+(R#I&{L8-)N#G1)8woeYH&)T%Z9CMcz~Vl6(HJa#TJT z1|6!?MTJC_<4Kc#{-Bx+hh55^=5h|`jIyHq!wzUL7*-8%@IWW++gagelt^fv6~g6G!IL2Ie_3P5;*N>( z*M-j2)cFySi(t_$GGsTrO_A}N9_XUp!Y|XnnZ?WXxiSo=K${!` zA&lW#%mINw@4sGwUhV3XtyVKHcD-)x+;Arr1`D?(dU^i8*Ojl%>JIj?v*_n%Tj$O{ zRCli04z;b6eRE|3kEl~;t=bMektX&)IshD3hy@pnH7LaeVk?OmAuV5NioLv8BfRFb3|Xew|2|dFr%HKQ;gn2}QR+BPdFx zwPK_;v(?Rq+h+SPy+bxEW=)K$7oc?riC(kwo`0&zP;xCsUg9s{uSPd>7B$2;+#Ibk zJ3c?pBGyUgoX4MAU_OYQt6cKC5(1qV1NCrus{sA;-d3MJe}CFj0Y*j)AGo1deDJw} z=pdymA9uEd!fq=oM}E{T<#@aaMsWkso8$ds^T~#?u zjpCXf9B>o%8JWUnUNbppx>M2q-u|ZXUX}4DQ*5o94`*abH|sRG9@00K8#-Qku=Z>f;u92`)YXr9eC zsiiZ099DCfwK8*DZ$)374v^Cj?ohJ6I~D4-H(xq8S3Z2@C$tbb5|RXMX0(<_sh>kW zc8H>NbcV-|^jKV3^x{jmAKTY^wdJnt{WNIfL-gVeF@=;IF+0){ZP2x4(`8d^9~~g~ zTT$)N%wkU;GNF0|W7YyPjUA6sq->sqTGT^%i>A0 zzj)@|sPXV+Yt$aur1gopd1$0SJ38i$1@oE>MpXZnCEj`m5?+sr$3~3)82a3yl`LgZ_Z&a zJ)bW*(_Bp++H%*NFp4L>+40$=+!5 zcXpya7Fp?gK=yED=776kX=+(8;t@dAP>jZf?0M4uZ3e`Xa&c(ul?+*qo zneg4ztU`Dp?*$`R+cDHNub4O$;;_D?K7T>-=4#f^N`nvQ*ccPl(st}}d5W2MFx$wt zkR=ir@Or&1&M)#w5IOTRAXA^fXNG{iC$POxe}d#auXJ4I8H{EUR-@d176^eJ^Wj7! zDYhr(M1AV^0v05JHkViq?bJVfxb6q1lf1HJ7{9+(tXi$t5g@FiH%AZQn21{+J1I&3 za#})JpgSZkxU91iV8Do?GA>i-H3agw!@lvFLIxPwBCB~Ymm zu7BNFlz_6GflvX5N`x2mMaUOj6nJKj%X+^b(juUkZj7Jw`t)6`JFQE%`Ml#_E?>Ww zfLaS457ZCB)dw#B#p%yM)oDp3!lBDmdB+1PK#*TR+o)iIq$lp#a31?lrEszW{{HMf zhQu%xaKsyslY)yw0a?uDQnRPofSRY-#j$6|%k^2;TevB7U4aQyEOID;bRmwwbSNm89i(QqZ4XC(Pk{!)Mcug?@E@&=6< zKqkZ58&aCQV>eUr!Ax&E_{wGuL2mj#VatSQrURmrKUCDgckGg|7=tbHTb81-w#7rg z5UFTV9x)eLsO}gE1G>MTut|Qhg7oz^yy&Bkvy73Y?98y~W5T1|0FIyy^-TVOG#~7L z7#RYkwM6|fora&Uw)@*BNgkK_TgHAFfSYqnT8}m29jU*Qad)1-U#Sgfxr_cbX89RJ zvuaK4rYH~AsCAxZ9GV-m^N7e?JIF=h(5Y^3Ol*Z%=XPsf(LX#(tg_oIZHAsWceWg~ zFbvv->m;wXV_(tF${&SR#)&#!UBb6y@MkU(ZCW;-vQciR-1@NME4%BU>c(?$01T?S zkvQOQo^*uq`vz_$)Wvs_c+LCPmB&dhdj`YNyskClj{~iybh0!#?)ZsPm=N;Z4nKbH zFP>i1!B=ZdI@ZDFz!7ZL&v46LnJIO`FVIZgj6PKCJTI<<*XAGHda~nu+G({eRakYx zpb<^6bKHVv;tc9Nw9oFF^Av;@0G?9ayS>@onlq};?T03A63v;?k8VsQczAgV#+u0d z&vAO-_gWuqC%3eCsYhY(UHUI&=eI~M3DLw&oaS&xtcgr0?QFNDs@n$!FKuZvE@=nZ zY)>qzURH`!C1~iQJPJqC4sw_86W;`zanD_`Q>g0kBC4&xKa@jKL#6gX0L9*&7~G(~ z_6PIgPtxN3s5khR8XM{aZ<}I~)Sl`SDV^N?n87!WkXz!BV;jIawJr=$3S3grmSI2A z(0Y_+e}mS2E02E@NNJFTIdD4lf4hy36qFUaO#=gntBJGj9FbfZ&PWY{;n|J6fZ& z{ZD7A5PJU7H+`a-eE8pHZ4e^u#FX}s1mcfR=dG=pCNIV*S-NEkRQPNoL58d5K(lcO zMEg+i{r(XspQJSOp36dMcj?2RZM`Rc4%64%G%lNt_-5<4z?8%vaR-|I-#&jRsiiD; zmL}7*^~_$SDre~g0Jnr)44NLVo^apT$xj={Y8_hR&mNCPn~MPnYnZUn*};O-Z7q>!6FUU%j$A(5Wk7S%^c*m(`;a73t|2$T0o@*rSP}S zhy<_u^oNW_LH5=>e6WZdiy{ z)Xp7Hv{{AC`%J08xBLxs^vy3iG=Fw%qQ7~Pw!V$~MfS%)sQQ~9*Syu63*SB)4(&xt z$}YC4G0wfVowF?7h zH(^NEex}{6fI5Q72ZxKcusa)rAhhouvxyFDzOAVBer-t8aEir@=@wY?IdBn}6s!cF zJk{LNW!uKX(_-F?1(_V(D$#Yj$4+z1PLyJss(ruWN(6;Yr{*dNiN{R0Zp;vYaJQx_)P zLlXIWqrBf12gJQ?o!daQ{|e|6&68)jV&r&F(F#Tyz2oV4j<3@j>@MM7>-VJyHb4L9 z;E$DudNg@l&huOKU0o+pyR5T_@;iCRj*ZIR0l1Mp$-8?y?R41a$UI(WD#wBKEkSX( zGvqYf%yp*4OBcP_vD_XTCZ>_hV!iR{3+}&z28e_kUmfE)SB>t~_0cuh!487TiYIxZ z^X|^LuWoja2@uMQ&uNMdb12(vM2w#yO02}0I~R|mmxP^rmqQkh@$J2C5p*isuq3_+ z#^(f5`}2WNKv)<#|2yT&#`%A+4*waY*lfGasr`olJH3|~U<4}E0CQmnyo2s@V%6z^ z;GVFCd-qUH=;>bE~*~?Xsi~&>|@>s`UT{Yz=hL>aPfi$B(Q($!*fq~ zc=JA+s}TUuU%X4_3ph~c=3NW{Dak$*2M0H72Pm(evGCN7+LRsN@;CPSnO^%V(>l@- z)x}agA-1XI@DYOX`h7f{`w#`c-x!7r(OllvdGbOT9fa-he+_)yG9{#d1DZw%Dv`H< z?vAOM$lB_Rh}{JrAcSKr{)|dNz9iNB8MEjR*uzrR@wSJz(nN|8VWod8CK~<9b;*oo z0kjOVA4#%ymaC>8&5L9xcx;fHbc{y2Sgma*L7D`%l!zkBLQjzmR z5vA%Y52KXaAKa~$z6}hOVTGvmR@a}a0o<>nSV6PO|G95@Zoo7{MD@o^{Net$Ps6S< zU`_uKrV4FFj1;|+F)b-NH(5|$xZ5r;harhTx<9oQQ!3=y2pvJ2NuRbA@z!NDYy2|< zP3tNUzYAiTz1x@F_c-TuRYhZI$HtX9k|)CNdz6{`YA%e^eA_NIh>{?Mr9vnr4|r^! z@pY7O@Iq@1+Cx6*)*Y3+?DW7JbY=Iz19`$(*#H_{f~i@x@7I(3n$ZUf-d}!6Z9}`2 zYfa#CHW{OF@)R;=+(A&Vs&U27_Ql2xyI*6Ybi8hynB?_WP|Sr}=50<#vWZeE>hX7` z!Akhk#hoNF`)BjaQ+bUnD`C>g4?w~`CVsNvCei4k28Fzl!X=!&B8(Lp|KQ7E|03s` z8$dPhWi)9~!g|)&NDB3Ek%xtyFMMlcX-4X5H6vq{t07f9k6x7?jL)XO#X5a|7LqcR zJ&!^aklFN-(xim_V8-ogMG{g`C$kPI?(_intUXEYyz^x)A!9l7gRmXW{8+Xg8L*X+jemhY!?fbTHlmdNL zAF&d)FJ}!|iMVJ>0st=1=&7Q9BUwY`@%iU6kz%t3Y2gD$5oJlCGG^%MmgC%oiIwx$l9td|SRlX4#@l;c2KQ>-!5A1H>7HirGnc+>`l zbg9NveKQ_KzD}nCl4}KgCnckM&0nI}(?T8GyA=|0eh>*fW(f;k0NsE{3N?|2RWh{# ztya}}{Mh#5+BgxJ?XiI(yT*k6Qi>gEcoz0MOrz@q_`ng?@T6^%vk-aD-k;UJ z{G=9qr>O@rEwz7|Rl10d|AR`hs$2&RXoIS|LQU}suVNoj_kl1A)jl2lSAd63gTar1 zcm;+Pe?D=^Eg|p94~9z?j!2nE!HS71qug&;r@LtS z@L}+U^;vhhc%e+aEjQQnIQcXMbJ|^VprINsFdi9u$z2bSr$%P36QJ^V23G6-06;iNVC^PFjqwm#g5O2}r4S*2+^TOV?suu{P-_7-XWYJ0UQ=H9Ihgah zV%)W>=OSI2HJYq2vD}?bv%oZfwT`#>o8a!JOdQRU^o}b;&>=ejOLstgOl9t2Ta)io zn^zNgUd9Z-J=nSnir6F?cC<0`i&Qdc9*u#wD2q5ib&rNZbhnf^XrE=uw{niO_esov ztbUfBcG;*QFJK*g^cVryDGh1jS7p{0Rg6^*(^May_-P!zr@JyM0WWA)RQvinedQB6 znmw+!Jy&mW+5)-TiF24LOkie(oG+xbD!pd6!chXEgNvai{Xi^$bMBgIBZiLspKJ>$ zcrn&p6^zObT!nOxAHxW*xV^w*S=c@9Gf3JACT-wdHu`PgUmTt?KvJf=kCc0KyrzfS zt`FESSSrvQvda(8HPnh($=1Mob~Q{w-lLiRo_Sb6BDt@HZELPY$|q?`(QU|?kTd?8 zYAOccnOl*PgAD7@%!5^q>K5JUeNM~0)|Ti&wQG9DwA(bZU&2aQD7Dz>ZcEp@M3%x; z980s}k7_H(XAO?IQONx*sY)`8itmLCUP!_cMOcEZ!P9S`6| z^ykz%8_(2AoG$-RyMINL2bG1jQTn(SYs;FZ}_ta)`d+i_Y+?$$?1T-sg{CH7Qu< z#>jBQ=JPkyDP!)X05RU&&KuTgzyUx`fK*SiH^nI@V~`sA*4iRO0Jq6k#A1mc;_IB9 zIXQM?5;j|L6GkkzO`vg=o_(l>+H>%0l$bLmMDZ9B!{<47M*+ZxA7C>0y&%$GHUZz? zSo@0Je#ATRDAU1FR<@x15GACDHYZt=+;?1T0EUaTxa>?8%?|e#l9!|N77l28bPGpo z^i!MXki`47YcnT%DT6?3QUSULdWLxt6L(PK8nq=u(NSF3%OF?3LI8_mh>CiPXk4Kn zU?V#efSMJU6OZ@ z?-+K=(RpZE6Kc@2ymLnAA`^fu5K+lOZ@`3CXs*%2(3%Ch44TsAJ=NLUzL|;UCDAIw z#mdgj0~C)^x9fC6pQA`Ig?6p!w}FHq3O=5ywPtO*BDYf7sEJ>AJu<)V^PFLsfPC~GgXE|Ux4jiAHA8f!Y-g7Q|gc-&?l8M zWMp%RJjPlfu(i|nvXFtZndzRkmBC&*I)#X~jSH-E0fA>hVe3oVAor~OvkqpFq4k?= zF?{1v@JK;uKeWE#zSv*o3kdXb6a~p`j3I(09$AE-))2T?xD$7A>iBibZ?J+9nr5Z zNQJ&9b28G+ymD^e;0xg^kfrB;269uiOh70AY@AI0+nBNSW6U6F|Bo@_FTn|RcNxT- z<$sDuTX~czyLyP$&Tb&)L{svxkIy)7<%)(;ca2BzsPq;+>SRhK(#QBD>o@Lkseb}o zTx?u8<^(1C7_=`)-~M(xE{YZJ9~-eWAv^ZvuWsIP)-4lq2+&7}7XZ_&Y@raTkhQ?f zo^JWl(|x)o7l&SXz#FUIi;#j5yL9O3qLp_ad2=p)+%JDW@7Gr)$lVMs?DWektX2mi=Txu0rGQ^2w_0t~l zm_3Dx=Od|9?-n6C3p~frCfNsKy0<|hZKZef<>RwJTpCpGS^x&@J_-5nn1ql8LNhu( zCag(j(T5F}J+5ao8>*^m-z$OT1!BEYrz8quiu%w{->?yvDpZlH{QU$23u5OI-S}XY z+Pn($Br~;I=i2Gt%~FL#*gZc?MdTOHu<5JnWzmJIL|DaX_xU10dF6u0JWLmnphw&T zs7Tla1$yR5UI5Ts-&O`RSd-5Oi<>>=hr7&lZL&ERjzc4fuSjeY@@WRx@Mvfv|K&h#z6j2{PpXKy0rCz*r9wwf`&&{Q+ z`B*tNL5g`Iq3GG64yA|iP@2cezBAgmIZ&1-;G81JSb!ABAGcVkTEXR-Rb8c{Flmsr z<)}ryu1+D|xYEX3>WQ$Gwzs!6ZI0dbi$7bc{7FG;obAMf+?g1y^?8=N<`5uatd2B| zSjD1^Yc5{qL~`(0O}u6nWO4>1R;&XMf3#1?A{iqagxHVGnrWZNWpZ4_Msir_wk=Ls zx?iGa$pC|^&O63>AXWMyc;&IptkN#s#BInqtfWXiqtV-7kZd&t;%cIlNXlHT2&75K zmj!BYs0~61?HIq8zv3is0^M*4EhsiusYSEu&2O#;uq`{C%+d7(NCj00&619Q(X1jy zg{?BJB1%FBaX@>@8PhsDf|&SA)3veo`87Xcwmyej?~(ED#E$1i1phzWTuw+R%$aLh zsPS|ZSp7QHd5e_OU>T$+xHyPy(8?ZvkHD3obj_OIKe5L4?oLAs&amA&>x<@s%lMzJ zMw|&-o9l5U8l&pFjA5U#Cwoq(|CsH3WCKPT91cFC5Br{MX{`|J5f~z8)mjvF;Th66KhiDW5*`W?9tiV?SO2PHLaAe*9$V@jsa)So@+w<<4Y0!jzX6j` z#`;t4F$EFH&>re-$|_7Wf;=B2Ju$umrvZgGIk$5(e?F81H(MU|jj_*CP34?u)p1)&ME z<;JST&Y67uZ2ox|Z!9^)7^Z$_)#ho3_Ungi6#^C_u042Sc$gF227e1zlTByWX+6i6 zB1;`wr)r%x2nNL!Z;;-B(QIk+go~L$;MD5oEqh)t%1;2-LO5V-)gD;APKfKr5ZhJS z(k#LsZH58(cqeIF!MoPp25jP7YxgcU%wuaxJwI;ZGKkecQs{yq!gnbOIvX$d({)==;+t zYa$UW0nPtlK{RnW2n!FCbr!<_-`;Qgw}d}oG(iUyd5}m7q)bnd4AmYv6J6E0M zg}!Eodc+VQeko=SjV*zoSjM-DS2WeB=%Pb)xb%yES2;>WVlxTpbbb_@M~S=G#P)R| zlDnlvILxL)1Ophu$AN`Fx9-K(%#Q9@BSy! zqydmynez)1%o;XRyKR)$G$U^WE;s(4Q7@Q>I*hT%;|0pr)()tnq3io?SK>wYsF~A{gt@I=^f{5|?#>On z1KI`f5eK#ySx~+Lp&v7s$jw?N2yo(dzaO`v3F6p)pkSyK<+X(#!7f}bJ+}?5UFIaO zvOQ?mEqjeAP4?vqG4C77j@?Y9@vBN#-J0t{dg}s&drWH?Fve+;?-La-j5PP? zTBG1^%rKbTBT?2)Y{%?s#!XFpuDqQSRI&i9pvDuZkd2@IX+;*^EgXq>sfC!##!xKE z!_3`MggY^9UA|ygF5T;r)i{B~OHb%?=>#1!1s(q#c&A^3vHZdqf(-Drl>i?nQ5JHm zkGL4ZRXEd~>mkFuYowKn`(gb{tPMHfS#Kqqik_hejFkMG`!m%8dUv-pM{jp~n^)$iT-cm4eCH#_T))Fw3^bflkTS+@|UNH$1cO z=IZ8j;T4M#8ybmbOT!J4E!UpKdJpM8uX}MHXkH3JEwnL4wjl08xajJx>(kH0_^KB zdikUX=z8rb1!RId1lU!x1rJ@s?LUgv{4mkeww`4AoXp%W&wd(BCno+Qz{7X0%3Hl} zAN6`A=tjpyz*p0Jh4)3?n8k0vQ60#P%de%ZD($(~q~;`_^UJj}+m$CRrPG1yKDFbE zDl_M&fzG3{pq!8>eK#X3suL}3>GafX{Azi3yBsv9m@j=j*AjRKkNG9q=# zVK>h3I6haeago$9pRJs+)4}~t&mQvPAIvJ5qjptB_Ud79k8>mOjy)GZ+HLIGQSp@z zp8xkVW^9Q=FH;<(rOU-?VgkGH+13Ujv++aCU#I37L=36oHd3c>V(Db09H`t@JYhnYI%6SKX>3I>&W*NUfR&kn^0E?nMi{$x}yI7u}PS9ehWN z%kC%0GcmS#{0idq%(y+S=oG_pca^5pRpLd<13qD^S52qGGJOoi8%dM!IX?@U>&fm11T{VWbh(qJn35t%tG&ioxVa71lGaW;oM{oBnnZ6AKAG8a#TjWg z54e4_!(OQ2UV5hqS!w(G{;g1a^41ch?0UIVjjBfzq^t|(Hfb}pY=GYyW(B39h~EbW>tdi;)1t%3AgLPcbJ=ExI&Fqi>Pm3j!X;DfPb% zqn{%PIe?jkiSd7TjMLbY_6Prk*G5yH(Gia23w8?ntP{5ugbj^9C_dD^e}^d}lc_XV zxZ}^*BYHBE%#(^K`${dQLXk%R7`@oMer|3qeh|R>4jktm_J&KlZ^!@?;CT?K(( zu1_CpA*hN0yqx7XnNTmBzWPN?XSdg-JEaD>%vNT%gP0$V9dnoBJ@&|p|AYIORkoHX zg603yR)Dl2?rMA}S@)uuy=`I3c8N%#=xHK=F+ytsi`qb%e>{Z`;9!KQMPc`)tmCo!(vO zSO}))w%0yXvy~qQP)}J-Crl-nlr{oJM7m67F${7<5C7d1ZVN57)TV`6p(L=FM$z0u z>avRL)ztG&3yTnBQ2YC1VHNgdS~g7=5&IIT>BpbK(wTIJ6_Qts_18C!m=tP@K31n) zX-rP_q#+*1LP^Q{A308r53eP}5)>(m>Nsjt?sUvFdw5$LUu z+WwISO|v#d0JN-j_!2GVj2K-6T_A*VG%c(K+Cr7|&7T4jRk~r`(IJbdyot{An7vi) ztSL{(^Sm5lPrN}9rfXS;BhO0P3PG0Go_WhUuh0B3!u{C8R<4{lwAYpB*zNHzx#)yL09i3gaCytJ_yANf_JBWW=H%Sg zS0MX@hfR>3JFFXBC7v<$EFMRK`ai6eWMwOfEo6OrDgI_z_^GA~lt2vq5DzH7H%)U9MB?wa^1+scUwl!Z+h5&t=HLtu8#5?Q^(-FPgKxSF?D z)1X;8z;nx#`^L9Dj#^i^NZ^dh2y{|u6$-h+KWtOy0mH>va39J(2wlVQIw~KC3lf-K z94>~>f1rYgN*yhAM4I!KXun{X&CD<1BRz~)(;zGcU?xk7l~lTw(A?o%@c1P7V|Z!* zc#BUOq!SdBb2oPeKy<}u*bSrGgrBCAX#Il922f6yC7GAO`Xi|tWYw=uy#~lPp+al9 zS&0idU=FAafYTJg^7tg+pC>o#Jd*Myxb3=WrF6(Bfg|@qG$Lat2bVxudIz=HM1U`c z2Q=dRoyD+Pz@Ts!i!Yh$gc0Gt{-F_G?d0i#iUvqgjSt`ZovcvFr z1c-9(_Q+qaCECCE*7Q0rk0y{Vbh7P~g3G(tZhVB$_^K(eu~ulj!qf%}AbnolVBjt5 ze2Rq~1ieJ*>+WnARFwe+4OSP-6Iz}Lefe8+YaXcdqcAU|r&HgO@|Xtk{iN-~sv8B{ zPmPdo;x@6o6!xtO0l#@jxpj-w^;Z=a0kC`m;Lm;7F#ps;6w2;Z7t*|(@F*gyDhAel zJ+&rUFP+P1W?LeM*;%4<%9hF>iaT`>Nh$w;N?P#x;=q?EI5&_4RgmGsz1S!AKK z1r`^nlsrT_%R*1aQiKS19HQP;d zP*Gl$5N^9S`A}1cMvL1Y`&N&7oAfM`ykfqt6V_N<9TFZ=)cWciCGEL=e@vTz|E6C3 zcU1B*y_wm&L^3XPnfmlpgo4d}4`@{jy7mRfpbRR+|Hpoy&u-r|aASAXc#A(iT6ddM zN?^BdWA88fN7>F-@m-GHp2H?7sv@x_daapre7CPi1gh+#JbmHWcXI_g;m*cQIm!GE zYdYSIQaDJU0se@EhGc^0uZf-ByyC3o*?U)^(l!+sFb@Pb`zi{Zy|;s(I-nUO1 z?xV6f_HA)2@^>~MC99#^Bi=Le=1;KPS4TzL&GL-0Lx-*7a4`%VvJBs5pL$6XONkGO z=Clb}xV`VJ48{pr@ZUH{DgaOon}xndk9>Z;`cirLellNmt3AyUmcZ^^&-Y zD@n}^>YK=svZ?IWfR;2D_(Vuer_sBwkVZ3+dvR&JY6$zo?5n?7c7XZoRaB=5C`BWy zNJ&IyGL`E&)cW-wG97?DIY*}}Hf7+wN`@fe=M&Ul;#D?pY=8LoZhGCS1waX6htecLg+ zi{8Zn$YrBh|F{T}4zO(9imTi7VqhNV+N}QU+gGKnq+T9jaQ`j75o2AtVN`kA;>-az$i^Mmj zcrrCDd190@4T=WCW4b1pD)kDy*{)-Ruff(e5LoKZgR-3Y9YAX5jNeKZEwRHv9wpeK zIYWn2PIOx)kFEW1)q1pi1T-}-6ma+Gx6vmm{era*6_cUup$Jt zDf|&?lcNW(P;v#|W&iNgP9RsCePo0X^jK_BH1Eq0D-4Ky(0sJeS%FUkKNh{b{~|A# zS^hJpK@MR3KVuq8*mAKKtQRx2Cj@D6Lr(lfOZajBq#S`S;hfS=eFlM?Jm0?&I3p6d z?JV5U&C%y7c4gPyF|+so4msL18|ZWG}Yh*>qSd3%tEP zjdTtRTVDm--ObbcipdQUlWCKDDO)X#{v*tw)IvROd%AepdPgg;?8SQr0E2-1POq#$ zVoYTX;LHP{t5S7K?P)lTuB%1-`aF66+x2S**;OqN6C-BYA|c*QOFV*%`K+6=l*t>=;?XcA}w#K%DgO73Y8blRHZu^X}4R*v^?yzhBOre5FuA(H+BIvHkdX0 zI$;M#I}LOE!;7laxQYjXC;2i2%_vhBcpxT7MNLnl*DQ`nx`T13MyZR7z%`~OS+AbV z2>UHHv>}B2co~;8W~_|)`#`jJM1h>L&Yf8vsD0x+_4I>(p-?zL^rA{iY-pUC)G8Kx zzO*L(x#rFpv1!O35aUlm6%&AfUIwQ4k6$CJ==jrWMuY%2kG0+)`j@?9IsE>^wLC66&3L9x;$hxd+T zvuK5uyZjg37rd2gxL-rjdB_lV@v^WnC5`rihmxq%AiE+FV0qpZ_faGsnTw81pZg<* zOzL-h$H6ys-I8H*Bo0w;!b#N~yQ0@#LFBePecYXG2CU*);qfq|eX;)^B0w`6N7K<#B>nUF3VvrplYO{7!9d^`kG5fP-w+(>KufGB&;EKR!ks~J!RwbE_d z7|QeCU?HszD|p{TLWI18(Z_@BMax}OQqID5|4bc)B%^Pj>usvSt5QP zL8;0YsW7qmck0KDW^>P5C+;EB@sUI=SGNbhGdy*%m8t$n1rqCLpj2JofwOjUg+joq1!xp*i zs8}|)=&N`Cdpk-;#%Q6_Yq)cVR%mw9L`Gt7y)!h}mtqac*^?a6pg-nYP|KtxUI zuU!lM0FjC`)bbKZui`vjt=?AC6ZTe9#C^X?Kf5G2Bf7uaCL8snj9EufSVcT5T%iLQ zQ8-}dx;37kq|eCgm)nJ%U?8Zidj&|5Cfi{VXOXT3A)5PY(KsPV)u<~r=RB=&F_C7_ z{x-APE!6mQ`V&&i!sY=9Dw2sJhvj86^E9vTfC-K`2dvI`2FJI|RJj`K6OREV{rkq6LYgOD|fx;HcSc0}jNw-lwiaRNk!!gh4_-heA`e&D(r}^-!`hX+56O^4?=SspWqgLs9U0Jj`$})VK z!x^9}mw%PE+^b5PxkI1+>0r}ZL2><3jseEJmoAJ9+BA9Xa)I7@0DnuotAGTOM>2%k zK?&jSAnwifGFJT?vHREQkNXq`Gt?yjVEZ8*So_12APGaWFDA7+&Mz+jt#jv*)#@CN zq{nIz%(ZFly%j0kEy@vU@!bwI9XmM6E?CYxImNEyuXqv%!J2pg^xtayxVNybgVAOr zDgu*^X4&s-`asQJ&{{P5&KO4L;w_vKqKL=#E{k|IxJ_B@D;!*sMIWqLG8>0OfVkb5 zPdP5JTAX~p?HFC%laxUVk3+jRNS@!OYExt)EJ-ak@Mf8(IibK%YE3vYR8Bxwwooza zVFxWa+dY|-9ji2f{B`S(Nehal`j-U^5S+1;?(y6NDA(Ed5>*IOuQX5J?_9YR9t%#J zMgM4CAN~xz!v~vgNwJik6bTC&(XFhcF#j8YQ?J zK)g*~&Hi4h-x`=+%yJq`rA=mo4k!LvqIfMvoTyc-8*J5UUAi^=MlbVY2lN*}nWfm# zG9-22xKH_KZQ+cy`Hu9*)tGn<+F_khiu!wde!0H(g(hS?OVS^{UlCHf>}=66!;4KT zl!y{7P9UtlL3nyz<5dbS3Gy>)&!ZAB*S9yb1hv(IBZX{G89z|lDWtwh4|#!@tf_eM z?b7$)rzV~tRTwusmBijlVyqT_ae+ck(1}T(=q(299y@#iUju#O{Qn|>J(Wo2$5+e3 z`oCk9Eo~Wx19sS+XN?zxX!WErjJls-#pA~cG**3L#611*SLEr(3M7?8JMPY$?g`#0 z_OHGWg6fvYzlg6}mQm_0XuN!UjnFqu{#$uaqvI?6nwWCw^Xt~F`1ajLyhj#7ae$fw zuL=d5+*KVDja))x6Y%iq#jUWjJ(#}o#{Bul>GxJpN~kE5hCjPV1X;;HE*NOVCp7q{dAylrXL!1Fg(MWg3$`iY|rF?mcz31LTh4hR&-7k#S}pqLsAdi zJh)S3+L`z#5FoT`MewQo+^B35lHgAWfMI!5swXMT?USd2uFhMvQg*TN*T8QV%nB?J zTyP|Y0@F~4^c>4ZE>$p4WxqoBUm0xSnNC}zjWW8VvJqY_HRd9GpmwsF3d|{lQ zaNu{~q?9lluUOgAmmXmpuwx);-@r*rMq&l0~x?e_XUou;f>!BlCkEEZ! zj!B1(2IwsKIQkAn89&2r?F2XZEdhj@Nj;$)=LfPWKgrXpm`J^G1*s~< zXOjD2mS4rSQx$^!93|kaE@68`r~ATYVY20NP#;+=%a+UMaEv&rxe%zP*2Q71^a2Pf zU?|5LAnsZvNBbhePr>;-q?m&*@iT7*p@Y4hWxq<{#hzy;U}np|lG7+i5>Tjcqg1b~o3Hh?9-By^@R&dUW# zb46}r>;80Hh>+{@IPW>!M>A6f_?n~&hQ z)Y0id)vp2Isje=SKYk>|rOatw{7cu8>}8!`kE##O_eXXsIvkmxbs>Og4<>k4bxn-+QmNyHt&c>Bxz@2oDB`L6O1G?V+2)?KM zrj%s1S~`B9ggMq+fQwC3bRSLNgHk+yA72Aho&EscYcyET+EZ!C;HZ2E4HO5@#8qp` z$yscS;9xU9mj0hEVoXG5Ld;eCP!6yfF9cz`H(vit016?CHZTxt$VRSO)7oTe&XkPj}qti0^(*ActSYT;kCH3?#E?C|KZG=c7Cb^i3xwsToyqV=BVAEk9Q)C`s%&TY~7Ii{?fH4TwMub)ufM$Mli^)cIG6 zhO+$FAdu|54)tW)B&GRXJvM7t6*|S8-@%>qeMy400HRO*3=n5Fo4e$BNM;|6#(jpm z8)p8ec(^1e`7XZC5DwKL?rdt0iU@`r%_287mKI!Ezk+N?eoV&1i#=^JZ!$ScE>lZOf^g#8=1iY#qe1|oxSZz`aiL_}LQyUAjdriPW8WqPp(juh{m!cM`} z+ivDUY5Zw58K6Eo2ZaJdjyKYb*n77I>vzH+b7+4mYwEwX$*^|(G6%z&C`gjee8D8KbKmM15W%fBqfxDp~d^1IJ zrN8=)s=&D!b{=l7cwUya%=*ZttWdfd^h8w5gnfy8>Ai+vcm1)|`nc?ZytxWW1b0qT zt4%(i)nD8St=uGP{*4t}m%8yLFi5v@$jR<`NV5P* zHA}eOsv_B1K#pX?ut*6`!uG~>dg88^Lt0`X3vGs0^lIb)reOORGJTp#EqE&X7!I;< zDL@I?33;ro7h9nKAwR5&0_`7I1rI!JEN)%5Y-MdA-eZ{vvqsv4^eNO!epWJ!>I5}PbcFQRi(iyYggjNb`5wE;4W zVN7I#jU|Uw-YdiGskZ+#5oqIP&9T@uHlRn@Qu2qrqgA4h(u%cX>okknG-jZCH)dPS~ub`r?rv7wvRV94os0rtyB*oQ%VO$(F1-Q~a zo)Rmnr2Neo$H&pxeHdBt<`G2TRLcuK#KJH&bJ2a@MIKgZi+_Ra=0R7K#^S77*du>z zu0CRnS+aoD1c!5Hr&#xTep*WPm3;~(lz3mM6(C9p4y=zQTP?-!h&UxUsH4BuG?W!?Zn70`_+^!!$_;$q0{*7PCWASZ z$hB(xK`qu}1|c(JOdLz2LdBfpW*ec`3HEZ=PU9${gikT0z%0cfD@Pi_cFH5=L8Z=m zB~7-_#!F8Ci5kFFqj4>Ivo6;Cx9n1&y3^kOMxI1dy;UK2h9VUl(@kW-G&_^5)I7vI zE-gj!$YLLQe^Hb+t=y9O1c4A92_I+x}N;5v&81BODhS_bJ~Xfu|csg96qVP=9vBJ(ZgW%smx z)u|Swe6e>`$@5iJ0-zOrI$qd@F1_(d;Znjo)Grcqcs3T~RIZ2kl_7Q$dIS(6s*?Iy zXt{XXRrX1$KU$Cp%+d=du|&aOgSZi`=FKn%diHSP!_#5Sm_H<`1Gp`En^&hv7TtE7 zyHpJe#$#Ze-G3!vK;JG)QX4#h5uPz$CU0$3TGx_p7DW+104Q5+&dQ@UDf6U1u^F`q zecHEDOzN!O=cix~HICAI+DUY(n?T--ioF0Q*yxD+l6fy+%FGTUfpU90&EA#cZsm5F zx%|B%Rk-$lg`-G;U$lUN{s*_?7joiR0nT_0O$K=}@tT zA;Q)Vt7Q}tfG<{1qfq1`Joo_x3V2mfDE#SG9IIed8TmU|&Gk*V6?{b%{0aEC;;j-{ z39l3oI6RI*2fIJ+ZnciSHa~StrmiL1@Wz*vLENP7i>ilJpRDe_5P*@@`rPJ2l}o*` zNZ57*IprE3GZkzJAcTas$UB{iL{(TbpDB4(voBL2fHJY~I&}umv22y`rUm`ndcD@e z9XdPm?Q>DOEM1lEkHtF^ZqXp)Dv|1sSL2&^y9MM?`{DXDk3!8>V9&u~2?i<$hLUoJ zv0FRu2kmM5Jxb8g?on!g2q=njHN&4wD%$s2e(Z-v9 zLbd2%t~|bFkdShfys<%|e#-q+dpesN;xkj$+t&Dlv)i_c&rq~7nt2(L=4&Kq*A5ih z(!{q7#tVfrt4}X%0kR#Ef0yL&u9!ral|3Ewuioz?099cK?0-9?1k?W`(zgnGW)0sdcZNom73t<_}g!E;zGOK*uk+|o8M=94Sq~gG3HP9|9EXkpSCuy z9Z4e!BqNBq^!e%PEI)peWsrqbDeM0wK)T`6?|qn=yCkYKT)5lKlIB<5P>``wU#HVv z%lf$MEd~Ur5d!hQM#c8L&oHD4+xm+=dy zD^dJ_(WNe=TUWDr=IHe9ax#r;0ko55TH9#!#DEhua$m35=sa9en1p25gv(1tMXAy> z^g>~1R-;PSC@Q!VX2WUa5cCxBWa6+IN{(IDwBPyxq!K);&P|}{pOhqaGiJ$cY}8a3NN?7@4m4sIp)79taSS*8I`Ds z*a1q|->>U+fKi5$7{){sw!f&SYaW14%M^ic94o?x?+1Kf^Koh%)#v9_aKYd-pU`Il zf8RfnGuoXWPo>WSv;Z%K#ln~2rJY_tFR18VSNBoruqUct!4kE@6>?MrCte+NlMerP z)Z|@3JWuVK7_k;21CWCv(EY-_+rz08`c~;?qhi+ zYLZhqWSA0Zb7{z{GDDv`{W?c->Q{Zt_-ZK@Zwti@Y<3d_0wpRnS(2k5%eC;q7C@y* z12#+ta{S2q9c{%XCSxf)VYIN1C%D*bTr*~5TNi=BJvHWt$GO25e8u*GioH(6e_5`-RY-(R4 z-w*EYbE;*7KUZ0|;xZGtjx3}KVLw4ToG8M318*ae@8YfZh4$-HcoCdw0aSS&?S?h4 zpHJ@w^Yl39I~xObx7cnd!_9>!%xlxe*m35C11dbgT-*X651e42647YQi>N5mGdqw` zk~#`?l-WgAlP7`p74{aO?}|(V;i;MUxEbLZvs0Pp¨Lx7^x0%+qx`Po`JsXa>%q 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 Date: Tue, 25 Mar 2025 10:00:10 +0530 Subject: [PATCH 3/4] updates for version 2.5 --- LICENSE | 2 +- README.md | 14 +- Version_changes.md | 9 + code_snippets/Builtin_functions.sh | 6 +- code_snippets/Control_Structures.sh | 2 +- code_snippets/Field_separators.sh | 24 +- .../Installation_and_Documentation.sh | 6 +- code_snippets/Regular_Expressions.sh | 22 +- example_files/newline.csv | 5 + exercises/Exercise_solutions.md | 67 ++++- exercises/Exercises.md | 56 +++- exercises/newline.csv | 5 + exercises/nums.txt | 2 + gnu_awk.md | 277 ++++++++++++------ images/awk_exercises.png | Bin 27266 -> 26735 bytes sample_chapters/gnu_awk_sample.pdf | Bin 368711 -> 375764 bytes 16 files changed, 347 insertions(+), 150 deletions(-) create mode 100644 example_files/newline.csv create mode 100644 exercises/newline.csv diff --git a/LICENSE b/LICENSE index 640b3d6..e4617ca 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Sundeep Agarwal +Copyright (c) 2025 Sundeep Agarwal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index e162aaa..683baaa 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CLI text processing with GNU awk -Example based guide to mastering GNU awk. Visit https://youtu.be/KIa_EaYwGDI for a short video about the book. +Learn GNU awk with hundreds of examples and exercises. Visit https://youtu.be/KIa_EaYwGDI for a short video about the book.

CLI text processing with GNU awk ebook cover image

@@ -20,15 +20,14 @@ See [Version_changes.md](./Version_changes.md) to keep track of changes made to * https://learnbyexample.gumroad.com/l/gnu_awk * https://leanpub.com/gnu_awk * You can also get the book as part of these bundles: - * **All books bundle** bundle from https://learnbyexample.gumroad.com/l/all-books - * Includes all my programming books - * **Magical one-liners** bundle from https://learnbyexample.gumroad.com/l/oneliners or https://leanpub.com/b/oneliners - * **Awesome Regex** bundle from https://learnbyexample.gumroad.com/l/regex or https://leanpub.com/b/regex + * **All books bundle** bundle from https://leanpub.com/b/learnbyexample-all-books or https://learnbyexample.gumroad.com/l/all-books + * **Magical one-liners** bundle from https://leanpub.com/b/oneliners or https://learnbyexample.gumroad.com/l/oneliners + * **Awesome Regex** bundle from https://leanpub.com/b/regex or https://learnbyexample.gumroad.com/l/regex * See https://learnbyexample.github.io/books/ for a list of other books For a preview of the book, see [sample chapters](./sample_chapters/gnu_awk_sample.pdf). -The book can also be [viewed as a single markdown file in this repo](./gnu_awk.md). See my blogpost on [generating pdfs from markdown using pandoc](https://learnbyexample.github.io/customizing-pandoc/) if you are interested in the ebook creation process. +The book can also be [viewed as a single markdown file in this repo](./gnu_awk.md). See my blogpost on [generating pdf/epub from markdown using pandoc](https://learnbyexample.github.io/customizing-pandoc/) if you are interested in the ebook creation process. For the web version of the book, visit https://learnbyexample.github.io/learn_gnuawk/ @@ -95,11 +94,12 @@ You can reach me via: * [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain * [arifmahmudrana](https://github.com/arifmahmudrana) for spotting an ambiguous explanation * [Pound-Hash](https://github.com/Pound-Hash) for critical feedback +* [FabijanC](https://github.com/FabijanC) and [alexwheezy](https://github.com/alexwheezy) for spotting ambiguous descriptions, typos and issues with commands * [mdBook](https://github.com/rust-lang/mdBook) — for web version of the book * [mdBook-pagetoc](https://github.com/JorelAli/mdBook-pagetoc) — for adding table of contents for each chapter * [minify-html](https://github.com/wilsonzlin/minify-html) — for minifying html files -Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during these difficult times. +Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during difficult times.
diff --git a/Version_changes.md b/Version_changes.md index 25490ed..a716bde 100644 --- a/Version_changes.md +++ b/Version_changes.md @@ -1,5 +1,14 @@
+### 2.5 + +* Command version updated to **GNU awk 5.3.1** +* Added details for the `--csv` option and the `\u` escape sequence +* Corrected typos, updated exercises, descriptions and external links +* Updated Acknowledgements section + +
+ ### 2.0 * Command version updated to **GNU awk 5.2.2** diff --git a/code_snippets/Builtin_functions.sh b/code_snippets/Builtin_functions.sh index 8c5360e..edd665c 100644 --- a/code_snippets/Builtin_functions.sh +++ b/code_snippets/Builtin_functions.sh @@ -105,11 +105,11 @@ awk 'index($0, "a+b")==1' eqns.txt awk -v s="a+b" 'index($0, s)==length()-length(s)+1' eqns.txt -echo 'a\b\c\d' | awk -v s='a\b' 'index($0, s)' +printf '%s\n' 'a\b\c\d' | awk -v s='a\b' 'index($0, s)' -echo 'a\b\c\d' | awk -v s='a\\b' 'index($0, s)' +printf '%s\n' 'a\b\c\d' | awk -v s='a\\b' 'index($0, s)' -echo 'a\b\c\d' | s='a\b' awk 'index($0, ENVIRON["s"])' +printf '%s\n' 'a\b\c\d' | s='a\b' awk 'index($0, ENVIRON["s"])' ## system diff --git a/code_snippets/Control_Structures.sh b/code_snippets/Control_Structures.sh index 0057f28..2e08ad6 100644 --- a/code_snippets/Control_Structures.sh +++ b/code_snippets/Control_Structures.sh @@ -8,7 +8,7 @@ seq 6 | awk '{ORS = NR%3 ? "-" : RS} 1' awk '/^b/{print; print($NF>0 ? "------" : "======")}' table.txt -## loops +## Loops awk 'BEGIN{for(i=2; i<7; i+=2) print i}' diff --git a/code_snippets/Field_separators.sh b/code_snippets/Field_separators.sh index 38ba375..8a77cdd 100644 --- a/code_snippets/Field_separators.sh +++ b/code_snippets/Field_separators.sh @@ -56,7 +56,7 @@ echo 'Sample123string42with777numbers' | awk -F'[0-9]+' '{print $2}' echo 'Sample123string42with777numbers' | awk -F'[a-zA-Z]+' '{print $2}' -echo 'load;err_msg--\ant,r2..not' | awk -F'\\W+' '{print $3}' +printf '%s\n' 'load;err_msg--\ant,r2..not' | awk -F'\\W+' '{print $3}' echo 'hi.bye.hello' | awk -F. '{print $2}' @@ -122,17 +122,33 @@ s='items: "apple" and "mango"' echo "$s" | awk -v FPAT='"[^"]+"' '{print $1}' +echo 'Read Eat Sleep' | awk -v FPAT='e' '{print NF}' + +echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='e' '{print NF}' + +echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='[e]' '{print NF}' + +## CSV processing with FPAT + s='eagle,"fox,42",bee,frog' echo "$s" | awk -F, '{print $2}' echo "$s" | awk -v FPAT='"[^"]*"|[^,]*' '{print $2}' -echo 'Read Eat Sleep' | awk -v FPAT='e' '{print NF}' +## CSV processing with `--csv` -echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='e' '{print NF}' +s='"toy,eagle\"s","fox,42",bee,frog' -echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='[e]' '{print NF}' +printf '%b' "$s" | awk -v FPAT='"[^"]*"|[^,]*' '{print $2}' + +printf '%b' "$s" | awk -k '{print $2}' + + printf '%b' "$s" | awk -k -v OFS=: '{$1=$1} 1' + +cat newline.csv + +awk -k 'NR==1{print $2}' newline.csv ## FIELDWIDTHS diff --git a/code_snippets/Installation_and_Documentation.sh b/code_snippets/Installation_and_Documentation.sh index bf4d3b5..c5468fd 100644 --- a/code_snippets/Installation_and_Documentation.sh +++ b/code_snippets/Installation_and_Documentation.sh @@ -1,10 +1,10 @@ ## Installation -wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz +wget https://ftp.gnu.org/gnu/gawk/gawk-5.3.1.tar.xz -tar -Jxf gawk-5.2.2.tar.xz +tar -Jxf gawk-5.3.1.tar.xz -cd gawk-5.2.2/ +cd gawk-5.3.1/ ./configure diff --git a/code_snippets/Regular_Expressions.sh b/code_snippets/Regular_Expressions.sh index be00eda..9284d43 100644 --- a/code_snippets/Regular_Expressions.sh +++ b/code_snippets/Regular_Expressions.sh @@ -82,7 +82,7 @@ printf 'a^2 + b^2 - C*3\nd = c^2' | awk '/b\^2/' echo '(a*b) + c' | awk '{gsub(/\(|)/, "")} 1' -echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' +printf '%s\n' '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' ## Using string literal as a regexp @@ -102,9 +102,9 @@ awk 'gsub("\\", "X")' anchors.txt awk 'gsub(/\/, "X")' anchors.txt -echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' +printf '%s\n' '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' -echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' +printf '%s\n' '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' ## The dot meta character @@ -202,15 +202,15 @@ echo 'I like "mango" and "guava"' | awk '{gsub(/"[^"]+"/, "X")} 1' printf 'tryst\nfun\nglyph\npity\nwhy\n' | awk '!/[aeiou]/' -echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' +printf '%s\n' 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' printf 'hi \v\f there.\thave \ra nice\t\tday\n' | awk '{gsub(/\s+/, " ")} 1' -echo 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' +printf '%s\n' 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' -echo '42\d123' | awk '{gsub(/\d+/, "-")} 1' +printf '%s\n' '42\d123' | awk '{gsub(/\d+/, "-")} 1' -echo '42\d123' | perl -pe 's/\d+/-/g' +printf '%s\n' '42\d123' | perl -pe 's/\d+/-/g' ## Named character sets @@ -260,7 +260,11 @@ echo 'hello world' | awk '{sub(/.*/, "[\x26]")} 1' echo 'read' | awk '{sub(/\d/, "l")} 1' -## Replace specific occurrence +awk 'BEGIN{print "\u3b1\u3bb\u3b5\u3c0\u3bf\u3cd"}' + +awk 'BEGIN{print "cag\u308" "ed"}' + +## Replace a specific occurrence s='apple:banana:cherry:fig:mango' @@ -286,7 +290,7 @@ echo "$s" | awk '{print gensub(/(.*),((.*,){2})/, "\\1[]\\2", 1)}' s='effort flee facade oddball rat tool' -echo "$s" | awk '{gsub(/\w*(\w)\1\w*/, "X")} 1' +echo "$s" | awk '{print gensub(/\w*(\w)\1\w*/, "X", "g")}' echo "$s" | sed -E 's/\w*(\w)\1\w*/X/g' diff --git a/example_files/newline.csv b/example_files/newline.csv new file mode 100644 index 0000000..0468cb7 --- /dev/null +++ b/example_files/newline.csv @@ -0,0 +1,5 @@ +apple,"1 +2 +3",good +fig,guava,"32 +54",nice diff --git a/exercises/Exercise_solutions.md b/exercises/Exercise_solutions.md index 5953c3f..fcea992 100644 --- a/exercises/Exercise_solutions.md +++ b/exercises/Exercise_solutions.md @@ -182,7 +182,7 @@ eqn2 = pressure*3+8-14256 * `*` is same as `{0,}` * `+` is same as `{1,}` -**10)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** `(a*|b*)` is same as `(a|b)*` — True or False? False. Because `(a*|b*)` will match only sequences like `a`, `aaa`, `bb`, `bbbbbbbb`. But `(a|b)*` can match a mixed sequence like `ababbba` too. @@ -241,9 +241,10 @@ $ echo '_;3%,.,=-=,:' | awk '{print gensub(/[^,]+/, "42", 3)}' _;3%,.,42,: ``` -**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar`. For such lines, replace the third from last occurrence of `ar` with `X`. ```bash +# can also use: awk -F'ar' 'NF>3{print gensub(FS, "X", NF-3)}' patterns.txt $ awk 'BEGIN{r = @/(.*)ar((.*ar){2})/} $0~r{print gensub(r, "\\1X\\2", 1)}' patterns.txt par car tX far Cart pXt cart mart @@ -352,7 +353,7 @@ $ printf '/home/joe/1\n/home/john/1\n' | awk '$0 ~ "/home/joe/"' /home/joe/1 # however, you'll need \\ to represent a single \ -$ echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' +$ printf '%s\n' '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' /learn/by/example ``` @@ -540,6 +541,36 @@ pink blue white yellow car,mat,ball,basket ``` +**14)** The `newline.csv` file has fields with embedded newline characters. Display only the first and last fields as shown below. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk -k -v OFS=, '{print $1, $NF}' newline.csv +apple,good +fig,nice +``` + +**15)** The `newline.csv` file has fields with embedded newline characters, but no fields with escaped double quotes. Change the embedded newline characters to `:` without removing the double quotes around such fields. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk -k '{gsub(/\n/, ":")} 1' newline.csv +apple,"1:2:3",good +fig,guava,"32:54",nice +``` +
# Record separators @@ -569,7 +600,7 @@ $ paste -sd, addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny # make sure there's no ',' at end of the line # and that there's a newline character at the end of the line -$ awk -v ORS= 'NR>1{print ","} 1; END{print "\n"}' addr.txt +$ awk -v ORS= 'NR>1{print ","} 1; END{print "\n"}' addr.txt Hello World,How are you,This game is good,Today is sunny,12345,You are funny # if there's only one line in input, again make sure there's no trailing ',' @@ -830,7 +861,7 @@ Y\&/u are funny # Control Structures -**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. +**1)** The input file `nums.txt` contains a single column of numbers. If the number starts with a `-` sign, remove it and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -839,6 +870,8 @@ $ cat nums.txt 10101 -3.14 -75 +2.3e4 +0 # same as: awk '{$0 ~ /^-/ ? sub(/^-/, "") : sub(/^/, "-")} 1' nums.txt $ awk '!sub(/^-/, ""){sub(/^/, "-")} 1' nums.txt @@ -847,6 +880,8 @@ $ awk '!sub(/^-/, ""){sub(/^/, "-")} 1' nums.txt -10101 3.14 75 +-2.3e4 +-0 ``` **2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. @@ -955,7 +990,7 @@ Blue,67,46,99 **2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash -$ cat nums3.txt +$ cat nums3.txt 3.14 4201 777 @@ -1011,9 +1046,9 @@ $ echo '3*f + (a^b) - 45' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($ $ s='\&/' # should be no output for this input -$ echo 'f\&z\&2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' +$ printf '%s\n' 'f\&z\&2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' # but this one has a match -$ echo 'f\&z\&/2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' +$ printf '%s\n' 'f\&z\&/2.14' | s="$s" awk 'n=index($0, ENVIRON["s"]){print substr($0, n)}' \&/2.14 ``` @@ -1141,10 +1176,10 @@ Chemistry ---------- ``` -**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `at` or `fun` in the third field. Assume space as the field separator. +**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `in` or `at` or `fun` in the third field. Assume space as the field separator. The output should not show a matching filename more than once. ```bash -$ awk '$3 ~ /fun|at/{print FILENAME; nextfile}' sample.txt secrets.txt addr.txt table.txt +$ awk '$3 ~ /fun|at|in/{print FILENAME; nextfile}' sample.txt secrets.txt addr.txt table.txt secrets.txt addr.txt table.txt @@ -1197,7 +1232,7 @@ No doubt you like it too ``` -**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** The input file `broken.txt` starts with a line containing `top` followed by some content before a line containing `bottom` is found. Blocks of lines bounded by these two markers repeats except for the last block as it is missing the `bottom` marker. The first `awk` command shown below doesn't work because it is matching till the end of file due to the missing marker. Correct this command to get the expected output shown below. ```bash $ cat broken.txt @@ -1262,7 +1297,7 @@ car,mat,ball,basket ```bash $ awk -v IGNORECASE=1 '/```ruby/{f=1} !f{gsub(/ruby/, "Ruby")} /```$/{f=0} 1' ruby.md > out.md -$ diff -sq out.md expected.md +$ diff -sq out.md expected.md Files out.md and expected.md are identical ``` @@ -1472,12 +1507,12 @@ tru eblue $ awk 'NR==FNR{c[$1,$2]++; next} {if((c[$1,$2] + c[$2,$1]) == 1) print > "uniq.txt"; else print > "dupl.txt"}' twos.txt twos.txt -$ cat uniq.txt +$ cat uniq.txt true blue hehe bebe tru eblue -$ cat dupl.txt +$ cat dupl.txt hehe haha door floor haha hehe @@ -1522,7 +1557,7 @@ For the input file `gawk.md`, construct a Table of Content section as per the de The script file should be named as `toc.awk` and save the output in `out.md`. ```bash -$ cat toc.awk +$ cat toc.awk /^```bash$/ { f = 1 } @@ -1553,7 +1588,7 @@ $ cat odd.txt -oreo-not:a _a2_ roar<=>took%22 RoaR to wow- -$ cat same.awk +$ cat same.awk { c = 0 n = split($0, a, /\W+/, seps) diff --git a/exercises/Exercises.md b/exercises/Exercises.md index ed4b3c8..37ca51e 100644 --- a/exercises/Exercises.md +++ b/exercises/Exercises.md @@ -181,7 +181,7 @@ eqn2 = pressure*3+8-14256 * `*` is same as * `+` is same as -**10)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** `(a*|b*)` is same as `(a|b)*` — True or False? **11)** For the input file `patterns.txt`, construct two different regexps to get the outputs as shown below. Display only the modified lines. @@ -238,7 +238,7 @@ $ echo '_;3%,.,=-=,:' | awk ##### add your solution here _;3%,.,42,: ``` -**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar`. For such lines, replace the third from last occurrence of `ar` with `X`. ```bash $ awk ##### add your solution here @@ -509,6 +509,36 @@ pink blue white yellow car,mat,ball,basket ``` +**14)** The `newline.csv` file has fields with embedded newline characters. Display only the first and last fields as shown below. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk ##### add your solution here +apple,good +fig,nice +``` + +**15)** The `newline.csv` file has fields with embedded newline characters, but no fields with escaped double quotes. Change the embedded newline characters to `:` without removing the double quotes around such fields. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk ##### add your solution here +apple,"1:2:3",good +fig,guava,"32:54",nice +``` +
# Record separators @@ -798,7 +828,7 @@ Y\&/u are funny # Control Structures -**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. +**1)** The input file `nums.txt` contains a single column of numbers. If the number starts with a `-` sign, remove it and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -807,6 +837,8 @@ $ cat nums.txt 10101 -3.14 -75 +2.3e4 +0 $ awk ##### add your solution here -42 @@ -814,6 +846,8 @@ $ awk ##### add your solution here -10101 3.14 75 +-2.3e4 +-0 ``` **2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. @@ -906,7 +940,7 @@ Blue,67,46,99 **2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash -$ cat nums3.txt +$ cat nums3.txt 3.14 4201 777 @@ -962,9 +996,9 @@ $ echo '3*f + (a^b) - 45' | ##### add your solution here $ s='\&/' # should be no output for this input -$ echo 'f\&z\&2.14' | ##### add your solution here +$ printf '%s\n' 'f\&z\&2.14' | ##### add your solution here # but this one has a match -$ echo 'f\&z\&/2.14' | ##### add your solution here +$ printf '%s\n' 'f\&z\&/2.14' | ##### add your solution here \&/2.14 ``` @@ -1087,7 +1121,7 @@ Chemistry ---------- ``` -**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `at` or `fun` in the third field. Assume space as the field separator. +**2)** For the input files `sample.txt`, `secrets.txt`, `addr.txt` and `table.txt`, display only the names of files that contain `in` or `at` or `fun` in the third field. Assume space as the field separator. The output should not show a matching filename more than once. ```bash $ awk ##### add your solution here sample.txt secrets.txt addr.txt table.txt @@ -1141,7 +1175,7 @@ No doubt you like it too ``` -**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** The input file `broken.txt` starts with a line containing `top` followed by some content before a line containing `bottom` is found. Blocks of lines bounded by these two markers repeats except for the last block as it is missing the `bottom` marker. The first `awk` command shown below doesn't work because it is matching till the end of file due to the missing marker. Correct this command to get the expected output shown below. ```bash $ cat broken.txt @@ -1206,7 +1240,7 @@ car,mat,ball,basket ```bash $ awk ##### add your solution here ruby.md > out.md -$ diff -sq out.md expected.md +$ diff -sq out.md expected.md Files out.md and expected.md are identical ``` @@ -1408,12 +1442,12 @@ tru eblue ```bash $ awk ##### add your solution here -$ cat uniq.txt +$ cat uniq.txt true blue hehe bebe tru eblue -$ cat dupl.txt +$ cat dupl.txt hehe haha door floor haha hehe diff --git a/exercises/newline.csv b/exercises/newline.csv new file mode 100644 index 0000000..0468cb7 --- /dev/null +++ b/exercises/newline.csv @@ -0,0 +1,5 @@ +apple,"1 +2 +3",good +fig,guava,"32 +54",nice diff --git a/exercises/nums.txt b/exercises/nums.txt index 2b5129d..ec30ae8 100644 --- a/exercises/nums.txt +++ b/exercises/nums.txt @@ -3,3 +3,5 @@ 10101 -3.14 -75 +2.3e4 +0 diff --git a/gnu_awk.md b/gnu_awk.md index 9aeb26e..9f45af6 100644 --- a/gnu_awk.md +++ b/gnu_awk.md @@ -14,14 +14,13 @@ You should be familiar with command line usage in a Unix-like environment. You s As `awk` is a programming language, you are also expected to be familiar with concepts like variables, printing, functions, control structures, arrays and so on. -If you are new to the world of the command line, check out my [Computing from the Command Line](https://github.com/learnbyexample/cli-computing) ebook and curated resources on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) before starting this book. +If you are new to the world of the command line, check out my [Linux Command Line Computing](https://github.com/learnbyexample/cli-computing) ebook and curated resources on [Linux CLI and Shell scripting](https://learnbyexample.github.io/curated_resources/linux_cli_scripting.html) before starting this book. ## Conventions -* The examples presented here have been tested with **GNU awk** version **5.2.2** and includes features not available in earlier versions. +* The examples presented here have been tested with **GNU awk** version **5.3.1** and includes features not available in earlier versions. * Code snippets are copy pasted from the `GNU bash` shell and modified for presentation purposes. Some commands are preceded by comments to provide context and explanations. Blank lines to improve readability, only `real` time shown for speed comparisons, output skipped for commands like `wget` and so on. * Unless otherwise noted, all examples and explanations are meant for **ASCII** input. -* `awk` would mean `GNU awk`, `sed` would mean `GNU sed`, `grep` would mean `GNU grep` and so on unless otherwise specified. * External links are provided throughout the book for you to explore certain topics in more depth. * The [learn_gnuawk repo](https://github.com/learnbyexample/learn_gnuawk) has all the code snippets and files used in examples, exercises and other details related to the book. If you are not familiar with the `git` command, click the **Code** button on the webpage to get the files. @@ -36,8 +35,9 @@ If you are new to the world of the command line, check out my [Computing from th * [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain * [arifmahmudrana](https://github.com/arifmahmudrana) for spotting an ambiguous explanation * [Pound-Hash](https://github.com/Pound-Hash) for critical feedback +* [FabijanC](https://github.com/FabijanC) and [alexwheezy](https://github.com/alexwheezy) for spotting ambiguous descriptions, typos and issues with commands -Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during these difficult times. +Special thanks to all my friends and online acquaintances for their help, support and encouragement, especially during difficult times. ## Feedback and Errata @@ -63,11 +63,11 @@ This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareA Code snippets are available under [MIT License](https://github.com/learnbyexample/learn_gnuawk/blob/master/LICENSE). -Resources mentioned in Acknowledgements section are available under original licenses. +Resources mentioned in the Acknowledgements section are available under original licenses. ## Book version -2.0 +2.5 See [Version_changes.md](https://github.com/learnbyexample/learn_gnuawk/blob/master/Version_changes.md) to track changes across book versions. @@ -84,16 +84,16 @@ If you are on a Unix-like system, you will most likely have some version of `awk `GNU awk` is part of the [text creation and manipulation](https://www.gnu.org/manual/manual.html) commands and usually comes by default on GNU/Linux distributions. To install a particular version, visit [gnu: gawk software](https://www.gnu.org/software/gawk/). See also [release notes](https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=gawk+released&submit=Search%21&idxname=info-gnu&max=20&result=normal&sort=date%3Alate) for an overview of changes between versions. ```bash -$ wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz -$ tar -Jxf gawk-5.2.2.tar.xz -$ cd gawk-5.2.2/ +$ wget https://ftp.gnu.org/gnu/gawk/gawk-5.3.1.tar.xz +$ tar -Jxf gawk-5.3.1.tar.xz +$ cd gawk-5.3.1/ # see https://askubuntu.com/q/237576 if you get compiler not found error $ ./configure $ make $ sudo make install $ awk --version | head -n1 -GNU Awk 5.2.2, API 3.2, PMA Avon 8-g1 +GNU Awk 5.3.1, API 4.0, PMA Avon 8-g1 ``` If you are not using a Linux distribution, you may be able to access `GNU awk` using an option below: @@ -154,6 +154,7 @@ Short options: GNU long options: (extensions) -h --help -i includefile --include=includefile -I --trace + -k --csv -l library --load=library -L[fatal|invalid|no-ext] --lint[=fatal|invalid|no-ext] -M --bignum @@ -200,7 +201,7 @@ what By default, `awk` automatically loops over the input content line by line. You can then use programming instructions to process those lines. As `awk` is often used from the command line, many shortcuts are available to reduce the amount of typing needed. -In the above examples, a regular expression (defined by the pattern between a pair of forward slashes) has been used to filter the input. Regular expressions (regexp) will be covered in detail in the [next chapter](#regular-expressions). String values without any special regexp characters are used in this chapter. The full syntax is `string ~ /regexp/` to check if the given string matches the regexp and `string !~ /regexp/` to check if doesn't match. When the string isn't specified, the test is performed against a special variable `$0`, which has the contents of the input line. The correct term would be input **record**, but that's a discussion for a [later chapter](#record-separators). +In the above examples, a regular expression (defined by the pattern between a pair of forward slashes) has been used to filter the input. Regular expressions (regexp) will be covered in detail in the [next chapter](#regular-expressions). String values without any special regexp characters are used in this chapter. The full syntax is `string ~ /regexp/` to check if the given string matches the regexp and `string !~ /regexp/` to invert the condition. When the string isn't specified, the test is performed against a special variable `$0`, which has the contents of the input line. The correct term would be input **record**, but that's a discussion for a [later chapter](#record-separators). Also, in the above examples, only the filtering condition was given. By default, when the condition evaluates to `true`, the contents of `$0` is printed. Thus: @@ -355,7 +356,7 @@ $ awk 'BEGIN{s1="con"; s2="cat"; print s1 s2}' concat ``` -If an uninitialized variable is used, it will act as an empty string in string context and `0` in numeric context. You can force a string to behave as a number by simply using it in an expression with numeric values. You can also use unary `+` or `-` operators. If the string doesn't start with a valid number (ignoring any starting whitespaces), it will be treated as `0`. Similarly, concatenating a string to a number will automatically change the number to string. See [gawk manual: How awk Converts Between Strings and Numbers](https://www.gnu.org/software/gawk/manual/gawk.html#Strings-And-Numbers) for more details. +If an uninitialized variable is used, it will act as an empty string in string context and `0` in numeric context. You can force a string to behave as a number by simply using it in an expression with numeric values. You can also use unary `+` or `-` operators. If the string doesn't start with a valid number (ignoring any starting whitespaces), it will be treated as `0`. Similarly, concatenating a string to a number will automatically change the number to a string. See [gawk manual: How awk Converts Between Strings and Numbers](https://www.gnu.org/software/gawk/manual/gawk.html#Strings-And-Numbers) for more details. ```bash # same as: awk 'BEGIN{sum=0} {sum += $NF} END{print sum}' @@ -508,7 +509,7 @@ Here are some common use cases: This chapter will cover regular expressions as implemented in `awk`. Most of `awk`'s regular expression syntax is similar to Extended Regular Expression (ERE) supported by `grep -E` and `sed -E`. Unless otherwise indicated, examples and descriptions will assume ASCII input. ->![info](images/info.svg) See also [POSIX specification](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html) for regular expressions and [unix.stackexchange: Why does my regular expression work in X but not in Y?](https://unix.stackexchange.com/q/119905/109046) See my [blog post](https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/) for differences between regexp features supported by `grep`, `sed` and `awk`. +>![info](images/info.svg) See also [POSIX specification](https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap09.html) for regular expressions and [unix.stackexchange: Why does my regular expression work in X but not in Y?](https://unix.stackexchange.com/q/119905/109046) See my [blog post](https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/) for differences between regexp features supported by `grep`, `sed` and `awk`. >![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. @@ -567,7 +568,7 @@ par 123 ``` -The anchors can be used by themselves as a pattern too. Helps to insert text at the start/end of a string, emulating string concatenation operations. These might not feel like useful capability, but combined with other features they become quite a handy tool. +The anchors can be used by themselves as a pattern too. Helps to insert text at the start/end of a string, emulating string concatenation operations. These might not feel like a useful capability, but combined with other features they become quite a handy tool. ```bash # add '* ' at the start of every input line @@ -611,7 +612,7 @@ spar # replace only whole word 'par' # note that only lines where the substitution succeeded will be printed -# as the return value of sub/gsub is number of substitutions made +# as the return value of sub/gsub is the number of substitutions made $ awk 'gsub(/\/, "***")' anchors.txt sub *** ``` @@ -739,7 +740,7 @@ $ awk '/\<(par|part)\>/' anchors.txt sub par cart part tart mart # taking out common characters as well -# you'll later learn a better technique instead of using empty alternate +# you'll later learn a better technique instead of using an empty alternate $ awk '/\/' anchors.txt sub par cart part tart mart @@ -761,7 +762,7 @@ a^2 + b^2 - C*3 $ echo '(a*b) + c' | awk '{gsub(/\(|)/, "")} 1' a*b + c -$ echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' +$ printf '%s\n' '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' /learn/by/example ``` @@ -800,9 +801,9 @@ $ awk 'gsub(/\/, "X")' anchors.txt sub X # another example -$ echo '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' +$ printf '%s\n' '\learn\by\example' | awk '{gsub("\\\\", "/")} 1' /learn/by/example -$ echo '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' +$ printf '%s\n' '\learn\by\example' | awk '{gsub(/\\/, "/")} 1' /learn/by/example ``` @@ -976,7 +977,7 @@ c- ## Character classes -To create a custom placeholder for limited set of characters, enclose them inside `[]` metacharacters. It is similar to using single character alternations inside a grouping, but with added flexibility and features. Character classes have their own versions of metacharacters and provide special predefined sets for common use cases. Quantifiers are also applicable to character classes. +To create a custom placeholder for a limited set of characters, enclose them inside `[]` metacharacters. It is similar to using single character alternations inside a grouping, but with added flexibility and features. Character classes have their own versions of metacharacters and provide special predefined sets for common use cases. Quantifiers are also applicable to character classes. ```bash # same as: awk '/cot|cut/' and awk '/c(o|u)t/' @@ -1043,7 +1044,7 @@ Next metacharacter is `^` which has to be specified as the first character of th $ echo 'Sample123string42with777numbers' | awk '{gsub(/[^0-9]+/, "-")} 1' -123-42-777- -# delete last two columns +# delete the last two columns $ echo 'apple:123:banana:cherry' | awk '{sub(/(:[^:]+){2}$/, "")} 1' apple:123 @@ -1070,7 +1071,7 @@ These escape sequences *cannot* be used inside character classes. Also, as menti ```bash # match all non-word characters -$ echo 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' +$ printf '%s\n' 'load;err_msg--\/ant,r2..not' | awk '{gsub(/\W+/, "|")} 1' load|err_msg|ant|r2|not # replace all sequences of whitespaces with a single space @@ -1078,7 +1079,7 @@ $ printf 'hi \v\f there.\thave \ra nice\t\tday\n' | awk '{gsub(/\s+/, " ")} hi there. have a nice day # \w would simply match w inside character classes -$ echo 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' +$ printf '%s\n' 'w=y\x+9*3' | awk '{gsub(/[\w=]/, "")} 1' y\x+9*3 ``` @@ -1086,13 +1087,13 @@ y\x+9*3 > > ```bash > # \d will match just the 'd' character and produces a warning as well -> $ echo '42\d123' | awk '{gsub(/\d+/, "-")} 1' +> $ printf '%s\n' '42\d123' | awk '{gsub(/\d+/, "-")} 1' > awk: cmd. line:1: warning: regexp escape sequence > '\d' is not a known regexp operator > 42\-123 > > # \d here matches all digit characters -> $ echo '42\d123' | perl -pe 's/\d+/-/g' +> $ printf '%s\n' '42\d123' | perl -pe 's/\d+/-/g' > -\d- > ``` @@ -1137,7 +1138,7 @@ $ echo ',pie tie#ink-eat_42' | awk '{gsub(/[^[:punct:]]+/, "")} 1' Specific placement is needed to match character class metacharacters literally. Or, they can be escaped by prefixing `\` to avoid having to remember the different rules. As `\` is special inside character class, use `\\` to represent it literally. -`-` should be the first or the last character. +`-` should be the first or last character. ```bash $ echo 'ab-cd gh-c 12-423' | awk '{gsub(/[a-z-]{2,}/, "X")} 1' @@ -1232,9 +1233,21 @@ awk: cmd. line:1: warning: regexp escape sequence real ``` ->![info](images/info.svg) See [gawk manual: Escape Sequences](https://www.gnu.org/software/gawk/manual/gawk.html#Escape-Sequences) for full list and other details. +Support for Unicode characters requiring up to 8 hexadecimal digits with `\u` was added recently. -## Replace specific occurrence +```bash +$ awk 'BEGIN{print "\u3b1\u3bb\u3b5\u3c0\u3bf\u3cd"}' +αλεπού + +# there's no way to separate the hexadecimal digits from characters +# that follow, so you'll have to separate them manually +$ awk 'BEGIN{print "cag\u308" "ed"}' +cag̈ed +``` + +>![info](images/info.svg) See [gawk manual: Escape Sequences](https://www.gnu.org/software/gawk/manual/gawk.html#Escape-Sequences) for full list and other details. See also [codepoints.net](https://codepoints.net/), a site dedicated for Unicode characters. + +## Replace a specific occurrence The third substitution function is `gensub` which can be used instead of both the `sub` and `gsub` functions. Syntax wise, `gensub` needs minimum three arguments. The third argument is used to indicate whether you want to replace all occurrences with `"g"` or a specific occurrence by passing a number. Another difference is that `gensub` returns a string value (irrespective of the substitution operation succeeding) instead of modifying the input. @@ -1265,10 +1278,11 @@ $ echo '1 good 2 apples' | awk '{$4 = gensub(/[aeiou]/, "X", "g", $4)} 1' The grouping metacharacters `()` are also known as **capture groups**. Similar to variables in programming languages, the portion captured by `()` can be referred later using backreferences. The syntax is `\N` where `N` is the capture group you want. Leftmost `(` in the regular expression is `\1`, next one is `\2` and so on up to `\9`. The `&` metacharacter represents entire matched string. As `\` is already special inside double quotes, you'll have to use `"\\1"` to represent `\1`. ->![info](images/info.svg) Backreferences of the form `\N` can only be used with the `gensub` function. `&` can be used with `sub`, `gsub` and `gensub` functions. `\0` can also be used instead of `&` with the `gensub` function. +>![info](images/info.svg) Backreferences of the form `\N` can only be used with the `gensub` function. `&` can be used with the `sub`, `gsub` and `gensub` functions. `\0` can also be used instead of `&` with the `gensub` function. ```bash -# reduce \\ to single \ and delete if it is a single \ +# replace \\ with \ +# replace \ with an empty string $ s='\[\] and \\w and \[a-zA-Z0-9\_\]' $ echo "$s" | awk '{print gensub(/(\\?)\\/, "\\1", "g")}' [] and \w and [a-zA-Z0-9_] @@ -1295,7 +1309,7 @@ car,art,pot,tap[]urn,ray,ear > $ s='effort flee facade oddball rat tool' > > # no change -> $ echo "$s" | awk '{gsub(/\w*(\w)\1\w*/, "X")} 1' +> $ echo "$s" | awk '{print gensub(/\w*(\w)\1\w*/, "X", "g")}' > effort flee facade oddball rat tool > # whole words that have at least one consecutive repeated character > $ echo "$s" | sed -E 's/\w*(\w)\1\w*/X/g' @@ -1349,7 +1363,7 @@ Cat cOnCaT scatter -# for small enough string, you can also use character class +# for small enough string, you can also use character classes $ printf 'Cat\ncOnCaT\nscatter\ncot\n' | awk '{gsub(/[cC][aA][tT]/, "(&)")} 1' (Cat) cOn(CaT) @@ -1368,7 +1382,7 @@ scatter ## Dynamic regexp -As seen earlier, string literals can be used instead of a regexp to specify the pattern to be matched. Which implies that you can use any expression or a variable as well. This is helpful if you need to compute the regexp based on some conditions or if you are getting the pattern externally, such as user input passed via the `-v` option from a `bash` variable. +As seen earlier, string literals can be used instead of a regexp to specify the pattern to be matched. Which implies that you can use any expression or a variable as well. This is helpful if you need to compute the regexp based on some conditions or if you are getting the pattern externally, such as user input passed via the `-v` option from a shell variable. ```bash $ r='cat.*dog|dog.*cat' @@ -1397,7 +1411,7 @@ $ echo 'f*(a^b) - 3*(a^b)' | awk -v s='(a^b)' '{gsub(/[{[(^$*?+.|\\]/, "\\\\&", s); gsub(s, "c")} 1' f*c - 3*c -# match given input string literally, but only at the end of string +# match the input string literally, but only at the end of string $ echo 'f*(a^b) - 3*(a^b)' | awk -v s='(a^b)' '{gsub(/[{[(^$*?+.|\\]/, "\\\\&", s); gsub(s "$", "c")} 1' f*(a^b) - 3*c @@ -1500,7 +1514,7 @@ eqn2 = pressure*3+8-14256 * `*` is same as * `+` is same as -**10)** True or False? `(a*|b*)` is same as `(a|b)*` +**10)** `(a*|b*)` is same as `(a|b)*` — True or False? **11)** For the input file `patterns.txt`, construct two different regexps to get the outputs as shown below. Display only the modified lines. @@ -1557,7 +1571,7 @@ $ echo '_;3%,.,=-=,:' | awk ##### add your solution here _;3%,.,42,: ``` -**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar` and replace the last but second `ar` with `X`. +**15)** For the input file `patterns.txt`, filter lines containing three or more occurrences of `ar`. For such lines, replace the third from last occurrence of `ar` with `X`. ```bash $ awk ##### add your solution here @@ -1661,7 +1675,7 @@ eqn2 = pressure*3+42/5-[14256] # Field separators -Now that you are familiar with basic `awk` syntax and regular expressions, this chapter will dive deep into field processing. You'll learn how to set input and output field separators, how to use regexps for defining fields and how to work with fixed length fields. +Now that you are familiar with basic `awk` syntax and regular expressions, this chapter will dive deep into field processing. You'll learn how to set input and output field separators, how to use regexps for defining fields and how to work with fixed length fields. >![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. @@ -1776,7 +1790,7 @@ $ printf '\nhello\napple,banana\n' | awk -F, '{print NF}' 2 ``` -You can also directly set the special `FS` variable to change the input field separator. This can be done from the command line using `-v` option or within the code blocks. +You can also directly set the special `FS` variable to change the input field separator. This can be done from the command line using the `-v` option or within the code blocks. ```bash $ echo 'goal:amazing:whistle:kwality' | awk -v FS=: '{print $2}' @@ -1810,7 +1824,7 @@ $ echo 'Sample123string42with777numbers' | awk -F'[a-zA-Z]+' '{print $2}' 123 # note the use of \\W to indicate \W -$ echo 'load;err_msg--\ant,r2..not' | awk -F'\\W+' '{print $3}' +$ printf '%s\n' 'load;err_msg--\ant,r2..not' | awk -F'\\W+' '{print $3}' ant # same as: awk -F'\\.' '{print $2}' @@ -1824,7 +1838,7 @@ $ printf 'cool\nnice car\n' | awk -F'[aeiou]' '{print NF-1}' 3 ``` ->![warning](images/warning.svg) The default value of `FS` is a single space character. So, if you set the input field separator to a single space, then it will be the same as if you are using the default split discussed in the previous section. If you want to override this behavior, you can use space inside a character class. +>![warning](images/warning.svg) The default value of `FS` is a single space character. So, if you set the input field separator to a single space, then it will be the same as if you are using the default split discussed in the previous section. If you want to override this behavior, put the space inside a character class. > > ```bash > # same as: awk '{print NF}' @@ -1920,7 +1934,6 @@ Changing the value of `NF` will rebuild `$0` as well. Here are some examples: # reducing fields $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=, '{NF=2} 1' goal,amazing - # increasing fields $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{$(NF+1)="sea"} 1' goal:amazing:whistle:kwality:sea @@ -1931,11 +1944,11 @@ goal:amazing:whistle:kwality::::go ``` >![warning](images/warning.svg) Assigning `NF` to `0` will delete all the fields. However, a negative value will result in an error. - -```bash -$ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{NF=-1} 1' -awk: cmd. line:1: (FILENAME=- FNR=1) fatal: NF set to negative value -``` +> +> ```bash +> $ echo 'goal:amazing:whistle:kwality' | awk -F: -v OFS=: '{NF=-1} 1' +> awk: cmd. line:1: (FILENAME=- FNR=1) fatal: NF set to negative value +> ``` ## FPAT @@ -1958,7 +1971,21 @@ $ echo "$s" | awk -v FPAT='"[^"]+"' '{print $1}' "apple" ``` -`FPAT` is often used for CSV input where fields can contain embedded delimiter characters. For example, a field content `"fox,42"` when `,` is the delimiter. +If `IGNORECASE` is set, it will affect field matching as well. Unlike `FS`, there is no different behavior for a single character pattern. + +```bash +# count the number of character 'e' +$ echo 'Read Eat Sleep' | awk -v FPAT='e' '{print NF}' +3 +$ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='e' '{print NF}' +4 +$ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='[e]' '{print NF}' +4 +``` + +## CSV processing with FPAT + +`FPAT` can be effective to process CSV (Comma Separated Values) input even when the fields contain embedded delimiter characters. First, consider the issue shown below: ```bash $ s='eagle,"fox,42",bee,frog' @@ -1968,7 +1995,7 @@ $ echo "$s" | awk -F, '{print $2}' "fox ``` -For such simpler CSV input, `FPAT` helps to define fields as starting and ending with double quotes or containing non-comma characters. +For such cases, `FPAT` helps to define fields as starting and ending with double quotes or containing non-comma characters. ```bash # * is used instead of + to allow empty fields @@ -1976,22 +2003,49 @@ $ echo "$s" | awk -v FPAT='"[^"]*"|[^,]*' '{print $2}' "fox,42" ``` ->![warning](images/warning.svg) The above will not work for all kinds of CSV files, for example if fields contain escaped double quotes, newline characters, etc. See [stackoverflow: What's the most robust way to efficiently parse CSV using awk?](https://stackoverflow.com/q/45420535/4082052) and [csvquote](https://github.com/dbro/csvquote) for such cases. You could also use other programming languages such as Perl, Python, Ruby, etc which come with standard CSV parsing libraries or have easy access to third party solutions. There are also specialized command line tools such as [xsv](https://github.com/BurntSushi/xsv). +## CSV processing with `--csv` ->![info](images/info.svg) A proper CSV support is planned for a future version. You can also check out [frawk](https://github.com/ezrosent/frawk), which is mostly similar to the `awk` command but also supports CSV parsing. [goawk](https://github.com/benhoyt/goawk) is another implementation with CSV support. +The solution presented in the last section will not work for all kinds of CSV files — for example, if the fields contain escaped double quotes, newline characters, etc. -If `IGNORECASE` is set, it will affect field matching as well. Unlike `FS`, there is no different behavior for a single character pattern. +```bash +$ s='"toy,eagle\"s","fox,42",bee,frog' + +# the FPAT solution won't work if there are escaped quotes +$ printf '%b' "$s" | awk -v FPAT='"[^"]*"|[^,]*' '{print $2}' +s" +``` + +`GNU awk` now has a native support for handing CSV files, which is activated with the `--csv` (or `-k`) option. You cannot customize the field separator with this feature. Also, the quotes around a field will not be retained. See [gawk manual: Working With Comma Separated Value Files](https://www.gnu.org/software/gawk/manual/gawk.html#Working-With-Comma-Separated-Value-Files) for more details. ```bash -# count number of 'e' in the input string -$ echo 'Read Eat Sleep' | awk -v FPAT='e' '{print NF}' +# --csv or -k can be used instead +# however, you cannot customize the field separator +$ printf '%b' "$s" | awk -k '{print $2}' +fox,42 +# and quotes around a field will be lost +$ printf '%b' "$s" | awk -k -v OFS=: '{$1=$1} 1' +toy,eagle\"s:fox,42:bee:frog +``` + +Here's an example with embedded newline characters: + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice +$ awk -k 'NR==1{print $2}' newline.csv +1 +2 3 -$ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='e' '{print NF}' -4 -$ echo 'Read Eat Sleep' | awk -v IGNORECASE=1 -v FPAT='[e]' '{print NF}' -4 ``` +See [stackoverflow: What's the most robust way to efficiently parse CSV using awk?](https://stackoverflow.com/q/45420535/4082052) and [csvquote](https://github.com/dbro/csvquote) for alternate solutions. You could also use other programming languages such as Perl, Python, Ruby, etc which come with standard CSV parsing libraries or have easy access to third party solutions. There are also specialized command line tools such as [xsv](https://github.com/BurntSushi/xsv). + +You can also check out [frawk](https://github.com/ezrosent/frawk), which is mostly similar to the `awk` command but also supports CSV parsing. [goawk](https://github.com/benhoyt/goawk) is another implementation with CSV support. + ## FIELDWIDTHS `FIELDWIDTHS` is another feature where you get to define field contents. As indicated by the name, you have to specify the number of characters for each field. This method is useful to process fixed width data. @@ -2213,6 +2267,36 @@ pink blue white yellow car,mat,ball,basket ``` +**14)** The `newline.csv` file has fields with embedded newline characters. Display only the first and last fields as shown below. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk ##### add your solution here +apple,good +fig,nice +``` + +**15)** The `newline.csv` file has fields with embedded newline characters, but no fields with escaped double quotes. Change the embedded newline characters to `:` without removing the double quotes around such fields. + +```bash +$ cat newline.csv +apple,"1 +2 +3",good +fig,guava,"32 +54",nice + +$ awk ##### add your solution here +apple,"1:2:3",good +fig,guava,"32:54",nice +``` + # Record separators So far, you've seen examples where `awk` automatically splits input line by line based on the newline character. Just like you can control how those lines are further split into fields using `FS` and other features, `awk` provides a way to control what constitutes a line in the first place. In `awk` parlance, the term **record** is used to describe the contents that gets placed in the `$0` variable. And similar to `OFS`, you can control the string that gets added at the end for the `print` function. This chapter will also discuss how you can use special variables that have information related to record (line) numbers. @@ -2316,7 +2400,7 @@ $ seq 6 | awk '{ORS = NR%3 ? "-" : "\n"} 1' > > ```bash > # here last line of the input doesn't end with a newline character -> # but gets added via ORS when 'print' is used +> # but gets added via ORS when $0 is printed > $ printf '1\n2' | awk '1; END{print 3}' > 1 > 2 @@ -2344,7 +2428,7 @@ First record will be empty if `RS` matches from the start of input file. However ```bash # first record is empty and the last record is a newline character -# change 'echo' command to 'printf' and see what changes +# change the 'echo' command to 'printf' and see what changes $ echo '123string42with777' | awk -v RS='[0-9]+' '{print NR ") [" $0 "]"}' 1) [] 2) [string] @@ -2958,7 +3042,7 @@ hi\nbye Here's another example when a regexp is passed to an `awk` command. ```bash -# when passed via -v option +# when passed via the -v option $ r='\Bpar\B' $ awk -v rgx="$r" '$0 ~ rgx' anchors.txt awk: warning: escape sequence '\B' treated as plain 'B' @@ -2976,9 +3060,7 @@ two spare computers ## Summary -This short chapter revisited the `-v` command line option and introduced the `ENVIRON` special array. These are particularly useful when the `awk` command is part of a shell script. Arrays will be discussed in more detail in the later chapters. - -The next chapter will cover control structures. +This short chapter revisited the `-v` command line option and introduced the `ENVIRON` special array. These are particularly useful when the `awk` command is part of a shell script. Arrays will be discussed in more detail later. The next chapter will cover control structures. ## Exercises @@ -3039,7 +3121,7 @@ $ seq 6 | awk '{ORS = NR%3 ? "-" : RS} 1' 1-2-3 4-5-6 -# note that parentheses is necessary for print in this case +# note that parentheses are necessary for print in this case $ awk '/^b/{print; print($NF>0 ? "------" : "======")}' table.txt brown bread mat hair 42 ------ @@ -3049,7 +3131,7 @@ blue cake mug shirt -7 >![info](images/info.svg) See also [stackoverflow: finding min and max value of a column](https://stackoverflow.com/a/29784278) and [gawk manual: switch](https://www.gnu.org/software/gawk/manual/gawk.html#Switch-Statement). -## loops +## Loops `for` loops are handy when you are working with arrays. Also for processing input fields, since `$N` syntax allows passing an expression instead of just fixed values. @@ -3117,7 +3199,7 @@ ate ## next -`next` is similar to the `continue` statement but it acts on the default loop that goes through the input records. It doesn't affect `BEGIN` or `END` blocks as they are outside the record looping. When `next` is executed, rest of the statements will be skipped and next input record will be fetched for processing. +`next` is similar to the `continue` statement but it acts on the default loop that goes through the input records. It doesn't affect the `BEGIN` or `END` blocks as they are outside the record looping. When `next` is executed, rest of the statements will be skipped and the next input record will be fetched for processing. ```bash $ awk '/\![info](images/info.svg) The [exercises](https://github.com/learnbyexample/learn_gnuawk/tree/master/exercises) directory has all the files used in this section. -**1)** The input file `nums.txt` contains a single column of numbers. Change positive numbers to negative and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. +**1)** The input file `nums.txt` contains a single column of numbers. If the number starts with a `-` sign, remove it and vice versa. Solution should use the `sub` function and shouldn't explicitly use the `if-else` control structure or the ternary operator. ```bash $ cat nums.txt @@ -3182,6 +3264,8 @@ $ cat nums.txt 10101 -3.14 -75 +2.3e4 +0 $ awk ##### add your solution here -42 @@ -3189,6 +3273,8 @@ $ awk ##### add your solution here -10101 3.14 75 +-2.3e4 +-0 ``` **2)** For the input file `table.txt`, change the field separator from space to the `,` character. Also, any field not containing digit characters should be surrounded by double quotes. @@ -3433,7 +3519,7 @@ The `substr` function helps to extract a specified number of characters from an * Second argument is the starting position * Third argument is the number of characters to extract -The index starts from `1`. If the third argument is not specified, by default all characters until the end of the string is extracted. If the second argument is greater than the length of the string or if the third argument is less than or equal to `0`, then an empty string is returned. The second argument will be converted `1` if a number less than one is specified. +The index starts from `1`. If the third argument is not specified, by default all characters until the end of the string is extracted. If the second argument is greater than the length of the string or if the third argument is less than or equal to `0`, then an empty string is returned. The second argument will be converted to `1` if a number less than one is specified. ```bash @@ -3542,10 +3628,10 @@ i*(t+9-g)/8,4-a+b Recall that the `-v` option gets parsed by `awk`'s string processing rules. So, if you need to pass a literal string without falling in backslash hell, use `ENVIRON` instead. ```bash -$ echo 'a\b\c\d' | awk -v s='a\b' 'index($0, s)' -$ echo 'a\b\c\d' | awk -v s='a\\b' 'index($0, s)' +$ printf '%s\n' 'a\b\c\d' | awk -v s='a\b' 'index($0, s)' +$ printf '%s\n' 'a\b\c\d' | awk -v s='a\\b' 'index($0, s)' a\b\c\d -$ echo 'a\b\c\d' | s='a\b' awk 'index($0, ENVIRON["s"])' +$ printf '%s\n' 'a\b\c\d' | s='a\b' awk 'index($0, ENVIRON["s"])' a\b\c\d ``` @@ -3787,7 +3873,7 @@ Blue,67,46,99 **2)** For the input file `nums3.txt`, calculate the square root of numbers and display the results in two different formats as shown below. First, with four digits after the fractional point and then in the scientific notation, again with four digits after the fractional point. Assume that the input has only a single column of positive numbers. ```bash -$ cat nums3.txt +$ cat nums3.txt 3.14 4201 777 @@ -3843,9 +3929,9 @@ $ echo '3*f + (a^b) - 45' | ##### add your solution here $ s='\&/' # should be no output for this input -$ echo 'f\&z\&2.14' | ##### add your solution here +$ printf '%s\n' 'f\&z\&2.14' | ##### add your solution here # but this one has a match -$ echo 'f\&z\&/2.14' | ##### add your solution here +$ printf '%s\n' 'f\&z\&/2.14' | ##### add your solution here \&/2.14 ``` @@ -4019,7 +4105,7 @@ greeting.txt Similar to manipulating `NF` and modifying `$N` field contents, you can change the values of `ARGC` and `ARGV` to control how the arguments should be processed. -However, not all arguments are necessarily filenames. `awk` allows assigning variable values without `-v` option if it is done in the place where you usually provide file arguments. For example: +However, not all arguments are necessarily filenames. `awk` allows assigning variable values without the `-v` option if it is done in the place where you usually provide file arguments. For example: ```bash $ awk 'BEGIN{for(i=0; i2 && /toy|flower/{print p2} {p2=p1; p1=$0}' context.txt blue sand stone -# else, use an array to save previous records +# else, use an array to save the previous records $ awk -v n=4 'NR>n && /age/{print a[NR-n]} {a[NR]=$0}' context.txt light blue english @@ -4542,7 +4628,7 @@ No doubt you like it too ``` -**4)** For the input file `broken.txt`, print all lines between the markers `top` and `bottom`. The first `awk` command shown below doesn't work because it is matching till the end of file as the second marker isn't found. Assume that the input file cannot have two `top` markers without a `bottom` marker appearing in between and vice-versa. +**4)** The input file `broken.txt` starts with a line containing `top` followed by some content before a line containing `bottom` is found. Blocks of lines bounded by these two markers repeats except for the last block as it is missing the `bottom` marker. The first `awk` command shown below doesn't work because it is matching till the end of file due to the missing marker. Correct this command to get the expected output shown below. ```bash $ cat broken.txt @@ -4607,7 +4693,7 @@ car,mat,ball,basket ```bash $ awk ##### add your solution here ruby.md > out.md -$ diff -sq out.md expected.md +$ diff -sq out.md expected.md Files out.md and expected.md are identical ``` @@ -4657,7 +4743,7 @@ Yui,maths,92 # Two file processing -This chapter focuses on solving problems which depend upon the contents of two or more files. These are usually based on comparing records and fields. Sometimes, record number plays a role too. You'll also learn about the `getline` built-in function. +This chapter focuses on solving problems which depend upon the contents of two or more files. These are usually based on comparing records and fields. Sometimes, the record number plays a role too. You'll also learn about the `getline` built-in function. >![info](images/info.svg) The [example_files](https://github.com/learnbyexample/learn_gnuawk/tree/master/example_files) directory has all the files used in the examples. @@ -4995,7 +5081,7 @@ $ awk '{print +a[$0] "\t" $0; a[$0]++}' purchases.txt 0 soap 2 tea -# only those entries with zero in first column will be retained +# only those entries with zero in the first column will be retained $ awk '!a[$0]++' purchases.txt coffee tea @@ -5062,7 +5148,7 @@ light red,purse,rose,333 Next, printing only the last copy of duplicates. Since the count isn't known, the `tac` command comes in handy again. ```bash -# reverse the input line-wise, retain first copy and then reverse again +# reverse the input line-wise, retain the first copy and then reverse again $ tac duplicates.txt | awk -F, '!seen[$NF]++' | tac brown,toy,bread,42 dark red,sky,rose,555 @@ -5155,12 +5241,12 @@ tru eblue ```bash $ awk ##### add your solution here -$ cat uniq.txt +$ cat uniq.txt true blue hehe bebe tru eblue -$ cat dupl.txt +$ cat dupl.txt hehe haha door floor haha hehe @@ -5423,14 +5509,14 @@ hi: log_42: 12b: ## Relying on the default initial value -Uninitialized variables are useful, but sometimes they don't translate well if you are converting a command from single file input to multiple files. You have to workout which ones would need a reset at the beginning of each file being processed. +Uninitialized variables are useful, but sometimes they don't translate well if you are converting a command from a single file input to multiple files. You have to workout which ones would need a reset at the beginning of each file being processed. ```bash -# step 1: works for single file +# step 1: works for a single file $ awk '{sum += $NF} END{print sum}' table.txt 38.14 -# step 2: prepare code to work for multiple file +# step 2: prepare code to work for multiple files $ awk '{sum += $NF} ENDFILE{print FILENAME ":" sum}' table.txt table.txt:38.14 @@ -5573,10 +5659,10 @@ Changing the locale to ASCII (assuming that the default is not ASCII) can give a # speed benefit will vary depending on computing resources, input, etc # words.txt contains dictionary words, one word per line $ time awk '/^([a-d][r-z]){3}$/' words.txt > f1 -real 0m0.029s +real 0m0.027s $ time LC_ALL=C awk '/^([a-d][r-z]){3}$/' words.txt > f2 -real 0m0.017s +real 0m0.015s $ time mawk '/^[a-d][r-z][a-d][r-z][a-d][r-z]$/' words.txt > f3 real 0m0.009s @@ -5596,15 +5682,15 @@ Here's another example. # count words containing exactly 3 lowercase 'a' characters $ time awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt 1019 -real 0m0.032s +real 0m0.030s $ time LC_ALL=C awk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt 1019 -real 0m0.021s +real 0m0.020s $ time mawk -F'a' 'NF==4{cnt++} END{print +cnt}' words.txt 1019 -real 0m0.014s +real 0m0.013s ``` >![info](images/info.svg) See also [frawk](https://github.com/ezrosent/frawk), an efficient awk-like language implemented in Rust. And [huniq](https://github.com/koraa/huniq), a faster alternative for removing line based duplicates. @@ -5628,6 +5714,7 @@ real 0m0.014s * [My ebooks on CLI text processing tools](https://learnbyexample.github.io/books/) * Related tools * [GNU datamash](https://www.gnu.org/software/datamash/) + * See [my blog post](https://learnbyexample.github.io/cli-computation-gnu-datamash/) for basic examples * [bioawk](https://github.com/lh3/bioawk) * [frawk](https://github.com/ezrosent/frawk) — an efficient awk-like language, implemented in Rust * [goawk](https://github.com/benhoyt/goawk) — POSIX-compliant awk interpreter written in Go, with CSV support @@ -5640,7 +5727,7 @@ real 0m0.014s * [awk REPL](https://awk.js.org/) — live editor (browser app) * ASCII reference and locale usage * [ASCII code table](https://ascii.cl/) - * [wiki.archlinux: locale](https://wiki.archlinux.org/title/locale) + * [wiki.archlinux: locale](https://wiki.archlinux.org/title/Locale) * [shellhacks: Define Locale and Language Settings](https://www.shellhacks.com/linux-define-locale-language-settings/) * Examples for some of the topics not covered in this book * [unix.stackexchange: rand/srand](https://unix.stackexchange.com/q/372816/109046) diff --git a/images/awk_exercises.png b/images/awk_exercises.png index 09de589ac945acf7ab5e36299c7cba3b6d9f094f..a13d22d7ae3d8ef8984cbb958694da48f5890b7b 100644 GIT binary patch literal 26735 zcmbrkby!qi`!76nNl1eTNXO9Kg3=8FL(fRJAl=Bg3=+0-~ec-ypxsxpt1m;M)I5~ zVq?3yyqKSzn(zl)US2M5?oCfm2L=Yt%*^-)1^>C)oSU2T_V${eou;9ov9q;aSy^6y z&x8br(9qDIUtUrY0H|J4>l+wfUY^m>&|F?@UtJy}%X-n!vN6-r)@6ip3kXe5j}{s+ z&OuOU=){AABQDQZgZj^|&c@QJ2QPnrKfJiqN?%Zk|DmO=6&w;D@s{pQ#PGx!!jjFk zv&)6eJw|5W2cB1;+%>z}lj-RnQ`6Hlta_h9gSpt4)EQ_lPiJU>w!zW)e6%!@bTsF) z$)#PBUs@)Q8=UE7BVHMN36F?e-dLWQ>dB1?sa-s%vu6)Uuk|XON!Mm5PYBjGG9NAq zN>59DCE?9uUp4!qxrCjwVPvLPieqYXf4k85a;pr?M!UDO716XoLodrCu3W?+*B|_P zVfxGXC)LybpxWchAN@6@+ZP?{N7S!)OSlDRAv{A<)5|}{?Q=#ik9*8aOe_*xyMJFU z^?j}g0Y`uBY%lsWF+Dvzbo$OLScaE*y1l5)lWr)XO5)>M{pnv(&@ z*tyhRgjFLc*-*@+c%yjYz^(PyJGa8+&+7g4*$Qd^Uy+xQntavVKoPI@p{mrSz4Q3^ zczAvE4_6fJ56J`T`<5EgQRW8k8375IMYOa4xwkU#wwa-Up6%&c`rNnl0br;ul)~IRDd-EI}{_1I} zh#K9k^ahlKTcfDN_4)x^Ab`1G4}7mK3tQhpU$BqmyY7ag+4AnjxL&UG*#!6Z^)`UI z&#rfW{s>!r;t>USxVX;6lBBu;N>rnHCGBc704_$V^%g$i9-edgLKE|A@Wta_>p$k^ zXHZa37WSKd=GasPsP7*2fgNn93<$!}sBVTKWVp)pZPP)L276T4lhGvhuRd|kOHo*#1<+hWT_fue8 z){Pd}&o^eNXt(%n5mH$w&i@D46nOGCzwdcO#!B=F70^ADc)g z2^Dy2eqc*hQH-po4Pj;d)((A}Hf$l7gnrh=BAav?#rK zvFK|%-J?!0tRNj$6J5^1&=MvlXoSV<7zq@2#)TD9chP%7wHF`jcepc=(4)_cQLaogR7=Tyb zF!_n93e&5<*B4_dFRWMzS&>|m_*lqBuH*tBVNPK>hvfT?A5z(!>PVMVm~CG&X|G6P zl=-{{V(gJs{^|A1$)wA+7N zS6?)n`HDfRkV|z+i{JdaE-2-Jcd*?z55A=GTJ8^vab?F~n1xEqJbz82^Vc?Z!(Ckd zWd1~lrb5QY8|;CG<(QmQD$++XO6r8!Ktc5L3RrStbs0m>U3t8Wg5-S;<%_8BXKyyb z3`*|?cg8pZXiM^bM-QbJgDaFnu`B8d&fgdqW~f&1wFXhlMXl6nJFn23kfjn(CkUW? zdL}~%zc2$iSCu6BMu&H&-g+@yUJCzXBuPVJW6aaXg4~PTYBa2oi%qjBXvd-=P^56R z6I)(g(Q4vUDWKI9WItG;{~|$v!hx#a@{I7ncE2Qa7;+7wX3l#geB|Dtmb(vs)g4<_ z_{Uw_cyiW%${Eh11B&QBdLzIy?3`4l%@Wq>?4qcrUc>%y>JP!qVdfX7W$%a4LN&s+ z2@jyO5XOd2+eKe@i>BASyzDb_h2W`?SGdYa=w`&jxOZLBE7nkd?gFO|$yE@iYVRC6 z8}2viLY4Nek0EZyp`FWJlQ*edu?zveKzyr$sp{XIQ0w=gU#E zCnY5%aPI`cx|427J=-;Y=!xG;Yg_Od_UJJ)vlE|c+Mk#FG45a1bfS$>*7f!v*jRv? z%evUtcywF8d#wxDVFeZ~@R5cN#O@$X^Eld8MqzbHrvJnvH34DQmT+KV;*4rUY~zJ9 z6+GefzXpMW*rBx}44o5%!4$DYTPv~vlVI3~Z6pBcCq$C~=tc$rFmV6`aoy1|06?Iu zG*u`XAn@Om*B}G}f&}RNNT%E0sph62G9@XI@4rvOkX);J-)z+OTOSF)r4O=$E*uD` z9=>VOpX0YEU%+cl`cqD^X+0X8UH7g)V;l}PmKq?!Y{CTqxJ*DcpB~o!h}nD(u$F^( zZSu|*z~=EHvR2U%H4VjDVRzV&&(k3Lah!#;#}j0svNSD4GWdQC&w zjrf*aY#c$f9_gC)5l#y95jny z7{IeHw9iT3-|jq1z^v1<{9cC9&#vMfTMur_{Qq4pbm55bCz(HgH< zp?t@9#t27|vSRmnF*p2_h9pN4{2ajqS(P+i#~;`5s{!}jR}xZU?ZJ+4lUgDxw{LX@ zp(^dAvu6Qo|R11qi-2*>~~#HqR!msrYrA~g+P^Ghr<4aMjj z;y*@MbuvR&$22*lNwgW4+J?PinMsIvS&3Z*4&8iWyHb+lY~*73K@sA)AJGqOCMaG= z%;#Bm^%GW;ctH6tE#iGT{goJvaZXj9KPL-A=r39Nn8(DDUh00b#H9nNe%g)A&GP(^ zItzBVTozHEpaIYdL8_%`l;c>Syi1HaZx?#Y)(x}z94c8q{xG4X>DlN`Iv^~^-aBrd zC=&+7rYCIs+SbfOt_&&uZdQmTzH|O%Y^dIn5+N2AaypAfR6+j^>GF$fF(yy=i5X1r zup)bH`ixuVPPvTOB2Cto%hYrjl2mb1ZEjwNlwUq{zb3zDANW{b4z|+OdcWkz? z`k}J8keMp8HYrkircsz>iGWFlur9Z=eI`QV1y0QM?Az1dBo=Yn%^g#Y1%Ay|nKEIF z{lER@+1?cHD<#gLAYbjT%*jhW$3G?_J?TLPm`jA~2vqZ>PVpM2!Dvw-Hf2_hHHmDT zKqnc8w(Z>jYCGTavSbWTV+Of#AhZ#i$vZxc-(ms;iQ@6U+>6TG9f8YJu+d2ftvd6FD(QV@5B1Wbp`Cg+!jBU1W})zIb64g zuO|(00Z$Qcm{Tb=fYuZuJF{3?k8a;Pll8*ajtJr^=|Hx!s`-uZVUkNgKM)SVdt}kb zhSM^%D)uEpR+t2ql$h1*z=^e(F=HCsBKTNVVk_jSLj6M0Kg&OHDBppSAdKFn44I-S3*2h*steRiLEf2Gbst{r2C7AVUFV?SR(qfPC!cwYfCPRG`?wL3y#CP(aEKSO6Ehtt9TwRAXFg$4q$*B7jqc>X56lCg;G|B&V#kYJ|qUIzpW0&$M;jehHIJHQv&O zZVQCh@mdm)t|_i}8)F_eX?0|;KJzMWt}i+#hEMM8HO7!O!3soNh~WKMC)WIwBiSwc zBso}=a?#H8Y*2!x>k-3I(d!*ugbQ48!`lx9aOfUuW*)5cw!s%4B7q_3JKiqcAtE@i zq9iI{68nn8ihy)e>|0Ji2NWAe9qUaQEVLtn<9;^_v)h}K>LJBaws|K$ZKqu1F6YmU zlE;0>gbWdBb7*YUcX$7EpRmjAH$grG@bhml$NNvYIrXn`C zItgW4+g4z%l$ADB-Pw?*97}aEu|1lMSR)60?M#J0PC z(eOa>)y%<$96P2gB6FYFMAMi6r&4|t(SoHn2Kx#&(O>5Xb(7uhEg6=P`QQD_{eIcK zBJUbuD3coaDL#}=b@XEFX+fl8o+VB!u0z;r7p@80z*sgiAuEbSRCX7Ff-+RLZFObBFE!8c+X2ke;dIZjKL5~0(_>(7E_Xp097h=r zsWiyuCR8XLQ=YvY`}OO1^tkebbH2?yz!Zz-W3AY|m8InU{huqLGzyvuiV?gQR_v?N+*&>|;E$QuYta)-qdCd^mfB1GLzClPC&Pq? zL-U5Vse~*@M}aJ?KF(0Oax*xn^hriRd1aO{t+$h`%q+IhcpVLT^U_+T0=cVU|`c-t#OW0*QT-^fOrynhHJc=nF$8`Daefj?pM~y{JUnG+dFL zynjZU0t-p1$JINhu6e)?#zm9rWMGLerq72X>GhxHBNG!Sz$m1jepB-`sMx0&zB>K{ zug)9mexE~?hm7NBijRcnichPAYs=Qu#+IK5a!DU|gX5+K&c2K>#yfYEoKf+X(^OCf zK=bhxSY4W;F3v?)oH~)SN0D${(2G>0cm@KuhuK?{F@-aRC`l=Bt-CnQ7JzF!X5lU2 zs`xW3ZwCgVR(h8raCfzOp_w?s2G0*4tRbhT9I@u2dhfzvxXt`Y@s%ZO7_6}NxW1{a z`-*DNuP-L`m&9NWm7V8qgkidar-WO|^X7VF$Q6K>FD7Mh2L!d&0R?rvEqB&@ZGP{E zf<*S_zpHHlQhz&I1YSTU9vjzh-vr7oQi)?OYt_N0+fj6fT^>tm(wD30F)RtB@qLvm zi&?9_-19dUtkV#$*VF$(-loEUe{i&A>WPzX&%qvzeKyjNNx_%p+&~AvWzVCdbQ@SZ6GCuyWUj!i(a{7cPs!ag=%HKL1uS_pF7CR3b$+Dh(eQgLRU zDk8}r&m$%EB*S$?AW)1chqy=g<8)3-w0=nV8$l3lh*hX=>4{?Is|e-nt}i}85;KcB z0$+Z#s2{)Z`xdJOh+-@W(;OY0KM~Xq&ws3^x?eEJ z65xue`|1_+)6RV? zIy#gc8TRcv%E+^3B0Mi-c09kI$iT7qPNjvigjfAKNFraMRbdSb?AYz_hIh%fQ#o6N zqKH$BNT?__VFZV5|0LvPXXi69L$CZAlIhl72lF%ti3nqiGsjQ+5ZMw+l&Wm)6D7-? z`W-a9C~S(1lgp5)M9ja2)9pY*5PXcnDebXGyGK9-dd>FXfef$teB1zj$Oj&qn@^h` zeS^1e#49FeN?0TGangRZ4&6u0yuz8iA_#>|gb`(geUB50nPjN{q5g-5M0g*Od`{=V zo=bO3ta;;?76|`7r}Q-*4(JU(4c$9ODNN1c&ft3$u^n^rV=mhA2G;h)2nVN+_C(#)KC0VcUK-6id=*G2iM^|u-s&_p@}Ak|16#zpO=#LS69|8r zWQYI?gaBQ(NI{t>vYBIOYOiSH!ZR)9YD6eN)Hb+5qZi33E41}=Gq>a2NvS(q)v&F^ z(J9IcVO2XY=O8#_yHCLe_v-fTXYCj9bTDkMFRvdl3@KkbFr>0!+cfEJuy74^RZW08 zHIcxRC83n>NU))knfwdv8_Jw>&tXY+so#G9kJ+_)*C$lw4u0$^>JLA;j{WI5 zwC+Y91{mZSv740_>0l(j?c=LbIUix^YjZCMun%Z!fCW_CKLf=aIX71|y5E|fR^DKM z7*$`ibvhqOep=^vug-;B@fLrQ1SF{e&><~9%W};;;{@kUxS4h87EBUuMPz5F9<>VHwYmMfq4b{H|Bq^BOw2s z8v*&hV4j(>Ss=tYx$&?GrG@>~hm3>J3`QvUYZu~X`vtiEm$i7ar&Ysy!LcqO@ zq+HEF-RZp5yOPIOsZR&iF);UX4Ee~{*Kqi}9Sf#Z4Qmx-qX40;)jsjTlzuJABBky& z5eMYTk#U-~Qw7z(*BSg^Y2eNh3ap9W{m!d%=}_o7SOQqGseg z47r(euZ?VESR}`6ZFmF09nv`m=@!+Lx&%uK0_s4!L=iNm= zX}$}$&q#-hCvh{TE920*#SSA;!Z<3)pDw+6_q1wu*)iW~L>40=sD)(byM$3q_0_-0 zisr`pn8;rf#L=pkwOTdUFC0e=ne&U@7Ckp#{1ajBdM3&o3-YEX_;c{-^Uxl1p7LW? zEwkn~4+SxzNssv}{6bSDHykvp@`Tb~X8d=95d!IZfzE(KgUWV|Ws7h*p zlOm{oBHgDJp^OwdZHqZ|pj%}{P0+}G?;swl~^w{&$Q@rY6%F=iB??tNnb=ma>&q4J*ch=RxfN@wE`h>>v zf|6X%F~s9Js6ss~MMGPIM_iHjC0;Ie^m$(SMpZQk%Hf*wAn_o0bP+GeW~)K*HGE_E zvqSVEu`c?YNbBe#N*ZFCa7mZ^x2!vy^bUKlLkk(eQ3FI17Ta^xAW?CJgZE1nMf3{V zY)={b;*i*dtgm5y&otlfQy{@FBR2Ldydm#hl49SVS)HAe;c7gW2$IXga$7~&=oFDH z!>?$(2QMn`9S`MN0&EvgT_+=ZuQRf!+e%Dg5l-Lf7 zw2UtHImYAjd4j8f*W_r8t5Q_YuEZz2#+xQaL?$Gzk9TBGu2CwzTqY!Ty>4?(ZY4T) zud{#aq>KxWQKZBJbzv%I6&I~D=qce5HU=+FPU-c(x~latZ3(6yyoXw?WhAdGYu&~h zLxTIzf6$y=&LGPT1zZoS!Isze<-J#GnLN0jq@M%(dgumxs>=@A$^^0~R}w#$>7`XL zN?Ku?q9vn_yi}UI7HXRNwwN23v;ch0rN2&-K@r zNxP70Q}fU2yHSuyMTpRK?ZyCXFgaK9xFW9Pq7FUnX80FHUqPHpUfD)>-HLu|aAxe2 zJ&q9S>EIJWm_UQlgtCLiG5VC}L70fzWq?jh@!et(d(HpZWt#S+VP@}Xw({&&wPFt<2bwW z?Kf%!TddK0YWQ0hwQL<3TR8qrZP;rb}fmq7U(Q|H0@;^-h9o;I9M1t>Bwn0^9Gr@xi!XDvW@6;_q8B*ot1<- zax?N*61q3s#s!n*D=@g%grYa~;$u#TCrnZLRxs;XZOS=D?7qiNC7@k9tXlorUAxO@ z=A}jmRM*Z(Q40rC*rtxImY>sYsK6fdvxTISm3&jUEvZTC582UnAZW*0*2O-T8e&bX z*HnM%&C2|Wdtv>HN0}1J)`4C{oAH>cfZkUQ24BB?GRbV z_fcXtH~s?Fs+0MKC@(c1ye$rt+RMcZK1Ro9C%Z3b{uszk?Ik=?1YX?V!fB4cgb%+* zJ=8J7vz6>pQYiq-!hsoO6=oE;_DXxo?{o=)YtqA+sLDe<<&2hoKJG!(shTjLmHEh6 zS8^jK%XJ2jR!naudyzAiP9jSz8*hkKH$MAWSCaQ?b*Nyn9IQ@Ir2(8cF!4j!m<8CO zBLitJM(h&Bfi7t-QbDoI9yvZyF-&RiH2E=g2a{o#U6g9F7%XT1+?=?wmV_n>6gsm7 zK)8e$Rg|>5&5J+aAL_2`$v1)Jv5G^*Q|LDS_?K?FoASVQ1j_>g%74?pEJitFmh_(pIbNx zmbeya(Yl`O5J5w!UAbgnP(O!PwQ-G_J0Y?EYN-lY{3(#P;HMvCy0MGPuq1*r}`G?@=ofzW6x4{9f?u4EA8pHezdR zSxY0f^v5?WE=wvF#7HbqT07?Ba+Onz4opk_kk-{RHBI>}nB=?U!I#eqySh~(I#2G{ zM8JTkT=BYFjy=4hTZ_;`5(bbXXGE7q?H0;JPkGw}FX`4>bjC{Qb69`>Kvg6q31({E zhX0=SC7)#Q&k9&^9eT4g`>x4|A5&whnDG|Smza!G%#(+I`mNYh%9-SHHp_hwt&>VcTIK?ve>imLSlBM|>T&H^~FD8V*L1a2reM7p$&X9hs9&?Sy8K`A|~ zth_LBU}H%M^R!7vOUZ8BW>Fpg_DqjSZP`$pE3eK|kiiB|^@pq&C90Q$?1&|s_ctgP z->btV6BIu7IDfqH4GLytl6G%+`OB%?+w2D!@TWH#7O64j$`NYY3r)UEJGUabg+HB! zjLBNEwMrYM2arimKgX!7=y$TP3)Lc9zl2Dg7rvInKt|_x?%Ce)oT64uY2SDy<_P7( z;Dk~A~-nOpIsLJ3ZV(@r%0v`tKDOC$na|X>|wv1>ro^)C@j6Phb7|dO8eFm zHS5QcMl5);cXH*E&YL5iGZ?7AnMsK8omMN2Ro8*oOMAB~Q?B#wv{WV#PFl4EDYC$M z&J=N(S(<}hv9|AFh*8bFVQu#sSE19GO=`o=TO86;gflww*{rB6X?%R;8M*V#iV%2<4L!oyYpLN3uz~8kldfg*{ftVqv5VV* zCb(DP0WmVR<>|qS(AM zLlHn6^*Y?D-$owWuQ32_t>immu(TAZ3(f9qZ1d&N>~Dy$5iL~St)$%ZrpK= z$MC6Ox}p2YvNo*a7%Yp<9SPFuIOUSVcju=>S_r^dw;JlW5FHTweedaZl@yu7{+BMVznS+YZ3@5|j95_8Qx*cc7 zADT7cu)_>g<#y!zjqVP-GwM&@^mz?^VoIlu*xSh|1f{Yhp!P@e-y6G{?iC;Hq;42} z`%8EML|J%KuNj z{&C57-q>~Vz$KVl3-mj$WdIeZDmZY@_JJnA=e6x#F;eyO+8iKyDk~>*pimc`_td5K zEz(l`t13OxJ2gqK664=;Evqxh?M;HO9;5^>#!%wCQ+tVLRq%7CCCJpR-Y7#ND2IKY z!Y?wMS?8U63VuuChe=)DhV9wTV!-g zXgS~Uu@r+o9yMQY7#?Wc-O6FYRfwQ_LPzRqdB*3doq)GKlMSA)VGJkN zJ?Ag5n?ZD%o$MwRcpbuEX_#d?xQQ|SwEv_Q{`q`bkP75(3CV?E zKSZV~#{UmN(_ElhBmkK5uOa`%{ok$mzfk%=*$`(25JLa)4x#x!z58pr=LPCW>T3*? zf4lv60{(%(>n8s!PNmJP&5mcaSPR73%JK2_vy6IoBI;$IzPzyM08zZdfR0KExH3~H zt>*Z%REN&NM=e2WtfmsF`(I?THqwb}>;^vXP1S{6K7TuOre8(9ZAn{Yd6GQ+^+_?=6p#E?@6<|oc7MG=jZ?~DKQ{VBF9XVpiD84I1 zEwAJ$Bn?}KNVo)BEJ?wR1TdC2S?_wxmOpB^CIk)^2s9bRmu^Vq&K{ z=y?arg52gi_?k_9b}TG`_fHp_Zh5U+8KVb(^78UtB=?FbJyP@3c08D`@a;YgtS+?l zS3;e?JA=NuIXk^F0y;yC>^r}LgtL`o2#mIfyL~XzF=f8@wH@h(;|K|JJ`2(={;>Tk zh?w(NH`RyT?v$4Kga=s<%L@U%Bsmx1!?cwP{jqV{O?Dq^Q;UWNB7ht?s<7DSF`i9;)b*_R)E-6;VC1 zEuTi+8?M?^jp8*MhvvAfy zbY=>MjWLF@IV{MzoF^@sP zQ_x%HnN(?;zmrM9N%NEZ-;6wy0NNO37~7*o$h-VThVc6s2Jx$%e#nWmnrpbJ67;kb zfgpd*L2+uJVYw{Ffr~dawMcY8Z|^qtMM?3SKU~RDPuXeWUu5vZ7F@3@GtLU8vszHN z#MjuynRBxzv$)t8vpa@H=qLBSXu|5U-JfFJMekPkA@wu7;-qEtlfRTRCRE%oQ&(-d zrgqrJCDS1kh1nwSb=3;T_dZb`EWE@0?j~vWKj#(O6ZAfP_MERa{Ya(ktx~25tI|md zO9uINubJZZV0J8emljDF#Cnd-2}Pe9+o{r^SKC?s(Q;sEHLsOln=ZhWI3<6wb#_vP zqCUOw*c^XNu4~F=@z3>KrLg3&fz7Ci9bqZ$unxiZq3fJGNw>jI`UJ>%0C!*X4`yg9-~C97}h_` zTUFCrdx5BejHAUb;tXO}4ax+&3>xpPR#v}B&d_P=h@2bDmE3#hBz`bAG2VFvI82|! zNCP)jm25*q`mHnIC>84v3*FQugWGVq{e<7u+I`}sTs*wPFUct0wH8Xl@Uq^_>HIQT z_-YcvU741l7`73Sku)(`(G+WZ!wWFS@ZlTiyG(@*+FYqSmDHZNIiL1*e0iqUI7>(U zXm#D#C(Wlr)Mcw5qKs+e_u-ajCvsuDcGlx(_RZ}lM{2%-lUGN-{FUd$|Ctsve7n** z8$pg@J~m_^4L?n&#Nd(!M>Oyg5NTX($|7C zOTe>tCH2!Q*Gx_i8i&$nvSq-Tk8NRXE8@+1c)3xWPDA-zX1DF{9;h6Exo#)8Kyn!b~kY*rMKG zSdNJdULAp%dhRWXTG6&_W{3|BjwtHR;H_hoA`MBC_@5SV)aT!NL8YP*Pi_Fd%Vte0p^Rek7YaZV+xlJYL*aX;IuR56kxZ&<7iRZs(h) zl_D0$eE#6EQ{B%BnJLWilK@&Z4Kz@Lu<(_``8sT3P~w&NNZk)Iac#Co2^`a2k*C%!(<8hJjbN0w%?)Fb@zH;C%I0<7kY8M$eVOE&E>*7{ z!r4Vh%2nJJPBxAAd1NJ^=^f0{h3~osougz$sxn8j?WC69!RXBa0k9=?Frjp>1+C&i z!>L3YR_>B-rXON#)!@Q!C}jJRZ(xGjLr=`m5Y8hP?PTJXJpyz;s!n~cnkyLD>wIN%!cC{ew?8W@7LRg=#MY%JwLMG8g~>m1DR~i z8~x;N;vNxhw~3T-wI7@OXz+(`(dJs>fEA?a!(ls}y-0rsKZm~C%#v4ZuwNnuE~J`E zay7QrUFJi04N?ymGqvFv>ga_+8DeI+6Xa4p%f?6cP8mM2)GOX}sCI~b{=SNy)Ax4$ zth~?Wt7j{&IwE%L4s{+R80YuLUt08z9UKJFy3i$YR|B4dvk zM|Jm)64a?WBezA%N5FfsSuOnMK(6Ga;(FCS2fxzUij>2}hwQl~y*o)S&_FZi-IbZ$ zf9hZJCV-L<05{o_B5L1%m@$;$;yupOFuxgqF#?K|W%g2pOc>G#%8u|?-fHgIR6*+v z>h$a`-;qaue9K{l*~VhpJwtD~x+rxH+S(g~?Na0p>dML<=O=oTtH&}m-L13CxmMa$ z#+3&RKhYS>$sxeHj+J_KF#pH*+W^euCASRVcY3f+Yc;1h zH21BJ2q18P0NTc-NYHw>E-}-?JAwod4+kG%C{lR(1x8pTqX0a=vgVWO5$918pfXWo z0b)r0=_V1)BBBxdS7-VEIR4MB@86x>jUi$HRz&oN|L!vb!Iy+UK;Z1(w(s8mh{c8o+WLZzCo!>_TF`YdRqu0#S4s+}nvhvOEPeY(H6)YCiv5m2*iVeLdN7Os>lWLP1QAx3ccW+9e@$rsD{& znQVko?ye@hK9xK*skHtu4q>y!{61XW2TOOuLktw+`*V-hP*`+WcE4k~pF9=2IsV;` z6@&v{T&o|xrhylbuH^6!GZr)XKqC!1=1zcZDA(uw;UF#Q)CMSICKmxL&?xAThMkQ~ zWcBS>VEQ#aRs0QYxixZ|88np-h!*x_-UEK%LiCx#N*Vrsq7pW2J{!h(1g>nD)ZTtmh^y zgNj(Y`!e2TdR^}C63JreswX3MA`gJz`XI!WniR3^@B{&VPkV!S+uOVPFal|$5&JR3 zi}D)w&(FWd|FO;bO9|8=ftsxC;{jj_cm5?lc^#Q30GP(z<7~D`KpFu6oQS9U$Yz+YH(M8_}e}ykL&R_UyTc$>T*%pabvsbo1g=|(! zj&VLdK8^|1@?isTP?3WGAX);uAZFVUCnh4v-KiX*I@$j-w5|4h!*_ zH1#Oa!Qf(&67*XQLS<2R`FhAW(^aRpiG1;(WY4R`iq=5G@cl?@O=i_lJjoM# zhFzdsWGu4t77j-EyySwfQLt#}vmY&bsU7(n=B#NHmnX_Nb^#%!6=b3sKWBEJxYWAToY{G`Uw4}kkqU`9? zw*$Kx{L~ppph^%#e=6^E;q6n>FmqbJ=b*kBAsva_vS;SZYQfi(rq&o^6^0X_fw4_c zY{ZZ_y8277=JnKZr&bzv`1+gK8^13HSVba5pPh;HiFY#{o`oK{o*TC0cDoW&Jqi9$_i};h-G^{c@j1nnTI8;2(kE#9@EJ5k> zFQ@POZCf?rI)X*N7kUrVQ3+Z3J@_e(CGE^z9&@2 zI^=8?!UU2?Nt7SkS_^?w&_Wy=Gt<8Nf$Rm3!W_p;Tm!n&%iskqgKwj$V~*)s_P+U9 z={juQF2)@1w0X+jbt=0B>YUqTp0ELH0r(`R1wJbdxIkD^n2Z~?Mp^Hehj?^ZS+xBA z+@dtp$6#EU3YKnvwnX`hS2UC?qS663sjV_-SnS2ZO#`|eyv)+Ig1!8o*z{Xx1f-(n zv{qAo4&Qn9vZwU8f3oG5N)WGmY4g$WDzR~03DS%m017XK{py*(PE&QSW%3@I_pB`C zl2R}m{QW{+UtJ^72vqP0ss471*xSl`&X8Te;PzG>B+tB>qy=BBPPUN42i^O zZd=EBWs}Gr4CbY{lr1uQa8V}$fKR~hp^mApg};}B6T7LDbh0Dz_8WOgQcG8WTSG{& z{NcgWnpFDoDkRw7%!M2?QtY-q55tp+F@KS#**%bhb;uTxciUQ<7(MXQDpB$Q7{wJ+ zdfLj{QFym?QsmA67?JPo&T=4TXo+ek(wVH>_GDkv9Qz{l_=OMvcQ*(QCd(7zwT_zA zd#h<-21}eN&nlfuSKzX$c6_c_5AR2Q0Un-E`Z%G0Ftto#iNax=Yf_P{>5|~1jY#{t_IGS@`JyKvBn?S|@J9W}d(^Gm1URIu^Ddwt@G9>$x9!u-4ApnAQ_&&YIh z?fSx~bUoC;tB8-=&X0X(2c_1;>B9-pv&raAt=(W3orno!*z2Wd!0huFezkdBT-;B( zA^pq;#qc6^?og?qBI^71bMDA?72hx(FGyf@*IO@i6Edl&zT0vJ;Am|n1^b4GZ51sTB0~y|?&e?m?8ZSkwbd=jUp~q&Y)Jr7Res?PG7=zuRAN9`Y z_gQ0rVf6~p!QR9EWv^ZyX8>uy&9^OAb_sjOEAMQ>1=5?^g}@?X>Qt1dNMBnIC?2dp zkIqH-c`}CNjuXTi)h#1>Fv452T7Yzu{yA*i2upYQ?R7>A=g6tT`cG8yZnDniS!Rsj zGuE?Z#%mG(_V*|ZuB>ze9t^?m+?C6hU#Qek9~F%PfeaWM^AZ7l#^FS#k-k=Rxe3lB z6D=wG79Zy}mxmiV^HedQP7z`gK!r&RdTp_`pdynv*W7)bw2sugt%SigX~8J+?S`?pQg|0 zI7q4MW0t1^Ova&Mtj32?$D(4vIM?omg1@e|1dq7SY=fL!2)furoY%ijSH|M@shY&Q zvo9eB2%^E*@ZB}kT+Siyg_3)#)0tt-SE!Ebkz4C!T({5d{B5oFHaf4hX$qe^!=F>U zOzGL#2=BfWk$m1C;=HFt@a!iJ7*hJBRb5|J7%f4?yg1FbP#6$w6zKEAo-CcFVqqoX zOK5b1KH6=WDFvmhYJ{N|vBQQp^q)o94-|0VN>Y!fk~~BMk}M=Ja4c$iF z`2Oy{7+gJW54w+2;Ai~$TweOO=LgF?k)5DdzSZHfgiG}pNa0nUNg+QYPJBzhUwkt9 zkl@_4v8G38KJ-x+%gxn9K)=XX+--IrzDT0mGiSCkT!&cd#_+Iq(5$WoweUU`RHc_{ zCc*Be8i&!{$@Y6k%gGNe3{3)>sKEM>mmtCW_3CQ%!1@YO81c~=rp%AY^E^@V?xxp& zEZ^eM9ChLB{UHa5Ie^2i#a0Z6K%Y$G-PorQD@PB*tByg+LL#M1>yJ}EijAXw>={(4 zdI7sb0v+K3zxqhskA!_$zAf6oO*n1;U61cDCmiTDcrHb_GI|LBai9S)`~>+J-+p|^ zSfdfnr+(o{NDRb7rY^WW zlEcSDYFRYwCSNkUg3;1+Pjd$y`z$7N&~)q7K{NJT;GZgDyDo6L@B7H8j332S@I(W* zUF}|i1wKfCT%9<;+dC*`mTkn|`5>v{Tyj0b@_`2QW#v$FF~ZywqXq%)&Vp}%_)klg zxXL=fK&lUb&=pIt>Tm*ccBjkt`YTGrOouq&BAmEf`uV%kgXD5M{?WQfR6yMAZN40R zi>yQ0M{&)5u}TfgmR$=+_Emi{u%=&kf2%uEs`tZ#7*102P5noSAp0$GLL6g3Ar~f$ zo&b{slSi?{56C0?aDz_UhyQ#_EvVf)nP2^SCodKp^iu2?ROC_5xbX(Zd9F}IxcYk% zo?AkMkS_y1@Bq6>f>)9ONuK5b1Nu$<_h(58sgoA?z3J6BbAt^qeltSuY@tQV7e=%| z^r--k!?5@Zi#|iLxncpU52T?|*A+v05lN?#e~CI0?4Cebtz|8XVXYUXflork=2lXH zsq^yD8kN#Um@f1?N7|&VIy+}iSlh2ViKVE#yv=Za+^G9M)a2rLk4U#?r|0KB9aYso znf_O4-yPLt)9p)@_EH1^k*YK`0Ys!o6=_lgq=e8yB1#pI-aCj$6ObTX1f&HBAiYNc z5eP*RItWM&5IPdt4X^L_opaV*_pE#F{b!z;d1mj~&(6$m@4eQ{&ip1%vHlP}%qiWG z@fiuppS%DmGy_b#c57OZRBU)`qgh#ZBWBL>cQr1gU^X&H$p10>C4}5iZZI3`kXh*q zC5QT>G#&Z3F>9jYLOMtN1F00m<2_w+}$*&`uruF~UwjpLw4M#L-RcsBA-K$R8A*eIZ+V5ShtzY8%U zD`GDRTL@*KKD1`|B;JLEoEr??NILmT`7xO`#Q1BYh2eD)Ad&qE1JKuxJZ6v-NJ8g; zA;Jm=rIEjS(31g@IYyj1kyI13ltB%rY2?3HxD(&pBvuPa4|P| zoKTEb|F&9M!7JBjv44)MWSea$_cspms3=lnD|fG@Per`?7EY5Q@P6!=ep}&oE`$ue zU4w1P^4&|SYKq#W(5}}^()4-PVDoG_-`pB-d>^a*tEkZ^)+LUIjZ0$&lPgNawu&se z#?AI+)Zr*}2Z|amNj!L&-*VN;ti3TnMZ85#PFYCO)%kS{tfZ49c5n=0u0Yaj+y1oG zJXim6XT6OV?%DLh76q;vrI4g)M+z_+{^}!8EaUfJXITbXCj9lo4fOQ8Oby7zRPeGW z$)1yvMZGQ4pF8seTgNbq7MM*4u3eVd>i#iKsihG}GjMmP*YV+b@;asS?+VV>ejDDotf@r+ObLsBE|sP)qXUO zFDR;!5nRJA*XaHJ-P`dOP9R*f)ZCJQ^4m-OT~z`;sH<-^319MIp?6ps3^~(=xJdXX z;~oo=B2OrQ_^%vI{$RbWsz}YuQMh%N2gl*911>5cb1KWXf=2-71G~C4eRlGg9$2s5 zn)TvdU7{XE!<83%kcQyCkQfHUwHceTN=c ztYmp+v(OSk^|L){%&V>e+7;bvNgnJ!nr)?Q+1qz6BgwLhdl3GFjqEKh*rLJOk5KpW zoTme>?qHR;c&}0h&uuO^hxx6+D=%fsuSK(^S|4eO1{<7R2b2h?7TaAlq5?U+37Rld zE_xj>SnewP1Mk2{8CphEyF)~$pZ$am#XY#B%(V4k#4kx9c37&iuXmi8)GL zqschRj}q*$RN}ET9bI8l-HRS_Q_L;TWLe9#tlbiQs+%yb{nXUgIPZ)S$smNx+^qCR zv4F#jxX+7=UO%a$q&{%RlLPU8Yc)`{w?OyQ#pkJ%|4Fk~_iDoBAMsJIe4%B2<;wJ_ z@8nj+Whp0rCL;AOA^mv4kc0@`!!d<9df<)>#~C4XtQ}V4j!10|U9{w0dkU>&DTv&O z4$gOG`|hnZmC6B@#J_L2LIs3LE!=O+?$16lf1_x9Y0PiV@s;>)G6@Jj0Bg`~q*}>u zTK7okXK5nWMwVr{)v(|1_9KRu7yIQB+&ZnJrok%9=jz#s5~JuzN>230!*BYUbD_pJ zsf1(aJXhFLo3Oca4fO6UwZ+|9p7WGv+Qzu|DEvY$EBcmL2JA zuM#&xvsq{uNm+)`%EBVn2a(oWk4{0l*|vqT=5^U^KTy7@C5QodBh@-JXx)(yy{ zu6WXQ-JSx~AZ7)56~&@r04oo;3(Mukaj2+HpcEmi+8?(5cy(mNvk!Je0*=Sm-T|&@ zEMd6{{jcgFzibQch&~Z;xnlCP3!eRGBYi4x&?|m>ShU>%%)RCXt>gslCjV;9OV~JK zz0G|36T33iX{yKBrsstJ4WHU6@qEW4&f&SGAg7S1;=blhhP*g z+6Z;6V9p`cDKrV9e4B!c2I{*q`0`HGnQed`38>D8ES>_%M?x3&H;NMrqDdj4BNjwV zzv!xx5*g{NI~cRtFj1iJAp`3VkpGSQXbaMdfom{m&kxSFRRQEdDNhI`R9S%$(N4$w zzB-MXVdxiEG!>lB(??=Q5krn70TwNX7JN}o>VxwM1P@b!6)#^9v@im9d8;uguSrV( z#_FW_z@480n(?Lmw}yn&6SIQA!nB8v+%hTO z>T9wrB<3@FjE_T#ZszCwYO`0;oH$NANDt5yEf!ixub1S|dz0@ivZ0gczIfuXl@`0_O#XMB;`SweG~p{CPZ*;fv?!?iCw}z$u8FUKLDGA zIUA%K%fq11GyIy=*Y&hoQn`F)&~EI5%w>K{xb^*O-2@;@OS90PQcvS&9Xbj#gb9u( zsL%K70dv#@Bha_WC5SdySRX)+C>BFBS@yPnbQNfLmy&Ev{>|6vzIyNtSCSr1`bdIZc?M|+WChzCzcXnqMemY9PcX3!1SvL!7Ewke8rD~song_>sP_#<;f<9vy`1EK+rW`UW%IhW$e%9#rwc?=_f7&E}YxH{zm1bn9xNI3EX`b^p(WF zXsb}#ycUs)@iS6j)>bKRbBOUrjUuVOy_hb3#3x+k(GVp1%b+5OHg!ZDeqdpiXRkHA ztxd$d^u1ZI_82wTz(>54e`Ove5`W#sp`ga+!QX)XzPQNBgbFLnh8$TS2=^P8yji(6 zGpVH@0Z#^oD|p5#xCJmzFhUbM-I+$h*1GJKkQB`MdxlRg=LM%WlP2jE0hTEw2r=YX zyaJ1tc`+3<&BI>* zyShQ{$Cc&2vb%E}k7I=;Jqu9ey<_Pr2OC>~6=r4Zd>O9uSmAO0+&jRe$MR$8f)!wli$sLjVL_()LjIG(DqBZW z`(yut_vQZ#U0{ZPVb@AHS!v3WcRQ;i^@BC=^D17CWJ2m)ufx!EOIZ7#e)q9y0sdga9s6F-M2 zldATeS>X^QAo2rNKYW)YCPs{GBLcVNDd12s6 z@i!hZ%}ifa^D^uUWz8@9Dx_Loe4SoZy_`{0fv=$E*>yUmo3vU+&dN9Eu@*N*_)E-0 ze~tL=cFR@EWlK7b#f{^WAIP_j2ijl*PG&L=gW6s=3>KM-|15=CB_r9Wu3+>(DPpgg zyXKLj!bC5F_;?AMT>&eEzIhy7RjWMC=xtrWe6x^iyT}pK!=x}h8ezJYLc-!NTgF*? zHc(N;6R_67W{}g-o9k}XQRbBwTsE0N0i7JStd^6T`GU0zB85_4&Gyg8It98Abn{yG zpT+^FMg@RRL^W2fEt&NmV3uozt}f@UN*=l@fDRVD`fMlgu*aIBG_dtuiF;WjtCB1q&}TbRP))Q^ z8~w3~+oNGlM|{~*!BpnN9&HJCxdptB^uA42Cw7#3oNmxigPhm+^BJ8^j$5B%yn35t zv(g%u@G=Q3@N(Z*(SzDW0~z6K5?I*?RyiW?6*3s5RD8Dml#E$lnw97`y=(>sKa-d; zJenum2d2qlTPO03U|ScvL|OQ%b?#(j_3Ud#%|122%i{rfkP_tDX>K^GNwvSbk^FGfTnp}UW1NMWRWzz5(E zBoo`8C&{16$v09|SpO}=SN}FY3yEe!(c$D&o>9a|-0Xgg`c8PTRhj8HC)F_yZw>_L z#w!I*ywsyh5+`!|{21JsIT$aDFfcuewku)(Dpcsv<(VW~)wp;|+>sARocDt@s?ptg zHZKeSYA^^tiTXTaiiU&nzmx@$H z>nTZ8S)8Wj<$V1-2hU4X{dCE`Zztx5kwjEmRRFBtv5L)@o0W;J-JKb}ZbY>wQR7o= zDMZ(i1`%IoHNXg0@g`74Qc}}>=tq@kfcM2HB0a^FHihU!;9~0xv^dfq$`O=<4b;6~ zvMCxV`8^blemy~J#|}z6T7lR>C7<4FQyn*q63LSP5QIK3}?To(18-r^t>5A(k&qbFQ&dnHTw3|O0fo`!U zAW39dVXVDNfVslp)!0TAZLXK!A4pScm!l=&`NVZMNX!BVpnt!6I(Mk`!gxvY$*+-a zG5XiUANqkXKVn#<#-3Fn%ha6sYxTTif{}XMAZ9R-SWCn_y{Bj4u6ei<`o?VYo&L^2 zY&p+7X$0lgNo0Y^?UX~h7QE4I#(NEZomcNa*&eu;z}ZTie7B43VPI{`J=NFeH8*E=+fZ(5tb&Z97`@vqs5|9yJ`*()!@RC8E;k zQ3f9)CHI!`6swOLD;d|g2ldoqGGJV#bNX8kWqG9pDaF?Skq z;Sy82{g;(XOaOPWgh_(@h;LA2#PxRZB%H4tuf-P>b$tGGK~i%C`*Nl<@it>zIa_}4 zj6fm1WQtaz1|5u4J_h-@wd_^ttyM_SNrqIQOF`95x9ge#TGVtuiT9W~r`{P}FHE<$ zdRqGQ`a3or;#7!z8i2S{?0PLZf};)V&iP&yOic&nM^!D`-neyqKUABqxk!5)_zbUbI?1D!?ZuJJ{t!1}rcq7*76W8_HPDj&IWI4YbFDH*Rrn~kA z;kT$i)&#V|EoJu%8*)=JrJBt~4!jA{aRclyWp7&T93(@IYmj@hgyXHH54p`=<&nre z8kHy2^WR+pU|HF$Y1(R+vwrD7o=}NAcd%Um8fqy{6OYYE*7PpvNBm>(zWN2!OPX%o zXrGgx<3NR#v%)R1B)s2!k7s=r*tMoGT`}7#IGoT$=V-INPibnEU8C;hkD5qn@gQzp zMm@)!mH_-JWdlCuVbKSVukVomwt?bqpDLeQ&0Rq~;^K>zC)!gsxQAHVq4`2sUe@Qj zJyH0)xem>AVZg)zsfku#-kVit#Bc-|cZ0y}{<15M4GWQrO?uO??H(s0_tBll7XH0O zYE)LVM8Ug6n~hsrE~l$rXjvMFd;;@sp@`;a-%TG${^%d zJ`Z+8-}CIdmb*szw+uHG=F}e!BTb?p!6siNDp5&_$D8O6)pmO?9`@5ll3oyY(Uk>BnZ~ z;Ik*3lU_674^*P30GIg@lID;X&$~@WoYcUB{itE-8-MI4;I#dxYpy}nl4gvSrTL;;V{GzylBD(?9 zAUE(CQaH*TGg@31ak>Kc7?%qN_es)dXZLjvOs=756PUz+l@aIm&UlyKFD|n&!FnLg zSH`eEyG)#MP_IUoxUXIIo`?UgU;`kws6~iYLdP;@Mwpc7gb)KJXD(LR zYiPZ!O}%E*7$%}e5!Aq^h$D^({we0M+4zEO-F`1|p146Ru*!Z5gh*n}kGLv;A5A|c zOjN`KFZyXv>)%dr2T~C?{KSk2FPdn`k0 zX>oo7w1?DEU0MU4&Sakr!33>=9$IM{DQ2kg%u=wNoqI$|^X%>cZS_MRo7(_k|4rN! zm0c+^|NALV2)%30Pp%0d&{V73LaC=s!3U%Zu^Jl9h~WJh#S8~JP6>=rpZt6v{7*7V zqF6+HBl)LA%xL*fizp{i(2LfCi>o<*TEvuf|Fno?7YXbx0P)|$h=YjM@_ekpe^92J zB4oiBI`@XWY0~C;{$E@X)~1h=h1AGwo?E+?y6fmKbVa)6AyKsqmqk&kY5`r3|3abi zA2AG5++a|B!BzX+at_K4w**t<4PPynuRpXou(t66$pM1ZdhjN{$xWMFY-dlF``5qm zfr%$7so97{7$xy|Wf;LUbYWN?T5Gc)`(f`+!|FGo)|1(>d;2$CWqvQWu zlz+?iKm4};U6g;zM%2xJtB?Qs@;|ilZ&ChdYN`+hONLl+bdXWdJwTFl_z8B%PL@*T zd@eb~EhVI!uR3~yyN=vy#IVaP8Yg~X82K5ysq=>KBc})Ub=9q>U%IU&e(m{BPPX(& z*sf0U>Nc-vf?P-XW5f&g_cydN+FoVl&KF6q?U(lWuoK$wg-B0;((%;Jj@!7j=!k@K zX0T>Qi99ZS6or^1X8A_>8wF~=d>!t&VU#!I^D<~nrF`Q+cpJ03`22mncg3_tTjuGp znE&noci5Y}O)9{qU-iHuyEr;Lwvi(&6t-PMRk~ATjWk;g^&1u^V2Iq2C^LL{woeBDF<)&p zi_d(qvBYO6CJ0WMZ7YbfFP3U#h2%p|55h4gxB4>M3fsEc+P2S<@5IGVH(0ohv?ZFG z*8Fg!6YdI^d_S+9wA5ODBh{;;1L@98y@-RS&1j_|`U?)bdEX`=po znS~|XxM?sZytsxJyF3Z-pGJdrXa~5JhAn3aA5vPby4A8%$v)4_8y!8LNZcqM)!WH~ z&^g9-yN+08-<-rA%I>DIV(l_vqmO$h&%`&sN0yoIk7wv{sxX=vhNt+Os9W1xS+sqg zoNjb;uB-Me*s9^ERV_19NsGXHEsH${?fLwdm9Cv}vcL3T_&!Os5fXFz>W( z?f%klT3pvOY5BnBNXA#Z8n{(1N%Yb|l<3|zu(k3gT#rmTY}*yW~?#$G(0!z`Oq zGNmrjOIosvURq%_LpjhnALd$Bad6sUktuP-`h-i?&Bz?={(OH}kBQ&?omVRDoJs-U z!YTIX6h>|m3OXkmraJ_GM|WHk!B8=#9X%61yg7F)YtCD@!~?g&=E$t+={=q~(gJ}e zvyyqwH*h&9T~@S&s1r86d~bg1(lU#_xA3l0nn zISR2~G{aLkZJnH?FU{@spLK~iPiqa#oZym$#o^uA^1eHT#U0;U0ppdQ7bsCL1?sDh z`ty7)W$@ZAiipc=!6_VbTho`8LGqCJe#A*(1g4fEif|3IxnXIhcX+ha)?J}d^9A*6 zxs;Jm8tM_PXjWxH19Ad_k2GjzQ~S{RA;mES(3#J4{dwnn!=#`#VqOyQHt%e^jiWpD zq|&#vwONMC*iT*NdFJ?No&KWV%bwaZMF`5?k}*8kq6#J3Hbk$NMgdSlZ~6I`rhaLv zY?fI_$v~OQ*1y7}`_Th-%YSt-w|WRUXBpn}<{mJ#M|*h;A8>+3jd-^bPU8S&l>%QFXtr#6>zvf8j}&_kv~iM9*hT z&(RQ+y??B+PfOsnoPl%iwsgjXwo_wZe|5TouITA4gf2}LCqYkT#_H*|L-@gADem{O znP=K0l;&=t|(l3nQ}1&gC$sflk{mYABuD!Gq=? z!!LE~(-b;N<q)<4* zwjSEnub}Za!8M>=Tm^`8VHw2Vqbnz)>CpPt5M?u7jE#{M%)E-2?<|z*TX#yTj;-cU zQqEj8z>ctje6WjWw_tOLVtd#_b!~(R2jT?WrAx!;A@1_>_SG+vlTP$R6RugU<^8cw zSxhHuJ7zO4?Z>$_E<;1Y%0uZTa$YCc9i?`t+0i)IKl}7*x2K^`${E=;f8b8BwQiGG{~amLHOc3QzoYqaeZnil4HKHb@LJdM?7 zL;PM}eLFdDX*mLrW{k>rWrJ8bBG=PIz&}jDFa>Xcma^;8=smW>I2gChv_)s+s?MLe zD>qDswA^Us%c>@?5voOAxt;3t^xZyjp{JT+=9++RNNy@M`0aa*Gx}z2IJKOP&kwy^ zOV-JnkIQq_vUH|D_pz@GEF0Yz$ngoEvoS>;v|M-pq~Nj^mnYca(8-IS=Lo`0ws^?T zQ3ndRw-GMnnnhuwwrwfAN@wGZT_aOYq^(!u^2S|16+190DFI$gf7d<4b7ciB*ezN1 zI8{GHI&^NBdh#7l$z039|FSvW%-h4T*@6_oRMQtmh293e6ekTO|F@j+B$W4h3% za5}p17}r7emH8zURQ7=Wo!rk502dcFLhSV1hIv!5o|kI$-1CY+9cCKg-8SAFA@O!{ z4iICAr085x=k^`Cj9vCOzE}7F{N!F#mf}(U*>ysmL*a;0tqi>MYpV?yQ5lfAG;#mv z4dl|Y-hxljCk*CeFhoxKeZ%eX+Ha^NT(Lyw?dYY~8_(fQDXHa8cC|>VW|7$@+EOiz ztw8W5$8Ym$X|~=&gWqYV$Ppd&ja62<-n0C9-?1)!zg8yg*^|U#T2>r&>D?0x0b-=3 zc<;*(D}jcYZqvI?PihR;W-pub_ZdI6k^pLd7Iw0&3RLzYCx2q8pbMHMpuX3tv0-%; za0Wa<@lsncbyUf>#jNs{Qb?XDHEKv#JfCFM$UiikCdcqX&WBAzfkCpkwq6Ixbt|=@ z4TX1a?>6V0K83jkUTXN&61PncyDY@a#uxt(oTaSK`kHDla`CQJ12Oy(L!f`@NIW80 zp~1z`^oAoz0%4)#Oz?$<@?~NSgCe7d@Z|db-IZY>!Dzdcgv1p_Q$-ADLaB_p$|U0=1D^GIj3e;GFFtBrMvw%rN}vLnZ~9*fS7TBL{m*ywfrG8 G?0*3Zn|-MO literal 27266 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 Wir!^HjD5lsv6Nn_$yLah2K^Vt>)E#e diff --git a/sample_chapters/gnu_awk_sample.pdf b/sample_chapters/gnu_awk_sample.pdf index dc29cff4260d9404a2951db77e3f1530831940e0..1cff20131b66b61807b0fc2db4ee553145888f46 100644 GIT binary patch delta 269859 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⩔V?3eW3k3m`@E_WVfLY_pe2#TGr6mWiTzsLPa;`h)DW_izuFd{wl2W(yi)c?!(9hcTmyhl*MF#fjUW$D6 zVF@xgk)9p{Lkg<6WxIz>oto{XJ?pD>oP$CI2o-c2aUQifNW!c;Ihzh-oH=puw_a!nT|M^m6 zw0vzMcHxW0#I2<$pNs;X<$=ttKkaGcQM~d(9h>@^YJKo%5Bo_cO=R2SC<=qkOhPmJQXHD=MkIB&@2U z@lNaW$`vjV3z4<3laIi?A13(Z3fRV9u5;f+Jp_a~(1$~v`z1J^yL#MRY?%+m zuIgFe9Z=!`Y7Tm>0ks8RYM4)GkB!GAM`vf|lQwGEAyyNBPVHL=*8%uZ{{ zqd~1yFo$cq*Ul?;Ujv#c0eu_=j0SRXu51NSB1>+-;Yr5jWdxbqp0OEUn+N}&O=}~i zBYixlZ=*~Knfn3(6ofzw|Y1P5q^68X_oewNZg)JdR3IcY4K;Lw;~omzSMNyq1;#8-I7Gtul(#Bt5a^$`#J^Rce= zhbP4f#(@lx&WaTFG}~|`X1r#4qaZoz7|Ot+F(#y-%avRr!QU-4s;DTt@h63UB=lU? zfdZ!`je$|ikoqXqE=a20!d7b{Az!AG@GbAg6xzY1Z`Ijq!f{Wb(?FIBontWx*o!e_ z9m}}Am6pqbXO;%lY5U~`cdtF=7%n;U%qRnWAKw2*)j4)o8g5xMc2coz+qO}$Rk3ZH z*tTukuGqGXitSGK{nGb8oN>l}=d;$D27UIuj%s414l%f1Yj}KL=JAW9^ce|-SKhD@ z7S5&4)xLq_#UCGXoz)c_)IqnuFcFd>%bGFXhwXLu?KU1YJD3aHb)c_mqlALyx6`J=qOZ{Y!{UBADMWf3r9 z^)$53r=N<7)K}9YxRnHqT_zD#JUYA3f|*BL1F=k`QI8@jtOHcIQu&&UagmU3ZY*h) z+lpTY%ai$SRUdUiz2eaMQ=Lg1&2>|nnusS@vDLi`;?{F46VAdji~|fMvrRJ<)iDxW zi*@dOXnV6#j8xaMw8WHPT24h-|@PKd9g^OAPjsYCKS8; z;jMs%fhU2t0Uwzlv6qZfM!I^vwRKgk;6SBA@Z70#q;LeqCAI=!&oIV**?r}f(aNZW zWT!ZYu9FYKwtOB^(2gjv;_|Kr9DqNqy)NNjw;!fIrm!fIM2~s-=dglRRhbo)k$qaaoXkaRqU(FFv{@KG+F8BYnxc9lSLr?Mu1bbq zXyl1qK=OMg@+ZpwC97wlA)E6&oGl=X?DqwYhh~Y~ZL6?C{4tXNJNV``)y@WDnurMZ`g6avNdz&hMs>SA{ zp)h`1G)@w0wJfdd(ym_rel!KxHk5vI2a-?4J%gA3C^Jb zZ(}|gSN zj($Ws^q%NP`NqKBLJ8hnvilKIf}Y={r0dx14XO@Mi;WI-G|V+=Wj@q-83{=}rAKmX zw)KRbIxy;yjMjEEmkaCE4tSRPYJx*S?jZ+kkC3laI`wjRD5=Oocq3<7_=6Y!u2JK_ zrMNBl>oEOsN2_A@zSdfAhN?DiJFV9e()IJJOeb5Z&{08b;P5gS7{~OGSSio7x+du* zbAJWE+B59x^|{HlcC-pwx8=kW5XTK#8~k{dbD$)yDbj38eA-}c=!g?{>(7T?jv@4r z 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

*LB#a+7u@%FeB3UNH;do;uXZVofIHb;fP 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


|>4I)oyg)PccL&05f|Sa*}1D1l^_ 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,@<%>E&gk9(fe~Rinr^EN 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�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 IiW2bu0hz}aAOHXW From ce740df286053ff6b5754bbe40fafb6e3003ba7b Mon Sep 17 00:00:00 2001 From: Sundeep Agarwal Date: Thu, 17 Apr 2025 14:20:22 +0530 Subject: [PATCH 4/4] added link to linux bundle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 683baaa..5f8f15b 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ See [Version_changes.md](./Version_changes.md) to keep track of changes made to * https://leanpub.com/gnu_awk * You can also get the book as part of these bundles: * **All books bundle** bundle from https://leanpub.com/b/learnbyexample-all-books or https://learnbyexample.gumroad.com/l/all-books + * **Linux CLI Text Processing** bundle from https://leanpub.com/b/linux-cli-text-processing or https://learnbyexample.gumroad.com/l/linux-cli-text-processing * **Magical one-liners** bundle from https://leanpub.com/b/oneliners or https://learnbyexample.gumroad.com/l/oneliners * **Awesome Regex** bundle from https://leanpub.com/b/regex or https://learnbyexample.gumroad.com/l/regex * See https://learnbyexample.github.io/books/ for a list of other books

DvR;zUuwvC)&nY+L9$e)uSjPu{4QQA zn5=rFF?ik#>$WNj$WrwusKVEp_tAHdu#p=Upn4sMIz-nUm4fwh^R&8yGGI#cTl zOPC}t6Lk-FalN$oGIPE7#hvj4^Xv+TwB#DN$E%?2oM>hOkAf=aKXv6nIL9mH|18Ty z{%Qz1&ozKZum!+uc*V7kZwaoZFk9QXfd{&`Dx0fns)PkM(vbE;=FAVE=hpJGGs|dD zPmF$Kb)SejMRG@)ZnWQ5+PlCedT8=#j~CU8MWF7Ow@K96AVBbtstIQ7dnPVn2unHP zx(q@d*XA~n7Br^8a_O93uV!rUAUCIYLXKul{S9Dg4Fp`~?lsfICVx1(9kY%Z!%)r! zr^_s3gU%}6?T{v@F!nFEHh{U0hQ$gK{y~M%3rW5Nb=%W&l*0;iXh@!Z+ar8u8ujDr zZKYE|FQJr*LO$Y=;60zW#0r8nMR8Yg%H(bhWe3v-5Bk-Bb@YG!iEq zR;m%qB_>#O{;eY1Pk+M-bh)s<)Wu7NQOFw`YQ61Gtpqy(tJ@n!=IdVN0D(Fkg1~z1 zFe>dNTuw9p79N;)jRd6o`|^pG;G4$Ky#vW<*$AM$!YO7Q3oqQ1?Bgm{G(T%kOnOxZ=9;QsudN_C-HHo?|#Q%!Smy1_7A-Q$%S&p@kL)CC%Aw(_l|~ zr`h^fT-&^6kR9Sfmhp?y_^;TvU6#rtYXrvF0tqOKhF! z7!H^M!QPV;q*vMw=^9+aR7*h`^Jgte-IcgFHr+fZzDr@W%MbR~kdj_3>V2vzMHV;cL0la`*yi z!hg~uRjyg42pq`T?N( z4aHLO^U&q*GYMKLj{!ym>N^;U>NIacF4>7MgkWf#@$tL!c z@;^Ubtk2PHYBzn!FV%m7q<^j#�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