Benutzer:Griot/vector.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
// :de:Benutzer:Griot/vector.js ~ :en:User:Griot-de/vector.js
// version 2017-03-01, 06

// ####### ######### ######### ######### ######### ######### ######### #########

// this script took some forms and ideas from:
//    [[:de:Benutzer:Codeispoetry/supportFuncs.js]]
//    [[:de:Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]
// and, maybe, others ...

// ####### ######### ######### ######### ######### ######### ######### #########

// <nowiki>       // for technical (safety) reasons

// ####### ######### ######### ######### ######### ######### ######### #########

// get context information & decide on test or work

    var actual_wgDBname;
    var actual_wgNamespaceNumber;
    var actual_wgTitle ;
    var actual_wgAction;

    var NamespaceArticleNumber = 0;               // number of article-namespace

    var test_only;

    try {
        actual_wgDBname          = mw .config .get( "wgDBname"          );
        actual_wgNamespaceNumber = mw .config .get( "wgNamespaceNumber" );
        actual_wgTitle           = mw .config .get( "wgTitle"           );
        actual_wgAction          = mw .config .get( "wgAction"          );

        test_only = ( typeof actual_wgAction == "undefined" );
    }
    catch( exc ) {
        if ( typeof actual_wgDBname == "undefined" ) {
            actual_wgDBname      = "dewiki";
        }
        actual_wgNamespaceNumber = NamespaceArticleNumber;      
        actual_wgTitle           = "none"  ;
        actual_wgAction          = "edit"  ;

        test_only = true;
    }

    var work = ! test_only;

// ####### ######### ######### ######### ######### ######### ######### #########

// set language (i.e., which Wikipedia is it?)

    var other_lang = 0;
    var en    = 1;
    var de    = 2;

    var lang;

    switch ( actual_wgDBname ) {
        case "enwiki":   lang = en;  break;
        case "dewiki":   lang = de;  break;
        case "wiki1" :   lang = de;  break;
        default      :   lang = other_lang;
    }

    if ( lang == other_lang )  throw "language not handled";

// ####### ######### ######### ######### ######### ######### ######### #########

// imports

    // colour links by class

        // </nowiki> Linkback: [[:en:User:Anomie/linkclassifier.js]]  <nowiki>
        // </nowiki> Linkback: [[:en:User:Anomie/linkclassifier.css]] <nowiki>

        function import_linkclassifier() {
            if ( lang == en ) {        // for de, rewriting would be necessary
                importScript    ( "en:User:Anomie/linkclassifier.js"  );
                importStylesheet( "en:User:Anomie/linkclassifier.css" );
            }
        }

// ####### ######### ######### #########

    // WikiSyntaxTextMod – syntax corrections and a lot of other improvements

        // </nowiki> Linkback: [[:de:Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]] <nowiki>

        function import_WikiSyntaxTextMod() {
            mw.libs.WikiSyntaxTextMod = {
                config: { diffPage: false }      // no control page
            };

            mw.loader.load(
                    "//en.wikipedia.org/w/index.php"
                  + "?" + "title=User:PerfektesChaos/js/WikiSyntaxTextMod/r.js"
                  + "&" + "action=raw"
                  + "&" + "ctype=text/javascript"
                  + "&" + "maxage=604800"
                  + "&" + "smaxage=86400"
                  + "&" + "*"
                , "text/javascript" );
        }

// ####### ######### ######### ######### ######### ######### ######### #########

// initialize summary

//    var field   =  document .getElementById( "editform" ) .wpSummary;
//    field.value =  "PD; K";

// ####### ######### ######### ######### ######### ######### ######### #########
    
// set error handling

    // taken from
    // https://developer.mozilla.org/de/docs/Web/API/GlobalEventHandlers/onerror
    // 2017-02-27
    // modified

    window.onerror = function (msg, url, lineNo, columnNo, error) {
        alert( [
                "Message: " + msg,
                "URL: "     + url,
                "Line: "    + lineNo,
                "Column: "  + columnNo,
                "Error object: " + JSON.stringify(error)
            ].join(" - ") );
        return false;
    };

// ####### ######### ######### ######### ######### ######### ######### #########

// main function

    function main()
    {
        try {
            get_text               ();
            pre_handling           ();

            handle_header_lines    ();  // (needs to precede handle_white_space)
            handle_white_space     ();
            handle_standard_forms  ();
            handle_internal_links  ();
            emphasis_in_parentheses( "bold italic" );
            emphasis_in_parentheses( "bold"        );
            emphasis_in_parentheses(      "italic" );
            extract                ( "parenthese", regexp .parenthesized );   // hide ...
            extract                ( "http"      , regexp .http          );   // ... sensible ...
            extract                ( "gallery"   , regexp .gallery       );   // ...
            extract                ( "imagemap"  , regexp .imagemap      );   // ... information
            handle_weblinks        ();
            handle_typography      ();
            handle_dates           ();
            reinsert               ( "imagemap"   );   // reinsert ...
            reinsert               ( "gallery"    );   // ...
            reinsert               ( "http"       );   // ... sensible ...
            reinsert               ( "parenthese" );   // ... information
            handle_literature      ();
            handle_lists           ();
            handle_weblinks_2      ();
            handle_references      ();
            handle_template        ();
            handle_sortierung      ();
            handle_persondata      ();
        }
        finally {
            post_handling          ();
            put_text               ();
        }
        if (  actual_wgNamespaceNumber == NamespaceArticleNumber
           && actual_wgAction          == "edit"                 )
        {
            try { import_WikiSyntaxTextMod() } catch( exc ) {}
            try { import_linkclassifier   () } catch( exc ) {}
        }
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// helper functions

    // mathematical functions

        function max( u, v )   { return Math .max( u, v ); }
        function min( u, v )   { return Math .min( u, v ); }

// ####### #########

    // string functions

        var white = "                                                         ";

        function strip   ( u ) { return u .replace( /^\s*((.|\n)*?)\s*$/, "$1" ) }

        function procrust( u, length ) { return (u + white) .slice( 0, length )  }

// ####### #########

    // helpers for readable regular expressions

        function G  ( x ) { return "(?:" + x + ")"; }  // Group
        function M  ( x ) { return "("   + x + ")"; }  // Matching group, remembered
        function Set( x ) { return "["   + x + "]"; }  // one from x
        function Not( x ) { return "[^"  + x + "]"; }  // anything, but one from x

        function P       ( x ) { return G(x) + "?"; }  // occurence Possible
        function S       ( x ) { return G(x) + "+"; }  // Sequence occurs
        function SP      ( x ) { return G(x) + "*"; }  // Sequence occurs Possibly

        function P_short ( x ) { return G(x) + "??"; }
        function S_short ( x ) { return G(x) + "+?"; }
        function SP_short( x ) { return G(x) + "*?"; }

        function Or()
        {
            var res = "";
            if ( arguments .length > 0 ) {
                res = G( arguments[ 0 ] );
                for ( var k = 1;  k < arguments .length;  k++ ) {
                    res += "|" + G( arguments[ k ] );
                }
            }
            return G( res );
        }

// ####### ######### ######### ######### ######### ######### ######### #########

    // white space patterns
    // (missing: &nbsp; - handling; anomal line feeds, etc.)

        var  s   = "\\s";            // white space character (unrestricted)
        var  sP  = s + "?";
        var  sS  = s + "+";
        var  sSP = s + "*";

        var  w   = "[^\\S\\n]";      // white space character, but not "\n"
        var  wP  = w + "?";
        var  wS  = w + "+";
        var  wSP = w + "*";

        var  n   = "\\n";            // "\n"
        var  nP  = n + "?";
        var  nS  = n + "+";
        var  nSP = n + "*";

        var  y   = "(?:.|\\n)";      // any character
        var  yP  = y + "?";
        var  yS  = y + "+";
        var  ySP = y + "*";

        var _s   = "\\S";            // no white space character
        var _sS  = _s + "+";
        var _sSP = _s + "*";

        var _n   = ".";              // not "\n"
        var _nSP = _n + "*";

        // for replacements

        var NL   = "\n";

    // other characters

        var apo = "'";

    // bar, parentheses, brackets, braces in patterns

        var pBar = "\\|";

        var pParenthese_a = "\\(";
        var pParenthese_o = "\\)";

        var pBrace_a      = "\\{";
        var pBrace_o      = "\\}";

        var pBracket_a    = "\\[";
        var pBracket_o    = "\\]";
        
        var pBraces_a     = pBrace_a   + pBrace_a;
        var pBraces_o     = pBrace_o   + pBrace_o;
        var pBraces       = pBrace_o   + pBrace_a;

        var pBrackets_a   = pBracket_a + pBracket_a;
        var pBrackets_o   = pBracket_o + pBracket_o;
        var pBrackets     = pBracket_o + pBracket_a;

    // convert string in its pattern form

        function pattern_of( s )
        {
        //  return s .replace( Set( "][}{)(|.+*?^$\\/-" ), "\\$&", "g" ); wanted, but ...
            return s .replace( /[\]\[}{)(|.+*?\^\$\\\/\-]/g, "\\$&" );
        }

// ####### ######### ######### ######### ######### ######### ######### #########

    var is_white = function( c ) { return c .match( s ); };

    // substring 'index..' of 'string' starts with white space (nbsp etc. !, not yet)
        var starts_white = function( string, index ) { // yes, if 'out of range'
            return (  index <  0
                   || index >= string .length
                   || is_white( string[ index ] ) );
        };

    // substring '0..index' of 'string' ends with white space (nbsp etc. !, not yet)
        var ends_white = function( string, index ) { // yes, if 'out of range'
            return (  index <  0
                   || index >= string .length
                   || is_white( string[ index ] ) );
        };
    
// ####### ######### ######### ######### ######### ######### ######### #########

    function Syntax()
    {
        with ( this ) {
            this. parenthese_elem_simple = Not( "\\]\\[" + "\\}\\{" );

            this. parenthesized_brace_2 = "\\{\\{" + SP( parenthese_elem_simple ) + "\\}\\}";
            this. parenthesized_brack_2 = "\\[\\[" + SP( parenthese_elem_simple ) + "\\]\\]";
            this. parenthesized_brack_1 = "\\["    + SP( parenthese_elem_simple ) +    "\\]";

            this. parenthesized =  Or(
                  parenthesized_brace_2
                , parenthesized_brack_2
                , parenthesized_brack_1
                );

        // WP commments (i.e. HTML comments)

            this. cmt_a = "<!--";
            this. cmt_o = "-->";

            this. cmt_elem        = Or( "[^-]"   , "-(?!->)" );
            this. cmt_inline_elem = Or( "[^-\\n]", "-(?!->)" );

            this. cmt          = cmt_a +    sSP   +    SP_short( cmt_elem        )   +    sSP   + cmt_o;
            this. cmt_inline   = cmt_a +    wSP   +    SP_short( cmt_inline_elem )   +    wSP   + cmt_o;

            this. cmt_3        = cmt_a + M( sSP ) + M( SP_short( cmt_elem        ) ) + M( sSP ) + cmt_o;
            this. cmt_inline_3 = cmt_a + M( wSP ) + M( SP_short( cmt_inline_elem ) ) + M( wSP ) + cmt_o;

            this. Cmt_inline_3 = cmt_a +    " "   +   "$2"                           +    " "   + cmt_o;

        // WP external links

            this. http_colon_repr          = Or( ":", "%3a"    );        // correct only: ":"
            this. http_colon_repr_possible = Or( ".", ",", ";" );

            this. http_slash_repr          = Or( "/", "%2f"    );        // correct only: "/"

            this. http_slashes_repr = http_slash_repr + SP( Or( http_slash_repr, " " ) );
                                                                                        // correct only: "//", exception: for mailto: empty

            this. http_head   = Or( "http", "https", "ftp", "mailto" );  // not found for de: file, gopher, news, nntp, prospero, telnet, wais
            this. http_middle = Or(                                      // correct only:  "://"
                     http_colon_repr          + sSP   + P( http_slashes_repr )
                , P( http_colon_repr_possible + sSP ) +    http_slashes_repr
                );
            this. http_tail   = _sS;                                     // I don't know the real bound yet

            this. http = M( http_head ) + sSP + http_middle + sSP + M( http_tail ); // correct only: both sSP empty

        // gallery and imagemap

            this. gallery_head    = "<gallery"  + P( w + "[^><\\n]*" ) + ">";
            this. gallery_middle  = ySP;
            this. gallery_tail    = "</gallery>";

            this. gallery  = gallery_head  + sSP + P_short( gallery_middle  ) + sSP + gallery_tail;

            this. imagemap_head   = "<imagemap" + P( w + "[^><\\n]*" ) + ">";
            this. imagemap_middle = ySP;
            this. imagemap_tail   = "</imagemap>";

            this. imagemap = imagemap_head + sSP + P_short( imagemap_middle ) + sSP + imagemap_tail;
        }
    }

    var syntax = new Syntax();

// ####### ######### ######### ######### ######### ######### ######### #########

    function Regexp()
    {
        this. parenthesized = new RegExp( syntax .parenthesized, "g"  );

        this. cmt_3         = new RegExp( syntax .cmt_3        , "g"  );
        this. cmt_inline_3  = new RegExp( syntax .cmt_inline_3 , "g"  );

        this. http          = new RegExp( syntax .http         , "gi" );
        this. gallery       = new RegExp( syntax .gallery      , "gi" );
        this. imagemap      = new RegExp( syntax .imagemap     , "gi" );
    }

    var regexp = new Regexp();

// ####### ######### ######### ######### ######### ######### ######### #########

// get & handle article

    function Strings ()
    {
        this .main     =  "";
        this .snippets =  [];
    }
    var strings  =  new Strings();

    var get_text =  function()
    {
        if ( work ) strings. main =  document .getElementById( "wpTextbox1" ) .value;
        else        strings. main =  "aaa[[xxx]]bbb[y[[uuu]]yy]ccc{{zzz}}ddd ''Ax''";
    };

    var put_text =  function()
    {
        if ( work ) document .getElementById( "wpTextbox1" ) .value =  strings .main;
        else        alert( strings .main );
    };

    function rplac   ( p, q ) { strings. main = strings .main .replace( new RegExp( p, ""   ), q ); } // once
    function rplac_g ( p, q ) { strings. main = strings .main .replace( new RegExp( p, "g"  ), q ); } // global
    function rplac_gi( p, q ) { strings. main = strings .main .replace( new RegExp( p, "gi" ), q ); } // global, case-insensitive
    function rplac_gm( p, q ) { strings. main = strings .main .replace( new RegExp( p, "gm" ), q ); } // global, multiline

// ####### ######### ######### ######### ######### ######### ######### #########

// pre_handling & post_handling

    function pre_handling()
    {
        // free some characters for special use

            rplac_g( "°", "°0°°" );
            rplac_g( "µ", "°1°°" );
            rplac_g( "²", "°2°°" );
            rplac_g( "³", "°3°°" );
    }

    function post_handling()
    {
        // regain abused characters

            rplac_g( "°3°°", "³" );
            rplac_g( "°2°°", "²" );
            rplac_g( "°1°°", "µ" );
            rplac_g( "°0°°", "°" );

            rplac_g( "° °°", " " );   // hidden blank at line end

        // remove line ends

            strings. main =  strip( strings .main );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

    function extract( me, rexp )
    {
        var inx  =  strings .snippets .length;
        var matches;

        do {
            matches =  strings .main .match( rexp );
            if ( matches ) {
                strings .snippets = strings .snippets .concat( matches );
                strings. main     = strings .main     .replace(
                      rexp
                    , function ()
                         { return "²" + me + "µ" + ( inx++ ) .toString() + "³"; }
                    );
            }
        } while ( matches );
    }

// ####### ######### ######### #########

    function reinsert( me )
    {
        var rexp =  new RegExp( "²" + me + "µ" + M( "\\d+" ) + "³", "g" );
        var matches;
        
        do {
            matches =  strings .main .match( rexp );
            if ( matches ) {
                strings. main = strings .main .replace(
                      rexp
                    , function ( _1, inx_s )
                          { return strings .snippets[ parseInt( inx_s, 10 ) ]; }
                    );
            }
        } while ( matches );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// header lines

    function handle_header_lines()
    {
        // accept and correct lines with
        // 1) unbalanced rows of "="                --- take the longest row (mostly)
        // 2) rows, which are to long               --- take maximal admissible length
        // 3) white space at the beginning          --- remove it
        // 4) "rows" of only one "="                --- take length 2
        // 5) white space only between the "="-rows --- unchanged
        // but don't touch lines with one "unbroken" "="-row only

            var a = S( "=" );
            var m = M( wSP ) + M( SP_short ( "." ) ) + wSP;
            var o = S( "=" );

            var line = "^" + wSP + M( a ) + m + M( o ) + wSP + "$";

        // normalize header line

            rplac_gm( line
                ,  function
                        ( matched_str
                        , ma, mm1, mm2, mo
                        , match_pos, full_str )
                    {
                        var maxl = 6;   // number of header levels

                        var al   = ma .length;
                        var ol   = mo .length;

                        var aol  = ( ( al > maxl && ol > maxl ) ? maxl
                                   : ( al > maxl || ol > maxl ) ? max( min( al, ol ), 2 )
                                   :                              max( max( al, ol ), 2 ) );
                        var ao   = "==========" .substr( 0, aol );

                        var mm1_ = mm1 .replace( /\t/g , " " );
                        var mm2_ = mm2 .replace( /\s+/g, " " );

                        var mr   = ( mm2_ === "" ) ? mm1_ : " " + mm2_ + " ";

                        return ( ao + mr + ao );
                    }
            );

        // insert an empty line before the header, if there wasn't one,
        // but don't do it for a second header line

            rplac_gm( M( "[^=\\n]" + wSP ) + n + M( line ), "$1" + NL + NL + "$2" );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// white space

        function handle_white_space()
        {
            handle_white_space_at_beginning_and_end    ();
            handle_empty_lines                         ();
            handle_white_space_at_line_end             ();
            handle_white_space_in_the_middle_of_a_line ();
        }

// ####### ######### ######### #########

    // white space at the beginning and at the end

        function handle_white_space_at_beginning_and_end ()
        {
            // normalize white space ...

                rplac  ( "^" + sS , NL );   // ... at the beginning,
                rplac  ( sS + "$" , NL );   //     at the end ...,

            // ... to be removed in the post_handling.
        }

// ####### ######### ######### #########

    // empty lines

        function handle_empty_lines ()
        {
                rplac_gm( "^" + wS + "$"                   ,   ""   );  // white space line --> empty line
                rplac_g ( M( n + n   + n ) + nS            , "$1"   );  // >= 3 empty lines --> 2 empty lines
                rplac_g ( M( n + n ) + n   + M ( "[^{<]" ) , "$1$2" );  // 2 empty lines --> 1 empty line,
                                                                        //    if not followed by a template
                                                                        //    or by <div>
        }

// ####### ######### ######### #########

    // line ends

        function handle_white_space_at_line_end ()
        {
            // remove or reduce white space at line end

                rplac_gm(           wS +  "$" ,  " "  );   // white space at lineend --> one blank
                rplac_gm( M( "[^=|]" ) + " $" ,  "$1" );   // remove blank at lineend, but not after "=" or "|"

            // hide respected blanks at line end

                rplac_gm( " $", "° °°" );
        }

// ####### ######### ######### #########

    // white space in the middle of a line

        function handle_white_space_in_the_middle_of_a_line()
        {
            // more than one such white space character should be reduced to one space, but cautiously

            // some forms to be respected:
            // 1) template name parameters are often given in the form  "param    = value"
            //                            sometimes its lines reads as  "param    = value   |"
            // 2) a use of the template [[Vorlage:Schachbrett]] contains lines as:
            //    5 |  |  |  |rl|  |kl|pd|pl|=
            //       a  b  c  d  e  f  g  h
            //       α  β  γ  δ  ε  ζ  η  θ      (example: [[Lorenzo Mavilis]] )

            // therefore:
            // 1) do nothing after/before one of [=|!:/]       (possible problems with [:/] only anticipated yet)
            // 2) the bounding non-space should consist of 2 or more characters (for now: at the left side only)

                rplac_g( M( "[^\\s=|!:/]{2}" ) + w + wS + M( "[^\\s=|!:/]" ), "$1 $2" ); // done twice to avoid
                rplac_g( M( "[^\\s=|!:/]{2}" ) + w + wS + M( "[^\\s=|!:/]" ), "$1 $2" ); // "ripple" effect
        }

// ####### ######### ######### ######### ######### ######### ######### #########

// standard forms

    function handle_standard_forms ()
    {
/*
            rplac_g( M( "[^<=]<" ) + sS ,  "$1" );   // no white space after  "<" // to many wrong ...
            rplac_g( sS + M( ">[^=>]" ) ,  "$1" );   // no white space before ">" // ... replacements
*/
            rplac_g( sSP      + "/>"    , " />" );   // but  one space before "/>" ((avoid "*_/"))

            rplac_g( "</?br/?>"      , "<br />" );   // br
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// weblinks in context

    function handle_weblinks()
    {
        return; // for now
    }

// ####### ######### ######### ######### ######### ######### ######### #########

    var  letter_E_variants = "ÈÉÊËĒĔĖĘĚƎƐƏȄȆȨɆḔḖḘḚḜẸẺẼẾỀỂỄỆ";
    var  letter_e_variants = "èéêëēĕėęěǝɛəȅȇȩɇḕḗḙḛḝẹẻẽếềểễệ";

    var  letter_upper_string = "A-ZÄÖÜ"  + letter_E_variants;
    var  letter_lower_string = "a-zäöüß" + letter_e_variants;
    var  letter_string       = letter_upper_string + letter_lower_string;

    var  letter_upper = Set( letter_upper_string );
    var  letter_lower = Set( letter_lower_string );
    var  letter       = Set( letter_string       );
    var _letter       = Not( letter_string       );

// ####### ######### ######### ######### ######### ######### ######### #########

// typography

    // sensible data (internal and external links) need to be hidden from these changes

    function handle_typography()
    {
        // ...  --> …

            var dots = M( "[^.]" ) + "\\.\\.\\." + M( "[^.]" );

            rplac_g( dots, "$1…$2" );

        // apostroph correction – only de will be handled yet

            if ( lang != de ) return;

        // try to correct some wrong apostrophes

            // (first trial)

            var word         = "\\b" + S( letter        );

            rplac_g( M( "\\b[Lld]" )        + apo + M( "[HÉÎAEIOU][a-z]" ), "$1’$2" );   // but l"Hassan ?
            rplac_g( M( "\\b[l]"   )        + apo + M(       "[éî][a-z]" ), "$1’$2" );   // l"équipe

            rplac_g( M( "\\b[Ss]"  )        + apo + M(        "[H][a-z]" ), "$1’$2" );   // s"Hertogenbosch

            rplac_g( M( "\\b[DdSs][eu]ll" ) + apo + M(    "[AEIOU][a-z]" ), "$1’$2" );   // Dell, sull

            rplac_g( M( "\\b[Lld]" )        + apo + M( n ), "$1’$2" );   // rearranged personal names

            rplac_g( M( word + "[sxzß]" ) + apo + "(?!')" + M( _letter ), "$1’’’’’$2" );    // words' -> words’
            rplac_g( M( word +    "th"  ) + apo + "(?!')" + M( _letter ), "$1’’’’’$2" );
            rplac_g( M( " " + apo + word + "[^']*" ) + "’’’’’"          , "$1'"       );    // but not in context " 'word ... words'"
            rplac_g(                                   "’’’’’"          ,   "’"       );

            rplac_g( M( "\\b[O]"    ) + apo + M( "[BCDFGHJKLMNPQRSTVWXZ][a-z]" ), "$1’$2" );

            rplac_g( M( "\\bPaul"   ) + apo + M(    "s\\b" ), "$1’$2" );
            rplac_g( M( "\\b[Ww]ho" ) + apo + M(    "s\\b" ), "$1’$2" );
            rplac_g( M( "\\b[Ii]t"  ) + apo + M(    "s\\b" ), "$1’$2" );

            rplac_g( M( "\\bI"      ) + apo + M(   "ll\\b" ), "$1’$2" );
            rplac_g( M( "\\bLovin"  ) + apo + M( "[^\\w']" ), "$1’$2" );  // \w ~ [A-Za-z0-9_]
            rplac_g( M( "\\bCan"    ) + apo + M(    "t\\b" ), "$1’$2" );
            rplac_g( M( "\\bYou"    ) + apo + M(   "re\\b" ), "$1’$2" );
            rplac_g( M( "\\bDon"    ) + apo + M(    "t\\b" ), "$1’$2" );
            rplac_g( M( "\\bWe"     ) + apo + M(   "re\\b" ), "$1’$2" );

            rplac_g( M( "[Rr]ock[- ]?" ) + apo + "[Nn]" + apo + M( "[- ]?[Rr]oll" ), "$1’n’$2" );

        // „"" ... ""“  --> ""„ ... “""

            rplac_g( "„''" + M( S( Not( "„'“" ) ) ) + "''“",  "''„$1“''" );
    }
    
// ####### ######### ######### ######### ######### ######### ######### #########

    var braces_elem   = Or( Not( pBrace_o   + pBar ), pBrace_o   + "(?!\\})" );
    var brackets_elem = Or( Not( pBracket_o + pBar ), pBracket_o + "(?!\\])" );

    var braces_simple = (
          pBraces_a
        + sSP
        + SP_short( braces_elem )
        + sSP
        + SP(
              pBar
            + sSP
            + SP_short( braces_elem )
            + sSP
            )
        + pBraces_o
    );

    var brackets_simple = (
          pBrackets_a
        + sSP
        + SP_short( brackets_elem )
        + sSP
        + SP(
              pBar
            + sSP
            + SP_short( brackets_elem )
            + sSP
            )
        + pBrackets_o
    );

    var template = braces_simple;   // for now

// ####### ######### ######### ######### ######### ######### ######### #########

// internal links

	var Link_a = "[[";
	var Link_o = "]]";
	var Link_m = "|" ;

    var pLink_a = pattern_of( Link_a );
    var pLink_o = pattern_of( Link_o );
    var pLink_m = pattern_of( Link_m );

    var elem_of_links_1st_part =
        Or( braces_simple, Not( pBrackets + pBraces + pBar + n ) );
    var elem_of_links_2nd_part =
        Or( braces_simple, brackets_simple
                                   // brackets_simple are wrong here,
                                   // but to accept them, seems to be better
          , Not( pBracket_o ), pBracket_o + "(?!\\])" );
                                   // any chars, not forming "]]"
    var link_internal = (
          pLink_a
        + M( wSP )                                     // 1: w11
        + M( SP_short( elem_of_links_1st_part ) )      // 2: first
        + M( wSP )                                     // 3: w12
        + P(  M( pLink_m )                             // 4: bar
            + M( sSP )                                 // 5: w21
            + M( SP_short( elem_of_links_2nd_part ) )  // 6: second
            + M( sSP )                                 // 7: w22
            )
        + pLink_o
    );
    // But this form is invalid, if 
    // 1) the only or both parts are empty or contain white space only,
    // 2) or the left part isn't empty, but contains white space only.

    function handle_internal_links()
    {
        var pattern = link_internal;

        var rplcmnt = function (
              matched_string
            , w11, first , w12
            , bar_q
            , w21, second, w22
            , match_index, full_string )
        {
                var con_bar     = ( bar_q == '|' ) ;
                if ( ! con_bar ) {
                    bar_q   = "";
                    w21    = "";
                    second = "";
                    w22    = "";
                }
                var full_first  = w11 + first  + w12;
                var full_second = w21 + second + w22;

            // maybe, in the resulting replacement the (maybe modified) link
            // will be surrounded by blanks
                var w00 = "";    // left,
                var w99 = "";    // right surrounding // not used yet

            // handle syntax errors
                if ( ( first == "" ) && ( second == "" ) ) {
                    return matched_string;  // not handled yet
                }

                if ( ( first == "" ) && ( w11 != "" ) ) {
                    return matched_string;  // not handled yet
                }

            // a hidden link target needs no white space
                if ( con_bar ) {
                    w11 = "";
                    w12 = "";
                }

            // normalize white space (!attention: '&nbsp;' not handled yet!)
                w11 = ( w11 != "" ) ? " " : "";
                w12 = ( w12 != "" ) ? " " : "";
                w21 = ( w21 != "" ) ? " " : "";
                w22 = ( w22 != "" ) ? " " : "";

            // left white space
                if ( w11 + w21 != "" ) {
                    if ( ! ends_white( full_string
                                     , match_index - 1 ) ) {
                        w00 = " ";
                    }
                    w11 = "";
                    w21 = "";
                }

            // right white space
            // fault or feature?:
            //     a closing blank connects the link to a following non-space
                if ( w12 + w22 != "" ) {
                    if ( starts_white( full_string
                                     , match_index + matched_string .length ) ) {
                        w12 = "";
                        w22 = "";
                    }
               }

            // nothing else yet
                return  w00 + '[[' + w11 + first  + w12
                            + bar_q  + w21 + second + w22 + ']]' + w99;
        };

        rplac_g( pattern, rplcmnt );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// text with emphasis in parentheses, i.e. ('' ... '') --> ''( ... )'' etc.

    function emphasis_in_parentheses( emphasis_kind )
    {
                // ( Integrate this into syntax function,
                //   it's enough for use by this function, but not in general. )

        var italic_mark      =     "''"   ;
        var bold_mark        =     "'''"  ;
        var bold_italic_mark =     "'''''";

        var emphasis_mark  = 
                          ( emphasis_kind == "italic"      ) ? italic_mark
                        : ( emphasis_kind == "bold"        ) ? bold_mark
                        : ( emphasis_kind == "bold italic" ) ? bold_italic_mark
                        : "";
        var emphasis_mark_a = emphasis_mark;
        var emphasis_mark_o = emphasis_mark;

        var emphasis_a =     emphasis_mark_a + "(?!')";
        var emphasis_o = Or( emphasis_mark_o + "(?!')", "" + "(?=\\n)" );

        var emphasis_nucleus_elem = Or( braces_simple, Not( "'" + n ), "'(?!')", "'(?="+emphasis_mark_o+")" );
        var emphasis_nucleus      = SP_short( emphasis_nucleus_elem );

        var emphasis = (
              M( emphasis_a )                       // aa
            + M( wSP )                              // w12
            + M( emphasis_nucleus )                 // nucleus
            + M( wSP )                              // w21
            + M( emphasis_o )                       // oo
            );

        var pattern = (                // ex. (...''...xxx...''...)
                 pParenthese_a
            + M( sSP )                              // w11
            +    emphasis                           // aa, w12, nucleus, w21, oo
            + M( sSP )                              // w22
            +   pParenthese_o
        );

        var rplcmnt = function (
              matched_string
            , w11, aa, w12
            , nucleus
            , w21, oo, w22
            , match_index, full_string )
        {
            // empty case
                if ( nucleus === "" ) {  // assertion: w12 != "", w21 == ""
                    w12     = "" ;
                    nucleus = " ";
                }

            // surround it by potential blanks
                var w00 = "";            // left,
                var w99 = "";            // right surrounding

                var index_pred = match_index - 1;
                var index_succ = match_index + matched_string .length;

                if (  ( ( w11 != "" ) || ( w12 != "" ) )
                   && ! ends_white  ( full_string, index_pred ) ) {

                    w00 = " ";
                }

                if (  ( ( w22 != "" ) || ( w21 != "" ) )
                   && ! starts_white( full_string, index_succ ) ) {

                    w99 = " ";
                }

            // swap parentheses and apostrophes
            // but only, if it not produces 3 succeeding apostrophes
                var swap;

                var char_pred  = ( index_pred >= 0 ) ?
                      full_string[ index_pred ] : " ";

                var char_succ  = ( index_succ < full_string .length ) ?
                      full_string[ index_succ ] : " ";

                if  (  ( ( w00 === "" ) && ( char_pred == "'" ) )
                    || ( ( w99 === "" ) && ( char_succ == "'" ) ) ) {

                    swap = false;
                }

                var possible_name;
                if ( swap === undefined ) {

                    if ( nucleus[0] != "[" ) {
                        possible_name = nucleus;
                    } else {
                        var link_internal_re = new RegExp( link_internal, "m" );
                        var parts = link_internal_re .exec( nucleus );
                        if ( ( parts === null ) || ( parts .index !== 0 ) ) {
                            swap = true;
                        } else {
                            var bar_q  = parts[ 4 ];
                            possible_name = ( bar_q !== undefined ) ? parts[ 6 ] : parts[ 2 ];
                        }
                    }
                }

                if ( swap === undefined ) {
                    possible_name += " ";
                    var white_index = possible_name .search( s );
                    var initial     = possible_name .substring( 0, white_index );

                    swap = ( ! is_genus( initial ) );
                }

                return ( swap ) ? w00 + emphasis_mark_a + "("
                                      + nucleus
                                      + ")" + emphasis_mark_o + w99
                                : w00 + "(" + emphasis_mark_a
                                      + nucleus
                                      + emphasis_mark_o + ")" + w99;
        };
            
        rplac_gm( pattern, rplcmnt );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// dates

    // sensible data (internal and external links) need to be hidden from these changes

    var fromto = "[-−–]";

    function handle_dates()
    {
        // replacements:
        //   (1235-1345) --> (1235–1345)  –  even without the closing parenthese
        //   (1235-45)   --> (1235–45)
        // but not, it has been proved to be a bad idea:
        //   (1235-45)   --> (1235–1245)

            var y4 = "[12]\\d\\d\\d";
            var y2 =        "\\d\\d";

            // to accept a blank near the parentheses is a try...

            rplac_g( pParenthese_a + " ?" + M( y4 ) + " ?" + fromto + " ?" + M( y4 )                        , "($1–$2"  );
            rplac_g( pParenthese_a + " ?" + M( y4 ) + " ?" + fromto + " ?" + M( y2 ) +  " ?" + pParenthese_o , "($1–$2)" );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// literature

        function handle_literature()
        {
            if ( lang == en ) {
                rplac_g(  " p\\." + wP + M( "\\d+" ) + " ?" + fromto + " ?" + M( "\\d+" ) , " p. $1–$2"  );
                rplac_g( " pp\\." + wP + M( "\\d+" ) + " ?" + fromto + " ?" + M( "\\d+" ) , " pp. $1–$2" );
                rplac_g( " pp\\." + wP + M( "\\d+" )                                      , " pp. $1"    );
            }

            if ( lang == de ) {
                rplac_g( pParenthese_a + "Hr?g\\." + pParenthese_o, "(Hrsg.)" );
                rplac_g( pParenthese_a + "Eds?\\." + pParenthese_o, "(Hrsg.)" );
                rplac_g(  " S\\." +       wP + M( "\\d+" ) + " ?" + fromto + " ?" + M( "\\d+" ) , " S. $1–$2"      );
                rplac_g( " pp\\." +       wP + M( "\\d+" ) + " ?" + fromto + " ?" + M( "\\d+" ) , " S. $1–$2"      );
                rplac_g( " pp\\." +       wP + M( "\\d+" )                                      , " S. $1"         );
                rplac_g(  " S\\." + "&nbsp;" + M( "\\d+" ) + " ?" + fromto + " ?" + M( "\\d+" ) , " S.&nbsp;$1–$2" );
            }
        }

// ####### ######### ######### ######### ######### ######### ######### #########

// lists

        function handle_lists()
        {
            rplac_gm( "^" + M( "[*#:]+" ) + M( "[^*#:/\\s]" ) , "$1 $2" ); // normalize list lines,
                                                                           //    but respect "*_/"
            // but redo wrong replacements
            rplac_gi( "^# WEITERLEITUNG", "#WEITERLEITUNG" );
            rplac_gi( "^# REDIRECT"     , "#REDIRECT"      );
        }

// ####### ######### ######### ######### ######### ######### ######### #########

// weblinks in context

        function handle_weblinks_2()
        {
            if ( lang == en ) return;

            var langs = new Array(
                  "engl"          , "englisch"
                , "niederl"       , "niederländisch"
                , "franz"         , "französisch"
            );

            var lin, pp;
            var lou, qq;

            for ( var k = 0;  k+1 < langs .length;  k += 2 ) {
                lin = langs[ k     ] + "\\.";
                lou = langs[ k + 1 ];

                pp = wS + "\\(" + lin + "\\)" + wSP + "\\]" + wSP + "$";
                qq =  "] (" + lou +   ")";
                rplac_gm( pp, qq );

                pp = wS + "\\(" + lin + "\\)" + wSP + "\\]" + wSP + M( "[^\\s(]" );
                qq =  "] (" + lou +   ")" + " " + "$1";
                rplac_g( pp, qq );

                pp = wS + "\\(" + lin + "\\)" + wSP + "\\]" + wSP + pParenthese_a + wSP;
                qq =  "] (" + lou +   ";" + " ";
                rplac_g( pp, qq );
            }
        }

// ####### ######### ######### ######### ######### ######### ######### #########

// references

    function handle_references()
    {
        // existing forms
            // <ref>           ... </ref>
            // <ref name=...>  ... </ref>
            // <ref group=...> ... </ref>
            // <ref group=... name=...> ... </ref>

            // <ref name=... />
            // <ref group=... name=... />

            // <references />
            // <references group=... />

            // <references> ... </references>

        // notes

            // 1) some invalid forms are handled too

        // normalization

            var val_1 = '[^>="/\\s]+';
            var val_2 = '"' + SP_short( _n ) + '"';

            var name_or_group = (
                  M(       Or( "name", "group" ) )  // ng1   ng2
                + M( wSP )                          // eq1_  eq2_
                +          "="                      //
                + M( wSP )                          // val1_ val2_
                + M(       Or( val_1 , val_2   ) )  // val1  val2
            );

            var form = (
                              "<"
                +    wSP
                + M(       P( "/" )               )           // st1
                +    wSP
                + M(       "ref" + P( "erences" ) ) + "\\b"   // ref
                +    wSP
                + M(       P( name_or_group )     )           // ng1_all
                +    wSP
                + M(       P( name_or_group )     )           // ng2_all
                +    wSP
                + M(       P( "/" )               )           // st2
                +    wSP
                +          ">"
            );

            rplac_gi( form
                ,  function
                        ( matched_string
                        , st1, ref
                        , ng1_all, ng1, eq1_, val1_, val1
                        , ng2_all, ng2, eq2_, val2_, val2
                        , st2
                        , match_index, full_string )
                    {
                        return (
                              "<"                               // "<"
                            + st1                               //    "/"
                            + ref .toLowerCase()                // "ref"  | "references"

                            + ( ng1_all  === "" ? "" : " "       //    " "
                                + ng1 .toLowerCase()            //    "name"  | "group"
                                + ( eq1_  === "" ? "" : " " )    //       " "
                                + "="                           //    "="
                                + ( val1_ === "" ? "" : " " )    //       " "
                                + val1                          //    val1
                              )

                            + ( ng2_all  === "" ? "" : " "       //    " "
                                + ng2 .toLowerCase()            //    "name"  | "group"
                                + ( eq2_  === "" ? "" : " " )    //       " "
                                + "="                           //    "="
                                + ( val2_ === "" ? "" : " " )    //       " "
                                + val2                          //    val2
                              )

                            + ( st2      === "" ? "" : " " )     //       " "
                            + st2                               //    "/"
                            + ">"                               // ">"
                        );
                    }
            );

        // now holds

            var open0   = "<ref>";
            var open1   = "<ref [^>]*" + "[^>/]>";
            var closed  = "<ref [^>]*" +   "[/]>";
            var close   = "</ref>";

            var open    = Or( open0, open1 );

        // no white space before reference (1st case)

            rplac_g( sS + M( closed ),  "$1" );

        // maximal 1 white space char. (blank/newline) before and after reference text

            var text = SP_short( "[^<]" );

            var full_form = (
                          wSP                                    // sSP changed into wSP
                    + M(       open  )  // opn
                    + M( sSP )          // txt_
                    + M(       text  )  // txt
                    + M( sSP )          // cls_
                    + M(       close )  // cls
            );

            rplac_g( full_form
                ,  function
                        ( matched_str
                        ,       opn
                        , txt_, txt
                        , cls_, cls
                        , match_pos, full_str )
                    {
                        var i = txt_ .lastIndexOf( NL );
                        var j = cls_ .lastIndexOf( NL );

                        return (
                              opn                                                        // open
                            + ( txt_ === "" ? "" : (i == -1 ? " " : txt_ .substr(i) ) )
                            + txt                                                        // text
                            + ( cls_ === "" ? "" : (j == -1 ? " " : cls_ .substr(j) ) )
                            + cls                                                        // close
                        );
                    }
            );

            jQuery( document ) .ready( function() {
                  rplac_g( n + M( close ) + n, "$1" + NL + NL );
            } );

        // move characters ([.:]) from behind to front of a reference !!! ATTENTION: UNSAFE !!!
        //    ( ";" removed from list, produces unwanted moves in the head )
        //    ( "," removed from list, difficult to evaluate )
        // restrictions:
        //    not followed by (another) dot (think of "...")

            var ref0 = open + sSP + text + sSP + close;
            var ref1 = closed;

            var ref  = Or( ref0, ref1 );

        // clear special case - dot before and after the ref - first:

            rplac_g( M( "\\."   ) + M( ref ) + M( "\\."   ) + M( "[^.]" ), "$1$2$4"   );

            rplac_g( M( "[^.:]" ) + M( ref ) + M(  "[.:]" ) + M( "[^.]" ), "$1$3$2$4" );
            rplac_g( M( "[^.:]" ) + M( ref ) + M(  "[.:]" ) + M( "[^.]" ), "$1$3$2$4" );
            rplac_g( M( "[^.:]" ) + M( ref ) + M(  "[.:]" ) + M( "[^.]" ), "$1$3$2$4" );
            rplac_g( M( "[^.:]" ) + M( ref ) + M(  "[.:]" ) + M( "[^.]" ), "$1$3$2$4" );

        // a reference shouldn't be followed immediately by: letter, digit, "_"

            rplac_g( M( ref ) + M( "[\\wäöüÄÖÜß]" ), "$1 $2" );   // "\w" == "[a-zA-Z0-9_]" (special for JavaScript)
            
        // to prevent unwanted changes by WikiSyntaxTextMod in a reference block
        
            rplac  ( n +  "<references>" + n, NL + "{{subst:Benutzer:Griot/Refer begin}}" + NL );
            rplac  ( n + "</references>" + n, NL + "{{subst:Benutzer:Griot/Refer end}}"   + NL );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// template (and other "{{ ... }}"-constructions)

    var Template_a = "{{";
    var Template_o = "}}";
    var Template_m = "|" ;

    var pTemplate_a = pattern_of( Template_a );
    var pTemplate_o = pattern_of( Template_o );
    var pTemplate_m = pattern_of( Template_m );

    function handle_template()
    {
        // if not a one-liner, closing "}}" should get its own line,
        // respecting the indentation,
        // if there is no "|" in the line, or one only at its start

            rplac_gm( "^" + M( wSP ) + M( P( pTemplate_m ) + SP_short( "[^}{|\\n]" ) ) + wSP + M( pTemplate_o ), "$1$2" + NL + "$1$3" );

        // remove empty lines before lines, starting with Template_o

            rplac_gm( sSP + M( n + wSP + pTemplate_o ), "$1" );

        // the white space of a >white space, followed by Template_o< - line
        // ... will be assimilated to the white space ...
        // of the corresponding >white space, followed by Template_a< - line (if any)

            var  temp_braces_elem = Or( Not( pBraces ), pTemplate_a + SP( Not( pBraces ) ) + pTemplate_o );

            rplac_g ( n + M( wS ) + M( pTemplate_a + SP_short( temp_braces_elem ) + n ) + wS + M( pTemplate_o ), NL + "$1$2" + "$1$3" );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// sortierung/defaultsort

    function handle_sortierung ()
    {
            function handle_sort_nucleus( nucl )
            {
                // based on [[:de:Vorlage:Navigationsleiste A-Diakritika]], etc. (April 2010)

                var derived_letters_array = [
                      "a" , "Àà Áá Ââ Ãã Ää Åå Ǻǻ Āā Ăă Ąą Ǎǎ Ǟǟ Ǡǡ Ȁȁ Ȧȧ "
                            + "Ⱥⱥ Ḁḁ  ẚ Ạạ Ảả Ấấ Ầầ Ấấ Ẩẩ Ẫẫ Ậậ Ắắ Ằằ Ẳẳ Ẵẵ Ặặ "
                    , "ae", "Ææ Ǽǽ Ǣǣ "
                    , "b" , "Ḃḃ Ḅḅ Ḇḇ Ƀƀ Ɓɓ Ƃƃ  ᵬ  ᶀ "
                    , "c" , "Çç Ćć Ĉĉ Ċċ Čč Ƈƈ Ȼȼ Ḉḉ "
                    , "d" , "Ďď Đđ Ɖɖ Ɗɗ Ƌƌ  ƍ Ḋḋ Ḍḍ Ḏḏ Ḑḑ Ḓḓ  ẟ "
                    , "dh", "Ðð "
                    , "e" , "Èè Éé Êê Ëë Ēē Ĕĕ Ėė Ęę Ěě Ǝǝ Ɛɛ Əə Ȅȅ Ȇȇ Ȩȩ "
                            + "Ɇɇ Ḕḕ Ḗḗ Ḙḙ Ḛḛ Ḝḝ Ẹẹ Ẻẻ Ẽẽ Ếế Ềề Ểể Ễễ Ệệ "
                    , "f" , "Ḟḟ Ƒƒ  ᵮ  ᶂ "
                    , "g" , "Ĝĝ Ğğ Ġġ Ģģ Ɠɠ Ǥǥ Ǧǧ Ǵǵ Ḡḡ "
                    , "h" , "Ĥĥ Ħħ Ƕƕ Ȟȟ Ḣḣ Ḥḥ Ḧḧ Ḩḩ Ḫḫ  ẖ Ⱨⱨ "
                    , "i" , "Ìì Íí Îî Ïï Ĩĩ Īī Ĭĭ Įį İi Iı "
                            + "Ɩɩ Ɨɨ Ǐǐ Ȉȉ Ȋȋ Ḭḭ Ḯḯ Ỉỉ Ịị "
                    , "ij", "IJij "
                    , "j" , "Ĵĵ Ɉɉ ǰ "
                    , "k" , "Ķķ  ĸ Ǩǩ Ƙƙ Ḱḱ Ḳḳ Ḵḵ Ⱪⱪ "
                    , "l" , "Ĺĺ Ļļ Ľľ Ŀŀ Łł Ƚƚ  ƛ  ȴ Ḷḷ Ḹḹ Ḻḻ Ḽḽ Ⱡⱡ Ɫɫ "
                    , "m" , "Ɯɯ Ḿḿ Ṁṁ Ṃṃ Ɱɱ "
                    , "n" , "Ññ Ńń Ņņ Ňň  ʼn Ŋŋ Ɲɲ Ƞƞ Ǹǹ Ṅṅ Ṇṇ Ṉṉ Ṋṋ "
                    , "o" , "Òò Óó Ôô Õõ Öö Øø Ǿǿ Ōō Ŏŏ Őő Ɔɔ Ɵɵ Ơơ Ǒǒ Ǫǫ "
                            + "Ǭǭ Ȍȍ Ȏȏ Ȣȣ Ȫȫ Ȭȭ Ȯȯ Ȱȱ Ṍṍ Ṏṏ Ṑṑ Ṓṓ Ọọ Ỏỏ Ốố Ồồ "
                            + "Ổổ Ỗỗ Ộộ Ổổ Ớớ Ờờ Ởở Ỡỡ Ợợ O͘o͘ Ꝋꝋ Ꝍꝍ Ꝏꝏ  ⱺ "
                    , "oe", "Œœ "
                    , "p" , "Ƥƥ Ṕṕ Ṗṗ Ᵽᵽ "
                    , "q" , " "
                    , "r" , "Ŕŕ Ŗŗ Řř  Ʀ Ȑȑ Ȓȓ Ɍɍ Ṙṙ Ṛṛ Ṝṝ Ṟṟ Ɽɽ "
                    , "s" , "Śś Şş Ŝŝ Šš Șș Ṥṥ Ṧṧ Ṡṡ Ṣṣ Ṩṩ  ȿ  ʂ  ᵴ  ᶊ "
                    , "ss", "ß \u1E9E "                                    // \u1E9E == upper case "ß"
                    , "t" , "Ţţ Ťť Ŧŧ ƫ Ƭƭ Ʈʈ Țț Ṫṫ Ṭṭ Ṯṯ Ṱṱ  ẗ "
                    , "th", "Þþ "
                    , "u" , "Úú Ûû Ùù Üü Ŭŭ Ũũ Ūū Ůů Űű Ųų Ưư Ǔǔ Ǖǖ Ǘǘ Ǚǚ "
                            + "Ǜǜ Ȕȕ Ȗȗ Ʉʉ Ṳṳ Ṵṵ Ṷṷ Ṹṹ Ṻṻ Ụụ Ủủ Ứứ Ừừ Ửử Ữữ Ựự "
                    , "v" , "Ʋʋ Ʌʌ Ṽṽ Ṿṿ ⱴ "
                    , "w" , "Ŵŵ Ẁẁ Ẃẃ Ẅẅ Ẇẇ Ẉẉ  ẘ Ⱳⱳ "
                    , "x" , " "
                    , "y" , "Ýý Ÿÿ Ŷŷ Ƴƴ Ȳȳ Ɏɏ Ẏẏ Ỳỳ  ẙ Ỵỵ Ỷỷ Ỹỹ "          // vi: Ýý Ỳỳ Ỵỵ Ỷỷ Ỹỹ
                    , "z" , "Źź Żż Žž Ƶƶ Ȥȥ Ɀɀ Ẑẑ Ẓẓ Ẕẕ Ⱬⱬ Ʒʒ Ƹƹ Ǯǯ "

                            // Vietnamese special characters (from vietnamese Wikipedia)

                    , "a" , "\u0102 \u0103 \u1EA0 \u1EA1 \u1EA2 \u1EA3 \u1EA4 \u1EA5 "
                              //    Ă      ă      Ạ      ạ      Ả      ả      Ấ      ấ
                            + "\u1EA6 \u1EA7 \u1EA8 \u1EA9 \u1EAA \u1EAB \u1EAC \u1EAD "
                              //    Ầ      ầ      Ẩ      ẩ      Ẫ      ẫ      Ậ      ậ
                            + "\u1EAE \u1EAF \u1EB0 \u1EB1 \u1EB2 \u1EB3 \u1EB4 \u1EB5 "
                              //    Ắ      ắ      Ằ      ằ      Ẳ      ẳ      Ẵ      ẵ
                            + "\u1EB6 \u1EB7 \u00C0 \u00C1 \u00C2 \u00C3 \u00E0 \u00E1 "
                              //    Ặ      ặ      À      Á      Â      Ã      à      á
                            + "\u00E2 \u00E3 "
                              //    â      ã
                    , "d" , "\u0110 \u0111 "
                              //    Đ      đ
                    , "e" , "\u1EB8 \u1EB9 \u1EBA \u1EBB \u1EBC \u1EBD \u1EBE \u1EBF "
                              //    Ẹ      ẹ      Ẻ      ẻ      Ẽ      ẽ      Ế      ế
                            + "\u1EC0 \u1EC1 \u1EC2 \u1EC3 \u1EC4 \u1EC5 \u1EC6 \u1EC7 "
                              //    Ề      ề      Ể      ể      Ễ      ễ      Ệ      ệ
                            + "\u00C8 \u00C9 \u00CA \u00E8 \u00E9 \u00EA "
                              //    È      É      Ê      è      é      ê
                    , "i" , "\u0128 \u0129 \u1EC8 \u1EC9 \u1ECA \u1ECB \u00CC \u00CD "
                              //    Ĩ      ĩ      Ỉ      ỉ      Ị      ị      Ì      Í
                            + "\u00EC \u00ED "
                              //    ì      í
                    , "o" , "\u01A0 \u01A1 \u1ECC \u1ECD \u1ECE \u1ECF \u1ED0 \u1ED1 "
                              //    Ơ      ơ      Ọ      ọ      Ỏ      ỏ      Ố      ố
                            + "\u1ED2 \u1ED3 \u1ED4 \u1ED5 \u1ED6 \u1ED7 \u1ED8 \u1ED9 "
                              //    Ồ      ồ      Ổ      ổ      Ỗ      ỗ      Ộ      ộ
                            + "\u1EDA \u1EDB \u1EDC \u1EDD \u1EDE \u1EDF \u1EE0 \u1EE1 "
                              //    Ớ      ớ      Ờ      ờ      Ở      ở      Ỡ      ỡ
                            + "\u1EE2 \u1EE3 \u00D2 \u00D3 \u00D4 \u00D5 \u00F2 \u00F3 "
                              //    Ợ      ợ      Ò      Ó      Ô      Õ      ò      ó
                            + "\u00F4 \u00F5 "
                              //    ô      õ
                    , "u" , "\u0168 \u0169 \u01AF \u01B0 \u1EE4 \u1EE5 \u1EE6 \u1EE7 "
                              //    Ũ      ũ      Ư      ư      Ụ      ụ      Ủ      ủ
                            + "\u1EE8 \u1EE9 \u1EEA \u1EEB \u1EEC \u1EED \u1EEE \u1EEF "
                              //    Ứ      ứ      Ừ      ừ      Ử      ử      Ữ      ữ
                            + "\u1EF0 \u1EF1 \u00D9 \u00DA \u00F9 \u00FA "
                              //    Ự      ự      Ù      Ú      ù      ú
                // , "y" , "\u1EF2 \u1EF3 \u1EF4 \u1EF5 \u1EF6 \u1EF7 \u1EF8 \u1EF9 " // all are given
                //         //    Ỳ      ỳ      Ỵ      ỵ      Ỷ      ỷ      Ỹ      ỹ
                //       + "\u00DD \u00FD "                                           // ... already
                //         //    Ý      ý
                ];

                var  derived_letters = "," + derived_letters_array .join();

                var nucl_ = ( ( " " + nucl + " " )
                    .replace( /[-–’\u0022\u0027]/g, ""  )   // \u0022 == /"/, \u0027 == /'/
                    .replace(   /[\u0300-\u036F]/g, ""  )   // remove diacritical marks
                    .replace(           /[ʻǀǁǂǃ]/g, ""  )   // remove some very special characters:
                                                            //   MODIFIER LETTER TURNED COMMA (ʻOkina)
                                                            //   LATIN LETTER DENTAL CLICK    ( "ǀ" )
                                                            //   LATIN LETTER LATERAL CLICK   ( "ǁ" )
                                                            //   LATIN LETTER ALVEOLAR CLICK  ( "ǂ" )
                                                            //   LATIN LETTER RETROFLEX CLICK ( "ǃ" )
                    .replace(                /\./g, " " )

                    .replace( /(\D)(\d)(\D)/, "$1 0$2$3" )

                    .replace( / *# *\(? *(.*?) *\)? *$/, " #$1 " )   // normalize discrim. part con "#";
                    .replace(     / *\( *(.*?) *\) *$/ , " #$1 " )   // ... resp. sin "#", con "(" and ")"

                    .replace(               /\s+/g, " " )
                );

                nucl_ = ( nucl_
                    .replace( /([\u0080-\uFFFF])/g,      // possible "exotic" letters
                        function ( _1, letter, _2, _3 )
                        {
                            var  re_letter = new RegExp( ",([a-z]*),[^,]*" + letter, "" );

                            var found = derived_letters .match( re_letter );
                            return ( found ) ? found[ 1 ] : letter;
                        }
                    )
                );

                // not anymore:

                // nucl_ = ( nucl_
                //    .replace( /\B([A-Z])/g, function ( _1, letter, _2, _3 )
                //                               { return  letter .toLowerCase() } )  // all lower case,
                //    .replace( /\b([a-z])/g, function ( _1, letter, _2, _3 )
                //                               { return  letter .toUpperCase() } )  // exception: word begin
                // );

                return strip( nucl_ );
            }

            function handle_sort_comment( comm )
            {
                return  ( ( comm !== "" ) ?   " " + comm .replace( regexp .cmt_inline_3, syntax .Cmt_inline_3 )
                                          :   ""
                );
            }

            var  nucleus_elem = "[^{}<>\\n]";

            var wanted_sort_keywords = [
                  "DEFAULTSORT"   // other_lang
                , "DEFAULTSORT"   // en
                , "SORTIERUNG"    // de
            ];
            var wanted_sort_keyword = wanted_sort_keywords[ lang ];

            rplac_gi(
                  nS + wSP
                + pBraces_a
                + sSP
                + Or( "SORTIERUNG", "DEFAULTSORT" )
                + sSP
                + ":"
                + sSP
                + M( SP_short( nucleus_elem ) )
                + sSP
                + pBraces_o
                + wSP
                + M( P( syntax .cmt_inline ) )
                + wSP + nS
            ,
                function( matched_str,   nucl, comm,   match_pos, full_str )
                {
                    return (
                          NL + NL
                        + Template_a
                        + wanted_sort_keyword
                        + ":"
                        + handle_sort_nucleus( nucl )
                        + Template_o
                        + handle_sort_comment( comm )
                        + NL
                    );
                }
            );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

        var in_double_brackets_con_bar = Or( braces_simple, "[^]]" , "](?!])" );   // any chars, not forming "]]"
        var in_double_brackets_sin_bar = Or( braces_simple, "[^]|]", "](?!])" );   // no "|" and not forming "]]"

        var link = (
              pBrackets_a
            + sSP
            + SP_short( in_double_brackets_sin_bar )
            + sSP
            + P( '[|]'
                + sSP
                + SP_short( in_double_brackets_con_bar )   // "|" admissible here
                + sSP
                )
            + pBrackets_o
        );

// ####### ######### ######### ######### ######### ######### ######### ######### 

// Persondata

    function handle_persondata()
    {
            if ( lang != de ) return;

            var i, j, k;

            var template_name = "Personendaten";

            var key = [
                  "NAME"
                , "ALTERNATIVNAMEN"
                , "KURZBESCHREIBUNG"
                , "GEBURTSDATUM"
                , "GEBURTSORT"
                , "STERBEDATUM"
                , "STERBEORT"
            ];
            var param_number  = key .length;

            var max_length_of_key = 16;

            var key_extended = key .concat (
                  "[NAME]{3,5}"
                , "[ALTERNATIVNAMEN]{13,17}"
                , "[KURZBESCHREIBUNG]{14,18}"
                , "G[EBURTS]{5,7}" + "[DATUM]{4,6}"
                , "G[EBURTS]{5,7}" + "[ORT]{2,4}"
                , "S[TERBE]{4,6}"  + "[DATUM]{4,6}"
                , "S[TERBE]{4,6}"  + "[ORT]{2,4}"
            );

            var   kex = new Array( key_extended .length );
            for ( k = 0;  k < kex .length;  k++ ) {
                    kex[ k ] = new RegExp( "^" + key_extended[ k ] + "$", "i" );
            }

            var   val = new Array( param_number );
            for ( k = 0;  k < val .length;  k++ ) {
                    val[ k ] = "";
            }

            var pd_key = G( key_extended .join( "|" ) );

            var delim  = Or( pTemplate_m + sSP, n + wSP );
            // check:     var delim  = Or( pTemplate_m + SP( "\\s|" ), n + sSP );


            var pd_val = SP_short( Or( link, template, "[^}|]" ) );

            var pd_param = delim + M( pd_key ) + sSP + "=" + sSP + M( pd_val ) + sSP;

            var pd_form = (
                sSP
                 + pTemplate_a
                 + sSP
                 + template_name
                 + sSP
                 +    pd_param
                 +    pd_param
                 + P( pd_param
                 + P( pd_param
                 + P( pd_param
                 + P( pd_param
                 + P( pd_param
                 + P( pd_param
                 + P( pd_param ) ) ) ) ) ) )
                 + pTemplate_o
                 + sSP
            );

            var matches = strings .main .match( new RegExp( pd_form, "i" ) );

            if ( matches === null )  return;

            for ( j = 1;  j + 1 < matches .length; j += 2 ) {
                if ( matches[ j ] !== "" ) {
                    for ( var kk = 0;  kk < kex .length;  kk++ ) {
                        k = ( j-1 + kk )  %  kex .length;            // Optimization only
                        if ( kex[ k ] .test( matches[ j ] ) ) {
                            var new_val = strip( matches[ j + 1 ] );
                            if ( new_val !== "" )  val[ k % param_number ] = new_val;
                            break;
                        }
                    }
                }
            }

            function handle_name             ( arg ) { return arg; }
            function handle_alternativnamen  ( arg ) { return arg; }
            function handle_kurzbeschreibung ( arg ) { return arg; }

            function handle_date( date )
            {
                date = date
                    .replace( /\[/g , " " )
                    .replace( /\]/g , " " )
                ;

                date = date
                    .replace( /Jänner/gi, "Januar" )

                    .replace( /\b[Januar]{5,7}\b/gi    , "Januar"    )
                    .replace( /\b[Februar]{6,8}\b/gi   , "Februar"   )
                    .replace( /\b[März]{3,5}\b/gi      , "März"      )
                    .replace( /\b[April]{4,6}\b/gi     , "April"     )
                    .replace( /\b[Mai]{3,4}\b/gi       , "Mai"       )
                    .replace( /\b[Juni]{2,3}ni?\b/gi   , "Juni"      )
                    .replace( /\b[Juli]{2,3}li?\b/gi   , "Juli"      )
                    .replace( /\b[August]{5,7}\b/gi    , "August"    )
                    .replace( /\b[September]{8,10}\b/gi, "September" )
                    .replace( /\b[Oktober]{6,8}\b/gi   , "Oktober"   )
                    .replace( /\b[November]{7,9}\b/gi  , "November"  )
                    .replace( /\b[Dezember]{7,9}\b/gi  , "Dezember"  )

                    .replace( /\b[Jahrhundert]{8,13}\b/gi , "Jahrhundert"  )
                    .replace( /\bJahrh\w*\.?/gi           , "Jahrhundert " )
                    .replace( /\bJh\.?/gi                 , "Jahrhundert " )

                    .replace( /v? ?\.? *\b[Chr]{2,4}\b\.?/gi, " v. Chr."   )
                ;

                date = date
                    .replace( /\b/g  , " " )
                    .replace( / ä /g , "ä" )                  // repair damage
                    .replace( /\s*([.:])/g , "$1 " )
                    .replace( /\s*([\/–])(\s*)/g , "$1" )     // avoid "*_/"

                    .replace( /\s+/g, " " )
                    .replace( /^ /m , ""  )
                    .replace( / $/m , ""  )
                ;

                return date;
            }

            function handle_location( location )
            {
                var us_states = [
                      [ "Alabama"        ]
                    , [ "Alaska"         ]
                    , [ "Arizona"        ]
                    , [ "Arkansas"       ]
                    , [ "Colorado"       ]
                    , [ "Connecticut"    ]
                    , [ "Delaware"       ]
                    , [ "Florida"        ]
                    , [ "Georgia"        ]
                    , [ "Hawaii"         ]
                    , [ "Idaho"          ]
                    , [ "Illinois"       ]
                    , [ "Indiana"        ]
                    , [ "Iowa"           ]
                    , [ "Kalifornien"    ]
                    , [ "Kansas"         ]
                    , [ "Kentucky"       ]
                    , [ "Louisiana"      ]
                    , [ "Maine"          ]
                    , [ "Maryland"       ]
                    , [ "Massachusetts"  ]
                    , [ "Michigan"       ]
                    , [ "Minnesota"      ]
                    , [ "Mississippi (Bundesstaat)|Mississippi"
                      , "Mississippi (Bundesstaat)"
                      , "Mississippi"    ]
                    , [ "Missouri"       ]
                    , [ "Montana"        ]
                    , [ "Nebraska"       ]
                    , [ "Nevada"         ]
                    , [ "New Hampshire"  ]
                    , [ "New Jersey"     ]
                    , [ "New Mexico"     ]
                    , [ "New York (Bundesstaat)|New York"
                      , "New York (Bundesstaat)"
                      , "New York"       ]
                    , [ "North Carolina" ]
                    , [ "North Dakota"   ]
                    , [ "Ohio"           ]
                    , [ "Oklahoma"       ]
                    , [ "Oregon"         ]
                    , [ "Pennsylvania"   ]
                    , [ "Rhode Island"   ]
                    , [ "South Carolina" ]
                    , [ "South Dakota"   ]
                    , [ "Tennessee"      ]
                    , [ "Texas"          ]
                    , [ "Utah"           ]
                    , [ "Vermont"        ]
                    , [ "Virginia"       ]
                    , [ "Washington (Bundesstaat)|Washington"
                      , "Washington (Bundesstaat)"
                      , "Washington"     ]
                    , [ "West Virginia"  ]
                    , [ "Wisconsin"      ]
                    , [ "Wyoming"        ]

                    , [ "Washington, D.C."
                      , "District of Columbia" ]
                ];

                var us = Link_a + "Vereinigte Staaten" + Link_o;

                var found = false;
                for ( var jj = 0;  jj < us_states .length;  jj++ ) {
                    for ( var kk = 0;  kk < us_states[jj] .length;  kk++ ) {

                        var pState = pattern_of( us_states[jj][kk] );
                        var state_in = Or( pLink_a + pState + pLink_o
                                         ,           pState           );

                        var rexp = new RegExp( Or(", ", "^") + state_in + "$" );
                        var matches = location .match( rexp );
                        found = ( matches !== null );
                        if ( found ) {
                            var state_out = Link_a + us_states[jj][0] + Link_o;

                            if ( matches[0] != location ) {
                                location = location
                                    .replace( rexp, ", " + state_out + ", " + us )
                                ;
                            } else {
                                location = state_out + ", " + us;
                            }
                            break;
                        }
                    }
                    if ( found ) break;
                }

                if ( location .match( "^" + S( letter ) + "$" ) ) {
                    location = Link_a + location + Link_o;
                }

                return location;
            }

            var handler = [
                  handle_name
                , handle_alternativnamen
                , handle_kurzbeschreibung
                , handle_date
                , handle_location
                , handle_date
                , handle_location
            ];

            for ( var k = 0;  k < handler .length;  k++ ) {
                val[k] = handler[k] ( val[k] );
            }

            eq_x  = "=" ;

            var pd_result_nucl = (
                  Template_a + template_name
                + NL + Template_m + key[ 0 ] + eq_x + val[ 0 ]
                + NL + Template_m + key[ 1 ] + eq_x + val[ 1 ]
                + NL + Template_m + key[ 2 ] + eq_x + val[ 2 ]
                + NL + Template_m + key[ 3 ] + eq_x + val[ 3 ]
                + NL + Template_m + key[ 4 ] + eq_x + val[ 4 ]
                + NL + Template_m + key[ 5 ] + eq_x + val[ 5 ]
                + NL + Template_m + key[ 6 ] + eq_x + val[ 6 ]
                + NL + Template_o
            );

            var pd_result;
            pd_result = NL + NL + pd_result_nucl + NL + NL;

            rplac_gi( pd_form, pd_result );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

   namestring = new Array(
         "AaAdaAixAraAbaxAccaAcerAiraAlcaAlleAloeAmiaAmmiAnasAnaxAosaApisApusArcaArgeArmaArumAsioAttaAtyaAxiaAxisAaataAbidaAbiesAbrusAddaxAdelaAdoxaAedesAediaAegleAeliaAgamaAgaveAgliaAiliaAjugaAkeraAkravAlceaAlcesAlcisAlnusAlosaAmaraAmataAmecaAnousAnserAonyxAotusAperaAphisApionApiumApodaArdeaArecaArgasArgnaArionAsterAtraxAuxisAvahiAvenaAzaraAzecaAbeliaAcaciaAcaenaAcampeAcerasAcerosAchaeaAchetaAchlyaAcidiaAcinosAckamaAcomysAcorusAcridaActaeaActiasAculusAdaliaAdeniaAdonisAeshnaAethesAethiaAgamiaAglaiaAglaisAgonumAgonusAgriusAillyaAizoonAjaniaAkebiaAkodonAlabesAlariaAlaudaAlbucaAlcedoAlfaroAlhagiAlismaAlliumAlydusAlytesAmeivaAmelesAmoebaAmomumAnabasAnanasAnaniaAnaoraAnartaAnatisAnatyaAneuraAnguisAnhimaAnisusAnnonaAnolisAnomiaAnouraAnoxiaAnthiaAnthusApalisApameaApeiraAplexaApogonApomysAporiaAporusAquilaArabisAradusAraliaAramusArchonArctiaArdopsArengaAriciaArnicaAromiaAroniaArundoAsarumAsemumAstataAsteiaAtelesAtheneAthousAtilaxAtropaAtthisAtypusAucubaAxyliaAythyaAzollaAztecaAbramisAbraxasAbroniaAcaulonAchroiaAciculaAciliusAcinetaAclypeaAcmellaAcrodonActebiaActiniaActitisAdamsiaAdelgesAdeniumAdscitaAechmeaAegopisAeoniumAeretesAeridesAeromysAesalusAethinaAethusaAfrasiaAfzeliaAgapemaAgapetaAgathisAgelaeaAgelenaAglaopeAglossaAgrilusAgroecaAgrotisAilurusAkbesiaAlbiziaAlestesAleuriaAlfaroaAlkannaAllodusAlopiasAloysiaAlpheusAlpiniaAlthaeaAlyssonAlyssumAlzateaAmadinaAmanitaAmazonaAmolopsAmorphaAmpedusAmphionAmphoraAmpulexAmsoniaAnartiaAnchusaAncylusAndrenaAndriasAneidesAnemoneAnethumAneurusAnguloaAnhingaAniliusAniseiaAnisotaAnomalaAntedonAnthiasAnthopsAnthraxAnubiasApaloneApaturaApeltesAphanesAphanusAphloiaAphomiaAphrizaAplastaAplonisAplysiaApteniaApteriaApteryxAptinusAquifexAracanaArachisAraneusAraujiaArbutusArcellaArchipsArcticaArctiumArctosaArcyriaArdarisArdeolaArdisiaAretaonArganiaArgiopeArgulusAriantaAriommaAristeaAriteusArizonaArmeriaArremonArripisArtamusArtemiaAruncusAsarinaAscarisAscotisAsellusAsiminaAspasiaAstacusAstarteAsteliaAstilbeAthaliaAtheliaAtherisAtherixAtlidesAtolmisAttacusAttaleaAuchmisAuloniaAuxopusAvicedaAzorinaAzurinaAbeilliaAbutilonAcalyphaAcanthusAcaroniaAcentriaAcerodonAchatinaAchilleaAcinonyxAcmopyleAconitumAcostaeaAcroporaActidiumActinoteAdiantumAdolphiaAecidiumAegoliusAegosomaAegypiusAelloposAenictusAeolidiaAepeomysAequoreaAerangisAesculusAethomysAfropavoAgamyxisAgaricusAgdistisAgelaiusAgeratumAglanthaAglaspisAgraulisAgriopisAgriotesAgrocybeAgromyzaAgrostisAgrypnusAiluropsAiolopusAiphanesAiptasiaAkashiwoAlamaniaAlangiumAlburnusAlecturaAlliariaAlocasiaAlouattaAlsophisAlstoniaAlticolaAltingiaAluterusAmandavaAmaziliaAmbassisAmberboaAmbrellaAmbrosiaAmeeregaAmegillaAmeiurusAmetridaAmmandraAmmanniaAmmobiumAmpelionAmphiumaAmphizoaAnabaenaAnabasisAnablepsAnacaenaAnamirtaAnampsesAnathanaAnaxyrusAndigenaAndreaeaAndrodonAneilemaAnemoniaAngelicaAngeronaAnguillaAnisodusAnisomysAnniellaAnodontaAnomodonAnopetiaAnopliusAnorthoaAnothecaAnotomysAnotylusAnrederaAnselliaAntaxiusAnthaxiaAntheliaAnthemisAntiarisAnticleaAntilopeAntimimaAntitypeAntrodiaApatesiaAphandraAphaniusAphodiusAploceraAplysinaApocynumApodemusApoderusAposerisApteronaAptornisArachnisArapaimaAratingaArctodusArctonyxArctotisArcyodesArdeotisAremoniaArenariaArethusaArgemoneArgynnisArgyreiaAridariaAriopsisArisaemaArisarumAristidaArixeniaArnelliaArocatusArothronArrheniaArtediusArtibeusArtorimaArundinaArvicolaAscaphusAsemoneaAspazomaAsperugoAsperulaAssurgerAsteriasAstraeusAstrapiaAstreblaAstridiaAstyanaxAtelerixAtelopusAthenaeaAtherinaAtherionAthyriumAtrichumAtriplexAtylodesAubrietaAucoumeaAudantiaAugastesAuloceraAulopygeAuplopusAurornisAverrhoaAzemiopsAzorellaAztekiumAaptosyaxAbditomysAbdomineaAbramitesAbrostolaAbrothrixAbudefdufAccipiterAcharagmaAchimenesAchlydosaAcianthusAcipenserAconaemysAcosmeryxAcriopsisAcrobatesAcrocinusAcrocomiaAcroloxusAcronictaAcrorchisAcrosatheAcrylliumActinemysActinidiaActinotiaAdansoniaAegithinaAenhenryaAeoliscusAepycerosAequidensAeranthesAeromonasAethaluraAetobatusAframomumAfroeduraAgapornisAgastacheAglaonemaAgoniatesAgrimoniaAgriornisAgriphilaAgrocholaAgropyronAhaetullaAichrysonAidemediaAilanthusAipysurusAlcolapiaAlcyoniumAlectoriaAlectorisAleuritesAlisterusAlistipesAllactagaAllamandaAllantionAllantomaAlligatorAllobatesAllocebusAlloclitaAllophyesAllotropaAlluaudiaAlopecosaAlopochenAlosternaAlsomitraAlsophilaAlvinellaAmarsipusAmaryllisAmblyommaAmblyrajaAmborellaAmbystomaAmetropusAmmobatesAmmoconiaAmmodytesAmmomanesAmmophilaAmphidiumAmphilaisAmphipyraAmytornisAnacyclusAnagallisAnairetesAnaplasmaAnastomusAnastrabeAncistrusAndinomysAndiperlaAndromedaAndrosaceAngophoraAngraecumAnisopliaAnochetusAnonidiumAnophelesAnseranasAntaresiaAntheraeaAnthidiumAnthornisAnthrenusAnthuriumAnthyllisAntidesmaAntigoniaAntigononAntrolanaAntrozousAnyphaenaAphanopusAphidectaAphroditaAplectrumApocheimaApopestesAporrhaisApostasiaAprocerosAprotodonApteribisAquilariaAquilegiaArachnulaAraniellaAraschniaAraucariaArborimusArcanatorArctictisArctornisArcypteraArenicolaAreniferaArgentinaArgonautaArhopalusArichannaAriolimaxArmoraciaArnoserisArracaciaArrojadoaArtemisiaAscaleniaAsclepiasAsparagusAspiditesAspidorasAspidytesAspleniumAssiculusAstrantiaAstraptesAstraspisAstroidesAstrolobaAstropygaAstydamiaAsystasiaAthamantaAtherurusAtlapetesAttagenusAttelabusAumelasiaAuriparusAustroniaAutomerisAvicenniaAyyaloniaAaveqaspisAblepharusAbrosaurusAcanthurusAcantopsisAcherontiaAchnanthesAchoerodusAcmaeoderaAcrocarpusAcrochaeneAcrometopaActenoidesAculepeiraAdenophoraAdetomyrmaAdhemariusAdoxophyesAegithalosAegopodiumAegothelesAelurillusAerodramusAeronautesAethionemaAextoxiconAfrocarpusAfronandusAgalenateaAgalychnisAgapanthiaAgapanthusAgathidiumAgathomyiaAgelasticaAglaeactisAgrostemmaAiluroedusAiluropodaAktautitanAlcantareaAlcelaphusAlchemillaAldrovandaAlfaropsisAlgyroidesAliivibrioAllophryneAllophylusAlocentronAloinopsisAlopecurusAlternariaAlvaradoiaAlvarodoiaAlxasaurusAlyssoidesAmaranthusAmaurornisAmazonettaAmblyornisAmblyseiusAmblysomusAmerorchisAmmocharisAmmodillusAmmodorcasAmmodramusAmmolagenaAmmoperdixAmmoplanusAmmotragusAmpelopsisAmphiboliaAmphiprionAmphistiumAnabathmisAnacamptisAnacardiumAnacridiumAnaglyptusAnaptychiaAnarhichasAnastaticaAnathallisAnatotitanAnchomenusAnchusellaAncistruraAndrocorysAndrolepisAndropogonAnhangueraAnogeissusAnomallumaAnomalurusAnonymomysAnoploderaAnoplopomaAnoxycalyxAntarcellaAntechinusAntennariaAntennatusAnthericumAnthocerosAnthocomusAnthonomusAnthophoraAnthriscusAntidorcasAntilophiaAnyperodonApalodermaAphanocrexAphantopusAphelandraAphelocomaAphrasturaAphrophoraAplodontiaAplothoraxApolloniasAponogetonAporophylaApsisaurusArabidellaAracamuniaArachnitisArchicebusArchiearisArctocebusArctomeconArctonotusArctothecaArctozenusArethusanaArgusianusArgyronetaAriocarpusArmillariaArthropleaArtocarpusAscomorphaAspalathusAsphodelusAspidapionAspidelapsAspidistraAspidogyneAsplanchnaAstacopsisAsteriscusAsterogyneAsteropeiaAstragalusAstrapogonAstronotusAstrorhizaAsyncoryneAtelocynusAthrotaxisAtlantisiaAtractidesAtractylisAtraphaxisAtropantheAtropoidesAulacaspisAuletobiusAulichthysAuliscomysAulonocaraAulostomusAustrelapsAutographaAviculariaAbelmoschusAbeomelomysAbietinellaAcanthasterAcanthinulaAcantholydaAcanthophisAcanthosomaAcarichthysAcentronuraAcetobacterAchatinellaAchnatherumAchroomycesAchyranthesAcinetactisAcokantheraAcrantophisAcreichthysAcrochordusAcrosanthesAcrotrichisActinomycesAdamantiniaAdenocarpusAdenochilusAdenostemmaAdenostylesAdromischusAedimorphusAegagropilaAegomorphusAeolidiellaAepyprymnusAequipectenAfrovivellaAgathiphagaAgenioideusAgkistrodonAglaophytonAgonopterixAlaskozetesAlbatrellusAlburnoidesAlcaligenesAlcanivoraxAlectroenasAlepisaurusAlexgeorgeaAllagopteraAllodynerusAlloplectusAllotalantaAloiampelosAloidendronAmalocichlaAmatitlaniaAmaurospizaAmbloplitesAmblygobiusAmblyospizaAmbulocetusAmelanchierAmentotaxusAmitostigmaAmphilophusAmphimallonAmphinemuraAmphisbaenaAnarhynchusAncylostomaAndinoacaraAndinobatesAndroctonusAnemonopsisAngolatitanAnisomorphaAnisostictaAnisotremusAnnamocaryaAnomochilusAnonconotusAnoplolepisAnoplophoraAnotopterusAnourosorexAnserimimusAntennariusAnthocercisAnthochaeraAnthocharisAnthogoniumAnthomastusAnthophagusAnthopleuraAnthotrocheAntilocapraAntirrhinumAntisolabisAntitrichiaAnurophasisApalopteronAphonopelmaAphyocharaxAphyosemionAplocheilusAplodinotusApocephalusApodolirionAporinellusAporostylisAppendiculaAprosmictusAptenodytesApteranthesApteronotusArabidopsisAraeococcusArborophilaArchilochusArchosargusArgogorytesArgyresthiaArgyrodermaArgyrosomusAristoteliaArnoglossusArpophyllumArundinariaArvicanthisAscocentrumAscophyllumAspergillusAsphodelineAspideretesAsterophoraAsterophrysAsteroxylonAstilboidesAstroblepusAstrochelysAstrophytumAtrichornisAtypichthysAulacomniumAulacoseiraAulonogyrusAulosepalumAuriculariaAustrallumaAustrotaxusAzadirachtaAzotobacterAbrawayaomysAcanthacarisAcanthastreaAcanthisittaAcanthocinusAcanthodorisAcantholimonAcanthosauraAceratheriumAcetabulariaAcholeplasmaAchrostichumAcridotheresAcrocephalusAdeloneivaiaAdelphobatesAechmophorusAethephyllumAethophyllumAfropithecusAglaiocercusAizoanthemumAjancingeniaAlatiliparisAlertichthysAleurodiscusAlipiopsittaAllaeochelysAlloclavariaAlloiopterisAllomogurndaAlstroemeriaAltensteiniaAmaurochaeteAmaurolimnasAmblystegiumAmbuchananiaAmmobatoidesAmorphothecaAmpelocissusAmpelodesmosAmphiglossusAmphioctopusAmphipetalumAmylostereumAnacampserosAndalgalomysAndrocymbiumAndrographisAnigozanthosAnisochromisAnophthalmusAnoplogasterAnoplotrupesAnoxypristisAntechinomysAntegibbaeumAntetonitrusAnthocephalaAnthocleistaAnthoxanthumAnthropoidesAntidythemisAntillothrixAnurognathusAphanapteryxAphredoderusAphyllanthesAphyllorchisApistogrammaAplodactylusApometzgeriaArachnocampaArachnospilaArachnotheraArceuthobiumArchaeolemurArchboldomysArchiteuthisArchocentrusArctogalidiaArcyriatellaArdipithecusAristolochiaArmatocereusArthrobacterArthrocereusArthrochilusAscodichaenaAscotremellaAsfaltomylosAspidospermaAsterionellaAsteroscopusAsterostromaAtlantoxerusAtractoscionAtractosteusAuerodendronAulacigasterAulorhynchusAuriscalpiumAustrocactusAustrocedrusAustroglanisAustrolabrusAwerintzewiaAzospirillumAbactochromisAbeliophyllumAbyssobrotulaAcamptonectesAcanthocardiaAcanthocereusAcanthocybiumAcantholabrusAcanthosicyosAchanarraspisAchromobacterAcinetobacterAcmaeoderellaAcoelorrhapheAcrolepiopsisActinostrobusActinotaeniumActophilornisAcyrthosiphonAdelphailurusAdrianichthysAeschynanthusAgrobacteriumAlalcomenaeusAldabrachelysAlepocephalusAllocasuarinaAllolobophoraAlternantheraAmblyeleotrisAmblyrhynchusAmesiodendronAmphinectomysAmycolatopsisAnadenantheraAnaerovirgulaAnarrhichthysAnastrangaliaAnatrachyntisAncistrocerusAndrewsarchusAndrzeiowskiaAnodorhynchusAnoectochilusAnoiapithecusAnthracocerosAnthrenocerusAphanizomenonAphanopetalumAphelocephalaAphelocheirusApolemichthysAraripichthysArchaeamphoraArchaefructusArchaeoindrisArchaeopterisArchaeopteryxArctocephalusArgyranthemumArgyropelecusArgyroxiphiumArmadillidiumArnoldichthysArrhenatherumAstatotilapiaAtelomycterusAuchenoglanisAuranticordisAureobasidiumAustraloherosAustralopicusAustrobaileyaAbrachyglossumAcanthochitonaAcanthochlamysAcanthochromisAcanthoprasiumAcanthoscurriaAcanthostachysAcetomicrobiumActinobacillusAgrostophyllumAlbertadromeusAllenopithecusAllocricetulusAmazophrynellaAmorphophallusAmpelozizyphusAmphichaetodonAnatololacertaAncistrochilusAncistrocladusAnkarapithecusAnkistrodesmusAnomalochromisAphelenchoidesArchaeolacertaArctostaphylosArgocoffeopsisArsinoitheriumArthurdactylusAsterolecaniumAstrorhizoidesAulacocephalusAulacorhynchusAcanthephippiumAcanthobasidiumAcanthocalyciumAcanthocephalusAcanthodactylusAcanthomeridionAcanthoscelidesAcanthostracionAcestrorhynchusAcetofilamentumAegyptopithecusAglossorrhynchaAlestopetersiusAltolamprologusAngiostrongylusArcanobacteriumAschersoniodoxaAulacochthebiusAuriculariopsisAcanthomenexenusAeluroscalabotesAelurostrongylusAlicyclobacillusAmblyglyphidodonAmblypharyngodonAmmospermophilusAmpulloclitocybeAncistrorhynchusAnguillicoloidesAstatoreochromisAustralopithecusAustropotamobiusAcidithiobacillusAdontosternarchusAmphirhagatheriumArchaeorhizomycesAleurocystidiellumArchaeodontosaurusAustrocylindropuntiaA"
       , "BoaBosBetaBixaBuboBufoBadisBaleaBanjiBatisBeryxBettaBibioBipesBisonBitisBlapsBlyxaBoigaBoopsBorboBotiaBoueaBramaBrizaBryumBuccoBullaButeaButeoButiaButisBuxusBacchaBacopaBaetisBanjosBarbusBarliaBarneaBasfiaBassiaBataraBattusBeamysBellisBeloneBembixBerulaBetulaBiarumBiatasBidensBijliaBilliaBirgusBistonBitomaBlanusBlattaBletiaBliccaBlitumBombaxBombusBombyxBoragoBoreusBosciaBothusBowieaBraheaBrantaBromusBrosmeBrotiaBrugiaBrumusBryconBuakeaBuniasBuniumBurkeaButhusByblisBabesiaBabianaBactrisBaculumBadisisBaeckeaBaiomysBalaenaBalellaBallotaBambusaBanganaBankeraBanksiaBaptriaBarbeyaBarbulaBartsiaBasellaBatagurBatomysBedotiaBegoniaBelgicaBelliumBelomysBergeraBiastesBibimysBielziaBiomyxaBiziuraBlamadaBlarinaBlediusBlighiaBlindiaBlysmusBodilusBoletusBolinusBoloriaBomareaBombinaBonasusBonateaBorarasBoroniaBosminaBovistaBoweniaBoyeriaBrassiaBrochisBrookeaBroscusBrotulaBrowneaBruchusBryoniaBryoriaBubalusBucerosBuchloeBufoniaBufotesBulbineBulinusBunomysBupalusBurseraBurttiaBusyconButomusByturusBacillusBadhamiaBagariusBagheeraBalanopsBalistesBallerusBaptisiaBarbareaBarbeuiaBarbodesBarbuccaBariliusBarkeriaBarkudiaBartoniaBatoceraBauhiniaBaynesiaBazzaniaBdeogaleBedelliaBeiseliaBelohinaBelontiaBembeciaBencomiaBerardiaBerberisBereniceBergeniaBerteroaBerylmysBetonicaBidessusBifasciaBignoniaBiorhizaBistortaBithyniaBittacusBivonaeaBlaberusBlechnumBlenniusBletillaBlochiusBodianusBoecheraBolyeriaBoophoneBorassusBorreliaBotaurusBothropsBotrytisBowkeriaBoykiniaBrabejumBrachytaBradypusBrahmaeaBrasidasBrassicaBrenthisBriareumBrimeuraBromeliaBrosimumBrucellaBrunneraBrychiusBrycinusBubulcusBuccinumBucorvusBuddlejaBudorcasBulgariaBullimusBulnesiaBulweriaBungarusBuphagusBurhinusBurnupiaBurramysBabakotiaBabyrousaBaccharisBaeocraraBaeometraBaeomycesBaeosporaBalanitesBalearicaBambusinaBandicotaBarbatulaBarnardiaBartheliaBartramiaBathylacoBeatragusBelonesoxBembidionBenincasaBenzingiaBerardiusBerchemiaBerneuxiaBettongiaBiophytumBiotodomaBiotoecusBlattellaBoehmeriaBoerhaviaBolbitiusBombyliusBoswelliaBotrydiumBotrynemaBouchetiaBowdleriaBrachinusBrachyopaBrassolisBrefeldiaBreviboraBrevicepsBrewcariaBrexiellaBrighamiaBritteniaBrookesiaBrowalliaBrownleeaBrunelliaBryconopsBryophilaBucanetesBucephalaBugeranusBunolagusBupleurumBuprestisBurmanniaBurnettiaButoridesBuxbaumiaByctiscusBacillariaBackhousiaBaeolophusBairdiellaBalistapusBarbaturexBarbeyellaBarbonymusBarbourulaBarnardiusBartonellaBartsiellaBasiliscusBathyergusBathynomusBeaucarneaBeaufortiaBellevaliaBembecinusBenthosemaBhutanitisBifrenariaBillbergiaBiscutellaBismarckiaBisporellaBlackalliaBlarinellaBlarinomysBlumenaviaBlutaparonBoesemaniaBohadschiaBoletopsisBombycillaBordetellaBoreogadusBoselaphusBostrichusBostrychiaBotrychiumBoucerosiaBrachionesBrachionusBrachistusBrachytronBranisellaBrassavolaBrevoortiaBrocchiniaBrontornisBrotogerisBrowningiaBrugmansiaBrunfelsiaBrunsvigiaBryaninopsBryophryneBubalornisBuccanodonBuchtieniaBujurquinaBulbinellaBurchardiaBurchelliaButhraupisBuxolestesBycanistesBythinellaBacteroidesBagrichthysBaiyankamysBalaenicepsBalantidiumBalistoidesBambusicolaBarbastellaBarbitistesBarbourisiaBarycypraeaBaskervillaBassaricyonBassariscusBathyclupeaBathysaurusBatrachedraBellatoriasBeloglottisBelonophagoBensoniellaBerlandieraBetadevarioBinucleariaBituminariaBjerkanderaBlackstoniaBlandfordiaBlastocerusBlastodacnaBlossfeldiaBlythipicusBoeromedusaBogertophisBondarzewiaBothragonusBothrideresBothriechisBothriopsisBrachyderesBrachylaenaBrachylagusBrachymesiaBrachypelmaBrachyscomeBrachyspiraBrachysteleBrachytelesBradypterusBregmacerosBrienomyrusBroughtoniaBrownanthusBulbochaeteBulbostylisBuphthalmumBusycotypusBythiospeumBadhamiopsisBalaenopteraBalsamorhizaBarapasaurusBarringtoniaBasileuterusBathypteroisBatozonellusBdellovibrioBeijerinckiaBellubrunnusBenthamiellaBerberomeloeBerchemiellaBergeranthusBertholletiaBesanosaurusBeschorneriaBifascioidesBlastobotrysBlastocystisBlauastrildeBlepharopsisBlinkworthiaBlumenbachiaBoesenbergiaBoettgerillaBoissonneauaBolitoglossaBolitophagusBothriochloaBothrochilusBotryococcusBoudinotianaBoulengerulaBrachaelurusBrachionychaBrachycereusBrachychitonBrachygobiusBrachyistiusBrachylophusBrachymystaxBrachyphyllaBrachypodiumBrachystegiaBrachystelmaBrachyuromysBrechmorhogaBromeliohylaBroussonetiaBuglossidiumBuglossoidesBulbophyllumBurkholderiaByssochlamysBalionycterisBarbilophoziaBaryancistrusBaryphthengusBathiorhamnusBathylychnopsBathymodiolusBaylisascarisBellidiastrumBenthochromisBergerocactusBiebersteiniaBiscogniauxiaBlepharostomaBolborhynchusBolboschoenusBothrocophiasBougainvilleaBoulengerellaBrachyramphusBrachyrhaphisBrachytheciumBrasilicereusBrotulotaeniaBucklandiellaBajacaliforniaBalantiopteryxBanisteriopsisBathysauroidesBathysauropsisBatrachostomusBleheratherinaBokermannohylaBorassodendronBotryobasidiumBrachycephalusBrachytarsomysBradyrhizobiumBrasiliopuntiaBrassicogethesBrevibacteriumBryconaethiopsBalantiocheilosBathylutichthysBatrachospermumBeccariophoenixBelodontichthysBifidobacteriumBiswamoyopterusBlattabacteriumBoulengeromyrusBrachionichthysBrachypotheriumBatrachochytriumBornmuelleranthaBrachyplatystomaBrasileodactylusBoulengerochromisBrachytheciastrumBrucepattersoniusBrachydiastematheriumB"
       , "CeyxCleaCoixColaCotaCouaCraxCrexCuonCadeaCaleaCaliaCallaCanisCannaCapraCarexCarumCaryaCathaCatlaCausaCaviaCebusCeibaChacaChaosCharaCicerCilixCimexCionaCissaCocosColeaColpaConusCorisCornuCulexCuoraCycasCydiaCymusCaberaCaimanCakileCaligoCalthaCalviaCancerCantuaCapitoCapniaCaprosCaranxCarapaCaricaCarsiaCassiaCassisCaususCedrusCeleusCeltisCepaeaCercisCereusCeruraCervusCeryleCettiaChandaChannaChanosCharaxChaunaChelisChelonChelusCheraxChiguaChitonChungaChysisCichlaCicutaCimbexCintiaCionusCircusCissusCistusCitrusCleliaCleoraClerusCliviaCloeonClupeaClytraClytusCobaeaCoddiaCoffeaColepsColiasColisaColiusColuraCongerConiumConopsConyzaCoprisCoptisCordiaCoreusCorixaCornusCorreaCorsiaCorvusCosmiaCosmosCossusCostusCottusCotulaCrabroCrambeCrepisCressaCrinumCrocusCrotonCtenusCulaeaCupheaCupidoCyaneaCyanusCygnusCynaraCynipsCynopsCyttusCabombaCacajaoCacatuaCacicusCairinaCajanusCalamiaCalamusCaliroaCallunaCalomysCalopusCalummaCalymmaCalypsoCalypteCamelusCampaeaCampsisCanangaCandidaCandoiaCanopusCanotiaCapereaCapoetaCarabusCaracalCarduusCarettaCariamaCariliaCarissaCarlinaCarmonaCarukiaCaryotaCasareaCassidaCassineCatalpaCathayaCatreusCedrelaCelaenaCelosiaCelyphaCepphusCerariaCerberaCerthiaCestrumCetoniaCharinaCharniaChazaraCheilioChelmonCheloneChesiasChikilaChionisChitalaChlamysChoisyaCholevaChromisChrysisCiboriaCiconiaCidariaCinclusCircaeaCirsiumCladiumClariasClarinaClarkiaClavijaClemmysCleonisCleptesClethraCleyeraClivinaCneorumCnestisCnidiumCobitisCoendouCoerebaCoincyaColeuraColibriColinusCollemaColobusColpodaColpomaColuberColumbaColuteaComberaConrauaConuberCopellaCopiulaCorillaCorizusCormuraCoruciaCorylusCoryphaCotesiaCotingaCotinusCraesusCrambusCrangonCratevaCrocotaCrocutaCrupinaCryphiaCtenopsCucujusCuculusCucumisCulcitaCuminumCurcumaCurinusCuscutaCyatheaCyathusCybebusCybosiaCychrusCyclopsCyclosaCycluraCydoniaCynaedaCynodonCynomyaCynomysCyornisCypellaCyperusCypraeaCyrillaCytinusCytisusCacyreusCaeciliaCaladiumCalantheCalathusCalcinusCaleonasCalepinaCalidrisCallaeasCallisiaCaloceraCalocybeCaloenasCalomeraCalomyxaCalonemaCalosomaCalponiaCalvatiaCalyptraCalytrixCamaropsCamassiaCamelinaCamelliaCanarinaCanariumCannabisCannomysCansumysCapnellaCapnodisCapparisCaprariaCapromysCapsellaCapsicumCaracaraCaraganaCarcinusCardoriaCaridinaCarolliaCarpinusCarpomysCarteriaCarybdeaCaryocarCassiopeCassythaCastaneaCatephiaCatharusCatocalaCatopsisCattleyaCaulerpaCautleyaCayratiaCecropiaCecropisCedestisCelaeniaCentellaCenturioCerambyxCeramicaCerastesCerastisCeratinaCeratiumCerbalusCercerisCercibisCerintheCerocomaCeruchusCethosiaCetrariaCevalliaChaeturaChalceusChamaeloCharaxesCharissaCharoniaChelemysCheliferCheloniaChelydraChersinaChiasmiaChilacisChilomysChimaeraChironexChloebiaChlorionChondrusChrysopsChrysuraCibotiumCimberisCinchonaCinnyrisCiridopsCitipatiCladoniaClamatorClamorisClangulaClaravisClathrusClausenaClavariaCleistesClematisCleretumClitoriaClosteraClubionaCocciniaCoccymysCociellaCocytiusCodiaeumCoeloniaColaciumColaptesColeonyxColletesCollybiaColotoisColydiumComasterCondaliaConistraConocybeConsoleaContopusCooloolaCopiapoaCoprinusCoptodonCoraciasCoracinaCoradionCoraebusCoragypsCorallusCorduliaCordylusCoriariaCornuviaCorymbiaCorynaeaCosciniaCossonusCoturnixCoxiellaCrantziaCrassulaCreagrusCrenobiaCricetusCrithmumCrossyneCrotalusCruciataCrunomysCtenomysCuculliaCulisetaCurculioCurtisiaCussoniaCyanirisCyanotisCyclamenCyclopesCyclopiaCydalimaCymatiumCymbellaCymothoaCynarinaCynictisCynogaleCyprinusCypseleaCyrtonyxCyrtosiaCyttariaCabassousCaenolydaCafeteriaCaiophoraCalamitesCalanesiaCalcariusCalendulaCalibanusCallidiumCallimicoCallistusCallitrisCalluellaCallulinaCaloplacaCalothrixCaluromysCalypturaCamerariaCampanulaCampyliumCanavaliaCanephoraCanistrumCantharisCapreolusCarallumaCarassiusCarausiusCardamineCardisomaCarduelisCarinariaCarnegieaCarpesiumCarpiodesCarrhotusCarterinaCarthamusCarychiumCassiopeaCasuarinaCasuariusCatabrosaCatagonusCatasetumCathartesCatinellaCatoprionCatoptriaCautethiaCeanothusCelastrusCelonitesCemophoraCenangiumCentaureaCentipedaCentropusCephalciaCephalotaCerastiumCeratitisCeratodonCeratomiaCeratoniaCercyonisCerdocyonCereopsisCeropalesCeropegiaCeroxylonCertallumChaeropusChaetodonChaetomysChalcidesChamaeleoChamerionCharanycaCheilinusCheilosiaChelodinaChersotisChicoreusChilopsisChionomysChironiusChlaeniusChlamydiaChloanthaChlorellaChodsigoaChoeradesChoerodonCholoepusChondrinaChoreutisChorosomaChouardiaChrotomysChrysaoraChrysemysCicadellaCicerbitaCichoriumCicindelaCinclodesCircaetusCirrhinusCisticolaCitrullusCladiellaClavicepsClavulinaClaytoniaCleonymiaCleorodesClianthusClidastesCliftoniaClimaciumClintoniaClitocybeCnemaspisCoccidulaCoccinulaCoccolobaCoccomyxaCocconeisCoeligenaCoelioxysCoenomyiaColchicumColocasiaColomesusColoradiaColossomaColpidiumColumbinaColumellaCombretumComibaenaCommelinaComptoniaCondyluraConepatusConicosiaConilurusConiophisConisaniaConnelliaConringiaConsolidaCooksoniaCopaiferaCopsychusCorallinaCoralliumCoranartaCorbiculaCorchorusCordycepsCordylineCoregonusCoreopsisCoronellaCoronillaCorophiumCorrachiaCorticeusCortoderaCorydalisCorydorasCoscorobaCosmariumCosmorhoeCotyledonCracticusCranichisCrataegusCrateriumCremnomysCrenidiumCrenuchusCrepidulaCribrariaCriocerisCrocallisCrociduraCrocosmiaCrossomysCryphalusCrypsedraCryptobiaCryptotisCteniceraCtenidiumCteniopusCtenopomaCuatresiaCucurbitaCuniculusCupressusCursoriusCyamopsisCyanerpesCyanistesCyanochenCyanolycaCyanopicaCyclarhisCycloranaCylinderaCylindrusCymbidiumCynanchumCynanthusCynegetisCynometraCynoscionCynosurusCypsiurusCyrtaspisCyrtocaraCyrtomiumCytophagaCaerostrisCalaminthaCalamobiusCalicotomeCalliactisCalliandraCallicarpaCallicebusCalliergisCalliergonCallilepisCallionimaCallipeplaCallipogonCallitearaCallithrixCallonettaCallophrysCallosamiaCalocedrusCalomyscusCaloperdixCalophasiaCalopteryxCaloptiliaCalotritonCalotropisCalypogeiaCalystegiaCamallanusCampetheraCamponotusCampsidiumCampylopusCanariomysCandelariaCanirallusCannaphilaCapillariaCaprolagusCarapicheaCarchariasCarchesiumCardellinaCardiandraCardinalisCarpantheaCarpelimusCarpitalpaCarpodacusCaryosporaCastillejaCataclysmeCataclystaCatanancheCathaiemysCatostomusCeballosiaCedronellaCelastrinaCelithemisCenococcumCentauriumCentriscusCentropygeCephalariaCephalotusCephaloziaCephalurusCerapteryxCercocebusCercomonasCeriagrionCerorhincaCetorhinusChaerephonChalarodonChamaeropsChamorchisChampsodonCharadriusCharmosynaChasmantheChauliodusChelmonopsChenonettaChiasmodonChilocorusChimaphilaChinchillaChioglossaChionactisChionodoxaChirodermaChironemusChironomusChiropotesChiruromysChitonellaChlamyderaChlidoniasChloephagaChloridopsChlorocalaChloromyiaChloropsisChlorornisChoeropsisCholamonasChondrillaChordeilesChoriasterChromulinaChroomonasChrotogaleChrysochirChrysocyonChrysolinaChrysomelaCichlasomaCicinnurusCinnamomumCipocereusCitharinusCitheroniaCladophoraCladrastisClavulariaCleptornisClermontiaClitopilusClonorchisClosteriumClytomyiasClytospizaCnemiornisCnestidiumCoccinellaCochleariaCochlicopaCochlodinaCodonopsisCoelastrumCoelodontaCoenagrionColeanthusCollocaliaCollodermaCollothecaColocongerColostygiaColymbetesComatrichaComephorusCommiphoraCongosorexConiophoraConocarpusConochilusConolophusConopholisConophytumConopodiumConostegiaConstantiaContariniaConuropsisCoperniciaCophixalusCoracopsisCordylobiaCoriandrumCoriomerisCorrigiolaCorsiopsisCortaderiaCorumbellaCorylopsisCoryphaenaCoryphomysCorythuchaCostulariaCouroupitaCrataerinaCrateromysCraugastorCrenothrixCreobroterCrepidotusCrescentiaCricetomysCricetulusCrocodylusCronartiumCrossandraCrotalariaCrotophagaCrucibulumCrucigeniaCryphalopsCrypsirinaCryptandraCryptophisCryptoponeCrypturgusCtenonotusCtenophoraCtenosauraCulicoidesCyananthusCyanocittaCyanocoraxCyanoptilaCyanotheceCyclocaryaCyclophoraCyclopogonCyclotellaCyclothoneCymadotheaCymatocepsCymbalariaCymbocarpaCymbopogonCynolebiasCynomoriumCynopterusCyprinellaCyprinodonCyrtanthusCyrtophoraCystodermaCystopeltaCystophoraCystorchisCacosternumCaenolestesCaesalpiniaCalandrellaCalceolariaCaliadurgusCalibrachoaCallambulyxCallimorphaCallinectesCalliptamusCallisaurusCallistemonCallitricheCallopistesCallorhinusCalochortusCalonectrisCalophyllumCaloprymnusCalycanthusCalycobolusCamaropteraCambarellusCampephilusCamptopoeumCanararctiaCapricornisCaprimulgusCaracanthusCarcharodonCarcharodusCardiodermaCardopatiumCareproctusCarlhubbsiaCarludovicaCarpobrotusCarpococcyxCaryophanonCaryopterisCaryoscaphaCaspiomyzonCastanopsisCastoroidesCataglyphisCatharopezaCatlocarpioCattleyellaCaudantheraCaularthronCaulipsolonCaulophryneCedrelopsisCentranthusCentriscopsCentrogenysCentropomusCentropyxisCephalophusCephenemyiaCeratiomyxaCeratogymnaCeratolobusCeratophoraCeratophrysCeratozamiaCercartetusCerochlamysCeuthostomaChaenomelesChaenostomaChaetocaudaChaetodipusChaetopelmaChaetophoraChaetoptilaChaetostomaChalciporusChalcomitraChalcophapsChalcophoraChamaedoreaChamaemelumChamaepsilaChartolepisCheilothecaCheilotremaCheilymeniaCheirolepisCheiromelesCheironitisChelidoniumChelonoidisChenopodiumChichicasteChiloglanisChionanthusChirodectesChirodropusChiromyscusChironectesChiropsellaChiroxiphiaChlamydotisChlorocebusChlorotalpaChlupacarisChoiromycesChondrosomaChorthippusChromobotiaChromolaenaChroococcusChrozophoraChrysanthiaChrysipteraChrysolepisChrysolopusChrysopeleaChrysoperlaChrysopilusChrysotoxumCinclidotusCistothorusCitrobacterCivettictisClastodermaClimacterisClinopodiumClitellariaClostridiumClupeonellaCnesterodonCochleariusCochliomyiaCochlostomaCodonorchisCoeloneurumCoenonymphaColeochaeteColobanthusColostethusCompsopteraConcholepasCondylactisConimitellaConopophagaConvallariaConvolvulusCoprinellusCoprinopsisCoprophilusCorispermumCortinariusCorymborkisCoryphanthaCorythaeolaCorythornisCosmochilusCosmopsarusCosmopterixCosmotricheCotoneasterCottunculusCoturnicopsCotylorhizaCranioleucaCraniophoraCranoglanisCrassostreaCraterellusCratogeomysCratoneuronCreatophoraCrenichthysCrenicichlaCrinopteryxCristispiraCrocothemisCromileptesCronobacterCrossarchusCrossocerusCrotaphytusCryosophilaCrypococcusCryptanthusCryptoherosCryptomeriaCryptomonasCryptonanusCryptophapsCryptospizaCtenobryconCtenogobiusCtenolabrusCtenolophonCtenophryneCupelopagisCupriavidusCuvieroniusCyanocompsaCyanolimnasCyanoliseusCyanopsittaCyclantheraCyclichthysCyclocosmiaCyclopsittaCyclopterusCymbilaimusCynodontiumCynoglossumCynotilapiaCyphantheraCyphochilusCyphostemmaCypraeovulaCypripediumCypseloidesCyrtopeltisCystopterisCactoblastisCalamophytonCalcochlorisCallacanthisCallistephusCallopanchaxCallopistriaCallosciurusCalloselasmaCalycobathraCalyptrogyneCalyptronomaCamarhynchusCampomanesiaCamptogrammaCanistropsisCantharellusCantherhinesCanthigasterCarasobarbusCarcharhinusCarcharoclesCardiocrinumCardiophorusCarmichaeliaCaryotophoraCastroviejoaCatharanthusCatophractesCellulomonasCentrocercusCentrochelysCentrolabrusCentrolophusCentrophorusCentrophryneCentroplacusCentroptilumCentruroidesCephalodellaCephalotaxusCerastodermaCeratocapnosCeratogaulusCeratoglanisCeratostigmaCercotrichasCerrophidionChacodelphysChaenogaleusChaenorhinumChaetocercusChaetodermisChaetogasterChaetopterusChaetospaniaChalcolestesChalcopsittaChalcostigmaChalinolobusChamaecostusChamaedaphneChamaeliriumChamaerhodosChamelauciumCharadrahylaChartoscirtaChasmataspisCheilocostusCheiridopsisCheirogaleusCheirolophusCheirostylisCheliomyrmexChelyocarpusChersophilusChiasmocleisChibchanomysChilatherinaChiloscyphusChimarrogaleChinchillulaChionoecetesChirocentrusChiropodomysChiropsoidesChitinophagaChlaeniellusChlamyphorusChloroceryleChloroclystaChlorophanusChlorophoniaChlorophorusChlorophytumChlorosaccusChoeroniscusChoerophryneChondrostomaChortolirionChroogomphusChrotopterusChrysichthysChrysochraonChrysoclistaChrysococcyxChrysodeixisChrysogasterChrysolampisChrysolophusChrysospalaxCimolichthysCirrhigaleusCirrhilabrusCirrhipathesCirriphyllumCladoselacheCladosporiumCleithracaraClerodendrumClitostethusClonostachysClupeacharaxClytoctantesCoccidioidesCoccidiphilaCoccothrinaxCochliostemaCodoriocalyxCodriophorusCoeloglossumCoelometopusCoelotilapiaCoenocoryphaCoenotephriaColossendeisColpothrinaxCompsobuthusConchoraptorCondorraptorCondyloderesCongochromisConnochaetesConocephalumConocephalusConopomorphaConorhynchosConothraupisCoprimorphusCordisepalumCordylophoraCorryocactusCorynephorusCorynepterisCorynocarpusCorynorhinusCostaconvexaCottendorfiaCotylolabiumCricetulodonCrossoptilonCrowsoniellaCryptocercusCryptococcusCryptocoryneCryptogrammaCryptoproctaCryptopsarasCryptostegiaCryptotaeniaCrypturellusCtenochaetusCucurbitellaCumulopuntiaCunninghamiaCuphophyllusCyanoramphusCylindraspisCylindrophisCymatogasterCymatopleuraCymbalophoraCynocephalusCyphostethusCyphotilapiaCypraecassisCyprichromisCystolepiotaCystomutillaCalamagrostisCallianthemumCalliphysalisCallocephalonCallorhinchusCallovosaurusCaluromysiopsCalymmanthiumCampylobacterCampylopterusCampylosiphonCanthocamptusCapellirallusCardiocraniusCardiospermumCarettochelysCarpediemonasCentroscymnusCephalantheraCephalocereusCephalodiscusCephalopholisCephaloziellaCeratophyllumCeratotheriumCercopithecusCetopangasiusCeutorhynchusChaerophyllumChamaecyparisChamaecytisusChamaespheciaChanodichthysCharpentieriaChaunoproctusChilgatheriumChiloscylliumChionographisChirostenotesChlamydomonasChlamydophilaChlamydophoraChlorociboriaChloroclystisChlorophyllumChlorostilbonChondrocladiaChondrohieraxChoristoneuraChortopodismaChromatopelmaChrysanthemumChrysobalanusChrysobothrisChrysochlorisChrysophlegmaChrysophyllumChuniophoenixClathrotropisClathrozoellaClavulinopsisCleistocactusClimacocystisClosterotomusClytorhynchusCnemidophorusCoccineorchisCochliopodiumCochlospermumColluricinclaCondylocarponCopadichromisCorallorrhizaCordulegasterCornutiplusiaCorpusculariaCraspedacustaCrematogasterCrossocheilusCrossopetalumCryphonectriaCryptocentrusCryptocheilusCryptochlorisCryptodendrumCryptovenatorCtenodactylusCymatophorinaCymbacephalusCyrtodactylusCystodermellaCaenagnathasiaCaenorhabditisCalliergonellaCamptorhynchusCampylostachysCapnocytophagaCastanospermumCentronycterisCentropyxiellaCephalophyllumCercidiphyllumChaetobranchusChaetodipterusChaetophractusChalinochromisChamaelinoropsChamaespartiumChariaspilatesCheilodipterusCheiracanthiumChelicorophiumChlamydogobiusChlamydosaurusChoeronycterisChondrodendronChondrostereumChrysocolaptesChrysospleniumCirrhitichthysCirrhoscylliumClematoclethraCnaemidophorusCoccothraustesColophospermumCoryphaenoidesCorythaixoidesCorythoichthysCraseonycterisCryptobranchusCryptocephalusCtenophthalmusCylindropuntiaCymbospondylusCallopistromyiaCalyptophractusCalyptorhynchusCampylomormyrusCampylorhamphusCapsicophysalisCarinotetraodonCarterocephalusCephalorhynchusCephaloscylliumChaetodontoplusChaetopteropliaChamaegastrodiaChasmaporthetesCheimarrichthysChelidonichthysChenopodiastrumChondrodactylusChroicocephalusChromidotilapiaCitrofortunellaClavariadelphusCoelurosauravusCorynebacteriumCraterocephalusCryptacanthodesCrypthecodiniumCryptomycocolaxCryptosporidiumCtenocephalidesCatamblyrhynchusChiranthodendronChiropterotritonChlamydoselachusCrossodactylodesCtenopharyngodonCampylognathoidesCarinatodorcadionChroococcidiopsisClematepistephiumCyclocheilichthysColeocephalocereusChinshakiangosaurusCephalocleistocactusC"
       , "DamaDanaeDanioDaresDarioDeltaDiaeaDioonDipusDolbaDonusDorisDrabaDracoDryasDulusDurioDaboiaDaceloDacnisDahliaDalaraDalliaDanausDaphneDaturaDaucusDeilusDenopsDentexDeomysDepreaDilkeaDilobaDiodonDiomysDiscusDorcusDrimiaDrymusDryopsDuculaDugongDyckiaDypsisDysciaDahlicaDaphniaDaphnisDaptionDarapsaDarmeraDasymysDasypusDasytesDatiscaDavidiaDecodonDelomysDelonixDeltoteDemodexDenmozaDesmanaDesoriaDeutziaDevarioDiacheaDiaemusDianemaDianousDiaphusDiarsiaDiatomaDibaeisDicaeumDicercaDicerosDicyclaDidermaDinetusDinomysDionaeaDipcadiDipogonDiprionDiselmaDitaxisDiurneaDolbinaDonaciaDonatiaDopasiaDorichaDoritisDorylusDosiniaDouiniaDraculaDrepanaDrepaneDromiusDroseraDryomysDubusiaDudleyaDugesiaDuvaliaDysderaDysideaDaboeciaDacnomysDactylisDactyloaDaedaleaDalatiasDaldiniaDalopiusDapediumDarwiniaDasyatisDasypodaDasyurusDaubenyaDawsoniaDeckeniaDeconicaDecticusDegueliaDeidamiaDeinodonDelavayaDelichonDeltamysDendarusDenhamiaDephomysDeporausDesmodusDesmomysDetariumDiacammaDianthusDiaperisDiaphoraDiatrypeDicentraDicranumDicrurusDicyphusDidemnumDidineisDidiniumDidiplisDidymiumDiglossaDilleniaDinocrasDinopiumDiomedeaDionysiaDiphyllaDiplodusDipsacusDipterusDipteryxDipturusDirachmaDiskagmaDisporumDobsoniaDodonaeaDolichusDologaleDossiniaDoxocopaDracaenaDremomysDrepanisDromaiusDryandraDrymoniaDuboisiaDufoureaDupontiaDusicyonDynastesDysauxesDysgoniaDyspessaDythemisDytiscusDacrydiumDalbergiaDanakiliaDanthoniaDarevskiaDascillusDascyllusDasineuraDasiphoraDasyornisDasypogonDasypoliaDawkinsiaDecaisneaDegeneriaDeilantheDeinantheDeiregyneDeiroptyxDelanymysDelavaliaDeloneuraDelphinusDeltistesDendroicaDendromusDenticepsDermestesDermophisDerocerasDeroptyusDesmidiumDiacrisiaDiamphidaDiapensiaDiasporusDichondraDicksoniaDicrossusDictamnusDictydiumDidelphisDidymelesDidymellaDidymodonDifflugiaDigitalisDigitariaDinobryonDinofelisDinopteraDiodontusDioscoreaDiospyrosDiplogaleDiploneisDiplosomaDiplozoonDipodomysDischidiaDisciotisDiscosuraDiscyphusDistichiaDistyliumDitrichumDolbogeneDolomedesDolycorisDorcopsisDoronicumDorsteniaDorycniumDorytomusDosidicusDrassodesDrasteriaDreissenaDreyfusiaDrymobiusDryocampaDryocopusDryudellaDuckeellaDumetellaDymecodonDyscophusDysnectesDysphaniaDysstromaDacrymycesDahalokelyDamaliscusDanhatchiaDanionellaDarwinilusDasycercusDasykalutaDasylabrisDasylirionDasypeltisDasyproctaDasythemisDatnioidesDeepstariaDeherainiaDeilephilaDelospermaDelphiniumDendrobiumDendrogaleDendrogyraDendroleonDendroxenaDermatemysDermogenysDesmazeriaDexiostomaDiabroticaDiachromusDiachrysiaDiastatopsDichagyrisDichistiusDichomitusDiclidurusDicranellaDictenidiaDidunculusDidymaotusDimocarpusDinemelliaDinocampusDinochelusDinolestesDinoponeraDipentodonDiphysciumDiplacodonDiploaspisDiplolepisDiplotaxisDiplothrixDipodillusDiprotodonDipteroniaDipylidiumDiscoeliusDisocactusDistichiumDittrichiaDolichonyxDolichotisDolichurusDonacobiusDoryanthesDrasteriusDromiciopsDrosophilaDrymophilaDryocoetesDryocosmusDryolimnasDryopterisDumontiniaDurvillaeaDypterygiaDystebennaDacrycarpusDactylopiusDaemonoropsDarcyanthusDasyuroidesDaubentoniaDaudebardiaDebregeasiaDecaspermumDeinococcusDendragapusDendroaspisDendrobatesDendrocittaDendrocnideDendrocoposDendrocygnaDendrohyraxDendrolagusDendrolimusDendronotusDendropicosDentipellisDeraeocorisDermacentorDermanyssusDermochelysDeschampsiaDescurainiaDesmarestiaDesmodillusDevincenziaDiacheopsisDiapherodesDiceratellaDickinsoniaDicrocaulonDicrostonyxDictyopteraDictyostegaDicypelliumDidynamipusDiplocarponDipsosaurusDirofilariaDiscocactusDiscopodiumDispholidusDistichodusDitylenchusDolichophisDolichopodaDolichosomaDonkioporiaDorcatragusDracophilusDracunculusDriloleirusDromococcyxDryococelusDysmicoccusDactylogyrusDactylopsilaDactylorhizaDaedaleopsisDaouitheriumDarlingtoniaDegranvilleaDeinogalerixDeinotheriumDendrelaphisDendrocereusDendrochirusDendrocoelumDendroctonusDendrosicyosDentatherinaDesfontainiaDesmidorchisDesmopuntiusDesulforudisDiaphanosomaDicerorhinusDichodontiumDicopomorphaDictyocaulusDictyophorusDiestrammenaDinteranthusDiobelonellaDiplochlamysDiplomesodonDiplophyllumDiscoglossusDissostichusDistoechurusDoryrhamphusDransfieldiaDraparnaudiaDrepanoptilaDrosanthemumDrosophyllumDryopithecusDuchesneodusDactylopterusDactylostalixDaphniphyllumDarwinopterusDasyscyphellaDendrocalamusDendronanthusDendropsophusDesulfarculusDesulfovibrioDeuterocohniaDicentrarchusDiceratheriumDichromanthusDichrostachysDicranoptychaDicranostylesDictyosteliumDidymospheniaDieffenbachiaDimorphothecaDinarolacertaDinklageodoxaDioncophyllumDiphasiastrumDiphyllostomaDiplopylidiumDiplorhynchusDipterocarpusDolicharthriaDolichopteryxDorotheanthusDoydirhynchusDracocephalumDrepanepteryxDrepanocladusDuckeodendronDalmatolacertaDelphinapterusDendrocollybiaDendronephthyaDesmodilliscusDesulfuromonasDeuterophlebiaDiaphorapteryxDichotomanthesDicranodontiumDikerogammarusDolichovespulaDunckerocampusDehalococcoidesDeinagkistrodonDicranocephalusDictyophyllariaDongyangosaurusDysmorodrepanisDendrophryniscusDermatophagoidesDictydiaethaliumDiphyllobothriumDysithamnusD"
       , "EnaEosEroEiraElgaEmexEmusEmysEnyoEryxEsoxEtiaEbriaEchisEgiraElopsEmpisEnsisEomysEquusEricaErucaEuopsEuxoaEaclesEbenusEchiumEcitonEdonisEgeriaEilemaElaeisElanusElapheElmeraElodeaElymusElysiaEmiliaEmoryaEmpusaEnodiaEnseteEpioneEpomisErebiaErennaEresusErinusEsacusEsomusEthmiaEualusEuceraEuleiaEumopsEuniceEuroisEviotaExidiaExodonEylaisEchidnaEctinusEctodusEgerniaEgrettaEidolonEimeriaEirenisEiseniaElaeniaElampusElephasElgariaEliomysEliurusElophosEmblemaEmmeliaEmyduraEngaeusEnhalusEnhydraEntodonEobaniaEomanisEophonaEozapusEpeolusEpeorusEphedraEpisciaEquetusErannisErcillaEremiasErgatesEriaxisErigoneErodiumErpetonErwiniaErynnisEubuccoEucartaEuchloeEucnideEucomisEudermaEudoniaEugenesEugeniaEuglenaEulemurEulidiaEumaeusEumecesEumenesEunotiaEuodiceEupetesEuphyiaEuploeaEuryaleEuryceaEuspiraEutatusEuterpeEuthrixEutremaEvarchaEverniaExechiaExosomaEchinopsEclectusEcseniusEctobiusEctozomaEctropisEdmundoaEirmotusElagatisElaphriaElaphrusElassomaEleusineEllobiusElophilaElrathiaEmaturgaEmberizaEmilianaEmmelinaEmpetrumEncoeliaEncycliaEndromisEnhydrisEnophrysEnsiferaEnterpiaEntolomaEolophusEpallageEphemeraEphestiaEpibulusEpichloeEpidaleaEpidaresEpilectaEpimeriaEpirrhoeEpirritaEpisyronEpithecaEpixerusEranthisEremobiaEremurusErigeronErinnyisErionemaErionotaEriosomaEriosyceErniettaErnobiusErosariaEryngiumErysimumErysipheEspadaeaEspostoaEstrildaEtroplusEuastrumEublemmaEucharisEucheumaEuclidiaEucommiaEudorcasEudorinaEudyptesEuglyphaEuleptesEulithisEumorphaEunectesEuneomysEuonymusEuophrysEuoticusEuphagusEuphoniaEuplagiaEupleresEuplexiaEuprymnaEupsiliaEupteleaEupteryxEuroleonEurycomaEurydemaEurypygaEusphyraEustromaEutriglaEvagetesExiliboaEcballiumEcheveriaEchinaceaEctemniusEhrlichiaElachistaElaeagnusElaeomyxaElanoidesElaphodusElaphurusElasmuchaEleginopsEleiodoxaElettariaElliottiaEmbiotocaEmblethisEmblingiaEmesopsisEmpidonaxEmydoideaEnallagmaEncalyptaEngraulisEnoplosusEntacmaeaEntamoebaEntelurusEntomyzonEpicratesEpilachnaEpilobiumEpimediumEpipactisEpiplatysEpipogiumEpipsiliaEpistylisEpithemiaEpitoniumEptesicusEquisetumEratigenaErethizonEretmodusErgasilusErgaticusErinaceusEriocheirEristalisErithacusEropeplusErophyllaErythemisErythrinaErythruraEschmeyerEscobariaEscontriaEspeletiaEteobaleaEthmalosaEtlingeraEuastacusEubalaenaEuchalciaEuchrestaEucrostesEucryphiaEudicellaEudocimusEudyptulaEulychniaEuphausiaEupherusaEuphorbiaEuphrasiaEuphroniaEuphylliaEuplectesEupodotisEupomatiaEuproctisEuproctusEurodexisEurrhypisEurycnemaEuthlypisEuthrichaEuthynnusEutoxeresExochomusExochordaExocoetusExtriplexEchinasterEchinopsisEchiothrixEchymiperaEctocarpusEctophyllaEctopistesEdithcoleaEichhorniaElacatinusElatostemaEleocharisElleanthusElmisaurusEloeophilaElseyornisEnchylaenaEndomychusEndotrichaEnkianthusEnteridiumEnterobiusEntorrhizaEobasileusEocaeciliaEoferreolaEopsaltriaEpeoloidesEphippigerEpidendrumEpiphyllumEpipodismaEpipremnumEpisesarmaEpisyrphusEpthianuraEquatoriusEragrostisEremitalpaEremocorisEremophilaErignathusEriobotryaEriocnemisEriocraniaEriogasterEriolarynxEriophorumErpobdellaErucastrumErymanthusErysichtonErythrinusErythrodesErythrommaEscalloniaEtheostomaEtmopterusEucalyptusEuchromiusEucobresiaEucodoniumEugeissonaEuglandinaEugnorismaEumetopiasEunephropsEuodynerusEupatoriumEupetaurusEupetomenaEuphlyctisEuphractusEuphydryasEupitheciaEupoeciliaEurranthisEurycanthaEurygasterEuryplateaEurystomusEurystylesEuscorpiusEuthystiraEvacanthusEvergestisExoprosopaExtatosomaEbrechtellaEchidnopsisEchinochloaEchinocodonEchinodorusEchinosorexEcliptoperaEcnomiohylaEdgeworthiaEigenmanniaElaeocarpusElaphomycesElattarchusEllipanthusEllopostomaElopichthysEnchelycoreEnchelyopusEncholiriumEndophloeusEnerthenemaEngelhardiaEngystomopsEntosphenusEnypniastesEoglaucomysEpascestriaEpinephelusEpirranthisEpistephiumEpomophorusEremocitrusEremospathaErgobibamusEriodictyonEriophyllumEriospermumEristalinusEritrichiumErythroniumEscherichiaEschweileraEuaesthetusEublepharisEuchoreutesEuclemensiaEuclichthysEunymphicusEuonymopsisEupackardiaEuplectellaEurhynchiumEuroscaptorEurycentrumEuryglottisEurypegasusEurypharynxEusparassusEutriorchisExcidobatesExobasidiumEchinocactusEchinocereusEchinococcusEchinocystisEchinomastusEchinoproctaEchinorhinusEdwardsiellaElachistodonElaeodendronElasmosaurusElectrophaesElephantulusEligmodontiaEmmenopterysEmmenospermaEnchisthenesEnicognathusEnneacanthusEnterobacterEnterococcusEnteroctopusEnterolobiumEnteromorphaEntomoscelisEoactinistiaEocercomonasEpipedobatesEpisoriculusEpithelanthaEpulopisciumEremaeozetesEremotheciumEretmochelysEristicophisErythrocebusErythrogonysErythrorchisErythroxylumEschrichtiusEschscholziaEspostoopsisEubranchipusEudontomyzonEumecichthysEunotosaurusEurocephalusEurotamanduaEurycorymbusEuthystachysExilisciurusEccremocarpusEchinophylliaEchinosteliumEcpyrrhorrhoeElasmostethusElasmotheriumElectrophorusEleutheronemaEltroplectrisEmbolotheriumEncephalartosEnoplometopusEntomognathusEntomophthoraEotetranychusEpichnopterixEpidexipteryxErpetoichthysErythrodiplaxErythromachusEuchilichthysEucrossorinusEudimorphodonEupetrichthysEuproserpinusEchinorhynchusEleoscytalopusEobalaenopteraEpidermophytonEsmeraldacarisEupholidopteraEurydactylodesEurynorhynchusEuschistospizaEusthenopteronExcalibosaurusEibesfeldtphoraEleutherococcusEncephalitozoonEnigmatochromisEntandrophragmaEpalzeorhynchosEubrontotheriumEupyrrhoglossumEdaphoallogromiaEphippiorhynchusEleutherodactylusEpichloëE"
       , "FagusFalcoFediaFelisFicusFionaFomesFossaFucusFanniaFatouaFatsiaFeddeaFeresaFerulaFilagoForpusFoudiaFulicaFuligoFumanaFylgiaFabianaFadogiaFagoniaFeliciaFestucaFicariaFormicaFraileaFrankiaFreesiaFregataFrithiaFuchsiaFukomysFumariaFunariaFurculaFacelinaFalcariaFalcatusFallopiaFaranciaFargesiaFasciolaFaucariaFavoniusFelicolaFendleraFernseeaFerreolaFerulagoFicedulaFiloretaFittoniaFitzroyaFokieniaFragariaFrangulaFraxinusFregettaFulmarusFundulusFurciferFurcraeaFusariumFacheiroaFagopyrumFemsjoniaFeroculusFerrissiaFissidensFistulinaForficulaForsythiaFrankeniaFringillaFrullaniaFuertesiaFulgensiaFunastrumFunkiellaFurnariusFagivorinaFaidherbiaFangfangiaFarlowellaFasciculusFatshederaFejervaryaFerocactusFilibacterFilicollisFistulariaFlabellinaFlammulinaFlexithrixFlindersiaFoeniculumFomitopsisFontinalisForcipigerForestieraForfarellaFortunellaFosterellaFouquieriaFragilariaFrankliniaFraterculaFregilupusFrontipodaFunambulusFuscoporiaFalcipennisFallotaspisFasciolariaFenestrariaFilipendulaFlagellariaFlexibacterFluminicolaFomitiporiaForcipomyiaFormicivoraFothergillaFrancolinusFrantisekiaFreycinetiaFritillariaFruticicolaFunisciurusFasciculariaFasciolopsisFlabellidiumFlammeovirgaFloridacerasFalcatifoliumFlavocetrariaFlavoparmeliaFlexicalymeneFomitiporellaFowlerichthysFrankliniellaFusobacteriumFlavobacteriumFlectobacillusFundulopanchaxForstercooperiaFluvicolaF"
       , "GeumGilaGlisGrusGuloGypsGadusGageaGalaxGalbaGaleaGarraGauraGaviaGekkoGeronGlauxGobioGouraGretaGuiraGuiyuGygisGalagoGalegaGaleusGaliumGallusGarryaGenipaGeomysGeoxusGerrisGinkgoGiurisGlomusGnetumGobiusGollumGoniumGoupiaGrammaGrayiaGreveaGrewiaGromiaGuaduaGuareaGuieraGalaxeaGalemysGaleniaGaleolaGalidiaGaussiaGazaniaGazellaGegenesGemellaGenettaGenistaGeogaleGeomyzaGeonomaGeotriaGerberaGiardiaGibbiumGibbulaGiraffaGisekiaGisiliaGlaciesGlaucisGlaucusGlossusGlycineGlyphisGmelinaGnathiaGnophosGoetzeaGolundaGomphosGomphusGorillaGorytesGouaniaGraculaGrammiaGrampusGraomysGraphisGrapsusGraptusGreigiaGrenanaGrifolaGrimmiaGrubbiaGryllusGuarubaGuihaiaGunneraGutteraGyrinusGyrodonGaleridaGalerinaGalerucaGalictisGalleriaGallotiaGamanderGambusiaGammarusGarciniaGardeniaGarrodiaGarrulaxGarrulusGasteriaGastoniaGavialisGeastrumGeckoniaGempylusGenliseaGentianaGeoemydaGeometraGeonemusGeopeliaGeophapsGeosirisGeospizaGeraniumGerygoneGeryoniaGibbaeumGilleniaGlareolaGlaresisGlauciumGlechomaGlironiaGlirulusGloiodonGlomerisGloriosaGlossinaGloydiusGlyceriaGobiesoxGobiodonGongylusGonoderaGoodeniaGoodyeraGopherusGordoniaGrahamiaGrallinaGranariaGratiolaGriposiaGronoviaGrusoniaGuaiacumGuidracoGuizotiaGustaviaGuzmaniaGymnopusGymnotusGyneriumGypaetusGagitodesGalanthusGalatellaGalenomysGaleopsisGalerellaGalinsogaGallicrexGallinagoGallinulaGanodermaGarcoropsGastornisGastrodesGastrodiaGastropusGecinulusGehringiaGelsemiumGeminellaGeobacterGeococcyxGeophagusGeorissusGeorychusGeosiphonGeotrupesGeotrygonGerbillusGeropogonGethyllisGiganturaGillmeriaGladiolusGlaucomysGlebionisGleditsiaGloboderaGluphisiaGlyphotesGlyptemisGlyptemysGobioidesGogonasusGoliathusGomortegaGomphosusGomphrenaGonyaulaxGonyosomaGossypiumGraellsiaGrallariaGrammodesGrammomysGrammonusGranopupaGraptemysGrevilleaGrindeliaGuamatelaGymnocrexGymnogypsGyromitraGyroporusGyrosigmaGaillardiaGalactitesGaleocerdoGalidictisGaultheriaGecarcinusGeissolomaGenyonemusGenypterusGeocheloneGeoffroyusGeomalacusGeosesarmaGeothlypisGeronticusGerrardinaGibberellaGirardinusGlaucidiumGlaucosomaGlobulariaGloeocapsaGlomerellaGlossaulaxGlycymerisGnaphaliumGoethalsiaGomphichisGomphidiusGomphogyneGomphonemaGonepteryxGonioctenaGonystylusGorsachiusGosslingiaGrabowskiaGrammistesGraphiurusGrapholitaGraphosomaGriseliniaGuariantheGuianacaraGuibourtiaGuignardiaGundlachiaGunniopsisGymnadeniaGymnarchusGymnobuccoGymnomerusGymnophapsGymnopilusGymnorhinaGymnosardaGymnostomaGymnuromysGynaephoraGynostemmaGynothemisGypohieraxGypsophilaGalbulimimaGalerucellaGallionellaGallirallusGalloperdixGampsocleisGardnerellaGastropachaGastrophysaGastrothecaGecarcoideaGegeneophisGeissorhizaGenicanthusGentianellaGenyophryneGeobacillusGeocapromysGeocolaptesGeodromicusGeohintoniaGeranoaetusGerrhopilusGlandulariaGloeocystisGlossolepisGlossophagaGlycyrrhizaGnathonemusGnathotitanGomphocerusGonatozygonGonimbrasiaGonorynchusGracillariaGrallistrixGrammopteraGrammosolenGrammostolaGravitholusGroenlandiaGryllotalpaGubernatrixGymnocarposGymnocladusGymnodiniumGymnorhinusGymnoscelisGymnosiphonGymnostomumGymnothoraxGaleoglossumGaleottiellaGallicolumbaGasterosteusGastrochilusGelochelidonGentianopsisGerbilliscusGerrhosaurusGibeauxiellaGigantomilaxGlaucocystisGlaucopsycheGlaucostegusGlobicephalaGloeophyllumGlossiphoniaGlossopsittaGnathocharaxGobiatheriumGomphocarpusGonatostylisGracilinanusGremmeniellaGronausaurusGuepiniopsisGymnocarpiumGymnocoronisGymnomuraenaGymnostinopsGyrodactylusGaindatheriumGasteracanthaGasterochismaGibberichthysGigantoraptorGinglymostomaGlaciopsyllusGlottiphyllumGlyphotaeliusGlyptostrobusGomphotheriumGonioplectrusGoniurosaurusGraphocephalaGraptopetalumGrasseichthysGuangweicarisGwawinapterusGymnammodytesGymnobelideusGymnocalyciumGymnocephalusGymnocorymbusGymnodactylusGymnoschoenusGyrinocheilusGasteropelecusGiganotosaurusGlauconycterisGlischrochilusGlyptocephalusGomphocerippusGomphosphaeriaGongylomorphusGrammatorcynusGraydidascalusGromphadorhinaGymnogeophagusGebrayelichthysGibsoniothamnusGigantopithecusGlockenastrildeGnathanacanthusGondwanascorpioGongxianosaurusGraecoanatolicaGymnosporangiumGigantspinosaurusGlomeropitcairniaG"
       , "HitoHomoHoyaHsuaHuraHusoHylaHakeaHarpaHedyaHelixHerosHeveaHognaHopeaHostaHoweaHuchoHydraHylesHyppaHadenaHadulaHafniaHarpiaHatenaHederaHeikeaHeimiaHesseaHierisHiodonHirudoHisterHolcusHoodiaHopliaHurdiaHyaenaHydnumHylaeaHyomysHypenaHypnosHypnumHageniaHalcyonHalyziaHampalaHarpagoHarpyiaHatioraHechtiaHelodusHemarisHemisusHenodusHereroaHirundoHistrioHodomysHoheriaHomaliaHomarusHomopusHoolockHopliasHordeumHorismeHoveniaHuerniaHumariaHumiriaHumulusHuveniaHybodusHybomysHydnoraHydrousHylaeusHylomysHyneriaHyperiaHypnaleHypoxisHypsugoHystrixHaberleaHabromysHadromysHadrurusHaemopisHaemulonHaeromysHalidrysHalimedaHaliotisHaliplusHalleriaHamearisHammeriaHanguanaHaraellaHarmoniaHarpadonHarrisiaHebelomaHecateraHedwigiaHeleniumHelogaleHeloniasHelonomaHelophisHelvellaHemileiaHemitheaHenooniaHepaticaHepialusHepsetusHericiumHermetiaHerminiaHerpysmaHesperiaHesperisHetaeriaHeucheraHewittiaHexaplexHexatomaHibiscusHintoniaHippurisHolaspisHomogyneHookeriaHoplitisHorminumHottoniaHuperziaHyalellaHydreliaHydrillaHydroleaHydromysHydrurgaHylastesHylobiusHymenaeaHynobiusHyoserisHypargosHyphaeneHypocreaHypsurusHyssopusHaaniellaHabenariaHabrosyneHacquetiaHaftdoldeHagryphusHaliasturHalicreasHalimioneHallebuneHalobaenaHalobatesHalomonasHalophilaHaloxylonHaludariaHalysitesHamadryasHamamelisHammarbyaHaopterusHapalemurHapalomysHarpactesHarpactusHarpulliaHasemaniaHaworthiaHedbergiaHedychiumHedychrumHedydipnaHedypnoisHedysarumHeimyscusHelarctosHeleoperaHeliactinHeliasterHelicellaHeliconiaHelioporaHeliopsisHeliothisHelodermaHelogenesHelostomaHelwingiaHemigalusHemileucaHemiphagaHemistolaHemitomesHeniochusHeptatomaHeracleumHeritieraHerminiumHerniariaHerophilaHerpestesHetaerinaHeterodonHeteromysHeterotisHexanchusHexarthraHexartrumHeyuanniaHieraciumHierodulaHieronymaHierophisHimacerusHimanturaHindeodusHippolaisHippomaneHippophaeHippotionHisonotusHistoponaHololeptaHolosteumHomarinusHomocodonHomogalaxHomonotusHonckenyaHornungiaHuidobriaHumbertiaHydraeciaHydrangeaHydrastisHydrictisHydrobiusHydrocenaHydroceraHydrophisHygrocybeHygroryzaHylesinusHylobatesHylopetesHylophilaHyloxalusHylurgopsHymenopusHyobancheHyocomiumHyophorbeHyospatheHypericumHypholomaHyphoraiaHyphydrusHypomecisHypomycesHypopitysHypoxylonHypsypopsHyptiotesHyrachyusHabranthusHadramphusHadronycheHaemanthusHaematopusHaemorhousHaliaeetusHalicampusHalocarpusHalophytumHaplopelmaHaptanthusHarpagiferHarpyopsisHaustellumHelianthusHelicigonaHeliconiusHelicopsisHelleborusHelobdellaHelocharesHelophilusHelophorusHemachatusHemerophisHemicircusHemigymnusHemingwayaHemiprocneHemitragusHemorrhoisHerichthysHesiocaecaHesperaloeHeteractisHeteroderaHeteromitaHeteronemaHeteropodaHexastylisHexatrygonHieraaetusHierochloeHimantopusHipparchiaHippobromaHippodamiaHirundapusHisturgopsHolmbergiaHoloarctiaHolochilusHolodiscusHolothuriaHomopholisHorabagrusHordelymusHouttuyniaHunzikeriaHyacinthusHyalophoraHyalothecaHydatigeraHydriomenaHydrobatesHydrocharaHydrochousHydrocynusHydrodromaHydrolagusHydrolycusHydrometraHydroporusHydropotesHyemoschusHygrobatesHygrophilaHylecoetusHylocereusHylocharisHylocomiumHylodesmumHylomyscusHylonymphaHylophilusHylotrupesHymenoceraHymenogyneHymenolomaHymenonemaHynerpetonHyosciurusHyoscyamusHyperoliusHyperoodonHyperoplusHyphodermaHypocoliusHypogymniaHypolimnasHypolimnusHypopachusHypoponeraHypsipetesHypsipetusHypsizygusHypsopygiaHaematopotaHaematortyxHaemodipsisHaemophilusHaikoucarisHakonechloaHalichoeresHalichoerusHaliclystusHaliichthysHalleorchisHalocynthiaHalothamnusHandleyomysHapalogenysHapalopilusHapalorchisHaplochroisHarpagornisHartmanthusHectopsyllaHeinemanniaHeleophryneHeleosaurusHeliamphoraHeliangelusHelichrysumHelicodontaHelicolenusHelicoprionHelicoverpaHeliofungiaHeliomasterHeliophanusHelmitherosHeloniopsisHemichromisHemiclepsisHemiechinusHemignathusHemigrammusHemigrapsusHemipenthesHemipristisHemisilurusHemithrinaxHemitriccusHemitrichiaHenicocorisHenicophapsHeptacodiumHesperanthaHeteralochaHeterandriaHeteranthiaHeteroglauxHeterogynisHeterohyraxHeteromuniaHeteronettaHeterophyesHeteroxeniaHexagrammosHierobotanaHildegardiaHimanthaliaHippeastrumHippocampusHippocrepisHippotragusHistophilusHistoplasmaHodgesiellaHohenbergiaHolacanthusHolocentrusHomomalliumHomoranthusHoplestigmaHoplisoidesHoplocloniaHottentottaHoubaropsisHulitheriumHunnemanniaHydnophytumHydractiniaHydrocharisHydrocotyleHydroprogneHydropsycheHydrosaurusHygrohypnumHygrophorusHyladelphysHylochoerusHylophorbusHymenolepisHyparrheniaHyperopisusHyphodontiaHypochaerisHyponepheleHypoptopomaHypoptychusHyposmocomaHypselecaraHypsibarbusHaageocereusHabropetalumHabrophlebiaHadrobregmusHaematopinusHaematospizaHaematoxylumHalichondriaHalmaheramysHamatocaulisHandroanthusHaplochromisHaplomitriumHaplostachysHecastocleisHecticocerasHedychridiumHelianthellaHelianthemumHelicobacterHelicolestesHelicophagusHeliophobiusHeliosciurusHeliotropiumHemerocallisHemibelideusHemicentetesHemidactylusHemileccinumHemipholiotaHemiscylliumHeptranchiasHermatobatesHesperiphonaHesperocnideHeterantheraHeterodontusHeterogasterHeterometrusHeteronectesHeterophasiaHeteropterusHeteropteryxHeteroscelusHeterosmilaxHexapterellaHippocamelusHippoglossusHippopotamusHipposiderosHirschfeldiaHispidoberyxHistiophryneHistrionicusHistriophocaHolcoglossumHologymnosusHomalocanthaHomalonychusHoplocryptusHoplophoneusHoplosternumHoplostethusHorneophytonHyacinthellaHydrochoerusHydrocoloeusHydrodamalisHydrodictyonHydroglyphusHydrostachysHydryphantesHylonycterisHymenocallisHymenochaeteHymenochirusHymenolaimusHypagophytumHypancistrusHypocenomyceHypocreopsisHypoplectrusHypseleotrisHypsignathusHadropithecusHaematococcusHaikouichthysHalobacteriumHalosauropsisHapalochlaenaHaplochelidonHarpagophytumHatzegopteryxHelkesimastixHemandradeniaHemicrepidiusHemidactyliumHemilepidotusHerminiimonasHerpetotheresHeterobathmiaHeterochaeniaHeteromirafraHeterophragmaHeteropternisHeterotilapiaHimantolophusHomalotheciumHoplodactylusHyacinthoidesHylotelephiumHymenoscyphusHyperprosoponHypselobarbusHysterocarpusHalicephalobusHapalopsittacaHaploblepharusHelicobasidiumHelictotrichonHellenolacertaHelminthothecaHemiceratoidesHenosepilachnaHerbaspirillumHerbertlutziusHeterobasidionHeterobranchusHeterocephalusHeteropneustesHeteroscylliumHibbertopterusHibiscadelphusHimantoglossumHoshihananomiaHulecoeteomyiaHydrophasianusHygrophoropsisHylocomiastrumHyphessobryconHypsiprymnodonHandeliodendronHarpyionycterisHemisphaeriodonHemitaurichthysHeterocentrotusHeterotentaculaHippoglossoidesHohenbergiopsisHalothiobacillusHelminthosporiumHaliscomenobacterHemitaeniochromisHeterodontosaurusHygroamblystegiumHypophthalmichthysH"
       , "IaIpsIsoIdeaIdiaIlexIngaIniaIpsaIrisIteaIxiaIxosIdaeaIndriInulaIomysIrenaIseiaIssusItayaIxoraIberisIceryaIdesiaIguanaIlariaIntsiaInyokaIodinaIolausIsatisIsoxysIsurusItzaeaIxerbaIxodesIaltrisIbycterIcteriaIcterusIctonyxIdiurusIllacmeInachisInocybeIpheionIpomoeaIrciniaIresineIsmeliaIsoetesIsoodonIsophyaIsotriaIssoriaIxoreusIbicellaIcelinusIcosteusIctiobusIdunellaIguanuraIlliciumImperataIndohyusInonotusIochromaIrenomysIriarteaIrvingiaIschnuraIsistiusIsolepisIsoparceIsopogonIsopyrumIspidinaIsturgiaIxanthusIchneumiaIchneumonIctalurusIdiatapheImpatiensIncaspizaIodanthusIphigeniaIpimorphaIschyodusIsichthysIsidiellaIsodontiaIsoplexisIsthmomysIstiompaxIthaginisIthycerusIvanacaraIchthyomysIgnicoccusIllecebrumIndigoferaIndostomusIphiclidesIsognathusIsotheciumIsthmohylaIxiolirionIxobrychusIchthyaetusIchthyobodoIchthyophisIchthyornisIciligorgiaIcmadophilaIdiacanthusIdiospermumIdolomantisIncarvilleaIndopacetusIndotestudoInpaichthysIranocichlaIriatherinaIridomyrmexIsanosaurusIschnocnemaIschnocorisIschnodemusIsoberliniaIstiophorusItalochrysaIxodiphagusIberolacertaIbidorhynchaIchthyosauraIdionycterisIgnavusaurusIguanodectesIhlenfeldtiaIncisoscutumIndotyphlopsIodotropheusIsogomphodonIsostichopusIchthyodectesIndomelothriaIngerophrynusIsognomostomaIsolatocereusIberodorcadionIsarachnanthusInfundibulicybeI"
       , "JynxJodisJuncoJabiruJacanaJuaniaJubaeaJuncusJaculusJameelaJamesiaJasioneJasoniaJohniusJuglansJulodisJunoniaJurineaJaborosaJanthinaJasminumJatrophaJenynsiaJordaniaJuliomysJunelliaJusticiaJacarandaJacquiniaJaltomataJapetellaJollydoraJordanitaJuanulloaJuniperusJacobseniaJahnoporusJanjucetusJateorhizaJoinvilleaJordanellaJoyeuxiellaJacquemontiaJamesoniellaJungermanniaJuscelinomysJaekelopterusJasminocereusJohnrandalliaJulidochromisJuttadinteriaJanetaescincusJeanbouilloniaJeotgalicoccusJeotgalibacillusJosephoartigasiaJuracimbrophlebiaJohannesteijsmanniaJ"
       , "KaliKiwaKhaanKhayaKobusKogiaKokiaKoniaKalmiaKameraKerriaKetupaKiungaKneriaKnodusKnopiaKopsiaKrobiaKuhliaKunsiaKunzeaKurtusKadsuraKajikiaKaloulaKareniaKasaniaKassinaKatabiaKerneraKerodonKiaeriaKickxiaKigeliaKinixysKnautiaKurthiaKanuitesKarkeniaKelenkenKennediaKisseniaKnightiaKobresiaKockurusKoeleriaKrameriaKaiwhekeaKalanchoeKaliphoraKalopanaxKatamenesKeratellaKerivoulaKhawkineaKingidiumKinyongiaKipferliaKniphofiaKodymirusKomodomysKopidodonKuntheriaKaempferiaKageneckiaKarwinskiaKatsuwonusKerriodoxaKeteleeriaKindbergiaKlaprothiaKlebsiellaKolkwitziaKorolkowiaKorthalsiaKotasaurusKottelatiaKalophrynusKelleromyxaKellicottiaKiisortoqiaKionophytonKleidocerysKoeberliniaKogelbergiaKreodanthusKronosaurusKunkeliellaKadarsanomysKirengeshomaKoelreuteriaKollasmosomaKomagataellaKryptoglanisKryptopterusKalaharituberKelmayisaurusKenyapithecusKlebsormidiumKnemidokoptesKnipowitschiaKretzoiarctosKretzschmariaKrugiodendronKuehneromycesKuhlhasseltiaKyonemichthysKyphosichthysKhoratpithecusKrieglsteineraKrascheninnikoviaK"
       , "LoaLamaLeeaLensLimaLizaLotaLumaLynxLabeoLaconLamiaLamnaLarixLarraLarusLaserLatesLatiaLatuaLaviaLebiaLedraLemnaLemurLepusLerwaLiceaLigiaLimaxLimiaLinumLirisLixusLoasaLomisLonasLorisLotusLoxiaLuffaLuriaLutraLyciaLygusLyttaLabdiaLablabLabrusLacunaLaeliaLagriaLambisLamiumLaniceLaniusLaparaLarnaxLarreaLasaiaLasiusLaurusLeipoaLemmusLeoniaLeotiaLesbiaLeskeaLestesLeymusLialisLiasisLigdiaLigulaLiliumLimosaLindiaLineusLippiaLitchiLitseaLoligoLoliumLontraLoriusLoxopsLuditaLueheaLuzulaLybiusLycaonLychasLyciumLyctusLygeumLacertaLactucaLagopusLagurusLamprisLanariaLangahaLansiumLantanaLaothoeLaphriaLapsanaLarinusLataniaLeiopusLeistusLeiurusLemaneaLemoniaLenomysLenoxusLepiotaLepismaLepistaLepomisLepturaLestevaLesticaLeucomaLewiniaLewisiaLiatrisLicaniaLicinusLicualaLimacusLimandaLimoniaLinariaLinckiaLinderaLingulaLinnaeaLiparisLipotesLiriopeListeraLithopsLitoriaLobariaLobatusLobeliaLobesiaLobodonLocustaLomatiaLopeziaLophiraLophiusLophuraLophyraLopingaLoxodonLucanusLuciliaLudisiaLuetkeaLugensaLullulaLunariaLunatiaLupinusLuvarusLycaenaLychnisLycodesLycopusLycorisLygaeusLymaniaLymnaeaLyncinaLyngbyaLyrurusLysmataLysurusLythriaLythrumLabiduraLaburnumLaccariaLachesisLactoriaLactorisLagidiumLampetraLampidesLamprimaLampyrisLanariusLaporteaLarentiaLariscusLasiurusLathamusLathraeaLathyrusLavateraLawsoniaLebertiaLecanoraLeccinumLecythisLegousiaLejeuneaLentinusLenzitesLeonotisLeonurusLepidiumLeprariaLeptideaLeptomysLeptotesLeptoxisLeptyniaLessoniaLestoniaLestorosLethariaLeucaenaLeucodonLeucojumLibytheaLichmeraLimbardaLimicolaLimnesiaLimnomysLimobiusLimoniumLinurgusLinyphiaLiocorisLipandraLipaugusLissotesLissotisListeriaLithosiaLituitesLivyatanLochmaeaLodoiceaLonchuraLoniceraLopheliaLophotisLophotusLophoziaLoreleiaLoriceraLucinomaLudwigiaLumpenusLundomysLuperinaLuroniumLusciniaLutjanusLycogalaLyncodonLysidiceLysilomaLythyrusLacanobiaLactariusLaetacaraLagenariaLagothrixLagunariaLamanoniaLaminariaLamiopsisLamponiusLampornisLamprotesLandoltiaLaniariusLaonastesLapageriaLapidariaLasiodoraLaspeyriaLatibulusLaticaudaLatimeriaLavandulaLeakeymysLecidellaLeggadinaLehmanniaLeiobunumLeiolepisLeiopelmaLeiostylaLeiothrixLenothrixLentinulaLeocarpusLeocereusLeontodonLeopardusLeopoldiaLepidotesLepidoziaLepidurusLepilaenaLepilemurLepismiumLeporinusLeptodoraLeptonemaLeptotilaLespedezaLessertiaLeuciscusLeucopezaLeucopsarLeucorajaLeucothoeLeucotinaLeucozonaLibellulaLichanuraLigulariaLigustrumLimacellaLimenitisLimnaeciaLimnobiumLimnofilaLimnogaleLimodorumLimosellaLindeniusLintneriaLiocichlaLiodesmusLiophryneLiopsettaLipogenysLiponeuraLipophrysLipoptenaLiriomyzaLithobiusLittorinaLivistonaLobulariaLomelosiaLonchodesLophaetusLophiodonLophiomysLophorinaLophornisLoranthusLoriculusLoxigillaLoxioidesLoxocemusLoxodontaLoxostegeLumbricusLunulariaLutrochusLutrogaleLycalopexLycocoraxLycopteraLygocorisLymantriaLymexylonLythronaxLacantuniaLachenaliaLacrymariaLactifluusLactophrysLaetiporusLafresnayaLagochilusLagostomusLamottemysLamproplaxLamyropsisLarosternaLasiocampaLasiodermaLasiommataLasionyctaLasiopteraLathrobiumLaxitextumLeclercqiaLedebouriaLeefructusLegionellaLeimacomysLeiostomusLeishmaniaLepidogyneLepidomedaLepidopygaLeporillusLeptacinusLeptadeniaLeptobramaLeptocodonLeptogenysLeptopelisLeptophyesLeptosomusLeptospiraLeptothrixLesmesodonLethrinopsLeucaspiusLeucobryumLeucodontaLeucopteraLeuresthesLevisticumLibocedrusLibytheanaLigeophilaLigusticumLiliocerisLimnanthesLimoniscusLindbladiaLipogrammaLiposcelisListerellaLithogenesLithophagaLithophaneLithostegeLittorellaLobophytumLocustellaLoddigesiaLomaspilisLophocebusLophocoleaLophodytesLophonettaLophophoraLophopyxisLophostrixLophotibisLophuromysLoxoscelesLutreolinaLycianthesLycoperdonLycophotiaLycopodiumLyophyllumLyroglossaLysichitonLysimachiaLythrypnusLabeobarbusLabidesthesLaccophilusLaccospermaLachnellulaLactococcusLallemantiaLampanyctusLampranthusLamprodermaLamprologusLanthanotusLarinioidesLariophagusLaserpitiumLasiocereusLasiorhinusLateolabraxLatrodectusLecanorchisLeiolopismaLemniscomysLenophyllumLentinellusLeopoldamysLeopoldiniaLeperisinusLepidarchusLepidodermaLepidophymaLepidosirenLepidosporaLepidothrixLepidozamiaLepidozygusLepisosteusLepocinclisLeptailurusLeptarrhenaLeptobarbusLeptocereusLeptochilusLeptoclinusLeptomyrmexLeptophobiaLeptoptilosLestiphorusLethenteronLeucogasterLeuconostocLeucophaeusLeucophlepsLeucophytiaLeucosarciaLeucosticteLeycesteriaLibanasidusLibelloidesLiberiictisLignyopteraLiljeborgiaLimnocharesLimnodromusLindheimeraLinepithemaLiquidambarLissopimplaLissotritonLithocarpusLithocharisLitocraniusLitopenaeusLobophylliaLoiseleuriaLonchopteraLonchorhinaLophichthysLophocoronaLopholaimusLophophanesLophophorusLorentzimysLuciobarbusLycenchelysLycoteuthisLycozoarcesLyrognathusLabidostomisLachnolaimusLaevicardiumLagonostictaLagorchestesLagostrophusLagunculariaLambeosaurusLamiodendronLamprichthysLamprocapnosLampropeltisLampropteryxLamprostictaLamprotornisLarryleachiaLeedsichthysLeiocephalusLeontopodiumLepidocaryumLepidochelysLepidocybiumLepidothyrisLeptictidiumLeptinotarsaLeptochariasLeptoglossisLeptoglossusLeptolepidesLeptospermumLepturoboscaLestodelphysLeucadendronLeucanthemumLeucochlorisLeucorrhiniaLeucospermumLeucothrinaxLimnognathiaLimnothlypisLimnothrissaLindholmiolaLiriodendronLissodelphisLithospermumLomatogoniumLonchodiodesLophodermiumLopholatilusLophostethusLophotriccusLoxodontomysLychnodiscusLycopodiellaLygodactylusLymnocryptesLysiosquillaLabeotropheusLabidochromisLactobacillusLaevistrombusLagarostrobosLagenodelphisLagerstroemiaLankesterellaLarsenianthusLasionycterisLeavenworthiaLepidophloiosLepidorhombusLepidoteuthisLepidothamnusLeptonychotesLeptonycterisLeucoagaricusLeucocoprinusLeucophysalisLucihormeticaLuciocephalusLuciocyprinusLygistopterusLagenorhynchusLeaellynasauraLeontopithecusLepidochrysopsLepidodactylusLepidogalaxiasLepidophthirusLeptostichaeusLeuchtenbergiaLeucorchestrisLichenomphaliaLoganamaraspisLomorupithecusLophopsittacusLophotriorchisLophozosteropsLufengpithecusLagenodifflugiaLasiorhynchitesLepidophthalmusLeucanthemopsisLeucochloridiumLoricariichthysLyciasalamandraLeptochilichthysLepidiolamprologusLepidocephalichthysL"
       , "MusMyaMeloMeneMeruMetaMeumMicoMilaMinoMituMohoMolaMomaMopsMusaMaesaMalusMalvaMandaManisMantaMazusMedonMelesMeliaMeloeMeriaMilaxMimasMimonMimusMinoaMirisMirzaMixiaMniumMolvaMonasMormoMorusMucorMugilMurexMuscaMyakaMyliaMysisMyxasMyziaMyzusMacacaMacomaMactraMammeaManicaManniaManoaoMantisMaripaMarkeaMartesMayacaMazamaMeesiaMelicaMenkiaMenthaMenuraMergusMeropsMesosaMessorMestraMiliumMilvusMimesaMimosaMinoisMinousMobulaMogeraMohouaMolochMomphaMonasaMontiaMoraeaMorinaMoroneMorphoMucunaMuiriaMullusMundiaMungosMurinaMycenaMydausMyleusMyodesMyopusMyotisMyrciaMyricaMyrmiaMyrrhaMyrtisMyrtusMystusMaackiaMacariaMacluraMacodesMadangaMadhucaMadoquaMadoryxMahoniaMakairaMalaniaMalaxisMalurusManducaMangoraManihotManiolaMarantaMaratusMarmosaMarmotaMarumbaMasoalaMaxomysMecinusMedemiaMedeolaMegarisMegistoMelasisMelectaMelissaMelittaMelomysMenetesMerimnaMerodonMetaxyaMethonaMiconiaMikaniaMiliciaMilvagoMimetesMimulusMinuciaMiopicaMitellaMoliniaMonachaMonardaMonesesMoneziaMonninaMonodonMonopisMoreliaMorimusMorindaMoringaMoschusMuraenaMurexiaMurrayaMuscariMustelaMutillaMutinusMyagrumMycelisMyiagraMylodonMylomysMyrmicaMyrmosaMyrrhisMytilusMachimusMacleayaMacrodonMacropisMacropusMacrotisMacrotusMadromysMagnoliaMaireanaMalimbusMallomysMallotusMalpolonMamestraManorinaManouriaMantellaMarpesiaMarpissaMarsileaMartyniaMassoniaMastixiaMastomysMasturusMatucanaMauremysMauritiaMearnsiaMecodemaMeconemaMecorhisMedicagoMegalaraMegalopsMeganolaMegasomaMelicopeMelieraxMelitaeaMelittiaMelittisMellinusMelogaleMelosiraMelursusMephitisMeridionMerionesMerremiaMerwillaMesofilaMesotypeMespilusMetcalfaMethochaMetopionMetynnisMicroecaMicromysMicroteaMicrotusMicrurusMimizukuMimophisMimumesaMiroungaMisagriaMisumenaMitrellaModiolusMoenchiaMogurndaMollisiaMolossusMonachusMonocleaMonsteraMontiniaMooreanaMorbakkaMordaciaMormoopsMormyrusMucilagoMustelusMycetinaMycteriaMycterusMylabrisMyoictisMyomimusMyosorexMyosotisMyosotonMyosurusMyotomysMyrmeciaMyrmillaMysceliaMythimnaMyzomelaMyzopodaMacadamiaMacquariaMacrodemaMacrophyaMacropleaMaesopsisMahunkaiaMaihueniaMalachiusMalacomysMalawaniaMalpighiaMalthinusMalthodesMalvapionMammuthusMangiferaManicariaManilkaraManniellaMannstreuManucodiaMarasmiusMarmosopsMarrubiumMarsdeniaMarseninaMarthellaMartialisMastigiasMatthiolaMayetiolaMaylandiaMecistopsMedinillaMegachileMegacoptaMegadermaMegalaimaMegalomysMeganeuraMegapteraMegascopsMegasorexMegophrysMeiolaniaMelaleucaMelanchraMelanittaMelanomysMelanonusMelanthiaMeleagrisMelicytusMelilotusMelipotesMellissiaMellisugaMellivoraMelocannaMelongenaMelospizaMelothriaMembracisMentzeliaMenziesiaMergellusMeripilusMerulaxisMesadenusMesapameaMesoleucaMesolimaxMesonautaMetalluraMetasepiaMetellinaMetridiumMetzgeriaMiathyriaMichauxiaMicoureusMicrelapsMicridiumMicrogaleMicrohylaMicrolomaMicropezaMicrophisMillardiaMilleporaMillettiaMinuartiaMiocorvusMiomantisMirabilisMiramellaMirapinnaMiscophusMisgurnusMitragynaMniotiltaMolorchusMolossopsMolothrusMomordicaMonadeniaMonanthesMonetariaMonilariaMoniliniaMonodontaMonollumaMonotropaMonticolaMontiporaMoraxellaMorchellaMormyropsMoschiolaMotacillaMougeotiaMoxostomaMuntiacusMuriculusMuscicapaMusophagaMyadestesMyathropaMycerobasMycetinisMycoplanaMyctophumMyiarchusMyioborusMylossomaMyocastorMyomyscusMyophonusMyoproctaMyopterusMyospalaxMyotragusMyrciariaMyriaporaMyricariaMyristicaMyrmechisMyroxylonMysatelesMystacinaMystromysMyxobolusMyxothecaMacrodermaMacropinnaMacropodusMacropygiaMacrozamiaMacruromysMacruronusMagicicadaMagnapinnaMagnisudisMalaclemysMalacosomaMalasseziaMallomonasMalpuluttaMalthonicaMammelomysMandevillaMandragoraMandrillusMarcetellaMarchantiaMarsupellaMartinellaMascarinusMatricariaMatteucciaMaurolicusMearnsianaMechanitisMeconopsisMedusagyneMedusandraMegaceropsMegaceryleMegachasmaMegadyptesMegalechisMegalocnusMegapodiusMegascoliaMegistopusMeiglyptesMekosuchusMelampsoraMelampyrumMelanargiaMelanerpesMelanoidesMelanoplusMelianthusMelichthysMeliscaevaMelocactusMelolonthaMenegazziaMenephilusMenyanthesMerganettaMerlangiusMerlucciusMesechinusMesitornisMesophyllaMesoplodonMesostigmaMetachirusMetacystisMetopidiusMetroxylonMetteniusaMexipediumMicaelamysMicratheneMicroascusMicrobiotaMicrocaviaMicrocebusMicrocycasMicrogouraMicroligeaMicrommataMicrosorumMicrosporaMicrostomaMiersiellaMinyobatesMiscanthusMisszhouiaMisumenopsMixotrichaMnemiopsisMoehringiaMollisoniaMonochamusMonochoriaMonococcusMonomoriumMononychusMonoporeiaMonopterusMonosapygaMorococcyxMuschampiaMycoplasmaMyiopsittaMyliobatisMyosciurusMyosotellaMyrialepisMyrichthysMyriostomaMyrmecorisMyrocongerMyrosmodesMyxococcusMacbrideolaMacgregoriaMachetornisMacholophusMacracanthaMacrocheiraMacrochelysMacrococcusMacrocyclisMacrocystisMacronectesMacrosiphumMacrothemisMacrotylomaMacroviperaMaianthemumMalacolimaxMalacoptilaMalacosteusMalesherbiaMalpaisomysMammillariaMarcuseniusMargarornisMasdevalliaMasillabuneMassisteriaMastocarpusMastotermesMauritiellaMaxburretiaMedauroideaMegaladapisMegalobramaMegalocerosMegalurulusMeganephriaMegaphobemaMegapiranhaMeiacanthusMelaenornisMelananthusMelanocetusMelanohaleaMelanoleucaMelanophilaMelanosporaMenispermumMercurialisMesadenellaMesocyclopsMesselornisMetacyclopsMetagonimusMetaplastesMetarhiziumMetasequoiaMetatrichiaMetriopeliaMetriopteraMicrathyriaMicrochilusMicrocitrusMicrococcusMicrocosmusMicrocyclusMicrocystisMicrodillusMicromyrtusMicropsittaMicropterixMicropterusMicrosporumMicrostomusMicrothelysMinakatellaMiniopterusMiopithecusMiracinonyxMisodendrumMitrastemonMitsukurinaMnesarchaeaMoenkhausiaMogoplistesMollisquamaMonachoidesMonocirrhusMonodelphisMonognathusMonophyllusMonotropsisMontastraeaMontatherisMontiviperaMungotictisMuscardinusMyersiohylaMyrmarachneMyrmecobiusMyrothamnusMacrochaetusMacrocranionMacrodactylaMacrogalidiaMacroglossumMacroglossusMacrognathusMacrolepiotaMacronemurusMacrophyllumMacrotyphulaMadagasikaraMahoberberisMalapterurusMalayopythonMammilloydiaManonichthysMarasmiellusMargaretamysMarmaronettaMascarenotusMegacollybiaMegadontomysMegalapteryxMegalographaMegalophanesMegalothoraxMegaoryzomysMegascolidesMeiracylliumMelamprosopsMelanoperdixMelanosuchusMelanotaeniaMelasmothrixMelithreptusMenticirrhusMerismopediaMertensiellaMesembriomysMesocapromysMesocricetusMetanephropsMetrosiderosMetternichiaMeyerophytumMezobromeliaMicrasteriasMicrenophrysMicrocachrysMicrocanthusMicrocoryciaMicrodevarioMicrodynerusMicroglossumMicromalthusMicromurexiaMicropodismaMicropternusMicrorasboraMicroryzomysMicrosciurusMicrosphaeraMicrostilbonMicrostrobosMicrothlaspiMicrovenatorMiliammellusMillingtoniaMiltochristaMitrophyllumMoeritheriumMoniliformisMonodactylusMonomorphinaMontenegrinaMonticolomysMulleripicusMuraenolepisMusonycterisMycetophagusMyiotheretesMylopharodonMyriophyllumMyrmecophagaMyrmotherulaMyxocyprinusMacdunnoughiaMacheiramphusMacroagelaiusMacrobrachiumMacrocephalonMacrocystidiaMacrodipteryxMacroprotodonMacroscelidesMacrotarsomysMacrothylaciaMacrurocyttusMaihueniopsisMalacochersusMargaritiferaMargaroperdixMargatteoideaMargyricarpusMarinilabiliaMarosatherinaMastacembelusMecistogasterMediodactylusMegalibgwiliaMelampsorellaMelanochromisMelanocoryphaMelanogrammusMelopsittacusMesembrinibisMetasprigginaMeterostachysMicroberliniaMicrodipodopsMicrohydromysMicrolejeuneaMicronycterisMicropoeciliaMicropogoniasMicrotendipesMicrothamnionMinthostachysMonopenchelysMuehlenbeckiaMuscisaxicolaMycobacteriumMyoxocephalusMyrmecaelurusMyrmecophilusMyrmekiaphilaMaccullochellaMachaeropterusMacroramphosusMacrosyringionMalacorhynchusMassospondylusMerinthopodiumMerrilliopanaxMesenchytraeusMesselobunodonMicroctenopomaMikrogeophagusMiqueliopuntiaMolassitheriumMonotropastrumMontifringillaMorotopithecusMycosphaerellaMyllokunmingiaMyrmeleotettixMyrtillocactusMarcgraviastrumMartellidendronMeganyctiphanesMegastomatohylaMelanobatrachusMesopropithecusMicranthocereusMicroepidendrumMicroperoryctesMicropotamogaleMicrosynodontisMonophyllorchisMylopharyngodonMacrochirichthysMacropharyngodonMagnetospirillumMelanophryniscusMesembryanthemumMesonychoteuthisMicroakodontomysMethanobrevibacterMacracanthorhynchusMyiornisM"
       , "NajaNasaNasoNepaNolaNypaNabisNajasNasuaNaviaNeliaNemkaNettaNigmaNinoxNoneaNuxiaNyssaNaeniaNageiaNandusNangerNardiaNardusNaticaNatrixNebelaNebriaNebrisNecoraNeesiaNeomysNeotisNepetaNeptisNereisNerineNeriumNesliaNestorNezaraNhanduNiobiaNiphonNiptusNitelaNoctuaNolanaNolinaNolteaNomadaNomeusNoropsNostocNumidaNupharNysiusNyssonNagustaNamibiaNandinaNarragaNasalisNatalusNatatorNeandraNebriusNeckeraNectriaNeilliaNelumboNemonyxNemosiaNemouraNeochenNeotomaNeottiaNepheleNephilaNephtysNerodiaNesasioNesiotaNesokiaNesomysNetriumNigellaNigritaNingauiNitellaNoccaeaNomonyxNotadenNoterusNothuraNotomysNotoxusNucellaNudariaNuytsiaNymphonNalassusNandayusNandiniaNanofilaNasuellaNautilusNaviculaNeacomysNecrobiaNecrodesNecromysNectomysNecturusNelsoniaNemobiusNeocaryaNeochmiaNeofelisNeofiberNeolectaNeophemaNeophocaNeophronNeosconaNeospizaNeotateaNeotomysNeovisonNephanesNephropsNeptuneaNeptuniaNeritinaNerophisNesillasNesoenasNettapusNeumaniaNeveritaNeviusiaNewtoniaNicandraNimravusNiolamiaNipponiaNisaetusNoblellaNocardiaNoctilioNomascusNomingiaNoranteaNotechisNotiomysNotropisNovumbraNowelliaNowickeaNucteneaNumeniusNyctalusNycterisNyctomysNymphaeaNymphulaNaegleriaNananthusNannacaraNanocnideNarcissusNasolamiaNassariusNaucratesNaultinusNeafrapusNecropsarNectandraNectogaleNectouxiaNecydalisNegaprionNeisseriaNemapogonNemophoraNeobisiumNeoclytusNeogobiusNeoitamusNeoniphonNeophasiaNeopilinaNeopteryxNeotragusNeotrygonNepenthesNepheliumNephtheisNesocodonNesolagusNesoromysNeurergusNeurigonaNeuwiediaNicotianaNidulariaNiphargusNitzschiaNoctilucaNodulariaNosferatuNossidiumNotadustaNotobasisNotodontaNotoedresNotopogonNucifragaNuralagusNyctibiusNyctobryaNymphalisNartheciumNasturtiumNaticariusNecrophilaNectariniaNehalenniaNemichthysNemopilemaNeohiraseaNeohylomysNeolloydiaNeomorphusNeonectriaNeopetaliaNeoregeliaNeotomodonNephropsisNephrotomaNesiotitesNesocharisNesovitreaNeurosporaNidorelliaNidulariumNigritellaNimbacinusNimiokoalaNiviventerNomocharisNoronhomysNorthiellaNothofagusNothosteleNothotsugaNotiosorexNotogoneusNotolabrusNotopterusNotoryctesNototheniaNyctanassaNycticebusNycticeiusNycticoraxNyctyornisNymphoidesNaemorhedusNannocharaxNannococcyxNannorrhopsNannospalaxNannostomusNannothemisNanochromisNanuqsaurusNapaeozapusNassulopsisNechamandraNecrosyrtesNectriopsisNematistiusNematogenysNemegtomaiaNemogullmiaNeocaridinaNeoceratiasNeococytiusNeohenriciaNeolentinusNeomarianiaNeophocaenaNeoscopelusNeosepicaeaNeotetracusNeoveitchiaNephepeltiaNephilengysNephrolepisNephropidesNesophontesNesoryzomysNesotrochisNeuropeltisNeusticomysNgapakaldiaNicrophorusNilopegamysNitellopsisNitrobacterNotacanthusNotaeolidiaNothocercusNothochrysaNothodiplaxNotholirionNothoproctaNotiophilusNotocheirusNotograptusNotoliparisNotorynchusNyasasaurusNyctereutesNyctidromusNyctinomopsNyctophilusNyctosaurusNymphicinaeNannaethiopsNannosciurusNanoclaveliaNanotitanopsNatronomonasNeamblysomusNehvizdyellaNematasketumNematobryconNematoplexusNematostellaNeoachmandraNeobuxbaumiaNeoceratodusNeodorcadionNeophilaenusNeopsephotusNeopsittacusNeoraimondiaNeotyphodiumNephrospermaNesogordoniaNeurotrichusNierembergiaNimbochromisNiphotrichumNitrosomonasNoemacheilusNothobartsiaNothocestrumNothoscordumNotoscopelusNuttalliellaNycticeinopsNemateleotrisNematothallusNeophascogaleNeotrombiculaNormanichthysNotiochelidonNotiomastodonNotophthalmusNakalipithecusNecropsittacusNeoglyphidodonNeoheterandriaNeolamprologusNeonicholsoniaNingxiatheriumNothobranchiusNasikabatrachusNeocallitropsisNeowerdermanniaNilssoniopterisNudiantennariusNicobariodendronN"
       , "OdaxOenaOleaOryxOtisOtusOvisOchnaOlepaOlyraOrbeaOrixaOroyaOryzaOsmiaOtalaOxynaObeliaObereaObriumOcimumOcoteaOcrasaOcypusOdeziaOdonusOeneisOkapiaOligiaOliniaOlixonOlneyaOnonisOnosmaOphrysOraniaOrbonaOrchisOrculaOrgyiaOrlayaOsedaxOstomaOstreaOstryaOtariaOtateaOtaviaOtideaOtitesOtomysOulemaOvibosOxalisOxyriaOxyuraObrimusOchromaOcneriaOctodonOctomysOctopusOcypodeOecomysOenomysOenopiaOgataeaOlaviusOleariaOndatraOniscusOnocleaOnygenaOophagaOpatrumOphiuraOphiusaOplurusOpomyzaOpsiliaOpuntiaOrcinusOrelliaOreonaxOrestesOriolusOrrorinOrtalisOrthopsOryctesOryziasOsmerusOsmundaOsmylusOtocyonOtomopsOtteliaOurebiaOxalaiaOxyceraOxylomaOxyopesOcenebraOchlodesOchotonaOcreatusOcyphapsOdobenusOdonturaOdynerusOedemeraOedipinaOedipodaOemleriaOenantheOkoubakaOleandraOligellaOliotiusOmophronOmosudisOncidiumOncoceraOocystisOophytumOphidionOphiodonOphisopsOphrysiaOpopanaxOrcaellaOreamnosOreasterOreortyxOrestiasOricillaOriganumOrsillusOrthemisOrthiliaOrthosiaOryzomysOstriniaOtaciliaOtolemurOvalisiaOxybasisOxybelusOxymirusOxynotusOxypogonOxyporusOxypsilaOxytelusObregoniaOceanitesOchagaviaOctosporaOdacanthaOdonelliaOdonestisOdontitesOdontosiaOecanthusOenotheraOlallamysOligonemaOllulanusOmocestusOmphalinaOncothecaOnopordumOnychomysOnymacrisOocardiumOpheodrysOphraellaOphryacusOplopanaxOporornisOreochloaOreolalaxOrestoviaOrobancheOrsodacneOrthetrumOrthonamaOrtyxelosOscinellaOsculariaOsmanthusOsmodermaOstracionOtodectesOtophryneOuroborusOxychilusOxygastraOxylebiusOxyruncusOxystelmaOxythyreaOxytripiaOxytropisOxyuranusOchromonasOchropachaOchrotomysOculotremaOdocoileusOdontaspisOdontoperaOdontosidaOecophyllaOedogoniumOenocarpusOenococcusOenosaurusOiceoptomaOligocladaOligoporusOmanosauraOmeisaurusOmphalodesOmphalotusOnchidorisOnchocercaOncospermaOnobrychisOphiocoleaOphiolepisOphiomorusOphioscionOphisaurusOpocunoniaOraniopsisOrchipedumOrconectesOrcynopsisOrectantheOreichthysOreocereusOreomunneaOreonymphaOreophasisOreophryneOreopterisOreotragusOrnithopusOrostachysOrthotomusOscaeciliaOsgoodomysOssicaulisOsteomelesOsteopilusOstertagiaOstreopsisOstrowskiaOstryopsisOtidiphapsOtocinclusOtopharynxOtotylomysOurapteryxOxydendrumOxypetalumOzotocerosOceanodromaOchropleuraOcnerostomaOdontitellaOdontolabisOdontoscionOeceocladesOedipodinaeOldenburgiaOligocottusOligosarcusOligotrichaOligoxystreOmmatoiulusOmmatophocaOncocalamusOntholestesOnthophagusOnychogaleaOnychoprionOperophteraOpheodesomaOphiarachnaOphiocytiumOphioparamaOphiophagusOplegnathusOrchidanthaOrectolobusOreochromisOreophilaisOreophoetesOrthogeomysOrthophytumOrthosiphonOrthriophisOrtygospizaOrycteropusOryctolagusOryzorictesOsphronemusOsteolaemusOtonycterisOtonyctomysOxalobacterOxyeleotrisOxymycterusOzobranchusOchlerotatusOchthephilusOctoberaspisOctodontomysOdontochelysOdontochilusOdontocyclasOdontomachusOdontophorusOgnorhynchusOligoryzomysOligotrichumOmmatidiotusOmmatotritonOmphalophanaOncorhynchusOnychothemisOphioglossumOphiogomphusOpisthocomusOpisthoproraOpisthorchisOrectochilusOreopithecusOreostruthusOrnithocarpaOrnithogalumOrnithopteraOrtegocactusOrthotheciumOrthotomicusOrthotrichumOryzaephilusOscillatoriaOsteoglossumOsteospermumOstorhinchusOstracoberyxOtiorhynchusOxycheilinusOxycirrhitesOxypselaphusOdobenocetopsOdontoglossumOdontopodismaOdontoschismaOmphaloscelisOnychognathusOnychogomphusOphiognomoniaOreoleuciscusOreophrynellaOreostylidiumOreotrochilusOrnitholestesOrnithonyssusOrthopsittacaOudemansiellaOxyporhamphusOxyrrhynchiumOxyzygonectesOnychodactylusOnychonycterisOphiocordycepsOphthalmolepisOpisthograptisOrnithoglossumOthnielosaurusOuranopithecusOxymonacanthusOdontobatrachusOdontorrhynchusOphthalmosaurusOrnithorhynchusOrnithobacteriumO"
       , "PanPaoPoaPavoPicaPipaPopaPsenPuduPumaPusaPuyaPaddaPanaxPanusPapioParisParmaParusPeleaPercaPernaPhapsPhloxPhocaPhysaPiceaPicusPileaPinnaPinusPionaPiperPipraPisumPittaPoliaPongoPotosPraysPsilaPsoraPulexPunguPyrusPythoPyxisPadinaPagrusPagumaPalmarPalolaPangioParkiaParulaPasserPavonaPecariPectenPegusaPelliaPeniumPepsisPerdixPernisPerseaPethiaPeumusPezizaPhacusPhanerPhasiaPhleumPhoebePholisPichiaPicrisPierisPionusPipilePipiloPirataPistiaPlataxPlodiaPlusiaPoduraPogonaPohliaPoianaPoneraPontiaPoranaPorteaPortiaPostiaPreniaPriniaProgneProteaPrunusPsodosPsychePteleaPteryxPtinusPunicaPyrgusPyrolaPythonPachiraPachytaPaeoniaPagurusPalarusPalleonPammenePanaquePandakaPandionPanicumPanisusPanolisPanopeaPanorpaPantalaPantheaPanurusPaoniasPapaverPaphiesPapilioPapuaeaParargeParazenPardosaParidaeParodiaParotiaPartulaPasitesPatellaPedetesPeganumPegasusPelagiaPelateaPelecusPelexiaPellonaPelomysPelosiaPelurgaPenaeusPerillaPeteniaPetuniaPhaetonPhaleraPhallusPhaoniaPhascumPheosiaPhilinePhlebiaPhlomisPhoenixPholcusPhrodusPhryxusPhylicaPhysciaPhysenaPidoniaPimentaPirangaPisauraPisoniaPitohuiPlacunaPlatylaPloceusPluteusPodaxisPodismaPodocesPodomysPoecilePogoniaPomareaPopulusPorellaPoritesPorzanaPotamonPraomysPrasiumPremnasPrimulaPrionusPristisProalesProcyonProteusPseudisPsidiumPsophiaPsophusPteroisPthirusPtiliumPtosimaPuijilaPunomysPuntiusPupillaPurpuraPyralisPyroniaPyrrhiaPytiliaPachetraPachnodaPachyliaPaederiaPaederusPagellusPalaemonPaliurusPallenisPalmariaPalomenaPalparesPancaliaPandalusPandanusPandemisPandinusPandoreaPanellusPanterpePantheraPantodonPanurgusPapasulaPapestraParatreaParequesParictisParmeliaParnopesParoariaParrotiaPatagonaPaulamysPaxillusPederpesPelosinaPeltariaPelusiosPelvetiaPenelopePeponiumPerciliaPereskiaPeringiaPerizomaPerlodesPerryenaPervagorPetasidaPetaurusPetroicaPetromusPetroniaPetteriaPhaceliaPhaenopsPhaeolusPhaethonPhalarisPhaleriaPharotisPhedimusPheidolePhellinePhelsumaPhigaliaPhilaeusPhilemonPhilydorPhimosusPhlyctisPhocoenaPhodilusPhodopusPholiotaPhormiumPhorodonPhotiniaPhotinusPhoxinusPhuopsisPhylliumPhyllopsPhysaliaPhysalisPhysarumPhysellaPhyseterPhyteumaPicconiaPicnomonPicoidesPicrasmaPinctadaPinelliaPinicolaPionitesPiophilaPipreolaPiranheaPisidiumPissodesPistaciaPitangusPitheciaPityopusPlagodisPlanodesPlantagoPlataleaPlatanusPlatycisPlebejusPlecotusPlegadisPlemyriaPleocomaPlinthusPlotosusPlumbagoPlumeriaPlutellaPocheinaPodarcisPodicepsPodraneaPoeciliaPoecilusPoelagusPoephilaPogoniasPolaskiaPolistesPolyceraPolydoraPolygalaPolymniaPolyodonPolyosmaPolytmusPomatiasPompilusPoncirusPopilliaPoteriumPotorousPouteriaPradosiaPreissiaPrestoeaPringleaPrionacePrionopsPristinaProcapraProcaviaProcerusProcniasProfelisProlagusProlemurPropyleaProsopisProtelesPrunellaPsenulusPseudoisPsilotumPsoraleaPsychodaPteromysPteropusPtilodonPtilorisPtilotusPtinellaPucciniaPucrasiaPuerariaPuffinusPuperitaPurdiaeaPylaisiaPyraustaPyrosomaPyrrhulaPyrrhuraPachyanasPachypasaPaederotaPagodromaPagophilaPalaeotisPalaquiumPalinurusPamerideaPanaeolusPanagaeusPanaqolusPandorinaPanemeriaPangasiusPangoniusPanulirusPanyptilaPapagomysParabuteoParachaosParadipusParadiseaParadrinaParageronParalepisParalipsaParalomysParanchusParapoynxParasemiaParaxerusParmelinaParmulinaParnassiaParoeduraParotomysParuromysPasiphilaPasserinaPastinacaPauldopiaPaulliniaPaulowniaPechipogoPeckoltiaPelecanusPellioniaPelobatesPelodytesPelopidasPelorovisPeltigeraPemphigusPennantiaPenstemonPentatomaPenthorumPeperomiaPeradeniaPeramelesPercarinaPercophisPercopsisPerdiculaPerigoniaPerillulaPeriparusPeriplocaPerovskiaPersooniaPetalonyxPetasitesPetinomysPetiveriaPetricolaPetrogalePezophapsPezoporusPezosirenPhaenomysPhagnalonPhalacrusPhalangerPharmacisPhaseolusPhasianusPhellinusPhellodonPhengarisPhidippusPhilaenusPhilanderPhilcoxiaPhillyreaPhilortyxPhleogenaPhloeomysPhosphugaPhrynopusPhyllotisPhysarinaPhysconiaPhysogynePhytoeciaPhytoptusPhytotomaPiaractusPicomonasPicralimaPigafettaPilosellaPilulariaPimelodusPituophisPlagiopusPlanigalePlaniplaxPlanorbisPlatycepsPlatydemaPlatypezaPlatyretaPlerogyraPlethodonPleurotusPleuroziaPlicaturaPliotremaPlowmaniaPluvialisPluvianusPodaloniaPodoxymysPoeciliumPogonatumPogonomysPolycarpaPolychaosPolychrusPolyergusPolygoniaPolygonumPolylepisPolymixiaPolymixisPolynemusPolyplocaPolypogonPolyporusPolyprionPolytelisPomadasysPomatomusPonthievaPonticolaPontomyiaPorcellioPorphyrioPortulacaPosidoniaPresbytisPriapellaPrimoliusPrinsepiaPrionodonPrionurusPriotelusPriscileoPristellaProbarbusProconsulPromeropsPropebelaProsartesProsopeiaProstomisProtaetiaProtapionProtaspisPsammomysPsephotusPsephurusPsettodesPseudemysPseudibisPseudodaxPseudoipsPseudomysPseudopusPseudorcaPseudoryxPsilocybePsittacusPsoroptesPtenidiumPterichisPteridiumPteroclesPteronuraPterygotaPtilidiumPtiliolumPtilopsisPulicariaPulsatrixPuncteliaPungitiusPuntigrusPygathrixPyrenariaPyrochroaPyrrhaltaPachylemurPachyptilaPachyserisPachythecaPachytodesPagodulinaPagophilusPaidiscuraPalaeotheaPaleomerusPalmorchisPanaeolinaPanchrysiaPancratiumPanonychusPantholopsParabuthusParachannaParacoccusParacoryneParaderrisParadisaeaParahyaenaParajubaeaParakneriaParameciumParapholisParaponeraParatrygonParaulopusPardalotusPardofelisParietariaParmaturusParmoptilaParnassiusParochetusParonychiaPartheniumPasserellaPassifloraPecopterisPediastrumPedionomusPedostibesPegomastaxPelinobiusPelodiscusPelomedusaPelophylaxPeltodytesPemphredonPeniophoraPennisetiaPennisetumPentalagusPerccottusPericalliaPericallisPerichaenaPericopsisPeridiniumPerigraphaPeriphanesPeriphyllaPerisomenaPerisoreusPerithemisPeromyscusPeropteryxPeroryctesPersicariaPertusariaPeruphasmaPetauristaPetopentiaPetromyzonPeucedanumPezotettixPfiesteriaPhaeochroaPhalangiumPhalaropusPhascogalePheucticusPhilanthusPhilonotisPhlebodiumPhlomoidesPhocarctosPhoebetriaPhoneutriaPhormidiumPhragmitesPhrynosomaPhycodurusPhylidoreaPhyllaphisPhyllobiusPhyllonetaPhyllonomaPhymatopusPhysarellaPhysiphoraPhytolaccaPiaranthusPicromerusPicumninaePiezorhinaPilocarpusPimpinellaPinguiculaPinirampusPinnulariaPionosomusPiptoporusPisolithusPisoniellaPistoriniaPitcairniaPithecheirPityogenesPityriasisPlagioderaPlakothiraPlanonasusPlasmodiumPlasmoparaPlatanistaPlatycaryaPlatycerusPlatycleisPlatycodonPlatydorasPlatypelisPlatystomaPlectonemaPleodorinaPleuridiumPleuroptyaPleurosiraPleuroziumPliohippusPodilymbusPodocarpusPodocnemisPodococcusPoecilimonPogoniulusPogonotiumPogostemonPolemaetusPolemistusPolemoniumPolioptilaPollachiusPolyarthraPolycnemumPolydrususPolyonymusPolyphyllaPolypodiumPolypterusPolysarcusPolystictaPomaderrisPontechiumPontederiaPontoporiaPoranopsisPorichthysPorphyrulaPorpostomaPorthidiumPotamogalePotentillaPowichthysPraecereusPrenanthesPrescottiaPriocnemisPriodontesPrionoduraPrionychusPriscacaraProailurusProasellusProatherisProcolobusProdontriaProechimysPrometheumPronolagusProsoboniaProsternonProtomelasProtopitysProtothecaProtoxerusProutiellaPsammophisPsarisomusPsarolepisPseudacrisPseudaspisPseudechisPseudolaisPseudoleonPseudonajaPseudosasaPsittaculaPsychotriaPsylliodesPsylloboraPteralopexPteranodonPterapogonPterocaryaPterodromaPterolepisPteronettaPteronotusPteroscionPterosporaPterostomaPtilinopusPtilophoraPtiloproraPtychozoonPulmonariaPulsatillaPungeleriaPuschkiniaPycnogonumPycnonotusPycnoporusPygeretmusPygoplitesPygoscelisPylaemenesPylodictisPyracanthaPyramidulaPyrenestesPyrococcusPyrodercesPyropteronPyrrhidiumPyrrhosomaPyrroglauxPyxidiculaPachycereusPachydiplaxPachydyptesPachygasterPachygnathaPachylisterPachyphytumPachypodiumPachyrhizusPachysandraPachysphinxPachyuromysPaedocyprisPaedophrynePaidopithexPalaeosyopsPalatodontaPalawanomysPaleosuchusPaltothemisPantacanthaPapuacedrusParabembrasParadigallaParadoxurusParaechinusParagonimusParaliparisParalouattaParaluteresParambassisParamelomysParaminabeaParamurexiaParanthreneParapteroisParascalopsParascaptorParascorpisParasitaxusParasyrphusParethelcusParetroplusParkinsoniaParoreomyzaParvicornusPassaloecusPasteurellaPastinachusPatagioenasPaysandisiaPearsonomysPedicularisPediocactusPelagodromaPelargoniumPelargopsisPelecyphoraPeltophorumPenelopidesPenicilliumPeniocereusPenthopheraPeribatodesPeriplanetaPerisserosaPeristedionPerognathusPeronosporaPerspicarisPetaurillusPetauroidesPetermanniaPetrocallisPetrocosmeaPetrodromusPetromarulaPetromyscusPetrophassaPetrophytumPetrorhagiaPeucedramusPhaethornisPhainopeplaPhallocerosPhapitreronPhegopterisPhellopilusPhilaethriaPhilantombaPhiletairusPhilochthusPhilodromusPhilomachusPhlebotomusPhloeonomusPhloeosinusPhlogophoraPhobaeticusPhoebastriaPhoeniculusPhoenicurusPhosphaenusPhreatobiusPhyllanthusPhyllobatesPhyllobolusPhyllodesmaPhyllomyiasPhyllonotusPhylloporiaPhylloporusPhyllorhizaPhyllotretaPhymatoceraPhysetopodaPhysocarpusPhysokermesPhysoplexisPhysostegiaPhysostigmaPhytelephasPicathartesPictilabrusPilherodiusPionopsittaPittosporumPlacobdellaPlagiochilaPlagiogyriaPlagiomniumPlagionotusPlagioscionPlanococcusPlatantheraPlateumarisPlatichthysPlatismatiaPlatycercusPlatyceriumPlatycladusPlatycnemisPlatycraterPlatydracusPlatygyriumPlatylophusPlatymantisPlatynaspisPlatynereisPlatyptiliaPlatyrhinusPlatysphinxPlatystomosPlatythelysPlectocomiaPleiospilosPlesiobatisPleurodelesPleuroplocaPlocospermaPocilloporaPodogymnuraPodophyllumPodosphaeraPoecilogalePoecilonotaPoellnitziaPoicephalusPolycentrusPolychrysiaPolygonatumPolygraphusPolymorphusPolyommatusPolypedilumPolyphaenisPolystichumPolytrichumPomacanthusPomacentrusPoropanchaxPorophyllumPotamogetonPottingeriaPrimelephasPrioniturusPrionobramaPrionolepisPristiphoraPristolepisPritchardiaProatriplexProboscideaProboscigerProcambarusProcellariaProfundulusPromephitisPropithecusProserpinusProtambulyxProtemnodonProtonemuraProtopterusProtospinaxProtosuchusProvidenciaPrumnopitysPrzewalskiaPsalmopoeusPsarocoliusPsathyrellaPseudelaphePseudolarixPseudomalusPseudomonasPseudomugilPseudopottoPseudopulexPseudorchisPseudorhinaPseudoscopsPseudosedumPseudotaxusPseudotsugaPsilocaulonPsilochilusPsittacellaPsittrichasPtenochirusPterocactusPterocarpusPterodiscusPteroglossaPteromyscusPterophorusPterostemonPterostylisPtilichthysPtilocercusPtilopachusPtilophorusPtilostemonPtychopteraPuccinelliaPygocentrusPyrenophoraPyrrhocoraxPyrrhocorisPachybrachysPachycephalaPachycondylaPachypanchaxPachytrachisPacifastacusPaecilomycesPalaeoisopusPalaeosinopaPaludipasserPalustriellaPantherophisPapillodermaPapyrocranusParablenniusParacorymbiaParacynictisParahydromysParaleptomysParalithodesParanthropusParaquilegiaParascylliumParasphaeriaParasteatodaParatrechinaParrotiopsisParvilacertaParvularculaPebasiconchaPectinatellaPectinophoraPelagibacterPelecanoidesPelmatolapiaPentaphragmaPereskiopsisPericlimenesPericrocotusPeridiniellaPerodicticusPetilipinnisPetrochromisPetrophassusPetropseudesPetroselinumPhacochoerusPhaenopharosPhaeolepiotaPhaeophysciaPhaeothlypisPhalaenopsisPhalcoboenusPhallichthysPhaneropteraPharomachrusPhellinidiumPhiladelphusPhilesturnusPhilodendronPhlogophilusPhocoenoidesPholidopteraPhoradendronPhorusrhacosPhotocorynusPhotostomiasPhragmatobiaPhrynomantisPhylidonyrisPhyllarthronPhyllocladusPhyllocraniaPhyllomedusaPhylloperthaPhyllopteryxPhylloscopusPhyllostomusPhysignathusPhysochlainaPhytophthoraPictichromisPiliocolobusPilosocereusPipistrellusPithecophagaPityokteinesPlagiodontiaPlanktothrixPlanorbariusPlatycryptusPlatyrrhinusPlatysternonPlatystethusPlecoglossusPlectranthusPlectropomusPlesiosuchusPleuragrammaPleurodiscusPleuronectesPleurotrochaPliopithecusPluvianellusPneumocystisPoecilageniaPoeciliopsisPoecilocampaPogonatherumPogonocherusPogonomyrmexPolyboroidesPolydactylusPolyplectronPontigulasiaPorodaedaleaPorphyrellusPorphyridiumPotamotrygonPratylenchusPrionailurusPrionosuchusPristiapogonPristimantisPristionchusProbrevicepsProcelsternaPrognathodesPrognathodonProhylobatesPrometheomysProtanguillaProtochromysProtodeltoteProtonotariaProtoreasterProtoschiniaPrototrichiaPrototroctesPrzewalskiumPsammodromusPseudaelurusPseudechidnaPseudeverniaPseudobarbusPseudochaetePseudoclanisPseudocyttusPseudoharpaxPseudohydnumPseudolabrusPseudophasmaPseudoprumnaPseudoselagoPseudosphinxPseudoterpnaPseudotritonPsilopsiagonPsitteutelesPsophocarpusPsorodonotusPsychrolutesPteridophoraPterocheilusPteroglossusPteromylaeusPterophyllumPterostichusPtinomorphusPtychococcusPtyodactylusPtyonoprognePurpuricenusPyrocephalusPyxicephalusPyxidantheraPachydactylusPachyplectronPalaeodocosiaPanderichthysPangasianodonPaphiopedilumParacanthurusParacentrotusParacheirodonParacirrhitesParacrociduraParalipophrysParalonchurusParamenexenusParamormyropsParantechinusParaspidoderaParentucelliaParhelophilusParotocinclusPaucidentomysPeltoboykiniaPeniophorellaPentacerasterPeponocephalaPerrierosedumPetrocephalusPetrochelidonPhaeocollybiaPhalacrocoraxPhascolarctosPhascolosorexPhellodendronPhenablenniusPhoeniconaiasPholidichthysPholidocarpusPholidophorusPhosphaticolaPhractolaemusPhragmataeciaPhragmipediumPhreatichthysPhrynorhombusPhylloscartesPhyllostachysPhyscomitriumPierrebrauniaPithecheiropsPityophthorusPlagiotheciumPlectrogeniumPlectrophenaxPlectropterusPleuricosporaPleurobrachiaPleurogrammusPleurospermumPoecilocharaxPoecilotheriaPogonomelomysPoliocephalusPorphyrophoraPorpolomopsisPotamochoerusPraecitrullusPresliophytumPristiophorusProleptomonasProsciurillusProsopocoilusProsthemaderaProterorhinusProtobothropsProtographiumProtophysarumProtorosaurusPseudaphritisPseudeuophrysPseudobicerosPseudoboletusPseudocentrumPseudocheirusPseudochiropsPseudochromisPseudocistelaPseudoclappiaPseudoeuryceaPseudoliparisPseudolynchiaPseudonigritaPseudonovibosPseudophoenixPseudorasboraPseudoryzomysPseudoscymnusPseudosesarmaPseudotriakisPseudovadoniaPseudovanillaPsilorhynchusPsychrobacterPterinochilusPterodactylusPterotolithusPtychocheilusPtychopetalumPtychoramphusPucciniastrumPygmaeocereusPalaeopantopusParacentropygeParacercomonasParacestracionParaleucobryumParalichthodesParosphromenusParthenocissusPearsonothuriaPelvicachromisPentadiplandraPeriophthalmusPestalotiopsisPetroleuciscusPhaenicophaeusPhaeomarasmiusPhalaenoptilusPhenacogrammusPhenakospermumPhloeophthorusPhoenicoparrusPhoenicopterusPholidostachysPhosphatodracoPhotobacteriumPhragamaticolaPhragmatiphilaPhrynocephalusPhthanotrochusPhyllastrephusPhyllonorycterPhyllonycterisPhyscomitrellaPilgerodendronPipanacoctomysPiscinoodiniumPithecellobiumPlanctosphaeraPlanomicrobiumPlatacanthomysPlatyhypnidiumPlatypterygiusPlatyrhinoidisPlectocephalusPlectorhinchusPoecilobothrusPolycentropsisPomatoschistusProceratophrysPromethichthysProterogyrinusPseudaplemonusPseudeustrotiaPseudiragoidesPseudobalistesPseudobulweriaPseudocerastesPseudochelidonPseudochirulusPseudocolaptesPseudoconnarusPseudogoodyeraPseudohydromysPseudopantheraPseudopeziculaPseudophilotesPseudophoxinusPseudopoeciliaPseudotrapelusPseudotropheusPterigynandrumPteroidichthysPunjabitheriumParaceratheriumParamachairodusParapachymorphaParaphrynoveliaPhalacrognathusPhoenicophoriumPhractocephalusPierolapithecusPlanktosphaeriaPlectocomiopsisPlethodontohylaPolytrichastrumPorphyrostachysPritchardiopsisProchlorococcusProtoschwenckiaPseudantechinusPseudargyrotozaPseudocheilinusPseudoclitocybePseudocreobotraPseudogobiopsisPseudolechriopsPseudoleskeellaPseudoplectaniaPseudorhipsalisPtilonorhynchusParacyprichromisParaleptophlebiaParaswammerdamiaPlesiorycteropusPolyacanthonotusPseudocarchariasPseudocolochirusPseudocrossidiumPseudoplatystomaPteroplatytrygonPterygoplichthysPurpureicephalusPalaeopropithecusPedestredorcadionPropionibacteriumProtarchaeopteryxProtochondrostomaPseudocrenilabrusPseudotrichonotusPseudoxiphophorusPsittaculirostrisPseudoscleropodiumPseudoacanthocereusPseudoginglymostomaPseudoscaphirhynchusP"
       , "QueleaQuassiaQuediusQuercusQuerulaQuillajaQuinculaQuintanaQuesneliaQufutitanQuickellaQuintiniaQuiscalusQuisqueyaQuiabentiaQuasimodaspisQuetzalcoatlusQ"
       , "RoaRajaRanaRheaRhusRosaRusaRutaRadixRemizReneaRexeaRheumRhinaRibesRissaRocioRubiaRubusRukiaRumexRadulaRallusRapanaRaphiaRaphusRattusRatufaRauhiaResedaRetusaRetziaRhagioRhapisRhyniaRhysiaRhyssaRicciaRiftiaRivinaRivulaRohdeaRuminaRuppiaRuscusRyaniaRadiolaRafetusRaiamasRallinaRamariaRamondaRamphisRamulusRanatraRaouliaRasboraRaveneaRebutiaReduncaRegulusRenillaRetheraReyesiaRhagiumRhamnusRheidaeRheomysRhingiaRhizinaRhodeusRhyaciaRicinusRipariaRivulusRobiniaRomaleaRomuleaRonisiaRorippaRosaliaRoscoeaRotariaRozellaRuelliaRunellaRuschiaRussulaRutilusRutpelaRyssotaRacinaeaRadiculaRamalinaRangiferRanicepsRanzaniaRaphanusRavenalaReynosiaRhabdiasRhagadesRhagamysRhagomysRheoclesRhigozumRhinellaRhineuraRhizomysRhizopusRhodiolaRhodopisRhopalumRhopalusRhypariaRhysodesRhytismaRicordeaRidolfiaRoemeriaRollulusRoncadorRophitesRoridulaRowettiaRucervusRudariusRupicolaRuspoliaRuvettusRuyschiaRynchopsRypticusRafflesiaRahonavisRamphodonRasbosomaRauvolfiaRegalecusRenealmiaRhabdomysRhaetulusRhamnellaRhincodonRhinechisRhinopiasRhinoplaxRhinopomaRhipiduraRhipsalisRhodamniaRhogeessaRhombomysRhopilemaRhytidiumRhyzobiusRibeiroiaRiccardiaRodgersiaRoeboidesRollandiaRopalopusRoscheriaRosulariaRousettusRoystoneaRudbeckiaRupicapraRamphastosRanitomeyaRanunculusRaphicerusRapicactusRedigobiusReichardiaReithrodonRetispathaRetroculusRhabdophisRhabdornisRhagoletisRhagonychaRhamnidiumRhaphiduraRhaphiodonRheinardiaRhinanthusRhinobatosRhinocerosRhinodermaRhinopteraRhinotitanRhipidomysRhipogonumRhizomniumRhizophoraRhizostomaRhizotheraRhodobryumRhodocoleaRhodoferaxRhodometraRhodomonasRhodonessaRhodopygiaRhodospizaRhodotyposRhoicissusRhoipteleaRhomboderaRhyacioniaRhynchitesRhynchomysRhynchosiaRhynchotusRhynocorisRhyticerosRickenellaRickettsiaRiemerellaRieppeleonRondeletiaRonnbergiaRosmarinusRosthramusRostratulaRowlandiusRungsiodesRacomitriumRamariopsisRamphocelusRasboroidesRathbunellaRauhocereusRebellatrixReinhardtiaRelicanthusRhabdomirisRhacochilusRhacophorusRhagadiolusRhaphiderusRhaponticumRheumapteraRhinodrilusRhinolophusRhizocarponRhizophagusRhizotrogusRhodococcusRhodomyrtusRhodopechysRhodotorulaRhopalapionRhyacophilaRhynchaenusRhynchocyonRhynchogaleRhynchophisRhynochetosRhyzoperthaRomanogobioRomerolagusRotylenchusRungwecebusRupestrellaRutstroemiaRachycentronRadermacheraRahowardianaRamapithecusRamphomicronReinhardtiusReticulomyxaRetrophyllumRhabdopleuraRhabdoweisiaRhaphigasterRhaphiolepisRhinecanthusRhinephyllumRhinoclemmysRhinomuraenaRhinophrynusRhinosciurusRhizanthellaRhizoglyphusRhodacanthisRhododendronRhodostethiaRhodothamnusRhodothermusRhombophryneRhyacotritonRhynchobatusRhynchocalyxRhynchomelesRhynchosporaRicciocarposRomanichthysRonzotheriumRothschildiaRuminococcusRadiicephalusRecurvirostraReinwardtoenaRhabdodendronRhacodactylusRhamphocottusRheobatrachusRhinopithecusRhinopomastosRhipicephalusRhodocollybiaRhodostrophiaRhoicospheniaRhopaloblasteRhopalostylisRhynchocyprisRhyncholaeliaRhyncholestesRhynchophorusRhynchopsittaRineloricariaReticulitermesRhapidophyllumRhizoprionodonRhynchosporiumRhynchostegiumRhyparochromusRuwenzorisorexReinwardtipicusReithrodontomysRheithrosciurusRhithropanopeusRhizosomichthysRhynchonycterisRhynchostruthusRhytidiadelphusRhynchocyclusR"
       , "SusSabaSagaSasaSidaSiumSmokStyxSulaSaaraSabalSabraSaigaSalixSalmoSamiaSardaSarpaSedumSennaSentaSepiaSesiaSicusSionaSirexSittaSmaugSoleaSorexSousaSphexSpizaStenoStipaStrixSudisSwimaSaginaSaitisSalviaSanderSapphoSapriaSapygaSaracaSarumaSawbwaScaevaSchimaSciaraScillaScinaxScoliaScopusScutiaSecaleSedinaSelagoSeleneSemeleSeseliSesseaSetinaShoreaSialiaSialisSicanaSileneSilphaSimiasSimyraSitonaSmilaxSondraSorbusSpalaxSparusSphinxSpirisStenusSternaSteviaStilbeStizusStrigaStyraxSuaedaSuncusSurniaSuteraSyllisSylviaSynemaSynuraSyrinxSabellaSacoilaSaimiriSalaccaSalariaSaldulaSalmilaSalsolaSamaneaSamolusSaperdaSarachaSarcinaSardinaSatrapaScandixScaurusSchilbeSchiniaSchinusSchotiaSciaenaScincusScirpusSciurusScomberScopulaScymnusSechiumSedellaSeiurusSeleniaSenecioSepianaSepiolaSequoiaSerenoaSerinusSeriolaSerissaSerpulaSesamumSetariaSetiferSetonixShortiaSicalisSicistaSiganusSilurusSilviusSilybumSinapisSitarisSkimmiaSolanumSolomysSonchusSophoraSorghumSotaliaSphyrnaSpialiaSpiraeaSpirulaSpisulaSpongiaSqualusStachysStalkyaStentorStereumStigmusStilbusStiltiaStomiasSturnusStutziaStylopsSuccisaSuillusSungayaSwertiaSyagrusSynapheSynaptaSynedraSynodusSyrigmaSyringaSyrittaSyrphusSaguinusSalanoiaSalminusSaltatorSalticusSalviniaSambucusSandeliaSaniculaSanioniaSantalumSanziniaSaphanusSaphesiaSapindusSapyginaSarcodesSarcodonSaturejaSaturniaSatyriumSaurauiaSauromysSawdoniaSaxicolaSayornisScabiosaScadoxusScaevolaScalopusScapaneaScapaniaScapanusScaphiumSchippiaSchistesSchoenusSchwabiaScolomysScolopaxScolymusScolytusScopaeusScopoliaScytodesSebastesSeptoriaSerapiasSeriphusSerranusSerratiaSesbaniaSesleriaSesuviumShigellaSibiraeaSicydiumSigmodonSilphiumSimuliumSinadoxaSinopodaSiproetaSiraitiaSisyphusSitticusSmiliscaSmyrniumSobraliaSocrateaSolandraSolidagoSolorinaSorbariaSparaxisSpartinaSpartiumSpataliaSpeiropsSpeothosSperchonSpergulaSphagnumSpheginaSpilotesSpinaciaSpinifexSpizellaSpondiasSprattusSpuleriaSqualiusSquatinaStapeliaStauroisSteatodaStefaniaSteganiaStenellaStenodusStenomaxSternulaSteveniaStilbinaStocksiaStokesiaStomoxysStoreriaStreblusStreperaStrigopsStrombusStruthioStylariaStylismaSuccineaSulcavisSundamysSuricataSwartziaSymmerusSympecmaSynapsisSyncerusSyndemisSyngamusSynopsiaSynteliaSystomusSyzygiumSaadaniusSabulodesSaccharumSaccolomaSacculinaSageretiaSahyadriaSainouronSalinomysSalpingusSalvadoraSantolinaSapeornisSaponariaSarcogypsSarcoperaSarcoptesSarcosomaSardinopsSargassumSassafrasSatranalaSatyrodesSaussureaSaxifragaScaptonyxSceletiumSchizotusSciaenopsScincellaScoliodonScoliopusScoloplaxScombropsScorpaenaScutigeraScyllarusScytalinaScythropsScytonemaSegestriaSeleviniaSeligeriaSemnornisSenegaliaSericulusSerratulaSertiferaSetocorisSetophagaSherardiaShibataeaSideridisSideritisSinacaliaSinningiaSinulariaSiphonopsSistrurusSitochroaSolenodonSolisorexSomateriaSommieriaSomniosusSonoroluxSoriculusSouroubeaSparassisSparisomaSpathodeaSpermodeaSphaeriusSphecodesSphenodonSphyraenaSpilogaleSpilomenaSpilornisSpilosomaSpiloxeneSpinachiaSpirillumSpirodelaSpirogyraSpirulinaSplachnumSpondylisSpondylusSprekeliaSprigginaSpulerinaSpyridiumStachyrisStangeriaStaphyleaStauropusSteatomysStegastesStegobiumStegomyiaStellariaStelliferStenodemaStephaniaSterculiaStethorusStetsoniaStewartiaStichopusStigmellaStigonemaStochomysStomatiumStriolataStrumariaStrychnosSturisomaSturnellaStylidiumSuberitesSubulariaSufflamenSurirellaSwieteniaSylvicolaSylviettaSympetrumSymphodusSymphytumSympistisSymplocosSynaptulaSynchaetaSynchromaSyngraphaSyntomiumSystrophaSaccharinaSaccorhizaSadlerianaSagenosomaSagittariaSalamandraSalicorniaSalmonellaSalpinctesSalvelinusSandoricumSanvitaliaSapheopipoSaprospiraSarcobatusSarcophagaSarothruraSarraceniaSauromalusScapanulusScaphidiumScaphiopusScaphisomaScarabaeusScardiniusScarodytesSceliphronSceloglauxSceloporusScheenstiaScheffleraSchinopsisSchisandraSchizoeacaSchizoporaSchlegeliaSchwartziaSchwenckiaScirpoidesSciurillusSclerotiumScolochloaScorzoneraScotinomysSculptariaScutisorexScydmaenusScytalopusSecurigeraSekeetamysSelenideraSeleucidisSemachrysaSemecarpusSemionotusSericomyiaSericornisSertulariaSharpiellaShepherdiaShixinggiaSimmondsiaSimosuchusSinoburiusSinojackiaSiphoninusSipyloideaSisymbriumSitophilusSluiterinaSmerinthusSmicrornisSocotrellaSolatopupaSoldanellaSoleiroliaSolenopsisSolierellaSommeromysSorhageniaSpalacopusSparganiumSpeculanasSpelaeomysSphaeramiaSphecodinaSpheniscusSphenocleaSphiggurusSphyradiumSpilopeliaSpiranthesSpirocercaSpirometraSpodopteraSporophilaSporopipesSquamarinaStachyurusStaehelinaStarnoenasStauntoniaStauroneisSteatornisSteganopusStegolepisStegostomaStellagamaStemonitisStenocorusStenodermaStenopteraStenostolaStenurellaStillingiaStizopteraStomatepiaStrangaliaStratiomysStratiotesStrelitziaStreptopusStrigogypsStriuntiusStromateusStrongylusStrophariaStylophoraSuccinellaSulfolobusSundadanioSurdisorexSutorectusSylvicapraSylvilagusSylviornisSylvisorexSymmorphusSymphylliaSynaptomysSyncrossusSyngnathusSynodontisSynsepalumSyntrichiaSyrmaticusSyromastusSyrrhaptesSaccopteryxSagittariusSaintpauliaSalpingotusSalvadorinaSandersoniaSanguisorbaSansevieriaSaprolegniaSarcocaulonSarcophilusSarcophytonSarcoscyphaSatanopercaSaxatilomysSaxegothaeaScapteromysScardafellaScathophagaScatophagusScaumenaciaScenedesmusScherffeliaSchiedeellaSchindleriaSchistidiumSchistosomaSchizanthusSchizobasisSchreiteriaSchwantesiaSciadopitysScleranthusSclerocaryaSclerodermaSclerolaenaScleropagesSclerotiniaScolichthysScolopendraScomberesoxScotopteryxScutellariaScutelliniaScyllaridesScyphanthusScyphiphoraSebastianiaSeirocrinusSelaginellaSelasphorusSelatosomusSempervivumSephanoidesSeriatoporaSerrasalmusSerropalpusShinisaurusShonisaurusSideroxylonSiegfriediaSimenchelysSinodendronSinosuthoraSinotheriumSiphlonurusSiphonorhisSmallanthusSmicromyrmeSminthopsisSolegnathusSparrmanniaSpergulariaSpermophagaSphaeralceaSphaeridiumSphenacodonSphyrapicusSpilocuscusSpiraeopsisSpirobassiaSpirochaetaSpirotaeniaSpongiformaSpongomonasSqualicoraxSrilankamysStactolaemaStaphylinusStathmopodaStaurastrumStauroderusStaurophoraSteatogenysStemphyliumStenocactusStenocarpusStenocereusStenopterusStephanotisSternbergiaSternoclytaStethojulisStethophymaSteveniellaStictonettaStomolophusStrobilurusStygichthysStygimolochStylephorusStylonychiaSuezichthysSundacarpusSundasalanxSupersaurusSymonanthusSymphysodonSynanthedonSynchiropusSynchytriumSypheotidesSaccoblastiaSaccopharynxSalamandrinaSalinicoccusSalinoctomysSalpiglossisSarcoglottisSarcoramphusSarcosphaeraSargocentronSarkidiornisSarmentypnumSarotherodonSauroglossumScaptochirusSchelhammeraScheuchzeriaSchistocercaSchistostegaSchistostegeSchizothoraxSciurotamiasSclerocactusScleromystaxScleroproctaSclerospermaScoliopteryxScophthalmusScrophulariaScyliorhinusScytopetalumSebastolobusSelenicereusSelenipediumSelenocosmiaSepioteuthisSexangulariaShansirhinusSimocephalusSinocrassulaSinotyrannusSiphonoperlaSiphusauctumSivapithecusSkiatophytumSolenostemonSolenostomusSomatochloraSparganothisSpeleomantesSpermophilusSphaeriestesSphaerobolusSphenophorusSphenostylisSphingicampaSphingonotusSpilostethusSpirastrellaSpirostachysSporosarcinaStagonolepisSteatocranusStegnospermaSteirodiscusStenanthemumStenobothrusStenodynerusStercorariusStereocaulonSternotherusStichococcusStictocardiaStigmochelysStonogobiopsStraminergonStreptomycesStreptopeliaStreptosolenStrigocuscusStrophanthusStygiomedusaSudanonautesSulcorebutiaSundasciurusSwammerdamiaSymphalangusSynechanthusSyngonanthusSaccharomycesSacchiphantesSalamandrellaSantamartamysSaurophaganaxSaxifragopsisScaphiophryneScaphochlamysSchismocarpusSchizocarphusSchizophyllumSchlumbergeraSchmeissneriaSchoenocaulonScleromochlusScolitantidesScomberomorusScombrolabraxScorpaenopsisSelenochlamysSelysiothemisSemnopithecusSiamotyrannusSibbaldiopsisSigmodontomysSikhotealiniaSilverstoneiaSiokunichthysSiphonogorgiaSkinnerocerasSpathiphyllumSpelaeoconchaSphaerechinusSphaerichthysSphaerophoriaSphaerophorusSphodromantisSpirobranchusSpondyliosomaSpongiophytonStagmatophoraStagonopleuraStandfussianaStegomastodonStenorhynchusStephanoaetusStephanocerosStephanopogonStereocyclopsSterrhopterixStethacanthusStichodactylaStictolepturaStictopleurusStockmansellaStomatorhinusStrasburgeriaStreblorrhizaStreptocarpusStreptococcusStreptoprocneStrobilomycesStrombocactusStrongyloidesStyphnolobiumSubcoccinellaSymphysanodonSymposiachrusSynechococcusSyngnathoidesSahelanthropusScaphirhynchusSchinderhannesSchoenoplectusSchoutedenapusSchraderanthusSciaenochromisScleronephthyaScoliciosporumScolopostethusScybalocanthonSequoiadendronSetchellanthusShargacuculliaSimpsonichthysSkeptrostachysSpatuloricariaSpheciospongiaSphenocephalusSpiraeanthemumSporocytophagaStaphylococcusSteindachneriaStenorrhynchosStephanocereusStephanocoeniaStephanorhinusSteyerbromeliaSymphoricarposSymphyotrichumSymplocopterisSymsagittiferaSynaptophyllumSyntheosciurusSamaipaticereusScapanorhynchusScorpaenichthysSemiarundinariaSerpenticobitisSpaerochthoniusSpermophilopsisSphaerodactylusSphincterochilaStenocephalemysStigmatochromisSeptotrochamminaSerranocirrhitusSphingobacteriumStenotrophomonasSynthliboramphusScaturiginichthysSphingonaepiopsisSturisomatichthysSetisquamalonchaeaSporolactobacillusSchizosaccharomycesSciuro-hypnumS"
       , "TorThorTroxTytaTytoTaccaTalosTalpaTaxusTeiraThaisThebaTheraThujaTiliaTimonTincaTodusTonnaTouitTrapaTriasTronaTsugaTuberTungaTydeaTyphaTyriaTaeniaTahinaTamiasTamoyaTaperaTarabaTecomaTenrecTeranaTeredoTetheaTethysTetraoTetraxTetrixTheclaThripsThymusThyrisTillusTimmiaTiphiaTipulaTityusTockusTolpisTopazaTozziaTragusTrameaTreronTrevoaTriglaTringaTriniaTriopsTriviaTrogonTrugonTulipaTupaiaTurdusTurnixTurturTuzoiaTabanusTachinaTacingaTadornaTagetesTakakiaTalinumTamarixTamiopsTangaraTapesiaTapirusTarebiaTarellaTarichaTarsiusTarucusTauracoTaxideaTayassuTectonaTecturaTelekiaTellimaTelopeaTeraponTestudoTetropsTextrixThaleraTherevaThermusThesiumThlaspiTholeraThotteaThrinaxThunnusThymbraThymopsThyreusTilapiaTiliquaTilodonTinamusTineolaTinirauTitanisTolmieaTomaresTomicusTomoxiaToniniaToreniaTorilisTorpedoTorreyaTortrixTortulaTotoabaTovariaToxotesTracheaTrachysTrechusTriakisTrichiaTriodiaTriodonTriplaxTritomaTroilusTrophisTubariaTubifexTunillaTurbinaTurneraTylomysTyphulaTabebuiaTachytesTadaridaTaeniuraTaeromysTaiwaniaTalitrusTalpanasTamanduaTandoniaTanquanaTapejaraTaphrinaTarenayaTarsigerTarsipesTarsomysTarzettaTateomysTaurulusTaxodiumTelestesTenebrioTenoderaTerenuraTerfeziaTeucriumThayeriaThemistoTheragraTheretraThetidiaThevetiaThomisusThomomysThraupisThuidiumThyatiraThylamysTiarellaTibellusTigridiaTiliaceaTilletiaTimandraTimarchaTirumalaTithoniaTituboeaTokudaiaTolmerusTomeurusTomopeasToretziaTortellaTortiliaToxocaraTrachopsTragopanTragulusTrametesTrapelusTreculiaTremellaTriadicaTrianaeaTriatomaTribulusTrichiusTridacnaTriglopsTrilliumTrimeniaTriphoraTriphosaTrisetumTriticumTriturusTrochetaTrolliusTropheusTrupaneaTubiferaTubiporaTurnagraTursiopsTylopsisTylosemaTyphaeusTyphlopsTyrannusTyrimnusTachornisTachyeresTaleporiaTalinellaTanacetumTanymecusTanypteraTapecomysTapinellaTaraxacumTarentolaTecomellaTeesdaliaTegenariaTeilingiaTelespizaTelfairiaTenthredoTephritisTerrapeneTestratesTetradiumTetraodonTetraphisTetrastesTetropiumThalassiaThallomysThalpomysThamnoliaThamnomysThaptomysThelenotaTheobromaTheodoxusTheridionThermobiaThespesiaThinornisThiovulumThujopsisThylogaleThymallusThymelaeaThymopsisThyrsitesTigrisomaTiktaalikTilloideaTilmaturaTinamotisTiputiniaTisamenusTitanoboaTofieldiaTolliellaTomistomaTordyliumToxostomaTrachemysTrachinusTrachurusTremiscusTreponemaTriboliumTribonemaTrichiuraTrichodesTrichoseaTrichurisTrichydraTriclariaTricyrtisTrifoliumTriocerosTripoliumTriteleiaTrithemisTrochetiaTrochilusTrochulusTrymaliumTryngitesTryphomysTuberariaTudorellaTulostomaTupuxuaraTuracoenaTurbatrixTurdoidesTussilagoTylecodonTylopilusTyphlomysTyphoniumTzeltaliaTabellariaTachyporusTachysphexTaeniacaraTakydromusTalinopsisTaliparitiTamarindusTanichthysTasidyptesTasmacetusTaterillusTauriphilaTaylorellaTegeticulaTeleiopsisTelescopusTelophorusTemnocerusTemnochilaTerminaliaTestacellaTetracerusTetragoniaTetrapanaxTetrasomusTetrastresTettigoniaThalasseusThalassomaThalictrumThaluraniaThamnolaeaThamnophisThanasimusThelephoraTheligonumTheobaldiaTheophileaTheraphosaTheromyzonThetheellaThomasomysThonningiaThoopterusThryomanesThryonomysThunbergiaThylacinusThylacoleoThymelicusThyropteraTichodromaTigriornisTillandsiaTitanopsisTlacuatzinTolypeutesTonkinomysTorreornisToxascarisToxoplasmaTracheliumTragopogonTremarctosTriaenodonTrianthemaTrichaptumTrichechusTrichoceraTrichodinaTricholomaTrichoplaxTrichopsisTrichrysisTricyclusaTrientalisTriglochinTrigonellaTrithrinaxTritomegasTrixacarusTrogoxylonTrombidiumTropaeolumTrypoxylonTscherskiaTubastraeaTupinambisTurbinariaTurbinellaTurritellaTytthaspisTabernantheTachyagetesTachybaptusTachycinetaTachyphonusTaenianotusTaeniopygiaTanysipteraTateurndinaTathicarpusTaurotragusTaxiphyllumTeleocichlaTeletacerasTelmatobiusTemnothoraxTentoricepsTephroserisTerathopiusTeretistrisTerpsiphoneTersilochusTethysbaenaTetraclinisTetragnathaTetrahymenaTetramoriumTetranychusTetraplodonTetrapturusTetrastigmaThalassoicaThalpophilaThamnobryumThaumasturaThelocactusThelotornisThelypterisTheophrastaTheresimimaTheristicusThesmophoraThorichthysThripophagaThryothorusThryptomeneThuliadantaThyreonotusThyreophoraTicodendronTitanomyrmaTlalocohylaTodiramphusTolypothrixTorvosaurusTrachinotusTrachyandraTrachylepisTragelaphusTremoctopusTrichamoebaTrichinellaTrichocercaTrichocoleaTrichodermaTrichoferusTricholaemaTrichomonasTrichonotusTrichophagaTrichopitysTrichopodusTrichosurusTrigloporusTrigonocepsTrigonopomaTripladeniaTripogandraTriportheusTrisopterusTroglodytesTrogopterusTropiphorusTrypanosomaTurritopsisTympanuchusTyphleotrisTyphlocarisTachyglossusTachymarptisTachyoryctesTamiasciurusTamisiocarisTanganicodusTaphrolesbiaTaphropeltusTaphrorychusTaphrospilusTelacanthuraTeloschistesTephrocactusTeratosaurusTermitomycesTestudinaliaTetracarpaeaTetracentronTetragonurusTetraogallusTetraophasisThalassarcheThalassornisThaleichthysThamnophilusThaumastellaThaumetopoeaThaumoctopusThecoscyphusThelyschistaTheridiosomaTherisiticusThermichthysThiobacillusThomandersiaThompsonellaThreskiornisThyrsopterisThysochromisTongaichthysTrachipterusTrachycarpusTrachyphonusTrachypterisTradescantiaTrapezonotusTrialeurodesTribolonotusTrichogasterTrichophorumTrichophytonTrichoplusiaTrichostomumTrigonophoraTrimeresurusTrimorphodonTriplochitonTripterygionTripterygiumTristramellaTriuridopsisTrizopagurusTrogloraptorTrogonopteraTropidotillaTrypodendronTubocapsicumTylototritonTyphlonectesTeratophoneusTeratoscincusTetradactylusThanatephorusThanatophilusTheropithecusThiobacteriumThiomargaritaThoracocharaxThyridanthraxThyrophorellaThysanoplusiaToxicodendronTrachelomonasTrachyaretaonTrachyphylliaTrachyspermumTrailliaedoxaTraumatocampaTraunsteineraTribulocarpusTrichodiademaTrichoglossusTrichosanthesTridensimilisTrigonostigmaTrimerophytonTrochodendronTropidolaemusTropiocolotesTruncatellinaTubiclavoidesTurbinicarpusTympanoctomysTyrannobdellaTachypodoiulusTahuantinsuyoaTanaostigmodesTapinaucheniusTapinocephalusTelmatochromisTetragondacnusThalassocalyceThaumatococcusThescelosaurusToxorhynchitesTrachycephalusTrachypithecusTrichocephalusTricholomopsisTrigonognathusTrilophosaurusTriphyophyllumTympanocryptisTabernaemontanaTephrozosteropsTetragonopterusThalassodromeusThermosphaeromaTrachelospermumTransversotremaTrichobatrachusTurkanapithecusTetracheilostomaTripleurospermumTatianaerhynchitesThaumastochelopsisTremellodendropsisThamnophilusTolmomyiasTodirostrumT"
       , "UcaUtaUaruUdeaUgniUlexUlvaUnioUriaUlmusUlomaUlotaUmbraUpupaUredoUrenaUrsusUsneaUahukaUcidesUracisUragusUraniaUrnulaUromysUrticaUleiotaUllucusUmbrinaUncariaUrbaniaUrbanusUrocteaUrocyonUrogaleUronemaUrsiniaUloborusUlothrixUranomysUrobatisUrocerusUrochroaUrocissaUrodermaUroglauxUroglenaUromenusUromycesUropeliaUrophoraUropyxisUrticinaUstilagoUvulariaUllmanniaUmbilicusUncinariaUrocoliusUrogymnusUrolestesUromastyxUroplatusUropsilusUrosticteUtetheisaUintacerasUlochlaenaUnaysaurusUreaplasmaUresiphitaUrosalpinxUrospermumUrotrichusUebelmanniaUltrasaurusUmaltolepisUmbilicariaUraeginthusUrspelerpesUtriculariaUintatheriumUkhaatheriumUmbellulariaUraeotyphlusUreibacillusU"
       , "VirViniVandaVeliaVenusVerpaVespaViciaViduaVignaVillaVimbaVincaViolaVireoVitexVitisVahliaValgusVestiaVibrioViperaVirolaViscumViteusVlokiaVolutaVolvoxVoyriaVulpesVulpiaVulturValangaValeriaValoniaVanessaVanillaVaranusVarariaVareciaVariolaVelellaVeleziaVenusiaVerbenaVernayaVertigoVespulaVicugnaVitrinaVittinaViverraVoalavoVormelaVrieseaVaccariaValenciaValloniaVampyrumVanellusVaranopsVelleiusVelutinaVenturiaVeratrumVerdanusVerniciaVernoniaVeronicaViburnumVictoriaVilladiaVochysiaVombatusVacciniumVachelliaValerianaVandelliaVaucheriaVaviloviaVerbascumVermivoraVetiveriaViviparusVogesellaVolucellaVolutariaVulpicidaVampyrellaVampyressaVanguliferVectidracoVeltheimiaVermicellaVerrucariaVitellariaVorticellaVulcanodonVahlkampfiaValdensiniaVallisneriaVandeleuriaVanvoorstiaVauqueliniaVerticordiaVespertilioVismianthusViverriculaVolvariellaVuilleminiaVulcaniellaVaillantellaValencienneaValerianellaVasticardiumVenenivibrioVijayachelysVincenzellusVincetoxicumVinciguerriaVolvopluteusVampyroteuthisVerschaffeltiaVariabilichromisV"
       , "WelfiaWyuldaWaimanuWakaleoWalkleaWallagoWeigelaWiwaxiaWolffiaWurmbeaWyethiaWallabiaWallemiaWatsoniaWerauhiaWettiniaWiedomysWilsoniaWisteriaWithaniaWollemiaWulfeniaWallichiaWaltheriaWarburgiaWataseniaWolbachiaWolinellaWunderpusWynyardiaWarkalaniaWatsonallaWeingartiaWeinmanniaWendlandiaWhalleyanaWillemetiaWoodfordiaWoodwardiaWuchereriaWaldsteiniaWarnstorfiaWelwitschiaWesserpetonWikstroemiaWilfredomysWahlenbergiaWashingtoniaWatsonarctiaWeberocereusWeberogobiusWoronichiniaWalterinnesiaWendlandiellaWiddringtoniaWillkommlangeaWetmorethraupisWullschlaegeliaWeberbauerocereusW"
       , "XyaXemaXeniaXenosXenusXerisXerusXerulaXestiaXylenaXylotaXanthiaXenicusXenomysXenopusXeromysXimeniaXiphiasXylariaXylellaXylopiaXanthiumXenagamaXenogaleXenotocaXeronemaXylocopaXyloplaxXyphosiaXysticusXanthopanXanthoriaXenodexiaXenoglauxXenoligeaXenothrixXenuromysXerocomusXerolentaXerorchisXestobiumXianglongXiphidiumXipholenaXyleborusXylobolusXylopodiaXyrauchenXanioascusXanthorhoeXanthosomaXenomystusXenopeltisXenoperdixXenopsyllaXenosaurusXenostegiaXerobdellaXerolycosaXiphosurusXylechinusXylophagusXylophanesXanthocerasXantholinusXanthomonasXanthorhizaXenophallusXenophidionXenotriccusXeranthemumXerophyllumXiphophorusXylocleptesXylotrechusXysmalobiumXanthichthysXanthorrhoeaXenoceratopsXenoturbellaXenotyphlopsXerocomellusXeromphalinaXerotyphlopsXanthocyparisXenopirostrisXiphidiopicusXanthogalerucaXiphiorhynchusX"
       , "YuaYaviaYuccaYaralaYimaiaYohoiaYorgiaYersiniaYpsolophaYersinellaYponomeutaYpsilandraYixianornisYoungolepisYulebacaulisYasuhikotakiaYungasocereusYpirangathemisY"
       , "ZuZeaZeusZamiaZapusZillaZoilaZaleyaZingelZinniaZombiaZaedyusZamenisZanclusZaproraZatariaZebrinaZelkovaZenaidaZeuzeraZiphiusZirfaeaZizaniaZoarcesZonitesZootocaZoramiaZospeumZosteraZungaroZygaenaZygnemaZyzomysZyzyuraZakeranaZalmoxesZalophusZebrilusZelleriaZenopsisZingiberZiziphusZoogloeaZootheraZophobasZoropsisZygiellaZaglossusZanobatusZasmidiumZebrasomaZeledoniaZelotomysZerynthiaZoonavenaZorotypusZosteropsZygochloaZymomonasZaniolepisZeirapheraZenkerellaZivkoviciaZonerodiusZonitoidesZygoballusZamioculcasZanthoxylumZelandiscusZeugopterusZonotrichiaZoothamniumZygopetalumZygophyllumZanclognathaZannichelliaZantedeschiaZenithopteraZephyranthesZhenghecarisZygodontomysZosterisessorZanclorhynchusZavattariornisZ"
       , "„Geophagus“„Himantura“„Nanoarchaeum“„"
       , "×Chitalpa×Triticale×Gasteraloe×Secalotricum×"
   );

    var initials = "ABCDEFGHIJKLMNOPQRSTUVWXYZ„×";

    function is_genus( name ) {
        if ( name === "" ) return false;

        var initial = name .substring( 0, 1 );
        var nx      = initials .indexOf( initial );
        return (  nx != -1
               && namestring[ nx ] .indexOf( name + initial ) != -1 );
    }

// ####### ######### ######### ######### ######### ######### ######### #########

// action

        var  talkative = false;              // true or false - choose, as wanted

        if (  test_only || talkative )  alert( "Hello" );

    // act, but only for edits of the main namespace (and as test)

        if (  test_only
           || (  ( actual_wgAction          == "edit"                  )
              && ( actual_wgNamespaceNumber ==  NamespaceArticleNumber ) ) ) {
            main();
        }

        if (  test_only || talkative )  alert( "Bye"   );

// ####### ######### ######### ######### ######### ######### ######### #########

// </nowiki>      // for technical (safety) reasons

// ####### ######### ######### ######### ######### ######### ######### #########