Merge: Do not compile dead modules
authorJean Privat <jean@pryen.org>
Thu, 18 Jun 2015 03:09:33 +0000 (23:09 -0400)
committerJean Privat <jean@pryen.org>
Thu, 18 Jun 2015 03:09:33 +0000 (23:09 -0400)
Separate compilation implies that a module is compiled independently of its clients.
This point ensure us that the recompilation of programs is fast since only modified modules need to be recompiled and that modules used by multiples clients need to be compiled only once.

Unfortunately, currently an already compiled module need to still to be fully compiled in C on each compilation (avoiding doing it is a very complex matter). Fortunately, most of the compilation time is spend by the C compiler (especially when #1498) and this time is safely decimated by ccache.

However, a thing that some modules are imported by programs (thus provide declarations, introductions, importations) but are only made of method definitions that will never be executed by the program. Such a module is called a *dead* module and our static analysis RTA can approximate them.
So, now, the generation of C code for such a module is skipped (and its associated C compilation, obviously)

This will benefit mostly small programs that imports standard and other libraries but only use a small portion of them. Eg: programs in `tests/` or in `examples/rossetacode`.

For numbers, lets try with `time ./tests.sh ../examples/rosettacode/*.nit` to test the 32 (currently) programs.

* before: 30s
* after: 21s

I hope that CI servers will like what we, human masters, do for them!

Pull-Request: #1509
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

119 files changed:
contrib/nitiwiki/src/wiki_base.nit
contrib/nitiwiki/src/wiki_html.nit
contrib/nitiwiki/src/wiki_links.nit
contrib/nitiwiki/tests/res/wiki1_nitiwiki_status.res
contrib/nitiwiki/tests/res/wiki2_nitiwiki_render.res
contrib/nitiwiki/tests/res/wiki2_nitiwiki_status.res
contrib/nitiwiki/tests/res/wiki3_nitiwiki_status.res
examples/callback_chimpanze.nit [deleted file]
examples/callback_monkey.nit [deleted file]
examples/draw_operation.nit
examples/rosettacode/arithmetic_mode.nit [new file with mode: 0644]
examples/rosettacode/bottles_of_beer.nit [new file with mode: 0644]
examples/rosettacode/caesar_cipher.nit [new file with mode: 0644]
examples/rosettacode/catalan_numbers.nit [new file with mode: 0644]
examples/rosettacode/count_the_coins.nit [new file with mode: 0644]
examples/rosettacode/factorial.nit [new file with mode: 0644]
examples/rosettacode/first_letter_last_letter.nit [new file with mode: 0644]
examples/rosettacode/here_document.nit [new file with mode: 0644]
examples/rosettacode/letter_frequency.nit [new file with mode: 0644]
examples/rosettacode/median.nit [new file with mode: 0644]
examples/rosettacode/perfect_numbers.nit [new file with mode: 0644]
examples/rosettacode/pernicious_numbers.nit [new file with mode: 0644]
examples/rosettacode/pick_random.nit [new file with mode: 0644]
examples/rosettacode/semordnilap.nit [new file with mode: 0644]
examples/rosettacode/symmetric_difference.nit [new file with mode: 0644]
examples/rosettacode/unixdict.txt [new file with mode: 0644]
examples/rosettacode/visualize_a_tree.nit [new file with mode: 0644]
examples/rosettacode/zigzag_matrix.nit [new file with mode: 0644]
lib/buffered_ropes.nit
lib/standard/collection/sorter.nit
lib/standard/file.nit
lib/standard/math.nit
lib/standard/text/ropes.nit
src/compiler/abstract_compiler.nit
src/compiler/coloring.nit
src/interpreter/dynamic_loading_ffi/README.md [new file with mode: 0644]
src/interpreter/dynamic_loading_ffi/dynamic_loading_ffi.nit [new file with mode: 0644]
src/interpreter/dynamic_loading_ffi/on_demand_compiler.nit [new file with mode: 0644]
src/interpreter/interpreter.nit
src/interpreter/naive_interpreter.nit
src/nitni/nitni_base.nit
src/rapid_type_analysis.nit
src/toolcontext.nit
tests/base_dead_code.nit [new file with mode: 0644]
tests/error_annot_pkgconfig.nit
tests/exec.skip
tests/factorial.inputs [new file with mode: 0644]
tests/nitcg.skip
tests/niti.skip
tests/nitvm.skip
tests/perfect_numbers.inputs [new file with mode: 0644]
tests/sav/arithmetic_mode.res [new file with mode: 0644]
tests/sav/base_dead_code.res [new file with mode: 0644]
tests/sav/base_dead_code_alt1.res [new file with mode: 0644]
tests/sav/base_dead_code_alt2.res [new file with mode: 0644]
tests/sav/bottles_of_beer.res [new file with mode: 0644]
tests/sav/caesar_cipher.res [new file with mode: 0644]
tests/sav/callback_chimpanze.res [deleted file]
tests/sav/catalan_numbers.res [new file with mode: 0644]
tests/sav/count_the_coins.res [new file with mode: 0644]
tests/sav/factorial.res [new file with mode: 0644]
tests/sav/first_letter_last_letter.res [new file with mode: 0644]
tests/sav/here_document.res [new file with mode: 0644]
tests/sav/median.res [new file with mode: 0644]
tests/sav/nitce/base_dead_code_alt1.res [new file with mode: 0644]
tests/sav/niti/ballz_android.res [new file with mode: 0644]
tests/sav/niti/complete_simple_android.res [new file with mode: 0644]
tests/sav/niti/dino_android.res [new file with mode: 0644]
tests/sav/niti/error_annot_pkgconfig_alt1.res [deleted file]
tests/sav/niti/error_annot_pkgconfig_alt2.res [deleted file]
tests/sav/niti/error_annot_pkgconfig_alt3.res [deleted file]
tests/sav/niti/fixme/neo_doxygen_dump_args1.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args2.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args3.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args4.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args5.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args6.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args7.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args8.res [new file with mode: 0644]
tests/sav/niti/fixme/neo_doxygen_dump_args9.res [new file with mode: 0644]
tests/sav/niti/fixme/nitdoc_args4.res [new file with mode: 0644]
tests/sav/niti/fixme/nitiwiki_args1.res [new file with mode: 0644]
tests/sav/niti/fixme/nitiwiki_args2.res [new file with mode: 0644]
tests/sav/niti/fixme/test_binary.res [new file with mode: 0644]
tests/sav/niti/fixme/test_binary_alt1.res [new file with mode: 0644]
tests/sav/niti/fixme/test_binary_alt2.res [new file with mode: 0644]
tests/sav/niti/fixme/test_binary_alt3.res [new file with mode: 0644]
tests/sav/niti/fixme/test_c.res [new file with mode: 0644]
tests/sav/niti/fixme/test_jvm.res [new file with mode: 0644]
tests/sav/niti/fixme/test_jvm_alt1.res [new file with mode: 0644]
tests/sav/niti/fixme/test_jvm_alt2.res [new file with mode: 0644]
tests/sav/niti/fixme/test_jvm_alt3.res [new file with mode: 0644]
tests/sav/niti/fixme/test_jvm_alt4.res [new file with mode: 0644]
tests/sav/niti/moles_android.res [new file with mode: 0644]
tests/sav/niti/shoot_android.res [new file with mode: 0644]
tests/sav/niti/simple_android.res [new file with mode: 0644]
tests/sav/niti/test_platform_android.res [new file with mode: 0644]
tests/sav/nitiwiki_args1.res
tests/sav/nitpick_args1.res
tests/sav/perfect_numbers.res [new file with mode: 0644]
tests/sav/pernicious_numbers.res [new file with mode: 0644]
tests/sav/pick_random.res [new file with mode: 0644]
tests/sav/semordnilap.res [new file with mode: 0644]
tests/sav/semordnilap_args1.res [new file with mode: 0644]
tests/sav/symmetric_difference.res [new file with mode: 0644]
tests/sav/test_binariesop.res
tests/sav/test_string_long.res
tests/sav/test_string_long_alt1.res
tests/sav/visualize_a_tree.res [new file with mode: 0644]
tests/sav/zigzag_matrix.res [new file with mode: 0644]
tests/search_tests_git.sh
tests/semordnilap.args [new file with mode: 0644]
tests/test_binariesop.nit
tests/test_string_long.nit
tests/tests.sh
tests/zzz_tests/zzz_test_filelimit.nit [new file with mode: 0644]
tests/zzz_tests/zzz_test_realtimelimit.nit [new file with mode: 0644]
tests/zzz_tests/zzz_test_reslimit.nit [new file with mode: 0644]
tests/zzz_tests/zzz_test_usertimelimit.nit [new file with mode: 0644]

index 09b499b..9cd3eb0 100644 (file)
@@ -194,9 +194,6 @@ class Nitiwiki
                end
                var file = expand_path(config.root_dir, config.templates_dir, name)
                var tpl = new TemplateString.from_file(file)
-               if tpl.has_macro("ROOT_URL") then
-                       tpl.replace("ROOT_URL", config.root_url)
-               end
                if tpl.has_macro("TITLE") then
                        tpl.replace("TITLE", config.wiki_name)
                end
@@ -553,8 +550,10 @@ class WikiArticle
        redef var src_full_path: nullable String = null
 
        redef fun src_path do
+               var src_full_path = self.src_full_path
                if src_full_path == null then return null
-               return src_full_path.substring_from(wiki.config.root_dir.length)
+               var res = wiki.config.root_dir.relpath(src_full_path)
+               return res
        end
 
        # The page markdown source content.
index d5ccc7a..a937351 100644 (file)
@@ -62,8 +62,8 @@ end
 
 redef class WikiEntry
        # Get a `<a>` template link to `self`
-       fun tpl_link: Writable do
-               return "<a href=\"{url}\">{title}</a>"
+       fun tpl_link(context: WikiEntry): Writable do
+               return "<a href=\"{href_from(context)}\">{title}</a>"
        end
 end
 
@@ -113,7 +113,7 @@ redef class WikiSection
                end
        end
 
-       redef fun tpl_link do return index.tpl_link
+       redef fun tpl_link(context) do return index.tpl_link(context)
 
        # Render the section hierarchy as a html tree.
        #
@@ -133,15 +133,15 @@ redef class WikiSection
        # </ul>
        # ~~~
        fun tpl_tree(limit: Int): Template do
-               return tpl_tree_intern(limit, 1)
+               return tpl_tree_intern(limit, 1, self)
        end
 
        # Build the template tree for this section recursively.
-       protected fun tpl_tree_intern(limit, count: Int): Template do
+       protected fun tpl_tree_intern(limit, count: Int, context: WikiEntry): Template do
                var out = new Template
                var index = index
                out.add "<li>"
-               out.add tpl_link
+               out.add tpl_link(context)
                if (limit < 0 or count < limit) and
                   (children.length > 1 or (children.length == 1)) then
                        out.add " <ul>"
@@ -149,10 +149,10 @@ redef class WikiSection
                                if child == index then continue
                                if child isa WikiArticle then
                                        out.add "<li>"
-                                       out.add child.tpl_link
+                                       out.add child.tpl_link(context)
                                        out.add "</li>"
                                else if child isa WikiSection and not child.is_hidden then
-                                       out.add child.tpl_tree_intern(limit, count + 1)
+                                       out.add child.tpl_tree_intern(limit, count + 1, context)
                                end
                        end
                        out.add " </ul>"
@@ -182,9 +182,21 @@ redef class WikiArticle
        end
 
 
+       # Load a template and resolve page-related macros
+       fun load_template(template_file: String): TemplateString do
+               var tpl = wiki.load_template(template_file)
+               if tpl.has_macro("ROOT_URL") then
+                       var root_dir = href.dirname.relpath("")
+                       # Avoid issues if the macro is just followed by a `/` (as with url prefix)
+                       if root_dir == "" then root_dir = "."
+                       tpl.replace("ROOT_URL", root_dir)
+               end
+               return tpl
+       end
+
        # Replace macros in the template by wiki data.
        private fun tpl_page: TemplateString do
-               var tpl = wiki.load_template(template_file)
+               var tpl = load_template(template_file)
                if tpl.has_macro("TOP_MENU") then
                        tpl.replace("TOP_MENU", tpl_menu)
                end
@@ -204,7 +216,7 @@ redef class WikiArticle
        fun tpl_header: Writable do
                var file = header_file
                if not wiki.has_template(file) then return ""
-               return wiki.load_template(file)
+               return load_template(file)
        end
 
        # Generate the HTML page for this article.
@@ -262,7 +274,7 @@ redef class WikiArticle
        fun tpl_menu: Writable do
                var file = menu_file
                if not wiki.has_template(file) then return ""
-               var tpl = wiki.load_template(file)
+               var tpl = load_template(file)
                if tpl.has_macro("MENUS") then
                        var items = new Template
                        for child in wiki.root_section.children.values do
@@ -273,7 +285,7 @@ redef class WikiArticle
                                        items.add " class=\"active\""
                                end
                                items.add ">"
-                               items.add child.tpl_link
+                               items.add child.tpl_link(self)
                                items.add "</li>"
                        end
                        tpl.replace("MENUS", items)
@@ -285,7 +297,7 @@ redef class WikiArticle
        fun tpl_footer: Writable do
                var file = footer_file
                if not wiki.has_template(file) then return ""
-               var tpl = wiki.load_template(file)
+               var tpl = load_template(file)
                var time = new Tm.gmtime
                if tpl.has_macro("YEAR") then
                        tpl.replace("YEAR", (time.year + 1900).to_s)
@@ -424,7 +436,7 @@ class TplBreadcrumbs
                        else
                                if article.parent == entry and article.is_index then continue
                                add "<li>"
-                               add entry.tpl_link
+                               add entry.tpl_link(article)
                                add "</li>"
                        end
                end
index 43f354d..bdb27da 100644 (file)
@@ -90,8 +90,21 @@ end
 
 redef class WikiEntry
 
-       # Url to `self` once generated.
-       fun url: String do return wiki.config.root_url.join_path(breadcrumbs.join("/"))
+       # Absolute url to `self` once generated.
+       # If you use this, the generated files will hard-code `root_url`
+       fun url: String do return wiki.config.root_url / href
+
+       # Relative path to `self` from the target root_url
+       fun href: String do return breadcrumbs.join("/")
+
+       # A relative `href` to `self` from the page `context`.
+       #
+       # Should be used to navigate between documents.
+       fun href_from(context: WikiEntry): String
+       do
+               var res = context.href.dirname.relpath(href)
+               return res
+       end
 
        redef fun render do
                super
@@ -159,11 +172,11 @@ redef class WikiArticle
        # Checks if `self.name == "index"`.
        fun is_index: Bool do return name == "index"
 
-       redef fun url do
+       redef fun href do
                if parent == null then
-                       return wiki.config.root_url.join_path("{name}.html")
+                       return "{name}.html"
                else
-                       return parent.url.join_path("{name}.html")
+                       return parent.href.join_path("{name}.html")
                end
        end
 
@@ -184,7 +197,7 @@ class WikiSectionIndex
 
        redef fun title do return section.title
 
-       redef fun url do return section.url
+       redef fun href do return section.href
 end
 
 # A MarkdownProcessor able to parse wiki links.
@@ -235,7 +248,7 @@ private class NitiwikiDecorator
                        end
                        if target != null then
                                if name == null then name = target.title
-                               link = target.url
+                               link = target.href_from(context)
                        else
                                var loc = context.src_path or else context.name
                                wiki.message("Warning: unknown wikilink `{link}` (in {loc})", 0)
index 936a764..43bf159 100644 (file)
@@ -5,6 +5,6 @@ url: http://localhost/
 
 There is modified files:
  + pages
- + /pages/index.md
+ + pages/index.md
 
 Use nitiwiki --render to render modified files
index 46cf17c..dfc19e5 100644 (file)
@@ -1,20 +1,20 @@
 Custom config for section sec2
 Render section out
-Warning: unknown wikilink `not found` (in /pages/index.md)
-Warning: unknown wikilink `Not Found` (in /pages/index.md)
-Warning: unknown wikilink `/not/found` (in /pages/index.md)
-Warning: unknown wikilink `not/found` (in /pages/index.md)
-Warning: unknown wikilink `not found` (in /pages/index.md)
-Warning: unknown wikilink `not found` (in /pages/index.md)
-Warning: unknown wikilink `not found` (in /pages/index.md)
+Warning: unknown wikilink `not found` (in pages/index.md)
+Warning: unknown wikilink `Not Found` (in pages/index.md)
+Warning: unknown wikilink `/not/found` (in pages/index.md)
+Warning: unknown wikilink `not/found` (in pages/index.md)
+Warning: unknown wikilink `not found` (in pages/index.md)
+Warning: unknown wikilink `not found` (in pages/index.md)
+Warning: unknown wikilink `not found` (in pages/index.md)
 Render section out/sec1
 Render section out/sec2
-Warning: unknown wikilink `not found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `Not Found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `/not/found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `not/found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `not found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `not found` (in /pages/sec2/index.md)
-Warning: unknown wikilink `not found` (in /pages/sec2/index.md)
+Warning: unknown wikilink `not found` (in pages/sec2/index.md)
+Warning: unknown wikilink `Not Found` (in pages/sec2/index.md)
+Warning: unknown wikilink `/not/found` (in pages/sec2/index.md)
+Warning: unknown wikilink `not/found` (in pages/sec2/index.md)
+Warning: unknown wikilink `not found` (in pages/sec2/index.md)
+Warning: unknown wikilink `not found` (in pages/sec2/index.md)
+Warning: unknown wikilink `not found` (in pages/sec2/index.md)
 Render section out/sec2/sub-sec21
 Render section out/sec2/sub-sec22
index 1f3ce1a..f03f5d4 100644 (file)
@@ -5,17 +5,17 @@ url: http://localhost/
 
 There is modified files:
  + pages
- + /pages/contact.md
- + /pages/index.md
- + /pages/other_page.md
+ + pages/contact.md
+ + pages/index.md
+ + pages/other_page.md
  + pages/sec1
- + /pages/sec1/index.md
+ + pages/sec1/index.md
  + pages/sec2
- + /pages/sec2/index.md
+ + pages/sec2/index.md
  + pages/sec2/sub-sec21
- + /pages/sec2/sub-sec21/index.md
+ + pages/sec2/sub-sec21/index.md
  + pages/sec2/sub-sec22
- + /pages/sec2/sub-sec22/index.md
- + /pages/sec2/sub-sec22/other.md
+ + pages/sec2/sub-sec22/index.md
+ + pages/sec2/sub-sec22/other.md
 
 Use nitiwiki --render to render modified files
index 2451916..04cbacf 100644 (file)
@@ -5,8 +5,8 @@ url: http://localhost/
 
 There is modified files:
  + pages
- + /pages/contact.mdwn
- + /pages/index.mdwn
- + /pages/other_page.mdwn
+ + pages/contact.mdwn
+ + pages/index.mdwn
+ + pages/other_page.mdwn
 
 Use nitiwiki --render to render modified files
diff --git a/examples/callback_chimpanze.nit b/examples/callback_chimpanze.nit
deleted file mode 100644 (file)
index caf3f2e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Matthieu Lucas <lucasmatthieu@gmail.com>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This sample has been implemented to show you how simple is it to relay
-# native callbacks from C to a Nit program.
-module callback_chimpanze
-
-import callback_monkey
-
-class Chimpanze
-       super MonkeyActionCallable
-
-       fun create
-       do
-               var monkey = new Monkey
-               print "Hum, I'm sleeping ..."
-
-               # Invoking method which will take some time to compute, and
-               # will be back in woke_up method with information.
-               # - Callback method defined in MonkeyActionCallable Interface
-               monkey.woke_up_action(self, "Hey, I'm awake.")
-       end
-
-       # Inherit callback method, defined by MonkeyActionCallable interface
-       # - Back of woke_up_action method
-       redef fun woke_up(sender:Monkey, message:Object)
-       do
-               print message
-       end
-end
-
-var m = new Chimpanze
-m.create
diff --git a/examples/callback_monkey.nit b/examples/callback_monkey.nit
deleted file mode 100644 (file)
index 434edd1..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Matthieu Lucas <lucasmatthieu@gmail.com>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This sample has been implemented to show you how simple is it to relay
-# native callbacks from C to a Nit program.
-module callback_monkey
-
-in "C header" `{
-       #include <stdio.h>
-       #include <stdlib.h>
-
-       typedef struct {
-               int id;
-               int age;
-       } CMonkey;
-
-       typedef struct {
-               MonkeyActionCallable toCall;
-               Object message;
-       } MonkeyAction;
-`}
-
-in "C body" `{
-       // Method which reproduce a callback answer
-       // Please note that a function pointer is only used to reproduce the callback
-       void cbMonkey(CMonkey *mkey, void callbackFunc(CMonkey*, MonkeyAction*), MonkeyAction *data)
-       {
-               sleep(2);
-               callbackFunc(mkey, data);
-       }
-
-       // Back of background treatment, will be redirected to callback function
-       void nit_monkey_callback_func(CMonkey *mkey, MonkeyAction *data)
-       {
-               // To call a your method, the signature must be written like this:
-               // <Interface Name>_<Method>...
-               MonkeyActionCallable_woke_up(data->toCall, mkey, data->message);
-       }
-`}
-
-# Implementable interface to get callback in defined methods
-interface MonkeyActionCallable
-       fun woke_up(sender:Monkey, message: Object) is abstract
-end
-
-# Defining my object type Monkey, which is, in a low level, a pointer to a C struct (CMonkey)
-extern class Monkey `{ CMonkey * `}
-
-       new `{
-               CMonkey *monkey = malloc(sizeof(CMonkey));
-               monkey->age = 10;
-               monkey->id = 1;
-               return monkey;
-       `}
-
-       # Object method which will get a callback in woke_up method, defined in MonkeyActionCallable interface
-       # Must be defined as Nit/C method because of C call inside
-       fun woke_up_action(toCall: MonkeyActionCallable, message: Object) is extern import MonkeyActionCallable.woke_up `{
-
-               // Allocating memory to keep reference of received parameters:
-               // - Object receiver
-               // - Message
-               MonkeyAction *data = malloc(sizeof(MonkeyAction));
-
-               // Incrementing reference counter to prevent from releasing
-               MonkeyActionCallable_incr_ref(toCall);
-               Object_incr_ref(message);
-
-               data->toCall = toCall;
-               data->message = message;
-
-               // Calling method which reproduce a callback by passing:
-               // - Receiver
-               // - Function pointer to object return method
-               // - Datas
-               cbMonkey(self, &nit_monkey_callback_func, data);
-       `}
-end
index 2db1595..a5ad1d5 100644 (file)
 # Draws an arithmetic operation to the terminal
 module draw_operation
 
+`{
+       #include <math.h>
+`}
+
 redef enum Int
        fun n_chars: Int `{
                int c;
diff --git a/examples/rosettacode/arithmetic_mode.nit b/examples/rosettacode/arithmetic_mode.nit
new file mode 100644 (file)
index 0000000..362372e
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Arithmetic mode
+# SEE: <http://rosettacode.org/wiki/Averages/Mode>
+module arithmetic_mode
+
+# Computes the mode or the `array` values.
+#
+# FIXME: Only the first mode will be returned, should we return an array of modes?
+fun mode(array: Array[Int]): nullable Int do
+       var seen = new HashMap[Int, Int]
+       for i in array do
+               if not seen.has_key(i) then seen[i] = 0
+               seen[i] += 1
+       end
+       var max_key = null
+       var max_val = 0
+       for k, v in seen do
+               if v > max_val then
+                       max_key = k
+                       max_val = v
+               end
+       end
+       return max_key
+end
+
+print mode([1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17]) or else "null"
+print mode([1, 1, 2, 4, 4]) or else "null"
+print mode([1, 3, 6, 6, 6, 6, 7, 7, 12, 12, 17]) or else "null"
+print mode([1, 1, 2, 4, 4]) or else "null"
diff --git a/examples/rosettacode/bottles_of_beer.nit b/examples/rosettacode/bottles_of_beer.nit
new file mode 100644 (file)
index 0000000..06010f4
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: 99 Bottles of Beer
+# SEE: <http://rosettacode.org/wiki/99_Bottles_of_Beer>
+module bottles_of_beer
+
+for i in [1..99].reverse_iterator do
+       print "{i} bottles of beer on the wall"
+       print "{i} bottles of beer"
+       print "Take one down, pass it around"
+       print "{i-1} bottles of beer on the wall\n"
+end
diff --git a/examples/rosettacode/caesar_cipher.nit b/examples/rosettacode/caesar_cipher.nit
new file mode 100644 (file)
index 0000000..e6d6272
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Ceasar cipher
+# SEE: <http://rosettacode.org/wiki/Caesar_cipher>
+module caesar_cipher
+
+import crypto
+
+var key = 31
+var msg = "Batman's hood is called a \"cowl\" (old meaning)."
+var cipher = msg.rot(key)
+
+print "Caesar cypher key: {key}"
+print "plain text: {msg}"
+print "cyphered: {cipher}"
+print "uncyphered: {cipher.rot(-key)}"
diff --git a/examples/rosettacode/catalan_numbers.nit b/examples/rosettacode/catalan_numbers.nit
new file mode 100644 (file)
index 0000000..e6e4bad
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+#
+# Task: Catalan numbers
+# SEE: <http://rosettacode.org/wiki/Catalan_numbers>
+
+fun catalan_number(number: Int): Int do
+       var numerator = (2 * number).factorial
+       var denominator = (number + 1).factorial * number.factorial
+       return numerator/denominator
+end
+
+for number in [0..10[ do
+       print "{number} = {catalan_number(number)}"
+end
diff --git a/examples/rosettacode/count_the_coins.nit b/examples/rosettacode/count_the_coins.nit
new file mode 100644 (file)
index 0000000..9496939
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Count_the_coins
+# SEE: <http://rosettacode.org/wiki/Count_the_coins>
+module count_the_coins
+
+fun changes(amount: Int, coins: Array[Int]): Int
+do
+       var cache = new Array[Int].filled_with(0, amount+1)
+       cache[0] = 1
+       for coin in coins do
+               for j in [coin..amount] do
+                       cache[j] += cache[j - coin]
+               end
+       end
+       return cache[amount]
+end
+
+print changes(100, [1, 5, 10, 25])
+print changes(100000, [1, 5, 10, 25, 50, 100])
diff --git a/examples/rosettacode/factorial.nit b/examples/rosettacode/factorial.nit
new file mode 100644 (file)
index 0000000..0b39727
--- /dev/null
@@ -0,0 +1,20 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Factorial
+# SEE: <http://rosettacode.org/wiki/Factorial>
+
+module factorial
+
+redef class Int
+
+    fun fact: Int
+    do
+        if self < 1 then return 1
+        return self * (self-1).fact
+    end
+end
+var n = gets.to_i
+print n.fact
\ No newline at end of file
diff --git a/examples/rosettacode/first_letter_last_letter.nit b/examples/rosettacode/first_letter_last_letter.nit
new file mode 100644 (file)
index 0000000..dcbcd24
--- /dev/null
@@ -0,0 +1,46 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Last letter-first letter
+# SEE: <http://rosettacode.org/wiki/Last letter-first letter>
+module first_letter_last_letter
+
+fun search(words: String): Array[String]
+do
+       var list = words.split("[ \n]".to_re)
+       var res = search_2(new Array[String], list)
+       return res
+end
+
+fun search_2(state, remain: Array[String]): Array[String]
+do
+       if remain.is_empty then return state
+       var last
+       var res = state
+       if state.is_empty then last = null else last = state.last.chars.last
+       for word in remain do
+               if last != null and word.chars.first != last then continue
+               var new_state = state + [word]
+               var new_remain = remain.clone
+               new_remain.remove(word)
+               var sub_res = search_2(new_state, new_remain)
+               if sub_res.length > res.length then
+                       res = sub_res
+               end
+       end
+       return res
+end
+
+var words = """audino bagon baltoy banette bidoof braviary
+bronzor carracosta charmeleon cresselia croagunk darmanitan deino
+emboar emolga exeggcute gabite girafarig gulpin haxorus heatmor
+heatran ivysaur jellicent jumpluff kangaskhan kricketune landorus
+ledyba loudred lumineon lunatone machamp magnezone mamoswine nosepass
+petilil pidgeotto pikachu pinsir poliwrath poochyena porygon2
+porygonz registeel relicanth remoraid rufflet sableye scolipede
+scrafty seaking sealeo silcoon simisear snivy snorlax spoink starly
+tirtouga trapinch treecko tyrogue vigoroth vulpix wailord wartortle
+whismur wingull yamask"""
+print search(words).join("\n")
diff --git a/examples/rosettacode/here_document.nit b/examples/rosettacode/here_document.nit
new file mode 100644 (file)
index 0000000..f22a5be
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Here_document
+# SEE: <http://rosettacode.org/wiki/Here_document>
+module here_document
+
+print """
+A here document (or "heredoc") is a way of specifying a text block,
+preserving the line breaks,
+indentation and other whitespace within the text.
+
+Nit borrows the triple-quoted string syntax from Python.
+"""
diff --git a/examples/rosettacode/letter_frequency.nit b/examples/rosettacode/letter_frequency.nit
new file mode 100644 (file)
index 0000000..8b4233d
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Open a text file and count the occurrences of each letter.
+# SEE: <http://rosettacode.org/wiki/Letter_frequency>
+#
+
+import counter
+
+var file = new FileReader.open("/etc/issue")
+var counter = new Counter[Char]
+while not file.eof do
+       var char = file.read_char
+       if char != null and char.is_letter then
+               counter.inc(char)
+       end
+end
+
+for char, count in counter do
+       print "{char} => {count}"
+end
diff --git a/examples/rosettacode/median.nit b/examples/rosettacode/median.nit
new file mode 100644 (file)
index 0000000..fd21ad7
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Median
+# SEE: <http://rosettacode.org/wiki/Averages/Median>
+module median
+
+# Computes the median or the `array` values.
+fun median(array: Array[Float]): nullable Float do
+       if array.is_empty then return null
+       default_comparator.sort(array)
+       var mid = (array.length / 2).to_i
+       var rem = ((array.length - 1) / 2).to_i
+       return (array[mid] + array[rem]).to_f / 2.0
+end
+
+print median(new Array[Float]) or else "null"
+print median([5.0, 3.0, 4.0]) or else "null"
+print median([5.0, 4.0, 2.0, 3.0]) or else "null"
+print median([3.0, 4.0, 1.0, -8.4, 7.2, 4.0, 1.0, 1.2]) or else "null"
diff --git a/examples/rosettacode/perfect_numbers.nit b/examples/rosettacode/perfect_numbers.nit
new file mode 100644 (file)
index 0000000..b280bd7
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Perfect numbers
+# SEE: <http://rosettacode.org/wiki/Perfect_Numbers>
+
+module perfect_numbers
+
+
+fun isPerfect(x: Int): Bool
+do
+       var sum: Int = 0
+       for i in [1..(x-1)] do
+               if x%i == 0 then sum = sum+i
+       end
+       return sum == x
+end
+
+var n = gets.to_i
+print isPerfect(n)
\ No newline at end of file
diff --git a/examples/rosettacode/pernicious_numbers.nit b/examples/rosettacode/pernicious_numbers.nit
new file mode 100644 (file)
index 0000000..308779b
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Pernicious numbers
+#
+# SEE: http://rosettacode.org/wiki/Pernicious_numbers
+
+var n_pernicious = 0
+var x = 0
+while n_pernicious < 25 do
+       if x.number_bits(1).is_prime then
+               print x
+               n_pernicious += 1
+       end
+       x += 1
+end
+
+for i in [888888877..888888888[ do
+       if i.number_bits(1).is_prime then print i
+end
diff --git a/examples/rosettacode/pick_random.nit b/examples/rosettacode/pick_random.nit
new file mode 100644 (file)
index 0000000..879de52
--- /dev/null
@@ -0,0 +1,11 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Pick random element
+#
+# SEE: http://rosettacode.org/wiki/Pick_random_element
+
+var array = [1,2,3,4,5,6,7,8,9,10]
+print array.rand
diff --git a/examples/rosettacode/semordnilap.nit b/examples/rosettacode/semordnilap.nit
new file mode 100644 (file)
index 0000000..996fe1c
--- /dev/null
@@ -0,0 +1,38 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Simple Rosettacode task for the detection of semordnilaps in a text file
+#
+# SEE: http://rosettacode.org/wiki/Semordnilap
+module semordnilap
+
+if args.is_empty then
+       print "Usage: ./semordnilap file"
+       exit(1)
+end
+
+var filename = args[0]
+var words = new HashSet[String]
+
+for i in filename.to_path.each_line do words.add i.trim
+
+var semordnilaps = new HashSet[String]
+var pairs = new HashMap[String, String]
+
+for i in words do
+       var revi = i.reversed
+       if i != revi and words.has(revi) and not semordnilaps.has(i) then
+               semordnilaps.add i
+               semordnilaps.add revi
+               pairs[i] = revi
+       end
+end
+
+print "Found {pairs.length} semordnilaps in {args[0]}"
+var it = pairs.iterator
+for i in [0 .. 5[ do
+       print "{it.key}: {it.item}"
+       it.next
+end
diff --git a/examples/rosettacode/symmetric_difference.nit b/examples/rosettacode/symmetric_difference.nit
new file mode 100644 (file)
index 0000000..fdbe160
--- /dev/null
@@ -0,0 +1,53 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Symmetric difference
+# SEE: <http://rosettacode.org/wiki/Symmetric_difference>
+
+module symmetric_difference
+
+var a = ["John", "Serena", "Bob", "Mary", "Serena"]
+var b = ["Jim", "Mary", "John", "Jim", "Bob"]
+
+print "Set A: {a.join(", ")}"
+print "Set B: {b.join(", ")}"
+
+# Option 1: union of differences
+var not_in_a = new ArraySet[String]
+not_in_a.add_all(b)
+for x in a do
+       not_in_a.remove_all(x)
+end
+
+var not_in_b = new ArraySet[String]
+not_in_b.add_all(a)
+for x in b do
+       not_in_b.remove_all(x)
+end
+
+var difference = not_in_a.clone
+difference.add_all(not_in_b)
+
+print "Symmetric difference: {difference.join(", ")}"
+
+# Option 2: union minus intersection
+var union = new ArraySet[String]
+union.add_all(a)
+union.add_all(b)
+
+var b1 = new ArraySet[String]
+b1.add_all(b)
+
+var intersect
+intersect = new ArraySet[String]
+intersect.add_all(a)
+intersect = intersect.intersection(b1)
+
+var difference2 = union.clone
+for x in intersect do
+       difference2.remove_all(x)
+end
+
+print "Symmetric difference: {difference2.join(", ")}"
\ No newline at end of file
diff --git a/examples/rosettacode/unixdict.txt b/examples/rosettacode/unixdict.txt
new file mode 100644 (file)
index 0000000..c69eff8
--- /dev/null
@@ -0,0 +1,25104 @@
+10th
+1st
+2nd
+3rd
+4th
+5th
+6th
+7th
+8th
+9th
+a
+a&m
+a&p
+a's
+aaa
+aaas
+aarhus
+aaron
+aau
+aba
+ababa
+aback
+abacus
+abalone
+abandon
+abase
+abash
+abate
+abater
+abbas
+abbe
+abbey
+abbot
+abbott
+abbreviate
+abc
+abdicate
+abdomen
+abdominal
+abduct
+abe
+abed
+abel
+abelian
+abelson
+aberdeen
+abernathy
+aberrant
+aberrate
+abet
+abetted
+abetting
+abeyance
+abeyant
+abhorred
+abhorrent
+abide
+abidjan
+abigail
+abject
+ablate
+ablaze
+able
+ablution
+abner
+abnormal
+abo
+aboard
+abode
+abolish
+abolition
+abominable
+abominate
+aboriginal
+aborigine
+aborning
+abort
+abound
+about
+above
+aboveboard
+aboveground
+abovementioned
+abrade
+abraham
+abram
+abramson
+abrasion
+abrasive
+abreact
+abreast
+abridge
+abridgment
+abroad
+abrogate
+abrupt
+abscess
+abscissa
+abscissae
+absence
+absent
+absentee
+absenteeism
+absentia
+absentminded
+absinthe
+absolute
+absolution
+absolve
+absorb
+absorbent
+absorption
+absorptive
+abstain
+abstention
+abstinent
+abstract
+abstracter
+abstractor
+abstruse
+absurd
+abuilding
+abundant
+abusable
+abuse
+abusive
+abut
+abutted
+abutting
+abysmal
+abyss
+abyssinia
+ac
+academe
+academia
+academic
+academician
+academy
+acadia
+acanthus
+acapulco
+accede
+accelerate
+accelerometer
+accent
+accentual
+accentuate
+accept
+acceptant
+acceptor
+access
+accessible
+accession
+accessory
+accident
+accidental
+accipiter
+acclaim
+acclamation
+acclimate
+accolade
+accommodate
+accompaniment
+accompanist
+accompany
+accomplice
+accomplish
+accord
+accordant
+accordion
+accost
+account
+accountant
+accra
+accredit
+accreditate
+accreditation
+accretion
+accrual
+accrue
+acculturate
+accumulate
+accuracy
+accurate
+accusation
+accusative
+accusatory
+accuse
+accustom
+ace
+acerbic
+acerbity
+acetate
+acetic
+acetone
+acetylene
+ache
+achieve
+achilles
+aching
+achromatic
+acid
+acidic
+acidulous
+ackerman
+ackley
+acknowledge
+acknowledgeable
+acm
+acme
+acolyte
+acorn
+acoustic
+acquaint
+acquaintance
+acquiesce
+acquiescent
+acquire
+acquisition
+acquisitive
+acquit
+acquittal
+acquitting
+acre
+acreage
+acrid
+acrimonious
+acrimony
+acrobacy
+acrobat
+acrobatic
+acronym
+acropolis
+across
+acrylate
+acrylic
+acs
+act
+actaeon
+actinic
+actinide
+actinium
+actinolite
+actinometer
+activate
+activation
+activism
+acton
+actor
+actress
+acts
+actual
+actuarial
+actuate
+acuity
+acumen
+acute
+acyclic
+ad
+ada
+adage
+adagio
+adair
+adam
+adamant
+adams
+adamson
+adapt
+adaptation
+adaptive
+add
+added
+addend
+addenda
+addendum
+addict
+addis
+addison
+addition
+additional
+additive
+addle
+address
+addressee
+addressograph
+adduce
+adelaide
+adele
+adelia
+aden
+adenine
+adenoma
+adenosine
+adept
+adequacy
+adequate
+adhere
+adherent
+adhesion
+adhesive
+adiabatic
+adieu
+adipic
+adirondack
+adjacent
+adject
+adjectival
+adjective
+adjoin
+adjoint
+adjourn
+adjudge
+adjudicate
+adjunct
+adjust
+adjutant
+adkins
+adler
+administer
+administrable
+administrate
+administratrix
+admiral
+admiralty
+admiration
+admire
+admissible
+admission
+admit
+admittance
+admitted
+admitting
+admix
+admixture
+admonish
+admonition
+ado
+adobe
+adolescent
+adolph
+adolphus
+adonis
+adopt
+adoption
+adoptive
+adore
+adorn
+adposition
+adrenal
+adrenaline
+adrian
+adriatic
+adrienne
+adrift
+adroit
+adsorb
+adsorbate
+adsorption
+adsorptive
+adulate
+adult
+adulterate
+adulterous
+adultery
+adulthood
+advance
+advantage
+advantageous
+advent
+adventitious
+adventure
+adventurous
+adverb
+adverbial
+adversary
+adverse
+advert
+advertise
+advice
+advisable
+advise
+advisee
+advisor
+advisory
+advocacy
+advocate
+aegean
+aegis
+aeneas
+aeneid
+aeolian
+aeolus
+aerate
+aerial
+aerobacter
+aerobic
+aerodynamic
+aerogene
+aeronautic
+aerosol
+aerospace
+aeschylus
+aesthete
+aesthetic
+afar
+affable
+affair
+affect
+affectate
+affectation
+affectionate
+afferent
+affiance
+affidavit
+affiliate
+affine
+affinity
+affirm
+affirmation
+affirmative
+affix
+afflict
+affluence
+affluent
+afford
+afforest
+afforestation
+affricate
+affront
+afghan
+afghanistan
+aficionado
+afield
+afire
+aflame
+afloat
+afoot
+aforementioned
+aforesaid
+aforethought
+afoul
+afraid
+afresh
+africa
+afro
+aft
+aftereffect
+afterglow
+afterimage
+afterlife
+aftermath
+afternoon
+afterthought
+afterward
+afterword
+again
+against
+agamemnon
+agate
+agatha
+agave
+age
+agee
+agenda
+agent
+agglomerate
+agglutinate
+agglutinin
+aggravate
+aggregate
+aggression
+aggressive
+aggressor
+aggrieve
+aghast
+agile
+aging
+agitate
+agleam
+agnes
+agnew
+agnomen
+agnostic
+ago
+agone
+agony
+agouti
+agrarian
+agree
+agreeable
+agreed
+agreeing
+agribusiness
+agricola
+agricultural
+agriculture
+agrimony
+ague
+agway
+ah
+ahead
+ahem
+ahmadabad
+ahmedabad
+ahoy
+aid
+aida
+aide
+aides
+aiken
+ail
+ailanthus
+aile
+aileen
+aileron
+aim
+ain't
+ainu
+air
+airborne
+aircraft
+airdrop
+airedale
+aires
+airfare
+airfield
+airflow
+airfoil
+airframe
+airlift
+airline
+airlock
+airmail
+airman
+airmass
+airmen
+airpark
+airplane
+airport
+airspace
+airspeed
+airstrip
+airtight
+airway
+airy
+aisle
+aitken
+ajar
+ajax
+ak
+akers
+akin
+akron
+al
+ala
+alabama
+alabamian
+alabaster
+alacrity
+alai
+alameda
+alamo
+alan
+alarm
+alaska
+alb
+alba
+albacore
+albania
+albanian
+albany
+albatross
+albeit
+alberich
+albert
+alberta
+alberto
+albrecht
+albright
+album
+albumin
+albuquerque
+alcestis
+alchemy
+alcmena
+alcoa
+alcohol
+alcoholic
+alcoholism
+alcott
+alcove
+aldebaran
+aldehyde
+alden
+alder
+alderman
+aldermen
+aldrich
+aldrin
+ale
+alec
+aleck
+aleph
+alert
+alewife
+alex
+alexander
+alexandra
+alexandre
+alexandria
+alexei
+alexis
+alfalfa
+alfonso
+alfred
+alfredo
+alfresco
+alga
+algae
+algaecide
+algal
+algebra
+algebraic
+algenib
+alger
+algeria
+algerian
+algiers
+alginate
+algol
+algonquin
+algorithm
+algorithmic
+alhambra
+ali
+alia
+alias
+alibi
+alice
+alicia
+alien
+alienate
+alight
+align
+alike
+alimony
+aliphatic
+aliquot
+alison
+alistair
+alive
+alizarin
+alkali
+alkaline
+alkaloid
+alkane
+alkene
+all
+allah
+allan
+allay
+allegate
+allegation
+allege
+allegheny
+allegiant
+allegoric
+allegory
+allegra
+allegro
+allele
+allemand
+allen
+allentown
+allergic
+allergy
+alleviate
+alley
+alleyway
+alliance
+allied
+alligator
+allis
+allison
+alliterate
+allocable
+allocate
+allot
+allotropic
+allotted
+allotting
+allow
+allowance
+alloy
+allspice
+allstate
+allude
+allure
+allusion
+allusive
+alluvial
+alluvium
+ally
+allyl
+allyn
+alma
+almaden
+almagest
+almanac
+almighty
+almond
+almost
+aloe
+aloft
+aloha
+alone
+along
+alongside
+aloof
+aloud
+alp
+alpenstock
+alpert
+alpha
+alphabet
+alphabetic
+alphameric
+alphanumeric
+alpheratz
+alphonse
+alpine
+alps
+already
+alsatian
+also
+alsop
+altair
+altar
+alter
+alterate
+alteration
+altercate
+alterman
+altern
+alternate
+althea
+although
+altimeter
+altitude
+alto
+altogether
+alton
+altruism
+altruist
+alum
+alumina
+aluminate
+alumna
+alumnae
+alumni
+alumnus
+alundum
+alva
+alvarez
+alveolar
+alveoli
+alveolus
+alvin
+alway
+always
+alyssum
+am
+ama
+amadeus
+amalgam
+amalgamate
+amanita
+amanuensis
+amaranth
+amarillo
+amass
+amateur
+amateurish
+amatory
+amaze
+amazon
+ambassador
+amber
+ambiance
+ambidextrous
+ambient
+ambiguity
+ambiguous
+ambition
+ambitious
+ambivalent
+amble
+ambling
+ambrose
+ambrosia
+ambrosial
+ambulant
+ambulate
+ambulatory
+ambuscade
+ambush
+amelia
+ameliorate
+amen
+amend
+amende
+amerada
+america
+american
+americana
+americanism
+americium
+ames
+ameslan
+amethyst
+amethystine
+amherst
+ami
+amicable
+amid
+amide
+amidst
+amigo
+amino
+aminobenzoic
+amiss
+amity
+amman
+ammerman
+ammeter
+ammo
+ammonia
+ammoniac
+ammonium
+ammunition
+amnesia
+amoco
+amoeba
+amoebae
+amok
+among
+amongst
+amoral
+amorous
+amorphous
+amort
+amos
+amount
+amp
+amperage
+ampere
+ampersand
+ampex
+amphetamine
+amphibian
+amphibious
+amphibole
+amphibology
+amphioxis
+ample
+amplifier
+amplify
+amplitude
+amply
+amputate
+amputee
+amra
+amsterdam
+amtrak
+amulet
+amuse
+amy
+amygdaloid
+an
+ana
+anabaptist
+anabel
+anachronism
+anachronistic
+anaconda
+anaerobic
+anaglyph
+anagram
+anaheim
+analeptic
+analgesic
+analogous
+analogue
+analogy
+analyses
+analysis
+analyst
+analytic
+anamorphic
+anaplasmosis
+anarch
+anarchic
+anarchy
+anastasia
+anastigmat
+anastigmatic
+anastomosis
+anastomotic
+anathema
+anatole
+anatomic
+anatomy
+ancestor
+ancestral
+ancestry
+anchor
+anchorage
+anchorite
+anchoritism
+anchovy
+ancient
+ancillary
+and
+andean
+andersen
+anderson
+andes
+andesine
+andesite
+andiron
+andorra
+andover
+andre
+andrea
+andrei
+andrew
+andrews
+andromache
+andromeda
+andy
+anecdotal
+anecdote
+anemone
+anent
+anew
+angel
+angela
+angeles
+angelfish
+angelic
+angelica
+angelina
+angeline
+angelo
+anger
+angie
+angiosperm
+angle
+angles
+anglican
+anglicanism
+angling
+anglo
+anglophobia
+angola
+angora
+angry
+angst
+angstrom
+anguish
+angular
+angus
+anharmonic
+anheuser
+anhydride
+anhydrite
+anhydrous
+ani
+aniline
+animadversion
+animadvert
+animal
+animate
+animism
+animosity
+anion
+anionic
+anise
+aniseikonic
+anisotropic
+anisotropy
+anita
+ankara
+ankle
+ann
+anna
+annal
+annale
+annalen
+annals
+annapolis
+anne
+anneal
+annette
+annex
+annie
+annihilate
+anniversary
+annotate
+announce
+annoy
+annoyance
+annual
+annuity
+annul
+annular
+annuli
+annulled
+annulling
+annulus
+annum
+annunciate
+anode
+anodic
+anomalous
+anomaly
+anomie
+anonymity
+anonymous
+anorexia
+anorthic
+anorthite
+anorthosite
+another
+anselm
+anselmo
+ansi
+answer
+ant
+antacid
+antaeus
+antagonism
+antagonist
+antagonistic
+antarctic
+antarctica
+antares
+ante
+anteater
+antebellum
+antecedent
+antedate
+antelope
+antenna
+antennae
+anterior
+anteroom
+anthem
+anther
+anthology
+anthony
+anthracite
+anthracnose
+anthropogenic
+anthropology
+anthropomorphic
+anthropomorphism
+anti
+antic
+anticipate
+anticipatory
+antietam
+antigen
+antigone
+antigorite
+antimony
+antioch
+antipasto
+antipathy
+antiperspirant
+antiphonal
+antipode
+antipodean
+antipodes
+antiquarian
+antiquary
+antiquated
+antique
+antiquity
+antisemite
+antisemitic
+antisemitism
+antithetic
+antler
+antoine
+antoinette
+anton
+antonio
+antony
+antonym
+antwerp
+anus
+anvil
+anxiety
+anxious
+any
+anybody
+anybody'd
+anyhow
+anyone
+anyplace
+anything
+anyway
+anywhere
+aorta
+apace
+apache
+apart
+apartheid
+apathetic
+apathy
+apatite
+ape
+aperiodic
+aperture
+apex
+aphasia
+aphasic
+aphelion
+aphid
+aphorism
+aphrodite
+apices
+apiece
+aplomb
+apocalypse
+apocalyptic
+apocrypha
+apocryphal
+apogee
+apollo
+apollonian
+apologetic
+apologia
+apology
+apostate
+apostle
+apostolic
+apostrophe
+apothecary
+apothegm
+apotheosis
+appalachia
+appall
+appanage
+apparatus
+apparel
+apparent
+apparition
+appeal
+appear
+appearance
+appeasable
+appease
+appellant
+appellate
+append
+appendage
+appendices
+appendix
+apperception
+appertain
+appetite
+appian
+applaud
+applause
+apple
+appleby
+applejack
+appleton
+appliance
+applicable
+applicant
+applicate
+application
+applied
+applique
+apply
+appoint
+appointe
+appointee
+apport
+apportion
+apposite
+apposition
+appraisal
+appraise
+appreciable
+appreciate
+apprehend
+apprehension
+apprehensive
+apprentice
+apprise
+approach
+approbation
+appropriable
+appropriate
+approval
+approve
+approximable
+approximant
+approximate
+apr
+apricot
+april
+apron
+apropos
+aps
+apse
+apt
+aptitude
+aqua
+aquarium
+aquarius
+aquatic
+aqueduct
+aqueous
+aquila
+aquinas
+ar
+arab
+arabesque
+arabia
+arabic
+araby
+arachne
+arachnid
+arbiter
+arbitrage
+arbitrary
+arbitrate
+arboreal
+arboretum
+arbutus
+arc
+arcade
+arcadia
+arcana
+arcane
+arccos
+arccosine
+arch
+archae
+archaic
+archaism
+archangel
+archbishop
+archdiocese
+archenemy
+archer
+archery
+archetype
+archetypical
+archfool
+archibald
+archimedes
+arching
+archipelago
+architect
+architectonic
+architectural
+architecture
+archival
+archive
+arcing
+arclength
+arcsin
+arcsine
+arctan
+arctangent
+arctic
+arcturus
+arden
+ardency
+ardent
+arduous
+are
+area
+areaway
+areawide
+aren't
+arena
+arenaceous
+arequipa
+ares
+argentina
+argillaceous
+arginine
+argive
+argo
+argon
+argonaut
+argonne
+argot
+argue
+argument
+argumentation
+argumentative
+argus
+arhat
+ariadne
+arianism
+arid
+aries
+arise
+arisen
+aristocracy
+aristocrat
+aristocratic
+aristotelean
+aristotelian
+aristotle
+arithmetic
+arizona
+ark
+arkansan
+arkansas
+arlen
+arlene
+arlington
+arm
+armada
+armadillo
+armageddon
+armament
+armata
+armature
+armchair
+armco
+armenia
+armenian
+armful
+armhole
+armillaria
+armistice
+armload
+armoire
+armonk
+armour
+armpit
+armstrong
+army
+arnold
+aroma
+aromatic
+arose
+around
+arousal
+arouse
+arpa
+arpeggio
+arrack
+arragon
+arraign
+arrange
+arrangeable
+array
+arrear
+arrest
+arrhenius
+arrival
+arrive
+arrogant
+arrogate
+arrow
+arrowhead
+arrowroot
+arroyo
+arsenal
+arsenate
+arsenic
+arsenide
+arsine
+arson
+art
+artemis
+artemisia
+arterial
+arteriole
+arteriolosclerosis
+arteriosclerosis
+artery
+artful
+arthritis
+arthur
+artichoke
+article
+articulate
+articulatory
+artie
+artifact
+artifice
+artificial
+artillery
+artisan
+artistry
+arturo
+artwork
+arty
+aruba
+arum
+aryl
+as
+asbestos
+ascend
+ascendant
+ascension
+ascent
+ascertain
+ascetic
+asceticism
+ascomycetes
+ascribe
+ascription
+aseptic
+asexual
+ash
+ashame
+ashamed
+ashen
+asher
+asheville
+ashland
+ashley
+ashman
+ashmen
+ashmolean
+ashore
+ashtray
+ashy
+asia
+asiatic
+aside
+asilomar
+asinine
+ask
+askance
+askew
+asleep
+asocial
+asparagine
+asparagus
+aspartic
+aspect
+aspen
+asperity
+aspersion
+asphalt
+aspheric
+asphyxiate
+aspidistra
+aspirant
+aspirate
+aspire
+aspirin
+asplenium
+ass
+assai
+assail
+assailant
+assam
+assassin
+assassinate
+assault
+assay
+assemblage
+assemble
+assent
+assert
+assess
+assessor
+asset
+assiduity
+assiduous
+assign
+assignation
+assignee
+assimilable
+assimilate
+assist
+assistant
+associable
+associate
+assonant
+assort
+assuage
+assume
+assumption
+assurance
+assure
+assyria
+assyriology
+astarte
+astatine
+aster
+asteria
+asterisk
+asteroid
+asteroidal
+asthma
+astigmat
+astigmatic
+astigmatism
+astm
+astonish
+astor
+astoria
+astound
+astraddle
+astral
+astray
+astride
+astringent
+astrology
+astronaut
+astronautic
+astronomer
+astronomic
+astronomy
+astrophysical
+astrophysicist
+astrophysics
+astute
+asuncion
+asunder
+asylum
+asymmetry
+asymptote
+asymptotic
+asynchronous
+asynchrony
+at
+at&t
+atalanta
+atavism
+atavistic
+atchison
+ate
+athabascan
+atheism
+atheist
+athena
+athenian
+athens
+athlete
+athletic
+athwart
+atkins
+atkinson
+atlanta
+atlantes
+atlantic
+atlantica
+atlantis
+atlas
+atmosphere
+atmospheric
+atom
+atomic
+atonal
+atone
+atop
+atreus
+atrium
+atrocious
+atrocity
+atrophic
+atrophy
+atropos
+attach
+attache
+attack
+attain
+attainder
+attempt
+attend
+attendant
+attendee
+attention
+attentive
+attenuate
+attest
+attestation
+attic
+attica
+attire
+attitude
+attitudinal
+attorney
+attract
+attribute
+attribution
+attributive
+attrition
+attune
+atwater
+atwood
+atypic
+auberge
+aubrey
+auburn
+auckland
+auction
+auctioneer
+audacious
+audacity
+audible
+audience
+audio
+audiotape
+audiovisual
+audit
+audition
+auditor
+auditorium
+auditory
+audrey
+audubon
+auerbach
+aug
+augean
+augend
+auger
+augite
+augment
+augmentation
+augur
+august
+augusta
+augustan
+augustine
+augustus
+auk
+aunt
+auntie
+aura
+aural
+aurelius
+aureomycin
+auric
+auriga
+aurochs
+aurora
+auschwitz
+auspices
+auspicious
+austenite
+austere
+austin
+australia
+australis
+australite
+austria
+authentic
+authenticate
+author
+authoritarian
+authoritative
+autism
+autistic
+auto
+autobiography
+autoclave
+autocollimate
+autocorrelate
+autocracy
+autocrat
+autocratic
+autograph
+automat
+automata
+automate
+automatic
+automaton
+automobile
+automorphic
+automorphism
+automotive
+autonomic
+autonomous
+autonomy
+autopsy
+autosuggestible
+autotransformer
+autumn
+autumnal
+auxiliary
+avail
+avalanche
+avarice
+avaricious
+ave
+avenge
+aventine
+avenue
+aver
+average
+averred
+averring
+averse
+aversion
+avert
+avertive
+avery
+avesta
+aviary
+aviate
+aviatrix
+avid
+avionic
+avis
+aviv
+avocado
+avocate
+avocation
+avocet
+avogadro
+avoid
+avoidance
+avon
+avow
+avowal
+avuncular
+await
+awake
+awaken
+award
+aware
+awash
+away
+awe
+awesome
+awful
+awhile
+awkward
+awl
+awn
+awoke
+awry
+ax
+axe
+axes
+axial
+axiology
+axiom
+axiomatic
+axis
+axisymmetric
+axle
+axolotl
+axon
+aye
+ayers
+aylesbury
+az
+azalea
+azerbaijan
+azimuth
+azimuthal
+aztec
+aztecan
+azure
+b
+b's
+babbitt
+babble
+babcock
+babe
+babel
+baboon
+baby
+babyhood
+babylon
+babylonian
+babysat
+babysit
+babysitter
+babysitting
+baccalaureate
+baccarat
+bacchus
+bach
+bachelor
+bacilli
+bacillus
+back
+backboard
+backbone
+backdrop
+backfill
+backgammon
+background
+backhand
+backlash
+backlog
+backorder
+backpack
+backplane
+backplate
+backscatter
+backside
+backspace
+backstage
+backstitch
+backstop
+backtrack
+backup
+backward
+backwater
+backwood
+backyard
+bacon
+bacteria
+bacterial
+bacterium
+bad
+bade
+baden
+badge
+badinage
+badland
+badminton
+baffin
+baffle
+bag
+bagatelle
+bagel
+baggage
+bagging
+baggy
+baghdad
+bagley
+bagpipe
+bah
+bahama
+bahrein
+bail
+bailey
+bailiff
+bainite
+baird
+bait
+bake
+bakelite
+bakersfield
+bakery
+bakhtiari
+baklava
+baku
+balance
+balboa
+balcony
+bald
+baldpate
+baldwin
+baldy
+bale
+baleen
+baleful
+balfour
+bali
+balinese
+balk
+balkan
+balky
+ball
+ballad
+ballard
+ballast
+balled
+ballerina
+ballet
+balletic
+balletomane
+ballfield
+balloon
+ballot
+ballroom
+ballyhoo
+balm
+balmy
+balsa
+balsam
+baltic
+baltimore
+baltimorean
+balustrade
+balzac
+bam
+bamako
+bamberger
+bambi
+bamboo
+ban
+banach
+banal
+banana
+banbury
+band
+bandage
+bandgap
+bandit
+bandpass
+bandstand
+bandstop
+bandwagon
+bandwidth
+bandy
+bane
+baneberry
+baneful
+bang
+bangkok
+bangladesh
+bangle
+bangor
+bangui
+banish
+banister
+banjo
+bank
+bankrupt
+bankruptcy
+banks
+banquet
+banshee
+bantam
+banter
+bantu
+bantus
+baptism
+baptismal
+baptist
+baptiste
+baptistery
+bar
+barb
+barbados
+barbara
+barbarian
+barbaric
+barbarism
+barbarous
+barbecue
+barbell
+barber
+barberry
+barbital
+barbiturate
+barbour
+barbudo
+barcelona
+barclay
+bard
+bare
+barefaced
+barefoot
+barfly
+bargain
+barge
+baritone
+barium
+bark
+barkeep
+barley
+barlow
+barn
+barnabas
+barnacle
+barnard
+barnes
+barnet
+barnett
+barney
+barnhard
+barnstorm
+barnyard
+barometer
+baron
+baroness
+baronet
+baronial
+barony
+baroque
+barr
+barrack
+barracuda
+barrage
+barre
+barrel
+barren
+barrett
+barrette
+barricade
+barrier
+barrington
+barrow
+barry
+barrymore
+barstow
+bart
+bartend
+bartender
+barter
+barth
+bartholomew
+bartlett
+bartok
+barton
+barycentric
+basal
+basalt
+base
+baseball
+baseband
+baseboard
+basel
+baseline
+baseman
+basemen
+baseplate
+basepoint
+bash
+bashaw
+bashful
+basic
+basidiomycetes
+basil
+basilar
+basilisk
+basin
+basis
+bask
+basket
+basketball
+basophilic
+bass
+bassett
+bassi
+bassinet
+basso
+basswood
+bastard
+baste
+bastion
+bat
+batavia
+batch
+batchelder
+bate
+bateau
+bateman
+bater
+bates
+bath
+bathe
+bathos
+bathrobe
+bathroom
+bathtub
+bathurst
+batik
+baton
+bator
+batt
+battalion
+battelle
+batten
+battery
+battle
+battlefield
+battlefront
+battleground
+batwing
+bauble
+baud
+baudelaire
+bauer
+bauhaus
+bausch
+bauxite
+bavaria
+bawd
+bawdy
+bawl
+baxter
+bay
+bayberry
+bayda
+bayed
+bayesian
+baylor
+bayonet
+bayonne
+bayou
+bayport
+bayreuth
+bazaar
+be
+beach
+beachcomb
+beachhead
+beacon
+bead
+beadle
+beady
+beak
+beam
+bean
+bear
+bearberry
+beard
+beardsley
+bearish
+beast
+beastie
+beat
+beaten
+beater
+beatific
+beatify
+beatitude
+beatnik
+beatrice
+beau
+beaujolais
+beaumont
+beauregard
+beauteous
+beautiful
+beautify
+beauty
+beaux
+beaver
+bebop
+becalm
+became
+because
+bechtel
+beck
+becker
+becket
+beckman
+beckon
+becky
+becloud
+become
+bed
+bedazzle
+bedbug
+bedevil
+bedfast
+bedford
+bedim
+bedimmed
+bedimming
+bedlam
+bedpost
+bedraggle
+bedridden
+bedrock
+bedroom
+bedside
+bedspread
+bedspring
+bedstraw
+bedtime
+bee
+beebe
+beebread
+beech
+beecham
+beechwood
+beef
+beefsteak
+beefy
+beehive
+been
+beep
+beer
+beet
+beethoven
+beetle
+befall
+befallen
+befell
+befit
+befitting
+befog
+befogging
+before
+beforehand
+befoul
+befuddle
+beg
+began
+beget
+begetting
+beggar
+beggary
+begging
+begin
+beginner
+beginning
+begonia
+begotten
+begrudge
+beguile
+begun
+behalf
+behave
+behavioral
+behead
+beheld
+behest
+behind
+behold
+beige
+beijing
+being
+beirut
+bel
+bela
+belate
+belch
+belfast
+belfry
+belgian
+belgium
+belgrade
+belie
+belief
+belies
+believe
+belittle
+bell
+bella
+belladonna
+bellamy
+bellatrix
+bellboy
+belle
+bellflower
+bellhop
+bellicose
+belligerent
+bellingham
+bellini
+bellman
+bellmen
+bellow
+bellum
+bellwether
+belly
+bellyache
+bellyfull
+belmont
+beloit
+belong
+belove
+below
+belshazzar
+belt
+beltsville
+belvedere
+belvidere
+belying
+bema
+bemadden
+beman
+bemoan
+bemuse
+ben
+bench
+benchmark
+bend
+bender
+bendix
+beneath
+benedict
+benedictine
+benediction
+benedikt
+benefactor
+benefice
+beneficent
+beneficial
+beneficiary
+benefit
+benelux
+benevolent
+bengal
+bengali
+benight
+benign
+benjamin
+bennett
+bennington
+benny
+benson
+bent
+bentham
+benthic
+bentley
+benton
+benz
+benzedrine
+benzene
+beograd
+beowulf
+beplaster
+bequeath
+bequest
+berate
+berea
+bereave
+bereft
+berenices
+beresford
+beret
+berg
+bergamot
+bergen
+bergland
+berglund
+bergman
+bergson
+bergstrom
+beribbon
+beriberi
+berkeley
+berkelium
+berkowitz
+berkshire
+berlin
+berlioz
+berlitz
+berman
+bermuda
+bern
+bernadine
+bernard
+bernardino
+bernardo
+berne
+bernet
+bernhard
+bernice
+bernie
+berniece
+bernini
+bernoulli
+bernstein
+berra
+berry
+berserk
+bert
+berth
+bertha
+bertie
+bertram
+bertrand
+berwick
+beryl
+beryllium
+beseech
+beset
+besetting
+beside
+besiege
+besmirch
+besotted
+bespeak
+bespectacled
+bespoke
+bess
+bessel
+bessemer
+bessie
+best
+bestial
+bestir
+bestirring
+bestow
+bestowal
+bestseller
+bestselling
+bestubble
+bet
+beta
+betatron
+betel
+betelgeuse
+beth
+bethel
+bethesda
+bethlehem
+bethought
+betide
+betoken
+betony
+betray
+betrayal
+betrayer
+betroth
+betrothal
+betsey
+betsy
+bette
+bettor
+betty
+between
+betwixt
+bevel
+beverage
+beverly
+bevy
+bewail
+beware
+bewhisker
+bewilder
+bewitch
+bey
+beyond
+bezel
+bhoy
+bhutan
+bialystok
+bianco
+bias
+biaxial
+bib
+bibb
+bible
+biblical
+bibliography
+bibliophile
+bicameral
+bicarbonate
+bicentennial
+bicep
+biceps
+bichromate
+bicker
+biconcave
+biconnected
+bicycle
+bid
+biddable
+bidden
+biddy
+bide
+bidiagonal
+bidirectional
+bien
+biennial
+biennium
+bifocal
+bifurcate
+big
+bigelow
+biggs
+bigot
+bigotry
+biharmonic
+bijection
+bijective
+bijouterie
+bike
+bikini
+bilabial
+bilateral
+bilayer
+bile
+bilge
+bilharziasis
+bilinear
+bilingual
+bilk
+bill
+billboard
+billet
+billfold
+billiard
+billie
+billiken
+billings
+billion
+billionth
+billow
+billy
+biltmore
+bimetallic
+bimetallism
+bimini
+bimodal
+bimolecular
+bimonthly
+bin
+binary
+binaural
+bind
+bindery
+bindle
+bindweed
+bing
+binge
+bingham
+binghamton
+bingle
+bini
+binocular
+binomial
+binuclear
+biochemic
+biography
+biology
+biometrika
+biometry
+biopsy
+biota
+biotic
+biotite
+bipartisan
+bipartite
+biplane
+bipolar
+biracial
+birch
+bird
+birdbath
+birdie
+birdlike
+birdseed
+birdwatch
+birefringent
+birgit
+birmingham
+birth
+birthday
+birthplace
+birthright
+biscuit
+bisect
+bisexual
+bishop
+bishopric
+bismarck
+bismark
+bismuth
+bison
+bisque
+bissau
+bistable
+bistate
+bit
+bitch
+bite
+bitnet
+bitt
+bitten
+bittern
+bitternut
+bitterroot
+bittersweet
+bitumen
+bituminous
+bitwise
+bivalve
+bivariate
+bivouac
+biz
+bizarre
+bizet
+blab
+black
+blackball
+blackberry
+blackbird
+blackboard
+blackbody
+blackburn
+blacken
+blackfeet
+blackjack
+blackmail
+blackman
+blackout
+blacksmith
+blackstone
+blackwell
+bladder
+bladdernut
+bladderwort
+blade
+blaine
+blair
+blake
+blame
+blameworthy
+blanc
+blanch
+blanchard
+blanche
+bland
+blandish
+blank
+blanket
+blare
+blaspheme
+blasphemous
+blasphemy
+blast
+blastula
+blat
+blatant
+blather
+blatz
+blaze
+blazon
+bleach
+bleak
+bleary
+bleat
+bled
+bleed
+bleeker
+blemish
+blend
+blenheim
+bless
+blest
+blew
+blight
+blimp
+blind
+blindfold
+blink
+blinn
+blip
+bliss
+blissful
+blister
+blithe
+blitz
+blizzard
+bloat
+blob
+bloc
+bloch
+block
+blockade
+blockage
+blockhouse
+blocky
+bloke
+blomberg
+blomquist
+blond
+blonde
+blood
+bloodbath
+bloodhound
+bloodline
+bloodroot
+bloodshed
+bloodshot
+bloodstain
+bloodstone
+bloodstream
+bloody
+bloom
+bloomfield
+bloomington
+bloop
+blossom
+blot
+blotch
+blouse
+blow
+blowback
+blowfish
+blown
+blowup
+blubber
+bludgeon
+blue
+blueback
+blueberry
+bluebill
+bluebird
+bluebonnet
+bluebook
+bluebush
+bluefish
+bluegill
+bluegrass
+bluejacket
+blueprint
+bluestocking
+bluet
+bluff
+bluish
+blum
+blumenthal
+blunder
+blunt
+blur
+blurb
+blurry
+blurt
+blush
+bluster
+blustery
+blutwurst
+blvd
+blythe
+bmw
+boa
+boar
+board
+boardinghouse
+boast
+boastful
+boat
+boathouse
+boatload
+boatman
+boatmen
+boatswain
+boatyard
+bob
+bobbie
+bobbin
+bobble
+bobby
+bobcat
+bobolink
+boca
+bock
+bocklogged
+bode
+bodhisattva
+bodice
+bodied
+bodleian
+body
+bodybuild
+bodybuilder
+bodybuilding
+bodyguard
+boeing
+boeotia
+boeotian
+bog
+bogey
+bogeymen
+bogging
+boggle
+boggy
+bogota
+bogus
+bogy
+bohemia
+bohr
+boil
+bois
+boise
+boisterous
+bold
+boldface
+bole
+boletus
+bolivar
+bolivia
+bolo
+bologna
+bolometer
+bolshevik
+bolshevism
+bolshevist
+bolshoi
+bolster
+bolt
+bolton
+boltzmann
+bomb
+bombard
+bombast
+bombastic
+bombay
+bombproof
+bon
+bona
+bonanza
+bonaparte
+bonaventure
+bond
+bondage
+bondholder
+bondsman
+bondsmen
+bone
+bonfire
+bong
+bongo
+boniface
+bonito
+bonn
+bonnet
+bonneville
+bonnie
+bonus
+bony
+bonze
+boo
+booby
+boogie
+book
+bookbind
+bookcase
+bookend
+bookie
+bookish
+bookkeep
+booklet
+bookmobile
+bookplate
+bookseller
+bookshelf
+bookshelves
+bookstore
+booky
+boolean
+boom
+boomerang
+boon
+boone
+boor
+boorish
+boost
+boot
+bootes
+booth
+bootleg
+bootlegged
+bootlegger
+bootlegging
+bootstrap
+bootstrapped
+bootstrapping
+booty
+booze
+bop
+borate
+borax
+bordeaux
+bordello
+borden
+border
+borderland
+borderline
+bore
+borealis
+boreas
+boredom
+borg
+boric
+boris
+born
+borne
+borneo
+boron
+borosilicate
+borough
+borroughs
+borrow
+bosch
+bose
+bosom
+boson
+bosonic
+boss
+boston
+bostonian
+boswell
+botanic
+botanist
+botany
+botch
+botfly
+both
+bothersome
+botswana
+bottle
+bottleneck
+bottom
+bottommost
+botulin
+botulism
+boucher
+bouffant
+bough
+bought
+boulder
+boule
+boulevard
+bounce
+bouncy
+bound
+boundary
+bounty
+bouquet
+bourbaki
+bourbon
+bourgeois
+bourgeoisie
+bourn
+boustrophedon
+bout
+boutique
+bovine
+bow
+bowditch
+bowdoin
+bowel
+bowen
+bowfin
+bowie
+bowl
+bowline
+bowman
+bowmen
+bowstring
+box
+boxcar
+boxwood
+boxy
+boy
+boyar
+boyce
+boycott
+boyd
+boyfriend
+boyhood
+boyish
+boyle
+boylston
+bp
+brace
+bracelet
+bracken
+bracket
+brackish
+bract
+brad
+bradbury
+bradford
+bradley
+bradshaw
+brady
+brae
+brag
+bragg
+braggart
+bragging
+brahmaputra
+brahms
+brahmsian
+braid
+braille
+brain
+brainard
+brainchild
+brainchildren
+brainstorm
+brainwash
+brainy
+brake
+brakeman
+bramble
+bran
+branch
+brand
+brandeis
+brandenburg
+brandish
+brandon
+brandt
+brandy
+brandywine
+braniff
+brant
+brash
+brasilia
+brass
+brassiere
+brassy
+bratwurst
+braun
+bravado
+brave
+bravery
+bravo
+bravura
+brawl
+bray
+brazen
+brazier
+brazil
+brazilian
+brazzaville
+breach
+bread
+breadboard
+breadfruit
+breadroot
+breadth
+breadwinner
+break
+breakage
+breakaway
+breakdown
+breakfast
+breakoff
+breakpoint
+breakthrough
+breakup
+breakwater
+bream
+breast
+breastplate
+breastwork
+breath
+breathe
+breathtaking
+breathy
+breccia
+bred
+breech
+breeches
+breed
+breeze
+breezy
+bremen
+bremsstrahlung
+brenda
+brendan
+brennan
+brenner
+brent
+brest
+brethren
+breton
+brett
+breve
+brevet
+brevity
+brew
+brewery
+brewster
+brian
+briar
+bribe
+bribery
+brice
+brick
+brickbat
+bricklay
+bricklayer
+bricklaying
+bridal
+bride
+bridegroom
+bridesmaid
+bridge
+bridgeable
+bridgehead
+bridgeport
+bridget
+bridgetown
+bridgewater
+bridgework
+bridle
+brief
+briefcase
+brig
+brigade
+brigadier
+brigantine
+briggs
+brigham
+bright
+brighten
+brighton
+brilliant
+brillouin
+brim
+brimful
+brimstone
+brindisi
+brindle
+brine
+bring
+brink
+brinkmanship
+briny
+brisbane
+brisk
+bristle
+bristol
+britain
+britannic
+britannica
+britches
+british
+briton
+brittany
+britten
+brittle
+broach
+broad
+broadcast
+broaden
+broadloom
+broadside
+broadway
+brocade
+broccoli
+brochure
+brock
+brockle
+broglie
+broil
+broke
+broken
+brokerage
+bromfield
+bromide
+bromine
+bromley
+bronchi
+bronchial
+bronchiolar
+bronchiole
+bronchitis
+bronchus
+bronco
+brontosaurus
+bronx
+bronze
+bronzy
+brood
+broody
+brook
+brooke
+brookhaven
+brookline
+brooklyn
+brookside
+broom
+broomcorn
+broth
+brothel
+brother
+brotherhood
+brought
+brouhaha
+brow
+browbeaten
+brown
+browne
+brownell
+brownian
+brownie
+brownish
+browse
+bruce
+brucellosis
+bruckner
+bruegel
+bruise
+bruit
+brumidi
+brunch
+brunette
+brunhilde
+bruno
+brunswick
+brunt
+brush
+brushfire
+brushlike
+brushwork
+brushy
+brusque
+brussels
+brutal
+brute
+bryan
+bryant
+bryce
+bryn
+bryophyta
+bryophyte
+bryozoa
+bstj
+btl
+btu
+bub
+bubble
+buchanan
+bucharest
+buchenwald
+buchwald
+buck
+buckaroo
+buckboard
+bucket
+bucketfull
+buckeye
+buckhorn
+buckle
+buckley
+bucknell
+buckshot
+buckskin
+buckthorn
+buckwheat
+bucolic
+bud
+budapest
+budd
+buddha
+buddhism
+buddhist
+buddy
+budge
+budget
+budgetary
+budweiser
+buena
+buenos
+buff
+buffalo
+buffet
+bufflehead
+buffoon
+bug
+bugaboo
+bugeyed
+bugging
+buggy
+bugle
+buick
+build
+buildup
+built
+builtin
+bujumbura
+bulb
+bulblet
+bulgaria
+bulge
+bulk
+bulkhead
+bulky
+bull
+bulldog
+bulldoze
+bullet
+bulletin
+bullfinch
+bullfrog
+bullhead
+bullhide
+bullish
+bullock
+bullseye
+bullwhack
+bully
+bullyboy
+bulrush
+bulwark
+bum
+bumble
+bumblebee
+bump
+bumptious
+bun
+bunch
+bundestag
+bundle
+bundoora
+bundy
+bungalow
+bungle
+bunk
+bunkmate
+bunny
+bunsen
+bunt
+bunyan
+buoy
+buoyant
+burbank
+burch
+burden
+burdensome
+burdock
+bureau
+bureaucracy
+bureaucrat
+bureaucratic
+buret
+burette
+burg
+burgeon
+burgess
+burgher
+burglar
+burglarproof
+burglary
+burgundian
+burgundy
+burial
+buried
+burke
+burl
+burlap
+burlesque
+burley
+burlington
+burly
+burma
+burmese
+burn
+burnett
+burnham
+burnish
+burnout
+burnside
+burnt
+burp
+burr
+burro
+burroughs
+burrow
+bursitis
+burst
+bursty
+burt
+burton
+burtt
+burundi
+bury
+bus
+busboy
+busch
+buses
+bush
+bushel
+bushmaster
+bushnell
+bushwhack
+bushy
+business
+businessman
+businessmen
+buss
+bust
+bustard
+bustle
+busy
+but
+butadiene
+butane
+butch
+butchery
+butene
+buteo
+butler
+butt
+butte
+butterball
+buttercup
+butterfat
+butterfield
+butterfly
+buttermilk
+butternut
+buttery
+buttock
+button
+buttonhole
+buttonweed
+buttress
+buttrick
+butyl
+butyrate
+butyric
+buxom
+buxtehude
+buxton
+buy
+buyer
+buzz
+buzzard
+buzzer
+buzzing
+buzzsaw
+buzzword
+buzzy
+by
+bye
+byers
+bygone
+bylaw
+byline
+bypass
+bypath
+byproduct
+byrd
+byrne
+byroad
+byron
+byronic
+bystander
+byte
+byway
+byword
+byzantine
+byzantium
+c
+c's
+ca
+cab
+cabal
+cabana
+cabaret
+cabbage
+cabdriver
+cabin
+cabinet
+cabinetmake
+cabinetry
+cable
+cabot
+cacao
+cachalot
+cache
+cackle
+cacm
+cacophonist
+cacophony
+cacti
+cactus
+cadaver
+cadaverous
+caddis
+caddy
+cadent
+cadenza
+cadet
+cadillac
+cadmium
+cadre
+cady
+caesar
+cafe
+cafeteria
+cage
+cagey
+cahill
+cahoot
+caiman
+cain
+caine
+cairn
+cairo
+cajole
+cake
+cal
+calais
+calamitous
+calamity
+calamus
+calcareous
+calcify
+calcine
+calcite
+calcium
+calculable
+calculate
+calculi
+calculus
+calcutta
+calder
+caldera
+caldwell
+caleb
+calendar
+calendrical
+calf
+calfskin
+calgary
+calhoun
+caliber
+calibrate
+calibre
+calico
+california
+californium
+caliper
+caliph
+caliphate
+calisthenic
+calkins
+call
+calla
+callaghan
+callahan
+caller
+calligraph
+calligraphy
+calliope
+callisto
+callous
+callus
+calm
+caloric
+calorie
+calorimeter
+calumet
+calumniate
+calumny
+calvary
+calve
+calvert
+calvin
+calvinist
+calypso
+cam
+camaraderie
+camber
+cambodia
+cambrian
+cambric
+cambridge
+camden
+came
+camel
+camelback
+camellia
+camelopard
+camelot
+cameo
+camera
+cameraman
+cameramen
+cameron
+cameroun
+camilla
+camille
+camino
+camouflage
+camp
+campaign
+campanile
+campbell
+campfire
+campground
+campion
+campsite
+campus
+can
+can't
+canaan
+canada
+canadian
+canal
+canary
+canaveral
+canberra
+cancel
+cancellate
+cancelled
+cancelling
+cancer
+cancerous
+candace
+candela
+candelabra
+candid
+candidacy
+candidate
+candide
+candle
+candlelight
+candlelit
+candlestick
+candlewick
+candy
+cane
+canfield
+canine
+canis
+canister
+canker
+cankerworm
+canna
+cannabis
+cannel
+cannery
+cannibal
+cannister
+cannon
+cannonball
+cannot
+canny
+canoe
+canoga
+canon
+canonic
+canopy
+canst
+cant
+cantabrigian
+cantaloupe
+canteen
+canterbury
+canterelle
+canticle
+cantilever
+cantle
+canto
+canton
+cantonese
+cantor
+canvas
+canvasback
+canvass
+canyon
+cap
+capacious
+capacitance
+capacitate
+capacitive
+capacitor
+capacity
+cape
+capella
+caper
+capetown
+capillary
+capistrano
+capita
+capital
+capitol
+capitoline
+capitulate
+capo
+caprice
+capricious
+capricorn
+capsize
+capstan
+capstone
+capsule
+captain
+captaincy
+caption
+captious
+captivate
+captive
+captor
+capture
+caputo
+capybara
+car
+carabao
+caracas
+caramel
+caravan
+caraway
+carbide
+carbine
+carbohydrate
+carboloy
+carbon
+carbonaceous
+carbonate
+carbondale
+carbone
+carbonic
+carbonium
+carbonyl
+carborundum
+carboxy
+carboxylic
+carboy
+carbuncle
+carburetor
+carcass
+carcinogen
+carcinogenic
+carcinoma
+card
+cardamom
+cardboard
+cardiac
+cardiff
+cardinal
+cardiod
+cardioid
+cardiology
+cardiovascular
+care
+careen
+career
+carefree
+careful
+caress
+caret
+caretaker
+careworn
+carey
+carfare
+cargill
+cargo
+cargoes
+carib
+caribbean
+caribou
+caricature
+carl
+carla
+carleton
+carlin
+carlisle
+carlo
+carload
+carlson
+carlton
+carlyle
+carmela
+carmen
+carmichael
+carmine
+carnage
+carnal
+carnation
+carne
+carnegie
+carney
+carnival
+carob
+carol
+carolina
+caroline
+carolingian
+carolinian
+carolyn
+carouse
+carp
+carpathia
+carpenter
+carpentry
+carpet
+carport
+carr
+carrageen
+carrara
+carrel
+carriage
+carrie
+carrion
+carroll
+carrot
+carruthers
+carry
+carryover
+carson
+cart
+carte
+cartel
+cartesian
+carthage
+carthaginian
+cartilage
+cartilaginous
+cartographer
+cartographic
+cartography
+carton
+cartoon
+cartridge
+cartwheel
+caruso
+carve
+carven
+caryatid
+casanova
+casbah
+cascade
+cascara
+case
+casebook
+casein
+casework
+casey
+cash
+cashew
+cashier
+cashmere
+casino
+cask
+casket
+caspian
+cassandra
+casserole
+cassette
+cassiopeia
+cassius
+cassock
+cast
+castanet
+caste
+casteth
+castigate
+castillo
+castle
+castor
+castro
+casual
+casualty
+cat
+catabolic
+cataclysm
+cataclysmic
+catalina
+catalogue
+catalpa
+catalysis
+catalyst
+catalytic
+catapult
+cataract
+catastrophe
+catastrophic
+catatonia
+catatonic
+catawba
+catbird
+catcall
+catch
+catchup
+catchword
+catchy
+catechism
+categoric
+category
+catenate
+cater
+caterpillar
+catfish
+catharsis
+cathedra
+cathedral
+catherine
+catherwood
+catheter
+cathode
+cathodic
+catholic
+catholicism
+cathy
+cation
+cationic
+catkin
+catlike
+catnip
+catskill
+catsup
+cattail
+cattle
+cattleman
+cattlemen
+catv
+caucasian
+caucasus
+cauchy
+caucus
+caught
+cauldron
+cauliflower
+caulk
+causal
+causate
+causation
+cause
+caustic
+caution
+cautionary
+cautious
+cavalcade
+cavalier
+cavalry
+cave
+caveat
+caveman
+cavemen
+cavendish
+cavern
+cavernous
+caviar
+cavil
+cavilling
+caviness
+cavitate
+cavort
+caw
+cayenne
+cayley
+cayuga
+cb
+cbs
+ccny
+cdc
+cease
+cecil
+cecilia
+cecropia
+cedar
+cede
+cedilla
+cedric
+ceil
+celandine
+celanese
+celebes
+celebrant
+celebrate
+celebrity
+celerity
+celery
+celesta
+celeste
+celestial
+celia
+celibacy
+cell
+cellar
+cellophane
+cellular
+celluloid
+cellulose
+celsius
+celtic
+cement
+cemetery
+cenozoic
+censor
+censorial
+censorious
+censure
+census
+cent
+centaur
+centenary
+centennial
+centerline
+centerpiece
+centigrade
+centimeter
+centipede
+central
+centrex
+centric
+centrifugal
+centrifugate
+centrifuge
+centrist
+centroid
+centum
+century
+cepheus
+ceq
+ceramic
+ceramium
+cerberus
+cereal
+cerebellum
+cerebral
+cerebrate
+ceremonial
+ceremonious
+ceremony
+ceres
+cereus
+cerise
+cerium
+cern
+certain
+certainty
+certificate
+certified
+certify
+certiorari
+certitude
+cerulean
+cervantes
+cervix
+cesare
+cesium
+cessation
+cession
+cessna
+cetera
+cetus
+ceylon
+cezanne
+cf
+chablis
+chad
+chadwick
+chafe
+chaff
+chagrin
+chain
+chair
+chairlady
+chairman
+chairmen
+chairperson
+chairwoman
+chairwomen
+chaise
+chalcedony
+chalcocite
+chalet
+chalice
+chalk
+chalkboard
+chalkline
+chalky
+challenge
+chalmers
+chamber
+chamberlain
+chambermaid
+chambers
+chameleon
+chamfer
+chamois
+chamomile
+champ
+champagne
+champaign
+champion
+champlain
+chance
+chancel
+chancellor
+chancery
+chancy
+chandelier
+chandler
+chang
+change
+changeable
+changeover
+channel
+chanson
+chant
+chantey
+chantilly
+chantry
+chao
+chaos
+chaotic
+chap
+chaparral
+chapel
+chaperon
+chaperone
+chaplain
+chaplaincy
+chaplin
+chapman
+chapter
+char
+character
+characteristic
+charcoal
+chard
+charge
+chargeable
+chariot
+charisma
+charismatic
+charitable
+charity
+charlemagne
+charles
+charleston
+charley
+charlie
+charlotte
+charlottesville
+charm
+charon
+chart
+charta
+chartres
+chartreuse
+chartroom
+charybdis
+chase
+chasm
+chassis
+chaste
+chastise
+chastity
+chat
+chateau
+chateaux
+chatham
+chattanooga
+chattel
+chatty
+chaucer
+chauffeur
+chauncey
+chautauqua
+chaw
+cheap
+cheat
+cheater
+check
+checkbook
+checkerberry
+checkerboard
+checklist
+checkmate
+checkout
+checkpoint
+checksum
+checksummed
+checksumming
+checkup
+cheek
+cheekbone
+cheeky
+cheer
+cheerful
+cheerlead
+cheerleader
+cheery
+cheese
+cheesecake
+cheesecloth
+cheesy
+cheetah
+chef
+chelate
+chemic
+chemise
+chemisorb
+chemisorption
+chemist
+chemistry
+chemotherapy
+chen
+cheney
+chenille
+cherish
+cherokee
+cherry
+chert
+cherub
+cherubim
+cheryl
+chesapeake
+cheshire
+chess
+chest
+chester
+chesterton
+chestnut
+chevalier
+chevrolet
+chevron
+chevy
+chew
+cheyenne
+chi
+chiang
+chianti
+chic
+chicago
+chicagoan
+chicanery
+chicano
+chick
+chickadee
+chicken
+chickweed
+chicory
+chide
+chief
+chiefdom
+chieftain
+chiffon
+chigger
+chignon
+chilblain
+child
+childbear
+childbirth
+childhood
+childish
+childlike
+children
+chile
+chilean
+chili
+chill
+chilly
+chime
+chimera
+chimeric
+chimique
+chimney
+chimpanzee
+chin
+china
+chinaman
+chinamen
+chinatown
+chinch
+chinchilla
+chine
+chinese
+chink
+chinook
+chinquapin
+chip
+chipboard
+chipmunk
+chippendale
+chiropractor
+chirp
+chisel
+chisholm
+chit
+chiton
+chivalrous
+chivalry
+chive
+chlorate
+chlordane
+chloride
+chlorinate
+chlorine
+chloroform
+chlorophyll
+chloroplast
+chloroplatinate
+chock
+chocolate
+choctaw
+choice
+choir
+choirmaster
+choke
+chokeberry
+cholera
+cholesterol
+cholinesterase
+chomp
+chomsky
+choose
+choosy
+chop
+chopin
+choppy
+choral
+chorale
+chord
+chordal
+chordata
+chordate
+chore
+choreograph
+choreography
+chorine
+chortle
+chorus
+chose
+chosen
+chou
+chow
+chowder
+chris
+christ
+christen
+christendom
+christensen
+christenson
+christian
+christiana
+christianson
+christie
+christina
+christine
+christlike
+christmas
+christoffel
+christoph
+christopher
+christy
+chromate
+chromatic
+chromatin
+chromatogram
+chromatograph
+chromatography
+chrome
+chromic
+chromium
+chromosome
+chromosphere
+chronic
+chronicle
+chronograph
+chronography
+chronology
+chrysanthemum
+chrysler
+chrysolite
+chub
+chubby
+chuck
+chuckle
+chuckwalla
+chuff
+chug
+chugging
+chum
+chummy
+chump
+chungking
+chunk
+chunky
+church
+churchgo
+churchgoer
+churchgoing
+churchill
+churchillian
+churchman
+churchmen
+churchwoman
+churchwomen
+churchyard
+churn
+chute
+chutney
+cia
+cicada
+cicero
+ciceronian
+cider
+cigar
+cigarette
+cilia
+ciliate
+cinch
+cincinnati
+cinder
+cinderella
+cindy
+cinema
+cinematic
+cinerama
+cinnabar
+cinnamon
+cinquefoil
+cipher
+circa
+circe
+circle
+circlet
+circuit
+circuitous
+circuitry
+circulant
+circular
+circulate
+circulatory
+circumcircle
+circumcise
+circumcision
+circumference
+circumferential
+circumflex
+circumlocution
+circumpolar
+circumscribe
+circumscription
+circumspect
+circumsphere
+circumstance
+circumstantial
+circumvent
+circumvention
+circus
+cistern
+cit
+citadel
+citation
+cite
+citizen
+citizenry
+citrate
+citric
+citroen
+citron
+citrus
+city
+cityscape
+citywide
+civet
+civic
+civil
+civilian
+clad
+cladophora
+claim
+claimant
+claire
+clairvoyant
+clam
+clamber
+clammy
+clamorous
+clamp
+clamshell
+clan
+clandestine
+clang
+clank
+clannish
+clap
+clapboard
+clapeyron
+clara
+clare
+claremont
+clarence
+clarendon
+claret
+clarify
+clarinet
+clarity
+clark
+clarke
+clash
+clasp
+class
+classic
+classification
+classificatory
+classify
+classmate
+classroom
+classy
+clatter
+clattery
+claude
+claudia
+claudio
+claus
+clause
+clausen
+clausius
+claustrophobia
+claustrophobic
+claw
+clay
+clayton
+clean
+cleanse
+cleanup
+clear
+clearance
+clearheaded
+clearwater
+cleat
+cleavage
+cleave
+cleft
+clement
+clemson
+clench
+clergy
+clergyman
+clergymen
+cleric
+clerk
+cleveland
+clever
+cliche
+click
+client
+clientele
+cliff
+cliffhang
+clifford
+clifton
+climactic
+climate
+climatic
+climatology
+climax
+climb
+clime
+clinch
+cling
+clinging
+clinic
+clinician
+clink
+clint
+clinton
+clio
+clip
+clipboard
+clique
+clitoris
+clive
+cloak
+cloakroom
+clobber
+clock
+clockwatcher
+clockwise
+clockwork
+clod
+cloddish
+clog
+clogging
+cloister
+clomp
+clone
+clonic
+close
+closet
+closeup
+closure
+clot
+cloth
+clothbound
+clothe
+clothesbrush
+clotheshorse
+clothesline
+clothesman
+clothesmen
+clothier
+clotho
+cloture
+cloud
+cloudburst
+cloudy
+clout
+clove
+cloven
+clown
+cloy
+club
+clubhouse
+clubroom
+cluck
+clue
+cluj
+clump
+clumsy
+clung
+cluster
+clutch
+clutter
+clyde
+clytemnestra
+co
+coach
+coachman
+coachmen
+coachwork
+coadjutor
+coagulable
+coagulate
+coal
+coalesce
+coalescent
+coalition
+coarse
+coarsen
+coast
+coastal
+coastline
+coat
+coates
+coattail
+coauthor
+coax
+coaxial
+cobalt
+cobb
+cobble
+cobblestone
+cobol
+cobra
+cobweb
+coca
+cocaine
+coccidiosis
+cochineal
+cochlea
+cochran
+cochrane
+cock
+cockatoo
+cockcrow
+cockeye
+cockle
+cocklebur
+cockleshell
+cockpit
+cockroach
+cocksure
+cocktail
+cocky
+coco
+cocoa
+coconut
+cocoon
+cod
+coda
+coddington
+coddle
+code
+codebreak
+codeposit
+codetermine
+codeword
+codfish
+codicil
+codify
+codomain
+codon
+codpiece
+cody
+coed
+coeditor
+coeducation
+coefficient
+coequal
+coerce
+coercible
+coercion
+coercive
+coexist
+coexistent
+coextensive
+cofactor
+coffee
+coffeecup
+coffeepot
+coffer
+coffey
+coffin
+coffman
+cog
+cogent
+cogitate
+cognac
+cognate
+cognition
+cognitive
+cognizable
+cognizant
+cohen
+cohere
+coherent
+cohesion
+cohesive
+cohn
+cohomology
+cohort
+cohosh
+coiffure
+coil
+coin
+coinage
+coincide
+coincident
+coincidental
+coke
+col
+cola
+colander
+colatitude
+colby
+cold
+cole
+coleman
+coleridge
+colette
+coleus
+colgate
+colicky
+coliform
+coliseum
+collaborate
+collage
+collagen
+collapse
+collapsible
+collar
+collarbone
+collard
+collate
+collateral
+colleague
+collect
+collectible
+collector
+college
+collegial
+collegian
+collegiate
+collet
+collide
+collie
+collier
+collimate
+collinear
+collins
+collision
+collocation
+colloidal
+colloq
+colloquia
+colloquial
+colloquium
+colloquy
+collude
+collusion
+cologne
+colombia
+colombo
+colon
+colonel
+colonial
+colonist
+colonnade
+colony
+colorado
+colorate
+coloratura
+colorimeter
+colossal
+colosseum
+colossi
+colossus
+colt
+coltish
+coltsfoot
+columbia
+columbine
+columbus
+column
+columnar
+colza
+coma
+comanche
+comatose
+comb
+combat
+combatant
+combatted
+combinate
+combination
+combinator
+combinatorial
+combinatoric
+combine
+combustible
+combustion
+come
+comeback
+comedian
+comedy
+comet
+cometary
+cometh
+comfort
+comic
+cominform
+comma
+command
+commandant
+commandeer
+commando
+commemorate
+commend
+commendation
+commendatory
+commensurable
+commensurate
+comment
+commentary
+commentator
+commerce
+commercial
+commingle
+commiserate
+commissariat
+commissary
+commission
+commit
+committable
+committal
+committed
+committee
+committeeman
+committeemen
+committeewoman
+committeewomen
+committing
+commodious
+commodity
+commodore
+common
+commonality
+commonplace
+commonweal
+commonwealth
+commotion
+communal
+commune
+communicable
+communicant
+communicate
+communion
+communique
+commutate
+commute
+compact
+compacter
+compactify
+compagnie
+companion
+companionway
+company
+comparative
+comparator
+compare
+comparison
+compartment
+compass
+compassion
+compassionate
+compatible
+compatriot
+compel
+compellable
+compelled
+compelling
+compendia
+compendium
+compensable
+compensate
+compensatory
+compete
+competent
+competition
+competitive
+competitor
+compilation
+compile
+complacent
+complain
+complainant
+complaint
+complaisant
+compleat
+complement
+complementarity
+complementary
+complementation
+complete
+completion
+complex
+complexion
+compliant
+complicate
+complicity
+compliment
+complimentary
+compline
+comply
+component
+componentry
+comport
+compose
+composite
+composition
+compositor
+compost
+composure
+compote
+compound
+comprehend
+comprehensible
+comprehension
+comprehensive
+compress
+compressible
+compression
+compressive
+compressor
+comprise
+compromise
+compton
+comptroller
+compulsion
+compulsive
+compulsory
+compunction
+computation
+compute
+comrade
+con
+conakry
+conant
+concatenate
+concave
+conceal
+concede
+conceit
+conceive
+concentrate
+concentric
+concept
+conception
+conceptual
+concern
+concert
+concerti
+concertina
+concertmaster
+concerto
+concession
+concessionaire
+conch
+concierge
+conciliate
+conciliatory
+concise
+concision
+conclave
+conclude
+conclusion
+conclusive
+concoct
+concocter
+concomitant
+concord
+concordant
+concourse
+concrete
+concretion
+concubine
+concur
+concurred
+concurrent
+concurring
+concussion
+condemn
+condemnate
+condemnatory
+condensate
+condense
+condensible
+condescend
+condescension
+condiment
+condition
+condolence
+condominium
+condone
+conduce
+conducive
+conduct
+conductance
+conductor
+conduit
+cone
+coneflower
+conestoga
+coney
+confabulate
+confect
+confectionery
+confederacy
+confederate
+confer
+conferee
+conference
+conferrable
+conferred
+conferring
+confess
+confession
+confessor
+confidant
+confidante
+confide
+confident
+confidential
+configuration
+configure
+confine
+confirm
+confirmation
+confirmatory
+confiscable
+confiscate
+confiscatory
+conflagrate
+conflagration
+conflict
+confluent
+confocal
+conform
+conformal
+conformance
+conformation
+confound
+confrere
+confront
+confrontation
+confucian
+confucianism
+confucius
+confuse
+confusion
+confute
+congeal
+congener
+congenial
+congenital
+congest
+congestion
+congestive
+conglomerate
+congo
+congolese
+congratulate
+congratulatory
+congregate
+congress
+congressional
+congressman
+congressmen
+congresswoman
+congresswomen
+congruent
+conic
+conifer
+coniferous
+conjectural
+conjecture
+conjoin
+conjoint
+conjugacy
+conjugal
+conjugate
+conjunct
+conjuncture
+conjure
+conklin
+conley
+conn
+connally
+connect
+connecticut
+connector
+conner
+connie
+connivance
+connive
+connoisseur
+connors
+connotation
+connotative
+connote
+connubial
+conquer
+conqueror
+conquest
+conquistador
+conrad
+conrail
+consanguine
+consanguineous
+conscience
+conscientious
+conscionable
+conscious
+conscript
+conscription
+consecrate
+consecutive
+consensus
+consent
+consequent
+consequential
+conservation
+conservatism
+conservative
+conservator
+conservatory
+conserve
+consider
+considerate
+consign
+consignee
+consignor
+consist
+consistent
+consolation
+console
+consolidate
+consonant
+consonantal
+consort
+consortium
+conspicuous
+conspiracy
+conspirator
+conspiratorial
+conspire
+constance
+constant
+constantine
+constantinople
+constellate
+consternate
+constipate
+constituent
+constitute
+constitution
+constitutive
+constrain
+constraint
+constrict
+constrictor
+construct
+constructible
+constructor
+construe
+consul
+consular
+consulate
+consult
+consultant
+consultation
+consultative
+consume
+consummate
+consumption
+consumptive
+contact
+contagion
+contagious
+contain
+contaminant
+contaminate
+contemplate
+contemporaneous
+contemporary
+contempt
+contemptible
+contemptuous
+contend
+content
+contention
+contentious
+contest
+contestant
+context
+contextual
+contiguity
+contiguous
+continent
+continental
+contingent
+continua
+continual
+continuant
+continuation
+continue
+continued
+continuity
+continuo
+continuous
+continuum
+contort
+contour
+contraband
+contrabass
+contraception
+contraceptive
+contract
+contractor
+contractual
+contradict
+contradictory
+contradistinct
+contradistinction
+contradistinguish
+contralateral
+contralto
+contraption
+contrariety
+contrariwise
+contrary
+contrast
+contravariant
+contravene
+contravention
+contretemps
+contribute
+contribution
+contributor
+contributory
+contrite
+contrition
+contrivance
+contrive
+control
+controllable
+controlled
+controller
+controlling
+controversial
+controversy
+controvertible
+contumacy
+contusion
+conundrum
+convair
+convalesce
+convalescent
+convect
+convene
+convenient
+convent
+convention
+converge
+convergent
+conversant
+conversation
+converse
+conversion
+convert
+convertible
+convex
+convey
+conveyance
+conveyor
+convict
+convince
+convivial
+convocate
+convocation
+convoke
+convolute
+convolution
+convolve
+convoy
+convulse
+convulsion
+convulsive
+conway
+cony
+coo
+cook
+cookbook
+cooke
+cookery
+cookie
+cooky
+cool
+coolant
+cooley
+coolheaded
+coolidge
+coon
+coop
+cooperate
+coordinate
+coors
+coot
+cop
+cope
+copeland
+copenhagen
+copernican
+copernicus
+copious
+coplanar
+copolymer
+copperas
+copperfield
+copperhead
+coppery
+copra
+coprinus
+coproduct
+copter
+copy
+copybook
+copyright
+copywriter
+coquette
+coquina
+coral
+coralberry
+coralline
+corbel
+corbett
+corcoran
+cord
+cordage
+cordial
+cordite
+cordon
+corduroy
+core
+corey
+coriander
+corinth
+corinthian
+coriolanus
+cork
+corkscrew
+cormorant
+corn
+cornbread
+cornea
+cornelia
+cornelius
+cornell
+cornerstone
+cornet
+cornfield
+cornflower
+cornish
+cornmeal
+cornstarch
+cornucopia
+cornwall
+corny
+corollary
+corona
+coronado
+coronary
+coronate
+coroner
+coronet
+coroutine
+corp
+corpora
+corporal
+corporate
+corporeal
+corps
+corpse
+corpsman
+corpsmen
+corpulent
+corpus
+corpuscular
+corral
+corralled
+correct
+corrector
+correlate
+correspond
+correspondent
+corridor
+corrigenda
+corrigendum
+corrigible
+corroborate
+corroboree
+corrode
+corrodible
+corrosion
+corrosive
+corrugate
+corrupt
+corruptible
+corruption
+corsage
+corset
+cortege
+cortex
+cortical
+cortland
+corundum
+coruscate
+corvallis
+corvette
+corvus
+cos
+cosec
+coset
+cosgrove
+cosh
+cosine
+cosmetic
+cosmic
+cosmology
+cosmopolitan
+cosmos
+cosponsor
+cossack
+cost
+costa
+costello
+costume
+cosy
+cot
+cotangent
+cotillion
+cotman
+cotoneaster
+cotta
+cottage
+cotton
+cottonmouth
+cottonseed
+cottonwood
+cottony
+cottrell
+cotty
+cotyledon
+couch
+cougar
+cough
+could
+couldn't
+coulomb
+coulter
+council
+councilman
+councilmen
+councilwoman
+councilwomen
+counsel
+counselor
+count
+countdown
+countenance
+counteract
+counterargument
+counterattack
+counterbalance
+counterclockwise
+counterexample
+counterfeit
+counterflow
+counterintuitive
+counterman
+countermen
+counterpart
+counterpoint
+counterpoise
+counterproductive
+counterproposal
+countersink
+countersunk
+countervail
+countrify
+country
+countryman
+countrymen
+countryside
+countrywide
+county
+countywide
+coup
+coupe
+couple
+coupon
+courage
+courageous
+courier
+course
+court
+courteous
+courtesan
+courtesy
+courthouse
+courtier
+courtney
+courtroom
+courtyard
+couscous
+cousin
+couturier
+covalent
+covariant
+covariate
+covary
+cove
+coven
+covenant
+coventry
+cover
+coverage
+coverall
+coverlet
+covert
+covet
+covetous
+cow
+cowan
+coward
+cowardice
+cowbell
+cowbird
+cowboy
+cowgirl
+cowhand
+cowherd
+cowhide
+cowl
+cowlick
+cowman
+cowmen
+coworker
+cowpea
+cowpoke
+cowpony
+cowpox
+cowpunch
+cowry
+cowslip
+cox
+coxcomb
+coy
+coyote
+coypu
+cozen
+cozy
+cpa
+cpu
+crab
+crabapple
+crabmeat
+crack
+crackle
+crackpot
+cradle
+craft
+craftsman
+craftsmen
+craftspeople
+craftsperson
+crafty
+crag
+craggy
+craig
+cram
+cramer
+cramp
+cranberry
+crandall
+crane
+cranelike
+cranford
+crania
+cranium
+crank
+crankcase
+crankshaft
+cranky
+cranny
+cranston
+crap
+crappie
+crash
+crass
+crate
+crater
+cravat
+crave
+craven
+craw
+crawford
+crawl
+crawlspace
+crayfish
+crayon
+craze
+crazy
+creak
+creaky
+cream
+creamery
+creamy
+crease
+create
+creating
+creature
+creche
+credent
+credential
+credenza
+credible
+credit
+creditor
+credo
+credulity
+credulous
+creed
+creedal
+creek
+creekside
+creep
+creepy
+cremate
+crematory
+creole
+creon
+creosote
+crepe
+crept
+crescendo
+crescent
+cress
+crest
+crestfallen
+crestview
+cretaceous
+cretan
+crete
+cretin
+cretinous
+crevice
+crew
+crewcut
+crewel
+crewman
+crewmen
+crib
+cricket
+cried
+crime
+crimea
+criminal
+crimp
+crimson
+cringe
+crinkle
+cripple
+crises
+crisis
+crisp
+crispin
+criss
+crisscross
+criteria
+criterion
+critic
+critique
+critter
+croak
+croatia
+crochet
+crock
+crockery
+crockett
+crocodile
+crocodilian
+crocus
+croft
+croix
+cromwell
+cromwellian
+crone
+crony
+crook
+croon
+crop
+croquet
+crosby
+cross
+crossarm
+crossbar
+crossbill
+crossbow
+crosscut
+crosshatch
+crosslink
+crossover
+crosspoint
+crossroad
+crosstalk
+crosswalk
+crossway
+crosswise
+crossword
+crosswort
+crotch
+crotchety
+crouch
+croupier
+crow
+crowbait
+crowberry
+crowd
+crowfoot
+crowley
+crown
+croydon
+crt
+crucial
+crucible
+crucifix
+crucifixion
+crucify
+crud
+cruddy
+crude
+cruel
+cruelty
+cruickshank
+cruise
+crumb
+crumble
+crummy
+crump
+crumple
+crunch
+crupper
+crusade
+crush
+crusoe
+crust
+crusty
+crutch
+crux
+cruz
+cry
+cryogenic
+cryostat
+crypt
+cryptanalysis
+cryptanalyst
+cryptanalytic
+cryptanalyze
+cryptic
+cryptogram
+cryptographer
+cryptography
+cryptology
+crystal
+crystalline
+crystallite
+crystallographer
+crystallography
+csnet
+ct
+cub
+cuba
+cubbyhole
+cube
+cubic
+cuckoo
+cucumber
+cud
+cuddle
+cuddly
+cudgel
+cue
+cuff
+cufflink
+cuisine
+culbertson
+culinary
+cull
+culminate
+culpa
+culpable
+culprit
+cult
+cultivable
+cultivate
+cultural
+culture
+culver
+culvert
+cumberland
+cumbersome
+cumin
+cummings
+cummins
+cumulate
+cumulus
+cunard
+cunning
+cunningham
+cuny
+cup
+cupboard
+cupful
+cupid
+cupidity
+cupric
+cuprous
+cur
+curate
+curb
+curbside
+curd
+curdle
+cure
+curfew
+curia
+curie
+curio
+curiosity
+curious
+curium
+curl
+curlew
+curlicue
+curran
+currant
+current
+curricula
+curricular
+curriculum
+curry
+curse
+cursive
+cursor
+cursory
+curt
+curtail
+curtain
+curtis
+curtsey
+curvaceous
+curvature
+curve
+curvilinear
+cushing
+cushion
+cushman
+cusp
+custer
+custodial
+custodian
+custody
+custom
+customary
+customhouse
+cut
+cutaneous
+cutback
+cute
+cutesy
+cutlass
+cutler
+cutlet
+cutoff
+cutout
+cutover
+cutset
+cutthroat
+cuttlebone
+cuttlefish
+cutworm
+cyanamid
+cyanate
+cyanic
+cyanide
+cybernetic
+cybernetics
+cycad
+cyclades
+cycle
+cyclic
+cyclist
+cyclone
+cyclopean
+cyclops
+cyclorama
+cyclotomic
+cyclotron
+cygnus
+cylinder
+cylindric
+cynic
+cynthia
+cypress
+cyprian
+cypriot
+cyprus
+cyril
+cyrillic
+cyrus
+cyst
+cysteine
+cytochemistry
+cytology
+cytolysis
+cytoplasm
+cytosine
+cz
+czar
+czarina
+czech
+czechoslovakia
+czerniak
+d
+d'art
+d'etat
+d'oeuvre
+d's
+dab
+dabble
+dacca
+dachshund
+dactyl
+dactylic
+dad
+dada
+dadaism
+dadaist
+daddy
+dade
+daedalus
+daffodil
+daffy
+dagger
+dahl
+dahlia
+dahomey
+dailey
+daimler
+dainty
+dairy
+dairylea
+dairyman
+dairymen
+dais
+daisy
+dakar
+dakota
+dale
+daley
+dalhousie
+dallas
+dally
+dalton
+daly
+dalzell
+dam
+damage
+damascus
+damask
+dame
+damn
+damnation
+damon
+damp
+dampen
+damsel
+dan
+dana
+danbury
+dance
+dandelion
+dandy
+dane
+dang
+danger
+dangerous
+dangle
+daniel
+danielson
+danish
+dank
+danny
+dante
+danube
+danubian
+danzig
+daphne
+dapper
+dapple
+dar
+dare
+daredevil
+darius
+dark
+darken
+darkle
+darlene
+darling
+darn
+darpa
+darrell
+darry
+dart
+dartmouth
+darwin
+darwinian
+dash
+dashboard
+dastard
+data
+database
+date
+dateline
+dater
+datsun
+datum
+daub
+daugherty
+daughter
+daunt
+dauphin
+dauphine
+dave
+davenport
+david
+davidson
+davies
+davis
+davison
+davit
+davy
+dawn
+dawson
+day
+daybed
+daybreak
+daydream
+daylight
+daytime
+dayton
+daytona
+daze
+dazzle
+dc
+de
+deacon
+deaconess
+deactivate
+dead
+deaden
+deadhead
+deadline
+deadlock
+deadwood
+deaf
+deafen
+deal
+deallocate
+dealt
+dean
+deane
+deanna
+dear
+dearborn
+dearie
+dearth
+death
+deathbed
+deathward
+debacle
+debar
+debarring
+debase
+debate
+debater
+debauch
+debauchery
+debbie
+debby
+debenture
+debilitate
+debility
+debit
+debonair
+deborah
+debra
+debrief
+debris
+debt
+debtor
+debug
+debugged
+debugger
+debugging
+debunk
+debussy
+debut
+debutante
+dec
+decade
+decadent
+decaffeinate
+decal
+decant
+decathlon
+decatur
+decay
+decca
+decease
+decedent
+deceit
+deceitful
+deceive
+decelerate
+december
+decennial
+decent
+deception
+deceptive
+decertify
+decibel
+decide
+deciduous
+decile
+decimal
+decimate
+decipher
+decision
+decisional
+decisionmake
+decisive
+deck
+decker
+declaim
+declamation
+declamatory
+declaration
+declarative
+declarator
+declaratory
+declare
+declassify
+declination
+decline
+declivity
+decode
+decolletage
+decollimate
+decolonize
+decommission
+decompile
+decomposable
+decompose
+decomposition
+decompress
+decompression
+decontrol
+decontrolled
+decontrolling
+deconvolution
+deconvolve
+decor
+decorate
+decorous
+decorticate
+decorum
+decouple
+decoy
+decrease
+decree
+decreeing
+decrement
+decry
+decrypt
+decryption
+dedicate
+deduce
+deducible
+deduct
+deductible
+dee
+deed
+deem
+deemphasize
+deep
+deepen
+deer
+deere
+deerskin
+deerstalker
+deface
+default
+defeat
+defecate
+defect
+defector
+defend
+defendant
+defensible
+defensive
+defer
+deferent
+deferrable
+deferral
+deferred
+deferring
+defiant
+deficient
+deficit
+define
+definite
+definition
+definitive
+deflate
+deflater
+deflect
+deflector
+defocus
+deforest
+deforestation
+deform
+deformation
+defraud
+defray
+defrock
+defrost
+deft
+defunct
+defuse
+defy
+degas
+degassing
+degeneracy
+degenerate
+degradation
+degrade
+degrease
+degree
+degum
+degumming
+dehumidify
+dehydrate
+deify
+deign
+deity
+deja
+deject
+del
+delaney
+delano
+delaware
+delay
+delectable
+delectate
+delegable
+delegate
+delete
+deleterious
+deletion
+delft
+delhi
+delia
+deliberate
+delicacy
+delicate
+delicatessen
+delicious
+delicti
+delight
+delightful
+delilah
+delimit
+delimitation
+delineament
+delineate
+delinquent
+deliquesce
+deliquescent
+delirious
+delirium
+deliver
+deliverance
+delivery
+dell
+della
+delmarva
+delouse
+delphi
+delphic
+delphine
+delphinium
+delphinus
+delta
+deltoid
+delude
+deluge
+delusion
+delusive
+deluxe
+delve
+demagnify
+demagogue
+demand
+demarcate
+demark
+demean
+demented
+dementia
+demerit
+demigod
+demijohn
+demiscible
+demise
+demit
+demitted
+demitting
+demo
+democracy
+democrat
+democratic
+demodulate
+demography
+demolish
+demolition
+demon
+demoniac
+demonic
+demonstrable
+demonstrate
+demote
+demountable
+dempsey
+demultiplex
+demur
+demure
+demurred
+demurrer
+demurring
+demystify
+den
+denature
+dendrite
+dendritic
+deneb
+denebola
+deniable
+denial
+denigrate
+denizen
+denmark
+dennis
+denny
+denominate
+denotation
+denotative
+denote
+denouement
+denounce
+dense
+densitometer
+dent
+dental
+dentistry
+denton
+denture
+denudation
+denude
+denumerable
+denunciate
+denunciation
+denver
+deny
+deodorant
+deoxyribonucleic
+deoxyribose
+depart
+department
+departure
+depend
+dependent
+depict
+deplete
+depletion
+deplore
+deploy
+deport
+deportation
+deportee
+depose
+deposit
+depositary
+deposition
+depositor
+depository
+depot
+deprave
+deprecate
+deprecatory
+depreciable
+depreciate
+depredate
+depress
+depressant
+depressible
+depression
+depressive
+depressor
+deprivation
+deprive
+depth
+deputation
+depute
+deputy
+derail
+derange
+derate
+derby
+derbyshire
+dereference
+deregulate
+deregulatory
+derek
+derelict
+deride
+derision
+derisive
+derivate
+derive
+derogate
+derogatory
+derrick
+derriere
+dervish
+des
+descant
+descartes
+descend
+descendant
+descendent
+descent
+describe
+description
+descriptive
+descriptor
+desecrate
+desecrater
+desegregate
+desert
+deserve
+desicate
+desiderata
+desideratum
+design
+designate
+desire
+desirous
+desist
+desk
+desmond
+desolate
+desolater
+desorption
+despair
+desperado
+desperate
+despicable
+despise
+despite
+despoil
+despond
+despondent
+despot
+despotic
+dessert
+dessicate
+destabilize
+destinate
+destine
+destiny
+destitute
+destroy
+destruct
+destructor
+desuetude
+desultory
+detach
+detail
+detain
+detect
+detector
+detent
+detente
+detention
+deter
+detergent
+deteriorate
+determinant
+determinate
+determine
+deterred
+deterrent
+deterring
+detest
+detestation
+detonable
+detonate
+detour
+detoxify
+detract
+detractor
+detriment
+detroit
+deuce
+deus
+deuterate
+deuterium
+deuteron
+devastate
+develop
+deviant
+deviate
+device
+devil
+devilish
+devious
+devise
+devisee
+devoid
+devolution
+devolve
+devon
+devonshire
+devote
+devotee
+devotion
+devour
+devout
+dew
+dewar
+dewdrop
+dewey
+dewitt
+dewy
+dexter
+dexterity
+dextrose
+dextrous
+dey
+dhabi
+dharma
+diabase
+diabetes
+diabetic
+diabolic
+diachronic
+diacritic
+diacritical
+diadem
+diagnosable
+diagnose
+diagnoses
+diagnosis
+diagnostic
+diagnostician
+diagonal
+diagram
+diagrammatic
+dial
+dialect
+dialectic
+dialogue
+dialup
+dialysis
+diamagnetic
+diamagnetism
+diameter
+diamond
+diana
+diane
+dianne
+diaper
+diaphanous
+diaphragm
+diary
+diathermy
+diathesis
+diatom
+diatomaceous
+diatomic
+diatonic
+diatribe
+dibble
+dice
+dichloride
+dichondra
+dichotomize
+dichotomous
+dichotomy
+dick
+dickcissel
+dickens
+dickerson
+dickey
+dickinson
+dickson
+dicotyledon
+dicta
+dictate
+dictatorial
+diction
+dictionary
+dictum
+did
+didactic
+diddle
+didn't
+dido
+die
+diebold
+died
+diego
+diehard
+dieldrin
+dielectric
+diem
+diesel
+diet
+dietary
+dietetic
+diethylstilbestrol
+dietician
+dietrich
+diety
+dietz
+diffeomorphic
+diffeomorphism
+differ
+different
+differentiable
+differential
+differentiate
+difficult
+difficulty
+diffident
+diffract
+diffractometer
+diffuse
+diffusible
+diffusion
+diffusive
+difluoride
+dig
+digest
+digestible
+digestion
+digestive
+digging
+digit
+digital
+digitalis
+digitate
+dignify
+dignitary
+dignity
+digram
+digress
+digression
+dihedral
+dilapidate
+dilatation
+dilate
+dilatory
+dilemma
+dilettante
+diligent
+dill
+dillon
+dilogarithm
+diluent
+dilute
+dilution
+dim
+dime
+dimension
+dimethyl
+diminish
+diminution
+diminutive
+dimple
+din
+dinah
+dine
+ding
+dinghy
+dingo
+dingy
+dinnertime
+dinnerware
+dinosaur
+dint
+diocesan
+diocese
+diode
+dionysian
+dionysus
+diophantine
+diopter
+diorama
+diorite
+dioxide
+dip
+diphtheria
+diphthong
+diploid
+diploidy
+diploma
+diplomacy
+diplomat
+diplomatic
+dipole
+dirac
+dire
+direct
+director
+directorate
+directorial
+directory
+directrices
+directrix
+dirge
+dirichlet
+dirt
+dirty
+dis
+disaccharide
+disambiguate
+disastrous
+disburse
+disc
+discern
+discernible
+disciple
+disciplinarian
+disciplinary
+discipline
+disco
+discoid
+discomfit
+discordant
+discovery
+discreet
+discrepant
+discrete
+discretion
+discretionary
+discriminable
+discriminant
+discriminate
+discriminatory
+discus
+discuss
+discussant
+discussion
+disdain
+disdainful
+disembowel
+disgruntle
+disgustful
+dish
+dishes
+dishevel
+dishwasher
+dishwater
+disjunct
+disk
+dismal
+dismissal
+disney
+disneyland
+disparage
+disparate
+dispel
+dispelled
+dispelling
+dispensable
+dispensary
+dispensate
+dispense
+dispersal
+disperse
+dispersible
+dispersion
+dispersive
+disposable
+disposal
+disputant
+dispute
+disquietude
+disquisition
+disrupt
+disruption
+disruptive
+dissemble
+disseminate
+dissension
+dissertation
+dissident
+dissipate
+dissociable
+dissociate
+dissonant
+dissuade
+distaff
+distal
+distant
+distillate
+distillery
+distinct
+distinguish
+distort
+distortion
+distraught
+distribution
+distributive
+distributor
+district
+disturb
+disturbance
+disulfide
+disyllable
+ditch
+dither
+ditto
+ditty
+ditzel
+diurnal
+diva
+divalent
+divan
+dive
+diverge
+divergent
+diverse
+diversify
+diversion
+diversionary
+divert
+divest
+divestiture
+divide
+dividend
+divination
+divine
+divisible
+division
+divisional
+divisive
+divisor
+divorce
+divorcee
+divulge
+dixie
+dixieland
+dixon
+dizzy
+djakarta
+dna
+dnieper
+do
+dobbin
+dobbs
+doberman
+dobson
+docile
+dock
+docket
+dockside
+dockyard
+doctor
+doctoral
+doctorate
+doctrinaire
+doctrinal
+doctrine
+document
+documentary
+documentation
+dod
+dodd
+dodecahedra
+dodecahedral
+dodecahedron
+dodge
+dodo
+dodson
+doe
+doesn't
+doff
+dog
+dogbane
+dogberry
+doge
+dogfish
+dogging
+doggone
+doghouse
+dogleg
+dogma
+dogmatic
+dogmatism
+dogtooth
+dogtrot
+dogwood
+doherty
+dolan
+dolce
+doldrum
+doldrums
+dole
+doleful
+doll
+dollar
+dollop
+dolly
+dolomite
+dolomitic
+dolores
+dolphin
+dolt
+doltish
+domain
+dome
+domenico
+domesday
+domestic
+domesticate
+domicile
+dominant
+dominate
+domineer
+domingo
+dominic
+dominican
+dominick
+dominion
+dominique
+domino
+don
+don't
+donahue
+donald
+donaldson
+donate
+done
+doneck
+donkey
+donna
+donnelly
+donner
+donnybrook
+donor
+donovan
+doodle
+dooley
+doolittle
+doom
+doomsday
+door
+doorbell
+doorkeep
+doorkeeper
+doorknob
+doorman
+doormen
+doorstep
+doorway
+dopant
+dope
+doppler
+dora
+dorado
+dorcas
+dorchester
+doreen
+doria
+doric
+doris
+dormant
+dormitory
+dorothea
+dorothy
+dorset
+dortmund
+dosage
+dose
+dosimeter
+dossier
+dostoevsky
+dot
+dote
+double
+doubleday
+doubleheader
+doublet
+doubleton
+doubloon
+doubt
+doubtful
+douce
+doug
+dough
+dougherty
+doughnut
+douglas
+douglass
+dour
+douse
+dove
+dovekie
+dovetail
+dow
+dowager
+dowel
+dowitcher
+dowling
+down
+downbeat
+downcast
+downdraft
+downey
+downfall
+downgrade
+downhill
+downing
+downplay
+downpour
+downright
+downriver
+downs
+downside
+downslope
+downspout
+downstairs
+downstate
+downstream
+downtown
+downtrend
+downtrodden
+downturn
+downward
+downwind
+dowry
+doyle
+doze
+dozen
+dr
+drab
+draco
+draft
+draftee
+draftsman
+draftsmen
+draftsperson
+drafty
+drag
+dragging
+dragnet
+dragon
+dragonfly
+dragonhead
+dragoon
+drain
+drainage
+drake
+dram
+drama
+dramatic
+dramatist
+dramaturgy
+drank
+drape
+drapery
+drastic
+draw
+drawback
+drawbridge
+drawl
+drawn
+dread
+dreadful
+dreadnought
+dream
+dreamboat
+dreamlike
+dreamt
+dreamy
+dreary
+dredge
+dreg
+drench
+dress
+dressmake
+dressy
+drew
+drexel
+dreyfuss
+drib
+dribble
+dried
+drier
+drift
+drill
+drink
+drip
+drippy
+driscoll
+drive
+driven
+driveway
+drizzle
+drizzly
+droll
+dromedary
+drone
+drool
+droop
+droopy
+drop
+drophead
+droplet
+dropout
+drosophila
+dross
+drought
+drove
+drown
+drowse
+drowsy
+drub
+drudge
+drudgery
+drug
+drugging
+drugstore
+druid
+drum
+drumhead
+drumlin
+drummond
+drunk
+drunkard
+drunken
+drury
+dry
+dryad
+dryden
+du
+dual
+dualism
+duane
+dub
+dubhe
+dubious
+dubitable
+dublin
+ducat
+duchess
+duck
+duckling
+duct
+ductile
+ductwork
+dud
+dudley
+due
+duel
+duet
+duff
+duffel
+duffy
+dug
+dugan
+dugout
+duke
+dukedom
+dulcet
+dull
+dully
+dulse
+duluth
+duly
+duma
+dumb
+dumbbell
+dummy
+dump
+dumpty
+dumpy
+dun
+dunbar
+duncan
+dunce
+dune
+dunedin
+dung
+dungeon
+dunham
+dunk
+dunkirk
+dunlap
+dunlop
+dunn
+duopolist
+duopoly
+dupe
+duplex
+duplicable
+duplicate
+duplicity
+dupont
+duquesne
+durable
+durance
+durango
+duration
+durer
+duress
+durham
+during
+durkee
+durkin
+durrell
+durward
+dusenberg
+dusenbury
+dusk
+dusky
+dusseldorf
+dust
+dustbin
+dusty
+dutch
+dutchess
+dutchman
+dutchmen
+dutiable
+dutiful
+dutton
+duty
+dwarf
+dwarves
+dwell
+dwelt
+dwight
+dwindle
+dwyer
+dyad
+dyadic
+dye
+dyeing
+dyer
+dying
+dyke
+dylan
+dynamic
+dynamism
+dynamite
+dynamo
+dynast
+dynastic
+dynasty
+dyne
+dysentery
+dyspeptic
+dysplasia
+dysprosium
+dystrophy
+e
+e'er
+e's
+e.g
+each
+eagan
+eager
+eagle
+ear
+eardrum
+earl
+earmark
+earn
+earnest
+earphone
+earring
+earsplitting
+earth
+earthen
+earthenware
+earthmen
+earthmove
+earthmover
+earthmoving
+earthquake
+earthshaking
+earthworm
+earthy
+earwig
+ease
+easel
+east
+eastbound
+eastern
+easternmost
+eastland
+eastman
+eastward
+eastwood
+easy
+easygoing
+eat
+eaten
+eater
+eaton
+eave
+eavesdrop
+eavesdropped
+eavesdropper
+eavesdropping
+ebb
+eben
+ebony
+ebullient
+eccentric
+eccles
+ecclesiastic
+echelon
+echidna
+echinoderm
+echo
+echoes
+eclat
+eclectic
+eclipse
+ecliptic
+eclogue
+ecole
+ecology
+econometric
+econometrica
+economic
+economist
+economy
+ecosystem
+ecstasy
+ecstatic
+ectoderm
+ectopic
+ecuador
+ecumenic
+ecumenist
+ed
+eddie
+eddy
+edelweiss
+edematous
+eden
+edgar
+edge
+edgerton
+edgewise
+edging
+edgy
+edible
+edict
+edifice
+edify
+edinburgh
+edison
+edit
+edith
+edition
+editor
+editorial
+edmonds
+edmondson
+edmonton
+edmund
+edna
+edt
+eduardo
+educable
+educate
+edward
+edwardian
+edwardine
+edwards
+edwin
+edwina
+eel
+eelgrass
+eeoc
+eerie
+eerily
+efface
+effaceable
+effect
+effectual
+effectuate
+effeminate
+efferent
+effete
+efficacious
+efficacy
+efficient
+effie
+effloresce
+efflorescent
+effluent
+effluvia
+effluvium
+effort
+effusion
+effusive
+eft
+egalitarian
+egan
+egg
+egghead
+eggplant
+eggshell
+ego
+egocentric
+egotism
+egotist
+egregious
+egress
+egret
+egypt
+egyptian
+eh
+ehrlich
+eider
+eidetic
+eigenfunction
+eigenspace
+eigenstate
+eigenvalue
+eigenvector
+eight
+eighteen
+eighteenth
+eightfold
+eighth
+eightieth
+eighty
+eileen
+einstein
+einsteinian
+einsteinium
+eire
+eisenhower
+eisner
+either
+ejaculate
+eject
+ejector
+eke
+ekstrom
+ektachrome
+el
+elaborate
+elaine
+elan
+elapse
+elastic
+elastomer
+elate
+elba
+elbow
+elder
+eldest
+eldon
+eleanor
+eleazar
+elect
+elector
+electoral
+electorate
+electra
+electress
+electret
+electric
+electrician
+electrify
+electro
+electrocardiogram
+electrocardiograph
+electrode
+electroencephalogram
+electroencephalograph
+electroencephalography
+electrolysis
+electrolyte
+electrolytic
+electron
+electronic
+electrophoresis
+electrophorus
+elegant
+elegiac
+elegy
+element
+elementary
+elena
+elephant
+elephantine
+elevate
+eleven
+eleventh
+elfin
+elgin
+eli
+elicit
+elide
+eligible
+elijah
+eliminate
+elinor
+eliot
+elisabeth
+elisha
+elision
+elite
+elizabeth
+elizabethan
+elk
+elkhart
+ell
+ella
+ellen
+elliot
+elliott
+ellipse
+ellipsis
+ellipsoid
+ellipsoidal
+ellipsometer
+elliptic
+ellis
+ellison
+ellsworth
+ellwood
+elm
+elmer
+elmhurst
+elmira
+elmsford
+eloise
+elongate
+elope
+eloquent
+else
+elsevier
+elsewhere
+elsie
+elsinore
+elton
+eluate
+elucidate
+elude
+elusive
+elute
+elution
+elves
+ely
+elysee
+elysian
+em
+emaciate
+emanate
+emancipate
+emanuel
+emasculate
+embalm
+embank
+embarcadero
+embargo
+embargoes
+embark
+embarrass
+embassy
+embattle
+embed
+embeddable
+embedded
+embedder
+embedding
+embellish
+ember
+embezzle
+emblazon
+emblem
+emblematic
+embodiment
+embody
+embolden
+emboss
+embouchure
+embower
+embrace
+embraceable
+embrittle
+embroider
+embroidery
+embroil
+embryo
+embryology
+embryonic
+emcee
+emendable
+emerald
+emerge
+emergent
+emeriti
+emeritus
+emerson
+emery
+emigrant
+emigrate
+emil
+emile
+emilio
+emily
+eminent
+emirate
+emissary
+emission
+emissivity
+emit
+emittance
+emitted
+emitter
+emitting
+emma
+emmanuel
+emmett
+emolument
+emory
+emotion
+emotional
+empathy
+emperor
+emphases
+emphasis
+emphatic
+emphysema
+emphysematous
+empire
+empiric
+emplace
+employ
+employed
+employee
+employer
+employing
+emporium
+empower
+empress
+empty
+emulate
+emulsify
+emulsion
+en
+enable
+enamel
+encapsulate
+encephalitis
+enchantress
+enclave
+encomia
+encomium
+encore
+encroach
+encryption
+encumber
+encumbrance
+encyclopedic
+end
+endemic
+endgame
+endicott
+endoderm
+endogamous
+endogamy
+endogenous
+endomorphism
+endorse
+endosperm
+endothelial
+endothermic
+endow
+endpoint
+endurance
+endure
+enemy
+energetic
+energy
+enervate
+enfant
+enfield
+enforceable
+enforcible
+eng
+engage
+engel
+engine
+engineer
+england
+englander
+engle
+englewood
+english
+englishman
+englishmen
+enhance
+enid
+enigma
+enigmatic
+enjoinder
+enlargeable
+enliven
+enmity
+enoch
+enol
+enormity
+enormous
+enos
+enough
+enquire
+enquiry
+enrico
+enrollee
+ensconce
+ensemble
+enstatite
+entendre
+enter
+enterprise
+entertain
+enthalpy
+enthrall
+enthusiasm
+enthusiast
+enthusiastic
+entice
+entire
+entirety
+entity
+entomology
+entourage
+entranceway
+entrant
+entrepreneur
+entrepreneurial
+entropy
+entry
+enumerable
+enumerate
+enunciable
+enunciate
+envelop
+envelope
+enviable
+envious
+environ
+envoy
+envy
+enzymatic
+enzyme
+enzymology
+eocene
+eohippus
+eosine
+epa
+epaulet
+ephemeral
+ephemerides
+ephemeris
+ephesian
+ephesus
+ephraim
+epic
+epicure
+epicurean
+epicycle
+epicyclic
+epidemic
+epidemiology
+epidermic
+epidermis
+epigenetic
+epigram
+epigrammatic
+epigraph
+epileptic
+epilogue
+epimorphism
+epiphany
+epiphyseal
+epiphysis
+episcopal
+episcopalian
+episcopate
+episode
+episodic
+epistemology
+epistle
+epistolatory
+epitaph
+epitaxial
+epitaxy
+epithelial
+epithelium
+epithet
+epitome
+epoch
+epochal
+epoxy
+epsilon
+epsom
+epstein
+equable
+equal
+equanimity
+equate
+equatorial
+equestrian
+equidistant
+equilateral
+equilibrate
+equilibria
+equilibrium
+equine
+equinoctial
+equinox
+equip
+equipoise
+equipotent
+equipped
+equipping
+equitable
+equitation
+equity
+equivalent
+equivocal
+equivocate
+era
+eradicable
+eradicate
+erasable
+erase
+erasmus
+erastus
+erasure
+erato
+eratosthenes
+erbium
+erda
+ere
+erect
+erg
+ergative
+ergodic
+eric
+erich
+erickson
+ericsson
+erie
+erik
+erlenmeyer
+ernest
+ernestine
+ernie
+ernst
+erode
+erodible
+eros
+erosible
+erosion
+erosive
+erotic
+erotica
+err
+errancy
+errand
+errant
+errantry
+errata
+erratic
+erratum
+errol
+erroneous
+error
+ersatz
+erskine
+erudite
+erudition
+erupt
+eruption
+ervin
+erwin
+escadrille
+escalate
+escapade
+escape
+escapee
+escheat
+escherichia
+eschew
+escort
+escritoire
+escrow
+escutcheon
+eskimo
+esmark
+esophagi
+esoteric
+especial
+espionage
+esplanade
+esposito
+espousal
+espouse
+esprit
+esquire
+essay
+essen
+essence
+essential
+essex
+est
+establish
+estate
+esteem
+estella
+ester
+estes
+esther
+estimable
+estimate
+estonia
+estop
+estoppal
+estrange
+estuarine
+estuary
+et
+eta
+etc
+etch
+eternal
+eternity
+ethan
+ethane
+ethanol
+ethel
+ether
+ethereal
+ethic
+ethiopia
+ethnic
+ethnography
+ethnology
+ethology
+ethos
+ethyl
+ethylene
+etiology
+etiquette
+etruscan
+etude
+etymology
+eucalyptus
+eucharist
+euclid
+euclidean
+eucre
+eugene
+eugenia
+eugenic
+eukaryote
+euler
+eulerian
+eulogy
+eumenides
+eunice
+euphemism
+euphemist
+euphorbia
+euphoria
+euphoric
+euphrates
+eurasia
+eureka
+euridyce
+euripides
+europa
+europe
+european
+europium
+eurydice
+eutectic
+euterpe
+euthanasia
+eva
+evacuate
+evade
+evaluable
+evaluate
+evanescent
+evangel
+evangelic
+evans
+evanston
+evansville
+evaporate
+evasion
+evasive
+eve
+evelyn
+even
+evenhanded
+evensong
+event
+eventful
+eventide
+eventual
+eventuate
+eveready
+everett
+everglades
+evergreen
+everhart
+everlasting
+every
+everybody
+everyday
+everyman
+everyone
+everything
+everywhere
+evict
+evident
+evidential
+evil
+evildoer
+evince
+evocable
+evocate
+evocation
+evoke
+evolution
+evolutionary
+evolve
+evzone
+ewe
+ewing
+ex
+exacerbate
+exact
+exacter
+exaggerate
+exalt
+exaltation
+exam
+examination
+examine
+example
+exasperate
+exasperater
+excavate
+exceed
+excel
+excelled
+excellent
+excelling
+excelsior
+except
+exception
+exceptional
+excerpt
+excess
+excessive
+exchange
+exchangeable
+exchequer
+excisable
+excise
+excision
+excitation
+excitatory
+excite
+exciton
+exclaim
+exclamation
+exclamatory
+exclude
+exclusion
+exclusionary
+exclusive
+excommunicate
+excoriate
+excrescent
+excrete
+excretion
+excretory
+excruciate
+exculpate
+exculpatory
+excursion
+excursus
+excusable
+excuse
+execrable
+execrate
+execute
+execution
+executive
+executor
+executrix
+exegesis
+exegete
+exemplar
+exemplary
+exemplify
+exempt
+exemption
+exercisable
+exercise
+exert
+exeter
+exhale
+exhaust
+exhaustible
+exhaustion
+exhaustive
+exhibit
+exhibition
+exhibitor
+exhilarate
+exhort
+exhortation
+exhumation
+exhume
+exigent
+exile
+exist
+existent
+existential
+exit
+exodus
+exogamous
+exogamy
+exogenous
+exonerate
+exorbitant
+exorcise
+exorcism
+exorcist
+exoskeleton
+exothermic
+exotic
+exotica
+expand
+expanse
+expansible
+expansion
+expansive
+expatiate
+expect
+expectant
+expectation
+expectorant
+expectorate
+expedient
+expedite
+expedition
+expeditious
+expel
+expellable
+expelled
+expelling
+expend
+expenditure
+expense
+expensive
+experience
+experiential
+experiment
+experimentation
+expert
+expertise
+expiable
+expiate
+expiration
+expire
+explain
+explanation
+explanatory
+expletive
+explicable
+explicate
+explicit
+explode
+exploit
+exploitation
+exploration
+exploratory
+explore
+explosion
+explosive
+exponent
+exponential
+exponentiate
+export
+exportation
+expose
+exposit
+exposition
+expositor
+expository
+exposure
+expound
+express
+expressible
+expression
+expressive
+expressway
+expropriate
+expulsion
+expunge
+expurgate
+exquisite
+extant
+extemporaneous
+extempore
+extend
+extendible
+extensible
+extension
+extensive
+extensor
+extent
+extenuate
+exterior
+exterminate
+external
+extinct
+extinguish
+extirpate
+extol
+extolled
+extoller
+extolling
+extort
+extra
+extracellular
+extract
+extractor
+extracurricular
+extraditable
+extradite
+extradition
+extralegal
+extralinguistic
+extramarital
+extramural
+extraneous
+extraordinary
+extrapolate
+extraterrestrial
+extravagant
+extravaganza
+extrema
+extremal
+extreme
+extremis
+extremum
+extricable
+extricate
+extrinsic
+extroversion
+extrovert
+extrude
+extrusion
+extrusive
+exuberant
+exudate
+exudation
+exude
+exult
+exultant
+exultation
+exxon
+eye
+eyeball
+eyebright
+eyebrow
+eyed
+eyeful
+eyeglass
+eyelash
+eyelet
+eyelid
+eyepiece
+eyesight
+eyesore
+eyewitness
+ezekiel
+ezra
+f
+f's
+faa
+faber
+fabian
+fable
+fabric
+fabricate
+fabulous
+facade
+face
+faceplate
+facet
+facetious
+facial
+facile
+facilitate
+facsimile
+fact
+factious
+facto
+factor
+factorial
+factory
+factual
+facultative
+faculty
+fad
+fade
+fadeout
+faery
+fafnir
+fag
+fahey
+fahrenheit
+fail
+failsafe
+failsoft
+failure
+fain
+faint
+fair
+fairchild
+fairfax
+fairfield
+fairgoer
+fairport
+fairway
+fairy
+faith
+faithful
+fake
+falcon
+falconry
+fall
+fallacious
+fallacy
+fallen
+fallible
+falloff
+fallout
+fallow
+falmouth
+false
+falsehood
+falsify
+falstaff
+falter
+fame
+familial
+familiar
+familiarly
+familism
+family
+famine
+famish
+famous
+fan
+fanatic
+fanciful
+fancy
+fanfare
+fanfold
+fang
+fangled
+fanny
+fanout
+fantasia
+fantasist
+fantastic
+fantasy
+fantod
+far
+farad
+faraday
+farber
+farce
+farcical
+fare
+farewell
+farfetched
+fargo
+farina
+farkas
+farley
+farm
+farmhouse
+farmington
+farmland
+farnsworth
+faro
+farrell
+farsighted
+farther
+farthest
+fascicle
+fasciculate
+fascinate
+fascism
+fascist
+fashion
+fast
+fasten
+fastidious
+fat
+fatal
+fate
+fateful
+father
+fathom
+fatigue
+fatima
+fatten
+fatty
+fatuous
+faucet
+faulkner
+fault
+faulty
+faun
+fauna
+faust
+faustian
+faustus
+fawn
+fay
+fayette
+fayetteville
+faze
+fbi
+fcc
+fda
+fe
+fealty
+fear
+fearful
+fearsome
+feasible
+feast
+feat
+feather
+featherbed
+featherbedding
+featherbrain
+feathertop
+featherweight
+feathery
+feature
+feb
+febrile
+february
+fecund
+fed
+fedders
+federal
+federate
+fedora
+fee
+feeble
+feed
+feedback
+feel
+feeney
+feet
+feign
+feint
+feldman
+feldspar
+felice
+felicia
+felicitous
+felicity
+feline
+felix
+fell
+fellow
+felon
+felonious
+felony
+felsite
+felt
+female
+feminine
+feminism
+feminist
+femur
+fence
+fencepost
+fend
+fennel
+fenton
+fenugreek
+ferber
+ferdinand
+ferguson
+fermat
+ferment
+fermentation
+fermi
+fermion
+fermium
+fern
+fernando
+fernery
+ferocious
+ferocity
+ferreira
+ferrer
+ferret
+ferric
+ferris
+ferrite
+ferroelectric
+ferromagnet
+ferromagnetic
+ferromagnetism
+ferrous
+ferruginous
+ferrule
+ferry
+fertile
+fervent
+fescue
+fest
+festival
+festive
+fetal
+fetch
+fete
+fetid
+fetish
+fetter
+fettle
+fetus
+feud
+feudal
+feudatory
+fever
+feverish
+few
+fiance
+fiancee
+fiasco
+fiat
+fib
+fiberboard
+fiberglas
+fibonacci
+fibration
+fibrin
+fibrosis
+fibrous
+fiche
+fickle
+fiction
+fictitious
+fictive
+fiddle
+fiddlestick
+fide
+fidelity
+fidget
+fiducial
+fiduciary
+fief
+fiefdom
+field
+fields
+fieldstone
+fieldwork
+fiend
+fiendish
+fierce
+fiery
+fiesta
+fife
+fifo
+fifteen
+fifteenth
+fifth
+fiftieth
+fifty
+fig
+figaro
+fight
+figural
+figurate
+figure
+figurine
+filament
+filamentary
+filbert
+filch
+file
+filet
+filial
+filibuster
+filigree
+filipino
+fill
+filled
+filler
+fillet
+fillip
+filly
+film
+filmdom
+filmmake
+filmstrip
+filmy
+filter
+filth
+filthy
+filtrate
+fin
+final
+finale
+finance
+financial
+financier
+finch
+find
+fine
+finery
+finesse
+finessed
+finessing
+finger
+fingernail
+fingerprint
+fingertip
+finial
+finicky
+finish
+finitary
+finite
+fink
+finland
+finley
+finn
+finnegan
+finnish
+finny
+fir
+fire
+firearm
+fireboat
+firebreak
+firebug
+firecracker
+firefly
+firehouse
+firelight
+fireman
+firemen
+fireplace
+firepower
+fireproof
+fireside
+firestone
+firewall
+firewood
+firework
+firm
+firmware
+first
+firsthand
+fiscal
+fischbein
+fischer
+fish
+fisherman
+fishermen
+fishery
+fishmonger
+fishpond
+fishy
+fisk
+fiske
+fissile
+fission
+fissure
+fist
+fisticuff
+fit
+fitch
+fitchburg
+fitful
+fitzgerald
+fitzpatrick
+fitzroy
+five
+fivefold
+fix
+fixate
+fixture
+fizeau
+fizzle
+fjord
+fl
+flabbergast
+flabby
+flack
+flag
+flagellate
+flageolet
+flagging
+flagler
+flagpole
+flagrant
+flagstaff
+flagstone
+flail
+flair
+flak
+flake
+flaky
+flam
+flamboyant
+flame
+flamingo
+flammable
+flanagan
+flanders
+flange
+flank
+flannel
+flap
+flare
+flash
+flashback
+flashlight
+flashy
+flask
+flat
+flatbed
+flathead
+flatiron
+flatland
+flatten
+flattery
+flatulent
+flatus
+flatware
+flatworm
+flaunt
+flautist
+flaw
+flax
+flaxen
+flaxseed
+flea
+fleabane
+fleawort
+fleck
+fled
+fledge
+fledgling
+flee
+fleece
+fleeing
+fleet
+fleming
+flemish
+flesh
+fleshy
+fletch
+fletcher
+flew
+flex
+flexible
+flexural
+flexure
+flick
+flier
+flight
+flimsy
+flinch
+fling
+flint
+flintlock
+flinty
+flip
+flipflop
+flippant
+flirt
+flirtation
+flirtatious
+flit
+flo
+float
+floc
+flocculate
+flock
+floe
+flog
+flogging
+flood
+floodgate
+floodlight
+floodlit
+floor
+floorboard
+flop
+floppy
+flora
+floral
+florence
+florentine
+florican
+florid
+florida
+floridian
+florin
+florist
+flotation
+flotilla
+flounce
+flounder
+flour
+flourish
+floury
+flout
+flow
+flowchart
+flowerpot
+flowery
+flown
+floyd
+flu
+flub
+fluctuate
+flue
+fluency
+fluent
+fluff
+fluffy
+fluid
+fluke
+flung
+flunk
+fluoresce
+fluorescein
+fluorescent
+fluoridate
+fluoride
+fluorine
+fluorite
+fluorocarbon
+fluorspar
+flurry
+flush
+fluster
+flute
+flutter
+fluvial
+flux
+fly
+flycatcher
+flyer
+flynn
+flyway
+fm
+fmc
+foal
+foam
+foamflower
+foamy
+fob
+focal
+foci
+focus
+focussed
+fodder
+foe
+fog
+fogarty
+fogging
+foggy
+fogy
+foible
+foil
+foist
+fold
+foldout
+foley
+foliage
+foliate
+folio
+folk
+folklore
+folksong
+folksy
+follicle
+follicular
+follow
+followeth
+folly
+fomalhaut
+fond
+fondle
+fondly
+font
+fontaine
+fontainebleau
+food
+foodstuff
+fool
+foolhardy
+foolish
+foolproof
+foot
+footage
+football
+footbridge
+foote
+footfall
+foothill
+footman
+footmen
+footnote
+footpad
+footpath
+footprint
+footstep
+footstool
+footwear
+footwork
+fop
+foppish
+for
+forage
+foray
+forbade
+forbear
+forbearance
+forbes
+forbid
+forbidden
+forbidding
+forbore
+forborne
+force
+forceful
+forcible
+ford
+fordham
+fore
+foregoing
+foreign
+forensic
+forest
+forestry
+forever
+forfeit
+forfeiture
+forfend
+forgave
+forge
+forgery
+forget
+forgetful
+forgettable
+forgetting
+forgive
+forgiven
+forgo
+forgot
+forgotten
+fork
+forklift
+forlorn
+form
+formal
+formaldehyde
+formant
+format
+formate
+formatted
+formatting
+formic
+formica
+formidable
+formosa
+formula
+formulae
+formulaic
+formulate
+forrest
+forsake
+forsaken
+forsook
+forswear
+forsythe
+fort
+forte
+fortescue
+forth
+forthcome
+forthright
+forthwith
+fortieth
+fortify
+fortin
+fortiori
+fortitude
+fortnight
+fortran
+fortress
+fortuitous
+fortunate
+fortune
+forty
+forum
+forward
+forwent
+foss
+fossil
+fossiliferous
+foster
+fosterite
+fought
+foul
+foulmouth
+found
+foundation
+foundling
+foundry
+fount
+fountain
+fountainhead
+four
+fourfold
+fourier
+foursome
+foursquare
+fourteen
+fourteenth
+fourth
+fovea
+fowl
+fox
+foxglove
+foxhall
+foxhole
+foxhound
+foxtail
+foxy
+foyer
+fpc
+fraction
+fractionate
+fractious
+fracture
+fragile
+fragment
+fragmentary
+fragmentation
+fragrant
+frail
+frailty
+frambesia
+frame
+framework
+fran
+franc
+franca
+france
+frances
+franchise
+francine
+francis
+franciscan
+francisco
+francium
+franco
+francoise
+frangipani
+frank
+frankel
+frankfort
+frankfurt
+frankfurter
+franklin
+frantic
+franz
+fraser
+fraternal
+fraternity
+frau
+fraud
+fraudulent
+fraught
+fray
+frayed
+frazier
+frazzle
+freak
+freakish
+freckle
+fred
+freddie
+freddy
+frederic
+frederick
+fredericks
+fredericksburg
+fredericton
+fredholm
+fredrickson
+free
+freeboot
+freed
+freedman
+freedmen
+freedom
+freehand
+freehold
+freeing
+freeman
+freemen
+freeport
+freer
+freest
+freestone
+freethink
+freetown
+freeway
+freewheel
+freeze
+freight
+french
+frenchman
+frenchmen
+frenetic
+frenzy
+freon
+frequent
+fresco
+frescoes
+fresh
+freshen
+freshman
+freshmen
+freshwater
+fresnel
+fresno
+fret
+freud
+freudian
+frey
+freya
+friable
+friar
+fricative
+frick
+friction
+frictional
+friday
+fried
+friedman
+friedrich
+friend
+frieze
+frigate
+frigga
+fright
+frighten
+frightful
+frigid
+frigidaire
+frill
+frilly
+fringe
+frisky
+fritillary
+fritter
+fritz
+frivolity
+frivolous
+frizzle
+fro
+frock
+frog
+frolic
+from
+front
+frontage
+frontal
+frontier
+frontiersman
+frontiersmen
+frost
+frostbite
+frostbitten
+frosty
+froth
+frothy
+frown
+frowzy
+froze
+frozen
+fructify
+fructose
+fruehauf
+frugal
+fruit
+fruitful
+fruition
+frustrate
+frustrater
+frustum
+fry
+frye
+ft
+ftc
+fuchs
+fuchsia
+fudge
+fuel
+fugal
+fugitive
+fugue
+fuji
+fujitsu
+fulcrum
+fulfill
+full
+fullback
+fullerton
+fully
+fulminate
+fulsome
+fulton
+fum
+fumble
+fume
+fumigant
+fumigate
+fun
+function
+functionary
+functor
+functorial
+fund
+fundamental
+fundraise
+funeral
+funereal
+fungal
+fungi
+fungible
+fungicide
+fungoid
+fungus
+funk
+funnel
+funny
+fur
+furbish
+furious
+furl
+furlong
+furlough
+furman
+furnace
+furnish
+furniture
+furrier
+furrow
+furry
+further
+furtherance
+furthermore
+furthermost
+furthest
+furtive
+fury
+furze
+fuse
+fuselage
+fusible
+fusiform
+fusillade
+fusion
+fuss
+fussy
+fusty
+futile
+future
+fuzz
+fuzzy
+g
+g's
+ga
+gab
+gabardine
+gabble
+gabbro
+gaberones
+gable
+gabon
+gabriel
+gabrielle
+gad
+gadfly
+gadget
+gadgetry
+gadolinium
+gadwall
+gaelic
+gaff
+gaffe
+gag
+gage
+gagging
+gaggle
+gagwriter
+gaiety
+gail
+gaillardia
+gain
+gaines
+gainesville
+gainful
+gait
+gaithersburg
+gal
+gala
+galactic
+galactose
+galapagos
+galatea
+galatia
+galaxy
+galbreath
+gale
+galen
+galena
+galenite
+galilee
+gall
+gallagher
+gallant
+gallantry
+gallberry
+gallery
+galley
+gallinule
+gallium
+gallivant
+gallon
+gallonage
+gallop
+galloway
+gallows
+gallstone
+gallup
+gallus
+galois
+galt
+galvanic
+galvanism
+galvanometer
+galveston
+galway
+gam
+gambia
+gambit
+gamble
+gambol
+game
+gamecock
+gamesman
+gamin
+gamma
+gamut
+gander
+gang
+ganges
+gangland
+gangling
+ganglion
+gangplank
+gangster
+gangway
+gannet
+gannett
+gantlet
+gantry
+ganymede
+gao
+gap
+gape
+gar
+garage
+garb
+garbage
+garble
+garcia
+garden
+gardenia
+gardner
+garfield
+gargantuan
+gargle
+garibaldi
+garish
+garland
+garlic
+garner
+garnet
+garrett
+garrison
+garrisonian
+garrulous
+garry
+garter
+garth
+garvey
+gary
+gas
+gascony
+gaseous
+gases
+gash
+gasify
+gasket
+gaslight
+gasohol
+gasoline
+gasp
+gaspee
+gassy
+gaston
+gastrointestinal
+gastronome
+gastronomy
+gate
+gatekeep
+gates
+gateway
+gather
+gatlinburg
+gator
+gauche
+gaucherie
+gaudy
+gauge
+gaugeable
+gauguin
+gaul
+gauleiter
+gaulle
+gaunt
+gauntlet
+gaur
+gauss
+gaussian
+gauze
+gave
+gavel
+gavin
+gavotte
+gawk
+gawky
+gay
+gaylord
+gaze
+gazelle
+gazette
+ge
+gear
+gecko
+gedanken
+gee
+geese
+gegenschein
+geiger
+geigy
+geisha
+gel
+gelable
+gelatin
+gelatine
+gelatinous
+geld
+gem
+geminate
+gemini
+gemlike
+gemma
+gemstone
+gender
+gene
+genealogy
+genera
+general
+generate
+generic
+generosity
+generous
+genesco
+genesis
+genetic
+geneva
+genevieve
+genial
+genie
+genii
+genital
+genitive
+genius
+genoa
+genotype
+genre
+gent
+genteel
+gentian
+gentile
+gentility
+gentle
+gentleman
+gentlemen
+gentry
+genuine
+genus
+geocentric
+geochemical
+geochemistry
+geochronology
+geodesic
+geodesy
+geodetic
+geoduck
+geoffrey
+geographer
+geography
+geology
+geometer
+geometrician
+geophysical
+geophysics
+geopolitic
+george
+georgetown
+georgia
+gerald
+geraldine
+geranium
+gerard
+gerber
+gerbil
+gerhard
+gerhardt
+geriatric
+germ
+german
+germane
+germanic
+germanium
+germantown
+germany
+germicidal
+germicide
+germinal
+germinate
+gerontology
+gerry
+gershwin
+gertrude
+gerund
+gerundial
+gerundive
+gestalt
+gestapo
+gesticulate
+gesture
+get
+getaway
+getty
+gettysburg
+geyser
+ghana
+ghastly
+ghent
+gherkin
+ghetto
+ghost
+ghostlike
+ghostly
+ghoul
+ghoulish
+giacomo
+giant
+giantess
+gibberish
+gibbet
+gibbon
+gibbons
+gibbous
+gibbs
+gibby
+gibe
+giblet
+gibraltar
+gibson
+giddap
+giddy
+gideon
+gifford
+gift
+gig
+gigabit
+gigabyte
+gigacycle
+gigahertz
+gigaherz
+gigantic
+gigavolt
+gigawatt
+gigging
+giggle
+gil
+gila
+gilbert
+gilbertson
+gilchrist
+gild
+gilead
+giles
+gill
+gillespie
+gillette
+gilligan
+gilmore
+gilt
+gimbal
+gimbel
+gimmick
+gimmickry
+gimpy
+gin
+gina
+ginger
+gingham
+gingko
+ginkgo
+ginmill
+ginn
+gino
+ginsberg
+ginsburg
+ginseng
+giovanni
+giraffe
+gird
+girdle
+girl
+girlie
+girlish
+girth
+gist
+giuliano
+giuseppe
+give
+giveaway
+given
+giveth
+glacial
+glaciate
+glacier
+glacis
+glad
+gladden
+gladdy
+glade
+gladiator
+gladiolus
+gladstone
+gladys
+glamor
+glamorous
+glamour
+glance
+gland
+glandular
+glans
+glare
+glasgow
+glass
+glassine
+glassware
+glasswort
+glassy
+glaswegian
+glaucoma
+glaucous
+glaze
+gleam
+glean
+gleason
+glee
+gleeful
+glen
+glenda
+glendale
+glenn
+glib
+glidden
+glide
+glimmer
+glimpse
+glint
+glissade
+glisten
+glitch
+glitter
+gloat
+glob
+global
+globe
+globular
+globule
+globulin
+glom
+glomerular
+gloom
+gloomy
+gloria
+gloriana
+glorify
+glorious
+glory
+gloss
+glossary
+glossed
+glossolalia
+glossy
+glottal
+glottis
+gloucester
+glove
+glow
+glucose
+glue
+glued
+gluey
+gluing
+glum
+glut
+glutamate
+glutamic
+glutamine
+glutinous
+glutton
+glyceride
+glycerin
+glycerinate
+glycerine
+glycerol
+glycine
+glycogen
+glycol
+glyph
+gm
+gmt
+gnarl
+gnash
+gnat
+gnaw
+gneiss
+gnome
+gnomon
+gnomonic
+gnostic
+gnp
+gnu
+go
+goa
+goad
+goal
+goat
+goatherd
+gob
+gobble
+gobbledygook
+goblet
+god
+goddard
+goddess
+godfather
+godfrey
+godhead
+godkin
+godlike
+godmother
+godparent
+godsend
+godson
+godwin
+godwit
+goer
+goes
+goethe
+goff
+gog
+goggle
+gogh
+gogo
+gold
+goldberg
+golden
+goldeneye
+goldenrod
+goldenseal
+goldfinch
+goldfish
+goldman
+goldsmith
+goldstein
+goldstine
+goldwater
+goleta
+golf
+goliath
+golly
+gondola
+gone
+gong
+goniometer
+gonzales
+gonzalez
+goober
+good
+goodbye
+goode
+goodman
+goodrich
+goodwill
+goodwin
+goody
+goodyear
+goof
+goofy
+goose
+gooseberry
+gop
+gopher
+gordian
+gordon
+gore
+goren
+gorge
+gorgeous
+gorgon
+gorham
+gorilla
+gorky
+gorse
+gorton
+gory
+gosh
+goshawk
+gosling
+gospel
+gossamer
+gossip
+got
+gotham
+gothic
+gotten
+gottfried
+goucher
+gouda
+gouge
+gould
+gourd
+gourmet
+gout
+govern
+governance
+governess
+governor
+gown
+gpo
+grab
+grace
+graceful
+gracious
+grackle
+grad
+gradate
+grade
+gradient
+gradual
+graduate
+grady
+graff
+graft
+graham
+grail
+grain
+grainy
+grammar
+grammarian
+grammatic
+granary
+grand
+grandchild
+grandchildren
+granddaughter
+grandeur
+grandfather
+grandiloquent
+grandiose
+grandma
+grandmother
+grandnephew
+grandniece
+grandpa
+grandparent
+grandson
+grandstand
+granite
+granitic
+granny
+granola
+grant
+grantee
+grantor
+granular
+granulate
+granule
+granville
+grape
+grapefruit
+grapevine
+graph
+grapheme
+graphic
+graphite
+grapple
+grasp
+grass
+grassland
+grassy
+grata
+grate
+grateful
+grater
+gratify
+gratis
+gratitude
+gratuitous
+gratuity
+grave
+gravel
+graven
+graves
+gravestone
+graveyard
+gravid
+gravitate
+gravy
+gray
+graybeard
+grayish
+grayson
+graywacke
+graze
+grease
+greasy
+great
+greatcoat
+greater
+grebe
+grecian
+greece
+greed
+greedy
+greek
+green
+greenbelt
+greenberg
+greenblatt
+greenbriar
+greene
+greenery
+greenfield
+greengrocer
+greenhouse
+greenish
+greenland
+greensboro
+greensward
+greenware
+greenwich
+greenwood
+greer
+greet
+greg
+gregarious
+gregg
+gregory
+gremlin
+grenade
+grendel
+grenoble
+gresham
+greta
+gretchen
+grew
+grey
+greyhound
+greylag
+grid
+griddle
+gridiron
+grief
+grievance
+grieve
+grievous
+griffin
+griffith
+grill
+grille
+grilled
+grillwork
+grim
+grimace
+grimaldi
+grime
+grimes
+grimm
+grin
+grind
+grindstone
+grip
+gripe
+grippe
+grisly
+grist
+gristmill
+griswold
+grit
+gritty
+grizzle
+grizzly
+groan
+groat
+grocer
+grocery
+groggy
+groin
+grommet
+groom
+groove
+grope
+grosbeak
+gross
+grosset
+grossman
+grosvenor
+grotesque
+groton
+ground
+groundsel
+groundskeep
+groundwork
+group
+groupoid
+grout
+grove
+grovel
+grover
+grow
+growl
+grown
+grownup
+growth
+grub
+grubby
+grudge
+gruesome
+gruff
+grumble
+grumman
+grunt
+gryphon
+gsa
+gu
+guam
+guanidine
+guanine
+guano
+guarantee
+guaranteeing
+guarantor
+guaranty
+guard
+guardhouse
+guardia
+guardian
+guatemala
+gubernatorial
+guelph
+guenther
+guerdon
+guernsey
+guerrilla
+guess
+guesswork
+guest
+guffaw
+guggenheim
+guiana
+guidance
+guide
+guidebook
+guideline
+guidepost
+guiding
+guignol
+guild
+guildhall
+guile
+guilford
+guillemot
+guillotine
+guilt
+guilty
+guinea
+guise
+guitar
+gules
+gulf
+gull
+gullah
+gullet
+gullible
+gully
+gulp
+gum
+gumbo
+gumdrop
+gummy
+gumption
+gumshoe
+gun
+gunderson
+gunfight
+gunfire
+gunflint
+gunk
+gunky
+gunman
+gunmen
+gunnery
+gunny
+gunplay
+gunpowder
+gunshot
+gunsling
+gunther
+gurgle
+gurkha
+guru
+gus
+gush
+gusset
+gust
+gustafson
+gustav
+gustave
+gustavus
+gusto
+gusty
+gut
+gutenberg
+guthrie
+gutsy
+guttural
+guy
+guyana
+guzzle
+gwen
+gwyn
+gym
+gymnasium
+gymnast
+gymnastic
+gymnosperm
+gyp
+gypsite
+gypsum
+gypsy
+gyrate
+gyrfalcon
+gyro
+gyrocompass
+gyroscope
+h
+h's
+ha
+haag
+haas
+habeas
+haberdashery
+haberman
+habib
+habit
+habitant
+habitat
+habitation
+habitual
+habituate
+hacienda
+hack
+hackberry
+hackett
+hackle
+hackmatack
+hackney
+hackneyed
+hacksaw
+had
+hadamard
+haddad
+haddock
+hades
+hadley
+hadn't
+hadrian
+hadron
+hafnium
+hagen
+hager
+haggard
+haggle
+hagstrom
+hague
+hahn
+haifa
+haiku
+hail
+hailstone
+hailstorm
+haines
+hair
+haircut
+hairdo
+hairpin
+hairy
+haiti
+haitian
+hal
+halcyon
+hale
+haley
+half
+halfback
+halfhearted
+halfway
+halibut
+halide
+halifax
+halite
+hall
+hallelujah
+halley
+hallmark
+hallow
+halloween
+hallucinate
+hallway
+halma
+halo
+halocarbon
+halogen
+halpern
+halsey
+halstead
+halt
+halvah
+halve
+halverson
+ham
+hamal
+hamburg
+hamburger
+hamilton
+hamlet
+hamlin
+hammerhead
+hammock
+hammond
+hamper
+hampshire
+hampton
+hamster
+han
+hancock
+hand
+handbag
+handbook
+handclasp
+handcuff
+handel
+handful
+handgun
+handhold
+handicap
+handicapped
+handicapper
+handicapping
+handicraft
+handicraftsman
+handicraftsmen
+handiwork
+handkerchief
+handle
+handleable
+handlebar
+handline
+handmade
+handmaiden
+handout
+handset
+handshake
+handsome
+handspike
+handstand
+handwaving
+handwrite
+handwritten
+handy
+handyman
+handymen
+haney
+hanford
+hang
+hangable
+hangar
+hangman
+hangmen
+hangout
+hangover
+hank
+hankel
+hanley
+hanlon
+hanna
+hannah
+hannibal
+hanoi
+hanover
+hanoverian
+hans
+hansel
+hansen
+hansom
+hanson
+hanukkah
+hap
+haphazard
+haploid
+haploidy
+haplology
+happen
+happenstance
+happy
+hapsburg
+harangue
+harass
+harbin
+harbinger
+harcourt
+hard
+hardbake
+hardboard
+hardboiled
+hardcopy
+harden
+hardhat
+hardin
+harding
+hardscrabble
+hardtack
+hardtop
+hardware
+hardwood
+hardworking
+hardy
+hare
+harelip
+harem
+hark
+harlan
+harlem
+harley
+harm
+harmful
+harmon
+harmonic
+harmonica
+harmonious
+harmony
+harness
+harold
+harp
+harpoon
+harpsichord
+harpy
+harriet
+harriman
+harrington
+harris
+harrisburg
+harrison
+harrow
+harry
+harsh
+harshen
+hart
+hartford
+hartley
+hartman
+harvard
+harvest
+harvestman
+harvey
+hash
+hashish
+hasn't
+hasp
+hassle
+hast
+haste
+hasten
+hastings
+hasty
+hat
+hatch
+hatchet
+hatchway
+hate
+hateful
+hater
+hatfield
+hath
+hathaway
+hatred
+hatteras
+hattie
+hattiesburg
+haugen
+haughty
+haul
+haulage
+haunch
+haunt
+hausdorff
+havana
+have
+haven
+haven't
+havilland
+havoc
+haw
+hawaii
+hawaiian
+hawk
+hawkins
+hawley
+hawthorn
+hawthorne
+hay
+hayden
+haydn
+hayes
+hayfield
+haynes
+hays
+haystack
+hayward
+hazard
+hazardous
+haze
+hazel
+hazelnut
+hazy
+he
+he'd
+he'll
+head
+headache
+headboard
+headdress
+headland
+headlight
+headline
+headmaster
+headphone
+headquarter
+headquarters
+headroom
+headset
+headsman
+headsmen
+headstand
+headstone
+headstrong
+headwall
+headwater
+headway
+headwind
+heady
+heal
+healey
+health
+healthful
+healthy
+healy
+heap
+hear
+heard
+hearken
+hearsay
+hearse
+hearst
+heart
+heartbeat
+heartbreak
+hearten
+heartfelt
+hearth
+hearty
+heat
+heater
+heath
+heathen
+heathenish
+heathkit
+heave
+heaven
+heavenward
+heavy
+heavyweight
+hebe
+hebephrenic
+hebraic
+hebrew
+hecate
+hecatomb
+heck
+heckle
+heckman
+hectic
+hector
+hecuba
+hedge
+hedgehog
+hedonism
+hedonist
+heed
+heel
+heft
+hefty
+hegelian
+hegemony
+heidelberg
+heigh
+height
+heighten
+heine
+heinrich
+heinz
+heir
+heiress
+heisenberg
+held
+helen
+helena
+helene
+helga
+helical
+helicopter
+heliocentric
+heliotrope
+helium
+helix
+hell
+hellbender
+hellebore
+hellenic
+hellfire
+hellgrammite
+hellish
+hello
+helm
+helmet
+helmholtz
+helmsman
+helmsmen
+helmut
+help
+helpful
+helpmate
+helsinki
+helvetica
+hem
+hematite
+hemingway
+hemisphere
+hemispheric
+hemlock
+hemoglobin
+hemolytic
+hemorrhage
+hemorrhoid
+hemosiderin
+hemp
+hempstead
+hen
+henbane
+hence
+henceforth
+henchman
+henchmen
+henderson
+hendrick
+hendricks
+hendrickson
+henequen
+henley
+henpeck
+henri
+henrietta
+henry
+hepatica
+hepatitis
+hepburn
+heptane
+her
+hera
+heraclitus
+herald
+herb
+herbert
+herculean
+hercules
+herd
+herdsman
+here
+hereabout
+hereafter
+hereby
+hereditary
+heredity
+hereford
+herein
+hereinabove
+hereinafter
+hereinbelow
+hereof
+heresy
+heretic
+hereto
+heretofore
+hereunder
+hereunto
+herewith
+heritable
+heritage
+herkimer
+herman
+hermann
+hermeneutic
+hermes
+hermetic
+hermite
+hermitian
+hermosa
+hernandez
+hero
+herodotus
+heroes
+heroic
+heroin
+heroine
+heroism
+heron
+herpes
+herpetology
+herr
+herringbone
+herschel
+herself
+hershel
+hershey
+hertz
+hertzog
+hesitant
+hesitate
+hesitater
+hesperus
+hess
+hesse
+hessian
+hester
+heterocyclic
+heterodyne
+heterogamous
+heterogeneity
+heterogeneous
+heterosexual
+heterostructure
+heterozygous
+hetman
+hettie
+hetty
+heublein
+heuristic
+heusen
+heuser
+hew
+hewett
+hewitt
+hewlett
+hewn
+hex
+hexachloride
+hexadecimal
+hexafluoride
+hexagon
+hexagonal
+hexameter
+hexane
+hey
+heyday
+hi
+hiatt
+hiatus
+hiawatha
+hibachi
+hibbard
+hibernate
+hibernia
+hick
+hickey
+hickman
+hickory
+hicks
+hid
+hidalgo
+hidden
+hide
+hideaway
+hideous
+hideout
+hierarchal
+hierarchic
+hierarchy
+hieratic
+hieroglyphic
+hieronymus
+hifalutin
+higgins
+high
+highball
+highboy
+highest
+highfalutin
+highhanded
+highland
+highlight
+highroad
+hightail
+highway
+highwayman
+highwaymen
+hijack
+hijinks
+hike
+hilarious
+hilarity
+hilbert
+hildebrand
+hill
+hillbilly
+hillcrest
+hillel
+hillman
+hillmen
+hillock
+hillside
+hilltop
+hilly
+hilt
+hilton
+hilum
+him
+himalaya
+himself
+hind
+hindmost
+hindrance
+hindsight
+hindu
+hinduism
+hines
+hinge
+hinman
+hint
+hinterland
+hip
+hippo
+hippocrates
+hippocratic
+hippodrome
+hippopotamus
+hippy
+hipster
+hiram
+hire
+hireling
+hiroshi
+hiroshima
+hirsch
+hirsute
+his
+hispanic
+hiss
+histamine
+histidine
+histochemic
+histochemistry
+histogram
+histology
+historian
+historic
+historiography
+history
+histrionic
+hit
+hitachi
+hitch
+hitchcock
+hither
+hitherto
+hitler
+hive
+ho
+hoagie
+hoagland
+hoagy
+hoar
+hoard
+hoarfrost
+hoarse
+hob
+hobart
+hobbes
+hobble
+hobbs
+hobby
+hobbyhorse
+hobgoblin
+hobo
+hoboken
+hoc
+hock
+hockey
+hocus
+hodge
+hodgepodge
+hodges
+hodgkin
+hoe
+hoff
+hoffman
+hog
+hogan
+hogging
+hoi
+hokan
+holbrook
+holcomb
+hold
+holden
+holdout
+holdover
+holdup
+hole
+holeable
+holiday
+holland
+hollandaise
+holler
+hollerith
+hollingsworth
+hollister
+hollow
+holloway
+hollowware
+holly
+hollyhock
+hollywood
+holm
+holman
+holmdel
+holmes
+holmium
+holocaust
+holocene
+hologram
+holography
+holst
+holstein
+holster
+holt
+holyoke
+holystone
+hom
+homage
+home
+homebound
+homebuild
+homebuilder
+homebuilding
+homecome
+homecoming
+homeland
+homemade
+homemake
+homeomorph
+homeomorphic
+homeopath
+homeostasis
+homeown
+homeowner
+homeric
+homesick
+homestead
+homeward
+homework
+homicidal
+homicide
+homily
+homo
+homogenate
+homogeneity
+homogeneous
+homologous
+homologue
+homology
+homomorphic
+homomorphism
+homonym
+homophobia
+homosexual
+homotopy
+homozygous
+homunculus
+honda
+hondo
+honduras
+hone
+honest
+honesty
+honey
+honeybee
+honeycomb
+honeydew
+honeymoon
+honeysuckle
+honeywell
+hong
+honk
+honolulu
+honoraria
+honorarium
+honorary
+honoree
+honorific
+honshu
+hooch
+hood
+hoodlum
+hoof
+hoofmark
+hook
+hookup
+hookworm
+hooligan
+hoop
+hoopla
+hoosegow
+hoosier
+hoot
+hoover
+hooves
+hop
+hope
+hopeful
+hopkins
+hopkinsian
+hopple
+hopscotch
+horace
+horatio
+horde
+horehound
+horizon
+horizontal
+hormone
+horn
+hornbeam
+hornblende
+hornblower
+hornet
+hornmouth
+horntail
+hornwort
+horny
+horology
+horoscope
+horowitz
+horrendous
+horrible
+horrid
+horrify
+horror
+horse
+horseback
+horsedom
+horseflesh
+horsefly
+horsehair
+horseman
+horsemen
+horseplay
+horsepower
+horseshoe
+horsetail
+horsewoman
+horsewomen
+horticulture
+horton
+horus
+hose
+hosiery
+hospice
+hospitable
+hospital
+host
+hostage
+hostelry
+hostess
+hostile
+hostler
+hot
+hotbed
+hotbox
+hotel
+hotelman
+hothead
+hothouse
+hotrod
+hotshot
+houdaille
+houdini
+hough
+houghton
+hound
+hour
+hourglass
+house
+houseboat
+housebreak
+housebroken
+housefly
+household
+housekeep
+housewares
+housewife
+housewives
+housework
+houston
+hove
+hovel
+hover
+how
+howard
+howdy
+howe
+howell
+however
+howl
+howsoever
+howsomever
+hoy
+hoyden
+hoydenish
+hoyt
+hrothgar
+hub
+hubbard
+hubbell
+hubbub
+hubby
+huber
+hubert
+hubris
+huck
+huckleberry
+huckster
+huddle
+hudson
+hue
+hued
+huff
+huffman
+hug
+huge
+hugging
+huggins
+hugh
+hughes
+hugo
+huh
+hulk
+hull
+hum
+human
+humane
+humanitarian
+humanoid
+humble
+humboldt
+humerus
+humid
+humidify
+humidistat
+humiliate
+humility
+hummel
+hummingbird
+hummock
+humorous
+hump
+humpback
+humphrey
+humpty
+humus
+hun
+hunch
+hundred
+hundredfold
+hundredth
+hung
+hungarian
+hungary
+hungry
+hunk
+hunt
+hunter
+huntington
+huntley
+huntsville
+hurd
+hurdle
+hurl
+hurley
+huron
+hurrah
+hurray
+hurricane
+hurry
+hurst
+hurt
+hurtle
+hurty
+hurwitz
+husband
+husbandman
+husbandmen
+husbandry
+hush
+husky
+hustle
+huston
+hut
+hutch
+hutchins
+hutchinson
+hutchison
+huxley
+huxtable
+huzzah
+hyacinth
+hyades
+hyaline
+hyannis
+hybrid
+hyde
+hydra
+hydrangea
+hydrant
+hydrate
+hydraulic
+hydride
+hydro
+hydrocarbon
+hydrochemistry
+hydrochloric
+hydrochloride
+hydrodynamic
+hydroelectric
+hydrofluoric
+hydrogen
+hydrogenate
+hydrology
+hydrolysis
+hydrometer
+hydronium
+hydrophilic
+hydrophobia
+hydrophobic
+hydrosphere
+hydrostatic
+hydrothermal
+hydrous
+hydroxide
+hydroxy
+hydroxyl
+hydroxylate
+hyena
+hygiene
+hygrometer
+hygroscopic
+hying
+hyman
+hymen
+hymn
+hymnal
+hyperbola
+hyperbolic
+hyperboloid
+hyperboloidal
+hypertensive
+hyphen
+hyphenate
+hypnosis
+hypnotic
+hypoactive
+hypochlorite
+hypochlorous
+hypocrisy
+hypocrite
+hypocritic
+hypocritical
+hypocycloid
+hypodermic
+hypophyseal
+hypotenuse
+hypothalamic
+hypothalamus
+hypotheses
+hypothesis
+hypothetic
+hypothyroid
+hysterectomy
+hysteresis
+hysteria
+hysteric
+hysteron
+i
+i'd
+i'll
+i'm
+i's
+i've
+i.e
+ia
+iambic
+ian
+iberia
+ibex
+ibid
+ibis
+ibm
+ibn
+icarus
+icc
+ice
+iceberg
+icebox
+iceland
+icelandic
+ichneumon
+icicle
+icky
+icon
+iconic
+iconoclasm
+iconoclast
+icosahedra
+icosahedral
+icosahedron
+icy
+id
+ida
+idaho
+idea
+ideal
+ideate
+idempotent
+identical
+identify
+identity
+ideolect
+ideologue
+ideology
+idiocy
+idiom
+idiomatic
+idiosyncrasy
+idiosyncratic
+idiot
+idiotic
+idle
+idol
+idolatry
+idyll
+idyllic
+ieee
+if
+iffy
+ifni
+igloo
+igneous
+ignite
+ignition
+ignoble
+ignominious
+ignoramus
+ignorant
+ignore
+igor
+ii
+iii
+ike
+il
+ileum
+iliac
+iliad
+ill
+illegal
+illegible
+illegitimacy
+illegitimate
+illicit
+illimitable
+illinois
+illiteracy
+illiterate
+illogic
+illume
+illuminate
+illumine
+illusion
+illusionary
+illusive
+illusory
+illustrate
+illustrious
+ilona
+ilyushin
+image
+imagen
+imagery
+imaginary
+imaginate
+imagine
+imbalance
+imbecile
+imbibe
+imbrium
+imbroglio
+imbrue
+imbue
+imitable
+imitate
+immaculate
+immanent
+immaterial
+immature
+immeasurable
+immediacy
+immediate
+immemorial
+immense
+immerse
+immersion
+immigrant
+immigrate
+imminent
+immiscible
+immobile
+immobility
+immoderate
+immodest
+immodesty
+immoral
+immortal
+immovable
+immune
+immunization
+immunoelectrophoresis
+immutable
+imp
+impact
+impair
+impale
+impalpable
+impart
+impartation
+impartial
+impassable
+impasse
+impassion
+impassive
+impatient
+impeach
+impeccable
+impedance
+impede
+impediment
+impel
+impelled
+impeller
+impelling
+impend
+impenetrable
+imperate
+imperative
+imperceivable
+imperceptible
+imperfect
+imperial
+imperil
+imperious
+imperishable
+impermeable
+impermissible
+impersonal
+impersonate
+impertinent
+imperturbable
+impervious
+impetuous
+impetus
+impiety
+impinge
+impious
+impish
+implacable
+implant
+implantation
+implausible
+implement
+implementation
+implementer
+implementor
+implicant
+implicate
+implicit
+implode
+implore
+implosion
+impolite
+impolitic
+imponderable
+import
+important
+importation
+importunate
+importune
+impose
+imposition
+impossible
+impost
+imposture
+impotent
+impound
+impoverish
+impracticable
+impractical
+imprecate
+imprecise
+imprecision
+impregnable
+impregnate
+impresario
+impress
+impressible
+impression
+impressive
+imprimatur
+imprint
+imprison
+improbable
+impromptu
+improper
+impropriety
+improve
+improvident
+improvisate
+improvisation
+improvise
+imprudent
+impudent
+impugn
+impulse
+impulsive
+impunity
+impure
+imputation
+impute
+in
+inability
+inaccessible
+inaccuracy
+inaccurate
+inaction
+inactivate
+inactive
+inadequacy
+inadequate
+inadmissible
+inadvertent
+inadvisable
+inalienable
+inalterable
+inane
+inanimate
+inappeasable
+inapplicable
+inappreciable
+inapproachable
+inappropriate
+inapt
+inaptitude
+inarticulate
+inasmuch
+inattention
+inattentive
+inaudible
+inaugural
+inaugurate
+inauspicious
+inboard
+inborn
+inbred
+inbreed
+inc
+inca
+incalculable
+incandescent
+incant
+incantation
+incapable
+incapacitate
+incapacity
+incarcerate
+incarnate
+incaution
+incautious
+incendiary
+incense
+incentive
+inception
+inceptor
+incessant
+incest
+incestuous
+inch
+incident
+incidental
+incinerate
+incipient
+incise
+incisive
+incite
+inclement
+inclination
+incline
+inclose
+include
+inclusion
+inclusive
+incoherent
+incombustible
+income
+incommensurable
+incommensurate
+incommunicable
+incommutable
+incomparable
+incompatible
+incompetent
+incomplete
+incompletion
+incomprehensible
+incomprehension
+incompressible
+incomputable
+inconceivable
+inconclusive
+incondensable
+incongruity
+incongruous
+inconsequential
+inconsiderable
+inconsiderate
+inconsistent
+inconsolable
+inconspicuous
+inconstant
+incontestable
+incontrollable
+incontrovertible
+inconvenient
+inconvertible
+incorporable
+incorporate
+incorrect
+incorrigible
+incorruptible
+increasable
+increase
+incredible
+incredulity
+incredulous
+increment
+incriminate
+incubate
+incubi
+incubus
+inculcate
+inculpable
+incumbent
+incur
+incurred
+incurrer
+incurring
+incursion
+indebted
+indecent
+indecipherable
+indecision
+indecisive
+indecomposable
+indeed
+indefatigable
+indefensible
+indefinable
+indefinite
+indelible
+indelicate
+indemnify
+indemnity
+indent
+indentation
+indenture
+independent
+indescribable
+indestructible
+indeterminable
+indeterminacy
+indeterminate
+index
+india
+indian
+indiana
+indianapolis
+indicant
+indicate
+indices
+indict
+indicter
+indies
+indifferent
+indigene
+indigenous
+indigent
+indigestible
+indigestion
+indignant
+indignation
+indignity
+indigo
+indira
+indirect
+indiscernible
+indiscoverable
+indiscreet
+indiscretion
+indiscriminate
+indispensable
+indispose
+indisposition
+indisputable
+indissoluble
+indistinct
+indistinguishable
+indium
+individual
+individualism
+individuate
+indivisible
+indochina
+indochinese
+indoctrinate
+indoeuropean
+indolent
+indomitable
+indonesia
+indoor
+indorse
+indubitable
+induce
+inducible
+induct
+inductance
+inductee
+inductor
+indulge
+indulgent
+industrial
+industrialism
+industrious
+industry
+indwell
+indy
+ineducable
+ineffable
+ineffective
+ineffectual
+inefficacy
+inefficient
+inelastic
+inelegant
+ineligible
+ineluctable
+inept
+inequality
+inequitable
+inequity
+inequivalent
+ineradicable
+inert
+inertance
+inertia
+inertial
+inescapable
+inestimable
+inevitable
+inexact
+inexcusable
+inexhaustible
+inexorable
+inexpedient
+inexpensive
+inexperience
+inexpert
+inexpiable
+inexplainable
+inexplicable
+inexplicit
+inexpressible
+inextinguishable
+inextricable
+infallible
+infamous
+infamy
+infancy
+infant
+infantile
+infantry
+infantryman
+infantrymen
+infarct
+infatuate
+infeasible
+infect
+infectious
+infelicitous
+infelicity
+infer
+inference
+inferential
+inferior
+infernal
+inferno
+inferred
+inferring
+infertile
+infest
+infestation
+infidel
+infield
+infight
+infighting
+infiltrate
+infima
+infimum
+infinite
+infinitesimal
+infinitive
+infinitude
+infinitum
+infinity
+infirm
+infirmary
+infix
+inflame
+inflammable
+inflammation
+inflammatory
+inflate
+inflater
+inflationary
+inflect
+inflexible
+inflict
+inflicter
+inflow
+influence
+influent
+influential
+influenza
+influx
+info
+inform
+informal
+informant
+informatica
+information
+informative
+infra
+infract
+infrared
+infrastructure
+infrequent
+infringe
+infuriate
+infuse
+infusible
+infusion
+ingather
+ingenious
+ingenuity
+ingenuous
+ingersoll
+ingest
+ingestible
+ingestion
+inglorious
+ingot
+ingram
+ingrate
+ingratiate
+ingratitude
+ingredient
+ingrown
+inhabit
+inhabitant
+inhabitation
+inhalation
+inhale
+inharmonious
+inhere
+inherent
+inherit
+inheritance
+inheritor
+inhibit
+inhibition
+inhibitor
+inhibitory
+inholding
+inhomogeneity
+inhomogeneous
+inhospitable
+inhuman
+inhumane
+inimical
+inimitable
+iniquitous
+iniquity
+initial
+initiate
+inject
+injudicious
+injun
+injunct
+injunction
+injure
+injurious
+injury
+injustice
+ink
+inkling
+inlaid
+inland
+inlay
+inlet
+inman
+inmate
+inn
+innards
+innate
+inner
+innermost
+innkeeper
+innocent
+innocuous
+innovate
+innuendo
+innumerable
+inoculate
+inoffensive
+inoperable
+inoperative
+inopportune
+inordinate
+inorganic
+input
+inputting
+inquest
+inquire
+inquiry
+inquisition
+inquisitive
+inquisitor
+inroad
+insane
+insatiable
+inscribe
+inscription
+inscrutable
+insect
+insecticide
+insecure
+inseminate
+insensible
+insensitive
+inseparable
+insert
+inset
+inshore
+inside
+insidious
+insight
+insightful
+insignia
+insignificant
+insincere
+insinuate
+insipid
+insist
+insistent
+insofar
+insolent
+insoluble
+insolvable
+insolvent
+insomnia
+insomniac
+insouciant
+inspect
+inspector
+inspiration
+inspire
+instable
+install
+installation
+instalment
+instance
+instant
+instantaneous
+instantiate
+instead
+instep
+instigate
+instill
+instillation
+instinct
+instinctual
+institute
+institution
+instruct
+instructor
+instrument
+instrumentation
+insubordinate
+insubstantial
+insufferable
+insufficient
+insular
+insulate
+insulin
+insult
+insuperable
+insupportable
+insuppressible
+insurance
+insure
+insurgent
+insurmountable
+insurrect
+insurrection
+intact
+intake
+intangible
+integer
+integrable
+integral
+integrand
+integrate
+integrity
+integument
+intellect
+intellectual
+intelligent
+intelligentsia
+intelligible
+intemperance
+intemperate
+intend
+intendant
+intense
+intensify
+intensive
+intent
+intention
+inter
+intercalate
+intercept
+interception
+interceptor
+intercom
+interdict
+interest
+interfere
+interference
+interferometer
+interim
+interior
+interject
+interlude
+intermediary
+intermit
+intermittent
+intern
+internal
+internecine
+internescine
+interpol
+interpolant
+interpolate
+interpolatory
+interpret
+interpretation
+interpretive
+interregnum
+interrogate
+interrogatory
+interrupt
+interruptible
+interruption
+intersect
+intersperse
+interstice
+interstitial
+interval
+intervene
+intervenor
+intervention
+interviewee
+intestate
+intestinal
+intestine
+intimacy
+intimal
+intimate
+intimater
+intimidate
+into
+intolerable
+intolerant
+intonate
+intone
+intoxicant
+intoxicate
+intractable
+intramolecular
+intransigent
+intransitive
+intrepid
+intricacy
+intricate
+intrigue
+intrinsic
+introduce
+introduction
+introductory
+introit
+introject
+introspect
+introversion
+introvert
+intrude
+intrusion
+intrusive
+intuit
+intuitable
+intuition
+intuitive
+inundate
+inure
+invade
+invalid
+invalidate
+invaluable
+invariable
+invariant
+invasion
+invasive
+invective
+inveigh
+inveigle
+invent
+invention
+inventive
+inventor
+inventory
+inverness
+inverse
+inversion
+invert
+invertebrate
+invertible
+invest
+investigate
+investigatory
+investor
+inveterate
+inviable
+invidious
+invigorate
+invincible
+inviolable
+inviolate
+invisible
+invitation
+invite
+invitee
+invocate
+invoice
+invoke
+involuntary
+involute
+involution
+involutorial
+involutory
+involve
+invulnerable
+inward
+io
+iodate
+iodide
+iodinate
+iodine
+ion
+ionic
+ionosphere
+ionospheric
+iota
+iowa
+ipecac
+ipsilateral
+ipso
+iq
+ir
+ira
+iran
+iranian
+iraq
+irate
+ire
+ireland
+irene
+iridium
+iris
+irish
+irishman
+irishmen
+irk
+irksome
+irma
+iron
+ironic
+ironside
+ironstone
+ironwood
+irony
+iroquois
+irradiate
+irrational
+irrawaddy
+irreclaimable
+irreconcilable
+irrecoverable
+irredeemable
+irredentism
+irredentist
+irreducible
+irrefutable
+irregular
+irrelevancy
+irrelevant
+irremediable
+irremovable
+irreparable
+irreplaceable
+irrepressible
+irreproachable
+irreproducible
+irresistible
+irresolute
+irresolution
+irresolvable
+irrespective
+irresponsible
+irretrievable
+irreverent
+irreversible
+irrevocable
+irrigate
+irritable
+irritant
+irritate
+irruption
+irs
+irvin
+irvine
+irving
+irwin
+is
+isaac
+isaacson
+isabel
+isabella
+isadore
+isaiah
+isentropic
+isfahan
+ising
+isinglass
+isis
+islam
+islamabad
+islamic
+island
+isle
+isn't
+isochronal
+isochronous
+isocline
+isolate
+isolde
+isomer
+isomorph
+isomorphic
+isopleth
+isotherm
+isothermal
+isotope
+isotopic
+isotropic
+isotropy
+israel
+israeli
+israelite
+issuance
+issuant
+issue
+istanbul
+istvan
+it
+it&t
+it'd
+it'll
+italian
+italic
+italy
+itch
+item
+iterate
+ithaca
+itinerant
+itinerary
+ito
+itself
+itt
+iv
+ivan
+ivanhoe
+iverson
+ivory
+ivy
+ix
+izvestia
+j
+j's
+jab
+jablonsky
+jack
+jackanapes
+jackass
+jackboot
+jackdaw
+jacket
+jackie
+jackknife
+jackman
+jackpot
+jackson
+jacksonian
+jacksonville
+jacky
+jacm
+jacob
+jacobean
+jacobi
+jacobian
+jacobite
+jacobs
+jacobsen
+jacobson
+jacobus
+jacqueline
+jacques
+jade
+jaeger
+jag
+jagging
+jaguar
+jail
+jaime
+jakarta
+jake
+jalopy
+jam
+jamaica
+jamboree
+james
+jamestown
+jan
+jane
+janeiro
+janet
+jangle
+janice
+janissary
+janitor
+janitorial
+janos
+jansenist
+january
+janus
+japan
+japanese
+jar
+jargon
+jarvin
+jason
+jasper
+jaundice
+jaunty
+java
+javelin
+jaw
+jawbone
+jawbreak
+jay
+jazz
+jazzy
+jealous
+jealousy
+jean
+jeannie
+jed
+jeep
+jeff
+jefferson
+jeffersonian
+jeffrey
+jehovah
+jejune
+jejunum
+jelly
+jellyfish
+jenkins
+jennie
+jennifer
+jennings
+jenny
+jensen
+jeopard
+jeopardy
+jeremiah
+jeremy
+jeres
+jericho
+jerk
+jerky
+jeroboam
+jerome
+jerry
+jersey
+jerusalem
+jess
+jesse
+jessica
+jessie
+jest
+jesuit
+jesus
+jet
+jetliner
+jettison
+jew
+jewel
+jewell
+jewelry
+jewett
+jewish
+jibe
+jiffy
+jig
+jigging
+jiggle
+jigsaw
+jill
+jilt
+jim
+jimenez
+jimmie
+jimmy
+jingle
+jinx
+jitter
+jitterbug
+jitterbugger
+jitterbugging
+jittery
+jive
+jo
+joan
+joanna
+joanne
+joaquin
+job
+jobholder
+jock
+jockey
+jockstrap
+jocose
+jocular
+jocund
+joe
+joel
+joey
+jog
+jogging
+joggle
+johann
+johannes
+johannesburg
+johansen
+johanson
+john
+johnny
+johns
+johnsen
+johnson
+johnston
+johnstown
+join
+joint
+joke
+joliet
+jolla
+jolly
+jolt
+jon
+jonas
+jonathan
+jones
+jonquil
+jordan
+jorge
+jorgensen
+jorgenson
+jose
+josef
+joseph
+josephine
+josephson
+josephus
+joshua
+josiah
+joss
+jostle
+jot
+joule
+jounce
+journal
+journalese
+journey
+journeyman
+journeymen
+joust
+jovanovich
+jove
+jovial
+jovian
+jowl
+jowly
+joy
+joyce
+joyful
+joyous
+joyride
+joystick
+jr
+juan
+juanita
+jubilant
+jubilate
+jubilee
+judaism
+judas
+judd
+jude
+judge
+judicable
+judicatory
+judicature
+judicial
+judiciary
+judicious
+judith
+judo
+judson
+judy
+jug
+jugate
+jugging
+juggle
+jugoslavia
+juice
+juicy
+juju
+jujube
+juke
+jukes
+julep
+jules
+julia
+julie
+juliet
+julio
+julius
+july
+jumble
+jumbo
+jump
+jumpy
+junco
+junction
+junctor
+juncture
+june
+juneau
+jungle
+junior
+juniper
+junk
+junkerdom
+junketeer
+junky
+juno
+junta
+jupiter
+jura
+jurassic
+jure
+juridic
+jurisdiction
+jurisprudent
+jurisprudential
+juror
+jury
+just
+justice
+justiciable
+justify
+justine
+justinian
+jut
+jute
+jutish
+juvenile
+juxtapose
+juxtaposition
+k
+k's
+kabuki
+kabul
+kaddish
+kafka
+kafkaesque
+kahn
+kaiser
+kajar
+kalamazoo
+kale
+kaleidescope
+kaleidoscope
+kalmia
+kalmuk
+kamchatka
+kamikaze
+kampala
+kane
+kangaroo
+kankakee
+kansas
+kant
+kaolin
+kaolinite
+kaplan
+kapok
+kappa
+karachi
+karamazov
+karate
+karen
+karl
+karma
+karol
+karp
+karyatid
+kaskaskia
+kate
+katharine
+katherine
+kathleen
+kathy
+katie
+katmandu
+katowice
+katz
+kauffman
+kaufman
+kava
+kay
+kayo
+kazoo
+keaton
+keats
+keddah
+keel
+keelson
+keen
+keenan
+keep
+keeshond
+keg
+keith
+keller
+kelley
+kellogg
+kelly
+kelp
+kelsey
+kelvin
+kemp
+ken
+kendall
+kennan
+kennecott
+kennedy
+kennel
+kenneth
+kenney
+keno
+kensington
+kent
+kenton
+kentucky
+kenya
+kenyon
+kepler
+kept
+kerchief
+kermit
+kern
+kernel
+kernighan
+kerosene
+kerr
+kerry
+kerygma
+kessler
+kestrel
+ketch
+ketchup
+ketone
+ketosis
+kettering
+kettle
+kevin
+key
+keyboard
+keyed
+keyes
+keyhole
+keynes
+keynesian
+keynote
+keypunch
+keys
+keystone
+keyword
+khaki
+khan
+khartoum
+khmer
+khrushchev
+kibbutzim
+kibitz
+kick
+kickback
+kickoff
+kid
+kidde
+kiddie
+kidnap
+kidnapped
+kidnapping
+kidney
+kieffer
+kiev
+kiewit
+kigali
+kikuyu
+kilgore
+kill
+killdeer
+killjoy
+kilo
+kilohm
+kim
+kimball
+kimberly
+kimono
+kin
+kind
+kindergarten
+kindle
+kindred
+kinematic
+kinesic
+kinesthesis
+kinetic
+king
+kingbird
+kingdom
+kingfisher
+kinglet
+kingpin
+kingsbury
+kingsley
+kingston
+kink
+kinky
+kinney
+kinshasha
+kiosk
+kiowa
+kipling
+kirby
+kirchner
+kirchoff
+kirk
+kirkland
+kirkpatrick
+kirov
+kiss
+kissing
+kit
+kitakyushu
+kitchen
+kitchenette
+kite
+kitten
+kittenish
+kittle
+kitty
+kiva
+kivu
+kiwanis
+kiwi
+klan
+klaus
+klaxon
+kleenex
+klein
+kline
+klux
+klystron
+knack
+knapp
+knapsack
+knauer
+knead
+knee
+kneecap
+kneel
+knell
+knelt
+knew
+knick
+knickerbocker
+knife
+knifelike
+knight
+knightsbridge
+knit
+knives
+knob
+knobby
+knock
+knockdown
+knockout
+knoll
+knot
+knott
+knotty
+know
+knoweth
+knowhow
+knowledge
+knowledgeable
+knowles
+knowlton
+known
+knox
+knoxville
+knuckle
+knuckleball
+knudsen
+knudson
+knurl
+knutsen
+knutson
+koala
+kobayashi
+koch
+kochab
+kodachrome
+kodak
+kodiak
+koenig
+koenigsberg
+kohlrabi
+koinonia
+kola
+kolkhoz
+kombu
+kong
+konrad
+koppers
+koran
+korea
+kosher
+kovacs
+kowalewski
+kowalski
+kowloon
+kraft
+krakatoa
+krakow
+kramer
+krause
+kraut
+krebs
+kremlin
+kresge
+krieger
+krishna
+kristin
+kronecker
+krueger
+kruger
+kruse
+krypton
+ks
+ku
+kudo
+kudzu
+kuhn
+kulak
+kumquat
+kurd
+kurt
+kuwait
+kwashiorkor
+ky
+kyle
+kyoto
+l
+l'oeil
+l's
+l'vov
+la
+lab
+laban
+label
+labia
+labial
+labile
+lability
+laboratory
+laborious
+labour
+labrador
+labradorite
+labyrinth
+lac
+lace
+lacerate
+lacerta
+lacewing
+lachesis
+lack
+lackadaisic
+lackey
+lackluster
+laconic
+lacquer
+lacrosse
+lactate
+lactose
+lacuna
+lacunae
+lacustrine
+lacy
+lad
+laden
+ladle
+lady
+ladyfern
+ladylike
+lafayette
+lag
+lager
+lagging
+lagoon
+lagos
+lagrange
+lagrangian
+laguerre
+lahore
+laid
+laidlaw
+lain
+lair
+laissez
+laity
+lake
+lakehurst
+lakeside
+lam
+lamar
+lamarck
+lamb
+lambda
+lambert
+lame
+lamellar
+lament
+lamentation
+laminar
+laminate
+lamp
+lampblack
+lamplight
+lampoon
+lamprey
+lana
+lancashire
+lancaster
+lance
+land
+landau
+landfill
+landhold
+landis
+landlord
+landmark
+landowner
+landscape
+landslide
+lane
+lang
+lange
+langley
+langmuir
+language
+languid
+languish
+lank
+lanka
+lanky
+lansing
+lantern
+lanthanide
+lanthanum
+lao
+laocoon
+laos
+laotian
+lap
+lapel
+lapelled
+lapidary
+laplace
+laplacian
+lappet
+lapse
+laramie
+larceny
+larch
+lard
+laredo
+lares
+large
+largemouth
+largesse
+lariat
+lark
+larkin
+larkspur
+larry
+lars
+larsen
+larson
+larva
+larvae
+larval
+laryngeal
+larynges
+larynx
+lascar
+lascivious
+lase
+lash
+lass
+lasso
+last
+laszlo
+latch
+late
+latent
+later
+latera
+lateral
+lateran
+laterite
+latex
+lath
+lathe
+lathrop
+latin
+latinate
+latitude
+latitudinal
+latitudinary
+latrobe
+latter
+lattice
+latus
+latvia
+laud
+laudanum
+laudatory
+lauderdale
+laue
+laugh
+laughingstock
+laughlin
+laughter
+launch
+launder
+laundry
+laura
+laureate
+laurel
+lauren
+laurence
+laurent
+laurentian
+laurie
+lausanne
+lava
+lavabo
+lavatory
+lavender
+lavish
+lavoisier
+law
+lawbreak
+lawbreaker
+lawbreaking
+lawful
+lawgive
+lawgiver
+lawgiving
+lawmake
+lawman
+lawmen
+lawn
+lawrence
+lawrencium
+lawson
+lawsuit
+lawyer
+lax
+laxative
+lay
+layette
+layman
+laymen
+layoff
+layout
+layton
+layup
+lazarus
+laze
+lazy
+lazybones
+lea
+leach
+leachate
+lead
+leaden
+leadeth
+leadsman
+leadsmen
+leaf
+leaflet
+leafy
+league
+leak
+leakage
+leaky
+lean
+leander
+leap
+leapfrog
+leapt
+lear
+learn
+lease
+leasehold
+leash
+least
+leather
+leatherback
+leatherneck
+leatherwork
+leathery
+leave
+leaven
+leavenworth
+lebanese
+lebanon
+lebensraum
+lebesgue
+lecher
+lechery
+lectern
+lectionary
+lecture
+led
+ledge
+lee
+leech
+leeds
+leek
+leer
+leery
+leeuwenhoek
+leeward
+leeway
+left
+leftmost
+leftover
+leftward
+lefty
+leg
+legacy
+legal
+legate
+legatee
+legato
+legend
+legendary
+legendre
+legerdemain
+legging
+leggy
+leghorn
+legible
+legion
+legislate
+legislature
+legitimacy
+legitimate
+legume
+leguminous
+lehigh
+lehman
+leigh
+leighton
+leila
+leisure
+leitmotif
+leitmotiv
+leland
+lemma
+lemming
+lemon
+lemonade
+lemuel
+len
+lena
+lend
+length
+lengthen
+lengthwise
+lengthy
+lenient
+lenin
+leningrad
+leninism
+leninist
+lennox
+lenny
+lenore
+lens
+lent
+lenten
+lenticular
+lentil
+leo
+leon
+leona
+leonard
+leonardo
+leone
+leonid
+leonine
+leopard
+leopold
+leper
+lepidolite
+leprosy
+leroy
+lesbian
+lesion
+leslie
+lesotho
+less
+lessee
+lessen
+lesson
+lessor
+lest
+lester
+let
+lethal
+lethargic
+lethargy
+lethe
+letitia
+letterhead
+letterman
+lettermen
+lettuce
+leucine
+leukemia
+lev
+levee
+level
+lever
+leverage
+levi
+levin
+levine
+levis
+levitate
+leviticus
+levitt
+levity
+levulose
+levy
+lew
+lewd
+lewis
+lexical
+lexicography
+lexicon
+lexington
+leyden
+liable
+liaison
+liar
+libation
+libel
+libelous
+liberal
+liberate
+liberia
+libertarian
+libertine
+liberty
+libidinous
+libido
+librarian
+library
+librate
+librettist
+libretto
+libreville
+libya
+lice
+licensable
+licensee
+licensor
+licentious
+lichen
+lick
+licorice
+lid
+lie
+liechtenstein
+lied
+lien
+lieu
+lieutenant
+life
+lifeblood
+lifeboat
+lifeguard
+lifelike
+lifelong
+lifespan
+lifestyle
+lifetime
+lifo
+lift
+ligament
+ligand
+ligature
+ligget
+liggett
+light
+lighten
+lightface
+lighthearted
+lighthouse
+lightning
+lightproof
+lightweight
+lignite
+lignum
+like
+liken
+likewise
+lila
+lilac
+lilian
+lillian
+lilliputian
+lilly
+lilt
+lily
+lim
+lima
+limb
+limbic
+limbo
+lime
+limelight
+limerick
+limestone
+limit
+limitate
+limitation
+limousine
+limp
+limpet
+limpid
+limpkin
+lin
+lincoln
+lind
+linda
+lindberg
+lindbergh
+linden
+lindholm
+lindquist
+lindsay
+lindsey
+lindstrom
+line
+lineage
+lineal
+linear
+linebacker
+lineman
+linemen
+linen
+lineprinter
+lineup
+linger
+lingerie
+lingo
+lingua
+lingual
+linguist
+liniment
+link
+linkage
+linoleum
+linotype
+linseed
+lint
+linus
+lion
+lionel
+lioness
+lip
+lipid
+lippincott
+lipread
+lipschitz
+lipscomb
+lipstick
+lipton
+liquefaction
+liquefy
+liqueur
+liquid
+liquidate
+liquidus
+liquor
+lisa
+lisbon
+lise
+lisle
+lisp
+lissajous
+list
+listen
+lit
+litany
+literacy
+literal
+literary
+literate
+literature
+lithe
+lithic
+lithium
+lithograph
+lithography
+lithology
+lithosphere
+lithospheric
+lithuania
+litigant
+litigate
+litigious
+litmus
+litterbug
+little
+littleneck
+littleton
+litton
+littoral
+liturgic
+liturgy
+live
+liven
+livermore
+liverpool
+liverpudlian
+liverwort
+livery
+livestock
+liveth
+livid
+livingston
+livre
+liz
+lizard
+lizzie
+lloyd
+lo
+load
+loaf
+loam
+loamy
+loan
+loath
+loathe
+loathsome
+loaves
+lob
+lobar
+lobby
+lobe
+loblolly
+lobo
+lobotomy
+lobscouse
+lobster
+lobular
+lobule
+local
+locale
+locate
+loci
+lock
+locke
+lockhart
+lockheed
+lockian
+locknut
+lockout
+locksmith
+lockstep
+lockup
+lockwood
+locomote
+locomotion
+locomotive
+locomotor
+locomotory
+locoweed
+locus
+locust
+locution
+locutor
+lodestone
+lodge
+lodgepole
+lodowick
+loeb
+loess
+loft
+lofty
+log
+logan
+logarithm
+logarithmic
+loge
+loggerhead
+logging
+logic
+logician
+logistic
+logjam
+logo
+loin
+loincloth
+loire
+lois
+loiter
+loki
+lola
+loll
+lollipop
+lolly
+lomb
+lombard
+lombardy
+lome
+london
+lone
+lonesome
+long
+longevity
+longfellow
+longhand
+longhorn
+longish
+longitude
+longitudinal
+longleg
+longstanding
+longtime
+longue
+look
+lookout
+lookup
+loom
+loomis
+loon
+loop
+loophole
+loose
+looseleaf
+loosen
+loosestrife
+loot
+lop
+lope
+lopez
+lopseed
+lopsided
+loquacious
+loquacity
+loquat
+lord
+lordosis
+lore
+lorelei
+loren
+lorenz
+loretta
+lorinda
+lorraine
+los
+losable
+lose
+loss
+lossy
+lost
+lot
+lotion
+lotte
+lottery
+lottie
+lotus
+lou
+loud
+loudspeak
+loudspeaker
+loudspeaking
+louis
+louisa
+louise
+louisiana
+louisville
+lounge
+lounsbury
+lourdes
+louse
+lousewort
+lousy
+louver
+louvre
+love
+lovebird
+lovelace
+loveland
+lovelorn
+low
+lowboy
+lowdown
+lowe
+lowell
+lower
+lowland
+lowry
+loy
+loyal
+loyalty
+lozenge
+lsi
+ltd
+ltv
+lubbock
+lubell
+lubricant
+lubricate
+lubricious
+lubricity
+lucas
+lucerne
+lucia
+lucian
+lucid
+lucifer
+lucille
+lucius
+luck
+lucky
+lucrative
+lucre
+lucretia
+lucretius
+lucy
+ludicrous
+ludlow
+ludwig
+lufthansa
+luftwaffe
+lug
+luge
+luger
+luggage
+lugging
+luis
+luke
+lukemia
+lukewarm
+lull
+lullaby
+lulu
+lumbar
+lumber
+lumberman
+lumbermen
+lumen
+luminance
+luminary
+luminescent
+luminosity
+luminous
+lummox
+lump
+lumpish
+lumpur
+lumpy
+lunacy
+lunar
+lunary
+lunate
+lunatic
+lunch
+luncheon
+lunchroom
+lunchtime
+lund
+lundberg
+lundquist
+lung
+lunge
+lupine
+lura
+lurch
+lure
+lurid
+lurk
+lusaka
+luscious
+lush
+lust
+lustful
+lustrous
+lusty
+lutanist
+lute
+lutetium
+luther
+lutheran
+lutz
+lux
+luxe
+luxembourg
+luxuriant
+luxuriate
+luxurious
+luxury
+luzon
+lycopodium
+lydia
+lye
+lying
+lykes
+lyle
+lyman
+lymph
+lymphocyte
+lymphoma
+lynch
+lynchburg
+lynn
+lynx
+lyon
+lyons
+lyra
+lyric
+lyricism
+lysenko
+lysergic
+lysine
+m
+m's
+ma
+mabel
+mac
+macabre
+macaque
+macarthur
+macassar
+macbeth
+macdonald
+macdougall
+mace
+macedon
+macedonia
+macgregor
+mach
+machiavelli
+machination
+machine
+machinelike
+machinery
+machismo
+macho
+macintosh
+mack
+mackenzie
+mackerel
+mackey
+mackinac
+mackinaw
+mackintosh
+macmillan
+macon
+macrame
+macro
+macromolecular
+macromolecule
+macrophage
+macroprocessor
+macroscopic
+macrostructure
+mad
+madagascar
+madam
+madame
+madcap
+madden
+maddox
+made
+madeira
+madeleine
+madeline
+madhouse
+madison
+madman
+madmen
+madonna
+madras
+madrid
+madrigal
+madsen
+madstone
+mae
+maelstrom
+maestro
+mafia
+magazine
+magdalene
+magenta
+maggie
+maggot
+maggoty
+magi
+magic
+magician
+magisterial
+magistrate
+magma
+magna
+magnanimity
+magnanimous
+magnate
+magnesia
+magnesite
+magnesium
+magnet
+magnetic
+magnetite
+magneto
+magnetron
+magnificent
+magnify
+magnitude
+magnolia
+magnum
+magnuson
+magog
+magpie
+magruder
+mahayana
+mahayanist
+mahogany
+mahoney
+maid
+maiden
+maidenhair
+maidservant
+maier
+mail
+mailbox
+mailman
+mailmen
+maim
+main
+maine
+mainland
+mainline
+mainstay
+mainstream
+maintain
+maintenance
+maitre
+majestic
+majesty
+major
+make
+makeshift
+makeup
+malabar
+maladapt
+maladaptive
+maladjust
+maladroit
+malady
+malagasy
+malaise
+malaprop
+malaria
+malarial
+malawi
+malay
+malaysia
+malcolm
+malconduct
+malcontent
+malden
+maldistribute
+maldive
+male
+maledict
+malefactor
+malevolent
+malfeasant
+malformation
+malformed
+malfunction
+mali
+malice
+malicious
+malign
+malignant
+mall
+mallard
+malleable
+mallet
+mallory
+mallow
+malnourished
+malnutrition
+malocclusion
+malone
+maloney
+malposed
+malpractice
+malraux
+malt
+malta
+maltese
+malton
+maltose
+maltreat
+mambo
+mamma
+mammal
+mammalian
+mammoth
+man
+mana
+manage
+manageable
+managerial
+managua
+manama
+manatee
+manchester
+mandamus
+mandarin
+mandate
+mandatory
+mandrake
+mandrel
+mandrill
+mane
+maneuver
+manfred
+manganese
+mange
+mangel
+mangle
+manhattan
+manhole
+manhood
+mania
+maniac
+maniacal
+manic
+manifest
+manifestation
+manifold
+manikin
+manila
+manipulable
+manipulate
+manitoba
+mankind
+manley
+mann
+manna
+mannequin
+mannerism
+manometer
+manor
+manpower
+mans
+manse
+manservant
+mansfield
+mansion
+manslaughter
+mantel
+mantic
+mantis
+mantissa
+mantle
+mantlepiece
+mantrap
+manual
+manuel
+manufacture
+manumission
+manumit
+manumitted
+manure
+manuscript
+manville
+many
+manzanita
+mao
+maori
+map
+maple
+mar
+marathon
+maraud
+marble
+marc
+marceau
+marcel
+marcello
+march
+marcia
+marco
+marcus
+marcy
+mardi
+mare
+margaret
+margarine
+margery
+margin
+marginal
+marginalia
+margo
+marguerite
+maria
+marianne
+marie
+marietta
+marigold
+marijuana
+marilyn
+marimba
+marin
+marina
+marinade
+marinate
+marine
+marino
+mario
+marion
+marionette
+marital
+maritime
+marjoram
+marjorie
+marjory
+mark
+market
+marketeer
+marketplace
+marketwise
+markham
+markov
+markovian
+marks
+marksman
+marksmen
+marlboro
+marlborough
+marlene
+marlin
+marlowe
+marmalade
+marmot
+maroon
+marque
+marquee
+marquess
+marquette
+marquis
+marriage
+marriageable
+married
+marrietta
+marriott
+marrow
+marrowbone
+marry
+mars
+marseilles
+marsh
+marsha
+marshal
+marshall
+marshland
+marshmallow
+marsupial
+mart
+marten
+martensite
+martha
+martial
+martian
+martin
+martinez
+martingale
+martini
+martinique
+martinson
+marty
+martyr
+martyrdom
+marvel
+marvelous
+marvin
+marx
+mary
+maryland
+mascara
+masculine
+maser
+maseru
+mash
+mask
+masochism
+masochist
+mason
+masonic
+masonite
+masonry
+masque
+masquerade
+mass
+massachusetts
+massacre
+massage
+masseur
+massey
+massif
+massive
+mast
+masterful
+mastermind
+masterpiece
+mastery
+mastic
+mastiff
+mastodon
+masturbate
+mat
+match
+matchbook
+matchmake
+mate
+mateo
+mater
+material
+materiel
+maternal
+maternity
+math
+mathematic
+mathematician
+mathematik
+mathews
+mathewson
+mathias
+mathieu
+matilda
+matinal
+matinee
+matins
+matisse
+matriarch
+matriarchal
+matrices
+matriculate
+matrimonial
+matrimony
+matrix
+matroid
+matron
+matson
+matsumoto
+matte
+matthew
+matthews
+mattock
+mattress
+mattson
+maturate
+mature
+maudlin
+maul
+maureen
+maurice
+mauricio
+maurine
+mauritania
+mauritius
+mausoleum
+mauve
+maverick
+mavis
+maw
+mawkish
+mawr
+max
+maxim
+maxima
+maximal
+maximilian
+maximum
+maxine
+maxwell
+maxwellian
+may
+maya
+mayapple
+maybe
+mayer
+mayfair
+mayflower
+mayhem
+maynard
+mayo
+mayonnaise
+mayor
+mayoral
+mayst
+mazda
+maze
+mazurka
+mba
+mbabane
+mcadams
+mcallister
+mcbride
+mccabe
+mccall
+mccallum
+mccann
+mccarthy
+mccarty
+mccauley
+mcclain
+mcclellan
+mcclure
+mccluskey
+mcconnel
+mcconnell
+mccormick
+mccoy
+mccracken
+mccullough
+mcdaniel
+mcdermott
+mcdonald
+mcdonnell
+mcdougall
+mcdowell
+mcelroy
+mcfadden
+mcfarland
+mcgee
+mcgill
+mcginnis
+mcgovern
+mcgowan
+mcgrath
+mcgraw
+mcgregor
+mcguire
+mchugh
+mcintosh
+mcintyre
+mckay
+mckee
+mckenna
+mckenzie
+mckeon
+mckesson
+mckinley
+mckinney
+mcknight
+mclaughlin
+mclean
+mcleod
+mcmahon
+mcmillan
+mcmullen
+mcnally
+mcnaughton
+mcneil
+mcnulty
+mcpherson
+md
+me
+mead
+meadow
+meadowland
+meadowsweet
+meager
+meal
+mealtime
+mealy
+mean
+meander
+meaningful
+meant
+meantime
+meanwhile
+measle
+measure
+meat
+meaty
+mecca
+mechanic
+mechanism
+mechanist
+mecum
+medal
+medallion
+meddle
+medea
+medford
+media
+medial
+median
+mediate
+medic
+medicate
+medici
+medicinal
+medicine
+medico
+mediocre
+mediocrity
+meditate
+mediterranean
+medium
+medlar
+medley
+medusa
+meek
+meet
+meetinghouse
+meg
+megabit
+megabyte
+megahertz
+megalomania
+megalomaniac
+megaton
+megavolt
+megawatt
+megaword
+megohm
+meier
+meiosis
+meistersinger
+mekong
+mel
+melamine
+melancholy
+melanesia
+melange
+melanie
+melanin
+melanoma
+melbourne
+melcher
+meld
+melee
+melinda
+meliorate
+melissa
+mellon
+mellow
+melodic
+melodious
+melodrama
+melodramatic
+melody
+melon
+melpomene
+melt
+meltdown
+meltwater
+melville
+melvin
+member
+membrane
+memento
+memo
+memoir
+memorabilia
+memorable
+memoranda
+memorandum
+memorial
+memory
+memphis
+men
+menace
+menagerie
+menarche
+mend
+mendacious
+mendacity
+mendel
+mendelevium
+mendelssohn
+menelaus
+menfolk
+menhaden
+menial
+meningitis
+meniscus
+menlo
+mennonite
+menopause
+menstruate
+mensurable
+mensuration
+mental
+mention
+mentor
+menu
+menzies
+mephistopheles
+mercantile
+mercator
+mercedes
+mercenary
+mercer
+merchandise
+merchant
+merciful
+mercilessly
+merck
+mercurial
+mercuric
+mercury
+mercy
+mere
+meredith
+meretricious
+merganser
+merge
+meridian
+meridional
+meringue
+merit
+meritorious
+merle
+merlin
+mermaid
+merriam
+merrill
+merrimack
+merriment
+merritt
+merry
+merrymake
+mervin
+mesa
+mescal
+mescaline
+mesenteric
+mesh
+mesmeric
+mesoderm
+meson
+mesopotamia
+mesozoic
+mesquite
+mess
+message
+messenger
+messiah
+messieurs
+messrs
+messy
+met
+metabole
+metabolic
+metabolism
+metabolite
+metal
+metallic
+metalliferous
+metallography
+metalloid
+metallurgic
+metallurgist
+metallurgy
+metalwork
+metamorphic
+metamorphism
+metamorphose
+metamorphosis
+metaphor
+metaphoric
+metcalf
+mete
+meteor
+meteoric
+meteorite
+meteoritic
+meteorology
+meter
+methacrylate
+methane
+methanol
+methionine
+method
+methodic
+methodism
+methodist
+methodology
+methuen
+methuselah
+methyl
+methylene
+meticulous
+metier
+metric
+metro
+metronome
+metropolis
+metropolitan
+mettle
+mettlesome
+metzler
+mew
+mexican
+mexico
+meyer
+meyers
+mezzanine
+mezzo
+mi
+miami
+miasma
+miasmal
+mica
+mice
+michael
+michaelangelo
+michel
+michelangelo
+michele
+michelin
+michelson
+michigan
+mickelson
+mickey
+micky
+micro
+microbial
+microcosm
+microfiche
+micrography
+microjoule
+micron
+micronesia
+microscopy
+mid
+midas
+midband
+midday
+middle
+middlebury
+middleman
+middlemen
+middlesex
+middleton
+middletown
+middleweight
+midge
+midget
+midland
+midmorn
+midnight
+midpoint
+midrange
+midscale
+midsection
+midshipman
+midshipmen
+midspan
+midst
+midstream
+midterm
+midway
+midweek
+midwest
+midwestern
+midwife
+midwinter
+midwives
+mien
+miff
+mig
+might
+mightn't
+mighty
+mignon
+migrant
+migrate
+migratory
+miguel
+mike
+mila
+milan
+milch
+mild
+mildew
+mildred
+mile
+mileage
+miles
+milestone
+milieu
+militant
+militarism
+militarist
+military
+militate
+militia
+militiamen
+milk
+milkweed
+milky
+mill
+millard
+millenarian
+millenia
+millennia
+millennium
+miller
+millet
+millie
+millikan
+millinery
+million
+millionaire
+millions
+millionth
+millipede
+mills
+millstone
+milord
+milt
+milton
+miltonic
+milwaukee
+mimeograph
+mimesis
+mimetic
+mimi
+mimic
+mimicked
+mimicking
+min
+minaret
+mince
+mincemeat
+mind
+mindanao
+mindful
+mine
+minefield
+mineral
+mineralogy
+minerva
+minestrone
+minesweeper
+mingle
+mini
+miniature
+minibike
+minicomputer
+minim
+minima
+minimal
+minimax
+minimum
+minion
+ministerial
+ministry
+mink
+minneapolis
+minnesota
+minnie
+minnow
+minoan
+minor
+minos
+minot
+minsk
+minsky
+minstrel
+minstrelsy
+mint
+minuend
+minuet
+minus
+minuscule
+minute
+minuteman
+minutemen
+minutiae
+miocene
+mira
+miracle
+miraculous
+mirage
+miranda
+mire
+mirfak
+miriam
+mirror
+mirth
+misanthrope
+misanthropic
+miscegenation
+miscellaneous
+miscellany
+mischievous
+miscible
+miscreant
+miser
+misery
+misnomer
+misogynist
+misogyny
+mispronunciation
+miss
+misshapen
+missile
+mission
+missionary
+mississippi
+mississippian
+missive
+missoula
+missouri
+missy
+mist
+mistletoe
+mistress
+misty
+mit
+mitchell
+mite
+miterwort
+mitigate
+mitochondria
+mitosis
+mitral
+mitre
+mitt
+mitten
+mix
+mixture
+mixup
+mizar
+mn
+mnemonic
+mo
+moan
+moat
+mob
+mobcap
+mobil
+mobile
+mobility
+mobster
+moccasin
+mock
+mockernut
+mockery
+mockingbird
+mockup
+modal
+mode
+model
+modem
+moderate
+modern
+modest
+modesto
+modesty
+modicum
+modify
+modish
+modular
+modulate
+module
+moduli
+modulo
+modulus
+modus
+moe
+moen
+mogadiscio
+mohammedan
+mohawk
+mohr
+moiety
+moines
+moire
+moiseyev
+moist
+moisten
+moisture
+molal
+molar
+molasses
+mold
+moldavia
+moldboard
+mole
+molecular
+molecule
+molehill
+molest
+moliere
+moline
+moll
+mollie
+mollify
+mollusk
+molly
+mollycoddle
+moloch
+molt
+molten
+moluccas
+molybdate
+molybdenite
+molybdenum
+moment
+momenta
+momentary
+momentous
+momentum
+mommy
+mona
+monaco
+monad
+monadic
+monarch
+monarchic
+monarchy
+monash
+monastery
+monastic
+monaural
+monday
+monel
+monetarism
+monetarist
+monetary
+money
+moneymake
+moneywort
+mongolia
+mongoose
+monic
+monica
+monies
+monitor
+monitory
+monk
+monkey
+monkeyflower
+monkish
+monmouth
+monoceros
+monochromatic
+monochromator
+monocotyledon
+monocular
+monogamous
+monogamy
+monoid
+monolith
+monologist
+monologue
+monomer
+monomeric
+monomial
+monongahela
+monopoly
+monotonous
+monotreme
+monoxide
+monroe
+monrovia
+monsanto
+monsieur
+monsoon
+monster
+monstrosity
+monstrous
+mont
+montage
+montague
+montana
+montclair
+monte
+montenegrin
+monterey
+monteverdi
+montevideo
+montgomery
+month
+monticello
+montmartre
+montpelier
+montrachet
+montreal
+monty
+monument
+moo
+mood
+moody
+moon
+mooney
+moonlight
+moonlit
+moor
+moore
+moorish
+moose
+moot
+mop
+moraine
+moral
+morale
+moran
+morass
+moratorium
+moravia
+morbid
+more
+morel
+moreland
+moreover
+moresby
+morgan
+morgen
+morgue
+moriarty
+moribund
+morley
+mormon
+morn
+moroccan
+morocco
+moron
+morose
+morpheme
+morphemic
+morphine
+morphism
+morphology
+morphophonemic
+morrill
+morris
+morrison
+morrissey
+morristown
+morrow
+morse
+morsel
+mort
+mortal
+mortar
+mortem
+mortgage
+mortgagee
+mortgagor
+mortician
+mortify
+mortise
+morton
+mosaic
+moscow
+moser
+moses
+moslem
+mosque
+mosquito
+moss
+mossy
+most
+mot
+motel
+motet
+moth
+mothball
+mother
+motherhood
+motherland
+motif
+motion
+motivate
+motive
+motley
+motor
+motorcycle
+motorola
+mottle
+motto
+mould
+moulton
+mound
+mount
+mountain
+mountaineer
+mountainous
+mountainside
+mourn
+mournful
+mouse
+moustache
+mousy
+mouth
+mouthful
+mouthpiece
+mouton
+move
+movie
+mow
+moyer
+mozart
+mph
+mr
+mrs
+ms
+mt
+mu
+much
+mucilage
+muck
+mucosa
+mucus
+mud
+mudd
+muddle
+muddlehead
+muddy
+mudguard
+mudsling
+mueller
+muezzin
+muff
+muffin
+muffle
+mug
+mugging
+muggy
+mugho
+muir
+mukden
+mulatto
+mulberry
+mulch
+mulct
+mule
+mulish
+mull
+mullah
+mullein
+mullen
+mulligan
+mulligatawny
+mullion
+multi
+multifarious
+multinomial
+multiple
+multiplet
+multiplex
+multiplexor
+multipliable
+multiplicand
+multiplication
+multiplicative
+multiplicity
+multiply
+multitude
+multitudinous
+mum
+mumble
+mumford
+mummy
+munch
+muncie
+mundane
+mung
+munich
+municipal
+munificent
+munition
+munson
+muon
+muong
+mural
+murder
+murderous
+muriatic
+muriel
+murk
+murky
+murmur
+murphy
+murray
+murre
+muscat
+muscle
+muscovite
+muscovy
+muscular
+musculature
+muse
+museum
+mush
+mushroom
+mushy
+music
+musicale
+musician
+musicology
+musk
+muskegon
+muskellunge
+musket
+muskmelon
+muskox
+muskoxen
+muskrat
+muslim
+muslin
+mussel
+must
+mustache
+mustachio
+mustang
+mustard
+mustn't
+musty
+mutagen
+mutandis
+mutant
+mutate
+mutatis
+mute
+mutilate
+mutineer
+mutiny
+mutt
+mutter
+mutton
+mutual
+mutuel
+muzak
+muzo
+muzzle
+my
+mycenae
+mycenaean
+mycobacteria
+mycology
+myel
+myeline
+myeloid
+myers
+mylar
+mynah
+mynheer
+myocardial
+myocardium
+myofibril
+myoglobin
+myopia
+myopic
+myosin
+myra
+myriad
+myron
+myrrh
+myrtle
+myself
+mysterious
+mystery
+mystic
+mystify
+mystique
+myth
+mythic
+mythology
+n
+n's
+naacp
+nab
+nabisco
+nabla
+nadia
+nadine
+nadir
+nag
+nagasaki
+nagging
+nagoya
+nagy
+naiad
+nail
+nair
+nairobi
+naive
+naivete
+nakayama
+naked
+name
+nameable
+nameplate
+namesake
+nan
+nancy
+nanette
+nanking
+nanometer
+nanosecond
+nantucket
+naomi
+nap
+nape
+napkin
+naples
+napoleon
+napoleonic
+narbonne
+narcissism
+narcissist
+narcissus
+narcosis
+narcotic
+narragansett
+narrate
+narrow
+nary
+nasa
+nasal
+nascent
+nash
+nashua
+nashville
+nassau
+nasturtium
+nasty
+nat
+natal
+natalie
+natchez
+nate
+nathan
+nathaniel
+nation
+nationhood
+nationwide
+native
+nato
+natty
+natural
+nature
+naturopath
+naughty
+nausea
+nauseate
+nauseum
+nautical
+nautilus
+navajo
+naval
+nave
+navel
+navigable
+navigate
+navy
+nay
+nazarene
+nazareth
+nazi
+nazism
+nbc
+nbs
+nc
+ncaa
+ncar
+nco
+ncr
+nd
+ndjamena
+ne
+neal
+neanderthal
+neap
+neapolitan
+near
+nearby
+nearest
+nearsighted
+neat
+neater
+neath
+nebraska
+nebula
+nebulae
+nebular
+nebulous
+necessary
+necessitate
+necessity
+neck
+necklace
+neckline
+necktie
+necromancer
+necromancy
+necromantic
+necropsy
+necrosis
+necrotic
+nectar
+nectareous
+nectarine
+nectary
+ned
+nee
+need
+needful
+needham
+needle
+needlepoint
+needlework
+needn't
+needy
+neff
+negate
+neglect
+neglecter
+negligee
+negligent
+negligible
+negotiable
+negotiate
+negro
+negroes
+negroid
+nehru
+neil
+neither
+nell
+nellie
+nelsen
+nelson
+nemesis
+neoclassic
+neoconservative
+neodymium
+neolithic
+neologism
+neon
+neonatal
+neonate
+neophyte
+neoprene
+nepal
+nepenthe
+nephew
+neptune
+neptunium
+nereid
+nero
+nerve
+nervous
+ness
+nest
+nestle
+nestor
+net
+nether
+netherlands
+netherworld
+nettle
+nettlesome
+network
+neumann
+neural
+neuralgia
+neurasthenic
+neuritis
+neuroanatomic
+neuroanatomy
+neuroanotomy
+neurology
+neuromuscular
+neuron
+neuronal
+neuropathology
+neurophysiology
+neuropsychiatric
+neuroses
+neurosis
+neurotic
+neuter
+neutral
+neutrino
+neutron
+neva
+nevada
+neve
+never
+nevertheless
+nevins
+new
+newark
+newbold
+newborn
+newcastle
+newcomer
+newel
+newell
+newfound
+newfoundland
+newline
+newlywed
+newman
+newport
+newsboy
+newscast
+newsletter
+newsman
+newsmen
+newspaper
+newspaperman
+newspapermen
+newsreel
+newsstand
+newsweek
+newt
+newton
+newtonian
+next
+nguyen
+nh
+niacin
+niagara
+niamey
+nib
+nibble
+nibelung
+nibs
+nicaragua
+nice
+nicety
+niche
+nicholas
+nicholls
+nichols
+nicholson
+nichrome
+nick
+nickel
+nickname
+nicodemus
+nicosia
+nicotinamide
+nicotine
+niece
+nielsen
+nielson
+nietzsche
+niger
+nigeria
+niggardly
+nigger
+niggle
+nigh
+night
+nightcap
+nightclub
+nightdress
+nightfall
+nightgown
+nighthawk
+nightingale
+nightmare
+nightmarish
+nightshirt
+nighttime
+nih
+nihilism
+nihilist
+nikko
+nikolai
+nil
+nile
+nilpotent
+nimble
+nimbus
+nimh
+nina
+nine
+ninebark
+ninefold
+nineteen
+nineteenth
+ninetieth
+ninety
+nineveh
+ninth
+niobe
+niobium
+nip
+nipple
+nippon
+nirvana
+nit
+nitpick
+nitrate
+nitric
+nitride
+nitrite
+nitrogen
+nitrogenous
+nitroglycerine
+nitrous
+nitty
+nixon
+nj
+nm
+nne
+nnw
+no
+noaa
+noah
+nob
+nobel
+nobelium
+noble
+nobleman
+noblemen
+noblesse
+nobody
+nobody'd
+nocturnal
+nocturne
+nod
+nodal
+node
+nodular
+nodule
+noel
+noetherian
+noise
+noisemake
+noisy
+nolan
+noll
+nolo
+nomad
+nomadic
+nomenclature
+nominal
+nominate
+nominee
+nomogram
+nomograph
+non
+nonagenarian
+nonce
+nonchalant
+nondescript
+none
+nonetheless
+nonogenarian
+nonsensic
+nonsensical
+noodle
+nook
+noon
+noontime
+noose
+nor
+nora
+nordhoff
+nordstrom
+noreen
+norfolk
+norm
+norma
+normal
+normalcy
+norman
+normandy
+normative
+norris
+north
+northampton
+northbound
+northeast
+northeastern
+northerly
+northern
+northernmost
+northland
+northrop
+northrup
+northumberland
+northward
+northwest
+northwestern
+norton
+norwalk
+norway
+norwegian
+norwich
+nose
+nosebag
+nosebleed
+nostalgia
+nostalgic
+nostradamus
+nostrand
+nostril
+not
+notary
+notate
+notch
+note
+notebook
+noteworthy
+nothing
+notice
+noticeable
+notify
+notion
+notocord
+notoriety
+notorious
+notre
+nottingham
+notwithstanding
+nouakchott
+noun
+nourish
+nouveau
+nov
+nova
+novak
+novel
+novelty
+november
+novice
+novitiate
+novo
+novosibirsk
+now
+nowaday
+nowadays
+nowhere
+nowise
+noxious
+nozzle
+nrc
+nsf
+ntis
+nu
+nuance
+nubia
+nubile
+nucleant
+nuclear
+nucleate
+nuclei
+nucleic
+nucleoli
+nucleolus
+nucleotide
+nucleus
+nuclide
+nude
+nudge
+nugatory
+nugget
+nuisance
+null
+nullify
+nullstellensatz
+numb
+numerable
+numeral
+numerate
+numeric
+numerische
+numerology
+numerous
+numinous
+numismatic
+numismatist
+nun
+nuptial
+nurse
+nursery
+nurture
+nut
+nutate
+nutcrack
+nuthatch
+nutmeg
+nutria
+nutrient
+nutrition
+nutritious
+nutritive
+nutshell
+nuzzle
+nv
+nw
+ny
+nyc
+nylon
+nymph
+nymphomania
+nymphomaniac
+nyquist
+nyu
+o
+o'brien
+o'clock
+o'connell
+o'connor
+o'dell
+o'donnell
+o'dwyer
+o'er
+o'hare
+o'leary
+o'neill
+o's
+o'shea
+o'sullivan
+oaf
+oak
+oaken
+oakland
+oakley
+oakwood
+oar
+oases
+oasis
+oat
+oath
+oatmeal
+obduracy
+obdurate
+obedient
+obeisant
+obelisk
+oberlin
+obese
+obey
+obfuscate
+obfuscatory
+obituary
+object
+objectify
+objectivity
+objector
+objet
+oblate
+obligate
+obligatory
+oblige
+oblique
+obliterate
+oblivion
+oblivious
+oblong
+obnoxious
+oboe
+oboist
+obscene
+obscure
+obsequious
+obsequy
+observant
+observation
+observatory
+observe
+obsess
+obsession
+obsessive
+obsidian
+obsolescent
+obsolete
+obstacle
+obstetric
+obstinacy
+obstinate
+obstruct
+obstruent
+obtain
+obtrude
+obtrusion
+obtrusive
+obverse
+obviate
+obvious
+ocarina
+occasion
+occident
+occidental
+occipital
+occlude
+occlusion
+occlusive
+occult
+occultate
+occultation
+occupant
+occupation
+occupy
+occur
+occurred
+occurrent
+occurring
+ocean
+oceania
+oceanic
+oceanographer
+oceanography
+oceanside
+ocelot
+oct
+octagon
+octagonal
+octahedra
+octahedral
+octahedron
+octal
+octane
+octant
+octave
+octavia
+octennial
+octet
+octile
+octillion
+october
+octogenarian
+octopus
+octoroon
+ocular
+odd
+ode
+odessa
+odin
+odious
+odium
+odometer
+odorous
+odysseus
+odyssey
+oedipal
+oedipus
+oersted
+of
+off
+offal
+offbeat
+offenbach
+offend
+offensive
+offer
+offertory
+offhand
+office
+officeholder
+officemate
+official
+officialdom
+officiate
+officio
+officious
+offload
+offprint
+offsaddle
+offset
+offsetting
+offshoot
+offshore
+offspring
+offstage
+oft
+often
+oftentimes
+ogden
+ogle
+ogre
+ogress
+oh
+ohio
+ohm
+ohmic
+ohmmeter
+oil
+oilcloth
+oilman
+oilmen
+oilseed
+oily
+oint
+ointment
+ok
+okay
+okinawa
+oklahoma
+olaf
+olav
+old
+olden
+oldenburg
+oldsmobile
+oldster
+oldy
+oleander
+olefin
+oleomargarine
+olfactory
+olga
+oligarchic
+oligarchy
+oligoclase
+oligopoly
+olin
+olive
+oliver
+olivetti
+olivia
+olivine
+olsen
+olson
+olympia
+olympic
+omaha
+oman
+ombudsman
+ombudsperson
+omega
+omelet
+omen
+omicron
+ominous
+omission
+omit
+omitted
+omitting
+omnibus
+omnipotent
+omnipresent
+omniscient
+on
+once
+oncology
+oncoming
+one
+oneida
+onerous
+oneself
+onetime
+oneupmanship
+ongoing
+onion
+onlook
+onlooker
+onlooking
+only
+onomatopoeia
+onomatopoeic
+onondaga
+onrush
+onrushing
+onset
+onslaught
+ontario
+onto
+ontogeny
+ontology
+onus
+onward
+onyx
+oocyte
+oodles
+ooze
+opacity
+opal
+opalescent
+opaque
+opec
+opel
+open
+opera
+operable
+operand
+operant
+operate
+operatic
+operetta
+operon
+ophiuchus
+ophthalmic
+ophthalmology
+opiate
+opine
+opinion
+opinionate
+opium
+opossum
+oppenheimer
+opponent
+opportune
+opposable
+oppose
+opposite
+opposition
+oppress
+oppression
+oppressive
+oppressor
+opprobrium
+opt
+optic
+optima
+optimal
+optimism
+optimist
+optimistic
+optimum
+option
+optoacoustic
+optoelectronic
+optoisolate
+optometrist
+optometry
+opulent
+opus
+or
+oracle
+oracular
+oral
+orange
+orangeroot
+orangutan
+orate
+oratoric
+oratorical
+oratorio
+oratory
+orb
+orbit
+orbital
+orchard
+orchestra
+orchestral
+orchestrate
+orchid
+orchis
+ordain
+ordeal
+order
+orderly
+ordinal
+ordinance
+ordinary
+ordinate
+ordnance
+ore
+oregano
+oregon
+oresteia
+orestes
+organ
+organdy
+organic
+organismic
+organometallic
+orgasm
+orgiastic
+orgy
+orient
+oriental
+orifice
+origin
+original
+originate
+orin
+orinoco
+oriole
+orion
+orkney
+orlando
+orleans
+ornament
+ornamentation
+ornate
+ornately
+ornery
+orographic
+orography
+orono
+orphan
+orphanage
+orpheus
+orphic
+orr
+ortega
+orthant
+orthicon
+orthoclase
+orthodontic
+orthodontist
+orthodox
+orthodoxy
+orthogonal
+orthography
+orthonormal
+orthopedic
+orthophosphate
+orthorhombic
+orville
+orwell
+orwellian
+osaka
+osborn
+osborne
+oscar
+oscillate
+oscillatory
+oscilloscope
+osgood
+osha
+oshkosh
+osier
+osiris
+oslo
+osmium
+osmosis
+osmotic
+osprey
+osseous
+ossify
+ostensible
+ostentatious
+osteology
+osteopath
+osteopathic
+osteopathy
+osteoporosis
+ostracism
+ostracod
+ostrander
+ostrich
+oswald
+othello
+other
+otherwise
+otherworld
+otherworldly
+otiose
+otis
+ott
+ottawa
+otter
+otto
+ottoman
+ouagadougou
+ouch
+ought
+oughtn't
+ounce
+our
+ourselves
+oust
+out
+outermost
+outlandish
+outlawry
+outrageous
+ouvre
+ouzel
+ouzo
+ova
+oval
+ovary
+ovate
+oven
+ovenbird
+over
+overhang
+overt
+overture
+ovid
+oviform
+ovum
+ow
+owe
+owens
+owing
+owl
+owly
+own
+ox
+oxalate
+oxalic
+oxcart
+oxen
+oxeye
+oxford
+oxidant
+oxidate
+oxide
+oxnard
+oxonian
+oxygen
+oxygenate
+oyster
+ozark
+ozone
+p
+p's
+pa
+pablo
+pabst
+pace
+pacemake
+pacesetting
+pacific
+pacifism
+pacifist
+pacify
+pack
+package
+packard
+packet
+pact
+pad
+paddle
+paddock
+paddy
+padlock
+padre
+paean
+pagan
+page
+pageant
+pageantry
+paginate
+pagoda
+paid
+pail
+pain
+paine
+painful
+painstaking
+paint
+paintbrush
+pair
+pairwise
+pakistan
+pakistani
+pal
+palace
+palate
+palatine
+palazzi
+palazzo
+pale
+paleolithic
+paleozoic
+palermo
+palestine
+palestinian
+palette
+palfrey
+palindrome
+palindromic
+palisade
+pall
+palladia
+palladian
+palladium
+pallet
+palliate
+pallid
+palm
+palmate
+palmetto
+palmolive
+palmyra
+palo
+palomar
+palpable
+palsy
+pam
+pamela
+pampa
+pamper
+pamphlet
+pan
+panacea
+panama
+pancake
+pancho
+pancreas
+pancreatic
+panda
+pandanus
+pandemic
+pandemonium
+pander
+pandora
+pane
+panel
+pang
+panhandle
+panic
+panicked
+panicky
+panicle
+panjandrum
+panoply
+panorama
+panoramic
+pansy
+pant
+pantheism
+pantheist
+pantheon
+panther
+pantomime
+pantomimic
+pantry
+panty
+paoli
+pap
+papa
+papacy
+papal
+papaw
+paper
+paperback
+paperbound
+paperweight
+paperwork
+papery
+papillary
+papoose
+pappas
+pappy
+paprika
+papua
+papyri
+papyrus
+par
+parabola
+parabolic
+paraboloid
+paraboloidal
+parachute
+parade
+paradigm
+paradigmatic
+paradise
+paradox
+paradoxic
+paraffin
+paragon
+paragonite
+paragraph
+paraguay
+parakeet
+paralinguistic
+parallax
+parallel
+parallelepiped
+parallelogram
+paralysis
+paramagnet
+paramagnetic
+paramedic
+parameter
+paramilitary
+paramount
+paramus
+paranoia
+paranoiac
+paranoid
+paranormal
+parapet
+paraphernalia
+paraphrase
+parapsychology
+parasite
+parasitic
+parasol
+parasympathetic
+paratroop
+paraxial
+parboil
+parcel
+parch
+pardon
+pare
+paregoric
+parent
+parentage
+parental
+parentheses
+parenthesis
+parenthetic
+parenthood
+pareto
+pariah
+parimutuel
+paris
+parish
+parishioner
+parisian
+park
+parke
+parkinson
+parkish
+parkland
+parks
+parkway
+parlance
+parlay
+parley
+parliament
+parliamentarian
+parliamentary
+parochial
+parody
+parole
+parolee
+parquet
+parr
+parrish
+parrot
+parry
+parse
+parsifal
+parsimonious
+parsimony
+parsley
+parsnip
+parson
+parsonage
+parsons
+part
+partake
+parthenon
+partial
+participant
+participate
+participle
+particle
+particular
+particulate
+partisan
+partition
+partner
+partook
+partridge
+party
+parvenu
+pasadena
+pascal
+paschal
+pasha
+paso
+pass
+passage
+passageway
+passaic
+passband
+passe
+passenger
+passer
+passerby
+passion
+passionate
+passivate
+passive
+passover
+passport
+password
+past
+paste
+pasteboard
+pastel
+pasteup
+pasteur
+pastiche
+pastime
+pastor
+pastoral
+pastry
+pasture
+pasty
+pat
+patagonia
+patch
+patchwork
+patchy
+pate
+patent
+patentee
+pater
+paternal
+paternoster
+paterson
+path
+pathetic
+pathfind
+pathogen
+pathogenesis
+pathogenic
+pathology
+pathos
+pathway
+patient
+patina
+patio
+patriarch
+patriarchal
+patriarchy
+patrice
+patricia
+patrician
+patrick
+patrimonial
+patrimony
+patriot
+patriotic
+patristic
+patrol
+patrolled
+patrolling
+patrolman
+patrolmen
+patron
+patronage
+patroness
+patsy
+pattern
+patterson
+patti
+patton
+patty
+paucity
+paul
+paula
+paulette
+pauli
+pauline
+paulo
+paulsen
+paulson
+paulus
+paunch
+paunchy
+pauper
+pause
+pavanne
+pave
+pavilion
+pavlov
+paw
+pawn
+pawnshop
+pawtucket
+pax
+pay
+paycheck
+payday
+paymaster
+payne
+payoff
+payroll
+paz
+pbs
+pdp
+pea
+peabody
+peace
+peaceable
+peaceful
+peacemake
+peacetime
+peach
+peachtree
+peacock
+peafowl
+peak
+peaky
+peal
+peale
+peanut
+pear
+pearce
+pearl
+pearlite
+pearlstone
+pearson
+peasant
+peasanthood
+pease
+peat
+pebble
+pecan
+peccary
+peck
+pecos
+pectoral
+pectoralis
+peculate
+peculiar
+pecuniary
+pedagogic
+pedagogue
+pedagogy
+pedal
+pedant
+pedantic
+pedantry
+peddle
+pedestal
+pedestrian
+pediatric
+pediatrician
+pedigree
+pediment
+pedro
+pee
+peed
+peek
+peel
+peep
+peephole
+peepy
+peer
+peg
+pegasus
+pegboard
+pegging
+peggy
+pejorative
+peking
+pelham
+pelican
+pellagra
+pellet
+pelt
+peltry
+pelvic
+pelvis
+pembroke
+pemmican
+pen
+penal
+penalty
+penance
+penates
+pence
+penchant
+pencil
+pend
+pendant
+pendulum
+penelope
+penetrable
+penetrate
+penguin
+penh
+penicillin
+peninsula
+penis
+penitent
+penitential
+penitentiary
+penman
+penmen
+penn
+penna
+pennant
+pennsylvania
+penny
+pennyroyal
+penrose
+pensacola
+pension
+pensive
+pent
+pentagon
+pentagonal
+pentagram
+pentane
+pentecost
+pentecostal
+penthouse
+penultimate
+penumbra
+penurious
+penury
+peony
+people
+peoria
+pep
+peppergrass
+peppermint
+pepperoni
+peppery
+peppy
+pepsi
+pepsico
+peptide
+per
+perceive
+percent
+percentage
+percentile
+percept
+perceptible
+perception
+perceptive
+perceptual
+perch
+perchance
+perchlorate
+percival
+percolate
+percussion
+percussive
+percy
+perdition
+peregrine
+peremptory
+perennial
+perez
+perfect
+perfecter
+perfectible
+perfidious
+perfidy
+perforate
+perforce
+perform
+performance
+perfume
+perfumery
+perfunctory
+perfuse
+perfusion
+pergamon
+perhaps
+periclean
+pericles
+peridotite
+perihelion
+peril
+perilla
+perilous
+perimeter
+period
+periodic
+peripatetic
+peripheral
+periphery
+periphrastic
+periscope
+perish
+peritectic
+periwinkle
+perjure
+perjury
+perk
+perkins
+perky
+perle
+permalloy
+permanent
+permeable
+permeate
+permian
+permissible
+permission
+permissive
+permit
+permitted
+permitting
+permutation
+permute
+pernicious
+peroxide
+perpendicular
+perpetrate
+perpetual
+perpetuate
+perpetuity
+perplex
+perquisite
+perry
+persecute
+persecution
+persecutory
+perseus
+perseverance
+perseverant
+persevere
+pershing
+persia
+persian
+persiflage
+persimmon
+persist
+persistent
+person
+persona
+personage
+personal
+personify
+personnel
+perspective
+perspicacious
+perspicuity
+perspicuous
+perspiration
+perspire
+persuade
+persuasion
+persuasive
+pert
+pertain
+perth
+pertinacious
+pertinent
+perturb
+perturbate
+perturbation
+peru
+perusal
+peruse
+peruvian
+pervade
+pervasion
+pervasive
+perverse
+perversion
+pervert
+pessimal
+pessimism
+pessimist
+pessimum
+pest
+peste
+pesticide
+pestilent
+pestilential
+pestle
+pet
+petal
+pete
+petersburg
+petersen
+peterson
+petit
+petite
+petition
+petrel
+petri
+petrifaction
+petrify
+petrochemical
+petroglyph
+petrol
+petroleum
+petrology
+petticoat
+petty
+petulant
+petunia
+peugeot
+pew
+pewee
+pewter
+pfennig
+pfizer
+ph.d
+phage
+phagocyte
+phalanger
+phalanx
+phalarope
+phantasy
+phantom
+pharaoh
+pharmaceutic
+pharmacist
+pharmacology
+pharmacopoeia
+pharmacy
+phase
+phd
+pheasant
+phelps
+phenol
+phenolic
+phenomena
+phenomenal
+phenomenology
+phenomenon
+phenotype
+phenyl
+phenylalanine
+phi
+phil
+philadelphia
+philanthrope
+philanthropic
+philanthropy
+philharmonic
+philip
+philippine
+philistine
+phillip
+phillips
+philodendron
+philology
+philosoph
+philosopher
+philosophic
+philosophy
+phipps
+phloem
+phlox
+phobic
+phoebe
+phoenicia
+phoenix
+phon
+phone
+phoneme
+phonemic
+phonetic
+phonic
+phonograph
+phonology
+phonon
+phony
+phosgene
+phosphate
+phosphide
+phosphine
+phosphor
+phosphoresce
+phosphorescent
+phosphoric
+phosphorus
+phosphorylate
+photo
+photogenic
+photography
+photolysis
+photolytic
+photometry
+photon
+phrase
+phrasemake
+phraseology
+phthalate
+phycomycetes
+phyla
+phyllis
+phylogeny
+physic
+physician
+physik
+physiochemical
+physiognomy
+physiology
+physiotherapist
+physiotherapy
+physique
+phytoplankton
+pi
+pianissimo
+pianist
+piano
+piazza
+pica
+picasso
+picayune
+piccadilly
+piccolo
+pick
+pickaxe
+pickerel
+pickering
+picket
+pickett
+pickford
+pickle
+pickman
+pickoff
+pickup
+picky
+picnic
+picnicked
+picnicker
+picnicking
+picofarad
+picojoule
+picosecond
+pictorial
+picture
+picturesque
+piddle
+pidgin
+pie
+piece
+piecemeal
+piecewise
+piedmont
+pier
+pierce
+pierre
+pierson
+pietism
+piety
+piezoelectric
+pig
+pigeon
+pigeonberry
+pigeonfoot
+pigeonhole
+pigging
+piggish
+piggy
+piggyback
+pigment
+pigmentation
+pigpen
+pigroot
+pigskin
+pigtail
+pike
+pilate
+pile
+pilewort
+pilfer
+pilferage
+pilgrim
+pilgrimage
+pill
+pillage
+pillar
+pillory
+pillow
+pillsbury
+pilot
+pimp
+pimple
+pin
+pinafore
+pinball
+pinch
+pincushion
+pine
+pineapple
+pinehurst
+ping
+pinhead
+pinhole
+pinion
+pink
+pinkie
+pinkish
+pinnacle
+pinnate
+pinochle
+pinpoint
+pinscher
+pinsky
+pint
+pintail
+pinto
+pinwheel
+pinxter
+pion
+pioneer
+piotr
+pious
+pip
+pipe
+pipeline
+piper
+pipette
+pipsissewa
+piquant
+pique
+piracy
+piraeus
+pirate
+pirogue
+pirouette
+piscataway
+pisces
+piss
+pistachio
+pistol
+pistole
+piston
+pit
+pitch
+pitchblende
+pitchfork
+pitchstone
+piteous
+pitfall
+pith
+pithy
+pitiable
+pitiful
+pitilessly
+pitman
+pitney
+pitt
+pittsburgh
+pittsfield
+pittston
+pituitary
+pity
+pius
+pivot
+pivotal
+pixel
+pixy
+pizza
+pizzeria
+pizzicato
+pl
+placate
+placater
+place
+placeable
+placebo
+placeholder
+placenta
+placental
+placid
+plagiarism
+plagiarist
+plagioclase
+plague
+plagued
+plaguey
+plaid
+plain
+plainfield
+plaintiff
+plaintive
+plan
+planar
+planck
+plane
+planeload
+planet
+planetaria
+planetarium
+planetary
+planetesimal
+planetoid
+plank
+plankton
+planoconcave
+planoconvex
+plant
+plantain
+plantation
+plaque
+plasm
+plasma
+plasmon
+plaster
+plastic
+plastisol
+plastron
+plat
+plate
+plateau
+platelet
+platen
+platform
+platinum
+platitude
+platitudinous
+plato
+platonic
+platonism
+platonist
+platoon
+platte
+platypus
+plausible
+play
+playa
+playback
+playboy
+playful
+playground
+playhouse
+playmate
+playoff
+playroom
+plaything
+playtime
+playwright
+playwriting
+plaza
+plea
+plead
+pleasant
+please
+pleasure
+pleat
+plebeian
+plebian
+pledge
+pleiades
+pleistocene
+plenary
+plenipotentiary
+plenitude
+plentiful
+plenty
+plenum
+plethora
+pleura
+pleural
+plexiglas
+pliable
+pliancy
+pliant
+pliers
+plight
+pliny
+pliocene
+plod
+plop
+plot
+plover
+plowman
+plowshare
+pluck
+plucky
+plug
+plugboard
+pluggable
+plugging
+plum
+plumage
+plumb
+plumbago
+plumbate
+plume
+plummet
+plump
+plunder
+plunge
+plunk
+pluperfect
+plural
+plus
+plush
+plushy
+plutarch
+pluto
+pluton
+plutonium
+ply
+plymouth
+plyscore
+plywood
+pm
+pneumatic
+pneumococcus
+pneumonia
+po
+poach
+pobox
+pocket
+pocketbook
+pocketful
+pocono
+pocus
+pod
+podge
+podia
+podium
+poe
+poem
+poesy
+poet
+poetic
+poetry
+pogo
+pogrom
+poi
+poignant
+poincare
+poinsettia
+point
+pointwise
+poise
+poison
+poisonous
+poisson
+poke
+pokerface
+pol
+poland
+polar
+polarimeter
+polaris
+polariscope
+polariton
+polarogram
+polarograph
+polarography
+polaroid
+polaron
+pole
+polecat
+polemic
+police
+policeman
+policemen
+policy
+polio
+poliomyelitis
+polis
+polish
+politburo
+polite
+politic
+politician
+politicking
+politico
+polity
+polk
+polka
+polkadot
+poll
+pollard
+pollen
+pollinate
+pollock
+polloi
+pollster
+pollutant
+pollute
+pollution
+pollux
+polo
+polonaise
+polonium
+polopony
+polyglot
+polygon
+polygonal
+polygynous
+polyhedra
+polyhedral
+polyhedron
+polyhymnia
+polymer
+polymerase
+polymeric
+polymorph
+polymorphic
+polynomial
+polyphemus
+polyphony
+polyploidy
+polypropylene
+polysaccharide
+polytechnic
+polytope
+polytypy
+pomade
+pomegranate
+pomona
+pomp
+pompadour
+pompano
+pompeii
+pompey
+pompon
+pomposity
+pompous
+ponce
+ponchartrain
+poncho
+pond
+ponder
+ponderous
+pong
+pont
+pontiac
+pontiff
+pontific
+pontificate
+pony
+pooch
+poodle
+pooh
+pool
+poole
+poop
+poor
+pop
+popcorn
+pope
+popish
+poplar
+poplin
+poppy
+populace
+popular
+populate
+populism
+populist
+populous
+porcelain
+porch
+porcine
+porcupine
+pore
+pork
+pornographer
+pornography
+porosity
+porous
+porphyry
+porpoise
+porridge
+port
+portage
+portal
+porte
+portend
+portent
+portentous
+porterhouse
+portfolio
+portia
+portico
+portland
+portmanteau
+porto
+portrait
+portraiture
+portray
+portrayal
+portsmouth
+portugal
+portuguese
+portulaca
+posable
+pose
+poseidon
+poseur
+posey
+posh
+posit
+position
+positive
+positron
+posner
+posse
+posseman
+possemen
+possess
+possession
+possessive
+possessor
+possible
+possum
+post
+postage
+postal
+postcard
+postcondition
+postdoctoral
+posterior
+posteriori
+posterity
+postfix
+postgraduate
+posthumous
+postlude
+postman
+postmark
+postmaster
+postmen
+postmortem
+postmultiply
+postoperative
+postorder
+postpaid
+postpone
+postposition
+postprocess
+postprocessor
+postscript
+postulate
+posture
+postwar
+posy
+pot
+potable
+potash
+potassium
+potato
+potatoes
+potbelly
+potboil
+potent
+potentate
+potential
+potentiometer
+pothole
+potion
+potlatch
+potomac
+potpourri
+pottery
+potts
+pouch
+poughkeepsie
+poultice
+poultry
+pounce
+pound
+pour
+pout
+poverty
+pow
+powder
+powderpuff
+powdery
+powell
+power
+powerful
+powerhouse
+powers
+poynting
+ppm
+pr
+practicable
+practical
+practice
+practise
+practitioner
+prado
+praecox
+pragmatic
+pragmatism
+pragmatist
+prague
+prairie
+praise
+praiseworthy
+pram
+prance
+prank
+praseodymium
+pratt
+pravda
+pray
+prayer
+prayerful
+preach
+preachy
+preamble
+precambrian
+precarious
+precaution
+precautionary
+precede
+precedent
+precept
+precess
+precession
+precinct
+precious
+precipice
+precipitable
+precipitate
+precipitous
+precis
+precise
+precision
+preclude
+precocious
+precocity
+precursor
+predatory
+predecessor
+predicament
+predicate
+predict
+predictor
+predilect
+predispose
+predisposition
+predominant
+predominate
+preeminent
+preempt
+preemption
+preemptive
+preemptor
+preen
+prefab
+prefabricate
+preface
+prefatory
+prefect
+prefecture
+prefer
+preference
+preferential
+preferred
+preferring
+prefix
+pregnant
+prehistoric
+prejudice
+prejudicial
+preliminary
+prelude
+premature
+premeditate
+premier
+premiere
+premise
+premium
+premonition
+premonitory
+prentice
+preoccupy
+prep
+preparation
+preparative
+preparatory
+prepare
+preponderant
+preponderate
+preposition
+preposterous
+prerequisite
+prerogative
+presage
+presbyterian
+presbytery
+prescott
+prescribe
+prescript
+prescription
+prescriptive
+presence
+present
+presentation
+presentational
+preservation
+preserve
+preside
+president
+presidential
+press
+pressure
+prestidigitate
+prestige
+prestigious
+presto
+preston
+presume
+presumed
+presuming
+presumption
+presumptive
+presumptuous
+presuppose
+presupposition
+pretend
+pretense
+pretension
+pretentious
+pretext
+pretoria
+pretty
+prevail
+prevalent
+prevent
+prevention
+preventive
+preview
+previous
+prexy
+prey
+priam
+price
+prick
+prickle
+pride
+priest
+priestley
+prig
+priggish
+prim
+prima
+primacy
+primal
+primary
+primate
+prime
+primeval
+primitive
+primitivism
+primordial
+primp
+primrose
+prince
+princess
+princeton
+principal
+principia
+principle
+print
+printmake
+printout
+prior
+priori
+priory
+priscilla
+prism
+prismatic
+prison
+prissy
+pristine
+pritchard
+privacy
+private
+privet
+privilege
+privy
+prize
+prizewinning
+pro
+probabilist
+probate
+probe
+probity
+problem
+problematic
+procaine
+procedural
+procedure
+proceed
+process
+procession
+processor
+proclaim
+proclamation
+proclivity
+procrastinate
+procreate
+procrustean
+procrustes
+procter
+proctor
+procure
+procyon
+prod
+prodigal
+prodigious
+prodigy
+produce
+producible
+product
+productivity
+prof
+profane
+profess
+profession
+professional
+professor
+professorial
+proffer
+proficient
+profile
+profit
+profiteer
+profligacy
+profligate
+profound
+profundity
+profuse
+profusion
+progenitor
+progeny
+prognosis
+prognosticate
+programmable
+programmed
+programmer
+programming
+progress
+progression
+progressive
+prohibit
+prohibition
+prohibitive
+prohibitory
+project
+projectile
+projector
+prokaryote
+prokofieff
+prolate
+prolegomena
+proletariat
+proliferate
+prolific
+proline
+prolix
+prologue
+prolong
+prolongate
+prolusion
+prom
+promenade
+promethean
+prometheus
+promethium
+prominent
+promiscuity
+promiscuous
+promise
+promote
+promotion
+prompt
+promptitude
+promulgate
+prone
+prong
+pronoun
+pronounce
+pronounceable
+pronto
+pronunciation
+proof
+proofread
+prop
+propaganda
+propagandist
+propagate
+propane
+propel
+propellant
+propelled
+propeller
+propelling
+propensity
+proper
+property
+prophecy
+prophesy
+prophet
+prophetic
+prophylactic
+propionate
+propitiate
+propitious
+proponent
+proportion
+proportionate
+propos
+proposal
+propose
+proposition
+propound
+proprietary
+proprietor
+propriety
+proprioception
+proprioceptive
+propulsion
+propyl
+propylene
+prorate
+prorogue
+prosaic
+proscenium
+proscribe
+proscription
+prose
+prosecute
+prosecution
+prosecutor
+proserpine
+prosodic
+prosody
+prosopopoeia
+prospect
+prospector
+prospectus
+prosper
+prosperous
+prostate
+prostheses
+prosthesis
+prosthetic
+prostitute
+prostitution
+prostrate
+protactinium
+protagonist
+protean
+protease
+protect
+protector
+protectorate
+protege
+protein
+proteolysis
+proteolytic
+protest
+protestant
+protestation
+prothonotary
+protocol
+proton
+protophyta
+protoplasm
+protoplasmic
+prototype
+prototypic
+protozoa
+protozoan
+protract
+protrude
+protrusion
+protrusive
+protuberant
+proud
+proust
+prove
+proven
+provenance
+proverb
+proverbial
+provide
+provident
+providential
+province
+provincial
+provision
+provisional
+proviso
+provocateur
+provocation
+provocative
+provoke
+provost
+prow
+prowess
+prowl
+proximal
+proximate
+proximity
+proxy
+prudent
+prudential
+prune
+prurient
+prussia
+pry
+psalm
+psalter
+psaltery
+pseudo
+psi
+psych
+psyche
+psychiatric
+psychiatrist
+psychiatry
+psychic
+psycho
+psychoacoustic
+psychoanalysis
+psychoanalyst
+psychoanalytic
+psychobiology
+psychology
+psychometry
+psychopath
+psychopathic
+psychophysic
+psychophysiology
+psychopomp
+psychoses
+psychosis
+psychosomatic
+psychotherapeutic
+psychotherapist
+psychotherapy
+psychotic
+psyllium
+pta
+ptarmigan
+pterodactyl
+ptolemaic
+ptolemy
+pub
+puberty
+pubescent
+public
+publication
+publish
+puc
+puccini
+puck
+puckish
+pudding
+puddingstone
+puddle
+puddly
+pueblo
+puerile
+puerto
+puff
+puffball
+puffed
+puffery
+puffin
+puffy
+pug
+pugh
+pugnacious
+puissant
+puke
+pulaski
+pulitzer
+pull
+pullback
+pulley
+pullman
+pullover
+pulmonary
+pulp
+pulpit
+pulsar
+pulsate
+pulse
+pulverable
+puma
+pumice
+pummel
+pump
+pumpkin
+pumpkinseed
+pun
+punch
+punctual
+punctuate
+puncture
+pundit
+punditry
+pungent
+punic
+punish
+punitive
+punk
+punky
+punster
+punt
+puny
+pup
+pupal
+pupate
+pupil
+puppet
+puppeteer
+puppy
+puppyish
+purcell
+purchasable
+purchase
+purdue
+pure
+purgation
+purgative
+purgatory
+purge
+purify
+purina
+purine
+puritan
+puritanic
+purl
+purloin
+purple
+purport
+purpose
+purposeful
+purposive
+purr
+purse
+purslane
+pursuant
+pursue
+pursuer
+pursuit
+purvey
+purveyor
+purview
+pus
+pusan
+pusey
+push
+pushbutton
+pushout
+pushpin
+pussy
+pussycat
+put
+putative
+putnam
+putt
+putty
+puzzle
+pvc
+pygmalion
+pygmy
+pyhrric
+pyknotic
+pyle
+pyongyang
+pyracanth
+pyramid
+pyramidal
+pyre
+pyrex
+pyridine
+pyrimidine
+pyrite
+pyroelectric
+pyrolyse
+pyrolysis
+pyrometer
+pyrophosphate
+pyrotechnic
+pyroxene
+pyroxenite
+pyrrhic
+pythagoras
+pythagorean
+python
+q
+q's
+qatar
+qed
+qua
+quack
+quackery
+quad
+quadrangle
+quadrangular
+quadrant
+quadratic
+quadrature
+quadrennial
+quadric
+quadriceps
+quadrilateral
+quadrille
+quadrillion
+quadripartite
+quadrivium
+quadruple
+quadrupole
+quaff
+quagmire
+quahog
+quail
+quaint
+quake
+quakeress
+qualified
+qualify
+qualitative
+quality
+qualm
+quandary
+quanta
+quantico
+quantify
+quantile
+quantitative
+quantity
+quantum
+quarantine
+quark
+quarrel
+quarrelsome
+quarry
+quarryman
+quarrymen
+quart
+quarterback
+quartermaster
+quartet
+quartic
+quartile
+quartz
+quartzite
+quasar
+quash
+quasi
+quasicontinuous
+quasiorder
+quasiparticle
+quasiperiodic
+quasistationary
+quaternary
+quatrain
+quaver
+quay
+queasy
+quebec
+queen
+queer
+quell
+quench
+querulous
+query
+quest
+question
+questionnaire
+quetzal
+queue
+quezon
+quibble
+quick
+quicken
+quickie
+quicklime
+quicksand
+quicksilver
+quickstep
+quid
+quiescent
+quiet
+quietus
+quill
+quillwort
+quilt
+quince
+quinine
+quinn
+quint
+quintessence
+quintessential
+quintet
+quintic
+quintillion
+quintus
+quip
+quipping
+quirinal
+quirk
+quirky
+quirt
+quit
+quite
+quito
+quitting
+quiver
+quixote
+quixotic
+quiz
+quizzes
+quizzical
+quo
+quod
+quonset
+quorum
+quota
+quotation
+quote
+quotient
+r
+r&d
+r's
+rabat
+rabbet
+rabbi
+rabbit
+rabble
+rabid
+rabies
+rabin
+raccoon
+race
+racetrack
+raceway
+rachel
+rachmaninoff
+racial
+rack
+racket
+racketeer
+rackety
+racy
+radar
+radcliffe
+radial
+radian
+radiant
+radiate
+radical
+radices
+radii
+radio
+radioactive
+radioastronomy
+radiocarbon
+radiochemical
+radiochemistry
+radiogram
+radiography
+radiology
+radiometer
+radiophysics
+radiosonde
+radiotelegraph
+radiotelephone
+radiotherapy
+radish
+radium
+radius
+radix
+radon
+rae
+rafael
+rafferty
+raffia
+raffish
+raffle
+raft
+rag
+rage
+ragging
+ragout
+ragweed
+raid
+rail
+railbird
+railhead
+raillery
+railroad
+railway
+rain
+rainbow
+raincoat
+raindrop
+rainfall
+rainstorm
+rainy
+raise
+raisin
+raj
+rajah
+rake
+rakish
+raleigh
+rally
+ralph
+ralston
+ram
+ramada
+raman
+ramble
+ramify
+ramo
+ramp
+rampage
+rampant
+rampart
+ramrod
+ramsey
+ran
+ranch
+rancho
+rancid
+rancorous
+rand
+randall
+randolph
+random
+randy
+rang
+range
+rangeland
+rangoon
+rangy
+ranier
+rank
+rankin
+rankine
+rankle
+ransack
+ransom
+rant
+raoul
+rap
+rapacious
+rape
+raphael
+rapid
+rapier
+rapport
+rapprochement
+rapt
+rapture
+rare
+rarefy
+raritan
+rasa
+rascal
+rash
+rasmussen
+rasp
+raspberry
+raster
+rastus
+rat
+rata
+rate
+ratepayer
+rater
+rather
+ratify
+ratio
+ratiocinate
+rationale
+rattail
+rattle
+rattlesnake
+ratty
+raucous
+raul
+ravage
+rave
+ravel
+raven
+ravenous
+ravine
+ravish
+raw
+rawboned
+rawhide
+rawlinson
+ray
+rayleigh
+raymond
+raytheon
+raze
+razor
+razorback
+razzle
+rca
+rd
+re
+reach
+reactant
+reactionary
+read
+readout
+ready
+reagan
+real
+realisable
+realm
+realtor
+realty
+ream
+reap
+rear
+reason
+reave
+reb
+rebecca
+rebel
+rebelled
+rebelling
+rebellion
+rebellious
+rebuke
+rebut
+rebuttal
+rebutted
+rebutting
+recalcitrant
+recappable
+receipt
+receive
+recent
+receptacle
+reception
+receptive
+receptor
+recess
+recession
+recessive
+recherche
+recife
+recipe
+recipient
+reciprocal
+reciprocate
+reciprocity
+recital
+recitative
+reck
+reckon
+reclamation
+recline
+recluse
+recombinant
+recompense
+reconcile
+recondite
+reconnaissance
+recovery
+recriminate
+recriminatory
+recruit
+rectangle
+rectangular
+rectifier
+rectify
+rectilinear
+rectitude
+rector
+rectory
+recumbent
+recuperate
+recur
+recurred
+recurrent
+recurring
+recursion
+recusant
+recuse
+red
+redact
+redactor
+redbird
+redbud
+redcoat
+redden
+reddish
+redemption
+redemptive
+redhead
+redmond
+redneck
+redound
+redpoll
+redshank
+redstart
+redstone
+redtop
+reduce
+reducible
+redundant
+redwood
+reed
+reedbuck
+reedy
+reef
+reek
+reel
+reese
+reeve
+reeves
+refection
+refectory
+refer
+referable
+referee
+refereeing
+referenda
+referendum
+referent
+referential
+referral
+referred
+referring
+refinery
+reflect
+reflectance
+reflector
+reflexive
+reformatory
+refract
+refractometer
+refractory
+refrain
+refrigerate
+refuge
+refugee
+refusal
+refutation
+refute
+regal
+regale
+regalia
+regard
+regatta
+regent
+regime
+regimen
+regiment
+regimentation
+regina
+reginald
+region
+regional
+regis
+registrable
+registrant
+registrar
+registration
+registry
+regress
+regression
+regressive
+regret
+regretful
+regrettable
+regretted
+regretting
+regular
+regulate
+regulatory
+regulus
+regurgitate
+rehabilitate
+rehearsal
+rehearse
+reich
+reid
+reign
+reilly
+reimbursable
+reimburse
+rein
+reindeer
+reinforce
+reinhold
+reinstate
+reject
+rejecter
+rejoice
+rejoinder
+rejuvenate
+relate
+relaxation
+relayed
+releasable
+relevant
+reliant
+relic
+relict
+relief
+relieve
+religion
+religiosity
+religious
+relinquish
+reliquary
+relish
+reluctant
+remainder
+reman
+remand
+remark
+rembrandt
+remediable
+remedial
+remedy
+remember
+remembrance
+remington
+reminisce
+reminiscent
+remiss
+remission
+remit
+remittance
+remitted
+remitting
+remnant
+remonstrate
+remorse
+remorseful
+remote
+removal
+remunerate
+remus
+rena
+renaissance
+renal
+renault
+rend
+render
+rendezvous
+rendition
+rene
+renegotiable
+renewal
+renoir
+renounce
+renovate
+renown
+rensselaer
+rent
+rental
+renunciate
+rep
+repairman
+repairmen
+reparation
+repartee
+repeal
+repeat
+repeater
+repel
+repelled
+repellent
+repelling
+repent
+repentant
+repertoire
+repertory
+repetition
+repetitious
+repetitive
+replaceable
+replenish
+replete
+replica
+replicate
+report
+reportorial
+repository
+reprehensible
+representative
+repression
+repressive
+reprieve
+reprimand
+reprisal
+reprise
+reproach
+reptile
+reptilian
+republic
+republican
+repudiate
+repugnant
+repulsion
+repulsive
+reputation
+repute
+request
+require
+requisite
+requisition
+requited
+reredos
+rerouted
+rerouting
+rescind
+rescue
+resemblant
+resemble
+resent
+resentful
+reserpine
+reservation
+reserve
+reservoir
+reside
+resident
+residential
+residual
+residuary
+residue
+residuum
+resign
+resignation
+resilient
+resin
+resiny
+resist
+resistant
+resistible
+resistive
+resistor
+resolute
+resolution
+resolve
+resonant
+resonate
+resorcinol
+resort
+resourceful
+respect
+respecter
+respectful
+respiration
+respirator
+respiratory
+respire
+respite
+resplendent
+respond
+respondent
+response
+responsible
+responsive
+rest
+restaurant
+restaurateur
+restful
+restitution
+restive
+restoration
+restorative
+restrain
+restraint
+restrict
+restroom
+result
+resultant
+resume
+resuming
+resumption
+resurgent
+resurrect
+resuscitate
+ret
+retail
+retain
+retaliate
+retaliatory
+retard
+retardant
+retardation
+retch
+retention
+retentive
+reticent
+reticulate
+reticulum
+retina
+retinal
+retinue
+retire
+retiree
+retort
+retract
+retribution
+retrieval
+retrieve
+retroactive
+retrofit
+retrofitted
+retrofitting
+retrograde
+retrogress
+retrogression
+retrogressive
+retrorocket
+retrospect
+retrovision
+return
+reub
+reuben
+reuters
+rev
+reveal
+revel
+revelation
+revelatory
+revelry
+revenge
+revenue
+rever
+reverberate
+revere
+reverend
+reverent
+reverie
+reversal
+reverse
+reversible
+reversion
+revert
+revertive
+revery
+revet
+revile
+revisable
+revisal
+revise
+revision
+revisionary
+revival
+revive
+revocable
+revoke
+revolt
+revolution
+revolutionary
+revolve
+revulsion
+revved
+revving
+reward
+rex
+reykjavik
+reynolds
+rhapsodic
+rhapsody
+rhea
+rhenish
+rhenium
+rheology
+rheostat
+rhesus
+rhetoric
+rhetorician
+rheum
+rheumatic
+rheumatism
+rhine
+rhinestone
+rhino
+rhinoceros
+rho
+rhoda
+rhode
+rhodes
+rhodesia
+rhodium
+rhododendron
+rhodolite
+rhodonite
+rhombi
+rhombic
+rhombohedral
+rhombus
+rhubarb
+rhyme
+rhythm
+rhythmic
+ri
+rib
+ribald
+ribbon
+riboflavin
+ribonucleic
+ribose
+ribosome
+rica
+rice
+rich
+richard
+richards
+richardson
+richfield
+richmond
+richter
+rick
+rickets
+rickettsia
+rickety
+rickshaw
+rico
+ricochet
+rid
+riddance
+ridden
+riddle
+ride
+ridge
+ridgepole
+ridgway
+ridicule
+ridiculous
+riemann
+riemannian
+riffle
+rifle
+rifleman
+riflemen
+rift
+rig
+riga
+rigel
+rigging
+riggs
+right
+righteous
+rightful
+rightmost
+rightward
+rigid
+rigorous
+riley
+rill
+rilly
+rim
+rime
+rimy
+rinehart
+ring
+ringlet
+ringmaster
+ringside
+rink
+rinse
+rio
+riordan
+riot
+riotous
+rip
+riparian
+ripe
+ripen
+ripley
+ripoff
+ripple
+rise
+risen
+risible
+risk
+risky
+ritchie
+rite
+ritter
+ritual
+ritz
+rival
+rivalry
+riven
+river
+riverbank
+riverfront
+riverine
+riverside
+rivet
+riviera
+rivulet
+riyadh
+rna
+roach
+road
+roadbed
+roadblock
+roadhouse
+roadside
+roadster
+roadway
+roam
+roar
+roast
+rob
+robbery
+robbin
+robbins
+robe
+robert
+roberta
+roberto
+roberts
+robertson
+robin
+robinson
+robot
+robotic
+robotics
+robust
+rocco
+rochester
+rock
+rockabye
+rockaway
+rockbound
+rockefeller
+rocket
+rockford
+rockies
+rockland
+rockwell
+rocky
+rococo
+rod
+rode
+rodent
+rodeo
+rodgers
+rodney
+rodriguez
+roe
+roebuck
+roentgen
+roger
+rogers
+rogue
+roil
+roister
+roland
+role
+roll
+rollback
+rollick
+rollins
+roman
+romance
+romania
+romano
+romantic
+rome
+romeo
+romp
+romulus
+ron
+ronald
+rondo
+ronnie
+rood
+roof
+rooftop
+rooftree
+rook
+rookie
+rooky
+room
+roomful
+roommate
+roomy
+roosevelt
+rooseveltian
+roost
+root
+rope
+rosa
+rosalie
+rosary
+rose
+rosebud
+rosebush
+roseland
+rosemary
+rosen
+rosenberg
+rosenblum
+rosenthal
+rosenzweig
+rosetta
+rosette
+ross
+roster
+rostrum
+rosy
+rot
+rotarian
+rotary
+rotate
+rotc
+rote
+rotenone
+roth
+rothschild
+rotogravure
+rotor
+rototill
+rotten
+rotund
+rotunda
+rouge
+rough
+roughcast
+roughen
+roughish
+roughneck
+roughshod
+roulette
+round
+roundabout
+roundhead
+roundhouse
+roundoff
+roundtable
+roundup
+roundworm
+rouse
+rousseau
+roustabout
+rout
+route
+routine
+rove
+row
+rowboat
+rowdy
+rowe
+rowena
+rowland
+rowley
+roxbury
+roy
+royal
+royalty
+royce
+rpm
+rsvp
+ruanda
+rub
+rubbery
+rubbish
+rubble
+rubdown
+rube
+ruben
+rubicund
+rubidium
+rubin
+rubric
+ruby
+ruckus
+rudder
+ruddy
+rude
+rudiment
+rudimentary
+rudolf
+rudolph
+rudy
+rudyard
+rue
+rueful
+ruff
+ruffian
+ruffle
+rufous
+rufus
+rug
+ruin
+ruination
+ruinous
+rule
+rum
+rumania
+rumble
+rumen
+rumford
+ruminant
+ruminate
+rummage
+rummy
+rump
+rumple
+rumpus
+run
+runabout
+runaway
+rundown
+rune
+rung
+runge
+runic
+runneth
+runnymede
+runoff
+runt
+runty
+runway
+runyon
+rupee
+rupture
+rural
+ruse
+rush
+rushmore
+rusk
+russ
+russell
+russet
+russia
+russo
+russula
+rust
+rustic
+rustle
+rustproof
+rusty
+rut
+rutabaga
+rutgers
+ruth
+ruthenium
+rutherford
+ruthless
+rutile
+rutland
+rutledge
+rutty
+rwanda
+ryan
+rydberg
+ryder
+rye
+s
+s's
+sa
+sabbath
+sabbatical
+sabina
+sabine
+sable
+sabotage
+sabra
+sac
+saccade
+saccharine
+sachem
+sachs
+sack
+sacral
+sacrament
+sacramento
+sacred
+sacrifice
+sacrificial
+sacrilege
+sacrilegious
+sacrosanct
+sad
+sadden
+saddle
+saddlebag
+sadie
+sadism
+sadist
+sadler
+safari
+safe
+safeguard
+safekeeping
+safety
+saffron
+sag
+saga
+sagacious
+sagacity
+sage
+sagebrush
+sagging
+saginaw
+sagittal
+sagittarius
+sago
+saguaro
+sahara
+said
+saigon
+sail
+sailboat
+sailfish
+sailor
+saint
+sainthood
+sake
+sal
+salaam
+salacious
+salad
+salamander
+salami
+salaried
+salary
+sale
+salem
+salerno
+salesgirl
+salesian
+saleslady
+salesman
+salesmen
+salesperson
+salient
+salina
+saline
+salisbury
+salish
+saliva
+salivary
+salivate
+salk
+salle
+sallow
+sally
+salmon
+salmonberry
+salmonella
+salon
+saloon
+saloonkeep
+saloonkeeper
+salsify
+salt
+saltbush
+saltwater
+salty
+salubrious
+salutary
+salutation
+salute
+salvador
+salvage
+salvageable
+salvation
+salvatore
+salve
+salvo
+sam
+samarium
+samba
+same
+sammy
+samoa
+samovar
+sample
+sampson
+samson
+samuel
+samuelson
+san
+sana
+sanatoria
+sanatorium
+sanborn
+sanchez
+sancho
+sanctify
+sanctimonious
+sanction
+sanctity
+sanctuary
+sand
+sandal
+sandalwood
+sandbag
+sandblast
+sandburg
+sanderling
+sanders
+sanderson
+sandhill
+sandia
+sandman
+sandpaper
+sandpile
+sandpiper
+sandra
+sandstone
+sandusky
+sandwich
+sandy
+sane
+sanford
+sang
+sangaree
+sanguinary
+sanguine
+sanguineous
+sanhedrin
+sanicle
+sanitarium
+sanitary
+sanitate
+sank
+sans
+sanskrit
+santa
+santayana
+santiago
+santo
+sao
+sap
+sapiens
+sapient
+sapling
+saponify
+sapphire
+sappy
+sapsucker
+sara
+saracen
+sarah
+saran
+sarasota
+saratoga
+sarcasm
+sarcastic
+sarcoma
+sarcophagus
+sardine
+sardonic
+sargent
+sari
+sarsaparilla
+sarsparilla
+sash
+sashay
+saskatchewan
+saskatoon
+sassafras
+sat
+satan
+satanic
+satellite
+satiable
+satiate
+satiety
+satin
+satire
+satiric
+satisfaction
+satisfactory
+satisfy
+saturable
+saturate
+saturater
+saturday
+saturn
+saturnalia
+saturnine
+satyr
+sauce
+saucepan
+saucy
+saud
+saudi
+sauerkraut
+saul
+sault
+saunders
+sausage
+saute
+sauterne
+savage
+savagery
+savannah
+savant
+save
+saviour
+savonarola
+savoy
+savoyard
+savvy
+saw
+sawbelly
+sawdust
+sawfish
+sawfly
+sawmill
+sawtimber
+sawtooth
+sawyer
+sax
+saxifrage
+saxon
+saxony
+saxophone
+say
+sc
+scab
+scabbard
+scabious
+scabrous
+scaffold
+scala
+scalar
+scald
+scale
+scallop
+scalp
+scam
+scamp
+scan
+scandal
+scandalous
+scandinavia
+scandium
+scant
+scanty
+scapegoat
+scapula
+scapular
+scar
+scarborough
+scarce
+scare
+scarecrow
+scarf
+scarface
+scarify
+scarlatti
+scarlet
+scarsdale
+scarves
+scary
+scat
+scathe
+scatterbrain
+scattergun
+scaup
+scavenge
+scenario
+scene
+scenery
+scenic
+scent
+sceptic
+schaefer
+schafer
+schantz
+schedule
+schelling
+schema
+schemata
+schematic
+scheme
+schenectady
+scherzo
+schiller
+schism
+schist
+schizoid
+schizomycetes
+schizophrenia
+schizophrenic
+schlesinger
+schlieren
+schlitz
+schloss
+schmidt
+schmitt
+schnabel
+schnapps
+schneider
+schoenberg
+schofield
+scholar
+scholastic
+school
+schoolbook
+schoolboy
+schoolgirl
+schoolgirlish
+schoolhouse
+schoolmarm
+schoolmaster
+schoolmate
+schoolroom
+schoolteacher
+schoolwork
+schooner
+schottky
+schroeder
+schroedinger
+schubert
+schultz
+schulz
+schumacher
+schumann
+schuster
+schuyler
+schuylkill
+schwab
+schwartz
+schweitzer
+sci
+sciatica
+science
+scientific
+scientist
+scimitar
+scintillate
+scion
+scissor
+sclerosis
+sclerotic
+scm
+scoff
+scold
+scoop
+scoot
+scope
+scopic
+scops
+scorch
+score
+scoreboard
+scorecard
+scoria
+scorn
+scornful
+scorpio
+scorpion
+scot
+scotch
+scotia
+scotland
+scotsman
+scotsmen
+scott
+scottish
+scottsdale
+scotty
+scoundrel
+scour
+scourge
+scout
+scowl
+scrabble
+scraggly
+scram
+scramble
+scranton
+scrap
+scrapbook
+scrape
+scratch
+scratchy
+scrawl
+scrawny
+scream
+screech
+screechy
+screed
+screen
+screenplay
+screw
+screwball
+screwbean
+screwdriver
+screwworm
+scribble
+scribe
+scribners
+scrim
+scrimmage
+scripps
+script
+scription
+scriptural
+scripture
+scriven
+scroll
+scrooge
+scrotum
+scrounge
+scrub
+scrumptious
+scruple
+scrupulosity
+scrupulous
+scrutable
+scrutiny
+scuba
+scud
+scuff
+scuffle
+scull
+sculpin
+sculpt
+sculptor
+sculptural
+sculpture
+scum
+scurrilous
+scurry
+scurvy
+scuttle
+scutum
+scylla
+scythe
+scythia
+sd
+se
+sea
+seaboard
+seacoast
+seafare
+seafood
+seagram
+seagull
+seahorse
+seal
+sealant
+seam
+seaman
+seamen
+seamstress
+seamy
+sean
+seance
+seaport
+seaquake
+sear
+search
+searchlight
+sears
+seashore
+seaside
+season
+seasonal
+seat
+seater
+seattle
+seaward
+seaweed
+sebastian
+sec
+secant
+secede
+secession
+seclude
+seclusion
+second
+secondary
+secondhand
+secrecy
+secret
+secretarial
+secretariat
+secretary
+secrete
+secretion
+secretive
+sect
+sectarian
+section
+sector
+sectoral
+secular
+secure
+sedan
+sedate
+sedentary
+seder
+sedge
+sediment
+sedimentary
+sedimentation
+sedition
+seditious
+seduce
+seduction
+seductive
+sedulous
+see
+seeable
+seed
+seedbed
+seedling
+seedy
+seeing
+seek
+seem
+seen
+seep
+seepage
+seersucker
+seethe
+seethed
+seething
+segment
+segmentation
+segovia
+segregant
+segregate
+segundo
+seidel
+seismic
+seismograph
+seismography
+seismology
+seize
+seizure
+seldom
+select
+selectman
+selectmen
+selector
+selectric
+selena
+selenate
+selenite
+selenium
+self
+selfadjoint
+selfish
+selfridge
+selkirk
+sell
+seller
+sellout
+selma
+seltzer
+selves
+selwyn
+semantic
+semaphore
+semblance
+semester
+semi
+seminal
+seminar
+seminarian
+seminary
+seminole
+semiramis
+semite
+semitic
+semper
+sen
+senate
+senatorial
+send
+seneca
+senegal
+senile
+senior
+senor
+senora
+senorita
+sensate
+sense
+sensible
+sensitive
+sensor
+sensorimotor
+sensory
+sensual
+sensuous
+sent
+sentence
+sentential
+sentient
+sentiment
+sentinel
+sentry
+seoul
+sepal
+separable
+separate
+sepia
+sepoy
+sept
+septa
+septate
+september
+septennial
+septic
+septillion
+septuagenarian
+septum
+sepuchral
+sepulchral
+seq
+sequel
+sequent
+sequential
+sequester
+sequestration
+sequin
+sequitur
+sequoia
+sera
+seraglio
+serape
+seraphim
+serbia
+serenade
+serendipitous
+serendipity
+serene
+serf
+serfdom
+serge
+sergeant
+sergei
+serial
+seriate
+seriatim
+series
+serif
+serine
+serious
+sermon
+serology
+serpens
+serpent
+serpentine
+serum
+servant
+serve
+service
+serviceable
+serviceberry
+serviceman
+servicemen
+serviette
+servile
+servitor
+servitude
+servo
+servomechanism
+sesame
+session
+set
+setback
+seth
+seton
+setscrew
+settle
+setup
+seven
+sevenfold
+seventeen
+seventeenth
+seventh
+seventieth
+seventy
+sever
+several
+severalfold
+severalty
+severe
+severn
+seville
+sew
+sewage
+seward
+sewerage
+sewn
+sex
+sextans
+sextet
+sextillion
+sexton
+sextuple
+sextuplet
+sexual
+sexy
+seymour
+sforzando
+shabby
+shack
+shackle
+shad
+shadbush
+shade
+shadflower
+shadow
+shadowy
+shady
+shafer
+shaffer
+shaft
+shag
+shagbark
+shagging
+shaggy
+shah
+shake
+shakeable
+shakedown
+shaken
+shakespeare
+shakespearean
+shakespearian
+shako
+shaky
+shale
+shall
+shallot
+shallow
+shalom
+sham
+shamble
+shame
+shameface
+shamefaced
+shameful
+shampoo
+shamrock
+shan't
+shanghai
+shank
+shannon
+shantung
+shanty
+shape
+shapiro
+shard
+share
+sharecrop
+shareholder
+shareown
+shari
+shark
+sharon
+sharp
+sharpe
+sharpen
+sharpshoot
+shasta
+shatter
+shatterproof
+shattuck
+shave
+shaven
+shaw
+shawl
+shawnee
+shay
+she
+she'd
+she'll
+shea
+sheaf
+shear
+shearer
+sheath
+sheathe
+sheave
+shed
+shedir
+sheehan
+sheen
+sheep
+sheepskin
+sheer
+sheet
+sheffield
+sheik
+sheila
+shelby
+sheldon
+shelf
+shell
+shelley
+shelter
+shelton
+shelve
+shenandoah
+shenanigan
+shepard
+shepherd
+sheppard
+sheraton
+sherbet
+sheridan
+sheriff
+sherlock
+sherman
+sherrill
+sherry
+sherwin
+sherwood
+shibboleth
+shied
+shield
+shields
+shift
+shifty
+shill
+shiloh
+shim
+shimmy
+shin
+shinbone
+shine
+shingle
+shinto
+shiny
+ship
+shipboard
+shipbuild
+shipbuilding
+shiplap
+shipley
+shipman
+shipmate
+shipmen
+shipshape
+shipwreck
+shipyard
+shire
+shirk
+shirley
+shirt
+shirtmake
+shish
+shitepoke
+shiv
+shiver
+shivery
+shmuel
+shoal
+shock
+shockley
+shod
+shoddy
+shoe
+shoehorn
+shoelace
+shoemake
+shoestring
+shoji
+shone
+shoo
+shoofly
+shook
+shoot
+shop
+shopkeep
+shopworn
+shore
+shoreline
+short
+shortage
+shortcoming
+shortcut
+shorten
+shortfall
+shorthand
+shortish
+shortsighted
+shortstop
+shot
+shotbush
+shotgun
+should
+shoulder
+shouldn't
+shout
+shove
+shovel
+show
+showboat
+showcase
+showdown
+showman
+showmen
+shown
+showpiece
+showplace
+showroom
+showy
+shrank
+shrapnel
+shred
+shreveport
+shrew
+shrewd
+shrewish
+shriek
+shrift
+shrike
+shrill
+shrilly
+shrimp
+shrine
+shrink
+shrinkage
+shrive
+shrivel
+shroud
+shrove
+shrub
+shrubbery
+shrug
+shrugging
+shrunk
+shrunken
+shu
+shuck
+shudder
+shuddery
+shuffle
+shuffleboard
+shulman
+shun
+shunt
+shut
+shutdown
+shutoff
+shutout
+shuttle
+shuttlecock
+shy
+shylock
+sial
+siam
+siamese
+sian
+sib
+siberia
+sibilant
+sibley
+sibling
+sibyl
+sic
+sicilian
+sicily
+sick
+sicken
+sickish
+sickle
+sicklewort
+sickroom
+side
+sidearm
+sideband
+sideboard
+sidecar
+sidelight
+sideline
+sidelong
+sideman
+sidemen
+sidereal
+siderite
+sidesaddle
+sideshow
+sidestep
+sidestepping
+sidetrack
+sidewalk
+sidewall
+sideway
+sidewinder
+sidewise
+sidle
+sidney
+siege
+siegel
+siegfried
+sieglinda
+siegmund
+siemens
+siena
+sienna
+sierra
+siesta
+sieve
+sift
+sigh
+sight
+sightsee
+sightseeing
+sightseer
+sigma
+sigmund
+sign
+signal
+signature
+signboard
+signet
+significant
+signify
+signor
+signora
+signpost
+sikorsky
+silage
+silane
+silas
+silent
+silhouette
+silica
+silicate
+siliceous
+silicic
+silicide
+silicon
+silicone
+silk
+silken
+silkworm
+silky
+sill
+silly
+silo
+silt
+siltation
+siltstone
+silty
+silver
+silverman
+silversmith
+silverware
+silvery
+sima
+similar
+simile
+similitude
+simmer
+simmons
+simon
+simons
+simonson
+simper
+simple
+simplectic
+simpleminded
+simpleton
+simplex
+simplicial
+simplicity
+simplify
+simplistic
+simply
+simpson
+sims
+simulate
+simulcast
+simultaneity
+simultaneous
+sin
+sinai
+since
+sincere
+sinclair
+sine
+sinew
+sinewy
+sinful
+sing
+singable
+singapore
+singe
+single
+singlehanded
+singlet
+singleton
+singsong
+singular
+sinh
+sinister
+sinistral
+sink
+sinkhole
+sinter
+sinuous
+sinus
+sinusoid
+sinusoidal
+sioux
+sip
+sir
+sire
+siren
+sirius
+sis
+sisal
+siskin
+sister
+sistine
+sisyphean
+sisyphus
+sit
+site
+situ
+situate
+situs
+siva
+six
+sixfold
+sixgun
+sixteen
+sixteenth
+sixth
+sixtieth
+sixty
+size
+sizzle
+skat
+skate
+skater
+skeet
+skeletal
+skeleton
+skeptic
+sketch
+sketchbook
+sketchpad
+sketchy
+skew
+ski
+skid
+skiddy
+skied
+skiff
+skill
+skillet
+skillful
+skim
+skimp
+skimpy
+skin
+skindive
+skinny
+skip
+skipjack
+skippy
+skirmish
+skirt
+skit
+skittle
+skopje
+skulk
+skull
+skullcap
+skullduggery
+skunk
+sky
+skye
+skyhook
+skyjack
+skylark
+skylight
+skyline
+skyrocket
+skyscrape
+skyward
+skywave
+skyway
+slab
+slack
+slacken
+sladang
+slag
+slain
+slake
+slam
+slander
+slanderous
+slang
+slant
+slap
+slapstick
+slash
+slat
+slate
+slater
+slaughter
+slaughterhouse
+slav
+slave
+slavery
+slavic
+slavish
+slavonic
+slay
+sled
+sledge
+sledgehammer
+sleek
+sleep
+sleepwalk
+sleepy
+sleet
+sleety
+sleeve
+sleigh
+sleight
+slender
+slept
+sleuth
+slew
+slice
+slick
+slid
+slide
+slight
+slim
+slime
+slimy
+sling
+slingshot
+slip
+slippage
+slippery
+slit
+slither
+sliver
+slivery
+sloan
+sloane
+slob
+slocum
+sloe
+slog
+slogan
+sloganeer
+slogging
+sloop
+slop
+slope
+sloppy
+slosh
+slot
+sloth
+slothful
+slouch
+slough
+slovakia
+sloven
+slovenia
+slow
+slowdown
+sludge
+slug
+slugging
+sluggish
+sluice
+slum
+slumber
+slump
+slung
+slur
+slurp
+slurry
+slut
+sly
+smack
+small
+smaller
+smalley
+smallish
+smallpox
+smalltime
+smart
+smash
+smatter
+smattering
+smear
+smell
+smelt
+smile
+smirk
+smith
+smithereens
+smithfield
+smithson
+smithsonian
+smithy
+smitten
+smog
+smoke
+smokehouse
+smokescreen
+smokestack
+smoky
+smolder
+smooch
+smooth
+smoothbore
+smother
+smucker
+smudge
+smudgy
+smug
+smuggle
+smut
+smutty
+smyrna
+smythe
+snack
+snafu
+snag
+snagging
+snail
+snake
+snakebird
+snakelike
+snakeroot
+snap
+snapback
+snapdragon
+snappish
+snappy
+snapshot
+snare
+snark
+snarl
+snatch
+snazzy
+sneak
+sneaky
+sneer
+sneeze
+snell
+snick
+snider
+sniff
+sniffle
+sniffly
+snifter
+snigger
+snip
+snipe
+snippet
+snippy
+snivel
+snob
+snobbery
+snobbish
+snook
+snoop
+snoopy
+snore
+snorkel
+snort
+snotty
+snout
+snow
+snowball
+snowfall
+snowflake
+snowmobile
+snowshoe
+snowstorm
+snowy
+snub
+snuff
+snuffer
+snuffle
+snuffly
+snug
+snuggle
+snuggly
+snyaptic
+snyder
+so
+soak
+soap
+soapstone
+soapsud
+soapy
+soar
+sob
+sober
+sobriety
+sobriquet
+soc
+soccer
+sociable
+social
+societal
+societe
+society
+socioeconomic
+sociology
+sociometry
+sock
+socket
+sockeye
+socrates
+socratic
+sod
+soda
+sodden
+sodium
+sofa
+soffit
+sofia
+soft
+softball
+soften
+software
+softwood
+soggy
+soignee
+soil
+soiree
+sojourn
+sol
+solace
+solar
+sold
+solder
+soldier
+soldiery
+sole
+solecism
+solemn
+solemnity
+solenoid
+solicit
+solicitation
+solicitor
+solicitous
+solicitude
+solid
+solidarity
+solidify
+solidus
+soliloquy
+solipsism
+solitaire
+solitary
+soliton
+solitude
+solo
+solomon
+solon
+solstice
+soluble
+solute
+solution
+solvate
+solve
+solvent
+soma
+somal
+somali
+somatic
+somber
+sombre
+some
+somebody
+somebody'll
+someday
+somehow
+someone
+someone'll
+someplace
+somers
+somersault
+somerset
+somerville
+something
+sometime
+somewhat
+somewhere
+sommelier
+sommerfeld
+somnolent
+son
+sonant
+sonar
+sonata
+song
+songbag
+songbook
+songful
+sonic
+sonnet
+sonny
+sonogram
+sonoma
+sonora
+sonority
+sonorous
+sony
+soon
+soot
+sooth
+soothe
+soothsay
+soothsayer
+sop
+sophia
+sophie
+sophism
+sophisticate
+sophistry
+sophoclean
+sophocles
+sophomore
+sophomoric
+soprano
+sora
+sorb
+sorcery
+sordid
+sore
+sorensen
+sorenson
+sorghum
+sorority
+sorption
+sorrel
+sorrow
+sorrowful
+sorry
+sort
+sortie
+sou
+souffle
+sough
+sought
+soul
+soulful
+sound
+soundproof
+soup
+sour
+sourberry
+source
+sourdough
+sourwood
+sousa
+soutane
+south
+southampton
+southbound
+southeast
+southeastern
+southern
+southernmost
+southey
+southland
+southpaw
+southward
+southwest
+southwestern
+souvenir
+sovereign
+sovereignty
+soviet
+sovkhoz
+sow
+sowbelly
+sown
+soy
+soya
+soybean
+spa
+space
+spacecraft
+spacesuit
+spacetime
+spacious
+spade
+spaghetti
+spain
+spalding
+span
+spandrel
+spangle
+spaniard
+spaniel
+spanish
+spar
+spare
+sparge
+spark
+sparkle
+sparkman
+sparky
+sparling
+sparrow
+sparse
+sparta
+spartan
+spasm
+spastic
+spat
+spate
+spatial
+spatlum
+spatterdock
+spatula
+spaulding
+spavin
+spawn
+spay
+spayed
+speak
+speakeasy
+spear
+spearhead
+spearmint
+spec
+special
+specie
+species
+specific
+specify
+specimen
+specious
+speck
+speckle
+spectacle
+spectacular
+spectator
+spector
+spectra
+spectral
+spectrogram
+spectrograph
+spectrography
+spectrometer
+spectrophotometer
+spectroscope
+spectroscopic
+spectroscopy
+spectrum
+specular
+speculate
+sped
+speech
+speed
+speedboat
+speedometer
+speedup
+speedwell
+speedy
+spell
+spellbound
+spencer
+spencerian
+spend
+spent
+sperm
+spermatophyte
+sperry
+spew
+sphagnum
+sphalerite
+sphere
+spheric
+spheroid
+spheroidal
+spherule
+sphinx
+spica
+spice
+spicebush
+spicy
+spider
+spiderwort
+spidery
+spiegel
+spigot
+spike
+spikenard
+spiky
+spill
+spilt
+spin
+spinach
+spinal
+spindle
+spine
+spinnaker
+spinneret
+spinodal
+spinoff
+spinster
+spiny
+spiral
+spire
+spirit
+spiritual
+spiro
+spit
+spite
+spiteful
+spitfire
+spittle
+spitz
+splash
+splashy
+splat
+splay
+splayed
+spleen
+spleenwort
+splendid
+splenetic
+splice
+spline
+splint
+splintery
+split
+splotch
+splotchy
+splurge
+splutter
+spoil
+spoilage
+spokane
+spoke
+spoken
+spokesman
+spokesmen
+spokesperson
+sponge
+spongy
+sponsor
+spontaneity
+spontaneous
+spoof
+spook
+spooky
+spool
+spoon
+spoonful
+sporadic
+spore
+sport
+sportsman
+sportsmen
+sportswear
+sportswrite
+sportswriter
+sportswriting
+sporty
+spot
+spotlight
+spotty
+spouse
+spout
+sprague
+sprain
+sprang
+sprawl
+spray
+spread
+spree
+sprig
+sprightly
+spring
+springboard
+springe
+springfield
+springtail
+springtime
+springy
+sprinkle
+sprint
+sprite
+sprocket
+sproul
+sprout
+spruce
+sprue
+sprung
+spud
+spume
+spumoni
+spun
+spunk
+spur
+spurge
+spurious
+spurn
+spurt
+sputnik
+sputter
+spy
+spyglass
+squabble
+squad
+squadron
+squalid
+squall
+squamous
+squander
+square
+squash
+squashberry
+squashy
+squat
+squatted
+squatter
+squatting
+squaw
+squawbush
+squawk
+squawroot
+squeak
+squeaky
+squeal
+squeamish
+squeegee
+squeeze
+squelch
+squibb
+squid
+squill
+squint
+squire
+squirehood
+squirm
+squirmy
+squirrel
+squirt
+squishy
+sri
+sse
+sst
+ssw
+st
+stab
+stabile
+stable
+stableman
+stablemen
+staccato
+stack
+stacy
+stadia
+stadium
+staff
+stafford
+stag
+stage
+stagecoach
+stagestruck
+stagnant
+stagnate
+stagy
+stahl
+staid
+stain
+stair
+staircase
+stairway
+stairwell
+stake
+stalactite
+stale
+stalemate
+staley
+stalin
+stalk
+stall
+stallion
+stalwart
+stamen
+stamford
+stamina
+staminate
+stammer
+stamp
+stampede
+stan
+stance
+stanch
+stanchion
+stand
+standard
+standby
+standeth
+standish
+standoff
+standpoint
+standstill
+stanford
+stanhope
+stank
+stanley
+stannic
+stannous
+stanton
+stanza
+staph
+staphylococcus
+staple
+stapleton
+star
+starboard
+starch
+starchy
+stardom
+stare
+starfish
+stargaze
+stark
+starkey
+starlet
+starlight
+starling
+starr
+start
+startle
+startup
+starvation
+starve
+stash
+stasis
+state
+staten
+stater
+stateroom
+statesman
+statesmanlike
+statesmen
+statewide
+static
+stationarity
+stationary
+stationery
+stationmaster
+statistician
+statler
+stator
+statuary
+statue
+statuette
+stature
+status
+statute
+statutory
+stauffer
+staunch
+staunton
+stave
+stay
+stayed
+stead
+steadfast
+steady
+steak
+steal
+stealth
+stealthy
+steam
+steamboat
+steamy
+stearate
+stearic
+stearns
+steed
+steel
+steele
+steelmake
+steely
+steen
+steep
+steepen
+steeple
+steeplebush
+steeplechase
+steer
+steeve
+stefan
+stegosaurus
+stein
+steinberg
+steiner
+stella
+stellar
+stem
+stench
+stencil
+stenographer
+stenography
+stenotype
+step
+stepchild
+stephanie
+stephanotis
+stephen
+stephens
+stephenson
+stepmother
+steppe
+steprelation
+stepson
+stepwise
+steradian
+stereo
+stereography
+stereoscopy
+sterile
+sterling
+stern
+sternal
+sternberg
+sterno
+sternum
+steroid
+stethoscope
+stetson
+steuben
+steve
+stevedore
+steven
+stevens
+stevenson
+stew
+steward
+stewardess
+stewart
+stick
+stickle
+stickleback
+stickpin
+sticktight
+sticky
+stiff
+stiffen
+stifle
+stigma
+stigmata
+stile
+stiletto
+still
+stillbirth
+stillwater
+stilt
+stimulant
+stimulate
+stimulatory
+stimuli
+stimulus
+sting
+stingy
+stink
+stinkpot
+stinky
+stint
+stipend
+stipple
+stipulate
+stir
+stirling
+stirrup
+stitch
+stochastic
+stock
+stockade
+stockbroker
+stockholder
+stockholm
+stockpile
+stockroom
+stockton
+stocky
+stodgy
+stoic
+stoichiometry
+stoke
+stokes
+stole
+stolen
+stolid
+stomach
+stomp
+stone
+stonecrop
+stonehenge
+stonewall
+stoneware
+stonewort
+stony
+stood
+stooge
+stool
+stoop
+stop
+stopband
+stopcock
+stopgap
+stopover
+stoppage
+stopwatch
+storage
+store
+storehouse
+storekeep
+storeroom
+storey
+stork
+storm
+stormbound
+stormy
+story
+storyboard
+storyteller
+stout
+stove
+stow
+stowage
+stowaway
+strabismic
+strabismus
+straddle
+strafe
+straggle
+straight
+straightaway
+straighten
+straightforward
+straightway
+strain
+strait
+strand
+strange
+strangle
+strangulate
+strap
+strata
+stratagem
+strategic
+strategist
+strategy
+stratford
+stratify
+stratosphere
+stratospheric
+stratton
+stratum
+strauss
+straw
+strawberry
+strawflower
+stray
+streak
+stream
+streamline
+streamside
+street
+streetcar
+strength
+strengthen
+strenuous
+streptococcus
+streptomycin
+stress
+stressful
+stretch
+strewn
+striate
+stricken
+strickland
+strict
+stricter
+stricture
+stride
+strident
+strife
+strike
+strikebreak
+string
+stringent
+stringy
+strip
+stripe
+striptease
+stripy
+strive
+striven
+strobe
+stroboscopic
+strode
+stroke
+stroll
+strom
+stromberg
+strong
+stronghold
+strongroom
+strontium
+strop
+strophe
+strove
+struck
+structural
+structure
+struggle
+strum
+strung
+strut
+strychnine
+stu
+stuart
+stub
+stubble
+stubborn
+stubby
+stucco
+stuck
+stud
+studebaker
+student
+studio
+studious
+study
+stuff
+stuffy
+stultify
+stumble
+stump
+stumpage
+stumpy
+stun
+stung
+stunk
+stunt
+stupefaction
+stupefy
+stupendous
+stupid
+stupor
+sturbridge
+sturdy
+sturgeon
+sturm
+stutter
+stuttgart
+stuyvesant
+stygian
+style
+styli
+stylish
+stylites
+stylus
+stymie
+styrene
+styrofoam
+styx
+suave
+sub
+subject
+subjectivity
+subjunctive
+sublimate
+subliminal
+submersible
+submit
+submittal
+submitted
+submitting
+subpoena
+subrogation
+subservient
+subsidiary
+subsidy
+subsist
+subsistent
+substantial
+substantiate
+substantive
+substituent
+substitute
+substitution
+substitutionary
+substrate
+subsume
+subsumed
+subsuming
+subterfuge
+subterranean
+subtle
+subtlety
+subtly
+subtracter
+subtrahend
+suburb
+suburbia
+subversive
+subvert
+succeed
+success
+successful
+succession
+successive
+successor
+succinct
+succubus
+succumb
+such
+suck
+suckling
+sucrose
+suction
+sud
+sudan
+sudanese
+sudden
+suds
+sue
+suey
+suez
+suffer
+suffice
+sufficient
+suffix
+suffocate
+suffolk
+suffrage
+suffragette
+suffuse
+sugar
+suggest
+suggestible
+suggestion
+suggestive
+suicidal
+suicide
+suit
+suitcase
+suite
+suitor
+sulfa
+sulfanilamide
+sulfate
+sulfide
+sulfite
+sulfonamide
+sulfur
+sulfuric
+sulfurous
+sulk
+sulky
+sullen
+sullivan
+sully
+sulphur
+sultan
+sultanate
+sultry
+sum
+sumac
+sumatra
+sumeria
+sumerian
+summand
+summarily
+summary
+summate
+summation
+summers
+summertime
+summit
+summitry
+summon
+sumner
+sumptuous
+sumter
+sun
+sunbeam
+sunbonnet
+sunburn
+sunburnt
+sunday
+sunder
+sundew
+sundial
+sundown
+sundry
+sunfish
+sunflower
+sung
+sunglasses
+sunk
+sunken
+sunlight
+sunlit
+sunny
+sunnyvale
+sunrise
+sunscreen
+sunset
+sunshade
+sunshine
+sunshiny
+sunspot
+suntan
+suntanned
+suntanning
+suny
+sup
+super
+superannuate
+superb
+superbly
+supercilious
+superficial
+superfluity
+superfluous
+superintendent
+superior
+superlative
+superlunary
+supernatant
+supernovae
+superposable
+supersede
+superstition
+superstitious
+supervene
+supervisory
+supine
+supplant
+supple
+supplementary
+supplicate
+supply
+support
+supposable
+suppose
+supposition
+suppress
+suppressible
+suppression
+suppressor
+supra
+supranational
+supremacy
+supreme
+supremum
+surcease
+surcharge
+sure
+surety
+surf
+surface
+surfactant
+surfeit
+surge
+surgeon
+surgery
+surgical
+surjection
+surjective
+surmise
+surmount
+surname
+surpass
+surplus
+surprise
+surreal
+surrender
+surreptitious
+surrey
+surrogate
+surround
+surtax
+surtout
+surveillant
+survey
+surveyor
+survival
+survive
+survivor
+sus
+susan
+susanne
+susceptance
+susceptible
+sushi
+susie
+suspect
+suspend
+suspense
+suspension
+suspensor
+suspicion
+suspicious
+sussex
+sustain
+sustenance
+sutherland
+sutton
+suture
+suzanne
+suzerain
+suzerainty
+suzuki
+svelte
+sw
+swab
+swabby
+swag
+swage
+swahili
+swain
+swallow
+swallowtail
+swam
+swami
+swamp
+swampy
+swan
+swank
+swanky
+swanlike
+swanson
+swap
+swarm
+swart
+swarthmore
+swarthout
+swarthy
+swastika
+swat
+swatch
+swath
+swathe
+sway
+swaziland
+swear
+sweat
+sweatband
+sweater
+sweatshirt
+sweaty
+swede
+sweden
+swedish
+sweeney
+sweep
+sweepstake
+sweet
+sweeten
+sweetheart
+sweetish
+swell
+swelt
+swelter
+swenson
+swept
+swerve
+swift
+swig
+swigging
+swim
+swimsuit
+swindle
+swine
+swing
+swingable
+swingy
+swipe
+swirl
+swirly
+swish
+swishy
+swiss
+switch
+switchblade
+switchboard
+switchgear
+switchman
+switzer
+switzerland
+swivel
+swizzle
+swollen
+swoop
+sword
+swordfish
+swordplay
+swordtail
+swore
+sworn
+swum
+swung
+sybarite
+sybil
+sycamore
+sycophant
+sycophantic
+sydney
+syenite
+sykes
+syllabi
+syllabic
+syllabify
+syllable
+syllabus
+syllogism
+syllogistic
+sylow
+sylvan
+sylvania
+sylvester
+sylvia
+symbiosis
+symbiotic
+symbol
+symbolic
+symmetry
+sympathetic
+sympathy
+symphonic
+symphony
+symplectic
+symposia
+symposium
+symptom
+symptomatic
+synagogue
+synapse
+synapses
+synaptic
+synchronism
+synchronous
+synchrony
+synchrotron
+syncopate
+syndic
+syndicate
+syndrome
+synergism
+synergistic
+synergy
+synge
+synod
+synonym
+synonymous
+synonymy
+synopses
+synopsis
+synoptic
+syntactic
+syntax
+syntheses
+synthesis
+synthetic
+syracuse
+syria
+syringa
+syringe
+syrinx
+syrup
+syrupy
+system
+systematic
+systemic
+systemization
+systemwide
+syzygy
+szilard
+t
+t's
+ta
+tab
+tabernacle
+table
+tableau
+tableaux
+tablecloth
+tableland
+tablespoon
+tablespoonful
+tablet
+tabloid
+taboo
+tabu
+tabula
+tabular
+tabulate
+tachinid
+tachistoscope
+tachometer
+tacit
+tacitus
+tack
+tackle
+tacky
+tacoma
+tact
+tactful
+tactic
+tactician
+tactile
+tactual
+tad
+tadpole
+taffeta
+taffy
+taft
+tag
+tagging
+tahiti
+tahoe
+tail
+tailgate
+tailor
+tailspin
+tailwind
+taint
+taipei
+taiwan
+take
+taken
+takeoff
+takeover
+taketh
+talc
+talcum
+tale
+talent
+talisman
+talismanic
+talk
+talkative
+talkie
+talky
+tall
+tallahassee
+tallow
+tally
+tallyho
+talmud
+talon
+talus
+tam
+tamale
+tamarack
+tamarind
+tambourine
+tame
+tammany
+tamp
+tampa
+tampon
+tan
+tanager
+tanaka
+tananarive
+tandem
+tang
+tangent
+tangential
+tangerine
+tangible
+tangle
+tango
+tangy
+tanh
+tank
+tannin
+tansy
+tantalum
+tantalus
+tantamount
+tantrum
+tanya
+tanzania
+tao
+taoist
+taos
+tap
+tapa
+tape
+taper
+tapestry
+tapeworm
+tapir
+tapis
+tappa
+tappet
+tar
+tara
+tarantara
+tarantula
+tarbell
+tardy
+target
+tariff
+tarnish
+tarpaper
+tarpaulin
+tarpon
+tarry
+tarrytown
+tart
+tartar
+tartary
+tarzan
+task
+taskmaster
+tasmania
+tass
+tassel
+taste
+tasteful
+tasting
+tasty
+tat
+tate
+tater
+tattle
+tattler
+tattletale
+tattoo
+tatty
+tau
+taught
+taunt
+taurus
+taut
+tautology
+tavern
+taverna
+tawdry
+tawny
+tax
+taxation
+taxi
+taxicab
+taxied
+taxiway
+taxonomic
+taxonomy
+taxpayer
+taxpaying
+taylor
+tea
+teacart
+teach
+teacup
+teahouse
+teakettle
+teakwood
+teal
+team
+teammate
+teamster
+teamwork
+teapot
+tear
+teardrop
+tearful
+tease
+teasel
+teaspoon
+teaspoonful
+teat
+tech
+technetium
+technic
+technician
+technion
+technique
+technocrat
+technocratic
+technology
+tectonic
+tecum
+ted
+teddy
+tedious
+tedium
+tee
+teeing
+teem
+teen
+teenage
+teensy
+teet
+teeter
+teeth
+teethe
+teethed
+teething
+teetotal
+teflon
+tegucigalpa
+teheran
+tehran
+tektite
+tektronix
+tel
+telecommunicate
+teleconference
+teledyne
+telefunken
+telegram
+telegraph
+telegraphy
+telekinesis
+telemeter
+teleology
+teleost
+telepathic
+telepathy
+telephone
+telephonic
+telephony
+telephotography
+teleprinter
+teleprocessing
+teleprompter
+telescope
+telescopic
+telethon
+teletype
+teletypesetting
+teletypewrite
+televise
+television
+telex
+tell
+teller
+telltale
+tellurium
+temerity
+temper
+tempera
+temperance
+temperate
+temperature
+tempest
+tempestuous
+template
+temple
+templeton
+tempo
+temporal
+temporary
+tempt
+temptation
+temptress
+ten
+tenable
+tenacious
+tenacity
+tenant
+tend
+tendency
+tenderfoot
+tenderloin
+tendon
+tenebrous
+tenement
+tenet
+tenfold
+tenneco
+tennessee
+tenney
+tennis
+tennyson
+tenon
+tenor
+tense
+tensile
+tension
+tensional
+tensor
+tenspot
+tent
+tentacle
+tentative
+tenterhooks
+tenth
+tenuous
+tenure
+tepee
+tepid
+teratogenic
+teratology
+terbium
+tercel
+teresa
+term
+terminable
+terminal
+terminate
+termini
+terminology
+terminus
+termite
+tern
+ternary
+terpsichore
+terpsichorean
+terra
+terrace
+terrain
+terramycin
+terrapin
+terre
+terrestrial
+terrible
+terrier
+terrific
+terrify
+territorial
+territory
+terror
+terry
+terse
+tertiary
+tess
+tessellate
+test
+testament
+testamentary
+testate
+testbed
+testes
+testicle
+testicular
+testify
+testimonial
+testimony
+testy
+tetanus
+tete
+tether
+tetrachloride
+tetrafluoride
+tetrafluouride
+tetragonal
+tetrahedra
+tetrahedral
+tetrahedron
+tetravalent
+teutonic
+texaco
+texan
+texas
+text
+textbook
+textile
+textron
+textual
+textural
+texture
+thai
+thailand
+thalia
+thallium
+thallophyte
+than
+thank
+thankful
+thanksgiving
+that
+that'd
+that'll
+thatch
+thaw
+thayer
+the
+thea
+theatric
+thebes
+thee
+theft
+their
+theism
+theist
+thelma
+them
+thematic
+theme
+themselves
+then
+thence
+thenceforth
+theocracy
+theodore
+theodosian
+theologian
+theology
+theorem
+theoretic
+theoretician
+theorist
+theory
+therapeutic
+therapist
+therapy
+there
+there'd
+there'll
+thereabouts
+thereafter
+thereat
+thereby
+therefor
+therefore
+therefrom
+therein
+thereof
+thereon
+theresa
+thereto
+theretofore
+thereunder
+thereupon
+therewith
+thermal
+thermionic
+thermistor
+thermo
+thermofax
+thermostat
+thesaurus
+these
+theses
+theseus
+thesis
+thespian
+theta
+thetis
+they
+they'd
+they'll
+they're
+they've
+thiamin
+thick
+thicken
+thicket
+thickish
+thief
+thieves
+thieving
+thigh
+thimble
+thimbu
+thin
+thine
+thing
+think
+thinnish
+thiocyanate
+thiouracil
+third
+thirst
+thirsty
+thirteen
+thirteenth
+thirtieth
+thirty
+this
+this'll
+thistle
+thistledown
+thither
+thomas
+thomistic
+thompson
+thomson
+thong
+thor
+thoreau
+thoriate
+thorium
+thorn
+thornton
+thorny
+thorough
+thoroughbred
+thoroughfare
+thoroughgoing
+thorpe
+thorstein
+those
+thou
+though
+thought
+thoughtful
+thousand
+thousandfold
+thousandth
+thrall
+thrash
+thread
+threadbare
+threat
+threaten
+three
+threefold
+threesome
+threonine
+thresh
+threshold
+threw
+thrice
+thrift
+thrifty
+thrill
+thrips
+thrive
+throat
+throaty
+throb
+throes
+thrombosis
+throne
+throng
+throttle
+through
+throughout
+throughput
+throw
+throwaway
+throwback
+thrown
+thrum
+thrush
+thrust
+thruway
+thuban
+thud
+thug
+thuggee
+thule
+thulium
+thumb
+thumbnail
+thump
+thunder
+thunderbird
+thunderbolt
+thunderclap
+thunderflower
+thunderous
+thundershower
+thunderstorm
+thurman
+thursday
+thus
+thwack
+thwart
+thy
+thyme
+thymine
+thymus
+thyratron
+thyroglobulin
+thyroid
+thyroidal
+thyronine
+thyrotoxic
+thyroxine
+ti
+tiber
+tibet
+tibetan
+tibia
+tic
+tick
+ticket
+tickle
+ticklish
+tid
+tidal
+tidbit
+tide
+tideland
+tidewater
+tidy
+tie
+tied
+tientsin
+tier
+tiffany
+tift
+tiger
+tight
+tighten
+tigress
+tigris
+til
+tilde
+tile
+till
+tilt
+tilth
+tim
+timber
+timberland
+timbre
+time
+timeout
+timepiece
+timeshare
+timetable
+timeworn
+timex
+timid
+timon
+timothy
+tin
+tina
+tincture
+tinder
+tine
+tinfoil
+tinge
+tingle
+tinker
+tinkle
+tinsel
+tint
+tintype
+tiny
+tioga
+tip
+tipoff
+tipperary
+tipple
+tippy
+tipsy
+tiptoe
+tirade
+tirana
+tire
+tiresome
+tissue
+tit
+titan
+titanate
+titanic
+titanium
+tithe
+titian
+titillate
+title
+titmouse
+titrate
+titular
+titus
+tn
+tnt
+to
+toad
+toady
+toast
+toastmaster
+tobacco
+tobago
+toby
+toccata
+today
+today'll
+todd
+toddle
+toe
+toefl
+toenail
+toffee
+tofu
+tog
+together
+togging
+toggle
+togo
+togs
+toil
+toilet
+toiletry
+toilsome
+tokamak
+token
+tokyo
+told
+toledo
+tolerable
+tolerant
+tolerate
+toll
+tollgate
+tollhouse
+tolstoy
+toluene
+tom
+tomato
+tomatoes
+tomb
+tombstone
+tome
+tomlinson
+tommie
+tommy
+tomograph
+tomography
+tomorrow
+tompkins
+ton
+tonal
+tone
+tong
+tongue
+toni
+tonic
+tonight
+tonk
+tonnage
+tonsil
+tonsillitis
+tony
+too
+toodle
+took
+tool
+toolkit
+toolmake
+toolsmith
+toot
+tooth
+toothbrush
+toothpaste
+toothpick
+tootle
+top
+topaz
+topcoat
+topeka
+topgallant
+topic
+topmost
+topnotch
+topocentric
+topography
+topologize
+topology
+topple
+topsoil
+topsy
+tor
+torah
+torch
+tore
+tori
+torn
+tornado
+toroid
+toroidal
+toronto
+torpedo
+torpid
+torpor
+torque
+torr
+torrance
+torrent
+torrid
+torsion
+torso
+tort
+tortoise
+tortoiseshell
+tortuous
+torture
+torus
+tory
+toshiba
+toss
+tot
+total
+totalitarian
+tote
+totem
+totemic
+touch
+touchdown
+touchstone
+touchy
+tough
+tour
+tournament
+tousle
+tout
+tow
+toward
+towboat
+towel
+tower
+towhead
+towhee
+town
+townhouse
+townsend
+townsman
+townsmen
+toxic
+toxicology
+toxin
+toy
+toyota
+trace
+traceable
+tracery
+trachea
+track
+trackage
+tract
+tractor
+tracy
+trade
+trademark
+tradeoff
+tradesman
+tradesmen
+tradition
+traffic
+trafficked
+trafficking
+trag
+tragedian
+tragedy
+tragic
+tragicomic
+trail
+trailblaze
+trailhead
+trailside
+train
+trainee
+trainman
+trainmen
+traipse
+trait
+traitor
+traitorous
+trajectory
+tram
+trammel
+tramp
+trample
+tramway
+trance
+tranquil
+tranquillity
+transact
+transalpine
+transatlantic
+transceiver
+transcend
+transcendent
+transcendental
+transconductance
+transcontinental
+transcribe
+transcript
+transcription
+transducer
+transduction
+transect
+transept
+transfer
+transferable
+transferee
+transference
+transferor
+transferral
+transferred
+transferring
+transfinite
+transfix
+transform
+transformation
+transfusable
+transfuse
+transfusion
+transgress
+transgression
+transgressor
+transient
+transistor
+transit
+transite
+transition
+transitive
+transitory
+translate
+transliterate
+translucent
+transmissible
+transmission
+transmit
+transmittable
+transmittal
+transmittance
+transmitted
+transmitter
+transmitting
+transmogrify
+transmutation
+transmute
+transoceanic
+transom
+transpacific
+transparent
+transpiration
+transpire
+transplant
+transplantation
+transpond
+transport
+transportation
+transposable
+transpose
+transposition
+transship
+transshipped
+transshipping
+transversal
+transverse
+transvestite
+transylvania
+trap
+trapezium
+trapezoid
+trapezoidal
+trash
+trashy
+trastevere
+trauma
+traumatic
+travail
+travel
+travelogue
+traversable
+traversal
+traverse
+travertine
+travesty
+travis
+trawl
+tray
+treacherous
+treachery
+tread
+treadle
+treadmill
+treason
+treasonous
+treasure
+treasury
+treat
+treatise
+treaty
+treble
+tree
+treetop
+trefoil
+trek
+trellis
+tremble
+tremendous
+tremor
+tremulous
+trench
+trenchant
+trencherman
+trenchermen
+trend
+trendy
+trenton
+trepidation
+trespass
+tress
+trestle
+trevelyan
+triable
+triac
+triad
+trial
+triangle
+triangular
+triangulate
+triangulum
+trianon
+triassic
+triatomic
+tribal
+tribe
+tribesman
+tribesmen
+tribulate
+tribunal
+tribune
+tributary
+tribute
+triceratops
+trichinella
+trichloroacetic
+trichloroethane
+trichrome
+trick
+trickery
+trickle
+trickster
+tricky
+trident
+tridiagonal
+tried
+triennial
+trifle
+trifluoride
+trifluouride
+trig
+trigonal
+trigonometry
+trigram
+trihedral
+trill
+trillion
+trillionth
+trilobite
+trilogy
+trim
+trimer
+trimester
+trinidad
+trinitarian
+trinity
+trinket
+trio
+triode
+trioxide
+trip
+tripartite
+tripe
+triphenylphosphine
+triple
+triplet
+triplett
+triplex
+triplicate
+tripod
+tripoli
+triptych
+trisodium
+tristan
+tristate
+trisyllable
+trite
+tritium
+triton
+triumph
+triumphal
+triumphant
+triune
+trivalent
+trivia
+trivial
+trivium
+trod
+trodden
+troglodyte
+troika
+trojan
+troll
+trolley
+trollop
+trombone
+trompe
+troop
+trophic
+trophy
+tropic
+tropopause
+troposphere
+tropospheric
+trot
+troubador
+trouble
+troubleshoot
+troublesome
+trough
+trounce
+troupe
+trouser
+trout
+troutman
+troy
+truancy
+truant
+truce
+truck
+truculent
+trudge
+trudy
+true
+truism
+truly
+truman
+trumbull
+trump
+trumpery
+trumpet
+truncate
+trundle
+trunk
+truss
+trust
+trustee
+trustful
+trustworthy
+truth
+truthful
+trw
+try
+trypsin
+trytophan
+tsar
+tsarina
+tsunami
+ttl
+tty
+tub
+tuba
+tube
+tuberculin
+tuberculosis
+tubular
+tubule
+tuck
+tucker
+tucson
+tudor
+tuesday
+tuff
+tuft
+tug
+tugging
+tuition
+tulane
+tularemia
+tulip
+tulle
+tulsa
+tum
+tumble
+tumbrel
+tumult
+tumultuous
+tun
+tuna
+tundra
+tune
+tuneful
+tung
+tungstate
+tungsten
+tunic
+tunis
+tunisia
+tunnel
+tupelo
+tuple
+turban
+turbid
+turbidity
+turbinate
+turbine
+turbofan
+turbojet
+turbulent
+turf
+turgid
+turin
+turing
+turk
+turkey
+turkish
+turmoil
+turn
+turnabout
+turnaround
+turnery
+turnip
+turnkey
+turnoff
+turnout
+turnover
+turnpike
+turnstone
+turntable
+turpentine
+turpitude
+turquoise
+turret
+turtle
+turtleback
+turtleneck
+turvy
+tuscaloosa
+tuscan
+tuscany
+tuscarora
+tusk
+tuskegee
+tussle
+tutelage
+tutor
+tutorial
+tuttle
+tutu
+tuxedo
+tv
+tva
+twa
+twaddle
+twain
+tweak
+tweed
+tweedy
+tweeze
+twelfth
+twelve
+twentieth
+twenty
+twice
+twiddle
+twig
+twigging
+twilight
+twill
+twin
+twine
+twinge
+twinkle
+twirl
+twirly
+twist
+twisty
+twit
+twitch
+twitchy
+two
+twofold
+twombly
+twosome
+twx
+tx
+tyburn
+tycoon
+tying
+tyler
+tyndall
+type
+typeface
+typescript
+typeset
+typesetter
+typesetting
+typewrite
+typewritten
+typhoid
+typhon
+typhoon
+typhus
+typic
+typify
+typo
+typographer
+typography
+typology
+tyrannic
+tyrannicide
+tyrannosaurus
+tyranny
+tyrant
+tyrosine
+tyson
+u
+u's
+u.s
+u.s.a
+ubiquitous
+ubiquity
+ucla
+uganda
+ugh
+ugly
+uhf
+uk
+ukraine
+ukrainian
+ulan
+ulcer
+ulcerate
+ullman
+ulster
+ulterior
+ultimate
+ultimatum
+ultra
+ulysses
+umber
+umbilical
+umbilici
+umbilicus
+umbra
+umbrage
+umbrella
+umlaut
+umpire
+un
+unanimity
+unanimous
+unary
+unbeknownst
+unbidden
+unchristian
+uncle
+uncouth
+unction
+under
+underclassman
+underclassmen
+underling
+undulate
+unesco
+uniaxial
+unicorn
+unidimensional
+unidirectional
+uniform
+unify
+unilateral
+unimodal
+unimodular
+uninominal
+union
+uniplex
+unipolar
+uniprocessor
+unique
+uniroyal
+unisex
+unison
+unit
+unital
+unitarian
+unitary
+unite
+unity
+univac
+univalent
+univariate
+universal
+universe
+unix
+unkempt
+unruly
+until
+unwieldy
+up
+upbeat
+upbraid
+upbring
+upcome
+update
+updraft
+upend
+upgrade
+upheaval
+upheld
+uphill
+uphold
+upholster
+upholstery
+upkeep
+upland
+uplift
+upon
+upper
+upperclassman
+upperclassmen
+uppercut
+uppermost
+upraise
+upright
+uprise
+upriver
+uproar
+uproarious
+uproot
+upset
+upsetting
+upshot
+upside
+upsilon
+upslope
+upstair
+upstand
+upstart
+upstate
+upstater
+upstream
+upsurge
+upswing
+uptake
+upton
+uptown
+uptrend
+upturn
+upward
+upwind
+uracil
+urania
+uranium
+uranus
+uranyl
+urban
+urbana
+urbane
+urbanite
+urchin
+urea
+uremia
+urethane
+urethra
+urge
+urgency
+urgent
+urging
+uri
+urinal
+urinary
+urine
+uris
+urn
+ursa
+ursula
+ursuline
+uruguay
+us
+usa
+usable
+usaf
+usage
+usc
+usc&gs
+usda
+use
+useful
+usgs
+usher
+usia
+usn
+usps
+ussr
+usual
+usurer
+usurious
+usurp
+usurpation
+usury
+ut
+utah
+utensil
+uterine
+uterus
+utica
+utile
+utilitarian
+utility
+utmost
+utopia
+utopian
+utrecht
+utter
+utterance
+uttermost
+v
+v's
+va
+vacant
+vacate
+vacationland
+vaccinate
+vaccine
+vacillate
+vacua
+vacuo
+vacuolate
+vacuole
+vacuous
+vacuum
+vade
+vaduz
+vagabond
+vagary
+vagina
+vaginal
+vagrant
+vague
+vail
+vain
+vainglorious
+vale
+valediction
+valedictorian
+valedictory
+valent
+valentine
+valerie
+valery
+valet
+valeur
+valhalla
+valiant
+valid
+validate
+valine
+valkyrie
+valletta
+valley
+valois
+valparaiso
+valuate
+value
+valve
+vamp
+vampire
+van
+vanadium
+vance
+vancouver
+vandal
+vandenberg
+vanderbilt
+vanderpoel
+vane
+vanguard
+vanilla
+vanish
+vanity
+vanquish
+vantage
+vapid
+vaporous
+variable
+variac
+varian
+variant
+variate
+variegate
+variety
+various
+varistor
+varitype
+varnish
+varsity
+vary
+vascular
+vase
+vasectomy
+vasquez
+vassal
+vassar
+vast
+vat
+vatican
+vaudeville
+vaudois
+vaughan
+vaughn
+vault
+vaunt
+veal
+vector
+vectorial
+veda
+vee
+veer
+veery
+vega
+vegetable
+vegetarian
+vegetate
+vehement
+vehicle
+vehicular
+veil
+vein
+velar
+velasquez
+veldt
+vella
+vellum
+velocity
+velours
+velvet
+velvety
+venal
+vend
+vendetta
+vendible
+vendor
+veneer
+venerable
+venerate
+venereal
+venetian
+veneto
+venezuela
+vengeance
+vengeful
+venial
+venice
+venison
+venom
+venomous
+venous
+vent
+ventilate
+ventricle
+venture
+venturesome
+venturi
+venus
+venusian
+vera
+veracious
+veracity
+veranda
+verandah
+verb
+verbal
+verbatim
+verbena
+verbiage
+verbose
+verbosity
+verdant
+verde
+verdi
+verdict
+verge
+veridic
+verify
+verisimilitude
+veritable
+verity
+verlag
+vermeil
+vermiculite
+vermilion
+vermin
+vermont
+vermouth
+verna
+vernacular
+vernal
+verne
+vernier
+vernon
+verona
+veronica
+versa
+versailles
+versatec
+versatile
+verse
+version
+versus
+vertebra
+vertebrae
+vertebral
+vertebrate
+vertex
+vertical
+vertices
+vertigo
+verve
+very
+vesicular
+vesper
+vessel
+vest
+vestal
+vestibule
+vestige
+vestigial
+vestry
+vet
+vetch
+veteran
+veterinarian
+veterinary
+veto
+vex
+vexation
+vexatious
+vhf
+vi
+via
+viaduct
+vial
+vibrant
+vibrate
+vibrato
+viburnum
+vicar
+vicarious
+vice
+viceroy
+vichy
+vicinal
+vicinity
+vicious
+vicissitude
+vicksburg
+vicky
+victim
+victor
+victoria
+victorian
+victorious
+victory
+victrola
+victual
+vida
+vide
+video
+videotape
+vie
+vienna
+viennese
+vientiane
+viet
+vietnam
+vietnamese
+view
+viewpoint
+viewport
+vigil
+vigilant
+vigilante
+vigilantism
+vignette
+vigorous
+vii
+viii
+viking
+vile
+vilify
+villa
+village
+villain
+villainous
+villein
+vincent
+vindicate
+vindictive
+vine
+vinegar
+vineyard
+vinson
+vintage
+vintner
+vinyl
+viola
+violate
+violent
+violet
+violin
+virgil
+virgin
+virginal
+virginia
+virginian
+virgo
+virgule
+virile
+virtual
+virtue
+virtuosi
+virtuosity
+virtuoso
+virtuous
+virulent
+virus
+vis
+visa
+visage
+viscera
+visceral
+viscoelastic
+viscometer
+viscosity
+viscount
+viscous
+vise
+vishnu
+visible
+visigoth
+vision
+visionary
+visit
+visitation
+visitor
+visor
+vista
+visual
+vita
+vitae
+vital
+vitamin
+vitiate
+vito
+vitreous
+vitrify
+vitriol
+vitriolic
+vitro
+viva
+vivace
+vivacious
+vivacity
+vivaldi
+vivian
+vivid
+vivify
+vivo
+vixen
+viz
+vladimir
+vladivostok
+vocable
+vocabularian
+vocabulary
+vocal
+vocalic
+vocate
+vociferous
+vogel
+vogue
+voice
+voiceband
+void
+volatile
+volcanic
+volcanism
+volcano
+volition
+volkswagen
+volley
+volleyball
+volstead
+volt
+volta
+voltage
+voltaic
+voltaire
+volterra
+voltmeter
+voluble
+volume
+volumetric
+voluminous
+voluntarism
+voluntary
+volunteer
+voluptuous
+volvo
+vomit
+von
+voodoo
+voracious
+voracity
+vortex
+vortices
+vorticity
+voss
+votary
+vote
+votive
+vouch
+vouchsafe
+vought
+vow
+vowel
+voyage
+vreeland
+vt
+vulcan
+vulgar
+vulnerable
+vulpine
+vulture
+vying
+w
+w's
+wa
+waals
+wabash
+wac
+wack
+wacke
+wacky
+waco
+wad
+waddle
+wade
+wadi
+wadsworth
+wafer
+waffle
+wag
+wage
+wagging
+waggle
+wagner
+wagoneer
+wah
+wahl
+wail
+wainscot
+wainwright
+waist
+waistcoat
+waistline
+wait
+waite
+waitress
+waive
+wake
+wakefield
+wakeful
+waken
+wakerobin
+wakeup
+walcott
+walden
+waldo
+waldorf
+waldron
+wale
+walgreen
+walk
+walkie
+walkout
+walkover
+walkway
+wall
+wallaby
+wallace
+wallboard
+waller
+wallet
+wallis
+wallop
+wallow
+wallpaper
+walls
+wally
+walnut
+walpole
+walrus
+walsh
+walt
+walter
+walters
+waltham
+walton
+waltz
+waltzing
+wan
+wand
+wander
+wane
+wang
+wangle
+want
+wanton
+wapato
+wapiti
+wappinger
+war
+warble
+ward
+warden
+wardrobe
+wardroom
+ware
+warehouse
+warehouseman
+warfare
+warhead
+waring
+warlike
+warm
+warmhearted
+warmish
+warmonger
+warmth
+warmup
+warn
+warp
+warplane
+warrant
+warranty
+warren
+warrior
+warsaw
+wart
+wartime
+warty
+warwick
+wary
+was
+wash
+washbasin
+washboard
+washbowl
+washburn
+washington
+washout
+washy
+wasn't
+wasp
+waspish
+wasserman
+wast
+wastage
+waste
+wastebasket
+wasteful
+wasteland
+wastewater
+wastrel
+watanabe
+watch
+watchband
+watchdog
+watchful
+watchmake
+watchman
+watchmen
+watchword
+water
+waterbury
+watercourse
+waterfall
+waterfront
+watergate
+waterhouse
+waterline
+waterloo
+waterman
+watermelon
+waterproof
+waters
+watershed
+waterside
+watertown
+waterway
+watery
+watkins
+watson
+watt
+wattage
+wattle
+watts
+wave
+waveform
+wavefront
+waveguide
+wavelength
+wavelet
+wavenumber
+wavy
+wax
+waxen
+waxwork
+waxy
+way
+waybill
+waylaid
+waylay
+wayne
+wayside
+wayward
+we
+we'd
+we'll
+we're
+we've
+weak
+weaken
+weal
+wealth
+wealthy
+wean
+weapon
+weaponry
+wear
+wearied
+wearisome
+weary
+weasel
+weather
+weatherbeaten
+weatherproof
+weatherstrip
+weatherstripping
+weave
+web
+webb
+weber
+webster
+weco
+wed
+wedge
+wedlock
+wednesday
+wee
+weed
+weedy
+week
+weekday
+weekend
+weeks
+weep
+wehr
+wei
+weierstrass
+weigh
+weight
+weighty
+weinberg
+weinstein
+weir
+weird
+weiss
+welch
+welcome
+weld
+weldon
+welfare
+well
+wellbeing
+weller
+welles
+wellesley
+wellington
+wells
+welsh
+welt
+wendell
+wendy
+went
+wept
+were
+weren't
+werner
+wert
+werther
+wesley
+wesleyan
+west
+westbound
+westchester
+westerly
+western
+westernmost
+westfield
+westinghouse
+westminster
+weston
+westward
+wet
+wetland
+weyerhauser
+whack
+whale
+whalen
+wham
+wharf
+wharton
+wharves
+what
+what'd
+what're
+whatever
+whatley
+whatnot
+whatsoever
+wheat
+wheatstone
+whee
+wheedle
+wheel
+wheelbase
+wheelchair
+wheelhouse
+wheeze
+wheezy
+whelan
+whelk
+wheller
+whelm
+whelp
+when
+whence
+whenever
+where
+where'd
+where're
+whereabout
+whereas
+whereby
+wherefore
+wherein
+whereof
+whereon
+wheresoever
+whereupon
+wherever
+wherewith
+wherewithal
+whet
+whether
+which
+whichever
+whiff
+whig
+while
+whim
+whimper
+whimsey
+whimsic
+whine
+whinny
+whip
+whiplash
+whippany
+whippet
+whipple
+whipsaw
+whir
+whirl
+whirligig
+whirlpool
+whirlwind
+whish
+whisk
+whisper
+whistle
+whistleable
+whit
+whitaker
+whitcomb
+white
+whiteface
+whitehall
+whitehead
+whitehorse
+whiten
+whitetail
+whitewash
+whither
+whitlock
+whitman
+whitney
+whittaker
+whittier
+whittle
+whiz
+whizzing
+who
+who'd
+who'll
+who've
+whoa
+whoever
+whole
+wholehearted
+wholesale
+wholesome
+wholly
+whom
+whomever
+whomsoever
+whoop
+whoosh
+whop
+whore
+whose
+whosoever
+whup
+why
+wi
+wichita
+wick
+wicket
+wide
+widen
+widespread
+widgeon
+widget
+widow
+widowhood
+width
+widthwise
+wield
+wiener
+wier
+wife
+wig
+wigging
+wiggins
+wiggle
+wiggly
+wightman
+wigmake
+wigwam
+wilbur
+wilcox
+wild
+wildcat
+wildcatter
+wilderness
+wildfire
+wildlife
+wile
+wiley
+wilfred
+wilful
+wilhelm
+wilhelmina
+wilkes
+wilkie
+wilkins
+wilkinson
+will
+willa
+willard
+willful
+william
+williams
+williamsburg
+williamson
+willie
+willis
+willoughby
+willow
+willowy
+wills
+wilma
+wilmington
+wilshire
+wilson
+wilsonian
+wilt
+wily
+win
+wince
+winch
+winchester
+wind
+windbag
+windbreak
+windfall
+windmill
+window
+windowpane
+windowsill
+windshield
+windsor
+windstorm
+windsurf
+windup
+windward
+windy
+wine
+winemake
+winemaster
+winery
+wineskin
+winfield
+wing
+wingback
+wingman
+wingmen
+wingspan
+wingtip
+winifred
+wink
+winkle
+winnetka
+winnie
+winnipeg
+winnipesaukee
+winnow
+wino
+winslow
+winsome
+winston
+winter
+winters
+wintertime
+winthrop
+wintry
+winy
+wipe
+wire
+wireman
+wiremen
+wiretap
+wiretapper
+wiretapping
+wiry
+wisconsin
+wisdom
+wise
+wiseacre
+wisecrack
+wisenheimer
+wish
+wishbone
+wishful
+wishy
+wisp
+wispy
+wistful
+wit
+witch
+witchcraft
+with
+withal
+withdraw
+withdrawal
+withdrawn
+withdrew
+withe
+wither
+withheld
+withhold
+within
+without
+withstand
+withstood
+withy
+witness
+witt
+witty
+wive
+wizard
+wobble
+woe
+woebegone
+woeful
+wok
+woke
+wolcott
+wold
+wolf
+wolfe
+wolff
+wolfgang
+wolfish
+wolve
+wolves
+woman
+womanhood
+womb
+wombat
+women
+won
+won't
+wonder
+wonderful
+wonderland
+wondrous
+wong
+wont
+woo
+wood
+woodard
+woodbury
+woodcarver
+woodcock
+woodcut
+wooden
+woodgrain
+woodhen
+woodland
+woodlawn
+woodlot
+woodpeck
+woodrow
+woodruff
+woods
+woodshed
+woodside
+woodward
+woodwind
+woodwork
+woody
+woodyard
+wool
+woolgather
+woolworth
+wooster
+wop
+worcester
+word
+wordsworth
+wordy
+wore
+work
+workaday
+workbench
+workbook
+workday
+workforce
+workhorse
+workload
+workman
+workmanlike
+workmen
+workout
+workpiece
+workplace
+worksheet
+workshop
+workspace
+workstation
+worktable
+world
+worldwide
+worm
+wormy
+worn
+worrisome
+worry
+worse
+worsen
+worship
+worshipful
+worst
+worth
+worthington
+worthwhile
+worthy
+wotan
+would
+wouldn't
+wound
+wove
+woven
+wow
+wrack
+wraith
+wrangle
+wrap
+wrapup
+wrath
+wrathful
+wreak
+wreath
+wreathe
+wreck
+wreckage
+wrench
+wrest
+wrestle
+wretch
+wriggle
+wright
+wrigley
+wring
+wrinkle
+wrist
+wristband
+wristwatch
+writ
+write
+writeup
+writhe
+written
+wrong
+wrongdo
+wrongdoer
+wrongdoing
+wrongful
+wronskian
+wrote
+wrought
+wry
+wu
+wuhan
+wv
+wy
+wyandotte
+wyatt
+wyeth
+wylie
+wyman
+wyner
+wynn
+wyoming
+x
+x's
+xavier
+xenon
+xenophobia
+xerography
+xerox
+xerxes
+xi
+xylem
+xylene
+xylophone
+y
+y's
+yacht
+yachtsman
+yachtsmen
+yah
+yak
+yakima
+yale
+yalta
+yam
+yamaha
+yang
+yank
+yankee
+yankton
+yaounde
+yap
+yapping
+yaqui
+yard
+yardage
+yardstick
+yarmouth
+yarmulke
+yarn
+yarrow
+yates
+yaw
+yawl
+yawn
+ye
+yea
+yeager
+yeah
+year
+yearbook
+yearn
+yeast
+yeasty
+yeats
+yell
+yellow
+yellowish
+yellowknife
+yellowstone
+yelp
+yemen
+yen
+yeoman
+yeomanry
+yerkes
+yeshiva
+yesterday
+yesteryear
+yet
+yiddish
+yield
+yin
+yip
+yipping
+ymca
+yodel
+yoder
+yoga
+yoghurt
+yogi
+yogurt
+yoke
+yokel
+yokohama
+yokuts
+yolk
+yon
+yond
+yonkers
+yore
+york
+yorktown
+yosemite
+yost
+you
+you'd
+you'll
+you're
+you've
+young
+youngish
+youngster
+youngstown
+your
+yourself
+yourselves
+youth
+youthful
+yow
+ypsilanti
+ytterbium
+yttrium
+yucatan
+yucca
+yuck
+yugoslav
+yugoslavia
+yuh
+yuki
+yukon
+yule
+yves
+yvette
+ywca
+z
+z's
+zachary
+zag
+zagging
+zagreb
+zaire
+zambia
+zan
+zanzibar
+zap
+zazen
+zeal
+zealand
+zealot
+zealous
+zebra
+zeiss
+zellerbach
+zen
+zenith
+zero
+zeroes
+zeroth
+zest
+zesty
+zeta
+zeus
+ziegler
+zig
+zigging
+zigzag
+zigzagging
+zilch
+zimmerman
+zinc
+zing
+zion
+zionism
+zip
+zippy
+zircon
+zirconium
+zloty
+zodiac
+zodiacal
+zoe
+zomba
+zombie
+zone
+zoo
+zoology
+zoom
+zorn
+zoroaster
+zoroastrian
+zounds
+zucchini
+zurich
+zygote
diff --git a/examples/rosettacode/visualize_a_tree.nit b/examples/rosettacode/visualize_a_tree.nit
new file mode 100644 (file)
index 0000000..f0fa7aa
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+
+# Task: Visualize a tree
+# SEE: <http://rosettacode.org/wiki/Visualize a tree>
+module visualize_a_tree
+
+# The library `ordered_tree` offers basic visualization services for trees.
+import ordered_tree
+
+var tree = new OrderedTree[String]
+tree.add(null, "a")
+tree.add("a", "ab")
+tree.add("ab", "abc")
+tree.add("a", "ac")
+tree.add("ac", "acd")
+tree.add(null, "b")
+tree.add("b", "bc")
+
+tree.write_to(stdout)
diff --git a/examples/rosettacode/zigzag_matrix.nit b/examples/rosettacode/zigzag_matrix.nit
new file mode 100644 (file)
index 0000000..f671392
--- /dev/null
@@ -0,0 +1,76 @@
+#!/usr/bin/env nit
+#
+# This file is part of NIT ( http://www.nitlanguage.org ).
+# This program is public domain
+#
+# Task: Zig-zag matrix
+# SEE: <http://rosettacode.org/wiki/Zig-zag_matrix>
+
+fun zig_zag(number: Int): Array[Array[Int]] do
+       var first_number = 0
+       var last_number = number * number - 1
+       # x: line position
+       # y: column position
+       var x = 0
+       var y = 0
+       # true: top-right
+       # false: bottom-left
+       var trajectory = true
+       # first array: column
+       # second array: line
+       var array = new Array[Array[Int]]
+       for i in [0..number[ do array.add(new Array[Int].filled_with(0, number))
+
+       while first_number <= last_number do
+               array[y][x] = first_number
+               array[number - y - 1][number - x - 1] = last_number
+
+               first_number += 1
+               last_number -= 1
+
+               if x == 0 and y == 0 then
+                       x += 1
+                       trajectory = false
+               else
+                       if y == 0 and trajectory then
+                               trajectory = false
+                               x += 1
+                               continue
+                       end
+                       if y == 0 and not trajectory then
+                               x -= 1
+                               y += 1
+                               continue
+                       end
+                       if x == 0 and not trajectory then
+                               trajectory = true
+                               y += 1
+                               continue
+                       end
+                       if x == 0 and trajectory then
+                               x += 1
+                               y -= 1
+                               continue
+                       end
+                       if trajectory then
+                               x += 1
+                               y -= 1
+                       else
+                               x -= 1
+                               y += 1
+                       end
+               end
+       end
+       return array
+end
+
+var number = 10
+var number_length_max = (number * number - 1).to_s.length
+for line in zig_zag(number) do
+       for element in line do
+               printn element
+               var blank = number_length_max - element.to_s.length + 1
+               for x in blank.times do printn " "
+       end
+       print ""
+end
index 2afd1b9..06b2415 100644 (file)
@@ -87,7 +87,8 @@ end
 
 # Leaf of a `Rope`, used as a buffered area for speedy concatenation.
 private class Leaf
-       super RopeString
+       super String
+       super Rope
 
        var buf: ManualBuffer
        var bns: NativeString is noinit
index ca16460..9157995 100644 (file)
@@ -25,10 +25,12 @@ interface Comparator
        type COMPARED: nullable Object
 
        # Compare `a` and `b`.
+       #
        # Returns:
-       #       -1 if a < b
-       #       0  if a = b
-       #       1  if a > b
+       #
+       # * -1 if a < b
+       # * 0  if a = b
+       # * 1  if a > b
        fun compare(a: COMPARED, b: COMPARED): Int is abstract
 
        # Is `seq` sorted?
index 3bc2fcd..0c6aed7 100644 (file)
@@ -77,9 +77,10 @@ abstract class FileStream
        # If the buf_size is <= 0, its value will be 512 by default
        #
        # The mode is any of the buffer_mode enumeration in `Sys`:
-       #       - buffer_mode_full
-       #       - buffer_mode_line
-       #       - buffer_mode_none
+       #
+       # * `buffer_mode_full`
+       # * `buffer_mode_line`
+       # * `buffer_mode_none`
        fun set_buffering_mode(buf_size, mode: Int) do
                if buf_size <= 0 then buf_size = 512
                if _file.set_buffering_type(buf_size, mode) != 0 then
index 8b5fecb..fb6bb05 100644 (file)
@@ -4,14 +4,14 @@
 #
 # This file is free software, which comes along with NIT.  This software is
 # distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-# without  even  the implied warranty of  MERCHANTABILITY or  FITNESS FOR A 
+# without  even  the implied warranty of  MERCHANTABILITY or  FITNESS FOR A
 # PARTICULAR PURPOSE.  You can modify it is you want,  provided this header
 # is kept unaltered, and a notification of the changes is added.
 # You  are  allowed  to  redistribute it and sell it, alone or is a part of
 # another product.
 
 # Mathematical operations
-module math
+module math is ldflags "-lm"
 
 import kernel
 import collection
@@ -29,21 +29,33 @@ redef class Int
        #     assert 0x10.bin_and(0x01) == 0
        fun bin_and(i: Int): Int is extern "kernel_Int_Int_binand_0"
 
+       # Alias of `bin_and`
+       fun &(i: Int): Int do return bin_and(i)
+
        # Returns the result of a binary OR operation on `self` and `i`
        #
        #     assert 0x10.bin_or(0x01) == 0x11
        fun bin_or(i: Int): Int is extern "kernel_Int_Int_binor_0"
 
+       # Alias of `bin_or`
+       fun |(i: Int): Int do return bin_or(i)
+
        # Returns the result of a binary XOR operation on `self` and `i`
        #
        #     assert 0x101.bin_xor(0x110) == 0x11
        fun bin_xor(i: Int): Int is extern "kernel_Int_Int_binxor_0"
 
+       # Alias of `bin_xor`
+       fun ^(i: Int): Int do return bin_xor(i)
+
        # Returns the 1's complement of `self`
        #
        #     assert 0x2F.bin_not == -48
        fun bin_not: Int is extern "kernel_Int_Int_binnot_0"
 
+       # Alias of `bin_not`
+       fun ~: Int do return bin_not
+
        # Returns the square root of `self`
        #
        #     assert 16.sqrt == 4
@@ -84,6 +96,24 @@ redef class Int
        #     assert not 13.is_even
        fun is_odd: Bool do return not is_even
 
+       # Is self a prime number ?
+       #
+       # assert 3.is_prime
+       # assert not 1.is_prime
+       # assert not 12.is_prime
+       fun is_prime: Bool
+       do
+               if self == 2 then
+                       return true
+               else if self <= 1 or self.is_even then
+                       return false
+               end
+               for i in [3..self.sqrt[ do
+                       if self % i == 0 then return false
+               end
+               return true
+       end
+
        # Returns the `self` raised to the power of `e`.
        #
        #     assert 2 ** 3 == 8
@@ -113,6 +143,40 @@ redef class Int
        end
 end
 
+redef class Byte
+       # Returns the result of a binary AND operation on `self` and `i`
+       #
+       #     assert 0x10.bin_and(0x01) == 0
+       fun bin_and(i: Byte): Byte `{ return self & i; `}
+
+       # Alias of `bin_and`
+       fun &(i: Byte): Byte do return bin_and(i)
+
+       # Returns the result of a binary OR operation on `self` and `i`
+       #
+       #     assert 0x10.bin_or(0x01) == 0x11
+       fun bin_or(i: Byte): Byte `{ return self | i; `}
+
+       # Alias of `bin_or`
+       fun |(i: Byte): Byte do return bin_or(i)
+
+       # Returns the result of a binary XOR operation on `self` and `i`
+       #
+       #     assert 0x101.bin_xor(0x110) == 0x11
+       fun bin_xor(i: Byte): Byte `{ return self ^ i; `}
+
+       # Alias of `bin_xor`
+       fun ^(i: Byte): Byte do return bin_xor(i)
+
+       # Returns the 1's complement of `self`
+       #
+       #     assert 0x2F.bin_not == -48
+       fun bin_not: Byte `{ return ~self; `}
+
+       # Alias of `bin_not`
+       fun ~: Byte do return bin_not
+end
+
 redef class Float
 
        # Returns the non-negative square root of `self`.
index 4de14cc..4f6a0be 100644 (file)
 #
 # Example :
 #
+# ~~~raw
 #                  Concat
 #                /        \
 #          Concat          Concat
 #         /      \        /      \
 #      "My"     " Name"  " is"   " Simon."
+# ~~~
 #
 # Note that the above example is not representative of the actual implementation
 # of `Ropes`, since short leaves are merged to keep the rope at an acceptable
@@ -63,16 +65,12 @@ private abstract class Rope
        super Text
 end
 
-private abstract class RopeString
+# Node that represents a concatenation between two `String`
+private class Concat
        super Rope
        super String
 
        redef var chars is lazy do return new RopeChars(self)
-end
-
-# Node that represents a concatenation between two `String`
-private class Concat
-       super RopeString
 
        redef var length is noinit
 
@@ -499,14 +497,14 @@ private class RopeReviter
        # the Rope traversal.
        var subs: IndexedIterator[String]
 
-       init(root: RopeString) is old_style_init do
+       init(root: Concat) is old_style_init do
                pos = root.length - 1
                subs = new ReverseRopeSubstrings(root)
                ns = subs.item
                pns = ns.length - 1
        end
 
-       init from(root: RopeString, pos: Int) do
+       init from(root: Concat, pos: Int) do
                self.pos = pos
                subs = new ReverseRopeSubstrings.from(root, pos)
                ns = subs.item
@@ -546,7 +544,7 @@ private class RopeIter
        # Position (char) in the Rope (0-indexed)
        var pos: Int
 
-       init(root: RopeString) is old_style_init do
+       init(root: Concat) is old_style_init do
                subs = new RopeSubstrings(root)
                pns = 0
                str = subs.item
@@ -554,7 +552,7 @@ private class RopeIter
                pos = 0
        end
 
-       init from(root: RopeString, pos: Int) do
+       init from(root: Concat, pos: Int) do
                subs = new RopeSubstrings.from(root, pos)
                pns = pos - subs.index
                self.pos = pos
@@ -592,7 +590,7 @@ private class ReverseRopeSubstrings
        # Current leaf
        var str: String is noinit
 
-       init(root: RopeString) is old_style_init do
+       init(root: Concat) is old_style_init do
                var r = new RopeIterPiece(root, false, true, null)
                pos = root.length - 1
                var lnod: String = root
@@ -608,7 +606,7 @@ private class ReverseRopeSubstrings
                end
        end
 
-       init from(root: RopeString, pos: Int) do
+       init from(root: Concat, pos: Int) do
                var r = new RopeIterPiece(root, false, true, null)
                var rnod: String = root
                var off = pos
@@ -714,7 +712,7 @@ private class RopeSubstrings
        # Current leaf
        var str: FlatString is noinit
 
-       init(root: RopeString) is old_style_init do
+       init(root: Concat) is old_style_init do
                var r = new RopeIterPiece(root, true, false, null)
                pos = 0
                max = root.length - 1
@@ -732,7 +730,7 @@ private class RopeSubstrings
                end
        end
 
-       init from(root: RopeString, pos: Int) do
+       init from(root: Concat, pos: Int) do
                var r = new RopeIterPiece(root, true, false, null)
                max = root.length - 1
                var rnod: String = root
@@ -794,11 +792,11 @@ private class RopeSubstrings
        end
 end
 
-# Implementation of a `StringCharView` for `RopeString` objects
+# Implementation of a `StringCharView` for `Concat` objects
 private class RopeChars
        super StringCharView
 
-       redef type SELFTYPE: RopeString
+       redef type SELFTYPE: Concat
 
        redef fun [](i) do
                return target[i]
index dbe6fc1..8fae169 100644 (file)
@@ -1696,18 +1696,27 @@ abstract class AbstractCompilerVisitor
        # `mtype` is the expected return type, pass null if no specific type is expected.
        fun expr(nexpr: AExpr, mtype: nullable MType): RuntimeVariable
        do
-               if nexpr.mtype == null then
+               var old = self.current_node
+               self.current_node = nexpr
+
+               var res = null
+               if nexpr.mtype != null then
+                       res = nexpr.expr(self)
+               end
+
+               if res == null then
                        # Untyped expression.
                        # Might mean dead code or invalid code.
                        # so aborts
                        add_abort("FATAL: bad expression executed.")
                        # and return a placebo result to please the C compiler
                        if mtype == null then mtype = compiler.mainmodule.object_type
-                       return new_var(mtype)
+                       res = new_var(mtype)
+
+                       self.current_node = old
+                       return res
                end
-               var old = self.current_node
-               self.current_node = nexpr
-               var res = nexpr.expr(self).as(not null)
+
                if mtype != null then
                        mtype = self.anchor(mtype)
                        res = self.autobox(res, mtype)
@@ -3035,7 +3044,9 @@ redef class AIsaExpr
        redef fun expr(v)
        do
                var i = v.expr(self.n_expr, null)
-               return v.type_test(i, self.cast_type.as(not null), "isa")
+               var cast_type = self.cast_type
+               if cast_type == null then return null # no-no on broken node
+               return v.type_test(i, cast_type, "isa")
        end
 end
 
index e2afc48..bff3243 100644 (file)
@@ -439,16 +439,21 @@ end
 # No coloring order is garantied
 #
 # Example:
-#      buckets[A] = {x1, x2}
-#   buckets[B] = {x1, x3, x4}
-#      buckets[C] = {x2, x3}
+#
+# * buckets[A] = {x1, x2}
+# * buckets[B] = {x1, x3, x4}
+# * buckets[C] = {x2, x3}
+#
 # Conflicts:
-#      x1: {x2, x3, x4}
-#   x2: {x1, x3}
-#   x3: {x1, x2, x4}
-#   x4: {x1, x3}
+#
+# * x1: {x2, x3, x4}
+# * x2: {x1, x3}
+# * x3: {x1, x2, x4}
+# * x4: {x1, x3}
+#
 # Possible colors:
-#      x1: 0, x2: 1, x3: 2, x4: 1
+#
+# * x1: 0, x2: 1, x3: 2, x4: 1
 class BucketsColorer[H: Object, E: Object]
        private var colors = new HashMap[E, Int]
        private var conflicts = new HashMap[E, Set[E]]
diff --git a/src/interpreter/dynamic_loading_ffi/README.md b/src/interpreter/dynamic_loading_ffi/README.md
new file mode 100644 (file)
index 0000000..3a07c84
--- /dev/null
@@ -0,0 +1,58 @@
+This group implement a partial support for the Nit FFI in the interpreter.
+It compiles foreign code on demand into a dynamic library that is then loaded and executed.
+
+## Features
+
+This FFI implementation is a proof of concept, it implements the light FFI and only a subset of the full FFI.
+
+### From the light FFI:
+
+* Nested extern methods.
+* Module level code blocks.
+* Passage of primitive types.
+* Extern classes and constructors.
+
+### From the full FFI:
+
+* Static Nit types in C.
+* Public code block propagation.
+* The `cflags` and `ldflags` annotations.
+
+### Missing features: (Still TODO)
+
+* Callback to Nit code.
+* Support C++, Java and Objective-C.
+* Reference pinning.
+* Support the `pkgconfig` and `extra_java_files` annotations.
+
+## The shared library and its API
+
+The generated shared library hold the compiled foreign code of a single module.
+It is generated a the first extern method invocation within the module.
+
+The shared library also implements a standard API to be used by the interpreter.
+This API is compose of 2 main elements:
+
+* A single data structure to pass Nit instances and primitive data types:
+
+  ~~~C
+  typedef union nit_call_arg {
+      long value_Int;
+      int value_Bool;
+      uint32_t value_Char;
+      uint8_t value_Byte;
+      double value_Float;
+      void* value_Pointer;
+  } nit_call_arg;
+  ~~~
+
+* Standardized entrypoints, one per extern method in the module.
+  Their signature is composed of the number or arguments,
+  a preallocated array of the arguments and a preallocated structure for the return value.
+
+  ~~~C
+  int (*nit_foreign_lib_entry)(int argc, nit_call_arg *args, nit_call_arg *ret);
+  ~~~
+
+  Each entrypoints unpack the arguments and call the FFI implementation method.
+  The return value is stored in the preallocated structure where the interpreter can retreive it.
diff --git a/src/interpreter/dynamic_loading_ffi/dynamic_loading_ffi.nit b/src/interpreter/dynamic_loading_ffi/dynamic_loading_ffi.nit
new file mode 100644 (file)
index 0000000..656e685
--- /dev/null
@@ -0,0 +1,290 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Execute FFI code by creating and loading shared libraries
+#
+# Triggers the compilation of the library when needed.
+module dynamic_loading_ffi is ldflags "-ldl"
+
+import naive_interpreter
+
+import on_demand_compiler
+import ffi
+
+in "C Header" `{
+       #include <dlfcn.h>
+       #include <inttypes.h>
+
+       // C structure behind `CallArg`
+       typedef union nit_call_arg {
+               long value_Int;
+               int value_Bool;
+               uint32_t value_Char;
+               uint8_t value_Byte;
+               double value_Float;
+               void* value_Pointer;
+       } nit_call_arg;
+
+       // Signature shared by all entry points
+       typedef int (*nit_foreign_lib_entry)(int, nit_call_arg*, nit_call_arg*);
+`}
+
+# Single cell in the list of arguments sent to foreign code (and received)
+#
+# Each cell can hold all primitive types and pointers to Nit class instances.
+#
+# Since this is a C pointer, it acts as both a single cell and an array.
+private extern class CallArg `{ nit_call_arg* `}
+
+       # Initialize an array of `CallArg` of `length` elements
+       new (length: Int) `{ return calloc(length, sizeof(nit_call_arg)); `}
+
+       # Get the element at `index` after `self`
+       fun [](index: Int): CallArg `{ return self + index; `}
+
+       # The `Int` held by this cell
+       fun int: Int `{ return self->value_Int; `}
+
+       # The `Int` held by this cell
+       fun int=(value: Int) `{ self->value_Int = value; `}
+
+       # The `Bool` held by this cell
+       fun bool: Bool `{ return self->value_Bool; `}
+
+       # The `Bool` held by this cell
+       fun bool=(value: Bool) `{ self->value_Bool = value; `}
+
+       # The `Char` held by this cell
+       fun char: Char `{ return self->value_Char; `}
+
+       # The `Char` held by this cell
+       fun char=(value: Char) `{ self->value_Char = value; `}
+
+       # The `Byte` held by this cell
+       fun byte: Byte `{ return self->value_Byte; `}
+
+       # The `Byte` held by this cell
+       fun byte=(value: Byte) `{ self->value_Byte = value; `}
+
+       # The `Float` held by this cell
+       fun float: Float `{ return self->value_Float; `}
+
+       # The `Float` held by this cell
+       fun float=(value: Float) `{ self->value_Float = value; `}
+
+       # The `Pointer` held by this cell
+       fun pointer: Pointer `{ return self->value_Pointer; `}
+
+       # The `Pointer` held by this cell
+       fun pointer=(value: Pointer) `{ self->value_Pointer = value; `}
+
+       # The `Instance` held by this cell
+       fun instance: Instance `{ return (Instance)self->value_Pointer; `}
+
+       # The `Instance` held by this cell
+       fun instance=(value: Instance) `{ self->value_Pointer = value; `}
+
+       # The `NativeString` held by this cell
+       fun native_string: NativeString `{ return (unsigned char*)self->value_Pointer; `}
+
+       # Set the content of this cell according to `static_type`
+       #
+       # Opposite of `to_instance`.
+       fun from_static_type(value: Instance, static_type: MType)
+       do
+               if static_type.name == "Int" then
+                       assert value isa PrimitiveInstance[Int]
+                       self.int = value.val
+               else if static_type.name == "Bool" then
+                       assert value isa PrimitiveInstance[Bool]
+                       self.bool = value.val
+               else if static_type.name == "Char" then
+                       assert value isa PrimitiveInstance[Char]
+                       self.char = value.val
+               else if static_type.name == "Byte" then
+                       assert value isa PrimitiveInstance[Byte]
+                       self.byte = value.val
+               else if static_type.name == "Float" then
+                       assert value isa PrimitiveInstance[Float]
+                       self.float = value.val
+               else if static_type.name == "NativeString" then
+                       assert value isa PrimitiveInstance[Buffer]
+                       self.pointer = value.val.to_cstring
+               else if static_type isa MClassType and static_type.mclass.kind == extern_kind then
+                       assert value isa PrimitiveInstance[Pointer] else print value.class_name
+                       self.pointer = value.val
+               else
+                       self.instance = value
+               end
+       end
+
+       # Get the content of this cell as an `Instance` of the `static_type`
+       #
+       # Opposite of `from_static_type`.
+       fun to_instance(static_type: MType, v: NaiveInterpreter): Instance
+       do
+               var name = static_type.name
+               if name == "Int" then
+                       return v.int_instance(self.int)
+               else if name == "Bool" then
+                       return if self.bool then
+                               v.true_instance
+                       else v.false_instance
+               else if name == "Char" then
+                       return v.char_instance(self.char)
+               else if name == "Byte" then
+                       return v.byte_instance(self.byte)
+               else if name == "Float" then
+                       return v.float_instance(self.float)
+               else if name == "NativeString" then
+                       return v.native_string_instance(self.native_string.to_s)
+               else if static_type isa MClassType and static_type.mclass.kind == extern_kind then
+                       # We tag it with the most precise known type
+                       var instance = new PrimitiveInstance[Pointer](static_type, self.pointer)
+                       v.init_instance_primitive instance
+                       return instance
+               else
+                       return self.instance
+               end
+       end
+end
+
+# Handle to foreign code library
+private extern class ForeignCodeLib
+       # Open and load the library at `path`
+       new dlopen(path: NativeString) `{
+               return dlopen(path, RTLD_LOCAL | RTLD_NOW);
+       `}
+
+       # Find the `ForeignCodeEntry` at `symbol_name`
+       fun dlsym(symbol_name: NativeString): ForeignCodeEntry `{
+               return dlsym(self, symbol_name);
+       `}
+end
+
+private fun dlerror: NativeString `{ return dlerror(); `}
+
+# Handle to an implementation function in a `ForeignCodeLib`
+private extern class ForeignCodeEntry`{ nit_foreign_lib_entry `}
+
+       # Invoke the implementation function by passing `args` and receive the return value
+       fun call(argc: Int, args, ret: CallArg): Bool `{
+               return ((nit_foreign_lib_entry)self)(argc, args, ret);
+       `}
+end
+
+redef class AMethPropdef
+       # Handle to the entrypoint of this method in the foreign code library
+       private var foreign_entry_cache: nullable ForeignCodeEntry = null
+
+       redef fun call_extern(v, mpropdef, args, frame)
+       do
+               # Fallback the default error if this method is not supported
+               if not supported_by_dynamic_ffi then return super
+
+               var entry = foreign_entry_cache
+               if entry == null then
+                       # Get handle to foreign code lib
+                       var amodule = v.modelbuilder.mmodule2node(mpropdef.mclassdef.mmodule)
+                       assert amodule != null
+
+                       var lib = amodule.foreign_code_lib(v)
+                       if lib == null then return v.error_instance
+
+                       # Get handle to implementation function
+                       entry = lib.dlsym(mpropdef.foreign_lib_entry_cname.to_cstring)
+                       if entry.address_is_null then
+                               print mpropdef.foreign_lib_entry_cname
+                               v.fatal "FFI Error: Cannot find method {mpropdef.name} in foreign code library."
+                               return v.error_instance
+                       end
+
+                       foreign_entry_cache = entry
+               end
+
+               # Prepare to send args to foreign code lib
+               var is_init = mpropdef.mproperty.is_init
+               if is_init then args.shift
+               var native_args_length = args.length
+
+               var native_args = new CallArg(args.length)
+               var a = 0
+               if not is_init then
+                       var arg = args[a]
+                       var native_arg = native_args[a]
+                       native_arg.from_static_type(arg, mpropdef.mclassdef.mclass.mclass_type)
+                       a += 1
+               end
+               for param in mpropdef.msignature.mparameters do
+                       var arg = args[a]
+                       var native_arg = native_args[a]
+                       native_arg.from_static_type(arg, param.mtype)
+                       a += 1
+               end
+
+               # Allocate memory for the return value
+               var native_return = new CallArg(1)
+               var error = entry.call(native_args_length, native_args, native_return)
+
+               if error then
+                       v.fatal "FFI Error: Native code library reported an error"
+                       return null
+               end
+
+               # Get the result
+               var return_mtype = mpropdef.msignature.return_mtype
+               if is_init then return_mtype = mpropdef.mclassdef.mclass.mclass_type
+
+               var return_value
+               if return_mtype == null then
+                       return_value = null
+               else
+                       return_value = native_return.to_instance(return_mtype, v)
+               end
+
+               native_args.free
+               native_return.free
+
+               return return_value
+       end
+end
+
+redef class AModule
+
+       private var foreign_code_lib_cache: nullable ForeignCodeLib = null
+
+       # Handle to the external library with FFI code
+       private fun foreign_code_lib(v: NaiveInterpreter): nullable ForeignCodeLib
+       do
+               var lib = foreign_code_lib_cache
+               if lib != null then return lib
+
+               var mmodule = mmodule
+               assert mmodule != null
+
+               var foreign_code_lib_path = v.foreign_code_lib_path(mmodule)
+
+               # Compile lib
+               compile_foreign_lib v
+
+               lib = new ForeignCodeLib.dlopen(foreign_code_lib_path.to_cstring)
+               if lib.address_is_null then
+                       v.fatal "FFI Error: Cannot load foreign code library for {mmodule.name}: {dlerror.to_s}"
+                       return null
+               end
+
+               foreign_code_lib_cache = lib
+               return lib
+       end
+end
diff --git a/src/interpreter/dynamic_loading_ffi/on_demand_compiler.nit b/src/interpreter/dynamic_loading_ffi/on_demand_compiler.nit
new file mode 100644 (file)
index 0000000..f9c8fb5
--- /dev/null
@@ -0,0 +1,366 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Compiles extern code within a module to a static library, as needed
+module on_demand_compiler
+
+import modelbuilder
+import c_tools
+import nitni
+import ffi
+import naive_interpreter
+
+redef class AMethPropdef
+       # Does this method definition use the FFI and is it supported by the interpreter?
+       #
+       # * Must use the nested foreign code block of the FFI.
+       # * Must not have callbacks.
+       # * Must be implemented in C.
+       fun supported_by_dynamic_ffi: Bool
+       do
+               var n_extern_code_block = n_extern_code_block
+               if not (n_extern_calls == null and n_extern_code_block != null and
+                       n_extern_code_block.is_c) then return false
+
+               for mparam in mpropdef.msignature.mparameters do
+                       var mtype = mparam.mtype
+                       if not mtype.is_cprimitive then
+                               return false
+                       end
+               end
+
+               return true
+       end
+end
+
+redef class NaiveInterpreter
+       # Where to store generated C and extracted code
+       #
+       # TODO make customizable and delete when execution completes
+       private var compile_dir = "nit_compile"
+
+       # Path of the compiled foreign code library
+       #
+       # TODO change the ".so" extension per platform.
+       fun foreign_code_lib_path(mmodule: MModule): String
+       do
+               return compile_dir / mmodule.c_name + ".so"
+       end
+
+       # External compiler used to generate the foreign code library
+       private var c_compiler = "gcc"
+end
+
+redef class AModule
+
+       # Compile user FFI code and a standardized API into a `.so` file
+       #
+       # Returns `true` on success.
+       fun compile_foreign_lib(v: NaiveInterpreter): Bool
+       do
+               var mmodule = mmodule
+               assert mmodule != null
+
+               var compile_dir = v.compile_dir
+               var foreign_code_lib_path = v.foreign_code_lib_path(mmodule)
+
+               compile_dir.mkdir
+
+               # Compile the common FFI part
+               ensure_compile_ffi_wrapper
+               for mclassdef in mmodule.mclassdefs do for mpropdef in mclassdef.mpropdefs do
+                       var anode = v.modelbuilder.mpropdef2node(mpropdef)
+                       if mpropdef isa MMethodDef and anode isa AMethPropdef and anode.supported_by_dynamic_ffi then
+                               anode.compile_ffi_method(mmodule)
+                       end
+               end
+               mmodule.finalize_ffi_wrapper(compile_dir, mmodule)
+
+               # Compile the standard API and its implementation for the .so file
+               var ccu = compile_foreign_lib_api(compile_dir)
+
+               var srcs = [for file in ccu.files do new ExternCFile(file, ""): ExternFile]
+               srcs.add_all mmodule.ffi_files
+
+               if mmodule.pkgconfigs.not_empty then
+                       fatal(v, "NOT YET IMPLEMENTED annotation `pkgconfig`")
+                       return false
+               end
+
+               var ldflags = mmodule.ldflags[""].join(" ")
+               # TODO pkgconfig
+
+               # Compile each source file to an object file (or equivalent)
+               var object_files = new Array[String]
+               for f in srcs do
+                       f.compile(v, mmodule, object_files)
+               end
+
+               # Link everything in a shared library
+               # TODO customize the compiler
+               var cmd = "{v.c_compiler} -Wall -shared -Wl,-soname,{mmodule.name}.so -g -o {foreign_code_lib_path} {object_files.join(" ")} {ldflags}"
+               if sys.system(cmd) != 0 then
+                       v.fatal "FFI Error: Failed to link native code using `{cmd}`"
+                       return false
+               end
+
+               return true
+       end
+
+       # Compile the standard API of the `.so` file
+       #
+       # * The shared structure `nit_call_arg`.
+       # * Standardized implementation functions entrypoints that relay calls
+       #   to the FFI implementation functions.
+       private fun compile_foreign_lib_api(compdir: String): CCompilationUnit
+       do
+               var mmodule = mmodule
+               assert mmodule != null
+
+               # ready extern code compiler
+               var ecc = new CCompilationUnit
+
+               ecc.body_decl.add """
+
+#include <string.h>
+#include <stdio.h>
+#include <inttypes.h>
+
+// C structure behind `CallArg` from the interpreter
+typedef union nit_call_arg {
+       long value_Int;
+       int value_Bool;
+       uint32_t value_Char;
+       uint8_t value_Byte;
+       double value_Float;
+       void* value_Pointer;
+} nit_call_arg;
+
+"""
+
+               # types
+               var used_types = collect_mtypes
+               for t in used_types do
+                       if not t.is_cprimitive then
+                               ecc.header_c_types.add "typedef void* {t.cname};\n"
+                       end
+               end
+
+               # TODO callbacks & casts
+
+               for nclassdef in n_classdefs do for npropdef in nclassdef.n_propdefs do
+                       if npropdef isa AMethPropdef and npropdef.supported_by_dynamic_ffi then
+                               npropdef.mpropdef.compile_foreign_code_entry ecc
+                       end
+               end
+
+               ecc.write_as_foreign_lib_api(mmodule, compdir)
+
+               return ecc
+       end
+
+       # Collect all `MType` use in extern methods within this module
+       private fun collect_mtypes: Set[MType]
+       do
+               var used_types = new HashSet[MType]
+
+               # collect callbacks
+               for nclassdef in n_classdefs do for npropdef in nclassdef.n_propdefs do
+                       if npropdef isa AMethPropdef and npropdef.supported_by_dynamic_ffi then
+                               var fcs = npropdef.foreign_callbacks
+                               used_types.add_all fcs.types
+                       end
+               end
+
+               return used_types
+       end
+end
+
+redef class CCompilationUnit
+       # Write this compilation unit as the API of a foreign code library
+       private fun write_as_foreign_lib_api(mmodule: MModule, compdir: String)
+       do
+               # The FFI expects the support header to end with `._nitni.h`
+               var base_name = mmodule.c_name + "._nitni"
+               var guard = mmodule.c_name.to_s.to_upper + "_API_H"
+               var header_comment = """
+/*
+       Public API to foreign code of the Nit module {{{mmodule.name}}}
+*/
+"""
+
+               # Header file
+               var h_file = base_name+".h"
+               var stream = new FileWriter.open(compdir/h_file)
+               stream.write header_comment
+               stream.write """
+#ifndef {{{guard}}}
+#define {{{guard}}}
+"""
+               compile_header_core stream
+               stream.write """
+
+#endif
+"""
+               stream.close
+
+               # Body file
+               var c_file = base_name+".c"
+               stream = new FileWriter.open(compdir/c_file)
+               stream.write header_comment
+               stream.write """
+#include "{{{h_file}}}"
+"""
+               compile_body_core stream
+               stream.close
+
+               # Only the C files needs compiling
+               files.add compdir / c_file
+       end
+end
+
+redef class MMethodDef
+       # Name of the entry point to the implementation function in the foreign lib
+       fun foreign_lib_entry_cname: String do return "entry__{cname}"
+
+       # Compile the standardized entry point as part of the foreign lib API
+       private fun compile_foreign_code_entry(ecc: CCompilationUnit)
+       do
+               var msignature = msignature
+               if msignature == null then return
+
+               # Return type
+               var return_mtype = msignature.return_mtype
+               if mproperty.is_init then return_mtype = mclassdef.mclass.mclass_type
+
+               var c_return_type
+               if return_mtype != null then
+                       c_return_type = return_mtype.cname_blind
+               else c_return_type = "void"
+
+               var is_init = mproperty.is_init
+
+               # Params
+               var params = new Array[String]
+               if not is_init then params.add mclassdef.mclass.mclass_type.cname_blind
+               for param in msignature.mparameters do params.add param.mtype.cname_blind
+
+               # Declare the implementation function as extern
+               var impl_cname = mproperty.build_cname(mclassdef.mclass.mclass_type,
+                       mclassdef.mmodule, "___impl", long_signature)
+               ecc.body_decl.add "extern {c_return_type} {impl_cname}({params.join(", ")});\n"
+
+               # Declare the entry function
+               var foreign_lib_entry_cname = "int {foreign_lib_entry_cname}(int argc, nit_call_arg *argv, nit_call_arg *result)"
+               var fc = new CFunction(foreign_lib_entry_cname)
+
+               # Check argument count on the library side
+               #
+               # This may detect inconsistencies between the interpreter and the generated code.
+               var expected_argc = msignature.arity
+               if not is_init then expected_argc += 1
+
+               fc.exprs.add """
+       if (argc != {{{expected_argc}}}) {
+               printf("Invalid argument count in `{{{mproperty.full_name}}}`, expected %d, got %d.\\n",
+                       argc, {{{expected_argc}}});
+               return 1;
+       }
+"""
+
+               # Unpack and prepare args for the user code
+               var k = 0
+               var args_for_call = new Array[String]
+               if not is_init then
+                       var mtype = mclassdef.mclass.mclass_type
+                       var arg_name = "arg___self"
+
+                       fc.decls.add "  {mtype.cname_blind} {arg_name};\n"
+                       fc.exprs.add "  {arg_name} = argv[{k}].{mtype.call_arg_field};\n"
+                       args_for_call.add arg_name
+
+                       k += 1
+               end
+               for param in msignature.mparameters do
+                       var mtype = param.mtype
+                       var arg_name = "arg__"+param.name
+
+                       fc.decls.add "  {mtype.cname_blind} {arg_name};\n"
+                       fc.exprs.add "  {arg_name} = argv[{k}].{mtype.call_arg_field};\n"
+                       args_for_call.add arg_name
+
+                       k += 1
+               end
+
+               # Call implementation function
+               var args_compressed = args_for_call.join(", ")
+               var method_call = "{impl_cname}({args_compressed})"
+               if return_mtype != null then
+                       fc.decls.add """
+       {{{return_mtype.cname_blind}}} return_value;
+"""
+                       fc.exprs.add """
+       return_value = {{{method_call}}};
+       result->{{{return_mtype.call_arg_field}}} = return_value;
+"""
+               else
+                       fc.exprs.add "  {method_call};\n"
+               end
+
+               fc.exprs.add "  return 0;\n"
+
+               ecc.add_exported_function fc
+       end
+end
+
+redef class MType
+       # The interpreter FFI use `void*` to represent intern data types
+       redef fun cname_blind do return "void*"
+
+       # Field to store this type in the C structure `nit_call_arg`
+       private fun call_arg_field: String do return "value_Pointer"
+end
+
+redef class MClassType
+       redef fun call_arg_field
+       do
+               if is_cprimitive and mclass.kind != extern_kind then
+                       return "value_{name}"
+               else return super
+       end
+end
+
+redef class ExternFile
+       # Compile this source file
+       private fun compile(v: NaiveInterpreter, mmodule: MModule,
+               object_files: Array[String]): Bool is abstract
+end
+
+redef class ExternCFile
+       redef fun compile(v, mmodule, object_files)
+       do
+               var compile_dir = v.compile_dir
+               var cflags = mmodule.cflags[""].join(" ")
+               var obj = compile_dir / filename.basename(".c") + ".o"
+
+               var cmd = "{v.c_compiler} -Wall -c -fPIC -I {compile_dir} -g -o {obj} {filename} {cflags}"
+               if sys.system(cmd) != 0 then
+                        v.fatal "FFI Error: Failed to compile C code using `{cmd}`"
+                        return false
+               end
+
+               object_files.add obj
+               return true
+       end
+end
index 2063760..ed2d460 100644 (file)
@@ -18,3 +18,4 @@ module interpreter
 import naive_interpreter
 import debugger
 import debugger_socket
+import dynamic_loading_ffi
index 53f2f41..e36de7a 100644 (file)
@@ -800,13 +800,21 @@ redef class AMethPropdef
                if mpropdef.is_intern then
                        fatal(v, "NOT YET IMPLEMENTED intern {mpropdef}")
                else if mpropdef.is_extern then
-                       fatal(v, "NOT YET IMPLEMENTED extern {mpropdef}")
+                       var res = call_extern(v, mpropdef, arguments, f)
+                       if res != v.error_instance then return res
                else
                        fatal(v, "NOT YET IMPLEMENTED <wat?> {mpropdef}")
                end
                abort
        end
 
+       # Call this extern method
+       protected fun call_extern(v: NaiveInterpreter, mpropdef: MMethodDef, arguments: Array[Instance], f: Frame): nullable Instance
+       do
+               fatal(v, "NOT YET IMPLEMENTED extern {mpropdef}")
+               return v.error_instance
+       end
+
        # Interprets a intern or a shortcut extern method.
        # Returns the result for a function, `null` for a procedure, or `error_instance` if the method is unknown.
        private fun intern_call(v: NaiveInterpreter, mpropdef: MMethodDef, args: Array[Instance]): nullable Instance
index 23c72d8..a64c3df 100644 (file)
@@ -82,7 +82,7 @@ redef class MType
        #
        #   type Object is_primitive? false
        #   type Pointer is_primitive? true
-       fun is_cprimitive: Bool is abstract
+       fun is_cprimitive: Bool do return false
 end
 
 redef class MClassType
@@ -127,7 +127,6 @@ end
 redef class MNullableType
        redef fun cname do return mangled_cname
        redef fun mangled_cname do return "nullable_{mtype.mangled_cname}"
-       redef fun is_cprimitive do return false
 end
 
 redef class MVirtualType
index a89798f..05e2332 100644 (file)
@@ -524,31 +524,42 @@ redef class ANode
        end
 end
 
+redef class AExpr
+       # Make the `mtype` of the expression live
+       # Used by literals and instantiations
+       fun allocate_mtype(v: RapidTypeVisitor)
+       do
+               var mtype = self.mtype
+               if not mtype isa MClassType then return
+               v.add_type(self.mtype.as(MClassType))
+       end
+end
+
 redef class AIntExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
 redef class AByteExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
 redef class AFloatExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
 redef class ACharExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
@@ -597,7 +608,8 @@ end
 redef class ACrangeExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               var mtype = self.mtype.as(MClassType)
+               var mtype = self.mtype
+               if not mtype isa MClassType then return
                v.add_type(mtype)
                v.add_callsite(init_callsite)
        end
@@ -606,7 +618,8 @@ end
 redef class AOrangeExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               var mtype = self.mtype.as(MClassType)
+               var mtype = self.mtype
+               if not mtype isa MClassType then return
                v.add_type(mtype)
                v.add_callsite(init_callsite)
        end
@@ -615,28 +628,32 @@ end
 redef class ATrueExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
 redef class AFalseExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_type(self.mtype.as(MClassType))
+               allocate_mtype(v)
        end
 end
 
 redef class AIsaExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_cast_type(self.cast_type.as(not null))
+               var cast_type = self.cast_type
+               if cast_type == null then return
+               v.add_cast_type(cast_type)
        end
 end
 
 redef class AAsCastExpr
        redef fun accept_rapid_type_visitor(v)
        do
-               v.add_cast_type(self.mtype.as(not null))
+               var mtype = self.mtype
+               if mtype == null then return
+               v.add_cast_type(mtype)
        end
 end
 
index 8196aeb..4468d91 100644 (file)
@@ -574,16 +574,18 @@ end
 #
 # On some Linux systems `bash_completion` allow the program to control command line behaviour.
 #
-#      $ nitls [TAB][TAB]
-#      file1.nit              file2.nit              file3.nit
+# ~~~sh
+# $ nitls [TAB][TAB]
+# file1.nit              file2.nit              file3.nit
 #
-#      $ nitls --[TAB][TAB]
-#      --bash-toolname        --keep                 --path                 --tree
-#      --depends              --log                  --project              --verbose
-#      --disable-phase        --log-dir              --quiet                --version
-#      --gen-bash-completion  --no-color             --recursive            --warn
-#      --help                 --only-metamodel       --source
-#      --ignore-visibility    --only-parse           --stop-on-first-error
+# $ nitls --[TAB][TAB]
+# --bash-toolname        --keep                 --path                 --tree
+# --depends              --log                  --project              --verbose
+# --disable-phase        --log-dir              --quiet                --version
+# --gen-bash-completion  --no-color             --recursive            --warn
+# --help                 --only-metamodel       --source
+# --ignore-visibility    --only-parse           --stop-on-first-error
+# ~~~
 #
 # Generated file can be placed in system bash_completion directory `/etc/bash_completion.d/`
 # or source it in `~/.bash_completion`.
diff --git a/tests/base_dead_code.nit b/tests/base_dead_code.nit
new file mode 100644 (file)
index 0000000..25f6d9e
--- /dev/null
@@ -0,0 +1,39 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+0.output
+var x = null
+for i in [0..2[ do
+       if x != null then
+               # This is dead code
+               x.output
+               x.first.output
+               x.as(String).output
+               x.as not null.output
+               true.output
+               false.output
+               1.output
+               1u8.output
+               '1'.output
+               "1".output
+               [1].output
+               [0..1].output
+               for j in x do j.output
+               x = x.as(String)
+               assert x isa String
+       end
+       #alt1#x = [1]
+       #alt2#x = 1
+end
+1.output
index 3a01e25..c8ef400 100644 (file)
@@ -18,3 +18,6 @@
 #alt1# module error_annot_pkgconfig_alt1 is pkgconfig("missing-lib")
 #alt2# module error_annot_pkgconfig_alt2 is pkgconfig("too many args", 123)
 #alt3# module error_annot_pkgconfig_alt3 is pkgconfig(1234) # not a string
+
+fun foo `{ `}
+foo
index 42fe68f..c0428ae 100644 (file)
@@ -6,3 +6,4 @@ show_basedir
 langannot
 loops_infinite
 read_entire_file
+letter_frequency
diff --git a/tests/factorial.inputs b/tests/factorial.inputs
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
index 0d0961d..c490ae2 100644 (file)
@@ -1,14 +1,6 @@
-nitc
-nitdoc
-nitlight
-neo_doxygen_descriptions
-neo_doxygen_doc_module_class
-neo_doxygen_dump
-neo_doxygen_file_compound
-neo_doxygen_graph_empty_project
-neo_doxygen_member_resolve_introducer
-neo_doxygen_namespace_members
+^neo_doxygen
 test_docdown
-nith
-nitpretty
-nitmetrics
+test_neo
+test_phase
+test_parser
+^nit
index 61b016a..dbf3555 100644 (file)
@@ -20,3 +20,9 @@ hamming_number
 hailstone
 nitls_args
 nituml_args
+count_the_coins
+semordnilap_args1
+mpi_simple
+blink
+input
+first_letter_last_letter
index 61b016a..dbf3555 100644 (file)
@@ -20,3 +20,9 @@ hamming_number
 hailstone
 nitls_args
 nituml_args
+count_the_coins
+semordnilap_args1
+mpi_simple
+blink
+input
+first_letter_last_letter
diff --git a/tests/perfect_numbers.inputs b/tests/perfect_numbers.inputs
new file mode 100644 (file)
index 0000000..62f9457
--- /dev/null
@@ -0,0 +1 @@
+6
\ No newline at end of file
diff --git a/tests/sav/arithmetic_mode.res b/tests/sav/arithmetic_mode.res
new file mode 100644 (file)
index 0000000..290a7d5
--- /dev/null
@@ -0,0 +1,4 @@
+6
+1
+6
+1
diff --git a/tests/sav/base_dead_code.res b/tests/sav/base_dead_code.res
new file mode 100644 (file)
index 0000000..0d66ea1
--- /dev/null
@@ -0,0 +1,2 @@
+0
+1
diff --git a/tests/sav/base_dead_code_alt1.res b/tests/sav/base_dead_code_alt1.res
new file mode 100644 (file)
index 0000000..a1a33da
--- /dev/null
@@ -0,0 +1,6 @@
+alt/base_dead_code_alt1.nit:23,3: Warning: expression is not null, since it is a `Array[Int]`.
+alt/base_dead_code_alt1.nit:34,10--21: Warning: expression is already a `String`.
+Runtime error: Cast failed. Expected `String`, got `Array[Int]` (alt/base_dead_code_alt1.nit:22)
+0
+1
+1
diff --git a/tests/sav/base_dead_code_alt2.res b/tests/sav/base_dead_code_alt2.res
new file mode 100644 (file)
index 0000000..1537f14
--- /dev/null
@@ -0,0 +1,5 @@
+alt/base_dead_code_alt2.nit:21,5--9: Error: method `first` does not exists in `Int`.
+alt/base_dead_code_alt2.nit:23,3: Warning: expression is not null, since it is a `Int`.
+alt/base_dead_code_alt2.nit:32,3--24: Error: method `iterator` does not exists in `Int`.
+alt/base_dead_code_alt2.nit:32,3--24: Type Error: `for` expects a type providing an `iterator` method, got `Int`.
+alt/base_dead_code_alt2.nit:34,10--21: Warning: expression is already a `String`.
diff --git a/tests/sav/bottles_of_beer.res b/tests/sav/bottles_of_beer.res
new file mode 100644 (file)
index 0000000..d7b55b3
--- /dev/null
@@ -0,0 +1,495 @@
+99 bottles of beer on the wall
+99 bottles of beer
+Take one down, pass it around
+98 bottles of beer on the wall
+
+98 bottles of beer on the wall
+98 bottles of beer
+Take one down, pass it around
+97 bottles of beer on the wall
+
+97 bottles of beer on the wall
+97 bottles of beer
+Take one down, pass it around
+96 bottles of beer on the wall
+
+96 bottles of beer on the wall
+96 bottles of beer
+Take one down, pass it around
+95 bottles of beer on the wall
+
+95 bottles of beer on the wall
+95 bottles of beer
+Take one down, pass it around
+94 bottles of beer on the wall
+
+94 bottles of beer on the wall
+94 bottles of beer
+Take one down, pass it around
+93 bottles of beer on the wall
+
+93 bottles of beer on the wall
+93 bottles of beer
+Take one down, pass it around
+92 bottles of beer on the wall
+
+92 bottles of beer on the wall
+92 bottles of beer
+Take one down, pass it around
+91 bottles of beer on the wall
+
+91 bottles of beer on the wall
+91 bottles of beer
+Take one down, pass it around
+90 bottles of beer on the wall
+
+90 bottles of beer on the wall
+90 bottles of beer
+Take one down, pass it around
+89 bottles of beer on the wall
+
+89 bottles of beer on the wall
+89 bottles of beer
+Take one down, pass it around
+88 bottles of beer on the wall
+
+88 bottles of beer on the wall
+88 bottles of beer
+Take one down, pass it around
+87 bottles of beer on the wall
+
+87 bottles of beer on the wall
+87 bottles of beer
+Take one down, pass it around
+86 bottles of beer on the wall
+
+86 bottles of beer on the wall
+86 bottles of beer
+Take one down, pass it around
+85 bottles of beer on the wall
+
+85 bottles of beer on the wall
+85 bottles of beer
+Take one down, pass it around
+84 bottles of beer on the wall
+
+84 bottles of beer on the wall
+84 bottles of beer
+Take one down, pass it around
+83 bottles of beer on the wall
+
+83 bottles of beer on the wall
+83 bottles of beer
+Take one down, pass it around
+82 bottles of beer on the wall
+
+82 bottles of beer on the wall
+82 bottles of beer
+Take one down, pass it around
+81 bottles of beer on the wall
+
+81 bottles of beer on the wall
+81 bottles of beer
+Take one down, pass it around
+80 bottles of beer on the wall
+
+80 bottles of beer on the wall
+80 bottles of beer
+Take one down, pass it around
+79 bottles of beer on the wall
+
+79 bottles of beer on the wall
+79 bottles of beer
+Take one down, pass it around
+78 bottles of beer on the wall
+
+78 bottles of beer on the wall
+78 bottles of beer
+Take one down, pass it around
+77 bottles of beer on the wall
+
+77 bottles of beer on the wall
+77 bottles of beer
+Take one down, pass it around
+76 bottles of beer on the wall
+
+76 bottles of beer on the wall
+76 bottles of beer
+Take one down, pass it around
+75 bottles of beer on the wall
+
+75 bottles of beer on the wall
+75 bottles of beer
+Take one down, pass it around
+74 bottles of beer on the wall
+
+74 bottles of beer on the wall
+74 bottles of beer
+Take one down, pass it around
+73 bottles of beer on the wall
+
+73 bottles of beer on the wall
+73 bottles of beer
+Take one down, pass it around
+72 bottles of beer on the wall
+
+72 bottles of beer on the wall
+72 bottles of beer
+Take one down, pass it around
+71 bottles of beer on the wall
+
+71 bottles of beer on the wall
+71 bottles of beer
+Take one down, pass it around
+70 bottles of beer on the wall
+
+70 bottles of beer on the wall
+70 bottles of beer
+Take one down, pass it around
+69 bottles of beer on the wall
+
+69 bottles of beer on the wall
+69 bottles of beer
+Take one down, pass it around
+68 bottles of beer on the wall
+
+68 bottles of beer on the wall
+68 bottles of beer
+Take one down, pass it around
+67 bottles of beer on the wall
+
+67 bottles of beer on the wall
+67 bottles of beer
+Take one down, pass it around
+66 bottles of beer on the wall
+
+66 bottles of beer on the wall
+66 bottles of beer
+Take one down, pass it around
+65 bottles of beer on the wall
+
+65 bottles of beer on the wall
+65 bottles of beer
+Take one down, pass it around
+64 bottles of beer on the wall
+
+64 bottles of beer on the wall
+64 bottles of beer
+Take one down, pass it around
+63 bottles of beer on the wall
+
+63 bottles of beer on the wall
+63 bottles of beer
+Take one down, pass it around
+62 bottles of beer on the wall
+
+62 bottles of beer on the wall
+62 bottles of beer
+Take one down, pass it around
+61 bottles of beer on the wall
+
+61 bottles of beer on the wall
+61 bottles of beer
+Take one down, pass it around
+60 bottles of beer on the wall
+
+60 bottles of beer on the wall
+60 bottles of beer
+Take one down, pass it around
+59 bottles of beer on the wall
+
+59 bottles of beer on the wall
+59 bottles of beer
+Take one down, pass it around
+58 bottles of beer on the wall
+
+58 bottles of beer on the wall
+58 bottles of beer
+Take one down, pass it around
+57 bottles of beer on the wall
+
+57 bottles of beer on the wall
+57 bottles of beer
+Take one down, pass it around
+56 bottles of beer on the wall
+
+56 bottles of beer on the wall
+56 bottles of beer
+Take one down, pass it around
+55 bottles of beer on the wall
+
+55 bottles of beer on the wall
+55 bottles of beer
+Take one down, pass it around
+54 bottles of beer on the wall
+
+54 bottles of beer on the wall
+54 bottles of beer
+Take one down, pass it around
+53 bottles of beer on the wall
+
+53 bottles of beer on the wall
+53 bottles of beer
+Take one down, pass it around
+52 bottles of beer on the wall
+
+52 bottles of beer on the wall
+52 bottles of beer
+Take one down, pass it around
+51 bottles of beer on the wall
+
+51 bottles of beer on the wall
+51 bottles of beer
+Take one down, pass it around
+50 bottles of beer on the wall
+
+50 bottles of beer on the wall
+50 bottles of beer
+Take one down, pass it around
+49 bottles of beer on the wall
+
+49 bottles of beer on the wall
+49 bottles of beer
+Take one down, pass it around
+48 bottles of beer on the wall
+
+48 bottles of beer on the wall
+48 bottles of beer
+Take one down, pass it around
+47 bottles of beer on the wall
+
+47 bottles of beer on the wall
+47 bottles of beer
+Take one down, pass it around
+46 bottles of beer on the wall
+
+46 bottles of beer on the wall
+46 bottles of beer
+Take one down, pass it around
+45 bottles of beer on the wall
+
+45 bottles of beer on the wall
+45 bottles of beer
+Take one down, pass it around
+44 bottles of beer on the wall
+
+44 bottles of beer on the wall
+44 bottles of beer
+Take one down, pass it around
+43 bottles of beer on the wall
+
+43 bottles of beer on the wall
+43 bottles of beer
+Take one down, pass it around
+42 bottles of beer on the wall
+
+42 bottles of beer on the wall
+42 bottles of beer
+Take one down, pass it around
+41 bottles of beer on the wall
+
+41 bottles of beer on the wall
+41 bottles of beer
+Take one down, pass it around
+40 bottles of beer on the wall
+
+40 bottles of beer on the wall
+40 bottles of beer
+Take one down, pass it around
+39 bottles of beer on the wall
+
+39 bottles of beer on the wall
+39 bottles of beer
+Take one down, pass it around
+38 bottles of beer on the wall
+
+38 bottles of beer on the wall
+38 bottles of beer
+Take one down, pass it around
+37 bottles of beer on the wall
+
+37 bottles of beer on the wall
+37 bottles of beer
+Take one down, pass it around
+36 bottles of beer on the wall
+
+36 bottles of beer on the wall
+36 bottles of beer
+Take one down, pass it around
+35 bottles of beer on the wall
+
+35 bottles of beer on the wall
+35 bottles of beer
+Take one down, pass it around
+34 bottles of beer on the wall
+
+34 bottles of beer on the wall
+34 bottles of beer
+Take one down, pass it around
+33 bottles of beer on the wall
+
+33 bottles of beer on the wall
+33 bottles of beer
+Take one down, pass it around
+32 bottles of beer on the wall
+
+32 bottles of beer on the wall
+32 bottles of beer
+Take one down, pass it around
+31 bottles of beer on the wall
+
+31 bottles of beer on the wall
+31 bottles of beer
+Take one down, pass it around
+30 bottles of beer on the wall
+
+30 bottles of beer on the wall
+30 bottles of beer
+Take one down, pass it around
+29 bottles of beer on the wall
+
+29 bottles of beer on the wall
+29 bottles of beer
+Take one down, pass it around
+28 bottles of beer on the wall
+
+28 bottles of beer on the wall
+28 bottles of beer
+Take one down, pass it around
+27 bottles of beer on the wall
+
+27 bottles of beer on the wall
+27 bottles of beer
+Take one down, pass it around
+26 bottles of beer on the wall
+
+26 bottles of beer on the wall
+26 bottles of beer
+Take one down, pass it around
+25 bottles of beer on the wall
+
+25 bottles of beer on the wall
+25 bottles of beer
+Take one down, pass it around
+24 bottles of beer on the wall
+
+24 bottles of beer on the wall
+24 bottles of beer
+Take one down, pass it around
+23 bottles of beer on the wall
+
+23 bottles of beer on the wall
+23 bottles of beer
+Take one down, pass it around
+22 bottles of beer on the wall
+
+22 bottles of beer on the wall
+22 bottles of beer
+Take one down, pass it around
+21 bottles of beer on the wall
+
+21 bottles of beer on the wall
+21 bottles of beer
+Take one down, pass it around
+20 bottles of beer on the wall
+
+20 bottles of beer on the wall
+20 bottles of beer
+Take one down, pass it around
+19 bottles of beer on the wall
+
+19 bottles of beer on the wall
+19 bottles of beer
+Take one down, pass it around
+18 bottles of beer on the wall
+
+18 bottles of beer on the wall
+18 bottles of beer
+Take one down, pass it around
+17 bottles of beer on the wall
+
+17 bottles of beer on the wall
+17 bottles of beer
+Take one down, pass it around
+16 bottles of beer on the wall
+
+16 bottles of beer on the wall
+16 bottles of beer
+Take one down, pass it around
+15 bottles of beer on the wall
+
+15 bottles of beer on the wall
+15 bottles of beer
+Take one down, pass it around
+14 bottles of beer on the wall
+
+14 bottles of beer on the wall
+14 bottles of beer
+Take one down, pass it around
+13 bottles of beer on the wall
+
+13 bottles of beer on the wall
+13 bottles of beer
+Take one down, pass it around
+12 bottles of beer on the wall
+
+12 bottles of beer on the wall
+12 bottles of beer
+Take one down, pass it around
+11 bottles of beer on the wall
+
+11 bottles of beer on the wall
+11 bottles of beer
+Take one down, pass it around
+10 bottles of beer on the wall
+
+10 bottles of beer on the wall
+10 bottles of beer
+Take one down, pass it around
+9 bottles of beer on the wall
+
+9 bottles of beer on the wall
+9 bottles of beer
+Take one down, pass it around
+8 bottles of beer on the wall
+
+8 bottles of beer on the wall
+8 bottles of beer
+Take one down, pass it around
+7 bottles of beer on the wall
+
+7 bottles of beer on the wall
+7 bottles of beer
+Take one down, pass it around
+6 bottles of beer on the wall
+
+6 bottles of beer on the wall
+6 bottles of beer
+Take one down, pass it around
+5 bottles of beer on the wall
+
+5 bottles of beer on the wall
+5 bottles of beer
+Take one down, pass it around
+4 bottles of beer on the wall
+
+4 bottles of beer on the wall
+4 bottles of beer
+Take one down, pass it around
+3 bottles of beer on the wall
+
+3 bottles of beer on the wall
+3 bottles of beer
+Take one down, pass it around
+2 bottles of beer on the wall
+
+2 bottles of beer on the wall
+2 bottles of beer
+Take one down, pass it around
+1 bottles of beer on the wall
+
+1 bottles of beer on the wall
+1 bottles of beer
+Take one down, pass it around
+0 bottles of beer on the wall
+
diff --git a/tests/sav/caesar_cipher.res b/tests/sav/caesar_cipher.res
new file mode 100644 (file)
index 0000000..b8e2662
--- /dev/null
@@ -0,0 +1,4 @@
+Caesar cypher key: 31
+plain text: Batman's hood is called a "cowl" (old meaning).
+cyphered: Gfyrfs'x mtti nx hfqqji f "htbq" (tqi rjfsnsl).
+uncyphered: Batman's hood is called a "cowl" (old meaning).
diff --git a/tests/sav/callback_chimpanze.res b/tests/sav/callback_chimpanze.res
deleted file mode 100644 (file)
index d677751..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Hum, I'm sleeping ...
-Hey, I'm awake.
diff --git a/tests/sav/catalan_numbers.res b/tests/sav/catalan_numbers.res
new file mode 100644 (file)
index 0000000..e54bab4
--- /dev/null
@@ -0,0 +1,10 @@
+0 = 1
+1 = 1
+2 = 2
+3 = 5
+4 = 14
+5 = 42
+6 = 132
+7 = 429
+8 = 1430
+9 = 4862
diff --git a/tests/sav/count_the_coins.res b/tests/sav/count_the_coins.res
new file mode 100644 (file)
index 0000000..605ef7f
--- /dev/null
@@ -0,0 +1,2 @@
+242
+13398445413854501
diff --git a/tests/sav/factorial.res b/tests/sav/factorial.res
new file mode 100644 (file)
index 0000000..52bd8e4
--- /dev/null
@@ -0,0 +1 @@
+120
diff --git a/tests/sav/first_letter_last_letter.res b/tests/sav/first_letter_last_letter.res
new file mode 100644 (file)
index 0000000..4fef812
--- /dev/null
@@ -0,0 +1,23 @@
+machamp
+petilil
+landorus
+scrafty
+yamask
+kricketune
+emboar
+registeel
+loudred
+darmanitan
+nosepass
+simisear
+relicanth
+heatmor
+rufflet
+trapinch
+haxorus
+seaking
+girafarig
+gabite
+exeggcute
+emolga
+audino
diff --git a/tests/sav/here_document.res b/tests/sav/here_document.res
new file mode 100644 (file)
index 0000000..a81dca1
--- /dev/null
@@ -0,0 +1,6 @@
+A here document (or "heredoc") is a way of specifying a text block,
+preserving the line breaks,
+indentation and other whitespace within the text.
+
+Nit borrows the triple-quoted string syntax from Python.
+
diff --git a/tests/sav/median.res b/tests/sav/median.res
new file mode 100644 (file)
index 0000000..c9c70e0
--- /dev/null
@@ -0,0 +1,4 @@
+null
+4.0
+3.5
+2.1
diff --git a/tests/sav/nitce/base_dead_code_alt1.res b/tests/sav/nitce/base_dead_code_alt1.res
new file mode 100644 (file)
index 0000000..4248087
--- /dev/null
@@ -0,0 +1,6 @@
+alt/base_dead_code_alt1.nit:23,3: Warning: expression is not null, since it is a `Array[Int]`.
+alt/base_dead_code_alt1.nit:34,10--21: Warning: expression is already a `String`.
+Runtime error: Cast failed. Expected `String`, got `Array` (alt/base_dead_code_alt1.nit:22)
+0
+1
+1
diff --git a/tests/sav/niti/ballz_android.res b/tests/sav/niti/ballz_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/complete_simple_android.res b/tests/sav/niti/complete_simple_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/dino_android.res b/tests/sav/niti/dino_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/error_annot_pkgconfig_alt1.res b/tests/sav/niti/error_annot_pkgconfig_alt1.res
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/sav/niti/error_annot_pkgconfig_alt2.res b/tests/sav/niti/error_annot_pkgconfig_alt2.res
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/sav/niti/error_annot_pkgconfig_alt3.res b/tests/sav/niti/error_annot_pkgconfig_alt3.res
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args1.res b/tests/sav/niti/fixme/neo_doxygen_dump_args1.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args2.res b/tests/sav/niti/fixme/neo_doxygen_dump_args2.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args3.res b/tests/sav/niti/fixme/neo_doxygen_dump_args3.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args4.res b/tests/sav/niti/fixme/neo_doxygen_dump_args4.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args5.res b/tests/sav/niti/fixme/neo_doxygen_dump_args5.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args6.res b/tests/sav/niti/fixme/neo_doxygen_dump_args6.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args7.res b/tests/sav/niti/fixme/neo_doxygen_dump_args7.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args8.res b/tests/sav/niti/fixme/neo_doxygen_dump_args8.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/neo_doxygen_dump_args9.res b/tests/sav/niti/fixme/neo_doxygen_dump_args9.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/nitdoc_args4.res b/tests/sav/niti/fixme/nitdoc_args4.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/nitiwiki_args1.res b/tests/sav/niti/fixme/nitiwiki_args1.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/nitiwiki_args2.res b/tests/sav/niti/fixme/nitiwiki_args2.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_binary.res b/tests/sav/niti/fixme/test_binary.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_binary_alt1.res b/tests/sav/niti/fixme/test_binary_alt1.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_binary_alt2.res b/tests/sav/niti/fixme/test_binary_alt2.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_binary_alt3.res b/tests/sav/niti/fixme/test_binary_alt3.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_c.res b/tests/sav/niti/fixme/test_c.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_jvm.res b/tests/sav/niti/fixme/test_jvm.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_jvm_alt1.res b/tests/sav/niti/fixme/test_jvm_alt1.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_jvm_alt2.res b/tests/sav/niti/fixme/test_jvm_alt2.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_jvm_alt3.res b/tests/sav/niti/fixme/test_jvm_alt3.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/fixme/test_jvm_alt4.res b/tests/sav/niti/fixme/test_jvm_alt4.res
new file mode 100644 (file)
index 0000000..4ad3dc3
--- /dev/null
@@ -0,0 +1 @@
+UNDEFINED
diff --git a/tests/sav/niti/moles_android.res b/tests/sav/niti/moles_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/shoot_android.res b/tests/sav/niti/shoot_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/simple_android.res b/tests/sav/niti/simple_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
diff --git a/tests/sav/niti/test_platform_android.res b/tests/sav/niti/test_platform_android.res
new file mode 100644 (file)
index 0000000..123fbb3
--- /dev/null
@@ -0,0 +1 @@
+../lib/android/platform.nit:18,20--37: Error: target platform `android` unknown.
index 3f5641d..3ed880e 100644 (file)
@@ -5,6 +5,6 @@ url: http://localhost/
 
 There is modified files:
  + pages
- + /pages/index.md
+ + pages/index.md
 
 Use nitiwiki --render to render modified files
index 38f9166..b229364 100644 (file)
@@ -1,7 +1,7 @@
 ../lib/standard/bytes.nit:51,7--19: Documentation warning: Undocumented property `with_capacity`
 ../lib/standard/bytes.nit:164,6--13: Documentation warning: Undocumented property `to_bytes`
 ../lib/standard/stream.nit:425,6--17: Documentation warning: Undocumented property `buffer_reset`
-../lib/standard/file.nit:444,6--19: Documentation warning: Undocumented property `read_all_bytes`
+../lib/standard/file.nit:445,6--19: Documentation warning: Undocumented property `read_all_bytes`
 test_advice_repeated_types.nit:36,15--20: Warning: useless type repetition on redefined attribute `_a`
 test_advice_repeated_types.nit:37,18--20: Warning: useless type repetition on parameter `b1` for redefined method `b`
 test_advice_repeated_types.nit:38,18--20: Warning: useless type repetition on parameter `c1` for redefined method `c`
diff --git a/tests/sav/perfect_numbers.res b/tests/sav/perfect_numbers.res
new file mode 100644 (file)
index 0000000..27ba77d
--- /dev/null
@@ -0,0 +1 @@
+true
diff --git a/tests/sav/pernicious_numbers.res b/tests/sav/pernicious_numbers.res
new file mode 100644 (file)
index 0000000..aa4ba41
--- /dev/null
@@ -0,0 +1,31 @@
+3
+5
+6
+7
+9
+10
+11
+12
+13
+14
+17
+18
+19
+20
+21
+22
+24
+25
+26
+28
+31
+33
+34
+35
+36
+888888877
+888888878
+888888880
+888888883
+888888885
+888888886
diff --git a/tests/sav/pick_random.res b/tests/sav/pick_random.res
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/tests/sav/semordnilap.res b/tests/sav/semordnilap.res
new file mode 100644 (file)
index 0000000..36b477f
--- /dev/null
@@ -0,0 +1 @@
+Usage: ./semordnilap file
diff --git a/tests/sav/semordnilap_args1.res b/tests/sav/semordnilap_args1.res
new file mode 100644 (file)
index 0000000..b4613ba
--- /dev/null
@@ -0,0 +1,6 @@
+Found 158 semordnilaps in ../examples/rosettacode/unixdict.txt
+able: elba
+abut: tuba
+ac: ca
+ah: ha
+al: la
diff --git a/tests/sav/symmetric_difference.res b/tests/sav/symmetric_difference.res
new file mode 100644 (file)
index 0000000..f275766
--- /dev/null
@@ -0,0 +1,4 @@
+Set A: John, Serena, Bob, Mary, Serena
+Set B: Jim, Mary, John, Jim, Bob
+Symmetric difference: Jim, Serena
+Symmetric difference: Jim, Serena
index d4bc55f..fc9141f 100644 (file)
@@ -1,6 +1,22 @@
 5
 5
 0
+5
+5
+0
+0
+5
+5
 0
 5
 5
+-1
+-1
+0x05
+0x05
+0x00
+0x05
+0x05
+0x00
+0xfa
+0xfa
index 21373ff..46d2ce4 100644 (file)
@@ -1998,8003 +1998,3 @@ Bonjour !
 Bonjour !
 Bonjour !
 Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
index 21373ff..46d2ce4 100644 (file)
@@ -1998,8003 +1998,3 @@ Bonjour !
 Bonjour !
 Bonjour !
 Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
-Bonjour !
diff --git a/tests/sav/visualize_a_tree.res b/tests/sav/visualize_a_tree.res
new file mode 100644 (file)
index 0000000..ec6dc94
--- /dev/null
@@ -0,0 +1,7 @@
+a
+|--ab
+|  `--abc
+`--ac
+   `--acd
+b
+`--bc
diff --git a/tests/sav/zigzag_matrix.res b/tests/sav/zigzag_matrix.res
new file mode 100644 (file)
index 0000000..3264ff7
--- /dev/null
@@ -0,0 +1,10 @@
+0  1  5  6  14 15 27 28 44 45 
+2  4  7  13 16 26 29 43 46 63 
+3  8  12 17 25 30 42 47 62 64 
+9  11 18 24 31 41 48 61 65 78 
+10 19 23 32 40 49 60 66 77 79 
+20 22 33 39 50 59 67 76 80 89 
+21 34 38 51 58 68 75 81 88 90 
+35 37 52 57 69 74 82 87 91 96 
+36 53 56 70 73 83 86 92 95 97 
+54 55 71 72 84 85 93 94 98 99 
index 6568463..2cf05ab 100755 (executable)
@@ -30,7 +30,7 @@ err=0
 moretests="base_compile.nit base_attr.nit base_gen.nit base_gen_reassign.nit"
 
 # Get the modified files
-git diff --name-only $from..$to -- "../*.nit" "*.res" > git_search_tests.out
+git diff --name-only $from..$to -- "../*.nit" "*.res" | grep -v zzz_test > git_search_tests.out
 
 # filter it trough ./search_tests.sh
 ./search_tests.sh $moretests `cat git_search_tests.out` 2> /dev/null | sort -u
diff --git a/tests/semordnilap.args b/tests/semordnilap.args
new file mode 100644 (file)
index 0000000..e2e2bb4
--- /dev/null
@@ -0,0 +1 @@
+../examples/rosettacode/unixdict.txt
index 3e78914..3661e49 100644 (file)
@@ -4,10 +4,32 @@ var b = 5
 print a.bin_and(b) # 5
 print a.bin_or(b)  # 5
 print a.bin_xor(b) # 0
+print a & b
+print a | b
+print a ^ b
 
 a = 0
 b = 5
 
 print a.bin_and(b) # 0
 print a.bin_or(b)  # 5
-print a.bin_xor(b) # 5
\ No newline at end of file
+print a.bin_xor(b) # 5
+print a & b
+print a | b
+print a ^ b
+
+print a.bin_not
+print ~a
+
+var c = 5u8
+var d = 5u8
+
+print c.bin_and(d) # 0
+print c.bin_or(d)  # 5
+print c.bin_xor(d) # 5
+print c & d
+print c | d
+print c ^ d
+
+print c.bin_not
+print ~c
index 55588e7..3eef039 100644 (file)
@@ -24,7 +24,7 @@ var r2: Buffer = new FlatBuffer
 #alt1 r2 = new RopeBuffer
 
 var i = 0
-while i < 5000 do
+while i < 1000 do
     var j = 0
     while j < s.length do
         r.add(s.chars[j])
index 95c06f5..99ec314 100755 (executable)
@@ -37,6 +37,25 @@ shopt -u nullglob
 outdir="out"
 compdir="nit_compile"
 
+# User CPU time limit (in seconds)
+# Is used to avoid to CPU intensive test (infinite loops). See ulimit -t
+usertimelimit=600 # 1 CPU minute
+
+# Real-time limit (in seconds)
+# Is used to avoid waiting or sleeping tests.
+# Require timeout or timelimit, or else is not used.
+realtimelimit=300 # 5 min
+
+# User limit for write files (in kilo-bytes)
+# Is used to avoid execution that loop and fill the hard drive. See ulimit -f
+# Note that a test might require a lot of temporary disk space (eg. nitc+gcc)
+filelimit=100000 # ~100MB
+
+# Limit (in bytes) for generated .res file.
+# Larger ones are truncated and will fail tests
+# Is used to avoid processing huge crappy res file (diff, xml, etc)
+reslimit=100000 # ~100KB
+
 usage()
 {
        e=`basename "$0"`
@@ -70,6 +89,9 @@ saferun()
                        *) stop=true
                esac
        done
+       (
+       ulimit -f "$filelimit"
+       ulimit -t "$usertimelimit"
        if test -d "$1"; then
                find $1 | sort
        elif test -n "$TIME"; then
@@ -78,6 +100,7 @@ saferun()
                if test -n "$a"; then echo 0 >> "$o"; else echo 0 > "$o"; fi
                $TIMEOUT "$@"
        fi
+       )
 }
 
 # Output a timestamp attribute for XML, or an empty line
@@ -95,9 +118,9 @@ timestamp()
 
 # Detect a working timeout
 if sh -c "timelimit echo" 1>/dev/null 2>&1; then
-       TIMEOUT="timelimit -t 600"
+       TIMEOUT="timelimit -t $realtimelimit"
 elif sh -c "timeout 1 echo" 1>/dev/null 2>&1; then
-       TIMEOUT="timeout 600s"
+       TIMEOUT="timeout ${realtimelimit}s"
 else
        echo "No timelimit or timeout command detected. Tests may hang :("
 fi
@@ -172,6 +195,15 @@ function process_result()
        OLD=""
        LIST=""
        FIRST=""
+
+       # Truncate too big res file
+       size=$(wc -c < "$outdir/$pattern.res")
+       if test -n "$reslimit" -a "$size" -gt "$reslimit"; then
+               # The most portable way to truncate a file is with Perl
+               perl -e "truncate \"$outdir/$pattern.res\", $reslimit;"
+               echo "***TRUNCATED***" >> "$outdir/$pattern.res"
+       fi
+
        echo >>$xml "<testcase classname='`xmlesc "$pack"`' name='`xmlesc "$description"`' time='`cat -- "$outdir/$pattern.time.out"`' `timestamp`>"
        #for sav in "sav/$engine/fixme/$pattern.res" "sav/$engine/$pattern.res" "sav/fixme/$pattern.res" "sav/$pattern.res" "sav/$pattern.sav"; do
        for savdir in $savdirs; do
diff --git a/tests/zzz_tests/zzz_test_filelimit.nit b/tests/zzz_tests/zzz_test_filelimit.nit
new file mode 100644 (file)
index 0000000..02d7075
--- /dev/null
@@ -0,0 +1,16 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+var f = new FileWriter.open("spam.out")
+loop f.write("SPAM\n")
diff --git a/tests/zzz_tests/zzz_test_realtimelimit.nit b/tests/zzz_tests/zzz_test_realtimelimit.nit
new file mode 100644 (file)
index 0000000..f8b03dc
--- /dev/null
@@ -0,0 +1,15 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+system("sleep 1h")
diff --git a/tests/zzz_tests/zzz_test_reslimit.nit b/tests/zzz_tests/zzz_test_reslimit.nit
new file mode 100644 (file)
index 0000000..ce4682e
--- /dev/null
@@ -0,0 +1,15 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+loop print "SPAM"
diff --git a/tests/zzz_tests/zzz_test_usertimelimit.nit b/tests/zzz_tests/zzz_test_usertimelimit.nit
new file mode 100644 (file)
index 0000000..efe8d05
--- /dev/null
@@ -0,0 +1,16 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+loop
+end