From: Han-Wen Nienhuys Date: Mon, 26 Jul 1999 09:32:25 +0000 (+0200) Subject: release: 1.1.67 X-Git-Tag: release/1.1.67 X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=refs%2Ftags%2Frelease%2F1.1.67;p=lilypond.git release: 1.1.67 --- diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 1259330460..3bc2dfaa38 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -507,7 +507,39 @@ is by no means finished. Patches appreciated. sect(Copyright) -COMMENT(look out: can't have line breaks in subsect() macro) + +question(What is Urtext? Critical Edition?) + +Peter Chubb writes: + +An Urtext is a reconstruction of the earliest form of a text, +including mistakes the original author wrote. Where there is no +available facsimile of the original, creating this can involve some +inspired detective work (in comparing various later editions and +trying to deduce what the original form was). As far as copyright +goes, my guess is that, for works that are otherwise out of copyright, +an Urtext is copyright to the person who reconstructed it, as a +derived work from the editions s/he consulted. If the edition is +created directly from a facsimile, as would be the case for most +Urtext editions of music, then the amount of new (copyright) material +is minimal. + +A critical edition is an edition that is designed for critical +study of a text. It'll usually have lots of footnotes, alternative +readings, possible realisations of bass parts and harmonies, etc. It +aims to elucidate the author's original intentions, as opposed to +reproduce exactly what was written. The critical apparatus will be +copyright to its author. + +A playing edition is one that has been edited for modern usage. +It'll have fewer or no alternative readings, it'll be in modern +notation, it may have additional editorial marks (phrase marks, slurs, +etc.) will often have a fully realised basso continuo part (if oone +was present in the original) and may have had key changes, time +signature changes, time compression (original in 4/1, playing edition +in 4/4, for example, with all semibreves replaced with crotchets) +Copyright is in the arranger/editor. + question(How does copyright for sheet music work? Can I enter and spread my newly bought Bach urtext?) Silas S. Brown : @@ -602,6 +634,7 @@ A very unfortunate situation for the publishers. + sect(Windows32) question(I downloaded the windows32 port, and it doesn't match the website!) diff --git a/Documentation/man/abc2ly.yo b/Documentation/man/abc2ly.yo new file mode 100644 index 0000000000..d79ecee996 --- /dev/null +++ b/Documentation/man/abc2ly.yo @@ -0,0 +1,64 @@ + +mailto(janneke@gnu.org) +COMMENT( + (PIPETHROUGH(echo -n `date '+%d/%b/%y'|tr '[a-z]' '[A-Z]'`)()) +) +manpage(LilyPond) + (1) + (1998) + (abc2ly) + (The LilyPond package) + +metalC(Automatically generated by yodl(1) from abc2ly.yo.) + +manpagename(abc2ly)(convert ABC to Mudela) + +manpagedescription() + +abc2ly translates an ABC file (see +lurl(http://www.gre.ac.uk/~c.walshaw/abc2mtex/)) input file to Mudela +(GNU LilyPond source format). abc2ly is part of the GNU LilyPond +music typesetting package. + +manpagessynopsis() + + abc2ly [options] midi-file + +manpageoptions() + +description( +dit(-h, --help,) + Show a summary of usage. +dit(-o, --output=file(FILE),) + Set file(FILE) as default output. If nothing specified, output to stdoutt. +) + +manpagesection(DISCLAIMER) + +abc2ly is copyright 1996, 1997 by its authors. abc2ly is distributed +as part of GNU LilyPond, under the terms of the GNU General Public +License. abc2ly is provided without any warranty what so ever. +abc2ly may be freely distributed. For further information consult +the GNU General Public License, from the file file(COPYING). + +manpageseealso() + +description( +dit(bf(lilypond)(1)) + The GNU LilyPond music typesetter. +) + +manpagebugs() + +file(abc2ly) gets order of slurs, ties and chord endings wrong. Some +of the header fields are not fully supported. Music with lyrics will +print the lyrics doubly. file(abc2ly) also gets confused about tuplet +endings. file(abc2ly) does not use relative octaves. + +manpageauthor() + +Please consult the documentation file file(AUTHORS) for more detailed +information, and small contributions. + +nemail(Jan Nieuwenhuizen)(janneke@gnu.org), lurl(http://www.xs4all.nl/~jantien) +nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/~hanwen) diff --git a/Documentation/man/midi2ly.yo b/Documentation/man/midi2ly.yo index 11ee01c806..d774c6cb1d 100644 --- a/Documentation/man/midi2ly.yo +++ b/Documentation/man/midi2ly.yo @@ -11,7 +11,7 @@ manpage(LilyPond) metalC(Automatically generated by yodl(1) from midi2ly.yo.) -manpagename(midi2ly)(convert MIDI to bf(mudela)(5)) +manpagename(midi2ly)(convert MIDI to bf(mudela)) manpagedescription() midi2ly translates a MIDI input file to Mudela (GNU LilyPond source @@ -66,8 +66,6 @@ manpageseealso() description( dit(bf(lilypond)(1)) The GNU LilyPond music typesetter. -dit(mudela-man) - On the input format. This is a LilyPond-enhanced LaTeX document. ) manpageauthor() diff --git a/Documentation/man/out/abc2ly.1 b/Documentation/man/out/abc2ly.1 new file mode 100644 index 0000000000..717d4efe06 --- /dev/null +++ b/Documentation/man/out/abc2ly.1 @@ -0,0 +1,51 @@ +.TH "LilyPond" "1" "1998" "abc2ly" "The LilyPond package" +.PP +.PP +.SH "NAME" +abc2ly \- convert ABC to Mudela +.PP +.SH "DESCRIPTION" +.PP +abc2ly translates an ABC file (see +http://www\&.gre\&.ac\&.uk/~c\&.walshaw/abc2mtex/) input file to Mudela +(GNU LilyPond source format)\&. abc2ly is part of the GNU LilyPond +music typesetting package\&. +.PP +manpagessynopsis() +.PP +abc2ly [options] midi-file +.PP +.SH "OPTIONS" +.PP +.IP "-h, --help," +Show a summary of usage\&. +.IP "-o, --output=\fBFILE\fP," +Set \fBFILE\fP as default output\&. If nothing specified, output to stdoutt\&. +.PP +.SH "DISCLAIMER" +.PP +abc2ly is copyright 1996, 1997 by its authors\&. abc2ly is distributed +as part of GNU LilyPond, under the terms of the GNU General Public +License\&. abc2ly is provided without any warranty what so ever\&. +abc2ly may be freely distributed\&. For further information consult +the GNU General Public License, from the file \fBCOPYING\fP\&. +.PP +.SH "SEE ALSO" +.PP +.IP "\fBlilypond\fP(1)" +The GNU LilyPond music typesetter\&. +.PP +.SH "BUGS" +.PP +\fBabc2ly\fP gets order of slurs, ties and chord endings wrong\&. Some +of the header fields are not fully supported\&. Music with lyrics will +print the lyrics doubly\&. \fBabc2ly\fP also gets confused about tuplet +endings\&. \fBabc2ly\fP does not use relative octaves\&. +.PP +.SH "AUTHOR" +.PP +Please consult the documentation file \fBAUTHORS\fP for more detailed +information, and small contributions\&. +.PP +Jan Nieuwenhuizen , http://www\&.xs4all\&.nl/~jantien +Han-Wen Nienhuys , http://www\&.cs\&.uu\&.nl/~hanwen diff --git a/Documentation/man/out/midi2ly.1 b/Documentation/man/out/midi2ly.1 index e875fd6ba8..2f8f942910 100644 --- a/Documentation/man/out/midi2ly.1 +++ b/Documentation/man/out/midi2ly.1 @@ -2,7 +2,7 @@ .PP .PP .SH "NAME" -midi2ly \- convert MIDI to \fBmudela\fP(5) +midi2ly \- convert MIDI to \fBmudela\fP .PP .SH "DESCRIPTION" midi2ly translates a MIDI input file to Mudela (GNU LilyPond source @@ -54,8 +54,6 @@ the GNU General Public License, from the file \fBCOPYING\fP\&. .PP .IP "\fBlilypond\fP(1)" The GNU LilyPond music typesetter\&. -.IP "mudela-man" -On the input format\&. This is a LilyPond-enhanced LaTeX document\&. .PP .SH "AUTHOR" .PP diff --git a/Documentation/ntweb/angels.ly b/Documentation/ntweb/angels.ly index 0b2662a282..a692255899 100644 --- a/Documentation/ntweb/angels.ly +++ b/Documentation/ntweb/angels.ly @@ -13,7 +13,7 @@ global = \notes { \keysignature bes; \tempo 2=60; } -\version "1.1.52"; +\version "1.1.66"; % \include "score-paper.ly" flute1 = \notes \relative c'' { diff --git a/Documentation/pictures/screenshot.xpm b/Documentation/pictures/screenshot.xpm index c30a2831de..9577756058 100644 --- a/Documentation/pictures/screenshot.xpm +++ b/Documentation/pictures/screenshot.xpm @@ -1,537 +1,611 @@ /* XPM */ -static char *noname[] = { -/* width height ncolors chars_per_pixel */ -"509 524 6 1", +static char *screenshot[] = { +/* width height num_colors chars_per_pixel */ +" 761 593 11 1", /* colors */ -" c #000000", -". c #FFF0F0", -"X c #6354C3", -"o c #F5DEB3", -"O c #473C8B", -"+ c #231E45", +". c #000000", +"# c #ffffff", +"a c #cccccc", +"b c #999999", +"c c #7f7f7f", +"d c #666699", +"e c #8f8f8f", +"f c #ccccff", +"g c #9999cc", +"h c #010101", +"i c #f4f4f4", /* pixels */ -"XXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXXX+", -"XXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXX++", -"XXOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOO++", -"XXOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOO++", -"XXOO++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++XOO++", -"XXOO+XXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXX+XXXXXXXXXXXXXXX+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooOOOOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOoOOOoooOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXXXXXXXXX+OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOoOOoOOOoOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoooooOOOoOooOOOoooOOOOooooOoOOoooOoOoOOoOOoOOOoOOoOooOOOOOOOOOOOooooOOOOoooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOXXXXXXXXX+OO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOooOOOOoOOOoOOoOOOoOoOoOOoOooOooOoOoOOOoOOooOOoOOOOOOOOOoOOOoOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOXXX+OOOOO+XOO++", -"XXOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOoOOOOOoOOOoOOoOOOoOoOoOOoOoOOoOOoOoOOOoOOoOOOoOOOOOOOOOoOOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOXOO+OOOOO+XOO++", -"XXOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOoOOOOOoooooOOoOOOoOoOoOooOoOOoOOoOoOOOoOOoOOOoOOOOOOOOOoOOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOXOO+OOOOO+XOO++", -"XXOO+XOO++++++++++OO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOoOOOOOoOOOOOOoOOOoOoOOoOOooOOoOOoOoOOOoOOoOOOoOOOOOOOOOoOOOoOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOO++++OOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOoOOOOOoOOOoOOoOOooOOoOOOOOoOOoOOoOoOOooOOoOOOoOOOooOOOOoOOooOOOoOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOoOOOOOOoOOOOOOoooOOOOooOoOOOoooOOoOOoOOoOOooOoOOooooOOOOooOOOOOooOoOOOOoooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOXOOOOOOOO+OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOO++++++++++OO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOOOOOOOOOOOOOO+XOO++", -"XXOO+X+++++++++++++++X++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++X+++++++++++++++X+++++++++++++++XOO++", -"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", -"XXXX+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XXXX+", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . ..... . . ... .................. ............ . .... . ......... ................ .......... .......... ............................... ............................... ...... .......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. .. . . . . .. . . .................. ........... .... .. .......... .... ......... ......... ..... ..... ............................... ........ ............ ......... ....... .......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... . .. . . . . . . . . .................. ........... . .... ... .......... .............. . ........... ........... ............................... ........ ...................... ....... .......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . ... . . . ... . . ...... . .. ... . ................. ... ... ... ... ... . . ........... .... ..... ... ... . ... .. . ... ....... .. ... .. ... . .. .. .... .... ................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . ... . . . . .... ...... . . . ... . ... ............... .... .. .. .. .... .. .. . .......... ..... ..... ... ... . ... . ... . .. . ... ........ .... ... ... ... .. . . ..... ... ... ...............................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . . . . . . ...... . . . ... . ... .............. ..... .. .. .... .. .. . ......... ..... ..... ... ... . ... . ... . ... . ... ........ .... . . ... ... ... . ...... ... ...............................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . ..... . . . . . . ...... . . . ... . ... .............. ..... .. ...... .... .. ...... . ......... ..... ..... ... .. . ... . ... . ... . ... ........ .... . . ... ... ... . . ..... ... ...................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . . . . . . . . ...... . . . .. . ... ............. ...... .. .. .. .... .. .. .......... ..... ..... .... . . .. ... . ... . ... ........ .. . . . ... ... ... . .. .... ... ... ...............................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....... . ... ... . ... ..... ... ...... ... .. . . .............. ..... .. .. .. .. ... .......... ... ... ...... . ...... .. ... .. ......... ... . ... .. ... . ... .. ... ................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . ...................................................................................................... ... . .....................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ....................................................................................................... .. .....................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... . ... ....... ............ ......... .................. ......... ........... ......... .. ...... . .. ........................... ........... ............. ........... ............ ..... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... . .. . ... ....... ....... ..... ......... ... ................. ........ . ......... ............. . ... ..... . ....... ........................... ....... ... ............ .......... ............ ..... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... .. . ... ....... ............. ......... ... ................. ....... ... ....... . ............ .. ... .... .. ....... ........................... ........... ........... . ......... . ........... .... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... . . . ... ....... ...... ..... ... ... . ... .. .. . ... ....... ... ......... ............ .. ... .... .. ....... .... .. ... .. .. . .. ...... ... .......... ........... .......... . ... . ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... . . . ... ....... ....... ..... ... ... . .. ... . .. . ... ....... ... ......... ........... .... .... ... .... ... ... . ... . ... . .. . ....... ... ... ......... ........... .......... . ... . ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. .. . .. . ... ....... ....... ..... ... ... . ..... ... . ... . ... ....... ... ......... ........... ... ... .. .... ....... ... ... . . . . . ..... ....... ... ... ......... ........... ......... .. .. .. ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... . .. . ... ....... ....... ..... ... .. . ..... ... . ... . ... ....... ... ......... .......... .... ... .. .... ....... ... ... . . . . ..... ..... ....... ... ... ......... ........... ......... . ...........................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... . ... . ... ....... ....... ..... .... . . ..... ... . ... . ... ........ . .... ..... ..... .... .... ... . ..... ....... ... ... . . . . ... . ..... ....... ... ... ......... ..... ..... ..... ...... ..... .... .......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... .. ........ .. ... ...... . ...... .. ... .. ......... .... .. .. ... ..... .. ..... ...... ... ... . ... .. ..... .. .. ........ .. .. .. ..... ..... ... ......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................................ ... ....................................... ........... ......................................................................................... ........... ................. .......................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................................. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ......................................................... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ................................ .......... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ...XOO++", -"XXOO+.............. .. ... ..................... .................................. ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ... ........... .... ............ .......... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ...XOO++", -"XXOO+.............. .. ... ........................................................ ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ..................... ............ .......... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ....XOO++", -"XXOO+.............. .. ... .. .. . ... ... ... . ... ..................... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... ... ... . ... ... .......... ... ... .. ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ....XOO++", -"XXOO+.............. .. ...... . .. . ... ... ... .. . ... .................... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ..... ... .. ... .... ............ ... ... .. ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .....XOO++", -"XXOO+.............. .. ...... . ...... ..... ... ... . ... .................... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... ...... ... ... ... .... ............ ... ... .. ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ......XOO++", -"XXOO+.............. .. ..... ... . ........ .... ... ... . ... .................... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... ...... ... ... ... .... ............ ... .. .. ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ......XOO++", -"XXOO+.............. .. ..... ... . ..... ... ... ... ... .. ... ..... ..... .... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ....... ... ... ... .... .. ... ..... .... . .. .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . .......XOO++", -"XXOO+.............. .. ...... . ...... ... .. ... ..... .. ... ... ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ...... .. ... .. .... ... ... ...... .. .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . .......XOO++", -"XXOO+.............. ...................................... ... ... ..... ..... ............................................................................................................................................. ... . ..................................................................................... ......... ... ........................................................................................................................................... ... . ...............................XOO++", -"XXOO+.............. ....................................... ............................................................................................................................................................... .. ................................................................................................ ............................................................................................................................................. .. ...............................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .............................. ..... .............. .......................................................... .......... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ..... ............................................ .......... ... ...... . ........................... ... .................. ..... .....................XOO++", -"XXOO+.............. .... ........... .... ........ ..... ............... ...................... ...... ............................. .......... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ..... ........................... ................. ............ ... ........ . ........................... .. .. ................. ..... .....................XOO++", -"XXOO+.............. ..................... ....... ...... ............... ...................... .................................... .......... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ...... ............................................. ............ ... ....... .. .......................... ... .................... .... ......................XOO++", -"XXOO+.............. ... ... . ... ... ..... ... .. ... .... .... .. . ... .. ... .... .. . ... .......... ... ... .. ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... ... . ... . . ... .. . ... .... .......... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ....XOO++", -"XXOO+.............. .... ... .. ... .... ...... ... ... . ... . ... ... ....... . .. ..... .. ...... ... ... . .. . ... ......... ... ... .. ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... . ... . .. ..... . . . ... ... ... ......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ...XOO++", -"XXOO+.............. .... ... ... ... .... ..... .... ... . . ....... .... . ...... .. ...... ... ... . ... .. ........... ... ... .. ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ... . ... .. . . . ... ... ............. ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... .......XOO++", -"XXOO+.............. .... ... ... ... .... ..... .... ... . ..... ....... ... ... . ..... ... .. ...... ... ... . ... .... .......... ... .. .. ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . .. . ... . ... . . . ... ... ............. ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. .......XOO++", -"XXOO+.............. .... ... ... ... .... .. . ..... ... . ... . ... ... ... ... . ..... ... .. .. ... ... ... . ... . ... ... ..... .... . .. .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... ... .. . . ... . ... . . . ... ... ... ... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . .......XOO++", -"XXOO+.............. ... .. ... .. .... .. ...... .. ... ... ... . ...... ... ... ... .. ... .. ... ... ...... .. .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ...... ..... . ... .. . ... .. ... ... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. .......XOO++", -"XXOO+.............. .......................................................................................................... ......... ... ........................................................................................................................................... ... . ................................................................. ... ................................. ......... ... ...................................................................................................XOO++", -"XXOO+.............. ..................................................................................................................... ............................................................................................................................................. .. .................................................................. ............................................. ....................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ...... ....................... .. .......... ............................... ..... ............................. ................. .............. ................... .............. .......... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ............................................ .......... ... ...... . .......XOO++", -"XXOO+.............. ...... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ................. ............... ................... ............... ............ ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ..................... .......... ............ ............ ... ........ . .......XOO++", -"XXOO+.............. ..... ....................... .... ........... ............................... .... ..................... ....... .................. ............... ................... ............... ............ ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ................................. ............ ............ ... ....... .. .......XOO++", -"XXOO+.............. ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. . ... ... .. .. . .... .... .. . ... .. .......... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... ... ... .. . ... ... .. .......... ... ... .... ... ....... .. . ....XOO++", -"XXOO+.............. .... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... .. . ... . ... . ... . .. ... ....... . .. . ... . ... ......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... . ... . .. ... ... ... .. ............ ... ... .... ... ...... ... .. ...XOO++", -"XXOO+.............. ... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . . ... . . ....... .... . ... . ... .. ........... ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... ... ..... ....... ... ... .. ............ ... ... .... ... ..... .... ... ...XOO++", -"XXOO+.............. ... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ..... ... . ..... ....... ... ... . ... . ... .... .......... ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... ....... .. ..... ....... ... ... .. ............ ... .. .... ... ..... .... ... ...XOO++", -"XXOO+.............. .. ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... ... . ... . ... . ... . ....... ... ... . ... . ... . ... ... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... ... . ... . ....... ... ... .. ... ..... .... . .... ... .... ..... ... ...XOO++", -"XXOO+.............. .. ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ... .. ... .. .. ...... ... . ... .. .. ... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ...... ... .. ...... .. ....... ... ... ...... .. ... .. ..... ... ...XOO++", -"XXOO+.............. .................................................. ... . ......................................................................................................................... ......... ... ................................................................................................................................................. ... . ................................................................................... ............. ......... ... ...........................XOO++", -"XXOO+.............. ................................................... .. .................................................................................................................................... ................................................................................................................................................... .. ................................................................................... ........................ ............................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ........................ ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ................................ .... .......... .......... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ............. ...... ...........XOO++", -"XXOO+.............. ........................ .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ............................... ... .. . .......... .......... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ .. .......... ....... ...........XOO++", -"XXOO+.............. ....................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ................................ ... . ... ......... .......... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ... .......... ....... ...........XOO++", -"XXOO+.............. ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. ... .. . ...... . ... ......... ... ... .. ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. .... .... ....XOO++", -"XXOO+.............. .. ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... ..... . ... . ... . .. .... .. ... ......... ... ... .. ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... .... ........ . ... ... ... ... ...XOO++", -"XXOO+.............. .. ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... .. . ... . . ....... ... ... ......... ... ... .. ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... ..... . ... ... ... ...XOO++", -"XXOO+.............. .. ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ... . ... . ..... ...... .... ... ......... ... .. .. ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... .... ... . ... ... ... .......XOO++", -"XXOO+.............. .. ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... .. ... . .. ... . ..... ...... . .... ..... .... . .. .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ...... .. . ... . ... ... ... ... ...XOO++", -"XXOO+.............. ... .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ...... . ...... .. ..... ... .... ... ...... .. .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ....... ... . ... ... ....XOO++", -"XXOO+.............. .......................................................................................................................... ... . ........................................................... ........... ............................... ......... ... ........................................................................................................................................... ... . ...........................................................................................XOO++", -"XXOO+.............. ........................................................................................................................... .. ........................................................... ........... .......................................... ............................................................................................................................................. .. ...........................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .... .......... .......... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ............. ...... ........... ... ........ .......... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ...XOO++", -"XXOO+.............. .. ... .. . .......... ............ ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ .. .......... ....... .......... ....... ......... ............ ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ...XOO++", -"XXOO+.............. .. ... . ... ......... ............ ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ... .......... ....... ......... . ...... .......... ............ ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ....XOO++", -"XXOO+.............. ...... . ... ......... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. .... .... .... ..... ........... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ....XOO++", -"XXOO+.............. ..... .. ... ......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... .... ........ . ... ... ... ... ... .... .......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .....XOO++", -"XXOO+.............. .... ... ... ......... ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... ..... . ... ... ... ... ....... ......... ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ......XOO++", -"XXOO+.............. ... .... ... ......... ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... .... ... . ... ... ... ....... ....... ......... ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ......XOO++", -"XXOO+.............. .. ...... . .... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ...... .. . ... . ... ... ... ... ... ... ... ... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . .......XOO++", -"XXOO+.............. .. ... .... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ....... ... . ... ... .. .. ... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . .......XOO++", -"XXOO+.............. ................ ......... ... ................................................................................................................................................. ... . ....................................................................................................... ......... ... ................................................................................................................................................. ... . ...............................XOO++", -"XXOO+.............. ........................... ................................................................................................................................................... .. .................................................................................................................. ................................................................................................................................................... .. ...............................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .............................. ............. ...... ........... .... ......... .......... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ............................................ .......... ...... . ........................... ... .................. ..... ....................... ....................... .. .....XOO++", -"XXOO+.............. .... ........... .... ........ .. .......... ....... .......... ... ... ......... ............ ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ............................................. .......... ........ . ........................... .. .. ................. ..... ....................... ....................... ... .....XOO++", -"XXOO+.............. ..................... ....... ... .......... ....... ......... . ... ............. ............ ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... .............................................. .......... ....... .. .......................... ... .................... .... ....................... ....................... .... .....XOO++", -"XXOO+.............. ... ... . ... ... ..... .. ... .. .... .... .... ... ............. ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. . ... .. . ... .......... ... ... .. ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .....XOO++", -"XXOO+.............. .... ... .. ... .... ...... .... ........ . ... ... ... ... ... ... .......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... ..... . .. ..... . . . . ... ......... ... ... .. ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... .....XOO++", -"XXOO+.............. .... ... ... ... .... ..... ..... ..... . ... ... ... ... ... ... ......... ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... .. . ...... . . . .. ........... ... ... .. ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... .....XOO++", -"XXOO+.............. .... ... ... ... .... ..... ..... .... ... . ... ... ... ....... ... ... ......... ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ... . ..... ... . . . .... .......... ... .. .. ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... .....XOO++", -"XXOO+.............. .... ... ... ... .... .. . ...... .. . ... . ... ... ... ... ... ... ... ... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... .. ... . ..... ... . . . . ... ... ..... .... . .. .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... .....XOO++", -"XXOO+.............. ... .. ... .. .... .. ....... ... . ... ... .. .. ... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ...... . ...... . ... .. ... ... ...... .. .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ....XOO++", -"XXOO+.............. ............................................................................ ......... ... ................................................................................................................................................. ... . ........................................................... ..................................... ......... ... .................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................... ................................................................................................................................................... .. ........................................................... ................................................ ..................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ......... ............................... ..... ............................. .......... ......... .......... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ...................................... .......... ... ...... . ........................... ... .................. ..... ....................... ...............XOO++", -"XXOO+.............. .... ..... ............................... ..... ... ........... .... ........ .......... .......... ............ ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ....................................... ............ ... ........ . ........................... .. .. ................. ..... ....................... ...............XOO++", -"XXOO+.............. .......... ............................... .... ..................... ....... .......... .......... ............ ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ........................................ ............ ... ....... .. .......................... ... .................... .... ....................... ................XOO++", -"XXOO+.............. ... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... ... ... . .......... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. ... .. . .......... ... ... .... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ....XOO++", -"XXOO+.............. .... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ....... .. . .......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... ..... . ... . ... . .. ......... ... ... .... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. ...XOO++", -"XXOO+.............. .... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... ..... . .. .......... ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... .. . ... . . ............. ... ... .... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... .......XOO++", -"XXOO+.............. .... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ......... ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ... . ... . ..... ............. ... .. .... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. .......XOO++", -"XXOO+.............. .... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... ... .... .... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... .. ... . .. ... . ....... ..... .... . .... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . .......XOO++", -"XXOO+.............. ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ...... .... ... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ...... . ...... .. ...... ... ...... .. ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. .......XOO++", -"XXOO+.............. .............. ... . ......................................................................... ......... ... ................................................................................................................................................. ... . ........................................................... ........... ................... ......... ... .....................................................................................................................XOO++", -"XXOO+.............. ............... .. .................................................................................... ................................................................................................................................................... .. ........................................................... ........... .............................. ......................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............ .. .......... ............................... ..... ............................. ........................................................ .......... ... ... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. ................. .............. .......... ...... . ........................... ... ..........XOO++", -"XXOO+.............. ............ ... ..... ..... ............................... ..... ... ........... .... ........ ......................................................... ............ ..... ..... ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ......... ....... ... ........... .......... ........ . ........................... .. .. .........XOO++", -"XXOO+.............. ........... .... ........... ............................... .... ..................... ....... .......................................................... ............ ..... ..... ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... .................. ............... .......... ....... .. .......................... ... ............XOO++", -"XXOO+.............. ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... ... .. . ... .. . ... .. ... .. .. . .......... ... ... .... ..... ..... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. . ... .... .. ........... ... ... .. ....... .. . ... .. . ... ..... ... .... . ....XOO++", -"XXOO+.............. .. ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... . .. . ... . .. ..... . ... . ... . .. ......... ... ... .... ..... ..... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... . . ... ... ... ... ........... ... ... .. ...... ... .. . ... . . . . ... ... ... .. .. ...XOO++", -"XXOO+.............. .. ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... . ... . ... . ...... . ... . . ............. ... ... .... ..... ..... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... . . ... ... ... ... ........... ... ... .. ..... .... ... . ... . . . . .. ..... .... .......XOO++", -"XXOO+.............. .. ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ..... ... . ... . ..... ... .. . .. ..... ............. ... .. .... ..... ..... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... . . ... ... ... ... ........... ... .. .. ..... .... ... . ... . . . . ...... ..... .... .......XOO++", -"XXOO+.............. .. ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... ... . ... .. . ..... ... .. . .. ... . ....... ..... .... . .... ..... ..... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... . . ... ... ... ... ..... ..... .... . .. .... ..... ... . ... . . . . ... . ...... .... .......XOO++", -"XXOO+.............. ... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ...... .. ... ..... . ...... ... .... .. ...... ... ...... .. ... ... ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ... .. ... .. ... ... ...... .. .. ..... ... .. .. ... .. .. ...... .... .......XOO++", -"XXOO+.............. ................................ ... . ....................................................................... ... ................................. ......... ... ............................................................................................................................................................. ... . ..................................................................................... ......... ... .........................................................XOO++", -"XXOO+.............. ................................. .. ........................................................................ ............................................. ............................................................................................................................................................... .. ................................................................................................ ..........................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............ ..... ....................... ....................... .. .......... ............................... ..... ............................. ..................... ....................................... .......... ... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ............................. .............................................XOO++", -"XXOO+.............. ............ ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ .................... .. ....................................... ............ ..... ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ........... .... ........ ...................................... ......XOO++", -"XXOO+.............. ............ .... ....................... ....................... .... ........... ............................... .... ..................... ....... ..................... .......................................... ............ ..... ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ..................... ....... ....................................... ......XOO++", -"XXOO+.............. ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. ... .. . ... ..... .. . .. . ... .. . .......... ... ... .... ..... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . ... ... ..... .. .. . ... .. ... .. . .. ....XOO++", -"XXOO+.............. .. ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... . ... . .. . .. ... . .. . . . . ... . .. ......... ... ... .... ..... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. ... .... ...... ... ... . .. . ... . ... . ... . .. .. ......XOO++", -"XXOO+.............. .. . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . . ...... .... ... . ..... . . . . ............. ... ... .... ..... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ..... ... . ... . . ...... ......XOO++", -"XXOO+.............. .. ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ..... ...... .... ... . ..... . . . ..... ............. ... .. .... ..... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... ... .... ..... .... ... . ..... ... . ... . ..... ...... ......XOO++", -"XXOO+.............. .. ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... .. ... . ...... .... ... . ..... . . . ... . ....... ..... .... . .... ..... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... ... .... .. . ..... .. ..... ... . .. ... . ...... .. ...XOO++", -"XXOO+.............. ... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ...... .. ...... ..... .. ..... ... .. .. ...... ... ...... .. ... ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... .. .... .. ..... ..... ...... .. ...... .. ....... ....XOO++", -"XXOO+.............. ...................................................................................... ... . ........................................................... ....................................................... ......... ... ....................................................................................................................................................... ... . ........................................................... ................. .........................XOO++", -"XXOO+.............. ....................................................................................... .. ........................................................... .................................................................. ......................................................................................................................................................... .. ........................................................... ................. .........................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............... .......... ... ... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ................................... ......................... ...... ................ .......... ... ......................................................................................................................................................................XOO++", -"XXOO+.............. ................ ............ ..... ... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ... ...................... ........ .. ............ ......... ....... ................. ............ ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. ................ ............ ..... ... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ........................... ....... ... ...................... ....... ................. ............ ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ......... ... ... .... ..... ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... ... ... . .. .. ... . ..... .. .. ... .. ... . .. .. .... .... .......... ... ... .... ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ......... ... ... .... ..... ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ..... ... .. . ... . ... .. ...... .... .... ... ... ... .. . . ..... ... ... ......... ... ... .... ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ......... ... ... .... ..... ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ...... ... ... . ... . ... .. ..... ..... .... . . ... ... ... . ...... ... ......... ... ... .... ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. .. .. ......... ... .. .... ..... ... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ...... ... ... . ... . ... .. ..... ..... .... . . ... ... ... . . ..... ... ............. ... .. .... ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. ... . ... ..... .... . .... ..... ... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ....... ... ... . .. .. .. .. . ...... .. . . . ... ... ... . .. .... ... ... ... ..... .... . .... ..... ......................................................................................................................................................................XOO++", -"XXOO+.............. ...... .. ... ...... .. ... ... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ...... .. ... . ...... . ... .. ....... ... . ... .. ... . ... .. ... ... ... ...... .. ... ......................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... ......... ... ....................................................................................................................................................... ... . ......................................... ................................................................... ......... ... .................................................................................................................................................................................XOO++", -"XXOO+.............. ... ............... ......................................................................................................................................................... .. ......................................... .............................................................................. ..................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ........................................................................................................................... ... ... ... .... .... ... ... ... ..... ... ... ... .. .. ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .......... ................................... ...... ......................................... ............................ .... ... .... ... ..... ... ... .... ... .... ... .... ..... ... .... ... . ........ ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .......... ................................... ............................................................................. .... ... .... ... .... . ... ........ ... .... ... ... ..... ... .... ... . ........ ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... . .. ... .. . .. .. . ... .. ... ... . ... ........ . .. ... .. ... .... ..................... .... ... .... ... ...... ... ........ ... ........ .. . ..... ... ........ . . ..... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. .. .... ... . .. . ... . .. . ... .. ...... ... .. . ... ....... . . . ... . ... ... ... ... .................... ..... ..... ... ...... ... ..... ... ....... ... . ..... ... ....... .. .. .... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .... . ..... ... . ..... .. ...... ... ... . ... ....... . . . ... .. ..... ... ........................ .... ... .... ... ...... ... ... .... ... ...... ... .. ..... ... ...... ....... .... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .... ..... ..... ... . ..... ...... ...... ... ... . ... ....... . . . ... .... .... ... ........................ .... ... .... ... ...... ... ... .... ... ..... .... .... ... ..... ........ .... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .. . ... . ..... .. ..... ... .. .. ... ... ... .. ....... . . . .. . ... ... ... ... ... ..... ..... .... .... ... .... ... ...... ... ... .... ... .... ........ ..... ... .... ..... ... .... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... ... ... .. ..... ..... ...... .... ... .. ... ..... ....... ... .. . .. ... ... ... ... ... ... ... ... ... .. .. ... ... .. .... ... ... .. .. ... ............................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ................................ ................................... ... ....................................... ..... ..... .......................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ................................ .................................... ............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ........................................ ......... ... ........................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ............................ ............. .. ........................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ........................ ......... . ............ .. . ........................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... . ... ... .......... ........... ..... .......... ... ... ... .. . ... .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ... ... ........... .......... .... ......... ... . ... . ... . ... . .. . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ............... ............. ... .......... ... . ..... ... . ... . ... .. .........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ................... ............. ... ............ .. ..... ..... ... . ... . ... .... ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... ... . . . ... ... ........... ..... ... ... ... ......... ... . ... . ... . ... . ... . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. ... .. ... ........ .. ... .. ........ ... ... ... .. ... .. .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................ ................. .....................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ....................................................................................... ................................................................ ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ......... ...... ....................... ... ..................... .... ................. ......... ..............................................XOO++", -"XXOO+.............. .. ... ......................................................... ............................. ............................ ................................... ........ . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... ........ .. ..... .............. ........ .. .. ........ .......... ... .. . ............... .. .......... ..............................................XOO++", -"XXOO+.............. .. ... ....................................................................................... ............................ ................................... ....... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ......... ....... ............... ....... ... ........... .......... ... . ... .............. ............. ..............................................XOO++", -"XXOO+.............. .. ... . . ... .. .. . ... ... ... ... ... ... ... . ... ......... .... .... .. . ... .. . .. ... ........................... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... .. . ... ....... ... .. ... . ..... ... ..... .. ... ...... . ... ........ ... .... . ..... ..............................................XOO++", -"XXOO+.............. .. .. .. . ... . ... . .. . ... . ... . ... . ... . ... ... ... .. . ... ....... ... ... ... ... . . . . ... . .. .. .... ... .......................... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... ... . . . .... ... ... . ... .. ...... ... .. ... .. ........ .... .. ... ........... . .. . . .... ..............................................XOO++", -"XXOO+.............. .. ..... ..... . ... . ..... ... . ..... .. .... ..... ... ... . ... ....... ... ... . . . . . ... .. ..... ............................ ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. .... . . .. ..... .... ... . ... .. ..... ..... .... .. ..... ... ... ... ........ .. .... . . .... ..............................................XOO++", -"XXOO+.............. .. ..... ..... ..... ... . ..... ... . ..... ........ ..... .... ... ... . ... ....... ....... ... ..... . . . ..... ... .. ....... ........................... ..... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. .... . . .. ..... .... ... . ... .. ..... ..... .... ...... .... ... .. .... ... ....... ... .. .... . . .... ..............................................XOO++", -"XXOO+.............. .. ..... ..... ... . .. ..... ... . ... . ... . ... . ... ... ... ... .. ....... ... ... ... ... . . . . ... . ... .. .. . ... ... ..... ..... .......... .... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ..... . . .. .... ..... ... . .. .. .. . ...... .... ... .. .. . ... . ...... . .... ... ... .. .... . . .... ..............................................XOO++", -"XXOO+.............. .. ..... ...... .. ..... ...... ... ... ... ... ... .. ... ..... ........ ... ... .. ... .. .. ... ... ... ... ... ... ......... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ..... ... .. .... ...... ... . ... .. ...... ..... .... ... . ... .... ... .. .... ... .. ..............................................XOO++", -"XXOO+.............. .................... ..................................................... ... ......................................................... ..... ..... ................................................................................................................................................... ... . ............................................................................................................. .......................................................................XOO++", -"XXOO+.............. .................... ...................................................... ........................................................................................................................................................................................................................... .. .....................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ......... ................ .................................................... .......................................................................................................... .. .. ... ... ... ... ... ... ... .... .... ... ... .... ... .. ... .... .... ... ... ... .... .... ... ... ..... ... ... ... .. .. ..............................................................................................XOO++", -"XXOO+.............. .. ... ......... ................. .......... ...... ................................... ............................................... .... ...... .............................................. ........ .... ... .... ... .... ... .... ... .... ... ..... ... ... .... ... ..... ... ........ ... ..... ... ... .... ... .... ... .. ...... ... .... ... .... ..... ... .... ... . ........ ..............................................................................................XOO++", -"XXOO+.............. .. ............. ................. .......... .......................................... .................................................... ..................................................... ....... ..... ... .... ........ ... .... ... .... ... .... . ... ... .... ... .... . ... ........ ... .... . ... ... .... ... .... ... . . ...... ... .... ... ... ..... ... .... ... . ........ ..............................................................................................XOO++", -"XXOO+.............. .. ...... .... .... .. ... ... .... .. ... ... . ... ......... ... .... ... ... . . .. . ........ ... ... ... ... ... .... .. . ... ........................... ...... ...... ... .... ........ ... .... ... .... ... ...... ....... .... ... ...... ... . ..... ... ...... ... ... .... ... ........ ... ...... ... ........ .. . ..... ... ........ . . ..... ..............................................................................................XOO++", -"XXOO+.............. .. ......... ... ... ... . ... ... ....... .. ...... ... .. . ... ....... ... . ... ... ... ... . . . . .. ....... ... . ... . ... ... .... ...... ... ... . .. . ... .......................... ..... ..... ... .... ..... ... ..... .... ... ...... ...... ..... ... ...... ... .. .... ... ...... .... ..... ... ....... .... ...... ... ....... ... . ..... ... ....... .. .. .... ..............................................................................................XOO++", -"XXOO+.............. .. ...... ... ... ..... ... ... .... .. ...... ... ... . ... ....... ..... ... ... ... ... . . . . ... ....... ... . ... .. ..... .... ...... ... ... . ... .. ............................ ........ .... ... .... ... .... ... ........ .... ... ...... ..... ...... ... ...... ....... .... ... ...... ... ... .... ... ...... ..... ...... ... ...... ... .. ..... ... ...... ....... .... ..............................................................................................XOO++", -"XXOO+.............. .. ..... ... ... ... ..... ... ... ... ... .. ...... ... ... . ... ....... ..... ... ... ... ... . . . . ... ....... ... . ... .... .... .... ...... ... ... . ... .... ........................... ........ .... ... .... ... .... ... ........ .... ... ...... .... ....... ... ...... ....... .... ... ...... ... ... .... ... ..... ...... ...... ... ..... .... .... ... ..... ........ .... ..............................................................................................XOO++", -"XXOO+.............. .. ... . ... ... ... ... . .. ... ... ... .. .. ... ... ... .. ....... ... . ... ... ... .. . . . . ... ....... .. ... . ... ... .... .. ... ... ... . ... . ... ... ..... ..... .......... .... ... .... ... .... ... .... ... .... ... .... ... ...... ... ........ ... ...... ... ... .... ... ...... ... ... .... ... .... ....... ...... ... .... ........ ..... ... .... ..... ... .... ..............................................................................................XOO++", -"XXOO+.............. ... ... .. ... ... . .. ... ... ... .. ... ..... ........ ... ... ... . . ... . ... ....... ...... ... ... .... ... ... .. ... .. ... ... ... ......... ... ... ... ... ... ... ... ... ... .. . .. ... .. .. ... ... .. .. ... ... .. . .. ... .. .... ... ... .. .. ... ..............................................................................................XOO++", -"XXOO+.............. .............................................................. ... ................................................. ....................................................... ..... ..... ...........................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................................................... .................................................. ...............................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ........................................................................ .............. .. ... .......... .................................... .................... ..................................................................................... ......... .... ............ ..................... ............................ ................................................................................................................................................XOO++", -"XXOO+.............. ........................................ ................ .............. ............. ... ..... .. ........... ..... ............................. ........... .... .... .................................................................................... .. ....... ... .. ............ ...................... ............................. ...............................................................................................................................................XOO++", -"XXOO+.............. ......................................................... .............. ... ......... ... .... .. . ........... ................................... ................ .... .................................................................................... .......... ... . . ........... ...................... ............................. ...............................................................................................................................................XOO++", -"XXOO+.............. ... .. .. .. . ... .. ... .. ... . ... .. ... ... .. ............ ... ..... ........... .... ... . ... ... ......... .... ... .. ... .. . ......... .. . ......... .. ... .. .. . ... ... ... ......... ... .............. ... .......... . ......... ... .... ... ... . . .. . ... ..... ..............................................................................................................................................XOO++", -"XXOO+.............. ...... . ... . ... . .. . ... .. . .... ... . . ..... .. .... ... . ... ... ............ ... .... ........... ..... ... .. . ... . ... ........ .... ... ... .... .... .. ........... . .. ........... . ... . ... . .. ..... . ... . ... ....... ... . ........... .... .......... . ........ ... . ... ... ... ... . . . . .. . ... .... ..............................................................................................................................................XOO++", -"XXOO+.............. ... . ... . ... . ..... ... ... ..... ... . . .. .. .... . ... ............... ....... ... ........... ..... ... ... . .. .......... .... . . ... .... .... ... ........ . ... ........ . ... . . ...... . ... . ....... ... .. ............ ..... ......... .. ........ ..... ... ... ... ... . . . . ... .. ...... ..............................................................................................................................................XOO++", -"XXOO+.............. .. ... . ... . ... . ..... ... ... ..... ... . . . ... .. .... ..... ... .............. ........ ... ........... ..... ... ... . ........ .......... ... . . ... .... .... ... ....... ... . ... ....... ... .. . .. ..... ..... ... . ... . ........... ... .. ........... ...... ......... ....... ..... ... ... ... ... . . . . ... .... .... ...............................................................................................................................................XOO++", -"XXOO+.............. .. ... . .. .. ..... ... .. . .... ... . . . ... .. .. . ... . ... ... ......... ..... ... ... ........... ..... ... ... . ... . ... ......... ... . . ... .... .. . ... ....... ... . ... ....... ... .. . .. ... . ..... ... .. . ... ....... ... .. .......... ....... ..... ...... ........ ... . ... ... ... .. . . . . ... . ... ... ...............................................................................................................................................XOO++", -"XXOO+.............. ... . ..... ..... ...... .. ... .. .. ... .. ... ... ... .. ........ .. .. ........ ... .. ... .. ... ........... ... . ... .... .. ... ........ . ... ........ ... .... .. ...... ..... .. ......... ... .......... . .. ..... ......... ... ... ... . . ... . ... .. ... ................................................................................................................................................XOO++", -"XXOO+.............. ........ ..... ............................................................. ......................................................................................................................................................... ... ............................................. ...........................................................................................................................................................................................................XOO++", -"XXOO+.............. ........ ..... ........................................................................................................................................................................................................................ ..........................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............... ................ ......................... ...................................... ...................... ... ......... .................................... .................... ..................................................................................... ......... .. ....... .................... ............................ ..................................................................................................................XOO++", -"XXOO+.............. ................ ................. .......... .............. ................................ ...... ..................... ... . ... ......... ..... ............................. ........... .... .... .................................................................................... .. ....... ... . ........... ......................... ............................. .................................................................................................................XOO++", -"XXOO+.............. ................ ................. .......... .............. ................................ ...... ........... ......... ..... ............. ................................... ................ .... .................................................................................... .......... ... . ........... ......................... ............................. .................................................................................................................XOO++", -"XXOO+.............. ... ... .... .... .. ... ... .... .. ... ... ........ .. ... .. ... .. .... ... ... .. ........ ..... ............. .... ... . ... ... ......... .... ... .. ... .. . ......... .. . ......... .. ... .. .. . ... ... ... ......... ... .............. . . ........ . ......... ... .... ... ... . . .. . ... ..... ................................................................................................................XOO++", -"XXOO+.............. .. ... ..... ... ... ... . ... ... ....... .. .... ... . ... ....... ... .. . ...... . ... .. ...... ... ... ... ......... .. .......... ..... ... .. . ... . ... ........ .... ... ... .... .... .. ........... . .. ........... . ... . ... . .. ..... . ... . ... ....... ... . ........... .. .. ....... .. ....... ... . ... ... ... ... . . . . .. . ... .... ................................................................................................................XOO++", -"XXOO+.............. .. ...... ... ... ..... ... ... .... .. .... . ... ....... ... .... . ...... ...... ... ... ............. ... . ... ......... ..... ... ... . .. .......... .... . . ... .... .... ... ........ . ... ........ . ... . . ...... . ... . ....... ... .. ............ ....... ........... ....... ..... ... ... ... ... . . . . ... .. ...... ................................................................................................................XOO++", -"XXOO+.............. .. ..... ... ... ... ..... ... ... ... ... .. .... ..... ... ....... ....... ... ... . ...... ...... ... .. ............. ... . ... ......... ..... ... ... . ........ .......... ... . . ... .... .... ... ....... ... . ... ....... ... .. . .. ..... ..... ... . ... . ........... ... .. ........... ........ ........... ....... ..... ... ... ... ... . . . . ... .... .... .................................................................................................................XOO++", -"XXOO+.............. .. ... . ... ... ... ... . .. ... ... ... .. .. . ... . ... ....... ... .. . .. ... . ... .. .. ... .... . ... ......... ... . ... ......... ..... ... ... . ... . ... ......... ... . . ... .... .. . ... ....... ... . ... ....... ... .. . .. ... . ..... ... .. . ... ....... ... .. .......... ..... ... ... ... ... ....... ... . ... ... ... .. . . . . ... . ... ... .................................................................................................................XOO++", -"XXOO+.............. ... ... .. ... ... . .. ... ... ... ... ........ .. ... .. .. .... ... ...... .. ......... ... ......... ... .. ... .. ... ........... ... . ... .... .. ... ........ . ... ........ ... .... .. ...... ..... .. ......... ... .......... .. ... ... ......... ... ... ... . . ... . ... .. ... ..................................................................................................................XOO++", -"XXOO+.............. ........................................................................................................ ... ... ................................................................................................................................................... ... ............................................. .............................................................................................................................................................................XOO++", -"XXOO+.............. ......................................................................................................... ......................................................................................................................................................... ............................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................... .......... .... .......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ........................... ... ........ ... ... ......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ........................ ......... ........... . ... ... ......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... . ... ... ........ ............. ....... ........ ... ... ... .. . ... .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ... ... ......... .......... ...... ........ ... . ... . ... . ... . .. . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ............. ... ......... ..... .......... ... . ..... ... . ... . ... .. .........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ................. ... ......... .... ............. .. ..... ..... ... . ... . ... .... ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... ... . . . ... ... ......... ... ... ..... ... ........... ... . ... . ... . ... . ... . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. ... .. ... ......... ... .. . ........ ... ... ... .. ... .. .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................ ................. .....................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ............................................................................................. ...............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... .............. ................................................ ............................. ............................ ..................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... .............. .............................................................................. ............................ ..................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... .. ... .. .. .. . ... ... ... ... ... ... ... . ... ......... .... .... .. . ... .. . .. ... ..........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. .. ... . ... .. .... ... . .. . ... . ... . ... . ... . ... ... ... .. . ... ....... ... ... ... ... . . . . ... . .. .. .... ... .........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... ... .. .... .... ... . ..... ... . ..... .. .... ..... ... ... . ... ....... ... ... . . . . . ... .. ..... ...........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... ... .... ... .... ... . ..... ... . ..... ........ ..... .... ... ... . ... ....... ....... ... ..... . . . ..... ... .. ....... ..........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..... ... . ... .. .. . .. ..... ... . ... . ... . ... . ... ... ... ... .. ....... ... ... ... ... . . . . ... . ... .. .. . ... ... ..... ..... .........................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ...... ... .... .. ..... ...... ... ... ... ... ... .. ... ..... ........ ... ... .. ... .. .. ... ... ... ... ... ... ........................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .......................... ..................................................... ... ......................................................... ..... ..... .........................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .......................... ...................................................... ................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ....... ... ........................................................................................... ...... .............................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ......... ... .................... ................. ........... ................. ............ ......... ....... ................ ............................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .......... . ..................... ................. ........... ................. ...................... ....... ................ ............................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .... ... . ......... .. ... . .. .. ... . ........ ... ........ .. ... .. ... . .. .. .... .... ........ ... .. ... .............................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... ... ......... ... . ... .. .... ... . ... .. ........... .... ... ........ .... ... ... ... .. . . ..... ... ... ........ .... ... .. . ..............................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. . ........ ... . ... .. .... ... . ... .. ........... .... ... ........ .... . . ... ... ... . ...... ... ........ .... ... ...............................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ...... . ........ ... . ... .. .... ... . ... .. ........... .... ... ........ .... . . ... ... ... . . ..... ... ............ .... ....... ...............................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... . ... ....... ... . .. .. .. . .. .. .. .. ........ .. . ... ........ .. . . . ... ... ... . .. .... ... ... ... .... .. . ... .. . .... ..... ..... .............................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .... .. ... ........ ... . ... .. ...... . ... .......... ... .......... ... . ... .. ... . ... .. ... ... .... ... .. ... .. ... ... ............................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................................ ..................................................................................... ....................... ..... ..... .............................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................................ .......................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .......... ................................... ...... ......................................... ...............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... .......... ................................... ................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... . .. ... .. . .. .. . ... .. ... ... . ... ........ . .. ... .. ... .... ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. .. .... ... . .. . ... . .. . ... .. ...... ... .. . ... ....... . . . ... . ... ... ... ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .... . ..... ... . ..... .. ...... ... ... . ... ....... . . . ... .. ..... ... ...........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .... ..... ..... ... . ..... ...... ...... ... ... . ... ....... . . . ... .... .... ... ...........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... ... .. .. . ... . ..... .. ..... ... .. .. ... ... ... .. ....... . . . .. . ... ... ... ... ... ..... ..... .......................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... ... ... .. ..... ..... ...... .... ... .. ... ..... ....... ... .. . .. ... ... ... ... ... ......................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ................................ ................................... ... ....................................... ..... ..... .......................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ................................ .................................... ............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ........................................ .......... ... .......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ............................ . ........ ... . ... ......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ........................ ......... ... ....... ... . ... ......................................... .............................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... . ... ... ........ ... ........... ..... ........ ... ... ... .. . ... .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ... ... ......... ... .......... ..... ........ ... . ... . ... . ... . .. . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ............. ... ......... ..... .......... ... . ..... ... . ... . ... .. .........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... ...... ... . . . ................. ... ........ ..... ............. .. ..... ..... ... . ... . ... .... ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... .. ... ... . . . ... ... .......... . .... ... ..... ........... ... . ... . ... . ... . ... . ... . ... .......................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .... ... .. ... .. ... .......... .... .. . ........ ... ... ... .. ... .. .. ........................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ............................ ................. .....................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... .. .. ... ............................................................................................ ...... ............................... .......................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... .... .. ... ...................... ................. ........... ................. ............ ......... ....... ....................... ....... ... ...................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . ... .... .. ... ...................... ................. ........... ................. ...................... ....... ............................... .......................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . ... .... .. ... .......... .. ... . .. .. ... . ........ ... ........ .. ... .. ... . .. .. .... .... ........ . ... .... .. ...................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . ... .... .. ... ......... ... . ... .. .... ... . ... .. ........... .... ... ........ .... ... ... ... .. . . ..... ... ... ....... . . ... ... ... ... ...................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... .... .. ... ......... ... . ... .. .... ... . ... .. ........... .... ... ........ .... . . ... ... ... . ...... ... ....... . . ... ... ... ... ...................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... .... .. ... ......... ... . ... .. .... ... . ... .. ........... .... ... ........ .... . . ... ... ... . . ..... ... ........... . . ... ... ... ... ...................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... ... .... .. ... ......... ... . .. .. .. . .. .. .. .. ........ .. . ... ........ .. . . . ... ... ... . .. .... ... ... ... ... . . ... ... ... ... ..... ..... ..... .................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ... .. .. ... ......... ... . ... .. ...... . ... .......... ... .......... ... . ... .. ... . ... .. ... ... .. ... .. ... .. ... ... ... ................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .................................................. ..................................................................................... ............................. ..... ..... .................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .................................................. .................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . ..... . ..... ..... .................. ............ . .... . ......... ................ ......................................................... ...... .....................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. .. . . . . . . .................. ........... .... .. .......... .... ......... ........ ....................... ............ ......... ....... .....................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ... . .. . . . . . . . .................. ........... . .... ... .......... .............. . .......... ....................... ...................... ....... .....................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . ... . . . ... . .. . ...... . .. ... . ................. ... ... ... ... ... . . ......... ... .. ... ....... .. ... .. ... . .. .. .... .... ..............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . ... . . . .. . . ...... . . . ... . ... ............... .... .. .. .. .... .. .. . ......... .... ... .. . ......... .... ... ... ... .. . . ..... ... ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . . . . . ...... . . . ... . ... .............. ..... .. .. .... .. .. . ........ .... ... .......... .... . . ... ... ... . ...... ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . ..... . . . . . ...... . . . ... . ... .............. ..... .. ...... .... .. ...... . ........ .... ....... .......... .... . . ... ... ... . . ..... ... .................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. .. . . . . . . . . . . . ...... . . . .. . ... ............. ...... .. .. .. .... .. .. ......... .. . ... .. . ......... .. . . . ... ... ... . .. .... ... ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....... . ... ... . ... ... . ...... ... .. . . .............. ..... .. .. .. .. ... ........... ... .. ... ......... ... . ... .. ... . ... .. ... ..............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . ......................................... ....... ... ............. ... ........................................... ......... ...... .... ... .. ........... ... ......................................................... .......... .... ..............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ....... ................. ................. ......... ... ............. ... ..................... ......................... ........ ...... ... ... ..... ... ......... ... ... ................................. ..................... ... ........ ..... .............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ........................................... .......... . .............. ... .............................................. ........ . ..... .. . ... ..... ... ......... ... ........................................................... ........... . ..... .............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... . ... .... ......... .... .......... .... ... . .............. ... .. .. . ... ... .... .. . .......... ........... .... . .... ... . .. ... ........ .... ........... ... .. .. . ... ... .... .. . ........ ............. ...... ............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... .. ... ... ... ......... ... ... ......... ... ... ... ................ . .. ... . .. . ... ... ... ... . .. ........ .......... .... . .... ... .. .. ........ .... ........... ... . ... . .. . ... ... ... ... . .. ....... .......... ...... ............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ... ... .... ........... .... ........... ... .. . ............... . .. . ...... ..... ... ... . ... ........... ......... ... .. .... ....... ..... ........ .... ........... ... . . ...... ..... ... ... . ... ....... ... ......... ...... ............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ... ... ...... .......... ...... .......... ... ...... . ............... . .. ..... ........ .... ... ... . ... ........... ......... ... ... ....... ..... ......... ... ............ . .. ..... ........ .... ... ... . ... ....... ... ......... ..... .............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ... ... ... ... ......... ... ... ......... ... ... . ... ... .......... ... ... . ..... ... ... ... ... . ... ....... ... ... ..... ...... .... ... ... . ... ......... ... ... ........ . .. ... . ..... ... ... ... ... . ... ....... ... ... ..... ..... .............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ... .. ... ......... ... .......... .... .. ... ... ........... .... .. ...... ... ... .. ... ........ ... .. .... .. .. ... ........... ... .......... .... .. ...... ... ... .. ... ........ ... .. .. ..............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..................................................................... .................................................................. ................................................................................................................. .........................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... .......................... ...... ...........................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... .... ............ ......... ....... ................ ..........................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... .... ...................... ....... ................ ..........................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... .... .. ... .. ... . .. .. .... .... ........ ... .. ... ...........................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ..... .... ... ... ... .. . . ..... ... ... ........ .... ... .. . ............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ..... .... . . ... ... ... . ...... ... ........ .... ... .............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... .... .... . . ... ... ... . . ..... ... ............ .... ....... .............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... .... .. . . . ... ... ... . .. .... ... ... ... .... .. . ... .. . ............................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... .... ... . ... .. ... . ... .. ... ... .... ... .. ... ...........................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .................................................... ...............................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ........ ............ ............. ....... ........ .. ..... ........................... ....... ................. ............................................................................................................. .................................................................................... ................... .................. ................... ........... .......................................................................................XOO++", -"XXOO+. . . . . . .. ... .. ....... ............. ............ ............ ....... ... . ...... .......................... ....... ................. ........................ ...... .................................. ..... ................................... .. ............................................. ..................................... ........ .......... ................... ................... ........... .......................................................................................XOO++", -"XXOO+.. . . . . . . ... .. ....... ............. ........... ............ ........ ..... ....... ......................... ....... ................. ........................ ......................................... ..... ................................... ...................................................................................... ........ .......... ................... ................... ........... .......................................................................................XOO++", -"XXOO+. . . . . . .. ... .. .. .. ... .... .......... .... ... ... ......... ..... . ..... ......... .. . ... ....... . .. ... . .. . ... .. . ... .. ... .... .. . ........ ... .. .. ... .. . .. . ... ......... ..... .. . ......... .. . ... .. . ... .... ... .. . ............... . ... . ... .. . ................ .... ... ... .. ... .......................................................................................XOO++", -"XXOO+.. . . . . . . ... ...... . ... . ... ... ......... ..... ... .. ........ .. .. ..... ........... . .. . ... ....... .. . ... . ... . .. . ... . .. ..... .. ...... ... ... . .. ....... ... ..... .. ..... .... ... . .. . .. . ... ....... .. ... . .. ........... . . . . ... . .. ... ... ... ..... . .. ............. ... . ... .. .... ... . .. ............... ... ... ..... . ... . ... . ... .......................................................................................XOO++", -"XXOO+. . . . . . .. ... .. .. . ... . ... .......... .... ... ..... ....... ... . ... .... ......... . ... . ... ....... ... . ... . ... . ... . . ... .. .. ...... ... ... . ... ....... ... .. .. ..... .... . ..... ... .. .......... .... ... . ............ . . . . . ....... ... ...... . ... ............. ... . ... .. .... ..... ... ............... ... ... .. . ... . . ... .......................................................................................XOO++", -"XXOO+.. . . . . . . ... .. . ... . ... . ....... ........... .... . ...... ....... ... . ... ... ......... ... . ... . ... ....... ... . .. . ... . ... . ..... ... . ... .. ...... ... ... . ... ....... ... . ... .. ..... .... ..... ..... ... .... ......... .... ... . ........... ... . . . . ..... ....... ... ..... ... . ... ............. ... . ... .. .... ..... ... ............... ... ... . ... . ... . ..... ... .......................................................................................XOO++", -"XXOO+. . . . . . .. ... .. . ... . ... . ... ... ............ ... . .. ... ... ... ... . ... .. .......... ... . ... . ... ....... ... .. . . .. ... . ... . ... . ... .. .. ... ... ... . ... ....... .. ... .. .. .. .. . ... . ..... ... . ... ........ .... ... . ........... ... . . . . ... . ....... ... ... . ... . ... ... ........ ... . .. .. .. . ... . ... ... .......... ... ... . ... . ... . ... . ... ... ...................................................................................XOO++", -"XXOO+.. . . . . . . .. ... . ... ... ............ ... .... ... ... .. ... . ............ . ... .. ....... ... ..... . ..... ... .. .. ... .. ... ... ... .. ... ....... ...... ... .... ... .. ..... ... .. ......... ..... .. ............ . ... .. .. ...... ... ... . ... ... .......... .. . ... ... .. ... ... .......... ... ... .. .. ... .. ..................................................................................XOO++", -"XXOO+. . . . . . .. .......................................................... ......................................................... ... . ........................................................... .............................................................................................................................. ......................................... ................................................ ...................................................................................XOO++", -"XXOO+.. . . . . . . ..................................................................................................................... .. ........................................................... .............................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ....................... .. .......... ............................... ..... ......... ............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ....... . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... .. .................... ... ..... ..... ............................... ..... ........ .. .............. ............................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ...... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ... ................... .... ........... ............................... ..... ........ ................. ............................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... .. ... .. ... .... .... .... ..... ... ... . ... .. . ... .. .. ... ..... ........ ... .. ... .............................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .... .... ... .. . .... ..... ..... ..... ... ... . ... . ... . .. . ... . ... . ... . .. ... ........ .... ... .. . ..............................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ..... .... ... .... ...... ..... ..... ... ... . ... . ... . ... . ... . ... . .. ..... .......... .... ... ...............................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... .... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ..... .... ....... .... ...... ..... ..... ... .. . ... . ... . ... . ... . ... . ...... ....... ......... .... ....... ...............................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ...... .. . ... .. . .. ....... ..... ..... .... . . .. ... . ... . ... . ... . ... .. .... ... ... .... .. . ... .. . ..............................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ....... ... .. ... . ...... ... ... ...... . ...... .. ... .. .. .. ... ..... ... .... ... .. ... .............................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ............................................................................................................................................ ... . ....................................................................... ... . ................................................. .................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ............................................................................................................................................. .. ........................................................................ .. ...................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ..... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ....................... ..... ................. ......... ................................. ........................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ....... . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... .. .................... ..... ................. ........ .. .............. .................. .......................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ...... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ... ................... ...... ................. ........ ................. .................. .......................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... .. ... .. ... .... ... . ... . . ... .. ... ..... ........ ... .. ... .... ......................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .... .... ... .. . .... ... ... . ... . .. . ... . ... . .. ... ........ .... ... .. . ..... ......................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ..... .... ... .... .... ... . ... . ... . ... . .. ..... .......... .... ... ...... ......................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... .... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ..... .... ....... .... .... ... . .. . ... . ... . ...... ....... ......... .... ....... ..... .......................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ...... .. . ... .. . .. ..... ... .. . . ... . ... . ... .. .... ... ... .... .. . ... .. . .... .......................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ..... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ....... ... .. ... . ...... ..... . ... .. .. ... ..... ... .... ... .. ... .. ........................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ............................................................................................................................................ ... . ........................................................... ... ................................. ...............................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ............................................................................................................................................. .. ............................................................ ..................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ....................... ... .................. ......... ..........................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ....... . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... .. .................... .. .. ........ ........ ........ .. .............. ..........................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ...... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ... ................... ... ........... ........ ........ ................. ..........................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... .. ... .. ... .... ... ..... .. ... .. ... ..... ........ ... .. ... ...........................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .... .... ... .. . .... ... .. ... .. .... ... . ... . .. ... ........ .... ... .. . ............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ..... .... ... .... ..... .... .. .... ... . .. ..... .......... .... ... .............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... .... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ..... .... ....... .... ..... .... ...... .... ... . ...... ....... ......... .... ....... .............................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ...... .. . ... .. . .. ...... .... ... .. .. . ... . ... .. .... ... ... .... .. . ... .. . ............................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ..... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ....... ... .. ... . ...... ..... .... ... .. ... ..... ... .... ... .. ... ...........................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ............................................................................................................................................ ... . ................................................................................................. ...............................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ............................................................................................................................................. .. .................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ..... ...... . ........................... ... .................. ..... ....................... ....................... .. .......... ............................... ..... ....................... .. .......... ..................................... ......... ................................. ..... ..... ........... .... ............. .. ......... ..............................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ....... . ........................... .. .. ................. ..... ....................... ....................... ... ..... ..... ............................... ..... .. .................... ... ..... ..... ..................................... ........ .. .............. .................. ..... ..... .......... ..... ............. .... .......... .............................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ...... .. .......................... ... .................... .... ....................... ....................... .... ........... ............................... .... ... ................... .... ........... ..................................... ........ ................. .................. ..... ..... .......... .... . ............. .... .......... .............................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ....... .. . ... .. . ... ..... ... .... . ... ... .... .. ... .. .. . ..... ... .. . ... ..... .... .... ..... ... ... . ... .. . ... .... .. ... .. ... .... .... .... ..... ... ... ....... ... ......... .. ... ..... ........ ... .. ... .... ..... ..... ......... ...... ... ... .. .... ........... ............................................................................................................................XOO++", -"XXOO+.. . . . . . . ... ...... ... .. . ... . . . . ... ... ... .. .. . ... . ... ... ... ... . ... . .. ... ... ... . .. . ... ... ..... ..... ..... ... ... . ... . ... . .. . ... ... .... .... ... .. . .... ..... ..... ..... ... ... . . ... . ... . . ... . ... . .. ... ........ .... ... .. . ..... ..... ..... ......... ...... .... . .. ... .... ........... ............................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ..... .... ... . ... . . . . .. ..... .... ..... . ... .. .... ... .. ... ...... ..... ... ..... ...... ...... ..... ..... ... ... . ... . ... . ... . ... .. ..... .... ... .... ...... ..... ..... ... ... ....... ... .. ......... ... . .. ..... .......... .... ... ...... ..... ..... ......... ...... ..... ... ... .... ........... ............................................................................................................................XOO++", -"XXOO+.. . . . . . . .... .... .... ... . ... . . . . ...... ..... .... ..... ..... ... .. .... ... .... .. ...... ....... .. ..... ...... ...... ..... ..... ... .. . ... . ... . ... . ... .. ..... .... ....... .... ...... ..... ..... ... .. ....... ... .... ........ ... . ...... ....... ......... .... ....... ..... ..... ..... .......... ...... ..... ... ... .... .......... .............................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ..... ... . ... . . . . ... . ...... .... ..... ... . ... . ..... .. . ... . ..... ..... ... . ..... ... . ....... ..... ..... .... . . .. ... . ... . ... . ...... .. . ... .. . .. ....... ..... ..... .... . ....... .. ... ....... ... . ... .. .... ... ... .... .. . ... .. . .... ..... ..... .......... ...... .... . .. ... .... .......... .............................................................................................................................XOO++", -"XXOO+.. . . . . . . ..... .. ..... ... .. .. ... .. .. ...... .... ...... ... . ...... . .. .. ..... ...... .. ...... .. ...... ... ... ...... . ...... .. ... .. . ....... ... .. ... . ...... ... ... ...... ....... ...... ......... .. ... ..... ... .... ... .. ... .. ..... ..... ........... .. . ... .. .. ......... ..............................................................................................................................XOO++", -"XXOO+. . . . . . .. ............................................................................................................................................ ... . ....................................................................... ... ....... ........................................... .................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ............................................................................................................................................. .. ........................................................................ ........ .............................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ................................................................................................................................ ...... ................... ...................... .... .............................................. .... ... .. ... ........ .............................. ....................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ... ........ ................. ........................ .... ..... ......................................... ............ ......... ....... ................... ......... ........... .... ............................................. ... .. ....... . ... . ... ....... ............ .................. ...................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. ... ........ ................. ............................. ..... ......................................... ...................... ....... ................... ..................... ... . ............................................. ... . . ...... .. ... . ........... ............ .................. ...................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ... . ... . .. .. ... . ........ ... . . ... ... .. ... .. . ......... .. . ........ .. ... .. ... . .. .. .... .... ......... . ... .. .......... ...... ......... ... ... ... .................. ... ..... ... ... . ........... .. ... . ... ... ..... ..................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. ... . ... .. .... ... . ... .. .......... ... . .. ... .... ..... .... ... . .. ....... ... . .. ........ .... ... ... ... .. . . ..... ... ... ....... ... . ... ... .......... ...... ......... ... ..... . ... . ... ................ .... .... ... . ........ ... . ... .. .... ... . ... .... ..................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ... . ... .. .... ... . ... .. .......... . . . ....... .... ..... .... . ... ....... ... . ... ........ .... . . ... ... ... . ...... ... ....... ... . ... ... .......... ...... ......... ... .. . ... . ............... ..... ....... ..... . ... ....... ... . ... .. .... .. ...... ..................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. ... . ... .. .... ... . ... .. .......... . . . ....... .... ..... .... ..... ... ....... ... . ... ........ .... . . ... ... ... . . ..... ... ........... ... .. . .... ........... ..... ......... ... . ... . ... . .................. ...... ....... ..... . ... ....... ... . .. .. .... ........ .... ...................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ... . .. .. .. . .. .. .. .. ....... . . . ....... .... .. .. .. . ... . ... ....... ... . ... ........ .. . . . ... ... ... . .. .... ... ... ... ... ... .. . .... ........... ..... ......... .. ... .. . ... ... ........ ....... ... ... . ... . ... ....... ... .. . .. .. . ... . ... ... ..... .............................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... ... . ... .. ...... . ... ......... . .. ...... .... .... ... .. ... ........ .. ... ......... ... . ... .. ... . ... .. ... ... ... ... .... ........... .. ....... ...... ..... .. .... ......... . .. ... ... ........ ...... ... ... ... ... ..... ............................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .................... ..................................................................................................................................... ............................................. ........... ... ........ .................................................... ... ........................... .............................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .................... ................................................................................................................................................................................... ............ ............................................................... ..........................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ....................................................................................................................................................... ...... ................ ...........................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ......................................... .......... ........................ .... ..... ......................................... ............ ......... ....... ................. ...........................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... .................................................... ............................. ..... ......................................... ...................... ....... ................. ...........................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... . ... .. . ... ... .. . ... ... .. ........ ... . . ... ... .. ... .. . ......... .. . ........ .. ... .. ... . .. .. .... .... .......... .... ... ..............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... .. ..... . .. . ... . ... . .. ... ... ... .. .......... ... . .. ... .... ..... .... ... . .. ....... ... . .. ........ .... ... ... ... .. . . ..... ... ... ......... ... ... . ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ...... . ... .. ... ..... ....... ... ... .. .......... . . . ....... .... ..... .... . ... ....... ... . ... ........ .... . . ... ... ... . ...... ... ......... ... ... . ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ..... ... . ... .... .. ..... ....... ... ... .. .......... . . . ....... .... ..... .... ..... ... ....... ... . ... ........ .... . . ... ... ... . . ..... ... ............. ... ... . ... .............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .... ... ..... ... . ... . ... . ... . ....... ... ... .. ....... . . . ....... .... .. .. .. . ... . ... ....... ... . ... ........ .. . . . ... ... ... . .. .... ... ... ... ..... ... ... .. ... .........................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .... ... ...... . ... .. ... .. ...... .. ....... ......... . .. ...... .... .... ... .. ... ........ .. ... ......... ... . ... .. ... . ... .. ... ... ... ... ...... .. ........................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .................................................. ............................................................................................................................... ............... ... ... .........................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .................................................. ................................................................................................................................................ ..............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . ..... . . ... .................. ............ . .... . ......... ................ ................... ........................................... ...... ...............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. .. . . .. . . . . .................. ........... .... .. .......... .... ......... ................. ......... .......... ............ ......... ....... ...............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ... . .. . . . . . . . . .................. ........... . .... ... .......... .............. . ................... .................... ...................... ....... ...............................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . . ... . . ... . . . ...... . .. ... . ................. ... ... ... ... ... . . ......... ... .. . ... .. ......... .. ... .. ... . .. .. .... .... ........................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . . . ... . . . . .... ...... . . . ... . ... ............... .... .. .. .. .... .. .. . ......... . .. ... . ... ... .......... .... ... ... ... .. . . ..... ... ... .......................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . . . . . . . . ...... . . . ... . ... .............. ..... .. .. .... .. .. . ......... ... ... . ... ... .......... .... . . ... ... ... . ...... ... .......................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . ..... . . . . . . ...... . . . ... . ... .............. ..... .. ...... .... .. ...... . ......... ... ... .. . .... .......... .... . . ... ... ... . . ..... ... ...........................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . . . . . . . . . . ...... . . . .. . ... ............. ...... .. .. .. .... .. .. ......... . .. ... .. . .... .......... .. . . . ... ... ... . .. .... ... ... .......................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....... . ... ... ..... ... . ... ...... ... .. . . .............. ..... .. .. .. .. ... ......... ... .. ... .... .......... ... . ... .. ... . ... .. ... ........................................................................................................................................................................................................................................................................................XOO++", -"+++++.. . . . . . . .. . . ..................................................................................................................................................................................................................................................................................................................................................................................................................................................+++++", -"XXXX+. . . . . . .. .. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................XXXX+", -"XXOO+.. . . . . . . .. .................................................................................... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. .................................................................................... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . ..... . . . .................. ............ . .... . ......... ................ ......... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. .. . . .. .. . . .................. ........... .... .. .......... .... ......... ....... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ... . .. . . . . . . . . . .................. ........... . .... ... .......... .............. . ......... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . . ... . . ... . . . ...... . .. ... . ................. ... ... ... ... ... . . ......... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . . . . ... . . . . . ...... . . . ... . ... ............... .... .. .. .. .... .. .. . ........ ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . . . . . . . ...... . . . ... . ... .............. ..... .. .. .... .. .. . ....... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. . ..... . . . . . ...... . . . ... . ... .............. ..... .. ...... .... .. ...... . ....... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . . . . . . . . . ...... . . . .. . ... ............. ...... .. .. .. .... .. .. ........ ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . ....... . ... ... ..... ... ..... . ...... ... .. . . .............. ..... .. .. .. .. ... ......... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. .. . . .................................................................................... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.. . . . . . . .. .................................................................................... ........................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+. . . . . . .. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+.............. ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................XOO++", -"XXOO+XXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+XXXXXXXXXXXXXXXXXOO++", -"XXOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOO++", -"XXOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+XOOOOOOOOOOOOOOOOOO++", -"X++++++++++++++++++++X++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++X++++++++++++++++++++", -"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" +"ccccccccca##############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################.", +"c#######c#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.", +"c#aaa#aac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaa.......aaa.aa.aaaaaaaaaaaaaaaaaaaaaaaaaaa........aaaaaaaaa.aa.aaaaaaaaaaaaaaaaaaaaaaaaa.....aaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaa.aaaaaaaaa.aa.aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaaa.aaaaa.aaaaaaaaaaaaa.aaaa.aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaa.aaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaa.aaaaaa.aaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaaaaaaaaa.aaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaa.aaaaaaaaa.aa.aaaa...aaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaa...a.aa.aa....aaaaaaaaaaaaaaaaa.aaaaaaa.aaaa...aaaa....a....a.aa.a....aaaaa...a.aaa....aaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaa...aaaa.aa.a...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaa.aaaaaaaaa.aa.aaa.aaa.aaaaaaaaaaaaaaaaaaa.aaaaaaaaaaa.aaa..aa.aaa.aaaaaaaaaaaaaaaaaaaa.aaaaaaaaaa.aaa.aaaa.aaaa.aaa.aa..aaaa.aaa.aaa..aa.aaaa.aaaaaaaaaaaaaaaaaa.aaaaaaa.aaaa.aaa.aaa.aa..aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaa.......aaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaa........aaa.aaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaaaa..aaaaaaa.aaaaa.aaa.aaaa.aaa.aa.aaaaa.aa.aaaaa.aa.aaaa.aaaaaaaaaaaaaaaaaa.........aaa.aaaaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaa.aaaaaaaaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaa.aaaaaaaaaa.aaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaaaaaa...aaaa.aaaaa.aaa.aaaa.aaa.aa.aaaaa.aa.aaaaa.aa..aaaaaaaaaaaaaaaaaaaaaa.aaaaaaa.aaa.aaaaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaa.aaaaaaaaa.aa.aa.......aaaaaaaaaaaaaaaaaa.aaaaaaaaaa.aaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaaaaaaaaa.aaa.......aaa.aaaa.aaa.aa.aaaaa.aa.aaaaa.aaaa..aaaaaaaaaaaaaaaaaaaa.aaaaaaa.aaa.......aa.aa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaa.aaaaaaaaa.aa.aa.aaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaa.aaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaa.aaaaaaa.aa.aaaaaaaaa.aaaa.aaa.aa.aaaaa.aa.aaaaa.aaaaaa..aaaaaaaaaaaaaaaaaa.aaaaaaa.aaa.aaaaaaaa.aa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaa.aaaaaaaaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaa.aaaaaaaaaa.aaaaa.aa.aaa.aaaaaaaaaaaaaaaaaaa.aaaaaaa.aa.aaaaa.aaa.aaaa.aaa.aa.aaaaa.aa.aaaaa.aa.aaaa.aaaaaaaaaaaaaaaaaa.aaaaaaa.aaa.aaaaa.aa.aa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaa.aaaaaaaaa.aa.aaa.aaa.aaaaaaaaaaaaaaaaaaa.aaaaaaaaaaa.aaa..aa.aaa.aaaaaaaaaaaaaaaaaaaa.aaaaa.aaaa.aaa.aaaa.aaaa.aaa.aa.aaaaa.aaa.aaa..aa.aaaa.aaaaaaaaaaaaaaaaaa.aaaaaaa.aaaa.aaa.aaa.aa..aaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaa.aaaaaaaaa.aa.aaaa...aaaaaaaaaaaaaaaaaaaa........aaaaa...a.aa.aaaa..aaaaaaaaaaaaaaaaaaa.....aaaaaa...aaaaaa..aaa..a.aa.aaaaa.aaaa...a.aaa....aaaaaaaaaaaaaaaaaaa.aaaaaaa.aaaaa...aaaa.aa.a...aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaeeeeeeee#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeeee#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeeeee#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.aaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeeeee#aaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaa#########aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa##########aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa###########aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa....aaaaaaaaaaaaaaaaaaaaaaaaaaa###########aaaaaaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#a.aaaac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c#aaa#aac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"c##aaa.ac#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae.", +"ccccccccc#eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.", +"a#########...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................", +"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", +"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaeeeeeeeeeeeeeeeeeeee#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae##################e#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiihiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaa.aaaaaaaae#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihhiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihihiiiiiiiiiiiiiiihihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiihhhhhiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaa...aaaaaaae#aa", +"aaiiiiiiiihiiiiiiihhiiiiihihhhhiiihiiiihiiiihhhhhiiihhhhhhiiiiihhiiiiiihhhhhiiiiiihiiiiiiiiiiiiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiihiiiiiiiiiiiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiiiiiiiiihhiiiiihihhhhiiihihhhhiiihiiiihiiihhhhhhiiiiiiihiiiihihhhhiiihiihhhiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiiihhhhihiiiihhiiiiihiiiihiiihhhihhiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhihiiihhhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaa.....aaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihhiiiihiihiiiihiiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiiiihhhiiiiiiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihihhhhiiihihhhhiiihiihiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiiiiiiiiiiihiiiiihhiiiihiihhiiiihiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiiihhiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiiiiiiihiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaa.......aaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiiihiiiihiihiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihhhhhhhiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihhiiiihiihhiiiihiiihhhhhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiiihiiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhhhhhhiihhhhhiiiihiiiihiiihiiiihiiiiiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaa.........aaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiiihiiiiiiihiiiiiiiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiiihiiiiiiiihhhhhhiihhhhhhhiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiihhhhhhiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaa...........aaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhiiiihiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiihiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiiiiiiiiiiiiihiiiiihiiiiihiihhiiiihiihiiiihiiiiihiiihiiihiiiiiiihhiiiihiiihiiiiiiihiiiihhiihiiiiiiiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiiiiiihiiiihhiiiiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiihhhiiiihhhhhiiiihhhhhiiiiihhhiiiiiiiiiiiiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiiiiiiiiiiiihhhhhiiiiihhhiiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhhhiiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiiiiiiiiiiiihhhhhiiihiiiiihiihihhhhiiiihhhhihiiiiihhhiiihiiiiiiiihihhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhihiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiiihiiiiiiihhhhihiiihhhhhiiiihhhhihiiiiiiiiiiihhhhhhhiiiihhhiiiiihhhhhiiiihhhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaeeeeeeeeeeeeeeeeeeee#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaa#####################aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihhiiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihihiiiiiiiiiiiiiiihihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihihiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiihhiiiiiiiihiiiiihiiiihiiihiiiiihiiihhhhhiiihihhhhiiiihhhhihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihiihiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiihiiihhhhhhiiihiiiiihiihhiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihihhhhiiihihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiihhhiihiiihihiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihhiiiihiihhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiihhiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiihhiiihiiiiiiiihiiiiihiihiiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiihhhhhhhiiihhhhhiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiiiiiiiiiiihhhhhiiiiihhhiiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhhhiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiihhhhhiiiihhhhhiiihhhihhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhihhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiihiiiiihiihiiiiihiihiihiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiihiihiiiiihiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiihiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiihhhhhiiihiiiiiiiihiihiihiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiiiiiiiiiiiihhhhhiiihiiiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiiiiihiihiiiiiiiihiihiihiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiihiihiiiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiihiihiiiiihiihiihiihiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiiiihhhiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiihhhhhiiihiihhhiiiihhhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiiihhiiiiihihhhhiiiiihhiiiiihhhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhhhhhiiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiihiiiiihhiiiihiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiihiiihiiiihiihiiiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihhhhhhiiihiiiiiiiihhhhhiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihiiiiihiiihiiiiiiiiiiiiihiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiiiiihiiiiihiiiiihiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihiiiihhiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiiiiihiiiiihiiiiihiiiiihiiiiiiihiiihiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihhhhihiiihiiiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiiiiihhhiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhihiiihhhhhiiiihhhhhiiiiiihiiiiiihhhhhiiihiihhhiiiihhhhhiiihhhhhhiiiiihhiiiiiihhhhhiiihihhhhiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiiihhhhhiiiihhhhihiiihhhhhiiihiihhhiiiiiihiiiiiihhhhhiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiihhiihiiiiihiihiiiiihiiiiihiiiiiiiiiiihiiihhiiihiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihhiiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiihiiiiihiihiiiihhiihiiiiihiiihhiiihiiiiihiiiiiiiiiiihiihhiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihiiiiihiihiiiiiiiiiiihiiiiiiiiiiihiiihiiiihiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiihiiiiiiiiiiihiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiihhhhhhhiihiiiiiiiiiiihiiiiiihhhhhhiiihiiiiiiiihhhhhhiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiihhhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiiihiiiiiihhhhhhiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiiiiihiiiiiiiiiiihiiiiihiiiiihiiihiiiiiiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiihhiihiiiiiiiihiiiiihiiiiihiiiiihiiiihhiiihiiiiiiihiiiihhiiiihiiihiiiiihiiiiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiiihiihiiiiiiiihiiiihhiihiiiiiiiiihiiiiiiiiiihiiiiihiiiihhiihiiiiihiihiiiihhiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiiihiiiiiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihiiiiihiiihhhhhiiiihhhhihiiihhhhhiiiihiiiiiiiihhhhhiiiihhhhihiihiiiiihiiihhhhihiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiihiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhihiiiiiiiiiiihhhihhiiiihhhhhiiiihhhhihiiiihhiiiiiiihiiiiiiiihhiiiiiihhhhhiiihiihhhiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihhiiiihiihiiiiihiiihhiiihiihiiiihhiiiiiiiiiiihiihiihiihiiiiihiihiiiihhiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiihiiihhiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiiiiihiiiiihiihiiiiihiiihiiiihiihiiiiihiihhhhhhhiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihhhhhiiiiiiihiiiiihiiiiihiiihiiiihiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiiiiihiiiiihiihiiiiihiiihiiiiiiihiiiiihiiiiiiiiiiihiihiihiihiiiiihiihiiiiihiiiiihiiiiiiihiiiiiiiiihiiiiihhhhhhhiiihiiiiiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiiiiihiiiiihiihiiiiihiiihiiiiiiihiiiiihiiiiiiiiiiihiihiihiihiiiiihiihiiiiihiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiihhiiiiiiiiiiihiihiihiihiiiiihiihiiiihhiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiiiiiihiiiiiiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiiihiiiiiiiihhhhihiiiiiiiiiiihiiiiihiiihhhhhiiiihhhhihiiihhhhhiiiiihiiiiiiihhhhhiiiihhhhhiiiihiiiiiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiiiiihiiiiihhhhhiiiihhhhhiiihiihhhiiiiihhiiiiihihhhhiiihhhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiihhhhhiiiihhhhhiiihhhihhiiiiiiihiiiiihhhhhiiiihhhhhiiihiihhhiiiiihhiiiiihihhhhiiihhhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhihhiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiiiihiiiiihiiiiihiihiiiiihiiihhiiihiiiiihiiiiihhiiiihiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiihiiiiihiihiiiiihiihiihiihiiiiihiiiiihiiiiihiihiiiiihiiihhiiihiiiiihiiiiihhiiiihiiiihiiiiiiiiiiiiiiihiiiiihiihiiiiihiihiihiihiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiiiihiiiiihiiiiiiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiihiihiiiiihiiiiihiiiiiiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiihiihiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiiihiiiiiiihhhhhiiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiihhhhhiiihiiiiiiiihiihiihiiiihiiiiiiihhhhhiiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiiihhhhhiiihiiiiiiiihiihiihiiiiiihiiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiihiiiiiiiiiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiiiiihiihiiiiiiiihiihiihiiihiiiiiiiiiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiihiihiihiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiihhiiiihiiiiiiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihhiiiihiiiihiiihiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiihiihiiiiihiihiihiihiiihiiiiiiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihhiiiihiiiihiiihiiiiihiiiiihiiiiihiihiiiiihiihiihiihiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhihiiihiiiiiiiiihhhhhiiiihhhhhiiiihiiiiiiiihhhhhiiihihhhhiiiiiihhhiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhhiiiihhhhhiiiihiiiiiiiihhhhhiiihihhhhiiiiiihhhiiiiihhhiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhiiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiihhhiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiihiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhihiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiiihhiiiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiiiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiihiiihiiiiihiihhiiiihiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiiiiiiiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiiihhiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiiihhiiihiiiiiiihiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiihiiiiihiiiiiiiihhhhhhhiihiiiiihiiiiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiihiiihhhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiihiiihhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiihhiiiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiiihhhhiiiihiiiiiiiihiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiihiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiihhiiiihiihiiiihhiihhiiiihiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihhiiiihiihiiiihhiihhiiiihiihiiiiiiiiihiiiiiiihiiiiiiiiihiiihiiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiihiiiiiiiihhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhihiihihhhhiiiihhhhhiiiihiiiiiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihihhhhiiiihhhhihiihihhhhiiiihhhhhiiiihiiiiiiihhhhhhhiiiihhhiiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiiiihiihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiiiiiiiihiiihhiiihiiiiiiiihiihiihiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiiihiiihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiiiiiiiihiiihiiiihiiiiiiiihiihiihiihiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiiihhhhhhiiihiiiiiiiihhhhhhiihiihiihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihhhhhhiihhhhhhhiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiihiiihiiiiiiihiiiiihiihiihiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiiiiiiihiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihhiiiihiihiiiihhiiihiiiiiiihiiiihhiihiihiihiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiihhiiiiiiihiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihihhhhiiiihhhhihiiihiiiiiiiihhhhihiihiiiiihiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhihiiiiiiihiiiiihhhiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiiihhiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihhiiiihiihiiiihhiihhiiiihiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihihhhhiiiihhhhihiihihhhhiiiihhhhhiiiihiiiiiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhihiihiihhhiiiihhhhhiiihiiiiihiiihhhhhiiihiihhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiihiiiihiiihhhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhhiiihhhihhiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhhhhiiihhhhhhiiiiihhiiiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihhiiiihiihiiiihiiiihhiiihiiiiiiiihiihiiiiihiihiiiiihiiihhiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihhiiiihiihiiiiihiiiiiiiihiihiihiihiiiiiiiiiiihiiiiihiihiiiiihiiiihiiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiihiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiihiiiihiiiiiiiihiiihiiihiiihiiiiihiiihiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiihiiiiiihiiiiihiihhhhhhhiihiiiiihiihiiiiihiiiiiiiihiihiihiihiihhhhhhhiihiiiiiiiihiiiiihiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiiihiiiiiihhhhhhhiihiiiiihiihiiiihiiiihiiiiiiiihhhhhhiiihiiihiiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihhhhhhiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihhhhhhhiiihhhhhhiihiihiihiiiiiiiiiiiihhhhhiiihhhhhhhiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiiiiihiiiiihiiihhhhiiiiihiiiiiiihiiiiihiiiihihiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiihiihiiiiiiiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiiiiiihiiiiihiihiiiiiiiiihiiiiiiihiiiihhiiiihihiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiihhiihiiiihiiiiihiiihiihiiiiihiiiiiiiiiiihhiiiihiihiiiiiiiihiiiihhiihiihiihiiiiiiiiiiihiiiiihiihiiiiiiiiiihiiihiiiihiiihiiiiihiiiiihiiiiihiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiiihiiiiiiiihhhhihiiiiihiiiiiihhhhhiiiihiiiiiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhihiiihhhhihiiiiihhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihhhiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiihhhhiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiihiiiihiiihhhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhhiiihhhihhiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhhhhiiihhhhhhiiiiihhiiiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihhiiiihiihiiiiihiiiiiiiihiihiihiihiiiiiiiiiiihiiiiihiihiiiiihiiiihiiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiihiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiihiiiiiihiiiiihiihhhhhhhiihiiiiihiihiiiiihiiiiiiiihiihiihiihiihhhhhhhiihiiiiiiiihiiiiihiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihhhhhhiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihhhhhhhiiihhhhhhiihiihiihiiiiiiiiiiiihhhhhiiihhhhhhhiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiihiihiiiiiiiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiihhiihiiiihiiiiihiiihiihiiiiihiiiiiiiiiiihhiiiihiihiiiiiiiihiiiihhiihiihiihiiiiiiiiiiihiiiiihiihiiiiiiiiiihiiihiiiihiiihiiiiihiiiiihiiiiihiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhihiiihhhhihiiiiihhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihhhiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiihhhhiiiiihhhhiiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihhhihhiiiiihhiiiiiihhhhihiiiihhiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiiihhhhhiiihiihhhiiiiihiiiiiiihhhhhiiihiihhhiiihhhihhiiiihhhhhiiihiihhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiihiihiiiiihiiiiihiiiihhiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiihiiiiihiiihhiiihiiiihiiiiiihiiiiihiiihhiiihiihiihiihiihiiiiihiiihhiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihiiiiihiiihiiiihiihhhhhiiiihiiiiihiiihiiiihiihiihiihiihiiiiihiiihiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiihhhhhhhiiihiiiiiiiiihiiiiiihiiiiihiiihiiiiiiihiihiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiihiiihiiiiiiihiihiihiihiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiihiihiiiiihiiiiihiiiihhiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihhiiiihiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiihiiihiiiiiiihiihiihiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihiiiiihiiihhhhhiiiihhhhihiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihihhhhiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiiihiiiiiiihiiiiihiiihhhhhiiiihiiiiiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihhhhhhiiiihhhhhiiihiiiiihiihhhhhhiiiihhhhhiiiihhhhhiiihiihhhiiiiihhiiiiihihhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihihhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiihiiiiiihiiiiihiiihiiihiiiiihiiiiiihiiiiihiihiiiiihiiihhiiihiiiiihiiiiihhiiiihiiiihiiiiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiihhiiiihiihhiiiihiihiiiiihiiihhiiihiihiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiihiiiiiihiiiiihiiiihihiiiiiihiiiiiihiiiiiiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiihiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiiihiiiiiihhhhhhhiiiiihiiiiiiihiiiiiiihhhhhiiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiihiiiiihiihiiiiihiihhhhhhhiiihiiiiiiiihhhhhiiiiiiiiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiiiihiiiiiihiiiiiiiiiihihiiiiiihiiiiiiiiiiiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiiiihiiihiihiiiiiiiiihiiihiiiiihiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihhiiiihiiiihiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihiiiiihiihhiiiihiihiiiihhiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiihiiiiihiiiiihiiiiiiiihiiiiihiiihhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiiiihhhiiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiihhhhhiiiihiiiiiiiihhhhhiiihihhhhiiiiiihhhiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiiihhhhhiiihihhhhiiiihhhhihiihiiiiihiihiiiiihiiihhhhhiiiihiiiiiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiihhiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiiiihiiiiihiiiihiiiiiiihiiiihihhhhiiihiihhhiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiihhhhhhiiihiiiihiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiihhiiiiihihhhhiiihihhhhiiihiiiihiiihhhhhhiiiiiiihiiiihihhhhiiihiihhhiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiiihhhhihiiiihhiiiiihiiiihiiihhhihhiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhihiiihhhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihhiiiihiiihhiiihiihiiiiihiihhiiiihiihiiiiihiiihhiiihiiiihiiiiiihiiiihiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihhiiiihiihhiiiihiihiiiihiiiiihiiiiiiiiihiiiiihhiiiihiiihhiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiiiiiiihiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiihiiiihiiiiiihiiiiihiiiiihiiihiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiihiiiihiiiiiihiiiihiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiiihiiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhhhhhhiihhhhhiiiihiiiihiiihiiiihiiiiiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiihiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiihiihhhhhhhiiihiiiiiiiiihiiiiiihiiiihiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiiihiiiiiihiiiiihiiihiiiiiiiihhhhhhiihhhhhhhiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiihhhhhhiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiiiiihiiiiihiiiihiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiiihiiiiiihiiiihiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiihiiiiihiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhiiiihiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiihiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiiiiihiiiiihiiihhiiiihiiiiiiihhiiiihiiihiiiiiiihiiiiihiihhiiiihiihiiiiiiiiihiiiiiiiiihiiihiihiiihhiiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiiiihiiiiiihiiiiiiiiihiiiiihiiiiihiihhiiiihiihiiiihiiiiihiiihiiihiiiiiiihhiiiihiiihiiiiiiihiiiihhiihiiiiiiiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiiiiiihiiiihhiiiiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiihiiihhiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiiihhhihiiihiiiiiiiihihhhhiiiihiiiiiiiihhhhhiiihihhhhiiiihhhhhiiiihiiiiiiiiiihhhiiiihhhihiiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiihhhhiiiiiihhhhiiiihhhhhiiihiiiiihiihihhhhiiiihhhhihiiiiihhhiiihiiiiiiiihihhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhihiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiiihiiiiiiihhhhihiiihhhhhiiiihhhhihiiiiiiiiiiihhhhhhhiiiihhhiiiiihhhhhiiiihhhihiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihhhhhiiiihhhhiiiiiihhhhiiiihhhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihihhhhiiihhhhhhiiiihhhhhiiihiihhhiiihihhhhiiihiihhhiiiihhhhhiiihhhhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiihhhihhiiihiiiihiiiihhhhhiiiiihhiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihhiiiihiiiihiiiiiihiiiiihiiihhiiihiihhiiiihiiihhiiihiihiiiiihiiiihiiiiiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihhhhhiiiiiiihiiiiiihiiiiiihiiiihhiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiiihiiihiiiihiihiiiiihiiihiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiihiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiihhhhihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihhhhhhhiiihiiiiiiihiiiiihiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiiihhhhhiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiihiihiihiihiiiihiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiihiihiiiiiiiiihiiiiiiihhiiiihiiihiiiiiiihiiiiiiiiiihiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiihiihiihiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiihiiiiiiihihhhhiiiihiiiiiiiihhhhhiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiihiiiiihiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiihhhhiiiihhhhhiiiihhhhiiiiiihhhhiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiihhhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiihiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiihiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhhhhhiiiiihhiiiiihhhihhiiiihhhhhiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiihiiiihiihiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiihhhiiiiiiiiiiiiiiiihhhiiiiiiiiiiiihiiiiihiiihiiihiiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihhiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiihhhhhhhiiiiiiiiiiiihhhhhiiihhhhhhhiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiihiiiiiiiiiiiiiiiiiihiihiiiiiiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiihiiiiihiiiiihiihiihiihiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiiiiiihiiihiiiiiiiihiiiiiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiiiiiiiiiihhhhhiiiiihhhiiiiiihhhiiiiiiiiihiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiihhhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiihiiihiiihiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiihhhiiiihhhhhiiihihhhhiiihiihhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiiihhhhhiiiiiihiiiiiihhhhhiiihhhihhiiiihhhhhiiihihhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiihhhihhiiiiihiiiiiiiiiihiiiiihhhhhiiihiiiihiiihhhhhhiiiiiiihiiiiiihiiiiiiihhhhhiiihhhhhhiiiihhhhhiiiiiiiiihiihiiiiihiiiiiiiiiiiihhhhhiiiiihiiiiiihhhihhiiiiiiihiiiihiiiiihiiihhhhhiiihiihhhiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihhhhhhiiiihhiiihiihiiiiihiihhiiiihiiihhiiihiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiihiihiihiiiiihiihhiiiihiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiihiihiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiiiihiiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiihiiihiiiiihiiiiiiiiiiiiiiiiihiiiihiiiiiihiihiihiiiiiihiiiihiiiiihiiiiiiiihiiihhiiihiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihiiiihiihiiiiihiihiiiiihiiihiiiihiihiiiiihiihiiiiiiiihiiiiihiihiiiiiiiihiiiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihiihiihiihhhhhiiiiiiihiiiiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiihhhhhiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiiiiihiihhhhhiiiihiihiihiiiiiihiiiihiihiihiiiiiiiihiiihiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihiiiiiiihhhhhhhiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiihhhhhhhiiihhhhhiiiihhhhhiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihhhhhhhiiiiihiiiiihhhhhhhiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiihiihiihiiiihiiiiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiihhhhhhhiiiihiiiiiiihhhhhhiiiihhiiiiihiiiiihiiiiiiiiiiiihhhhhhiiiihiiiiiihiihiihiiiiiihiiiihiihiihiiihhhhhhiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihiiiiiiihiiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiiihiihiihiihiiiiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiihiihiiiihiiiiiiihiiiiiiihiiiiihiihiiiihiiiiihiiiiiiihiiiiiiiiihiiiiiihiiiiiiiiiihiiiiiihiiiiihiiihiiiiiiihiiiiihiiiiiiiiiiihiiiiihiiiihiiiiiihiihiihiiiiiihiiiihiihiihiihiiiiihiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihiiiiiiihiiiiiiiihhiiiihiiihiiiiiiihiiiiihiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiiihiihiihiihiiiiiiiihiiiiihiiiihiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiihiihiiiihiiiiiiihiiiiiiihiiiiihiihiiiihiiiiihiiihiiihiiiiiiiiihiiiiiihiiiiiiiiiihiiihiihiiiihhiihiiiiiiiiihiiihiiiiiihiiiiihiiiihhiiiihiiiiiihiihiihiiiiiihiiiihihihihiihiiiihhiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihiiiiiiiihhhhhiiihihhhhiiiihiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiihiiiiiiiiiihiiiiiiihhhhhiiiiiihhhiiiihhhhihiihhhhhhhiiiihhhiiiiiihhhiiiiihhhhihiiiihiiiiiihiiiiihiiihhhhiiiiihiiihiiiihhhhihiiihiiiiiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhiiiiihihhhhiiiihhhhihiiiiihiiiiiiiiiiiiiiiiihiiiiiihhhhhiiiihhhhhiiiiiiiiiiiihhhihhiiiihhhhhiiihihhhhiiihiiiihiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiiiiihiiiiiiihhiiiiiihhhhihiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiihiihhhiiiihhhhhiiiihhhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihhiiiihiihiiiihiiiiihhhiiiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiihiihiiiiiiiihiihhiiiihiihiiiihiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihhiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiiihhiiihiihiiiiihiihiiiiihiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiihiihiiiiiiiihiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiihiiiihiihiiiiihiihiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiihiihiiihhhhhhiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiihiiiiiiihhhhhhhiiihhhhhiiiiihiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiihiihiihiiiiihiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiihiiiiihiiiiihiihiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiihiihiihiiiihhiihiiiiihiihiiihhiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihhiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiihiiiiihiiiihiiihiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiiiiiiiiiiiihiiiiiihhhhhiiiihhhhhiiiiiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihhhihiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiiihiiiiiiiihhhhhiiiihhhhhiiiiiihhhiiiihhhhhiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiihhhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiihiiihiiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiihhhihhiiiiihiiiiiiiiiihiiiiihhhhhiiihiiiihiiihhhhhhiiiiiiihiiiiiihiiiiiiihhhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiihiiiihiiihhhihhiiihhhihhiiiihhhhhiiihiihhhiiiiiihiiiiihiiiiihiiiiiiiiiiihhhhhhiiiiihiiiiiihhhihhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiihiihiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiiiihiiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiihhiiiihiihiiiihiiihiihiihiihiihiihiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihiihiihiihhhhhiiiiiiihiiiiihiiiiihiihiiiihiiiiihiiiiiiiiihiiiiihhhhhiiiihiiiiihiiiihiiiiiiiiiiiihiihhhhhhhiihiiiiihiihiiiihiiihiihiihiihiihiihiihiiiiihiiihiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiihhhhhiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiihiihiihiiiihiiiiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiihhhhhhhiiiihiiiiiiihhhhhhiiiiiiiiiiihiiiiihiihiiiihiiihiihiihiihiihiihiihhhhhhhiiihiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiihiihiiiihiiiiiiihiiiiiiihiiiiihiihiiiihiiiiihiiiiiiihiiiiiiiiihiiiiiihiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiihiiihiihiihiihiihiihiihiiiiiiiiihiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiihiihiiiihiiiiiiihiiiiiiihiiiiihiihiiiihiiiiihiiihiiihiiiiiiiiihiiiiiihiiiiiiiiiihiiihiihiiiihhiiiiiiiiiiihiiiiihiihiiiihiiihiihiihiihiihiihiihiiiiiiiiihiiiiiiiiiihiiiiiihiiihiiiiiihiiiiiiihiiihiiiihiiiiiihiihiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiihiiiiihiiiihiiiiiihiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiihiiiiiiiiiihiiiiiiihhhhhiiiiiihhhiiiihhhhihiiiiiiiiiiihiiiiihiiihhhhihiihiiiiihiihiiiiihiiihhhhhiiiihiiiiiiiihhhhhiiiiihhhiiiiiihhhiiiiiiihhhiiiiihiiiiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiihhhhhhhiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihhhhhiiiiiihiiiiiihhhhhiiihiiiihiiiiiihiiiiiihhhhhiiihhhhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiihhhihhiiihihhhhiiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhhiiiiihhiiiiihhhhhhiiiiihhiiiiiihhhhhiiihihhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiihiiiiihiiihhhhhiiihiihhhiiihihhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiiihiiihhhhhiiiiihiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiihhhhhhiiiiihhiiiiiihhhhhiiihihhhhiiiiiiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiihihhhhiiiiiiiiiiiihhhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhhhhiiiiihhiiiiiihhhhhiiiiihiiiiiihiiiihiiiiiiiiiiiiihhhhhiiiihhhhhiiihihhhhiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiiiiiiiihiiiihiiiiiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhiiiihiiiiiiiiiiihhiiiihiihiiiiihiihiiiiihiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiihiihhiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihhhiiiiiiihiiiihiiiiihiiiiiiiihiiihhiiihiihhiiiihiiiiihiiiiihhiiiihiihiiiihiiiiihhhiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiiihiihiiiiihiiiihiiiiiiiiiihiiiiiihhhiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihhiiiihiiiiiiiiiiihiiiihhiihiiiiihiihiiiiihiihiiiiihiihhiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiihiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiihiihiiiiihiihhiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihiiiiiiiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiihiiiihiihiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiihiiihiiihiiiiihiiiihiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiiiiihhhhhiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiihhhhhhiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiiihhhhhhiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiihhhhhiiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiihiiiihiihiihiiihhhhhhiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiihhhhhiiihiiiiihiiiiihiiiiiihiiihiiihhhhhhhiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihhhhhiiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihhhhhhhiiihhhhhiiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhhiiiihhhhhhiiiihiiiiiiiiihiiiiiihhhhhiiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiihiiiiihiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiihiiiihiihiihiihiiiiihiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiiihiiiiiiihihiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiihiiiiiiiiihiiiiiiiiiiihiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiihiiiihhiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiihiiiihhiiiihiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiiiiihhiiiihiihiiiiihiihiiiiihiiiiihiiiiiiihiiihiiiiihiiiiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiihihihihiihiiiihhiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiiiihihiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiihiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiihhiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiihiiihiiiiiiiiiiihiiiiihiihiiiihhiiiihiiihiiiiihiiiiihiiiiihiiiihiiiiiihiiihhiiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiihiiiiihiihiiiiihiiiiiiiiiiihihhhhiiiihhhhhiiiihhhhhiiiihhhhhiiiiiihhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiihhhhiiiihhhhhiiiihhhhiiiiihiiihiiiihhhhihiiihiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiiiihiiiiiihhhhhiiiiiiihiiiiiihiiiiiiiihhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhhiiiiihiiiiiiihhhihiiiiiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiihhhhhhiiihiihhhiiiihhhhhiiiiihhiiiiihihhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiihiiiiiiihhiiihiiiiiiiihiiiiihiiiiihhiiiihiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiiiiiiihiiiiiiihiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiiihiiiiiiihiiiiiiiihhhhhhiiiiihiiiiihiiiiihiiiihiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiihiiiihiiiiiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiihiiiiihiiiihiiihiiihiiiiiiihiiiihhiiiiihiiiiihiiiiihiiiihiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiihhhhhiiiiiihhhiiiihiiiiiiiihhhhihiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaacbaaaaaaaaaaaaaaaaac#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadddddddddddddddddddd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadffffffffffffffffffd#aa", +"aaiiiiihiiiiihiiihhhhhiiihiihhhiiihihhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiiihiiihhhhhiiiiihiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiihhhhhhiiiiihhiiiiiihhhhhiiihihhhhiiiiiiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiihihhhhiiiiiiiiiiiihhhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiihhhhhhiiiiihhiiiiiihhhhhiiiiihiiiiiihiiiihiiiiiiiiiiiiihhhhhiiiihhhhhiiihihhhhiiiihhhhhiiihhhhhhiiihiihhhiiiihhhhhiiiiihhiiiiihihhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiihiiiiihiiiiiiiihiiihhiiihiihhiiiihiiiiihiiiiihhiiiihiihiiiihiiiiihhhiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiiihiihiiiiihiiiihiiiiiiiiiihiiiiiihhhiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihhiiiihiiiiiiiiiiihiiiihhiihiiiiihiihiiiiihiihiiiiihiihhiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiihiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiihiihiiiiihiihhiiiihiihiiiiihiiiihiiiiiiihhiiihiiiiiiiihiiiiihiiiiihhiiiihiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiihiihiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiihiiihiiihiiiiihiiiihiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiihiiiiiiiiihiiiiihiiiiiiiihhhhhiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiihiiiiiiiiiihiiiiiiihiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiihiihiihiiihhhhhhiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiihhhhhiiihiiiiihiiiiihiiiiiihiiihiiihhhhhhhiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihhhhhiiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihhhhhhhiiihhhhhiiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhhiiiihhhhhhiiiihiiiiiiiiihiiiiiihhhhhiiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiiihhhhhiiiiihiiiiiiihiiiiiiiihhhhhhiiiiihiiiiihiiiiihiiiihiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiihiihiihiiiiihiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiiihiiiiiiihihiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiihiiiiihiiiihiiiiiiiiihiiiiiiiiiiihiiiihiiiiiihiiiihiiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiihiiiiiiiihiiiihiiiiiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihihihihiihiiiihhiiihiiiiiiihiiiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiiiihihiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiiiihiiihiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiihhiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiihiiihiiiiiiiiiiihiiiiihiihiiiihhiiiihiiihiiiiihiiiiihiiiiihiiiihiiiiiihiiihhiiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiihiiihiiiiiiihiiiihhiiiiihiiiiihiiiiihiiiihiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiihiiihiiiihhhhihiiihiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiiiihiiiiiihhhhhiiiiiiihiiiiiihiiiiiiiihhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhhiiiiihiiiiiiihhhihiiiiiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiihhhiiiihiiiiiiiihhhhihiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiihhhhiiiiihhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiihiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiihiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiihiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiihiiiiiihihhhhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiihiiiiiihhiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiihhhhiiiihhhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihhhhhhhiiiihhhhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhhiiihhhhhhhiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiihiiiiihiihiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiihiiiiihiihiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiihhhhhiiihihhhhiiihihhhhiiihiihhhiiiihhhhhiiihiiiiihiiiihhiiiiihhhihhiiiihhhhhiiihhhhhhiiiihhhhhiiiihhhhihiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiihhiiiiihihhhhiiiihhhhhiiiihhhhhiiiiiiiiiiiiiihiiiiiihiiiiihiiiihhiiiiihhhhhhiiihihhhhiiiiiiiiiiiiihhhhhiiihihhhhiiiiiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiihiihhhiiiihhhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiihhhhhiiiiihiiiiiiiiiiiiiiiiiiiiihiihihhhhiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiihhhihhiiihihhhhiiiihhhhhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiihiihhiiiihiihhiiiihiiihhiiihiihiiiiihiiihiiihiiiiiihiiiiihiihiihiiiiiiiihiiiihiiiiiihiiiiihiihiiiihhiiiiiiiiiiiiiihhhiiihihhhhiiiiiiiiiiiiiiihiiiiiiiihiiiiihhiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiihiiiiiihiiiiihiiiiihiiiiiiihiiiiiihhiiiihiiiiiiiiiiiiiiiiihiihhiiiihiiiiiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihhiiihiiiiiiiihiihiiiihiiihiiiiihiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiihiiihhiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhiiiihiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiihiihiiiiihiiiihihiiiiiiihiiiiihiihiihiiiiiiiihiiiihiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiihiihhiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiihiiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiiiiiihiiihiiihiiihiiiiihiiihiiiihiiiiiiiihiihiiiihiiihiiiiihiiiiiiiiiiihiiiiihiihhhhhiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiihhhhhhiihiiiiihiihiiiiihiiihiiiiiiihiiiiihiiiiihiiiiiiiihiiiiihiihiihiiihhhhhhiiiihiiiiiihhhhhhhiihiiiiihiiiiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihhhhhhhiiihhhhhiiiiiiiiiiiiiihiiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiiihhhhhhiihiiiiihiiiiiiiiiiiihhhhhhiiihiiihiiihhhhhhhiiihiiiiiiiihhhhhhiihiiiihiiihhhhhhhiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiihhiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiihhhhhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiihiiiihihiiiiiiihiiiiihiihiihiihiiiiihiiiihiiiiiihiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiiiihihiiiihiiiiiiiiihiiiiiiihiiiiihiiihhhhiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiihhiihhiiiihiihhiiiihiiihiiiiiiihiiiiihiiihiiihiiiiiihiiiiihiihiihiihiiiihhiiiihiiihiihiiiiiiiihiiiihhiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiihihihihiiiiihiiiiiiihiiihiihiiiiihiiiiiiiiiiihiiiihhiihiiiiihiiiiiiiiiiihiiiihhiiiihihiiiihiiiiiiiiihiiiiiiihiiiihhiihiiiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiihhhhihiihihhhhiiihihhhhiiiihiiiiiiiihhhhhiiihiiiiihiiihhhhhiiihiiiiihiiihhhhihiiiiihhhiiiihhhhhiiiihhhhihiiiiiiiiiiiihhhhhiiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiihhhhhiiiiiiiiiiiiiiiihiiiiihiiihiiiihhhhhiiiiiihhhiiihiiiiihiiiiiiiiiiiihhhhihiihiiiiihiiiiiiiiiiiihhhhihiiiiihiiiiiihhhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiiiiiiiiiiihhhhhiiiiihiiiiiiiiiiiiiiihhhhhhhiiihhhhhiiiiihhhiiiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiihiiiiihiihiiiiihiiihhhhhiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihhhhhhhiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiihiiiiihhhiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiihhiiiihiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiihihiiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiihhhhhiiiihhhhhiiiiiihiiiiiihhhhhiiihiiiihiiiiiihiiiiiihhhhhiiihhhhhhiiiihhhhhiiiihhhhihiiiiiiiiiiihihhhhiiiiiiiiiiiiiiihiiiiiiihhiiiiihihhhhiiiihhhhhiiiihhhhhiiiiiiiiiiiiiihiiiiiihiiiiihiiiihhiiiiihhhhhhiiihihhhhiiiiiiiiiiiiihhhhhiiihihhhhiiiiiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiihiihhhiiiihhhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiihhhhhiiiiihiiiiiiiiiiiiiiiiihiihiiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiihhhihhiiihihhhhiiiihhhhhiiiiiiihiiiiiiiiiiiiiihhhhhiiihiiiiihiiihhhhhiiiihhhhhiiihhhhhhiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiiiiiiiihiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiiiiiiiihiiiihiiiiiihiiiiihiihiiiihhiiiiiiiiiiihhiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihhiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiihiiiiiihiiiiihiiiiihiiiiiiihiiiiiihhiiiihiiiiiiiiiiiiiiiiihiihhiiiihiiiiiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihhiiihiiiiiiiihiihiiiihiiihiiiiihiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiihiiihiiihiiiiihiiiiiiiiiiihihhhhiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhiiiihiihiiiiihiiiiiihiiiiiiiiiiiiihiiiiihiiihiiihiiiiiiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiiiiiiiihiiiihiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiihiiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiiiiiiihiiihiiihiiihiiiiihiiihiiiihiiiiiiiihiihiiiihiiihiiiiihiiiiiiiiiiihiiiiihiihhhhhiiiiiiiiiiiiihiiiihiiihiiiiihiiiiiiiiiiihhiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiihiiiiiiiiiiiihiiiiiiiiiiiiihiiiiihiiiihihiiiiiiiiiihiihiiiiiiiiiihiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiiiiiiiiihhhhhhiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiiihhhhhhiiiihiiiiiihhhhhhhiihiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihhhhhhhiiihhhhhiiiiiiiiiiiiiihiiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiiihhhhhhiihiiiiihiiiiiiiiiiiihhhhhhiiihiiihiiihhhhhhhiiihiiiiiiiihhhhhhiihiiiihiiihhhhhhhiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiihhhhhhhiihiiiiihiiiiiiiiiiihiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiihhhhhiiiiiiihiiiiiiiiiiiiihhhhhhhiiiiihiiiiiihhhhhhiihiiiiiiiiiihiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiiiiiihiiiihiiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiihiiiiihiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiihiiiiihiiiihihiiiihiiiiiiiiihiiiiiiihiiiiihiiihhhhiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiihiiihiiiiihiiiiiiiiiiihiiiiihiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiihihiiiihiiiiihiihiiiiiiiiiihiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiihiiiihhiiiiihiiiiihiiiiihiihiiiihiiiiiihiiiiihiiiihhiiiihiiihiihiiiiiiiihiiiihhiiiiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiiiiihiiiiihiiiiiiiiiiiiiihiiiiihihihihiiiiihiiiiiiihiiihiihiiiiihiiiiiiiiiiihiiiihhiihiiiiihiiiiiiiiiiihiiiihhiiiihihiiiihiiiiiiiiihiiiiiiihiiiihhiihiiiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiihiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihiiiiihiihiiiiihiiiiihiiiiiiiiiiiiiihiiiiiiiiihiiihiiihiiiihhiihiiiiihiiiihiiihiiiiihiiiiihiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiihhhhhiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhhiiiihhhhihiiiiihhhiiiihhhhhiiiihhhhihiiiiiiiiiiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhhiiiihhhhhiiiiiiiiiiiiiiiihiiiiihiiihiiiihhhhhiiiiiihhhiiihiiiiihiiiiiiiiiiiihhhhihiihiiiiihiiiiiiiiiiiihhhhihiiiiihiiiiiihhhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiiiiiiiiiiihhhhhiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihhhiiiiiihhhiiiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhihiihiiiiihiihiiiiihiiihhhhhiiiiihiiiiiiiiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiihhhiiiihhhhhiiiihhhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiihiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiihhiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiihihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiihhhhhiiiiiihiiiiiihhhhhiiihihhhhiiiihhhhhiiiihhhhhiiiihhhhihiiiiiiiiiiihhhhhhiiiiihhiiiiihhhihhiiiihhhhhiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiihiiiiihiiiiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiiiiiiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiihiiiihhiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihhiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiiiiihiiiiiiiiiiihiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiihhhhihiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihhhhhhhiiiiihiiiiiihhhhhhiihiiiiihiiihhhhhiiihhhhhhhiihiiiiihiiiiiiiiiiiiihiiiiiiiiihiiiiihiihiihiihhhhhhhiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiihhhhhiiihhhhhhhiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiihiihiiiiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiihiihiiiiiiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiihhiihhiiiihiihiiiiihiihiiiiiiiihiiiihhiiiiiiiiiiiiihiiihiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiihiiiiiiiiiihiiiiiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiihhhhhiiiihhhhhiiiihhhhihiihihhhhiiiihhhhhiiiihhhhhiiiihhhhihiiiiiiiiiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiihhhhhhhiiiihhhiiiiihhhhhiiiihhhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiihiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiiiiiiiiiiihhhhhiiihiiiihiiihhhhhhiiihihhhhiiihiiiihiiihhhhhhiiiiiiiiiiiihhhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiihiihhhiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiiihhhhihiiiihhiiiiihiiiihiiihhhihhiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhihiiihhhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihhhhhhiiiiiiiiihiihhiiiihiihiiiiihiiihhiiihiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihhiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihhiiiihiiihhiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiiiiiiihiiiiiiiiiiiihhhhiiiiiiiiiiiiiiihiiiiiihiiiiihiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiihiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhhhhhhiihhhhhiiiihiiiihiiihiiiihiiiiiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiiiiiihhhhhhiihiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiihhhhhhiihhhhhhhiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiihhhhhhiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihhhhhhhiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiiiiihiiiiihiihiiiiihiihiiiiiiiiihiiiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhiiiihiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiiiiiiiihiiiihhiihhiiiihiihiiiiiiiiihiiiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiihiihhiiiihiihiiiihiiiiihiiihiiiiiiiiiiiiihiiihiihiiiiihiiiiiiiiiiihhiiiihiiihiiiiiiihiiiihhiihiiiiiiiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiiiiiihiiiihhiiiiiiiiiiiihiiiiiiiiiihiiiiiiihiiihiihiiiiiiiiihiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiiihhhhihiihihhhhiiiihhhhhiiiihiiiiiiiiiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiihihhhhiiiihhhhihiiiiihhhiiiiiiiiiiiiiiihhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhihiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiiihiiiiiiihhhhihiiihhhhhiiiihhhhihiiiiiiiiiiihhhhhhhiiiihhhiiiiiiihhhiiiihhhhhiiihiiiiihiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiihhhiiiiihhhhiiiiiihhhhiiiiihhhhiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiihhhhiiiiiiihiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiihiiiiiiihiiiiiihiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiihiiihiiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiiihhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiihiiiiiiiiiiiiiiihiiiiihihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiiiihhiiiiihihhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiiiiihiiiihihhhhiiiihhhhhiiihhhihhiiiihhhhhiiiiiiihiiiihihhhhiiiihhhhhiiihihhhhiiihiiiiihiiihhhhhiiihihhhhiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihihhhhiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiihiiiiihhhhhiiihhhihhiiihhhhhhiiiiihiiiiiihhhihhiiiiiiihiiiiihhhhhiiihhhihhiiihiihhhiiiiiihiiiiihiiiiihiiiiiiiiiiihhhhhhiiiiihiiiiiihhhihhiiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihhiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiiiihiiiiihhiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihhiiiihiiiiiiiihiihhiiiihiihiiiiihiihiiiiihiihhiiiihiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiihhiiiihiiiiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiihiiiiihiiiiihiihiihiihiiiihiiiiiiiihiiiiiihiihiihiiiiihiiiiihiiiiihiihiihiihiiihhiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiiiihiiiiihiiiiihiihiiiiihiihiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiihiiiiihiihiihiihiihiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiihiiiiihiiiiiiiihiiihiiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiihiiiiihiiiiiiiihiihiihiiiihiiiiiihhhhhiiiihiihiihiiiiihiiiiihiiiiiiiihiihiihiiihiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiihhhhhiiiihiihiihiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiiihiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiihiiiiihiihiiiiihiihiihiihiihhhhhhhiiiihiiiiiihiiiiihiiihhhhhhiihiiiiihiihiihiihiihhhhhhhiihiiiiihiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiihiiiiihiiihhhhhhiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiihiiiiiihiiiiiiiihiihiihiiiihiiiiiiiihiiiiiihiihiihiiiihiiiiiihiiiiiiiihiihiihiiihiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiiihiihiihiihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiihiiiiiiihiiiiiiiihiihiihiiiihiiiiiiiihiiiiiihiihiihiiihiiiiiiihiiiiiiiihiihiihiiihiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiihiiiiiihiihiihiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiiiiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiihiiihiiiiiiihiiiiiihiiiiiiiihiiiiiiihiiiiiiihiiiiihiihiiiiihiihiihiihiihiiiiiiiiihiiiiiiihiiiiihiihiiiihhiihiiiiihiihihihihiihiiiiiiiihiiiiihiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiihiiiiiiihiiiiihiihiihiihiiiihiiihiiiihiiiiiihiihiihiiihiiiiiiihiiiiihiihiihiihiiihiiiiiiiiiihiiiiiihiiihiiiiiihiiiiiiihiiihiiiihiiiiiihiihiihiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihhhhhhhiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiihhhhiiiiihhhiiiiihhhhiiiiiihhhhiiiiihhhhiiihiiiiiiiihiiiiihiiihhhhhiiihiiiiihiiihhhhhiiihiiiiiiiihiiiiihiiihhhhihiihiiiiihiiihiiihiiiihhhhhiiihiiiiihiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiihiiiiihiiihhhhihiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiihiiiiiiiiihhhhhiiihiiiiihiiiiihhhiiiiihiiiiiihiiiiihiihiiiiiiiiihhhhhiiihiiiiihiiihiiiiiiiihhhhhiiiiihhhiiiiiihhhiiiiiiihhhiiiiihiiiiiihiiiiihiiihhhhiiiiihhhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiihiiiiihihhhhiiihhhhhhiiiihhhhhiiihiihhhiiihihhhhiiihiihhhiiiihhhhhiiihhhhhhiiiiihhiiiiihihhhhiiiihhhhihiiiiiiiiiiihhhihhiiihiiiihiiiihhhhhiiiiihhiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiihiiiiihhiiiihiiiihiiiiiihiiiiihiiihhiiihiihhiiiihiiihhiiihiihiiiiihiiiihiiiiiiiiihiiiiihhiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiiihiiihiiiihiihiiiiihiiihiiiihiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiihiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihhhhhhhiiihiiiiiiihiiiiihiiihiiiiiiihhhhhhhiiiihiiiiiiiiihiiiiihiiiiihiihiiiihiiiiiiiiiiiihiihiihiihiiiihiiiihhhhhiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiiiiihiiiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiihiiihhhhiiiiiiiiiiiiihiihiihiihiiiihiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiihiiiiihiiiiihiiiihiiihiihiiiiiiiiihiiiiiiihhiiiihiiihiiiiiiihiiiiiiiiiihiiihiiiiihiiiiihiiiiihiihiiiiiiiiiiiiiiiiihiihiihiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiihhhhhiiihiiiiihiiiiihhhiiiihhhhhiiiihiiiiiiihihhhhiiiihiiiiiiiihhhhhiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiiiiiiiiihiiiiihiiihhhhihiiihhhhhiiiihhhhhiiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiihiiiiihiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihhhhhhiiiiihhiiiiihhhihhiiiihhhhhiiiiiihiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiihiihiiiiihiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihihhhhiiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiihhhiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiihiiihiiiihhiiiiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihhiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiihiiiiihiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiihiiiiihhhhihiiiiiiiiiiihiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihhhhhhhiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiihhiiiiiiiiiiihiiiiiiiiiiiihhhhhiiihhhhhhhiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiihiiiiiiiiihiiiiihiihiihiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiihiiiiiiiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiihiiihiiiiihiiiiihiihiihiihiiiiiiiiiiihiiiiiiiiiiiiiiihiiihiiiiiihiiiiihiiiiiiiiiiiiihiiiiiiiiiiiihiiiiihiihiiiiiiiihiiiiihiihiiiiihiihiiiiihiihiiiihhiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiihhhiiiihhhhhiiihiiiiihiiihhhhhiiiiihhhiiiiiiiiiiiiiiihhhiiiiiihhhiiiihhhhhhhiiihhhhiiiiiiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiiihhhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihhiiihhiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihihihihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiiihhhhhiiihiiiihiiihhhhhhiiihihhhhiiihiiiihiiihhhhhhiiiiiiiiiiiihhhhhhiiiihhhhhiiiiiiiiiiiihihhhhiiihiihhhiiiihhhhhiiiihhhhhiiiiiihiiiiihiiiihiiiihhhhihiiiihhiiiiihiiiihiiihhhihhiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhihiiihhhhhiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhihhiiiiihhiiiiiihhhhihiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihihihihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihhiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihhiiiihiiihhiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiiiiiiihiiiiiiiiiiiihhhhiiiiiiiiiiiiihiihiihiiiiihiiiiihiiiihhiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiihiihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiihiiiiiiiihiihiiiiihiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiihhhhhhhiihhhhhiiiihiiiihiiihiiiihiiiiiiiiihiihhhhhhhiiihiiiiiiiiiiiiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihiihiihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiiihhhhhhiihhhhhhhiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiihiiiihhhhhhiiiiiiiiiiiihiiiiiiiiiiiiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiihiiiiihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiiiiihiiiiihiihiiiihiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiihiiiiihiiihiiiiiiihiiiiihiihiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhiiiihiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiihiihiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiihiiiiihiiiiihiiiiiihiiiihiiiiihiiiiiiiiiiiiiihiiiiihiihiiiihiiiiihiiihiihhiiiihiihiiiihiiiiihiiihiiiiiiiiiiiiihiiihiihiiiiihiiiiiiiiiiihhiiiihiiihiiiiiiihiiiihhiihiiiiiiiiiiihiiiiihiiiihiiihiiiihhiiiiihiiiiihiiiihiiihiihiihiiiiiiiiiiiiihiiiiiihiiiihiiihiiiiiiiihiiiihhiiiiiiiiiiiihiiiiiiiiiihiiiiihiihiihiiiiihiiiiihiiiihhiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiihiiiiihiiihhhhhiiihhhhhhiiiihhhhhiiiiiiiiiiiiihhhhhiiiihhhhihiiiiihhhiiihihhhhiiiihhhhihiiiiihhhiiiiiiiiiiiiiiihhhiiiihhhhhiiiiiiiiiiiihihhhhiiiihiiiiiiiihhhhihiiihhhhhiiiihhhhhiiiihhhhihiiihhhhihiiihhhhhiiiihhhhihiihiiiiihiiiiiiiiiiiiihiiiiiiihhhhihiiihhhhhiiiihhhhihiiiiiiiiiiihhhhhhhiiiihhhiiiihiiiiihiiihhhhhiiiihhhhihiiihhhhhiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiihhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiihhhiiiiihhhhiiiiiihhhhiiiiiihiiiiiihhhhiiiiiihhhhiiiihhhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiihiiiiiiihiiiiiihiiiiiiiihhiiiiiiiiihiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiihihiiiiiiiiihiiiiiihiiiiiihiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiihiiiiihiihhhiiiihhhhhiiiihhhhhiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgdgggdgggdgggdgggd#aa", +"aaiiiiiiiihiiiiiihhiiihiiiiiiiihiihiiiiihiihiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggfgggfgggfgggfggd#aa", +"aaiiiiiiiihiiiiiihiiiihiiiiiiiihiihiiiiiiiihihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggdgggdgggdgggggd#aa", +"aaiiiiiiiihiiiiiihiiiiiiiihhhhhhiihiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiiiihhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfggggfgggfgggfggggd#aa", +"aaiiiiiiiihiiiiiihiiiiiiihiiiiihiihiiiiiiiihihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiiiiihiiiiiihiiiiiiihiiiihhiihiiiiihiihiiihhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiihiiihiiiiiiihiiiiiihiiiiiiiiihiiiiiiiiihiiiiiihiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiiiiihiiiiiihiiiiiiiihhhhihiiihhhhhiiihiiiiihiiiiiiiiiiiiihhhiiiiiihhhiiiiiihhhiiiiiiiiiiiiiiihhhhiiiiihhhiiiiihhhhiiiiiihhhhiiiihhhhhiiiihhhhiiiiiihhhhiiihhhhhhhiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadfgggggggggggggggggd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaadddddddddddddddddddd#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaagggggggggggggggggggg#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaeeeeeeeeeeeeeeeeeeee#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae##################e#aa", +"aaiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhhiiiiihhhhiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiihiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihhiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihihiiiiiiiiiiiiiiihihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiihhhhhiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiihiiiiiiihhiiiiihihhhhiiihiiiihiiiihhhhhiiihhhhhhiiiiihhiiiiiihhhhhiiiiiihiiiiiiiiiiiiiiiiiihiiiihiiiihiiiihhhhhiiihiihhhiiiiiiihiiiiihhhhhiiihiihhhiiiihhhhhiiiiiiihiiiiiiihiiiiiiihhiiiiiiiihiiiiihiiiihiiihihhhhiiiihhhhhiiihihhhhiiiihhhhihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiihiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaa...........aaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihhiiiihiihiiiihiiihiiiiihiiiihiiiiiiiiihiiiiihiiiiihiiiihhhiiiiiiiiiiiiiiiihiiiiihiiiihiiihiiiiihiiihhiiihiiiiihiiiiihiiiiihiiihhiiihiihiiiiihiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihhiiiihiihiiiiihiihhiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihihhhhiiihihhhhiiihiihiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaa.........aaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiihiiiihiiihiiiiiiiiihiiiihiiiiihiiiiihiiiiiiiiihiiiihiihiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiihhhhhhhiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihhiiiihiihhiiiihiiihhhhhiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaa.......aaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiihiiiihhhhhiiiihiiiiiiiiihiiiiiiihhhhhiiiihiiiiiiihiiiiiiiiiihiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiihiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaa.....aaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiihiiiiiiiiihiiihiiiiiiiihiiiiiiiiiiiiihiiihiiiiiiihiiiiiiiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiihiiihiiiiihiihiiiiihiihiiiiihiihiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiihiiiiihiiiiihiihiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaa...aaaaaaae#aa", +"aaiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiihiiihiiiiihiiiihiiihiiiiihiiiiihiiiiihiiiiihiiiiiiiiiiiiiiihiiiiiiihiiiihiiihiiiiihiiihiiiiiiiihiiiiiiihiiiiihiiihiiiiiiihiiiiihiiihiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiihhiiihhiiiihiihiiiiihiihiiiiihiihiiiihhiiiiiiiiiiiiiihiiiiiiiihiiiiiiiihiiiiiiiihiiiiihiiiiihiihiiiiihiiihhhhhiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaa.aaaaaaaae#aa", +"aaiiiiiihhhhhiiiihhhhhiiihiiiiihiiihhhhihiiihhhhhiiiiiihhhiiiihhhhhiiiihhhhhiiiiihhhiiiiiiiiiiiiihiiiiiiiiihhhhihiiihhhhhiiiihiiiiiiihiiiiiiiiihhhhhiiiihiiiiiiiihhhhhiiihiiiiiiiiihhhhhiiiihhhhhiiiihhhhhiiiihhhihiiihihhhhiiiihhhhhiiihiiiiihiiihhhhihiiiiiiiiiiiihhhhhiiiiihhhiiiiihhhhhiiiiihhhiiiiihhhhhiiiihhhhhiiiiiihiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaae#aaaaaaaaaaaaaaaaae#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaeeeeeeeeeeeeeeeeeeee#aa", +"aaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaa#####################aa", +"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", +"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" }; diff --git a/Documentation/relative-octaves.yo b/Documentation/relative-octaves.yo deleted file mode 100644 index 41a97dd997..0000000000 --- a/Documentation/relative-octaves.yo +++ /dev/null @@ -1,95 +0,0 @@ -nsect(NAME) - -Octaves -- how to do pitches - -nsect(DESCRIPTION) - -The LilyPond input language, Mudela (help, silly name), should be easy -to read and write. In my experience Mudela is already quite convenient -for entering music. Every time I've entered a substantial piece of music, -however, I found that I made quite a few mistakes. The MIDI output helps -a lot with locating and correcting the errors. There's one type of error -that seems to be frequent, stubborn and hard to catch, and that's the -octavation error. The relative octave feature is an attempt to make -Mudela a bit easier to write. In addition, this feature makes it harder -to make octavation mistakes, yet if you made one, its a lot simpler to find -and correct. - -Here's how it works. - -itemize( -it()forget the old "\octave c';" command -it()forget the old octave boundaries with octaves c .. c' -) - -You can enter a piece of music in relative mode, by typing - -verb( - \melodic \relative c { ... } -) - -From then on, the pitch of a note will be the closest to the last one, -assuming that large intervals are a lot more rare than small ones. -Thus, you can enter a scale without using octavation quotes: - -verb( - c d e f g a b c -) - -the last c being an octave higher than the first. If you have to -enter an interval that is greater than a fifth, you must specify -whether the pitch goes up, using post-quotes: - -verb( - c c' % octave up - c g' % fifth up -) - -or down, using pre-quotes: - -verb( - c c, % octave down - c f, % fifth down -) - -nsect(CONVERTING) - -COMMENT(Old? don't understand -- jcn -To convert a piece of music from the old absolute-octave notation to -) -To convert a piece of music from absolute-octave notation to -relative octaves, lilypond provides the bf(-Q, --find-old-relative) -COMMENT( -urg, name was changed to 'old-relative'? It simply helps convert -from absolute to relative, ie handy for mi2mu output? -) -feature to locate all big intervals in your music. - -First, edit the .ly file, add "\relative c" to all melodic chunks: - -verb( - foo = \melodic \relative c { ... } -) - -and remove all "\octave " commands. See the example file -file(input/test/find-fifths.ly). - -Use lily to find the fifths: - -verb( - lilypond -Q find-fifths.ly 2>&1 | tee fifths - ... - find-fifths.ly:3:18: warning: Interval greater than fourth, relative: g': - c d c f c g - c b, c g, c f, c c'' c - - find-fifths.ly:3:20: warning: Interval greater than fourth, relative: c,: - c d c f c g c - b, c g, c f, c c'' c -) - -Then, load a copy of the original mudela file in your favourite editor, -and let it parse the 'error file' file(intervals). First you remove all -octavation quotes. Then, jumping from warning to warning, you enter quotes -as suggested by LilyPond. - diff --git a/Documentation/tex/lilypond-regtest.doc b/Documentation/tex/lilypond-regtest.doc index 5859571740..3154acf42b 100644 --- a/Documentation/tex/lilypond-regtest.doc +++ b/Documentation/tex/lilypond-regtest.doc @@ -27,9 +27,10 @@ you must create a special context called Thread. Noteheads can have dots, and ---although this is bad style in duple meters--- rests can too. Augmentation dots should never be printed on -a staff line, but rather be shifted: down stem notes shift dots down, -up stem up. In case of chords, all dots should be in a column. The -dots go along as rests are shifted to avoid collisions. +a staff line, but rather be shifted vertically. They should go up, but +in case of multiple parts, the down stems have down shifted dots. +(Wanske p. 186) In case of chords, all dots should be in a column. +The dots go along as rests are shifted to avoid collisions. \mudelafile{dots.fly} @@ -71,6 +72,13 @@ Similarly, if \verb+stem_default_neutral_direction+ is set to \verb+-1+. \mudelafile{stem-direction-down.ly} +\section{Scripts} + +The staccato dot (and all scripts with follow-into-staff set), must +not be on staff lines. + +\mudelafile{staccato-pos.sly} + \section{Grace notes} Grace notes are typeset as an encapsulated piece of music. You can @@ -93,11 +101,6 @@ hidden just as with breakable bar lines. \mudelafile{beaming.ly} -%Beams should not interfere with various items on the staff (amongst -%others repeat signs) -% -% \mud elafile{beam-repeat.ly} - Beams should behave reasonably well, even under extreme circumstances. Stems may be short, but noteheads should never touch the beam. @@ -184,19 +187,13 @@ inside the staff, and by half spaces outside. Notice that the half and whole rests just outside the staff get ledger lines in different cases. -% \m udelafile{rest-collision.ly} +\mudelafile{rest-collision.ly} -Normal collisions. We have support for four voice polyphony, where the -middle voices are horizontally shifted in a limited number of cases. +Normal collisions. We have support for polyphony, where the +middle voices are horizontally shifted. \mudelafile{collisions.ly} -In some cases, collisions may be hairy to resolve, or the typesetter -may have special whishes. For those special cases, note shifts can be -set by hand. - -\mudelafile{note-shift.sly} - The number of stafflines of a staff can be set with the property numberOfStaffLines. Ledger lines both on note heads and rests are adjusted. Barlines also are adjusted. @@ -211,6 +208,12 @@ effects. In this example, space for opposite pointed stems is adjusted \mudelafile{stem-spacing.sly} +If there are accidentals in the music, we add space, but the space +between note and accidentals is less than between the notes with the +same value. Clef changes also get extra space, but not as much as +barlines. + + Even if a line is very tightly spaced, there will still be room between prefatory matter and the following notes. The space after the prefatory is very rigid. In contrast, the space before the barline diff --git a/Documentation/tex/reference-manual.yo b/Documentation/tex/reference-manual.yo index a82396c82f..9c07521e0e 100644 --- a/Documentation/tex/reference-manual.yo +++ b/Documentation/tex/reference-manual.yo @@ -5,6 +5,10 @@ redef(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(})) whenhtml(sc(ARG1))) +def(indexcode)(1)(cindex(ARG1@code(ARG1))) +def(indexandcode)(1)(code(ARG1)indexcode(ARG1)) +def(keyindex)(1)(cindex(ARG1@code(\ARG1))) + redef(code)(1)(tt(ARG1)) @@ -16,9 +20,7 @@ COMMENT( for rests.fly) TODO: - the explanation of how lyrics mode parses words seems ridiculous. - Is there a simple way to explain this, or is the behavior - too complicated for a reasonable explanation? + accordion symbols ) @@ -38,11 +40,13 @@ latexlayoutcmds( \setlength{\oddsidemargin}{0.25in} \setlength{\evensidemargin}{0.25in} \input mudela-book +\usepackage{makeidx} +\makeindex ) whentexinfo(notableofcontents()) -article(Mudela 1.0.21 / LilyPond 1.1.49 Reference Manual) +article(LilyPond 1.2.0 Reference Manual) (Adrian Mariano, Han-Wen Nienhuys and Jan Nieuwenhuizen) (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop()) @@ -98,248 +102,388 @@ verb(\paper { indent = \linewidth / 12.0 ; % another one. }) -Keywords are prefixed by a backslash. Words without backslashes are +Words without backslashes are strings, like ``linewidth'' in the above example. When you do an assigment, the left hand side is a string, the name name of the identifier you wish to assign to. When you refer to an identifier, you must put a backslash before the name, like in second item of the example. -sect(Music expressions) - -Music in mudela is entered as a music expression. Notes, rests, lyric -syllables are music expressions (the atomic expressions), and you can -combine music expressions to form new music expressions. This example -forms a compound expressions out of the quarter code(c) note and a -code(d) note:COMMENT( - -)verb(\sequential { c4 d4 })COMMENT( - -)The meaning of this compound expression is to play the code(c) first, -and then the code(d) (as opposed to playing them simultaneously, for -instance). - -We shall first review how to make atomic music expressions, and then -how to make compound expressions. - -subsect(Atomic music expressions) - -subsect(Composition music expressions) -subsect(Basic Mudela) +sect(Lexical devices)cindex(Lexical devices) +subsect(Comments)cindex(Comments) +cindex(%) -A Mudela file consists of keywords with arguments and identifier -assignments separated by spaces, tabs or newlines. Semicolons are -used by some keywords and are inconsistently required in other -circumstances. A one line comment is introduced by a code(%) +A one line comment is introduced by a indexandcode(%) character. Block comments are started by code(%{) and ended by code(%}). They cannot be nested. -Mudela supports several types: -description( +subsect(Keywords) +cindex(keyword) -dit(integer) -Formed from an optional minus sign followed by digits. Arithmetic -operations cannot be done with integers, and integers cannot be mixed -with reals. +Keywords start with a backslash, followed by a number of lower case +alphabetic characters. -dit(real) -Formed from an optional minus sign and a sequence of digits followed -by a emph(required) decimal point and an optional exponent such as -code(-1.2e3). Reals can be built up using the usual operations: -code(+), code(-), code(*), and code(/), with parentheses for grouping. -dit(string) -Begins and ends with the code(") character. To include a code(") -character in a string write code(\"). Various other backslash -sequences have special interpretations as in the C language. A string -that contains no spaces can be written without the quotes. See -Section ref(modes) for details on unquoted strings; their -interpretation varies depending on the situation. On the right side -of identifier assignments and within the code(\header) keyword, -strings can be concatenated using the code(+) character. - -dit(dimension) Consists of a real followed by one of the dimension -keywords: code(\mm), code(\pt), code(\in), or code(\cm). Dimensions -are converted immediately to a real which gives the dimension in -points, so they can be mixed with reals, but the result is no longer -of type dimension. - -dit(pitch) -A pitch is a string which is the name of a pitch. Example: code(a). -The pitch names can be redefined with the code(\notenames) keyword. -See Section(notelang) for pitch names in different languages. Pitches -can only be specified inside note mode which is specified with -code(\notes). Therefore, keywords which require pitch arguments must -appear inside code(\notes). - -dit(music) -Music is a compound type: arbitrarily complicated expressions with a -hierarchical structure can be formed from simple building blocks. The -simplest expression of type music is a single note. A note is formed -from a pitch and an optional duration and must be specified within -code(\notes). See Section ref(notedesc) for details. More -complicated expressions of type music are formed by surrounding a -sequence of expressions of type music with braces code({) and code(}) -or with angle brackets code(<) and code(>). Items appearing in braces -will be treated as serial. Items in angle brackets will be -simultaneous. So for example code({ c e g }) represents an arpeggio -and code(< c e g >) represents a chord. These items can be nested any -way you like. This simple example shows how three chords can be -expressed in two different ways: -mudela(fragment,verbatim,center)( -\notes{ - c - - <{a b c'}{c' d' e'}{e' f' g'}> -}) +subsect(Tokenizer commands) -) +The tokenizer accepts the following commands. They can appear +anywhere. +itemize( +dit(code(\maininput)) keyindex(maininput) Internal command. This +command is used for creating init files like file(init.fly) that read +the user file into the middle of another file. It is illegal to use +this command in a user file. + +dit(code(\include)) keyindex(include)var(file) Include the specified file. The +argument var(file) may be a quoted string, (An unquoted string will +not work here.) or a string identifier. The full filename including +the file(.ly) extension must be given, + +dit(code(\version) var(string)) +keyindex(version) +Specify the version of LilyPond that a +file was written for. The argument is the version number, for example +code("1.2.0"). This is used to detect invalid input, and to aid +code(convert-mudela), a tool that automatically upgrades input files. +) +subsect(Pitch Names in Other Languages)cindex(other languages) +label(notelang) -subsect(Identifiers) +Note name definitions have been provided in various languages. +Simply include the language specific init file. For example: +code(\include "english.ly"). The available language files and the names +they define are: -Identifiers allow names to be assigned to constants, music, or other -Mudela structures. To assign an identifier you use -var(name)=var(value) and to refer to an identifier, you preceed its -name with a backslash: code(\)var(name). It is legal to redefine an -identifier in terms of its old value: code(foo = \foo * 2.0). -Identifier assignments must appear at the top level in the Mudela -file. Note that semicolons are forbidden after assignments appearing -at the top level but they are obligatory after assignments appearing -elsewhere. (Semicolons are also forbidden after code(\property) assignments.) +verb( Note Names sharp flat +nederlands.ly c d e f g a bes b -is -es +english.ly c d e f g a bf b -s/-sharp -f/-flat +deutsch.ly c d e f g a b h -is -es +norsk.ly c d e f g a b h -iss/-is -ess/-es +svenska.ly c d e f g a b h -iss -ess +italiano.ly do re mi fa sol la sid si -d -b +catalan.ly do re mi fa sol la sid si -d/-s -b) -An identifier can be created with any string for its name, but you -will only be able to refer to identifiers whose names begin with a -letter and are entirely alphanumeric. It is also impossible to refer -to an identifier whose name is the same as the name of a keyword. The -following words are keywords: -verb(accepts duration midi relative textscript -alternative font mm remove time -bar musicalpitch repeat times -cadenza header name scm translator -chordmodifiers in notenames scmfile transpose -chords include notes score type -clef key paper script version -cm keysignature partial shape -consists lyrics penalty skip -consistsend maininput property spanrequest -context mark pt tempo) +The pitch names can be easily redefined using the +code(\notenames)keyindex(notenames) command, see Subsection ref(notenames). -The right hand side of an identifier assignment is parsed completely -when the assignment is made. It therefore must have any context -specified in the definition. For example, you must write -code(foo=\notes{a8 b c}) rather than code(foo={a8 b c}). Even though -the context is specified in the definition, you must refer to the -identifier inside the correct context: -verb(foo = \paper{ linewidth = 6.0\in; } -\score{ - \notes{ ... } - \paper{ \foo } -}) -If code(\foo) is used here without the surrounding code(\paper) then -an error will result. Note however that the following is acceptable -verb(foo = \notes { ... } -\score{ \foo }) -It is not necessary to specify code(\notes). - -Identifiers can be set equal to integers, reals, strings, music, -durations (specified with code(\duration)), note ornaments (specified -with code(\script), dynamics commands, or code(:)), note name tables -(specified with code(\notenames)), translator definitions, the -code(\paper) block, the code(\midi) block or the code(\score) block. -When identifiers are used for translators, the code(\paper), -code(\midi), and code(\score) blocks, they may only be referred to as -the first item in a block. So code(\paper{\one \two}) is illegal -because the identifier code(\two) is not the first thing in the block. -Unlike other identifier definitions, translator identifier definitions -can only appear within code(\midi) or code(\paper) blocks. See -Section ref(translators) for more information. - - - -subsect(Modes) +subsect(Lexical modes)cindex(Lexical modes)cindex(modes) label(modes) To simplify different aspects of music definition (entering the notes -and manipulating them) Mudela has three different input modes which -affect how unquoted strings are interpreted. -In each mode, words are identified on the input. If code("word") is -encountered, it is treated as a string. If code(\word) is -encountered it is treated as a keyword or as an identifier. The -behavior of the modes differs in two ways: different modes treat -unquoted words different, and different modes have different rules for -deciding what is a word. +and manipulating them) Mudela has four different input modes which +affect how unquoted strings are interpreted. In each mode, words are +identified on the input. If code("word") is encountered, it is +treated as a string. If code(\word) is encountered it is treated as a +keyword or as an identifier. The behavior of the modes differs in two +ways: different modes treat unquoted words differently, and different +modes have different rules for deciding what is a word. description( - -dit(Normal mode) +dit(Normal mode)cindex(mode!normal) At the start of parsing, Mudela is in normal mode. In normal mode, a word is an alphabetic character followed by alphanumeric characters. If code(word) is encountered on the input it is treated as a string. -dit(Note mode) Note mode is introduced by the keyword -code(\notes). In Note mode, words can only contain alphabetic +dit(Note mode) cindex(mode!note) Note mode is introduced by the keyword +code(\notes)keyindex(notes). In Note mode, words can only contain alphabetic characters. If code(word) is encountered, LilyPond first checks for a notename of code(word). If no notename is found, then code(word) is -treated as a string. If you mistype a notename, the parser will most -likely complain that you should be in code(\lyrics) mode to do lyrics. +treated as a string. + +Since combinations of numbers and dots are used for indicating +durations, you can not enter real numbers in this mode. -Since the dot has special meaning in Note mode, it is not possible -to enter real numbers in this mode. +dit(Chord mode)cindex(mode!chord) Chord mode is introduced by the keyword +code(\chords)keyindex(chords). Similar to note mode, but words are also looked +up in a chord modifier table (containg code(maj), code(dim) etc.) -dit(Chord mode) Chord mode is introduced by the keyword code(\chords). -Very similar to Note mode. -COMMENT(I'm not sure how it differs) +Since combinations of numbers and dots are used for indicating +durations, you can not enter real numbers in this mode. Dashes and +carets are used to indicate chord additions and substractions, so +scripts can not be entered in chord mode. -dit(Lyric mode) Lyrics mode is introduced by the keyword -code(\lyrics). This mode is has rules that make it easy to include +dit(Lyric mode) cindex(mode!lyric) Lyrics mode is introduced by the keyword +code(\lyrics)keyindex(lyrics). This mode is has rules that make it easy to include punctuation and diacritical marks in words. A word in Lyrics mode -begins with: an alphabetic character, code(_), -code(?), code(!), code(:), code('), -the control characters code(^A) through code(^F), code(^Q) through -code(^W), code(^Y), code(^^), any 8-bit character with ASCII code over -127, or a two character combination of a backslash followed by one -of code(`), code('), code(") or code(^). +begins with: an alphabetic character, code(_), code(?), code(!), +code(:), code('), the control characters code(^A) through code(^F), +code(^Q) through code(^W), code(^Y), code(^^), any 8-bit character +with ASCII code over 127, or a two character combination of a +backslash followed by one of code(`), code('), code(") or +code(^).footnote(The purpose of lyrics mode is that you can enter lyrics in +TeX() format or a standard encoding without needing quotes. The +precise definition of this mode indeed is ludicrous. This will remain +so until the authors of LilyPond acquire a deeper understanding of +character encoding, or someone else steps up to fix this.) + Subsequent characters of a word can be any character that is not a digit and not white space. One important consequence of this is that a word can end with code(}), which may be confusing if you thought the -code(}) was going to terminate lyrics mode. Any code(_) characters +code(}) was going to terminate lyrics mode.footnote(LilyPond will +issue a warning, though). Any code(_) characters which appear in an unquoted word are converted to spaces, providing a mechanism for introducing spaces into words without using quotes. Quoted words can also be used in lyrics mode to specify words that cannot be specified with the above rules. Here are some examples. -Not all of these words are printable by TeX(). -verb(a&@&@&TSI|{[ % a word -\'afoo} % a word -1THtrhortho % not a word because it starts with a digit +Not all of these words are printable by TeX(). +COMMENT( + +)verb(Ah! % a word +\^etre % a word +2B_||_!2B % not a word because it starts with a digit ``Hello'' % not a word because it starts with ` -Leise DOEXPAND(Fl\)DOEXPAND("u\)ss{}teren meine Sapfe % 4 words _ _ _ _ % 4 words, each one a space -)) +) + + +Since combinations of numbers and dots are used for indicating +durations, you can not enter real numbers in this mode. + +) + +It is possible to create words that break the rules by prefixing them +with the dollar sign indexandcode($). Regardless of the context, a word +beginning with code($) extends until the next white space character. +Such words can contain numbers (even in Note mode), or other forbidden +characters. The dollar sign can be used to create and access +identifiers that could not otherwise be used.footnote(Use of $ hampers +readability and portability to future LilyPond versions. Use of $ is +discouraged.) + + + + +subsect(Types)cindex(Types) + +Mudela has a limited set of types: +itemize( +it() integers, +it() reals, +it() strings, +it() music expressions, +it() durations, +it() note name tables +it() context definitions, +it() output definitions (code(\paper)keyindex(paper) blocks and code(\midi)keyindex(midi) blocks) +it() score definitions +) + + +Type is a syntactical property: Mudela has no real type system, so +there is no support for generic expressions, functions or user defined +types. For the same reason, it is not possible to mix reals and +integers in arithmetic expressions, and ``type errors'' cindex(type error) (eg. using a +string identifier to initialize a code(\paper)keyindex(paper) block) +will yield ``parse error''. + +subsubsect(Integers)cindex(Integers) + +Formed from an optional minus sign followed by digits. Arithmetic +operations cannot be done with integers, and integers cannot be mixed +with reals. + +subsubsect(Reals)cindex(Reals) +Formed from an optional minus sign and a sequence of digits followed +by a em(required) decimal point and an optional exponent such as +code(-1.2e3). Reals can be built up using the usual operations: +indexandcode(+), indexandcode(-), indexandcode(*), and indexandcode(/), with parentheses for grouping. + +A real constant can be followed by one of the dimension keywords: +cindex(dimension) code(\mm)keyindex(mm), code(\pt)keyindex(pt), +code(\in)keyindex(in), or code(\cm)keyindex(cm), for millimeters, +points, inches and centimeters. This converts the number a real that +is the internal representation of dimensions. + +subsubsect(String)cindex(String) + +Begins and ends with the code(") character. To include a code(") +character in a string write code(\"). Various other backslash +sequences have special interpretations as in the C language. A string +that contains no spaces can be written without the quotes. See +Section ref(modes) for details on unquoted strings; their +interpretation varies depending on the situation. Strings can be +concatenated with the code(+) operator. + + + +subsubsect(Pitch and duration)cindex(pitch)cindex(duration) + +The syntax for pitch specification is +code(\musicalpitch)keyindex(musicalpitch) code({) var(octave) +var(note) var(shift) code(}) The octave is specified by an integer, +zero for the octave containing middle C. The note is a number from 0 +to 7, with 0 corresponding to C and 7 corresponding to B. The shift +is zero for a natural, negative to add flats, or positive to add +sharps. + +In note and chord mode, pitches may be designated by names. +See Section ref(notelang) for pitch names in different languages. + + +The syntax for duration specification is +code(\duration)keyindex(duration) code({) var(length) var(dotcount) +code(}) var(length) is the negative logarithm (base 2) of duration: 1 +is a half note, 2 is a quarter note, 3 is an eighth note, etc. The +number of dots after the note is given by var(dotcount). + + + +subsubsect(Music expressions)cindex(Music expressions) + +Music in mudela is entered as a music expression. Notes, rests, lyric +syllables are music expressions (the atomic expressions), +cindex(atomic music expressions) and you can +combine music expressions to form new music expressions. This example +forms a compound expressions out of the quarter code(c) note and a +code(d) note:COMMENT( + +)verb(\sequential { c4 d4 })COMMENT( + +)The meaning of this compound expression is to play the code(c) first, +and then the code(d) (as opposed to playing them simultaneously, for +instance). + +Atomic music expression are discussed in +bind(Subsection)ref(atomicmusic). Compound music expressions are +discussed in bind(Subsection)ref(compoundmusic). + +subsubsect(Score definitions)cindex(score definitions) +These couples music expressions to output definitions. + + +subsubsect(Output definitions)cindex(output definitions) +These define how to output music expressions. + +subsubsect(Context definitions)cindex(context definitions) +Part of output definitions. See Section ref(context) for more +information. -It is possible to create words that break the rules by prefixing them with the -dollar sign code($). Regardless of the context, a word beginning with code($) -extends until the next white space character. Such words can contain numbers -(even in Note mode), or other forbidden characters. The dollar sign can be -used to create and access identifiers that could not otherwise be used. -These modes are of a lexical nature. Normal and Note mode largely -resemble each other, save the possibility of entering Reals, -the meaning of code(_) and the resolution of words. +subsubsect(Durations)cindex(durations) +Durations of notes and rests. -What's this about reals? When can you enter them or not enter them?) +subsubsect(Notename tables)cindex(notename tables) -sect(Note Description) -label(notedesc) +Tables with sets of pitch names (in different languages) + + +sect(Top level)cindex(top level) + +This section describes what you may enter at top level. + +subsect(Score definitions)cindex(score definition) + +The output is generated combining a music expression with an output +definition. A score block has the following syntax code(\score {) +var(musicexpr) var(outputdefs) code(}). var(outputdefs) are zero or +more output definitons. If no output definiton is supplied, the +default code(\paper) block will be added. + +subsect(Information header)cindex(header)keyindex(header)0 + +code(\header) code({) var(key1) = var(val1); var(key2) = var(val2); ... code(})) + +A header describing the file's contents can appear at top level. If a +file has multiple code(\score) blocks, then a header can appear in +each score block describing its contents. Tools like +indexandcode(ly2dvi) can use this information for generating titles. +Key values that are used by ly2dvi are: title, subtitle, composer, +opus, poet, instrument, metre, arranger, piece and tagline. + +It is custom to put the code(\header) at the top of the file. + +subsect(Setting notenames and chordnames) +label(notenames) + +Note name tables can be specified using code(\notenames)keyindex(notenames) code({) +var(assignmentlist) code(}). var(assignmentlist) is a list of definitions of +the form var(name) = var(pitch). + +Chord modifiers can be set analogously, with +code(\chordmodifiers)keyindex(chordmodifiers). + + + +subsect(Output definitions) + +A code(\paper) block at top level sets the default paper block. A +code(\midi) block at top level works similarly. + + +subsect(GUILE and Scheme) + +code(\scm)keyindex(scm) var(scheme)code(;) evaluates the specified Scheme +code. The result is discarded. keyindex(scm) + +code(\scmfile)keyindex(scmfile) var(filename)code(;) reads Scheme code from the +specified file. The result is discarded. keyindex(scmfile) + +subsect(Identifiers) + +Identifier assignments may appear at top level. + + +sect(Identifiers)cindex(Identifiers) + +Identifiers allow names to be assigned to constants, music, or other +Mudela structures. To assign an identifier you use +var(name)=var(value) and to refer to an identifier, you preceed its +name with a backslash: code(\)var(name). +Identifier assignments must appear at the top level in the Mudela +file. Semicolons are forbidden after assignments appearing +at the top level but they are obligatory after assignments appearing +elsewhere. + + + +An identifier can be created with any string for its name, but you +will only be able to refer to identifiers whose names begin with a +letter and are entirely alphanumeric. It is impossible to refer to an +identifier whose name is the same as the name of a keyword. + +The right hand side of an identifier assignment is parsed completely +before the assignment is done, so it is legal to redefine an +identifier in terms of its old value: code(foo = \foo * 2.0). + +Identifiers can be set equal to +itemize( +it() integers, +it() reals, +it() strings, +it() music, +it() durations (specified with code(\duration)keyindex(duration)), +it() articulations and spanner marks. +it() note name tables (specified with code(\notenames)keyindex(notenames)), +it() translator definitions, +it() output definitions (code(\paper)keyindex(paper) blocks and code(\midi)keyindex(midi) blocks) +it() score definitions (code(\score)keyindex(score) blocks) +) + +When an identifier is referenced, the information that it points to is +copied. Therefore it only makes sense to put identifiers for +translators, output definitions and code(\score)keyindex(score) blocks as the first +item in a block. For this reason, if you reference to a code(\foo) +variable in a code(\foo) block, it must be the first item in the list +following code(\foo).footnote(code(\paper{\one \two}) does not make +sense, because the information of code(\two) would overwrite the +information of code(\one), thereby making the reference to the first +identifier useless.) + + +sect(Atomic music expressions) +label(atomicmusic) + +subsect(Basic Note Specification)cindex(Basic Note Specification) +label(notedesc)cindex(pitches)cindex(entering notes) -subsect(Basic Note Specification) A note specification has the form var(pitch)[var(octavespec)][code(!)][code(?)][var(duration)]. @@ -349,19 +493,16 @@ LilyPond has predefined note names for various languages. The default names are the Dutch note names. The notes are specified by the letters code(c) through code(b), where code(c) is an octave below middle C and the letters span the ocatave above that C. -In Dutch, a sharp is formed by adding +In Dutch,cindex(notenames!Dutch) a sharp is formed by adding code(-is) to the end of a pitch name. A flat is formed by adding code(-es). Double sharps and double flats are obtained by adding code(-isis) or code(-eses). Lily has predefined sets of notenames for various nop(languages). See Section ref(notelang) for details. -Rests are specified with the note name code(r) or code(R). -There is also a note name code(s) which produces a nonprinting note of the -specified duration. The optional octave specification takes the form of a series of single quote -code(') characters or a series of comma code(,) characters. Each +indexandcode(') characters or a series of comma indexandcode(,) characters. Each code(') raises the pitch by one octave; each code(,) lowers the pitch by an octave. @@ -388,16 +529,16 @@ ceses' eses' geses' ases' beses' Whenever a C-sharp is desired, you must specify a C-sharp. LilyPond will determine what accidentals to typeset depending on the key and context. -A reminder accidental can be forced by +A reminder accidental cindex(reminder accidental) can be forced by using the optional exclamation mark `code(!)' on the pitch. -A cautionary accidental, i.e., an accidental within paranthesis -can be obtained using the optional question mark `code(?)' on the pitch. +A cautionary accidental, cindex(cautionary accidental) i.e., an accidental within parentheses +can be obtained using the optional question mark `indexandcode(?)' on the pitch. mudela(fragment,verbatim,center)( cis' d' e' cis' c'? d' e' c'! ) - +cindex(duration) Durations are entered as their reciprocal values mudela(fragment,verbatim,center)( a'1 a'2 a'4 a a'8 a a'16 a'32 a'64 @@ -409,155 +550,277 @@ r1 r2 r4 r8 r16 r32 If the duration is omitted then it is set equal to the previous duration. If there is no previous duration, then a quarter note is assumed. -The duration can be followed by a dot code(.) to obtain dotted note +The duration can be followed by a dot indexandcode(.) to obtain dotted note lengths. mudela(fragment,verbatim,center)( a'4. b'4. ) -Extra long notes can be obtained using the code(\breve) and -code(longa) durations: +Extra long notes can be obtained using the code(\breve)keyindex(breve) and +indexandcode(longa) durations: mudela(fragment,verbatim,center)( c'\breve gis'\longa ) You can alter the length of duration by writing code(*)var(fraction) after a -it. This shorthand is convenient for long rests. The shape of notes -and normal restse will be unchanged. When used in this whole-measure -rest code(R) will fill measures with rest symbols. +it. + + +subsubsect(Rests) + +Rests are entered like notes, with note name indexandcode(r) or +indexandcode(R). There is also a note name indexandcode(s) which produces a +nonprinting note of the specified duration. + +The shape of notes and normal rests will be unchanged. When used in +this whole-measure rest code(R) will fill measures with rest symbols. COMMENT( )mudela(fragment,verbatim,center)( r1 r1*3 R1*3 ) -If you set the code(Score.skipBars) property, then only one measure will be -printed; with code(R), a number indicating the length of the rest will be +If you set the cindex(skipBars)code(Score.skipBars) property, then only one measure will be +printed; with indexandcode(R), a number indicating the length of the rest will be displayed. mudela(fragment,verbatim,center)( \property Score.skipBars=1 r1 r1*3 R1*3 ) +subsubsect(Lyrics)cindex(Lyric expressions) -In order to get triplets and other tuplets, you must use the -code(\times) keyword which multiplies the duration by a fraction. The -syntax is code(\times) var(fraction) var(music). The length of all of -the specified music will be multiplied by the fraction and the -fraction's denominator will be printed over the notes. The most -common tuplet is the triplet in which 3 notes have the length of 2, so -the notes are 2/3 their written length: -mudela(fragment,verbatim,center)( b'4 \times 2/3 {c'4 c' c'} d'4 d'4 ) -If you try to use code(\times) as the first thing in your music, you -may encounter the warning ``No one to print a tuplet start bracket''. -This happens because the Tuplet-engraver is in Voice and no Voice has -been created yet. You must explicitly specify the Voice context in -this situation -mudela(fragment,verbatim,center)( -\context Voice { \times 2/3 {c'4 d' e'} - % [..] -} -) +Lyrics are entered like notes, with pitches replaced +by text. For example code(Twin-4 kle4 twin-4 kle4) enters four +syllables, each with quarter note duration. Note that the hyphen has +no special meaning for lyrics, and does not introduce special symbols. +See Section ref(modes) for a description of what is interpreted as a lyric. +Spaces can be introduced into a lyric either by using quotes (code(")) +or by using an underscore without quotes: code(He_could4 not4). All +unquoted underscores are converted to spaces. Printing lyrics is +discussed in Section ref(lyricprint). -subsect(Automatic Beam Generation) -label(autobeam) +subsect(Properties)cindex(Properties) -By default, Lilypond will generate beams automatically. This feature can be -disabled by setting the code(Voice.beamAuto) property to 0. It can be -overridden for specific cases by specifying explicit beams as -described in Section ref(manualbeam). +code(\property)keyindex(property) var(contextname)code(.)var(propname) code(=) var(value) +Sets the var(propname) property of the context var(contextname) to the +specified var(value). All three arguments are strings. Depending on +the context it may be necessary to quote the strings or to leave space +on both sides of the dot. -In order to decide how to generate beams, Lilypond uses a large number -of Voice properties, whose default values appear in -file(auto-beam-settings.ly). In general, beams can begin anywhere, -but their ending location is significant. Beams can end on a beat, or -at durations specified by the code(Voice.beamAutoEnd) property. To -end beams every quarter note, for example, you could use set -code(Voice.beamAutoEnd) equal to code("1/4"). To end beams every -three eighth notes you would set it to code("3/8"). The same syntax -can be used to specify beam starting points using code(Voice.beamAutoBegin). +subsect(Translator switches)cindex(Translator switches) -To allow different settings for different time signatures, these -property names can start with code(time)var(N)code(_)var(M) to -restrict the definition to var(N)code(/)code(M) time. So for example, -to specify beams ending only for 6/8 time you would use the property -code(Voice.time6_8beamAutoEnd). To allow different endings for notes -of different durations, the duration can be tacked onto the end of the -property. To specify beam endings for beams that contain 32nd notes, -you would use code(Voice.beamAutoEnd_32). +code(\translator)keyindex(translator) var(contexttype) = var(name) +A music expression that the context which is a direct child of the +a context of type var(contexttype) should be shifted to a context of +type var(contexttype) and the specified name. -subsect(Note Spanners: Beams, Slurs and Ties) -label(manualbeam) +subsect(Commands)cindex(Commands) -A beam is specified by surrounding the beamed notes with brackets -code([) and code(]). -mudela(fragment,verbatim,center)( -[a'8 a'] [a'16 a' a' a'] -) -Some more elaborate constructions: -mudela(fragment,verbatim,center)( -[a'16 c'' ] -\times 2/3 { [e'8 f' g'] } -) +Commands are music expressions that have no duration. They fall in +two categories. -Another type of spanner is the slur. Slurs connects chords and try to -avoid crossing stems. A slur is started with code(CHAR(40)) and stopped with -code(CHAR(41)). The starting code(CHAR(40)) appears to the right of the first note -in the slur. The terminal code(CHAR(41)) apppears to the left of the first -note in the slur. This makes it possible to put a note in slurs from -both sides: -mudela(fragment,verbatim,center)( -f'()g'()a' [a'8 b'(] a'4 g' )f' -) +subsubsect(Key signatures) -A tie connects two adjacent note heads of the same pitch. -When used with chords, it -connects all of the note heads whose pitches match. -Ties are indicated using the tilde symbol -code(~) by analogy with TeX()'s tie which connects words. -Note that if you try to tie together chords which have no common -pitches, then a warning message will appear and no tie will be created. +code(\key)keyindex(key) var(pitch) var(type) code(;) Change the key +signature. var(type) should be code(\major)keyindex(major) or code(\minor)keyindex(minor) +to get var(pitch)-major or var(pitch)-minor, respectively. The second +argument is optional, the default is major keys. The var(\context) +argument can also be given as an integer, which tells the number of +semitones that should be added to the pitch given in the subsequent +code(\key)keyindex(key) commands to get the corresponding major key, +e.g. code(\minor)keyindex(minor) is defined as 3. The standard mode names +code(\ionian)keyindex(ionian), code(\locrian)keyindex(locrian), code(\aeolian)keyindex(aeolian), +code(\mixolydian)keyindex(mixolydian), code(\lydian)keyindex(lydian), code(\phrygian)keyindex(phrygian), and +code(\dorian)keyindex(dorian) are also defined. +code(\partial)keyindex(partial) var(duration)code(;) Music expression that makes +the first measure of the music last for the specified duration. -mudela(fragment,verbatim,center)( -e' ~ e' ~ -) -It is possible to create beams and slurs that cross staffs by switching the -context: -mudela(fragment,verbatim,center)( -\context PianoStaff < -\context Staff=one \notes\relative c'{ - \stemup - [c8 c \translator Staff=two \stemup c c] - \translator Staff=one - d4( \translator Staff=two )a4 - } -\context Staff=two \notes{ \clef bass; s1} -> -) +code(\keysignature)keyindex(keysignature) var(pitchseq)code(;) +Specify an arbitrary key signature. The pitches from var(pitch) will +be printed in the key signature in the order that they appear on the list. +subsubsect(Rehearsal marks) + +code(\mark)keyindex(mark) var(unsigned)code(;) or code(\mark) +var(string)code(;)) A music expression. Prints a mark over or under +(depending on the indexandcode(markDirection) property) the staff. You must +add indexandcode(Mark_engraver) to the either Score or Staff context for this +to work. -subsect(Note Ornaments) -A variety of symbols can appear above and below notes to indicate -different characteristics of the performance. These symbols can be -added to a note with `var(note)code(-\)var(name)'. Numerous symbols -are defined in file(script.ly) and file(script.scm). Symbols can be -forced to appear above the note by writing -`var(note)code(^\)var(name)', and they can be forced to appear below -by writing `var(note)code(_\)var(name)'. Here is a chart showing -symbols above notes, with the name of the corresponding symbol -appearing underneath. +subsubsect(Bar lines) -mudela()( -\score{ - < \notes{ c''-\accent c''-\marcato c''-\staccatissimo f'-\fermata - c''-\stopped c''-\staccato c''-\tenuto c''-\upbow c''-\downbow - c''-\lheel c''-\rheel c''-\ltoe c''-\rtoe c''-\turn - c''-\open c''-\flageolet c''-\reverseturn +code(\bar)keyindex(bar) var(bartype)code(;) Music expression that requests +LilyPond to print a special bar symbol, or at +measure boundaries, replaces the regular bar symbol with a special +symbol. The argument var(bartype) is a string which specifies the +kind of bar to print. Options are indexandcode(":|"), indexandcode("|:"), +indexandcode(":|:"), indexandcode("||"), indexandcode("|."), indexandcode(".|"), or indexandcode(".|."). +These produce respectively a right repeat, a left repeat, a double +repeat, a double bar, a start bar, an end bar, or a thick double bar. +If var(bartype) is set to code("empty") then nothing is printed, but a +line break is allowed at that spot. + +You are encouraged to use code(\repeat) for repetitions. + +subsubsect(Timing commands) + +code(\cadenza)keyindex(cadenza) var(togglevalue)code(;) Music expression that +toggles the automatic generation of bar lines. If var(togglevalue) is +0 then bar line generation is turned off. If var(togglevalue) is 1 +then a bar is immediately printed and bar generation is turned on. + +code(\time)keyindex(time) var(numerator)code(/)var(denominator)code(;) Change the time +signature. The default time signature is 4/4. The time signature is +used to generate bar lines at correct places. + + +code(\tempo)keyindex(tempo) var(duration) = var(perminute)code(;) Used within +code(\midi) or within music to specify the tempo. For example, +`code(\midi { \tempo 4 = 76;})' requests output with 76 quarter notes +per minute. + +code(\partial)keyindex(partial)var( duration)code(;) This creates an incomplete +measure at the start of the music, eg. code(\partial 8*2;) creates a +starting measure lasting two eighth notes.cindex(anacrouse)cindex(upstep) + +code(|)cindex(|)cindex(barcheck) + +code(|) is a barcheck. Whenever a +barcheck is encountered during interpretation, a warning message is +issued if it doesn't fall at a measure boundary. This can help you +finding errors in the input. The beginning of the measure will also be +relocated, so you can also use this to shorten measures.cindex(shorten measures)cindex(upstep) + +subsubsect(Other commands) + +code(\penalty)keyindex(penalty) var(int)code(;) +Discourage or encourage line breaks. See identifiers code(\break)keyindex(break) and +code(\nobreak)keyindex(nobreak) in Section ref(ident). + +code(\clef)keyindex(clef) var(clefname)code(;) Music expression that +sets the current clef. The argument is +a string which specifies the name of the clef. Several clef names are +supported. If code(_8) or code(^8) is added to the end of a clef +name then the clef lowered or raised an octave will be generated. +Here are the supported clef names with middle C shown in each clef: +mudela(center)( +\score{ + \notes{ \cadenza 1; + %\property Voice.textStyle = typewriter + \clef subbass; c'4-"\kern-10mm subbass" + \clef bass; c'4^"\kern -8mm bass" + \clef baritone; c'4_"\kern -10mm baritone" + \clef varbaritone; c'4^"\kern -10mm varbaritone" + \clef tenor; c'4_"\kern -10mm tenor" + \clef "G_8"; c'4^"\kern -6mm G\_8" + } + \paper{ linewidth= 4.5 \in; } +} +) +mudela(center)( +\score{ + \notes{\cadenza 1; \clef alto; c'4_"\kern -10mm alto" + \clef mezzosoprano; c'4^"\kern -10mm mezzosoprano" + \clef soprano; c'4_"\kern -10mm soprano" + \clef treble; c'4^"\kern -6mm treble" + \clef french; c'4_"\kern -10mm french" } + \paper{ linewidth= 4.5 \in; } +} +) +The treble clef can also be obtained using the names code(G) or +code(violin). The bass clef is also available by code(\clef F). + +code(\skip)keyindex(skip) var(duration)code(;) Skips the amount of time +specified by var(duration). If no other music is played, a gap will +be left for the skipped time with no notes printed. It works in Note +Mode or Lyrics Mode. In notes mode, this has the same effect as the +space rest code(s). + + +subsubsect(Beams)cindex(beams) +label(manualbeam) + +A beam is specified by surrounding the beamed notes with brackets +indexandcode([) and indexandcode(]). +mudela(fragment,verbatim,center)( +[a'8 a'] [a'16 a' a' a'] +) +Some more elaborate constructions: +mudela(fragment,verbatim,center)( +[a'16 c'' ] +\times 2/3 { [e'8 f' g'] } +) + +Beaming can be generated automatically see Section ref(autobeam). + +cindex(Tremolo beams) + +To place tremolo marks in between two notes, begin with +code([:)var(length) and end with code(]). The tremolo marks will +appear instead of beams. Putting more than two notes in such a +construction will produce odd effects. + +mudela(fragment,verbatim,center)( + [:16 e'1 g'] [:8 e'4 f'] +) + +mudela(fragment,verbatim,center)( + c'4:32 [:16 c'8 d'8] +) + +COMMENT(ref to normal tremolos?) + +subsubsect(Lyric helpers) +cindex(--)cindex(___)cindex(extender)cindex(hyphen) + +The syntax for an extender mark is code(__). This syntax can only be +used within lyrics mode. The syntax for a spanning hyphen (a hyphen +that will be printed between two lyric syllables) is code(--) + + + +subsubsect(Tie)cindex(tie) + +A tie connects two adjacent note heads of the same pitch. When used +with chords, it connects all of the note heads whose pitches match. +Ties are indicated using the tilde symbol indexandcode(~) by analogy with +TeX()'s tie which connects words. Note that if you try to tie +together chords which have no common pitches, then a warning message +will appear and no tie will be created. COMMENT( + +)mudela(fragment,verbatim,center)( +e' ~ e' ~ +) + +subsect(Atomic music expressions: add-ons) + +[explain Requests] + + +subsubsect(Articulations)cindex(articulations)cindex(scripts)cindex(ornaments) + +A variety of symbols can appear above and below notes to indicate +different characteristics of the performance. These symbols can be +added to a note with `var(note)code(-\)var(name)'. Numerous symbols +are defined in file(script.ly) and file(script.scm). Symbols can be +forced to appear above the note by writing +`var(note)code(^\)var(name)', and they can be forced to appear below +by writing `var(note)code(_\)var(name)'. Here is a chart showing +symbols above notes, with the name of the corresponding symbol +appearing underneath. + +mudela()( +\score{ + < \notes{ c''-\accent c''-\marcato c''-\staccatissimo f'-\fermata + c''-\stopped c''-\staccato c''-\tenuto c''-\upbow c''-\downbow + c''-\lheel c''-\rheel c''-\ltoe c''-\rtoe c''-\turn + c''-\open c''-\flageolet c''-\reverseturn c''-\trill c''-\prall c''-\mordent c''-\prallprall c''-\prallmordent c''-\upprall c''-\downprall c''-\thumb c''-\segno c''-\coda} @@ -575,9 +838,9 @@ mudela()( In addition, it is possible to place arbitrary strings of text or TeX() above or below notes by using a string instead of an identifier: -`code(c^"text")'. Fingerings can be placed by simply using digits. -All of these note ornaments appear in the printed output but have no -effect on the MIDI rendering of the music. +`code(c^"text")'. Fingerings cindex(fingering) can be placed by +simply using digits. All of these note ornaments appear in the +printed output but have no effect on the MIDI rendering of the music. To save typing, fingering instructions (digits 0 to 9 are supported) and a few common symbols can be abbreviated with single characters: @@ -592,166 +855,183 @@ COMMENT( c''4-|_"c-|" s4 c''4->_"c->" s4 c''4-^_"c-\\^{ }" s4 - c''4-1 - c''4-2 - c''4-3 - c''4-4 + c''4-1_"c-1" s4 + c''4-2_"c-2" s4 + c''4-3_"c-3" s4 + c''4-4_"c-4" s4 } % \paper { linewidth = 12.\cm; } }) -Dynamic marks are specified by using an identifier after a note without a dash: -code(c4 \ff). Note that this syntax is inconsistent with the syntax for other -types of ornaments. The available dynamic marks are: code(\pppppp), -code(\ppppp), code(\pppp), code(\ppp), code(\pp), code(\p), code(\mp), -code(\mf), code(\f), code(\ff), code(\fff), code(\ffff), code(\fffff), -code(\ffffff), code(\fp), code(\sf), code(\sff), code(\sp), code(\spp), -code(\sfz) and code(\rfz). - -A crescendo mark is started with code(\cr) and terminated with -code(\rc). A decrescendo mark is started with code(\decr) and -terminated with code(\rced). There are also shorthands for these -marks. A crescendo can be started with code(\<) and a decrescendo can -be started with code(\>). Either one can be terminated with code(\!). +Dynamic marks are specified by using an identifier after a note +without: code(c4 \ff). The available dynamic marks are: +code(\pppppp)keyindex(pppppp), code(\ppppp)keyindex(ppppp), +code(\pppp)keyindex(pppp), code(\ppp)keyindex(ppp), +code(\pp)keyindex(pp), code(\p)keyindex(p), code(\mp)keyindex(mp), +code(\mf)keyindex(mf), code(\f)keyindex(f), code(\ff)keyindex(ff), +code(\fff)keyindex(fff), code(\ffff)keyindex(ffff), +code(\fffff)keyindex(fffff), code(\ffffff)keyindex(ffffff), +code(\fp)keyindex(fp), code(\sf)keyindex(sf), code(\sff)keyindex(sff), +code(\sp)keyindex(sp), code(\spp)keyindex(spp), +code(\sfz)keyindex(sfz) and code(\rfz)keyindex(rfz). + + +subsubsect(Slur)cindex(Slur) + +Slurs connects chords and try to avoid crossing stems. A slur is +started with code(CHAR(40)) and stopped with code(CHAR(41)). The +starting code(CHAR(40)) appears to the right of the first note in the +slur. The terminal code(CHAR(41)) apppears to the left of the first +note in the slur. This makes it possible to put a note in slurs from +both sides: COMMENT( + +)mudela(fragment,verbatim,center)( +f'()g'()a' [a'8 b'(] a'4 g'2 )f' +) + + +code(\spanrequest)keyindex(spanrequest) var(startstop) var(type). +Define a spanning request var(startstop) is either -1 +(code(\start)keyindex(start)) or 1 (code(\stop)keyindex(stop)). The +var(type) parameter is a string that describes what should be started. +Supported types are code(crescendo), code(decrescendo), code(beam), +code(slur). This is an internal command. Users should use the +abbreviations which are defined in the initialization file +file(spanners.ly). + +You can attach a (general) span request to a note using +mudela(fragment,center)( +c4-\spanrequest \start "slur" +c4-\spanrequest \stop "slur" +) +The slur syntax with parentheses is an abbreviation of this. + +code(\textscript)keyindex(textscript)) var(text) var(style). Defines a text to be +printed over or under a note. var(style) is a string that may be one +of code(finger), code(roman), code(italic), code(dynamic), code(Large) +or code(large). + +You can attach a general textscript request using this syntax +verb(c4-\textscript "6" "finger" +c4-\textscript "foo" "normal" +) +This is equivalent with code(c4-6 c4-"foo"). + +code(\script)keyindex(script) var(alias) Prints a symbol above or below a note. +The argument is a string which points into the script-alias table +defined in file(script.scm). The scheme definitions specify whether +the symbol follows notes into the staff, dependence of symbol +placement on staff direction, and a priority for placing several +symbols over one note. Usually the code(\script)keyindex(script) keyword is not used +directly. Various helpful identifier definitions appear in +file(script.ly). + +COMMENT(came till here with indexifying) + +subsubsect(Crescendo)cindex(Crescendo) + +A crescendo mark is started with code(\cr)keyindex(cr) and terminated with +code(\rc)keyindex(rc). A decrescendo mark is started with code(\decr)keyindex(decr) and +terminated with code(\rced)keyindex(rced). There are also shorthands for these +marks. A crescendo can be started with code(\<)keyindex(<) and a decrescendo can +be started with code(\>)keyindex(>). Either one can be terminated with code(\!)keyindex(!). Note that code(\!) must go before the last note of the dynamic mark whereas code(\rc) and code(\rced) go after the last note. Because these marks are bound to notes, if you want to get several marks during one note, you must use -spacer notes. -COMMENT(Broken -m udela(fragment,verbatim,center)( +spacer notes. COMMENT( + +)mudela(fragment,verbatim,center)( c'' \< \! c'' d'' \decr e'' \rced < f''1 {s4 \< \! s4 \> \! s2 } >) -) + +subsubsect(Tremolo marks)cindex(Tremolo marks) Tremolo marks can be printed by a note by adding code(:)[var(length)] after the note. The length must be at least 8. A var(length) value of 8 gives one line across the note stem. If the length is omitted, then the last value is used, or the value of the code(abbrev) -property if there was no last value. To place tremolo marks in -between two notes, begin with code([:)var(length) and end with code(]). -The tremolo marks will appear instead of beams. Putting more than two -notes in such a construction will produce odd effects. - -mudela(fragment,verbatim,center)( - c'2:8 c':32 [:16 e'1 g'] [:8 e'4 f'] -) - -mudela(fragment,verbatim,center)( - c'4:32 [:16 c'8 d'8] +property if there was no last value. +mudela(verbatim,fragment,center)(c'2:8 c':32 ) -sect(Other Ways to Enter Pitches) - -subsect(Pitch Names in Other Languages) -label(notelang) - -The pitch names can be easily redefined using the code(\notenames) command. -Note name definitions have been provided in various languages. -Simply include the language specific init file. For example: -code(\include "english.ly"). The available language files and the names -they define are: - -verb( Note Names sharp flat -nederlands.ly c d e f g a bes b -is -es -english.ly c d e f g a bf b -s/-sharp -f/-flat -deutsch.ly c d e f g a b h -is -es -norsk.ly c d e f g a b h -iss/-is -ess/-es -svenska.ly c d e f g a b h -iss -ess -italiano.ly do re mi fa sol la sid si -d -b -catalan.ly do re mi fa sol la sid si -d/-s -b) - -subsect(Relative Pitch Specification) -label(relative) - -A very common mistake when entering music is to place a note in the wrong -octave. One can easily get confused by the large numbers of octave changing -marks in the music. For most music, a much friendlier way of specifying -a note's octave is by using the Relative Pitch Specification mode, that is -introduced by the code(\relative) keyword. For real world music entry, -Relative mode is being used almost exclusively. +sect(Compound music expressions)cindex(Compound music expressions) +label(compoundmusic) -The octave of notes that appear in code(\relative) mode is calculated -differently: The octave of a note depends on the previous note. -When no octave changing marks are used, the basic interval (without -accidentals) between two notes is always taken to be equal to or smaller -than a quart. The octave changing marks code(') and code(,) can then be -added to raise or lower that interval by octaves. Upon entering -code(\relative) mode, an absolute starting pitch must be specified -that will act as the predecessor of the first note of the following music. -Thus, entering scales is straightforward +Music is a compound type: arbitrarily complicated expressions with a +hierarchical structure can be formed from simple building blocks. +Syntactically, these items can be nested any way you like. This +simple example shows how three chords can be expressed in two +different ways: COMMENT( -mudela(fragment,verbatim,center)( -\relative c' { c d e f g a b c c, } -) +)mudela(fragment,verbatim,center)( +\notes\context Staff{ + + <{a b c'}{c' d' e'}{e' f' g'}> +}) -and octave changing marks are used for intervals greater than a quart. -mudela(fragment,verbatim,center)( -\relative c'' { c g c f, c' a,, e''' } -) -When the preceding item is a chord, the first note of the chord is used to -determine the first note of the next chord. But other notes within the second -chord are determined by looking at the immediately preceding note. +subsect(Context selection)cindex(Context selection) -mudela(fragment,verbatim,center)( -\relative c' { c - } -) +code(\context)keyindex(context) var(contexttype) [code(=) var(contextname)] +var(musicexpr) -The pitch after the code(\relative) is a notename. To parse the pitch -as a notename, you have to be in note mode, so there must be a -surrounding code(\notes) keyword (which is not shown here). Also -note that if the music passed to a code(\relative) keyword contains a -code(\transpose) keyword, the tranposed music will not be processed in -relative mode. An additional code(\relative) must be placed inside -the code(\transpose). If code(\relative) will be used several times, -or if it will be used in the same music with code(\transpose), then -you may get bizarre effects. This can be fixed by using an explicit -code(Staff) context. +Interpret var(musicexpr) within a context of type +var(contexttype). If the context does not exist, it will be created. +context. The new context can optionally be given a name. +This is a Music expression itself. See Section ref(contexts) for +more information on interpretation contexts. + +subsect(Music entry modes) +cindex(input modes) +cindex(mode switch) + +Mode switching keywords form compound music expressions: +code(\notes)keyindex(notes)var( musicexpr), code(\chords)keyindex(chords)var( musicexpr), and +code(\lyrics)keyindex(lyrics)var( musicexpr). This indicates that var(musicexpr) +should be parsed in indicated mode. See Section ref(modes) for more +information on modes. + +subsect(Sequential music)cindex(Sequential music) + +All musical expressions have a duration. The duration of sequential +music is the the sum of the durations of the elements. The syntax is +code(\sequential)keyindex(sequential)code( {)var( musicexprlist )code(}). There is an +abbreviated form, which leaves out the keyword: +code({)var( musicexprlist )code(}). + +subsect(Simultaneous music)cindex(Simultaneous music) + +Simultaneous music using angle brackets, the duration is the maximum +of the durations of the elements. The syntax is +code(\simultaneous)keyindex(simultaneous)code({)var( musicexprlist )code(}). The +abbreviated form, code(<) var(musicexprlist) code(>) is common idiom. + +If you try to use a chord as the first thing in your score, you +might get multiple staffs in stead of a chord.COMMENT( + +)mudela(verbatim)(\score { \notes + \paper { linewidth = -1.; } +})COMMENT( + +) This happens because the chord is interpreted by a score context. +Each time a note is encountered a default Voice context (along with a +Staff context) is created. The solution is to explicitly instantiate a +Voice context: +mudela(verbatim,center)(\score { \notes\context Voice + \paper { linewidth = -1.; } +}) +More information on context selection can be found in Section ref(contextselection) -subsect(Tranposition of Pitches) -label(transpose) +subsect(Chord names) -Another way to modify the meaning of the note names is to use the -code(\transpose) keyword. This keyword allows you to transpose music. -To use transposition, specify the pitch that middle C should be tranposed to. -It is important to distinguish between enharmonic pitches as they can produce -different transpositions. To transpose up half a step, for example, either -code(\transpose cis') or code(\transpose des') will work. But the first -version will print sharps and the second version will print flats. -In this example, a scale in the key of E is transposed to F, or to E-sharp -with odd results. -mudela(fragment,verbatim,center)( -\relative c' { \key e; - e fis gis a b cis dis e } -) -mudela(fragment,verbatim,center)( -\transpose des' \relative c' { \key e; - e fis gis a b cis dis e } -) -mudela(fragment,verbatim,center)( -\transpose cis' \relative c' { \key e; - e fis gis a b cis dis e } -) -If you want to use both code(\transpose) and code(\relative), then you must use -code(\transpose) first. Any code(\relative) keywords that are outside the -code(\transpose) have no effect on notes that appear inside the -code(\transpose). As with code(\relative), using code(\transpose) -repeatedly can cause bizarre effects. An explicit code(Staff) context -will eliminate the problems. - -sect(Chords) - -Chords can be entered either by name or by listing the notes in angle brackets. -Chords can be displayed either as notes or by name. To enter chords by name, -place them inside the code(\chords) keyword. -Chord names have the form +Chord names are a way to generate simultaneous music expressions that +correspond with traditional notenaming. var(tonic)[var(duration)][code(-)var(modifier)][code(^)var(subtractions)][code(/)var(inversion)] -The var(tonic) should be the tonic note of the chord, and the var(duration) is +var(tonic) should be the tonic note of the chord, and the var(duration) is the chord duration in the usual notation. There are two kinds of modifiers. One type is chord additions, which are obtained by listing intervals separated by dots. An interval is written by its number with an optional code(+) or @@ -771,8 +1051,8 @@ The second type of modifier that may appear after the code(-) is a named modifier. Named modifiers are listed in the file file(chord-modifiers.ly). The available modifiers are code(m) and code(min) which lower -the 3rd half a step, code(aug) which raises the 5th, code(dim) which lowers -the 5th, code(maj) which adds a raised 7th, and code(sus) which replaces the +the 3rd half a step, indexandcode(aug) which raises the 5th, indexandcode(dim) which lowers +the 5th, indexandcode(maj) which adds a raised 7th, and indexandcode(sus) which replaces the 5th with a 4th. mudela(fragment,verbatim,center)( \transpose c''{ @@ -788,7 +1068,7 @@ mudela(fragment,verbatim,center)( c1^3 c-7^5.3 c-8^7 }}) -Chord inversions can be specified by appending code(/) and the name of a +Chord inversions can be specified by appending indexandcode(/) and the name of a single note to a chord. This has the effect of lowering the specified note by an octave so it becomes the lowest note in the chord. If the specified note is not in the chord then a warning will be printed. @@ -800,220 +1080,67 @@ Throughout these examples, chords have been shifted around the staff using code(\transpose). The code(\relative) keyword has odd effects when combined with named chords. -For displaying printed chord names, use the code(ChordNames) context. -The chords may be entered either using the notation described above, -or directly using angle brackets. -mudela(fragment,verbatim)( -< - \context ChordNames { \chords{ a b c} \notes{ < d f g > < e g b > } } - \context Staff \notes{ a b c' d' e' } -> -) -Lilypond examines chords specified as lists of notes to determine a -name to give the chord. By default, LilyPond will not try to identify -chord inversions: -mudela(fragment,verbatim,center)( -< - \context ChordNames { - \notes{ < e' g' c'' > } } - \context Staff \notes{ c' } ->) -If you want inversions to be recognized, you must set the property -code(Score.chordInversion): -mudela(fragment,verbatim,center)( -< - \property Score.chordInversion = 1 - \context ChordNames { - \notes{ < e' g' c'' > } } - \context Staff \notes{ c' } ->) - - - -sect(Lyrics) - -Lyrics are entered like notes, with pitches replaced -by text. For example code(Twin-4 kle4 twin-4 kle4) enters four -syllables, each with quarter note duration. Note that the hyphen has -no special meaning for lyrics, and does not introduce special symbols. -See Section ref(modes) for a description of what is interpreted as a lyric. - -In order to instruct LilyPond to write lyrics underneath the -staff, you must enter the lyrics context with code(\context Lyrics). -Lyrics should be entered in lyrics mode which is entered with code(\lyrics). - -Spaces can be introduced into a lyric either by using quotes (code(")) -or by using an underscore without quotes: code(He_could4 not4). All -unquoted underscores are converted to spaces. Here is a full example: -mudela(verbatim)(\score{ - < \notes \transpose c'' {c d e c | c d e c | e f g'2 | - e'4 f g'2 \bar "|."; } - \context Lyrics \lyrics { - Fre-4 re Ja- que Frere- re Ja- que - Dor- mez vous?2 Dor-4 mez vous?2 } - > -}) - - -When one word is attached to many notes, you may -want a continuous line after the lyric to show this. To achieve -this effect, add a code(__) lyric as a separate word -after the lyric to be extended. -This will create -an extender, a line that extends over the entire duration of -the lyric. This line will run all the way to the start of the next -lyric, so you may want to shorten it by using a blank lyric. -mudela(verbatim)(\score{ -< \notes \relative c''{ - a4()b()c()d c()d()b()a c()d()b()a } - \context Lyrics \lyrics { - foo1 __ bar2. __ _4 baz1 __ } -> }) - -If you want to have hyphens centered between syllables (rather than attached -to the end of the first syllable) you can use the special code(--) lyric as -separate word between syllables. This will result in a hyphen whose length -varies depending on the space between syllables, and centered between the -syllables. For example: -mudela(verbatim)(\score{ - < \notes \transpose c'' {c d e c | c d e c | e f g'2 | - e'4 f g'2 \bar "|."; } - \context Lyrics \lyrics { - Fre4 -- re Ja -- que Fre -- re Ja -- que - Dor -- mez vous?2 Dor4 -- mez vous?2 } - > -}) -COMMENT(should use dutch lyrics. No accent hassles.) - -sect(Automatic lyric durations) - -Often, lyrics are accompanied by a melody, and the rhythm of the -melody is the same as the rhythm of the text. In this case, you can -overlay the durations of the notes on the text, using code(\addlyrics) -COMMENT( - -)mudela(verbatim,fragment)( - \addlyrics - \transpose c'' { c4 d8. e16 f2 } - \context Lyrics \lyrics { do4 re mi fa } -)COMMENT( - -)You should use a single rhythm melody, and single rhythm lyrics (a -constant duration is the obvious choice). If you do not, you will get -undesired effects when using multiple stanzas: COMMENT( - -)mudela(verbatim,fragment)( - \addlyrics - \transpose c'' { c4 d8. e16 f2 } - \context Lyrics \lyrics < { do4 re mi fa } - { do8 re mi fa } > -) - +This syntax can only be used in chord mode. -sect(Time) -LilyPond aligns all musical objects according to the amount of time -they occupy. All musical objects have a duration. When music is -written sequentially using braces the duration is the sum of the -durations of the elements. When music is stacked into simultaneous music -using angle -brackets, the duration is the maximum of the durations of the -elements. +subsect(Tuplets)cindex(Tuplets) -Because LilyPond knows the durations of all musical elements, the time -signature enables LilyPond to draw bar lines automatically. The time -signature is specified with the code(\time) keyword: code(\time 3/4). -If no time signature is given, LilyPond assumes 4/4. The automatic -generation of bar lines can toggled with the code(\cadenza) keyword or the -code(Staff.barNonAuto) property, -and an incomplete measure at the start of the music can be created -using the code(\partial) keyword: code(\partial 8*2;) creates a -starting measure lasting two eighth notes. - -In order to help with error checking, you can insert bar markers in -your music by typing code(|). Whenever LilyPond encounters a code(|) -that doesn't fall at a measure boundary, she prints a warning message. -The beginning of the measure will also be relocated, so you can also -use this to shorten measures. +Tuplets are made out of a music expression, by multiplying their +length with a fraction. The syntax is code(\times)keyindex(times) var(fraction) +var(musicexpr). +The length of var(musicexpr) will be multiplied by the fraction. +In print, the fraction's denominator will be printed over the notes, +optionally with a bracket. The most +common tuplet is the triplet in which 3 notes have the length of 2, so +the notes are 2/3 their written length: COMMENT( -sect(Composition: forming bigger structures) -label(sec:grammar) -The computer savy user may be interested in a more formal -specification. We can capture what have learned about forming -sentences in Mudela in a context-free grammar. - -latexcommand(\smallskip) - -table(2)(lll)( - row(cell(em(Music))cell(: em(Note))) - row(cell()cell(code(|) em(Rest))) - row(cell()cell(code(|) code({) em(MusicList) code(}))) - row(cell()cell(code(|) code(<) em(MusicList) code(>))) - row(cell()cell(code(|) em(Command))) - row(cell()cell(code(|) code(\context) em(string) code(=) em(string) em(Music))) - row(cell()cell(;)) - row(cell(em(MusicList))cell(: em(empty))) - row(cell()cell(code(|) em(MusicList) em(Music))) - row(cell()cell(;)) +)mudela(fragment,verbatim,center)( b'4 \times 2/3 {c'4 c' c'} d'4 d'4 ) + +subsect(Grace notes)cindex(Grace notes) + +Grace notes are specified as code(\grace )keyindex(grace )var(musicexpr). A grace +note expression has duration 0; the next real note is assumed to the +main note. +0 +You cannot have the grace note after the main note in music +expressions, terms of duration and main notes, but you can typeset the +grace notes to the right of the main note using the property +indexandcode(graceAlignPosition). + +When grace music is interpreted, a score-within-a-score is set up: +var(musicexpr) has its own time bookkeeping, and you could for example +have separate barlines within grace notes. Within this +score-within-a-score you can create notes, beams, slurs, etc. Unbeamed +eighth notes and shorter by default have a slash through the stem. +This behavior can be controlled with the indexandcode(stemStyle) property. + +mudela(fragment)( + \relative c'' { \grace c8 c4 \grace { [c16 c16] } c4 + \grace { \property Grace.stemStyle = "" c16 } c4 } ) -latexcommand(\smallskip) - -In mathematics you can form expressions by combining expressions, -which are ultimately some kind of atom or terminal symbol. The same -goes for Mudela: there are some basic building blocks, and by -combining those you create complex music. - -You can combine music in three ways: -itemize( -it()If you enclose a sequence of music-elements in braces ( code({) - and code(}) ), then you form another kind of music called -sequential music - with those pieces. - The duration of sequential composition is the sum of the durations of its elements - verb( - { c c g g a a g2 } % twinkle twinkle - { { c c g g} { a a g2 } } - ) -it()You can stack music by enclosing a sequence of music elements - with code(<) and code(>). This is called simultaneous music. - The duration of a simultaneous composition is the maximum of the durations - of its elements Example: - verb( - % a-major chord - ) -it()You can form music by transposing music: - verb( - \transpose - d % from c to the d that's almost one octave down - { e4 f4 } % the horizontal music -) -it()verb(\context) -it()verb(\property) -it()verb(\translator) -it()verb(\relative) -) - -Of course you can also combine these three mechanisms. -verb( -{ c } % 4 increasing chords -) +At present nesting code(\grace)keyindex(grace) notes, eg. code(\grace { \grace +c32 c16} c4) may result in run-time errors of LilyPond. Since the +meaning of such a construct is unclear, we don't consider this a loss. +Similarly, juxtaposing two code(\grace) sections syntactically valid, +but makes no sense and may cause runtime errors. -END OF COMMENT ) +Ending a staff or score with grace notes may generate a run-time +error, since there will be no main note to attach the grace notes to. -sect(Repeats) +subsect(Repeats)cindex(Repeats) -In order to specify repeats, use the code(\repeat) keyword. Since +In order to specify repeats, use the code(\repeat)keyindex(repeat) keyword. Since repeats look differently when played and when printed, there are a few different variants of repeats. description( dit(unfolded) repeated music is fully written (played) out. Useful for MIDI output. -dit(semi) "semifolded". This is the normal notation: repeats are not +dit(volta) This is the normal notation: repeats are not written out, but alternative endings (voltas), are printed, one after the other. dit(folded) alternative endings are written stacked, which is useful @@ -1022,19 +1149,19 @@ for lyrics. The syntax for repeats is code(\repeat )var(variant)var( repeatcount)\var(repeatbody). If you have alternative endings, you -may add code(\alternative {)var(alternative1) var(alternative2) +may add code(\alternative)keyindex(alternative)code({ )var(alternative1) var(alternative2) var(alternative3) .. code(}), where each var(alternative) is of type Music. -Notation semifolded repeats are used like this: +Normal notation repeats are used like this: mudela(fragment,verbatim,center)( c'1 -\repeat semi 2 { c'4 d' e' f' } -\repeat semi 2 { f' e' d' c' }) +\repeat volta 2 { c'4 d' e' f' } +\repeat volta 2 { f' e' d' c' }) With alternative endings: mudela(fragment,verbatim,center)( c'1 -\repeat semi 2 {c'4 d' e' f'} +\repeat volta 2 {c'4 d' e' f'} \alternative { {d'2 d'} {f' f} }) Folded repeats look like this:footnote(Folded repeats offer little @@ -1049,374 +1176,302 @@ c'1 mudela(fragment,verbatim)( \context Staff { \relative c'{ - \partial 4; \repeat semi 2 { e | c2 d2 | e2 f2 | } - \alternative { { g4 g g } { \partial 4; a a a a b1 } } + \partial 4; \repeat volta 2 { e | c2 d2 | e2 f2 | } + \alternative { { g4 g g } { a a a a b1 } } }}) -Repeats can be unfolded by setting the property code(Staff.unfoldRepeats). If you don't give enough alternatives for all of the repeats, then the first alternative is assumed to be repeated enough to equal to specified number of repeats. mudela(fragment,verbatim)( \context Staff { \relative c'{ - \repeat semi 3 { \partial 4; e | c2 d2 | e2 f2 | } + \repeat volta 3 { \partial 4; e | c2 d2 | e2 f2 | } \alternative { { g4 g g } {\partial 1; e4 e e } {\partial 1; a a a a | b1 } } }}) -note: The syntax of repeats is not entirely crystallised. You can expect -more variants, better MIDI integration, better time handling. +It is possible to nest code(\repeat). This is not entirely supported, +the notes will come be in the right places, but the repeat bars will +not. -sect(Ambiguities) - -The grammar contains a number of ambiguities. We hope to resolve most -of them at a later time. - -itemize( -it() -The assignment -verb( -foo = bar) -COMMENT( - -)Can be interpreted as making a string identifier code(\foo) containing -code("foo"), or a music identifier containing the lyric lyric `foo'. - -Since this assignment is possible at top-level and within paper, these -are two conflicts. -it()The assignment -verb( foo = -6 -)Can be interpreted as making a int identifier containing -6, or a -request identifier containing the fingering `6' (with neutral direction). -Since this assignment is possible at top-level and within paper, these -are two conflicts. -it() -If you do a nested repeat, -verb ( -\repeat ... - \repeat .. - \alternative - ) then it ambiguous to which code(\repeat) the code(\alternative) - belongs. This is the classic if-then-else dillema. It may be solved - by using braces. -) +subsubsect(Relative Pitch Specification)cindex(Relative Pitch Specification) +label(relative) -sect(Keywords) +One can easily get confused by the large numbers of octave changing +marks in the music, and it is easy to accidentally put a pitch in the +wrong octave. A much better way of specifying a +note's octave is `the relative octave' mode. -Keywords sometimes appear alone, but usually they require arguments. -A keyword may have a single argument, a sequence of arguments in -braces, or a sequence of arguments separated by spaces and terminated -by a semicolon. The precise syntax of each keyword is shown below. -Keywords must appear in the right context. If you use a keyword in -the wrong place, even if the usage is syntactically correct, you will -get the message ``parse error'' from LilyPond. +The syntax for relative mode is code(\relative)keyindex(relative)var( startpitch )(var +musicexpr). +The octave of notes that appear in var(musicexpr) are calculated as +follows: when no octave changing marks are used, the basic interval +between this and the last note is always taken to be a fourth or +less.footnote(The interval is determined without regard accidentals. +A code(fisis) following a code(ceses) will be put above the +code(ceses)) The octave changing marks code(') and code(,) can then be +added to raise or lower the pitch by an extra octave.. Upon entering +relative mode, an absolute starting pitch must be specified that will +act as the predecessor of the first note of the following music. -description( +Entering scales is straightforward in relative mode. -dit(code(\accepts) var(string)code(;)) This keyword can appear only within a -code(\translator) block. It specifies what contexts are allowed with the -context that is being defined. See Section ref(translators). +mudela(fragment,verbatim,center)( +\relative c' { c d e f g a b c c, } +) -dit(code(\alternative) code({) var(music1) var(music2) ... code(})) -Specifies alternative endings. Must come after a code(\repeat) keyword. +and octave changing marks are used for intervals greater than a fourth. -dit(code(\bar) var(bartype)code(;)) Music expression that requests -LilyPond to prints a special bar symbol, or at -measure boundaries, replaces the regular bar symbol with a special -symbol. The argument var(bartype) is a string which specifies the -kind of bar to print. Options are code(":|"), code("|:"), -code(":|:"), code("||"), code("|."), code(".|"), or code(".|."). -These produce respectively a right repeat, a left repeat, a double -repeat, a double bar, a start bar, an end bar, or a thick double bar. -If var(bartype) is set to code("empty") then nothing is printed, but a -line break is allowed at that spot. Note that the printing of special bars -has no effect on the MIDI output. +mudela(fragment,verbatim,center)( +\relative c'' { c g c f, c' a,, e''' } +) -Note that you are encouraged to use code(\repeat) for repetitions +When the preceding item is a chord, the first note of the chord is used to +determine the first note of the next chord. But other notes within the second +chord are determined by looking at the immediately preceding note. +mudela(fragment,verbatim,center)( +\relative c' { c + } +) -dit(code(\cadenza) var(togglevalue)code(;)) Music expression that -toggles the automatic generation of bar lines. If var(togglevalue) is -0 then bar line generation is turned off. If var(togglevalue) is 1 -then a bar is immediately printed and bar generation is turned on. +The pitch after the code(\relative) contains a notename. To parse the +pitch as a notename, you have to be in note mode, so there must be a +surrounding code(\notes)keyindex(notes) keyword (which is not shown here). -dit(code(\clef) var(clefname)code(;)) Music expression that -sets the current clef. The argument is -a string which specifies the name of the clef. Several clef names are -supported. If code(_8) or code(^8) is added to the end of a clef -name then the clef lowered or raised an octave will be generated. -Here are the supported clef names with middle C shown in each clef: -mudela(center)( -\score{ - \notes{ \cadenza 1; - %\property Voice.textStyle = typewriter - \clef subbass; c'4-"\kern-10mm subbass" - \clef bass; c'4^"\kern -8mm bass" - \clef baritone; c'4_"\kern -10mm baritone" - \clef varbaritone; c'4^"\kern -10mm varbaritone" - \clef tenor; c'4_"\kern -10mm tenor" - \clef "G_8"; c'4^"\kern -6mm G\_8" - } - \paper{ linewidth= 4.5 \in; } -} -) -mudela(center)( -\score{ - \notes{\cadenza 1; \clef alto; c'4_"\kern -10mm alto" - % \clef scarlatti; c'4_"\kern -4mm scarlatti" - \clef mezzosoprano; c'4^"\kern -10mm mezzosoprano" - \clef soprano; c'4_"\kern -10mm soprano" - \clef treble; c'4^"\kern -6mm treble" - \clef french; c'4_"\kern -10mm french" } - \paper{ linewidth= 4.5 \in; } -} -) -The treble clef can also be obtained using the names code(G) or -code(violin). The bass clef is also available by code(\clef F). +The relative conversion will not affect sections in its argument that +contain code(\transpose) or code(\relative). If you want transposed +music within a code(\relative), you must place an additional +code(\relative) inside the code(\transpose). -dit(code(\chord) var(musicexpr)) Music expression that switches to -chord mode for parsing var(chordmusic). +You are strongly recommended to use relative pitch mode: it is less +typing, less error-prone and more readable. -dit(code(\chordmodifiers) var(modifierlist)) Specify the text chord -modifiers that may appear after chord names. These are specified in -the file file(chord-modifiers.ly). -dit(code(\cm)) Specify a dimension in centimeters. Should come after -a floating point constant. -dit(code(\consists) var(string)code(;)) This keyword can appear only within a -code(\translator) block. It specifies that an engraver or performer named -var(string) should be added to the translator. See Section -ref(translators). +subsect(Tranposition of Pitches)cindex(Tranposition of Pitches) +label(transpose) -dit(code(\consistsend) var(string)code(;)) This keyword can appear -only within a code(\translator) block. Add an engraver to the context -being specified. Some engraver types need to be at the end of the -list; this insures they are put there. Usually not needed for end-users. +With code(\transpose)keyindex(transpose) a music expression can be transposed. +The syntax is code(\transpose) var(pitch) var(musicexpr) -dit(code(\context) var(contexttype) [code(=) var(contextname)] -var(musicexpr)) Interpret var(musicexpr) within a context of type -var(contexttype). If the context does not exist, it will be created. -context. The new context can optionally be given a name. -This is a Music expression itself. - -dit(code(\duration) code({) var(length) var(dotcount) code(})) Specify note -duration. The parameter var(length) is the negative logarithm (base -2) of duration: 1 is a half note, 2 is a quarter note, 3 is an eighth -note, etc. The number of dots after the note is given by -var(dotcount). - -dit(code(\font) var(string)) Internal keyword. Used within -code(\paper) to specify the font. - -dit(code(\grace) var(musicexpr)) A musicexpression that indicates that -var(musicexpr) consists of grace notes. - -dit(code(\header) code({) var(key1) = var(val1); var(key2) = var(val2); ... code(})) -Specifies information about the music. A header should appear at the -top of the file describing the file's contents. If a file has -multiple code(\score) blocks, then a header should appear in -each score block describing its contents. Tools like code(ly2dvi) can -use this information for generating titles. Key values that are used -by ly2dvi are: title, subtitle, composer, opus, poet, instrument, -metre, arranger, piece and tagline. - -dit(code(\in)) Specify a dimension in inches. - -dit(code(\include) var(file)) Include the specified file. The -argument var(file) is a string. The full filename including the -file(.ly) extension must be given, and the filename must be quoted. -(An unquoted string will not work here.) - -dit(code(\key) var(pitch) var(type) code(;)) Change the key signature. -var(type) should be code(\major) or code(\minor) to get -var(pitch)-major or var(pitch)-minor, respectively. The second -argument is optional, the default is major keys. -The var(\context) argument can also be given as an integer, which tells -the number of semitones that should be added to the pitch given in the -subsequent code(\key) commands to get the corresponding major key, -e.g. code(\minor) is defined as 3. The standard mode names -code(\ionian), code(\locrian), code(\aeolian), code(\mixolydian), -code(\lydian), code(\phrygian), and code(\dorian) are also defined. - -dit(code(\keysignature) var(pitchseq)code(;)) -Specify an arbitrary key signature. The pitches from var(pitch) will -be printed in the key signature in the order that they appear on the list. +Middle C is tranposed to var(pitch). If it appears inside +code(\relative)keyindex(relative), then any notes specified for transposition +should be specified inside another code(\relative). See Section +ref(transpose). -dit(code(\lyrics) var(music)) Parse var(music) in lyrics mode. +code(\transpose) distinguishes between enharmonic pitches: both +code(\transpose cis') or code(\transpose des') will transpose up half +a tone. The first version will print sharps and the second version +will print flats. COMMENT( -dit(code(\maininput)) Internal command. This command is used for creating init -files like file(init.fly) that read the user file into the middle of another -file. It is illegal to use this command in a user file. - -dit(code(\mark) var(unsigned)code(;) or code(\mark) -var(string)code(;)) A music expression. Prints a mark over or under -(depending on the code(markDirection) property) the staff. You must -add code(Mark_engraver) to the either Score or Staff context for this -to work. +)mudela(fragment,verbatim,center)( +\context Staff { + \clef "F"; { \key e; c d e f } \clef "G"; + \transpose des'' { \key e; c d e f } + \transpose cis'' { \key e; c d e f } } +) +If you want to use both code(\transpose) and code(\relative), then you +must use code(\transpose) first. Any code(\relative) keywords that +are outside the code(\transpose) have no effect on notes that appear +inside the code(\transpose). -dit(code(\midi) var(statementlist)) An output definition (appears in a - code(\score) block) to indicate that musical output should be - produced and to set output parameters. Can also appear at the top - level to set default output parameters. See code(\tempo). -dit(code(\mm)) Specify a dimension in millimeters. + +subsect(Automatic lyric durations)cindex(Automatic lyric durations) + +If you have lyrics that are set to a melody, you can import the rhythm +of that melody into the lyrics using +code(\addlyrics)keyindex(addlyrics). +The syntax for this is +code(\addlyrics)var( musicexpr1 musicexpr2). This means that both +var(musicexpr1) and var(musicexpr2) are interpreted, but that every +non-command atomic music expression (``every syllable'') in +var(musicexpr2) is interpreted using timing of var(musicexpr1). + +Example +COMMENT( -dit(code(\musicalpitch) code({) var(octave) var(note) var(shift) code(})) -Specify note pitch. The octave is specified by an integer, -zero for the octave containing middle C. The note is a number from 0 -to 7, with 0 corresponding to C and 7 corresponding to B. The shift -is zero for a natural, negative to add flats, or positive to add -sharps. +)mudela(verbatim,fragment)( + \addlyrics + \transpose c'' { c4 d8. e16 f2 } + \context Lyrics \lyrics { do4 re mi fa } +)COMMENT( -dit(code(\name) var(context)code(;)) Appears within code(\translator) to -specify the name of the context that the translator handles. See Section -ref(translators). +)You should use a single rhythm melody, and single rhythm lyrics (a +constant duration is the obvious choice). If you do not, you will get +undesired effects when using multiple stanzas: COMMENT( -dit(code(\notenames) var(assignmentlist)) Define new note names. This -keyword can appear only at the top level. -The argument is a list of definitions of the form -var(name) = var(pitch), where var(pitch) is specified with the -code(\musicalpitch) keyword. +)mudela(verbatim,fragment)( + \addlyrics + \transpose c'' { c4 d8. e16 f2 } + \context Lyrics \lyrics < { do4 re mi fa } + { do8 re mi fa } > +) -dit(code(\notes) var(musicexp)) Enter note mode and process the -specified musicexp. This is a music expression. +It is valid (but probably not very useful) to use notes i.s.o. lyrics +for var(musicexpr2). COMMENT( -dit(code(\paper) var(statmentlist)) An output definition, (appears in -a code(\score) block) to indicate that the music should be printed or -to set output parameters. Can also appear at the top level to set -default output parameters for all of the score blocks. The -var(statmentlist) contains statements that change features of the -output. See Section ref(paper). +mudela(verbatim,fragment)( + \context Voice \addlyrics + { s4 s8 s16 s32 } + { [c16 c c c] })) -dit(code(\partial) var(duration)code(;)) Music expression that makes -the first measure of the music last for the specified duration. + -dit(code(\penalty) var(int)code(;)) Allowed only in music. -Discourage or encourage line breaks. See identifiers code(\break) and -code(\nobreak) in Section ref(ident). -dit(code(\property) var(contextname)code(.)var(propname) code(=) var(value)) -Sets the var(propname) property of the context var(contextname) to the -specified var(value). All three arguments are strings. Depending on -the context it may be necessary to quote the strings or to leave space -on both sides of the dot. +sect(Ambiguities)cindex(ambiguities) -dit(code(\pt)) Specify a dimension in points. +The grammar contains a number of ambiguities.footnote(The authors hope +to resolve them at a later time.) -dit(code(\relative) var(pitch) var(music)) Add octave indications such -that so that the pitch is closest to the preceding pitch. The -argument var(pitch) is the starting pitch for this comparison. In the -case of chords, the first note of a chord is used as the base for the -first pitches in the next chord. See Section ref(relative). +itemize( +it() +The assignment +verb( +foo = bar) +COMMENT( -dit(code(\remove) var(string)code(;)) Can appear only in a -code(\translator) block. Specifies that a performer or engraver named -var(string) should be removed. See Section ref(translators). +)Can be interpreted as making a string identifier code(\foo) +containing code("bar"), or a music identifier code(\foo) containing +the lyric `bar'. -dit(code(\repeat) var(style) var(count) code({) var(music) code(})) -Repeats the specified music var(count) times. Alternative endings can -be specified by adding a code(\alternative) keyword after the -code(\repeat). The var(style) parameter should be either code(semi), -for regular repeats, or code(fold) for repeats displayed vertically, -or code(unfold) for repeats fully written out. +it()The assignment +verb( foo = -6 +)Can be interpreted as making a int identifier containing -6, or a +request identifier containing the fingering `6' (with neutral direction). -dit(code(\scm) var(scheme)code(;)) Evaluates the specified Scheme -code. The result is discarded. +it() +If you do a nested repeat, +verb( +\repeat ... + \repeat .. + \alternative + ) then it is ambiguous to which code(\repeat) the code(\alternative) + belongs. This is the classic if-then-else dillema. It may be solved + by using braces. -dit(code(\scmfile) var(filename)code(;)) Reads Scheme code from the -specified file. The result is discarded. +it() +(an as yet unidentified ambiguity) +) -dit(code(\score) var(statementlist)) Combine one music expression and -multiple output definitions +sect(Notation conversion specifics) -dit(code(\script) var(alias)) Prints a symbol above or below a note. -The argument is a string which points into the script-alias table -defined in file(script.scm). The scheme definitions specify whether -the symbol follows notes into the staff, dependence of symbol -placement on staff direction, and a priority for placing several -symbols over one note. Usually the code(\script) keyword is not used -directly. Various helpful identifier definitions appear in -file(script.ly). +subsect(Automatic Beam Generation)cindex(Automatic Beam Generation) +label(autobeam) -dit(code(\shape) var(indent1)code(,) var(width1)code(,) var(indent2)code(,) -var(width2) ... code(;)) Allowed only within code(\paper). Each pair -of var(indent) and var(width) values is a dimension specifying how far -to indent and how wide to make the line. The indentation and width of -successive lines are specified by the successive pairs of dimensions. -The last pair of dimensions will define the characeristics of all -lines beyond those explicitly specified. +By default, Lilypond will generate beams automatically. This feature can be +disabled by setting the indexandcode(Voice.beamAuto) property to 0. It can be +overridden for specific cases by specifying explicit beams as +described in Section ref(manualbeam). -dit(code(\skip) var(duration)code(;)) Skips the amount of time -specified by var(duration). If no other music is played, a gap will -be left for the skipped time with no notes printed. It works in Note -Mode or Lyrics Mode. +In order to decide how to generate beams, Lilypond uses a large number +of Voice properties, whose default values appear in +file(auto-beam-settings.ly). In general, beams can begin anywhere, +but their ending location is significant. Beams can end on a beat, or +at durations specified by the indexandcode(Voice.beamAutoEnd) property. To +end beams every quarter note, for example, you could use set +indexandcode(Voice.beamAutoEnd) equal to code("1/4"). To end beams every +three eighth notes you would set it to code("3/8"). The same syntax +can be used to specify beam starting points using indexandcode(Voice.beamAutoBegin). -dit(code(\spanrequest) var(startstop) var(type)). Define a spanning request -var(startstop) is either -1 (code(\start)) or 1 (code(\stop)). The var(type) -parameter is a string that describes what should be started. Supported types -are "crescendo", "decrescendo", "beam", "slur". This is an internal command. -Users should use the abbreviations which are defined in the -initialization file file(spanners.ly). +To allow different settings for different time signatures, these +property names can start with code(time)var(N)code(_)var(M) to +restrict the definition to var(N)code(/)code(M) time. So for example, +to specify beams ending only for 6/8 time you would use the property +code(Voice.time6_8beamAutoEnd). To allow different endings for notes +of different durations, the duration can be tacked onto the end of the +property. To specify beam endings for beams that contain 32nd notes, +you would use code(Voice.beamAutoEnd_32). -dit(code(\tempo) var(duration) = var(perminute)code(;)) Used within -code(\midi) or within music to specify the tempo. For example, -`code(\midi { \tempo 4 = 76;})' requests output with 76 quarter notes -per minute. +subsect(Printing chord names)cindex(chord names)cindex(chords)cindex(printing!chord names) -dit(code(\textscript)) var(text) var(style). Defines a text to be -printed over or under a note. var(style) may be one offinger, roman, -italic, dynamic, large. Normally you should use the stable and more -user friendly abbreviations defined in the init file file(textscript.ly). +For displaying printed chord names, use the indexandcode(ChordNames) context. +The chords may be entered either using the notation described above, +or directly using angle brackets. +mudela(fragment,verbatim)( +< + \context ChordNames { \chords{ a b c} \notes{ < d f g > < e g b > } } + \context Staff \notes{ a b c' d' e' } +> +) +Lilypond examines chords specified as lists of notes to determine a +name to give the chord. By default, LilyPond will not try to identify +chord inversions: +mudela(fragment,verbatim,center)( +< + \context ChordNames { + \notes{ < e' g' c'' > } } + \context Staff \notes{ c' } +>) +If you want inversions to be recognized, you must set the property +indexandcode(Score.chordInversion): +mudela(fragment,verbatim,center)( +< + \property Score.chordInversion = 1 + \context ChordNames { + \notes{ < e' g' c'' > } } + \context Staff \notes{ c' } +>) -dit(code(\time) var(numerator)code(/)var(denominator)code(;)) Change the time -signature. The default time signature is 4/4. -dit(code(\times) var(numerator)code(/)var(denominator) var(music)) -Music expression that results from multiplying the duration of -var(music) by the specified fraction. In the output a brace is -printed over the music. -dit(code(\translator) var(statements)) - This keyword is overloaded, it means something different within -music expressions. +subsect(Printing lyrics)cindex(Lyrics)cindex(printing!lyrics) +label(lyricprint) -This variant appears only within code(\paper) and specifies a -translator for converting music to notation. The translator is -specified with a single code(\context) statement and a series of -code(\accepts), and code(\consists) statements. See Section -ref(translators). +In order to instruct LilyPond to write lyrics, the syllables must be +interpreted within a code(Lyrics) context cindex(context!Lyrics). -dit(code(\translator) var(contexttype) = var(name)) -A music expression that the context which is a direct child of the -a context of type var(contexttype) should be shifted to a context of -type var(contexttype) and the specified name. +Here is a full example: +mudela(verbatim)(\score{ + < \notes \transpose c'' {c d e c | c d e c | e f g'2 | + e'4 f g'2 \bar "|."; } + \context Lyrics \lyrics { + Va-4 der Ja- cob Va- der Ja- cob + Slaapt gij nog?2 Slaapt4 gij nog?2 } + > +}) -dit(code(\transpose) var(pitch) var(musicexpr)) -Music expression -obtained by transposing var(musicexpr). Middle C is tranposed to -var(pitch). If it appears inside -code(\relative), then any notes specified for transposition should be -specified inside another code(\relative). See Section ref(transpose). -dit(code(\type) var(string)code(;)) Use inside code(\translator) to -specify the type of the translator. +When one word is attached to many notes, you may +want a continuous line after the lyric to show this. To achieve +this effect, add a code(__) lyric as a separate word +after the lyric to be extended. +This will create +an extender, a line that extends over the entire duration of +the lyric. This line will run all the way to the start of the next +lyric, so you may want to shorten it by using a blank lyric. +mudela(verbatim)(\score{ +< \notes \relative c''{ + a4()b()c()d c()d()b()a c()d()b()a } + \context Lyrics \lyrics { + foo1 __ bar2. __ _4 baz1 __ } +> }) + +If you want to have hyphens centered between syllables (rather than attached +to the end of the first syllable) you can use the special code(--) lyric as +separate word between syllables. This will result in a hyphen whose length +varies depending on the space between syllables, and centered between the +syllables. For example: +mudela(verbatim)(\score{ + < \notes \transpose c'' {c d e c | c d e c | e f g'2 | + e'4 f g'2 \bar "|."; } + \context Lyrics \lyrics { + Va4 -- der Ja -- cob Va -- der Ja -- cob + Slaapt gij nog?2 Slaapt4 gij nog?2 } + > +}) -dit(code(\version) var(string)) Specify the version of LilyPond that a -file was written for. The argument is the version number, for qexample -code("1.0.1"). This is used to detect invalid input, and to aid -code(convert-mudela), a tool that automatically upgrades input files. -) -sect(Notation Contexts) +sect(Notation Contexts)cindex(Notation Contexts) Notation contexts are objects that only exist during a run of LilyPond. During the interpretation phase of LilyPond, the Music @@ -1456,7 +1511,8 @@ When the note code(c4) itself is interpreted, a set of contexts is needed that will accept notes. The default for this is a Voice context, contained in a Staff context. - +subsect(Context selection) +label(contextselection) You can also create contexts manually, and you probably have to do so if you want to typeset complicated multiple voice/multiple staff @@ -1480,10 +1536,11 @@ context is ended as well. So after the third quarter, the code(another) is removed. Almost all music expressions inherit their interpretation context from -their parent. In other words, suppose that the syntax for a music expression is code(\keyword) var(musicexpr1) var(musicexpr2) dots(). -When the interpretation of this music expression starts, -the context for var(musicexpr1), var(musicexpr2), etc. that of -the total expression. +their parent. In other words, suppose that the syntax for a music +expression is code(\keyword) var(musicexpr1) var(musicexpr2) dots(). +When the interpretation of this music expression starts, the context +for var(musicexpr1), var(musicexpr2), etc. that of the total +expression. Lastly, you may wonder, why doesn't this: verb(\score { \notes \relative c'' { c4 d4 e4 }}) @@ -1498,62 +1555,67 @@ refers is adjusted during the interpretation. So after the code(c4) ends, the context of the sequential music is also the default Voice context. The code(d4) gets interpreted in the same context as code(c4) + +subsect(Predefined contexts) + These are the contexts that come presupplied with LilyPond. +They are defined in init file(ly/engraver.ly). + description( -dit(code(Grace)) The context for handling grace notes, it is +dit(code(Grace))indexcode(Grace) The context for handling grace notes, it is instantiated automatically when you use code(\grace). It is a "embedded" miniature of the Score context. Since this context needs special interaction with the rest of LilyPond, you should not explicitly instantiate it. -dit(code(LyricVoice)) Corresponds to a voice with lyrics. Handles the printing +dit(code(LyricVoice))indexcode(LyricVoice) Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics. -dit(code(Thread)) Handles note heads, and is contained in the Voice +dit(code(Thread))indexcode(Thread) Handles note heads, and is contained in the Voice context. You have to instantiate these explicitly if you want to adjust the style of individual noteheads. -dit(code(Voice)) Corresponds to a voice on a staff. This context +dit(code(Voice))indexcode(Voice) Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and subscripts, slurs, ties and rests. You have to instantiate these explicitly if you want to have multiple voices on the same staff. -dit(code(ChordNamesVoice)) A voice with chord names. Handles printing +dit(code(ChordNamesVoice))indexcode(ChordNamesVoice) A voice with chord names. Handles printing of a line of chord names. -dit(code(ChordNames)) Typesets chord names. Can contain +dit(code(ChordNames))indexcode(ChordNames) Typesets chord names. Can contain code(ChordNamesVoice) contexts. -dit(code(Lyrics)) Typesets lyrics. It can contain code(LyricVoice) contexts. +dit(code(Lyrics))indexcode(Lyrics) Typesets lyrics. It can contain code(LyricVoice) contexts. -dit(code(Staff)) Handles clefs, bar lines, keys, +dit(code(Staff))indexcode(Staff) Handles clefs, bar lines, keys, accidentals. It can contain code(Voice) contexts. -dit(code(RhythmicStaff)) A context like code(Staff) but for printing +dit(code(RhythmicStaff))indexcode(RhythmicStaff) A context like code(Staff) but for printing rhythms. Pitches are ignored; the notes are printed on one line. It can contain code(Voice) contexts. -dit(code(GrandStaff)) Contains code(Staff) or code(RhythmicStaff) +dit(code(GrandStaff))indexcode(GrandStaff) Contains code(Staff) or code(RhythmicStaff) contexts. It adds a brace on the left side grouping the staffs together. The bar lines of the contained staffs are connected vertically. It can contain code(Staff) contexts. -dit(code(PianoStaff)) Just like code(GrandStaff) but with +dit(code(PianoStaff))indexcode(PianoStaff) Just like code(GrandStaff) but with code(minVerticalAlign) set equal to code(maxVerticalAlign) so that interstaff beaming and slurring can be used. -dit(code(StaffGroup)) Contains code(Staff) or code(RhythmicStaff) +dit(code(StaffGroup))indexcode(StaffGroup) Contains code(Staff) or code(RhythmicStaff) contexsts. Adds a bracket on the left side, grouping the staffs together. The bar lines of the contained staffs are connected vertically. It can contain code(Staff), code(RhythmicStaff), code(GrandStaff) or code(Lyrics) contexts. -dit(code(ChoirStaff)) Identical to code(StaffGroup) except that the +dit(code(ChoirStaff))indexcode(ChoirStaff) Identical to code(StaffGroup) except that the contained staffs are not connected vertically. -dit(code(Score)) This is the top level notation context. No +dit(code(Score))indexcode(Score) This is the top level notation context. No other context can contain a code(Score) context. This context handles the administration of time signatures. It also makes sure that items such as clefs, time signatures, and key-signatures are aligned across @@ -1567,10 +1629,7 @@ when an output definition (a code(\score) or code(\paper) block) is processed. ) -The various contexts have properties associated with them. These -properties can be changed using the code(\property) command: -`code(\property) var(context)code(.)var(propname) code(=) var(value)'. - +subsect(Context properties) Properties that are set in one context are inherited by all of the contained contexts. This means that a property valid for the Voice @@ -1602,11 +1661,11 @@ In order to fully find out what properties are used, you must search the source code for calls to code(get_property). The rest of the section is devoted to an (incomplete) overview of available properties. -subsubsubsect(Lyrics properties) +subsubsubsect(Lyrics properties)cindex(properties!Lyrics) description( -dit(code(textStyle)) Set the font for lyrics. The available font +dit(code(textStyle))indexcode(textStyle) Set the font for lyrics. The available font choices are code(roman), code(italic), code(bold), code(large), code(Large), code(typewriter), and code(finger). The code(finger) font can only display numbers. Note also that you must be careful @@ -1617,10 +1676,10 @@ or be sure to leave a space on both sides of the dot. ) -subsubsubsect(Thread properties) +subsubsubsect(Thread properties)cindex(properties!Thread) description( -dit(code(noteheadStyle)) Selects type of note head. Choices are +dit(code(noteheadStyle))indexcode(noteheadStyle) Selects type of note head. Choices are code(cross), code(diamond), code(harmonic), code(transparent), and code(""). They are shown in that order below. mudela(center)( @@ -1644,65 +1703,65 @@ mudela(center)( ) -subsubsubsect(Voice properties) +subsubsubsect(Voice properties)cindex(properties!Voice) description( -dit(code(stemLength)) Set length of stems. Unit is +dit(code(stemLength))indexcode(stemLength) Set length of stems. Unit is code(interline)/2, so stemLength defaults to 7. -dit(code(stemLeftBeamCount)) Specify the number of beams to draw on +dit(code(stemLeftBeamCount))indexcode(stemLeftBeamCount) Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased. -dit(code(stemRightBeamCount)) Specify the number of beams to draw on +dit(code(stemRightBeamCount))indexcode(stemRightBeamCount) Specify the number of beams to draw on the right side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased. -dit(code(beamAuto)) If set to 1 then beams are generated +dit(code(beamAuto))indexcode(beamAuto) If set to 1 then beams are generated automatically. If set to zero then no beams will be automatically generated. The default value is 1. -dit(code(beamAutoEnd)) Specifies when automatically generated beams +dit(code(beamAutoEnd))indexcode(beamAutoEnd) Specifies when automatically generated beams can end. See Section ref(autobeam). -dit(code(beamAutoBegin)) Specifies when automatically generated beams +dit(code(beamAutoBegin))indexcode(beamAutoBegin) Specifies when automatically generated beams can start. See Section ref(autobeam). -dit(code(textEmptyDimension)) If set to 1 then text placed above or +dit(code(textEmptyDimension))indexcode(textEmptyDimension) If set to 1 then text placed above or below the staff is assumed to have zero width. -dit(code(beamquantisation)) Set to code(\none) for no quantization. +dit(code(beamquantisation))indexcode(beamquantisation) Set to code(\none) for no quantization. Set to code(\normal) to quantize position and slope. Set to code(\traditional) to avoid wedges. These three settings are available via code(\beamposfree), code(\beamposnormal), and code(\beampostraditional). -dit(code(beamslopedamping)) Set to code(\none) for undamped beams. +dit(code(beamslopedamping))indexcode(beamslopedamping) Set to code(\none) for undamped beams. Set to code(\normal) for damped beams. Set to code(\infinity) for beams with zero slope. The identifiers code(\beamslopeproportional), code(\beamslopedamped), and code(\beamslopezero) each set the corresponding value. -dit(code(restStyle)) Change the layout of rests shorter than quarter notes. +dit(code(restStyle))indexcode(restStyle) Change the layout of rests shorter than quarter notes. Currently, the standard layout code(restStyle="") and mensural notation code(restStyle="mensural") are available. -dit(code(midiInstrument)) Sets the instrument for MIDI output. This +dit(code(midiInstrument))indexcode(midiInstrument) Sets the instrument for MIDI output. This property name must be quoted because of the embedded underscore. If this property is not set then LilyPond will use the code(instrument) property. This must be set to one of the strings on the list of MIDI instruments that appears in Section ref(midilist). If you use a string which is not listed, LilyPond will silently substitute piano. -dit(code(transposing)) Tranpose the MIDI output. Set this property to +dit(code(transposing))indexcode(transposing) Tranpose the MIDI output. Set this property to the number of half-steps to transpose by. -dit(code(oldTieBehavior)) Set to 1 in order to get old tie behavior +dit(code(oldTieBehavior))indexcode(oldTieBehavior) Set to 1 in order to get old tie behavior where ties would connect unequal pitches. This property is deprecated, and use is not recommended. -dit(code(verticalDirection)) Determines the direction of stems, subscripts, +dit(code(verticalDirection))indexcode(verticalDirection) Determines the direction of stems, subscripts, beams, slurs, and ties. Set to code(\down) to force them down, code(\up) to force them up, or code(\free) to let LilyPond decide. This can be used to distinguish between voices on the same staff. The @@ -1710,56 +1769,56 @@ code(\stemdown), code(\stemup), and code(\stemboth) identifiers set this property. See also the identifiers code(\voiceone), code(\voicetwo), code(\voicethree) and code(\voicefour). -dit(code(slurVerticalDirection)) Set to code(\free) for free choice of slur +dit(code(slurVerticalDirection))indexcode(slurVerticalDirection) Set to code(\free) for free choice of slur direction, set to code(\up) to force slurs up, set to code(\down) to force slurs down. The shorthands code(\slurup), code(\slurdown), and code(\slurboth) are available. -dit(code(tieVerticalDirection)) Set to code(\free) for free choice of tie +dit(code(tieVerticalDirection))indexcode(tieVerticalDirection) Set to code(\free) for free choice of tie direction, set to code(\up) to force ties up, set to code(\down) to force ties down. -dit(code(slurDash)) Set to 0 for normal slurs, 1 for dotted slurs, and +dit(code(slurDash))indexcode(slurDash) Set to 0 for normal slurs, 1 for dotted slurs, and a larger value for dashed slurs. Identifiers code(\slurnormal) and code(\slurdotted) are predefined to set the first two settings. -dit(code(horizontalNoteShift)) Enable LilyPond to shift notes +dit(code(horizontalNoteShift))indexcode(horizontalNoteShift) Enable LilyPond to shift notes horizontally if they collide with other notes. This is useful when typesetting many voices on one staff. The identifier code(\shift) is defined to enable this. Traditionally, the outer chords (the upmost and downmost voices), should have no horizontalNoteShift. Voice s -dit(code(forceHorizontalShift)) Force horizontal shift for collision +dit(code(forceHorizontalShift))indexcode(forceHorizontalShift) Force horizontal shift for collision resolution. It overrides automatic collision resolution. This will only work if the context also has its stem direction and horizontalNoteShift property set. The value is the shift amount expressed in code(note_width), as set in the paper section. -dit(code(dynamicDir)) Determines location of dynamic marks. Set to +dit(code(dynamicDir))indexcode(dynamicDir) Determines location of dynamic marks. Set to code(\up) to print marks above the staff; set to code(\down) to print marks below the staff. -dit(code(dynamicStyle)) Set the text style for dynamics. +dit(code(dynamicStyle))indexcode(dynamicStyle) Set the text style for dynamics. -dit(code(textStyle)) Set the text style for superscripts and +dit(code(textStyle))indexcode(textStyle) Set the text style for superscripts and subscripts. See above for list of text styles. -dit(code(textScriptPadding)) Determines the extra space added between +dit(code(textScriptPadding))indexcode(textScriptPadding) Determines the extra space added between super-/subscripted text and the closest staff line or note. -dit(code(fontSize)) Can be used to select smaller font sizes for +dit(code(fontSize))indexcode(fontSize) Can be used to select smaller font sizes for music. The normal font size is 0, and the two smaller sizes are -1 and -2. -dit(code(abbrev)) Set length for tremolo to be used if no length is +dit(code(abbrev))indexcode(abbrev) Set length for tremolo to be used if no length is explicitly specified. -dit(code(tupletDirection)) Determines the direction of triplets and +dit(code(tupletDirection))indexcode(tupletDirection) Determines the direction of triplets and other tuplets. Set to code(\down) to force them below the staff, code(\up) to force them above, or code(\free) to let LilyPond decide. -dit(code(tupletVisibility)) Determines whether tuplets of notes are +dit(code(tupletVisibility))indexcode(tupletVisibility) Determines whether tuplets of notes are labelled. Setting to 0 shows nothing; setting to 1 shows a number; setting to 2 shows a number and a bracket if there is no beam; setting to 3 shows a number, and if there is no beam it adds a bracket; @@ -1767,76 +1826,76 @@ setting to 4 shows both a number and a bracket unconditionally. The code(pletoff) and code(pleton) identifiers set the property to 0 and 3, respectively. -dit(code(markScriptPadding)) Determines the extra space added between +dit(code(markScriptPadding))indexcode(markScriptPadding) Determines the extra space added between the mark and the closest staff line or note. -dit(code(markDirection)) Determines if marks should be printed above +dit(code(markDirection))indexcode(markDirection) Determines if marks should be printed above or below the staff. Set to code(\up) to print marks above the staff; set to code(\down) to print marks below the staff. -dit(code(articulationScriptPadding)) Determines the extra space added +dit(code(articulationScriptPadding))indexcode(articulationScriptPadding) Determines the extra space added between articulation marks, such as staccato, tenuto, trill, up/down bow or fermata, and the closest staff line or note. -dit(code(articulationScriptVerticalDirection)) Determines the location +dit(code(articulationScriptVerticalDirection))indexcode(articulationScriptVerticalDirection) Determines the location of articulation marks. Set to code(\up) to print marks above the staff; set to code(\down) to print marks below the staff. This property does not override explicit directions marked with code(^) or code(_) in the mudela file. ) -subsubsubsect(Staff properties) +subsubsubsect(Staff properties)cindex(properties!Staff) description( -dit(code(createInitdefaultClef)) Specify whether clefs are created on +dit(code(createInitdefaultClef))indexcode(createInitdefaultClef) Specify whether clefs are created on default? (Doesn't seem to do anything.) -dit(code(barNumberDirection)) Set to code(\up) or code(\down) to put +dit(code(barNumberDirection))indexcode(barNumberDirection) Set to code(\up) or code(\down) to put bar numbers above or below the staff. -dit(code(barNumberHangOnClef)) Set to 1 to cause bar numbers to appear +dit(code(barNumberHangOnClef))indexcode(barNumberHangOnClef) Set to 1 to cause bar numbers to appear above or below the clef instead of on the bar line. -dit(code(barNumberScriptPadding)) Sets extra space between the bar +dit(code(barNumberScriptPadding))indexcode(barNumberScriptPadding) Sets extra space between the bar number and the bar it labels. -dit(code(barSize)) Specify the height of the bar lines if it should be +dit(code(barSize))indexcode(barSize) Specify the height of the bar lines if it should be different than the staff height. -dit(code(markHangOnClef)) Set to 1 to cause marks to appear by clefs +dit(code(markHangOnClef))indexcode(markHangOnClef) Set to 1 to cause marks to appear by clefs instead of by bar lines. Deprecated, use is not recommended. -dit(code(marginDirection)) Set to code(\left) or code(\right) to +dit(code(marginDirection))indexcode(marginDirection) Set to code(\left) or code(\right) to specify location of marginal scripts. -dit(code(marginScriptPadding)) Specify extra space for marginal scripts. +dit(code(marginScriptPadding))indexcode(marginScriptPadding) Specify extra space for marginal scripts. -dit(code(forgetAccidentals)) Causes accidentals to be printed at every +dit(code(forgetAccidentals))indexcode(forgetAccidentals) Causes accidentals to be printed at every note instead of remembered for the duration of a measure. -dit(code(noResetKey)) Do not reset the key at the start of a measure. +dit(code(noResetKey))indexcode(noResetKey) Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later. -dit(code(staffLineLeading)) Specifies the distance (in points) between lines +dit(code(staffLineLeading))indexcode(staffLineLeading) Specifies the distance (in points) between lines of the staff. -dit(code(numberOfStaffLines)) Specifies the number of staff lines. The +dit(code(numberOfStaffLines))indexcode(numberOfStaffLines) Specifies the number of staff lines. The default is 5. -dit(code(postBreakPadding)) Extra space in points to be added after +dit(code(postBreakPadding))indexcode(postBreakPadding) Extra space in points to be added after the clef, time signature and key signature on the staff. -dit(code(barAtLineStart)) Set to 1 to produce a bar line after the +dit(code(barAtLineStart))indexcode(barAtLineStart) Set to 1 to produce a bar line after the clef at the start of each line (but not at the beginning of the music). -dit(code(noVoltaBraces)) Set to true to suppress the printing +dit(code(noVoltaBraces))indexcode(noVoltaBraces) Set to true to suppress the printing of brackets over alternate endings specified by code(\alternative). -dit(code(voltaSpannerDuration)) Set to an integer to control the size +dit(code(voltaSpannerDuration))indexcode(voltaSpannerDuration) Set to an integer to control the size of the brackets printed by code(\alternative). The integer specifies the number of whole notes duration to use for the brackets. It seems to be rounded to the nearest measure. This can be used to shrink the @@ -1845,50 +1904,51 @@ large. It may have odd effects if the specified duration is longer than the music given in an code(\alternative). [FIXME: This was broken in 1.1.53] -dit(code(barNonAuto)) If set to 1 then bar lines will not be printed +dit(code(barNonAuto))indexcode(barNonAuto) If set to 1 then bar lines will not be printed automatically; they must be explicitly created with code(\bar) keywords. Unlike with the code(\cadenza) keyword, measures are still counted. Bar generation will resume according to that count if this property is set to zero. -dit(code(defaultClef)) Determines the default clef. See code(\clef) +dit(code(defaultClef))indexcode(defaultClef) Determines the default clef. See code(\clef) keyword. -dit(code(numberOfStaffLines)) Sets the number of lines that the staff has. +dit(code(numberOfStaffLines))indexcode(numberOfStaffLines) Sets the number of lines that the staff has. -dit(code(barAlways)) If set to 1 a bar line is drawn after each note. +dit(code(barAlways))indexcode(barAlways) If set to 1 a bar line is drawn after each note. -dit(code(defaultBarType)) Sets the default type of bar line. See +dit(code(defaultBarType))indexcode(defaultBarType) Sets the default type of bar line. See code(\bar) keyword. -dit(code(keyOctaviation)) If set to 1, then keys are the same in all +dit(code(keyOctaviation))indexcode(keyOctaviation) If set to 1, then keys are the same in all octaves. If set to 0 then the key signature for different octaves can be different and is specified independently: code(\keysignature bes fis'). The default value is 1. Can be set to zero with code(\specialkey) or reset to 1 with code(\normalkey). dit(code(instrument) and code(instr)) If code(Staff_margin_engraver) +cindex(instrument)cindex(instr) is added to the Staff translator, then the code(instrument) property is used to label the first line of the staff and the code(instr) property is used to label subsequent lines. If the code(midiInstrument) property is not set then code(instrument) is used to determine the instrument for MIDI output. -dit(code(createKeyOnClefChange)) Set to a nonempty string if you want key +dit(code(createKeyOnClefChange))indexcode(createKeyOnClefChange) Set to a nonempty string if you want key signatures to be printed when the clef changes. Set to the empty string (the default) if you do not want key signatures printed. -dit(code(timeSignatureStyle)) Changes the default two-digit layout +dit(code(timeSignatureStyle))indexcode(timeSignatureStyle) Changes the default two-digit layout for time signatures. The following values are recognized: description( - dit(code(C)) 4/4 and 2/2 are typeset as C and struck C, + dit(code(C))indexcode(C) 4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits. - dit(code(old)) 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and + dit(code(old))indexcode(old) 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are typeset with old-style mensuration marks. All other time signatures are written with two digits. - dit(code(1)) All time signatures are typeset with a single + dit(code(1))indexcode(1) All time signatures are typeset with a single digit, e.g. 3/2 is written as 3. - dit(code(C2/2), code(C4/4), code(old2/2), code(old3/2), + dit(indexandcode(C2/2), code(C4/4), code(old2/2), code(old3/2), code(old2/4), code(old3/4), code(old4/4), code(old6/4), code(old9/4), code(old4/8), code(old6/8), code(old6/8alt) or code(old9/8))Tells Lilypond to use a specific symbol as @@ -1929,7 +1989,7 @@ mudela(center)( } ) -dit(code(clefStyle)) Determines how clefs are typeset. When set to +dit(code(clefStyle))indexcode(clefStyle) Determines how clefs are typeset. When set to code(transparent), the clefs are not printed at all, when set to code(fullSizeChanges), clef changes in the middle of a line are typeset with a full size clef. By default, clef changes are typeset in @@ -1937,27 +1997,27 @@ smaller size. ) -subsubsubsect(GrandStaff properties) +subsubsubsect(GrandStaff properties)cindex(properties!GrandStaff) description( -dit(code(alignmentReference)) Set to code(\center) for vertical +dit(code(alignmentReference))indexcode(alignmentReference) Set to code(\center) for vertical alignment reference point to be in the center of the vertical group. Set to code(\up) to put the reference point at the top of the group. -dit(code(maxVerticalAlign)) Set the maximum vertical distance between +dit(code(maxVerticalAlign))indexcode(maxVerticalAlign) Set the maximum vertical distance between staffs. -dit(code(minVerticalAlign)) Set the minimum vertical distance between +dit(code(minVerticalAlign))indexcode(minVerticalAlign) Set the minimum vertical distance between staffs. ) -subsubsubsect(Score properties) +subsubsubsect(Score properties)cindex(properties!Score) description( -dit(code(skipBars)) Set to 1 to skip the empty bars that are produced +dit(code(skipBars))indexcode(skipBars) Set to 1 to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. Set to zero (the default) to expand multimeasure notes and rests into their full length, printing the appropriate @@ -1966,183 +2026,84 @@ preserved. COMMENT(meaning of "skip" here seems to be different from the meaning used for the keyword \skip.) ) -subsubsubsect(ChordNamesVoice properties) +subsubsubsect(ChordNamesVoice properties)cindex(properties!ChordNamesVoice) description( -dit(code(chordInversion)) Determines whether LilyPond should look for +dit(code(chordInversion))indexcode(chordInversion) Determines whether LilyPond should look for chord inversions when translating from notes to chord names. Set to 1 to find inversions. The default is 0 which does not look for inversions. ) +sect(Notation output definitions)cindex(Output)cindex(Notation output) +cindex(output definition) +label(output) +label(paper) -sect(Pre-defined Identifiers) -label(ident) +The most important output definition is the code(\paper) block, for +music notation. The syntax is +code(\paper {) [var(paperidentifier)] var(items) code(}), +where each of the items is one of -Various identifiers are defined in the initialization files to -provide shorthands for some settings. +itemize( + +it() An assignment. The assignment must be terminated by a semicolon. +See Section ref(papervars) for information on paper variables. + +it() A context definition, see Section ref(contextdefs) for more +information on context definitions. + +it() A margin shape declaration. The syntax is code(\shape) +var(indent1)code(,) var(width1)code(,) var(indent2)code(,) var(width2) +... code(;) +indexcode(\shape) +Each pair of var(indent) and var(width) values is a +dimension specifying how far to indent and how wide to make the line. +The indentation and width of successive lines are specified by the +successive pairs of dimensions. The last pair of dimensions will +define the characeristics of all lines beyond those explicitly +specified. + +it() A font declaration. Its syntax is var(fontsize) code(=) +code(\font)keyindex(font) var(fontname). var(fontsize) is an integer +describing the font to be used. 0 is the default font. var(fontname) +is the basename of a font (usually a member of the Feta family). -description( -dit(code(\aeolian)) Used as the second argument of the code(\key) -keyword to get an aeolian mode. -dit(code(\break)) Force a line break in music by using a large -argument for the keyword code(\penalty). -dit(code(\center)) Used for setting textalignment property. Is set to 0. -dit(code(\cr)) Start a crescendo. -dit(code(\decr)) Start a decrescendo. -dit(code(\dorian)) Used as the second argument of the code(\key) -keyword to get a dorian mode. -dit(code(\down)) Used for setting direction setting properties. Is -equal to -1. -dit(code(\f)) Print forte symbol on the preceding note. -dit(code(\ff)) Print fortissimo symbol on the preceding note. -dit(code(\fff)) Print fortississimo symbol on preceding note. -dit(code(\ffff)) Print fortissississimo symbol on preceding note. -dit(code(\fffff)) Print fffff symbol on preceding note. -dit(code(\ffffff)) Print ffffff symbol on preceding note. -dit(code(\fp)) Print fortepiano symbol on preceding note. -dit(code(\free)) Used for setting direction setting properties. Is -equal to 0. -dit(code(\Gourlay)) Used for setting the paper variable -code(castingalgorithm). Is equal to 1.0. -dit(code(\infinity)) Used for setting the Score.beamslopedamping -property. Is actually equal to 10000. -dit(code(\ionian)) Used as the second argument of the code(\key) -keyword to get an ionian mode. -dit(code(\left)) Used for setting textalignment property. Is equal to -1. -dit(code(\locrian)) Used as the second argument of the code(\key) -keyword to get a locrian mode. -dit(code(\lydian)) Used as the second argument of the code(\key) -keyword to get a lydian mode. -dit(code(\major)) Used as the second argument of the code(\key) -keyword to get a major key. -dit(code(\minor)) Used as the second argument of the code(\key) -keyword to get a minor key. -dit(code(\mixolydian)) Used as the second argument of the code(\key) -keyword to get a mixolydian mode. -dit(code(\mf)) Print mezzoforte symbol on preceding note. -dit(code(\mp)) Print mezzopiano symbol on preceding note. -dit(code(\nobreak)) Prevent a line break in music by using a large -negative argument for the keyword code(\penalty). -dit(code(\none)) Used for setting Score.beamslopedamping and -Score.beamquantisation properties. Is equal to 0. -dit(code(\normal)) Used for setting Score.beamslopedamping and -Score.beamquantisation properties. Is equal to 1. -dit(code(\normalkey)) Select normal key signatures where each octave -has the same key signature. This sets the Staff.keyoctaviation property. -dit(code(\p)) Print a piano symbol on preceding note. -dit(code(\phrygian)) Used as the second argument of the code(\key) -keyword to get a phrygian mode. -dit(code(\pp)) Print pianissimo symbol on preceding note. -dit(code(\ppp)) Print pianississimo symbol on preceding note. -dit(code(\pppp)) Print pianissississimo symbol on preceding note. -dit(code(\ppppp)) Print ppppp symbol on preceding note. -dir(code(\pppppp)) Print pppppp symbol on preceding note. -dit(code(\rc)) Terminate a crescendo. -dit(code(\rced)) Terminate a decrescendo -dit(code(\rfz)) Print a rinforzato symbol on preceding note. -dit(code(\right)) Used for setting textalignment property. Is set to 1. -dit(code(\sf)) Print a subito-forte symbol on preceding note. -dit(code(\sff)) Print a subito-fortissimo symbol on preceding note. -dit(code(\sfz)) Print a sforzato symbol on preceding note. -dit(code(\shiftoff)) Disable horizontal shifting of note heads that collide. -Sets the Voice.horizontalNoteShift property. -dit(code(\shifton)) Enable note heads that collide with other note heads -to be shifted horiztonally. Sets the Voice.horizontalNoteShift property. -dit(code(\slurboth)) Allow slurs to be above or below notes. This -sets the Voice.slurVerticalDirection property. -dit(code(\slurdown)) Force slurs to be below notes. This sets the -Voice.slurVerticalDirection property. -dit(code(\slurup)) Force slurs to be above notes. This sets the -Voice.slurVerticalDirection property. -dit(code(\sp)) Print a subito-piano symbol on preceding note. -dit(code(\spp)) Print a subito-forte symbol on preceding note. -dit(code(\specialkey)) Allow keys signatures do differ in different -octaves. This sets the Staff.keyoctaviation property. -dit(code(\stemboth)) Allow stems, beams, and slurs to point either -direction. This sets the Voice.verticalDirection property. -dit(code(\stemdown)) Force stems, beams, and slurs to point down. -This sets the Voice.verticalDirection property. -dit(code(\stemup)) Force stems, beams and slurs to point up. This -sets the Voice.verticalDirection property. -dit(code(\traditional)) Used for setting the -Score.beamquantisation property. Is equal to 2. -dit(code(\up)) Used for setting various direction properties. Is -equal to 1. -dit(code(\voiceone)) Enter Voice context called code(one) and force stems down. -(See code(\stemdown).) -dit(code(\voicetwo)) Enter Voice context called code(two) and force stems -up. (See code(\stemup).) -dit(code(\voicethree)) Enter Voice context called code(three) and force stems -up. -dit(code(\voicefour)) Enter Voice context called code(four), force stems down -and turn on horizontal shifting. (See code(\stemdown) and code(\shifton).) -dit(code(\Wordwrap)) Used for setting the paper variable -code(castingalgorithm). Equal to 0.0. ) -sect(Output) -label(output) -label(paper) -The output produced by LilyPond is controlled by the code(\paper) and -code(\midi) keywords. These keywords appear in the code(\score) block -to indicate that printed or musical output should be produced. If -neither keyword appears in a code(\score) block, then paper output is -produced but MIDI output is not produced. - -The contents of the code(\paper) and code(\midi) blocks can change the -output in various ways. These blocks can appear at the top level of a -Mudela file to set default parameters for each type of output. It is -still necessary to explicitly specify the output type in the -code(\score) blocks if you don't want the default behavior of -producing only paper output. - -The code(\paper) and code(\midi) blocks -may begin with an optional identifier reference. No -identifier references are allowed anywhere else in the block. -The code(\paper) block can contain the code(\shape) keyword; the -code(\midi) block can contain the code(\tempo) keyword. Both of them -can contain code(\translator) keywords. The code(\paper) block can -also contain identifier assignments and parameter assignments. Unlike -at the top level, these assignments must be terminated by a semicolon. - -subsect(Changing Font Size and Paper Size) + +subsect(Changing Font Size and Paper Size)cindex(Changing Font Size and Paper Size) The Feta font provides musical symbols at six different sizes. These fonts are 11 point, 13 point, 16 point, 20 point, 23 point, and 26 point. The point size of a font is the height of the five line staff -when displayed in the font. The default font is 20 points. To select -a different font size you must load the desired size with an -code(\include) keyword at the top level and then you must select the -desired size with an identifier in the code(\paper) block. To load a -font use the command code(\include "paper)var(N)code(.ly") where -var(N) is the desired font size. For example, using code(\include -"paper26.ly") will produce very large music. This statement should -appear at the top level at the top of your Mudela file. To select the -font for printing, this you must include code(\paper_twentysix) in the -code(\paper) block of your file. The identifiers that are used to -select different font sizes are code(paper_eleven), -code(paper_thirteen), code(paper_sixteen), code(paper_twenty), -code(paper_twentythree), and code(paper_twentysix). +when displayed in the font. -To change the paper size, you must first set the code(papersize) -variable at the top level. Set it to code(a4), code(letter), or -code(legal). After this specification, you must set the font as -described above. If you want the default font, then use the 20 point -font. The new paper size will not take effect if the font is not -loaded and selected afterwords. Paper size selection works by loading -a file named after the paper size you select. +Definitions for these sizes are the files file(paperSZ.ly), where +code(SZ) is one of 11, 13, 16, 20, 23 and 26. If you include any of +these files, the identifiers code(paper_eleven), code(paper_thirteen), +code(paper_sixteen), code(paper_twenty), code(paper_twentythree), and +code(paper_twentysix) are defined respectively. The default +code(\paper) block is also set. +To change the paper size, you must first set the code(papersize) +variable at the top level. Set it to the strings code(a4), +code(letter), or code(legal). After this specification, you must set +the font as described above. If you want the default font, then use +the 20 point font. The new paper size will not take effect if the +font is not loaded and selected afterwards. Paper size selection +works by loading a file named after the paper size you select. -subsect(Paper variables) -Warning: this section is outdated and inaccurate. +subsect(Paper variables)cindex(Paper variables) +label(papervars) There are a large number of paper variables that are used to control -details of the layout. Usually you will not want to change these +details of the layout. These variables control layout defaults for the +entire score. Usually you will not want to change these variables; they are set by default to vaules that depend on the font size in use. The values are used by the graphic objects while formatting the score; they are therefore implementation dependent. @@ -2150,125 +2111,112 @@ Most variables are accompanied by documentation in the initalization file file(params.ly) or file(paperSZ.ly), where code(SZ) is the staff height in points. - Nevertheless, here are some variables you may want to use or change: description( -dit(code(indent)) Sets the indentation of the first line of music. +dit(code(indent))indexcode(indent) The indentation of the first line of music. -dit(code(interline)) The distance between two staff lines, calculated -from the center of the lines. You should use either this or -code(rulethickness) as a unit for distances you modify. +dit(code(interline))indexcode(interline) The distance between two +staff lines, calculated from the center of the lines. You should use +either this or code(rulethickness) as a unit for distances you modify. -dit(code(linewidth)) Sets the width of the lines. If it is set to --1.0, then a single unjustified line is produced. +dit(code(linewidth))indexcode(linewidth) Sets the width of the +lines. If it is set to -1.0, then a single unjustified line is +produced. + +dit(code(output))indexcode(output) Specifies an alternate name for +the TeX() output. A file(.tex) extension will be added to the string +you specify. + +dit(code(rulethickness))indexcode(rulethickness) Determines thickness of staff lines and bars. + +code(castingalgorithm)indexcode(castingalgorithm)0 +The algorithm to use for breaking lines. +Choices are code(\Gourlay)keyindex(Gourlay) for a TeX() like dynamic +programming algorithm, and code(\Wordwrap)keyindex(Wordwrap) for a +simple algorithm. Gourlay breaking looks much better, but takes em(a +lot) more resources. Wordwrap leaves really spaced out lines at the +end + -dit(code(output)) Specifies an alternate -name for the TeX() output. A file(.tex) extension will be added to -the string you specify. -dit(code(rulethickness)) Determines thickness of staff lines and bars. ) -In order to change the font size used for the output, many variables -need to be changed. Some identifiers and initialization files can -simplify this process. The default size is 20pt. In order to select -a different size, you must do two things. At the top level, do -code(\include "paper)var(SZ)code(.ly") where var(SZ) is the height of -the staff in points. Values presently allowed are 11, 13, 16, 20, and -26. This loads some definitions, but does not cause them to take -effect. In order to actually change the size, you must use one of the -identifiers: code(\paper_eleven), code(\paper_thirteen), -code(\paper_sixteen), code(\paper_twenty) or code(\paper_twentysix) -inside a code(\paper) block. +subsect(Context definitions)cindex(context definition) +label(translators) -subsect(MIDI Instrument Names) -label(midilist) +A notation contexts is defined by the following information + +enumerate( +it() a name +it() The LilyPond modules that do the actual conversion of music to +notation. Each module is a so-called code(Engraver)cindex(Engraver). +it() How these modules should cooperate, i.e. which ``cooperation +module'' should be used. This cooperation module is a special type +of engraver. +it() what other contexts the context can contain, +it() what properties are defined +) -The MIDI instrument name is set by the code(Staff.midiInstrument) -property or, if that property is not set, the code(Staff.instrument) -property. The instrument name should be chosen from this list. If -string does not exactly match one from this list then LilyPond uses -the default piano. -COMMENT( acordina = accordion, tango accordian = concertina - distortion guitar = distorted guitar - orchestral strings = harp - pan flute = wood flute? ) +A context definition has this syntax: code(\translator +{ )var(translatorinit) var(translatormodifierlist) code(}). -verb("acoustic grand" "contrabass" "lead 7 (fifths)" -"bright acoustic" "tremolo strings" "lead 8 (bass+lead)" -"electric grand" "pizzicato strings" "pad 1 (new age)" -"honky-tonk" "orchestral strings" "pad 2 (warm)" -"electric piano 1" "timpani" "pad 3 (polysynth)" -"electric piano 2" "string ensemble 1" "pad 4 (choir)" -"harpsichord" "string ensemble 2" "pad 5 (bowed)" -"clav" "synthstrings 1" "pad 6 (metallic)" -"celesta" "synthstrings 2" "pad 7 (halo)" -"glockenspiel" "choir aahs" "pad 8 (sweep)" -"music box" "voice oohs" "fx 1 (rain)" -"vibraphone" "synth voice" "fx 2 (soundtrack)" -"marimba" "orchestra hit" "fx 3 (crystal)" -"xylophone" "trumpet" "fx 4 (atmosphere)" -"tubular bells" "trombone" "fx 5 (brightness)" -"dulcimer" "tuba" "fx 6 (goblins)" -"drawbar organ" "muted trumpet" "fx 7 (echoes)" -"percussive organ" "french horn" "fx 8 (sci-fi)" -"rock organ" "brass section" "sitar" -"church organ" "synthbrass 1" "banjo" -"reed organ" "synthbrass 2" "shamisen" -"accordion" "soprano sax" "koto" -"harmonica" "alto sax" "kalimba" -"concertina" "tenor sax" "bagpipe" -"acoustic guitar (nylon)" "baritone sax" "fiddle" -"acoustic guitar (steel)" "oboe" "shanai" -"electric guitar (jazz)" "english horn" "tinkle bell" -"electric guitar (clean)" "bassoon" "agogo" -"electric guitar (muted)" "clarinet" "steel drums" -"overdriven guitar" "piccolo" "woodblock" -"distorted guitar" "flute" "taiko drum" -"guitar harmonics" "recorder" "melodic tom" -"acoustic bass" "pan flute" "synth drum" -"electric bass (finger)" "blown bottle" "reverse cymbal" -"electric bass (pick)" "skakuhachi" "guitar fret noise" -"fretless bass" "whistle" "breath noise" -"slap bass 1" "ocarina" "seashore" -"slap bass 2" "lead 1 (square)" "bird tweet" -"synth bass 1" "lead 2 (sawtooth)" "telephone ring" -"synth bass 2" "lead 3 (calliope)" "helicopter" -"violin" "lead 4 (chiff)" "applause" -"viola" "lead 5 (charang)" "gunshot" -"cello" "lead 6 (voice)") +var(translatorinit) can be an identifier, or code(\type +)var(typename)code(;). var(typename) is one of +itemize( +it() indexandcode(Engraver_group_engraver) the standard cooperation engraver. +it() indexandcode(Score_engraver) this is cooperation module that should be + in the top level context. +it() indexandcode(Grace_engraver_group) + This is a special cooperation module (resembling Score_engraver), + that is used to created an embedded `miniscore' +) + +var(translatormodifierlist) is a list of items, where each item is one +of +itemize( +it() code(\consists) var(engravername)code(;) + Add var(engravername) to the list of modules in this + context. Section ref(engravers) contains an overview of the + engravers available. The order of engravers added with + code(\consists) is significant. + +it() code(\consistsend) var(engravername)code(;) + Analogous to code(\consists), but makes sure that var(engravername) + is always added to the end of the list of engravers. Useful if this + context is to be modified with identifiers and code(\remove) later + on. + + Some engraver types need to be at the end of the list; this + insures they are put there, and stay there, if a user adds or + removes engravers. This command is usually not needed for + end-users. + + + +it() code(\accepts) var(contextname)code(;) + Add var(contextname) to the list of context this context can + contain. The first listed context the context to create by + default. + +it() code(\remove) var(engravername)code(;) + Remove a previously added (with code(\consists)) engraver + +it() code(\name) var(contextname)code(;) This sets name of the + context, eg. code(Staff), code(Voice). If the name is not + specified, the translator won't do anything. +it() + var(propname)code(=)var(value)code(;) A property assignment. It is + legal to use reals for var(value) -subsect(Translators) -label(translators) +) -The behavior of notation contexts is defined by the translators for -those contexts. The translator for a context specifies what notations -are handled by the context, it specifies what other contexts the -context can contain, and it sets property values for the context. -There are different translators for each type of output. The -translators for paper output are defined in file(engraver.ly). The -translators for MIDI output are defined in file(performer.ly). - -The first thing that appears inside a code(\translator) definition is -the type of the context being created. This is specified with the -code(\type) keyword: code(\type) var(typename)code(;). After the type -of the context is specified, property assignments, the code(\name) -keyword and code(\consists), code(\accepts), and code(\remove) -keywords can appear in any order. The code(\name) keyword specifies -the name of the context that is handled by the translator. If the -name is not specified, the translator won't do anything. Each -code(\accepts) keyword specifies what contexts can be contained inside -this one. The code(\consists) keywords specify which notations are -handled by the context. Each code(\consists) keyword specifies the -name of an engraver (for paper ouput) or performer (for MIDI output) -which handles a certain notation. The code(\remove) keyword can be -used to remove a performer or engraver from the translator. + In the code(\paper) block, it is also possible to define translator identifiers. Like other block identifiers, the identifier can only @@ -2281,141 +2229,268 @@ verb( \paper{ \translator{ \foo ... } } }) -Some of the standard translators have predefined identifiers, making -it easy to redefine these contexts by adding or removing items. The -predefined identifiers are: code(StaffContext), -code(RhythmicStaffContext), code(VoiceContext), code(ScoreContext), -code(ScoreWithNumbers) - - -subsubsect(Paper Types and Engravers and Pre-defined Translators) - -Notation contexts are built from LilyPond modules called Engravers and -Performers. +subsubsect(Paper Types and Engravers and Pre-defined Translators)cindex(Paper Types and Engravers and Pre-defined Translators) Some pre-defined identifiers can simplify modification of translators. The pre-defined identifiers are: description( -dit(code(StaffContext)) Default Staff context. -dit(code(RhythmicStaffContext)) Default RhythmicStaff context. -dit(code(VoiceContext)) Default Voice context. -dit(code(ScoreContext)) Default Score context. -dit(code(ScoreWithNumbers)) Score context with numbering at the -Score level. -dit(code(BarNumberingStaffContext)) Staff context with numbering at -the Staff level. -dit(code(HaraKiriStaffContext)) +dit(code(StaffContext))indexcode(StaffContext) +Default Staff context. +dit(code(RhythmicStaffContext))indexcode(RhythmicStaffContext) +Default RhythmicStaff context. +dit(code(VoiceContext))indexcode(VoiceContext) + Default Voice context. +dit(code(ScoreContext))indexcode(ScoreContext) + Default Score context. +dit(code(ScoreWithNumbers))indexcode(ScoreWithNumbers) + Score context with numbering at the Score level. + +dit(code(BarNumberingStaffContext))indexcode(BarNumberingStaffContext) + Staff context with numbering at the Staff level. + +dit(code(HaraKiriStaffContext))indexcode(HaraKiriStaffContext) Staff context that does not print if it only contains rests. Useful for orchestral scores.footnote(Hara kiri is the ritual suicide of the Samourai) -dit(code(OrchestralPartStaffContext)) -dit(code(OrchestralScoreContext)) +dit(code(OrchestralPartStaffContext))indexcode(OrchestralPartStaffContext) +dit(code(OrchestralScoreContext))indexcode(OrchestralScoreContext) ) + Using these pre-defined values, you can remove or add items to the translator verb(\paper{ \translator{ \StaffContext \remove Some_engraver; \consists Different_engraver; }}) +subsubsect(Engravers) +label(engravers) -There are four types for paper translators: -description( - dit(code(Engraver_group_engraver)) - dit(code(Hara_kiri_line_group_engraver)) - dit(code(Line_group_engraver_group)) - dit(code(Score_engraver)) - dit(code(Grace_group_engraver_group)) -) -COMMENT( The names of these types seem somewhat confusing. ) The engravers for paper output are: +[incomplete, FIXME] + description( -dit(code(Bar_engraver)) Engraves bar lines. Normally in code(Staff) and +dit(code(Bar_engraver))indexcode(Bar_engraver) Engraves bar lines. Normally in code(Staff) and code(RhythmicStaff). -dit(code(Bar_number_engraver)) Engrave bar numbers. These numbers +dit(code(Bar_number_engraver))indexcode(Bar_number_engraver) Engrave bar numbers. These numbers appear at the start of each line. Not normally in any translator. Can be added to code(Score) for Score-wide numbering or to code(Staff) for numbering on each staff. -dit(code(Beam_engraver)) Handles beam requests by engraving beams. Normally +dit(code(Beam_engraver))indexcode(Beam_engraver) Handles beam requests by engraving beams. Normally appears in the code(Voice) translator. If omitted, then notes will be printed with flags instead of beams. -dit(code(Beam_req_swallow_translator)) Swallows beam requests. In +dit(code(Beam_req_swallow_translator))indexcode(Beam_req_swallow_translator) Swallows beam requests. In code(LyricVoice). -dit(code(Chord_name_engraver)) Engraves chord names. Normally in +dit(code(Chord_name_engraver))indexcode(Chord_name_engraver) Engraves chord names. Normally in code(ChordNameVoice) -dit(code(Chord_tremolo_engraver)) -dit(code(Clef_engraver)) Engraves the clef symbol. Normally in code(Staff). -dit(code(Collision_engraver)) -dit(code(Dot_column_engraver)) Engraves dots on dotted notes shifted to the +dit(code(Chord_tremolo_engraver))indexcode(Chord_tremolo_engraver) +dit(code(Clef_engraver))indexcode(Clef_engraver) Engraves the clef symbol. Normally in code(Staff). +dit(code(Collision_engraver))indexcode(Collision_engraver) +dit(code(Dot_column_engraver))indexcode(Dot_column_engraver) Engraves dots on dotted notes shifted to the right of the note. Normally in code(Voice). If omitted, then dots appear on top of the notes. -dit(code(Dynamic_engraver)) Engraves dynamics symbols. Normally in code(Voice). -dit(code(Font_size_engraver)) -dit(code(Key_engraver)) Engraves the key signature. Normally in code(Staff). -dit(code(Local_key_engraver)) -dit(code(Lyric_engraver)) Engraves lyrics. Normally in code(LyricVoice). -dit(code(Multi_measure_rest_engraver)) Engraves multi-measure rests that are +dit(code(Dynamic_engraver))indexcode(Dynamic_engraver) Engraves dynamics symbols. Normally in code(Voice). +dit(code(Font_size_engraver))indexcode(Font_size_engraver) +dit(code(Key_engraver))indexcode(Key_engraver) Engraves the key signature. Normally in code(Staff). +dit(code(Local_key_engraver))indexcode(Local_key_engraver) +dit(code(Lyric_engraver))indexcode(Lyric_engraver) Engraves lyrics. Normally in code(LyricVoice). +dit(code(Multi_measure_rest_engraver))indexcode(Multi_measure_rest_engraver) Engraves multi-measure rests that are produced with code(R). Normally in code(Voice). -dit(code(Piano_bar_engraver)) -dit(code(Pitch_squash_engraver)) Treat all pitches as middle C. Used in +dit(code(Piano_bar_engraver))indexcode(Piano_bar_engraver) +dit(code(Pitch_squash_engraver))indexcode(Pitch_squash_engraver) Treat all pitches as middle C. Used in code(RhythmicStaff). Note that the notes move, but the locations of accidentals stay the same. -dit(code(Priority_horizontal_align_engraver)) -dit(code(Repeat_engraver)) Handles repeats? In code(Staff) and +dit(code(Priority_horizontal_align_engraver))indexcode(Priority_horizontal_align_engraver) +dit(code(Repeat_engraver))indexcode(Repeat_engraver) Handles repeats? In code(Staff) and code(RhythmicStaff). -dit(code(Rest_collision_engraver)) Handles collisions of rests. In code(Staff). -dit(code(Rest_engraver)) Engraves rests. Normally in code(Voice). -dit(code(Rhythmic_column_engraver)) -dit(code(Score_priority_engraver)) -dit(code(Script_engraver)) Handles note ornaments generated by code(\script). +dit(code(Rest_collision_engraver))indexcode(Rest_collision_engraver) Handles collisions of rests. In code(Staff). +dit(code(Rest_engraver))indexcode(Rest_engraver) Engraves rests. Normally in code(Voice). +dit(code(Rhythmic_column_engraver))indexcode(Rhythmic_column_engraver) +dit(code(Score_priority_engraver))indexcode(Score_priority_engraver) +dit(code(Script_engraver))indexcode(Script_engraver) Handles note ornaments generated by code(\script). Normally in code(Voice). -dit(code(Separating_line_group_engraver)) -dit(code(Skip_req_swallow_translator)) -dit(code(Slur_engraver)) Engraves slurs. Normally in code(Voice). -dit(code(Span_bar_engraver)) Engraves lines across multiple staffs. Normally +dit(code(Separating_line_group_engraver))indexcode(Separating_line_group_engraver) +dit(code(Skip_req_swallow_translator))indexcode(Skip_req_swallow_translator) +dit(code(Slur_engraver))indexcode(Slur_engraver) Engraves slurs. Normally in code(Voice). +dit(code(Span_bar_engraver))indexcode(Span_bar_engraver) Engraves lines across multiple staffs. Normally in code(Staffgroup) and code(GrandStaff). Removing this from code(StaffGroup) gives the definition of code(ChoirStaff). -dit(code(Span_score_bar_engraver)) -dit(code(Staff_group_bar_engraver)) -dit(code(Staff_margin_engraver)) Prints the name of the instrument +dit(code(Span_score_bar_engraver))indexcode(Span_score_bar_engraver) +dit(code(Staff_group_bar_engraver))indexcode(Staff_group_bar_engraver) +dit(code(Staff_margin_engraver))indexcode(Staff_margin_engraver) Prints the name of the instrument (specified by code(Staff.instrument) and code(Staff.instr)) at the left of the staff. -dit(code(Staff_sym_engraver)) -dit(code(Stem_engraver)) Engraves stems. Normally in code(Voice). -dit(code(Ties_engraver)) Engraves ties. Normally in code(Voice). -dit(code(Time_signature_engraver)) Engraves the time signature. Normally in +dit(code(Staff_sym_engraver))indexcode(Staff_sym_engraver) +dit(code(Stem_engraver))indexcode(Stem_engraver) Engraves stems. Normally in code(Voice). +dit(code(Ties_engraver))indexcode(Ties_engraver) Engraves ties. Normally in code(Voice). +dit(code(Time_signature_engraver))indexcode(Time_signature_engraver) Engraves the time signature. Normally in code(Staff) and code(RhythmicStaff). -dit(code(Timing_engraver)) Responsible for synchronizing timing information +dit(code(Timing_engraver))indexcode(Timing_engraver) Responsible for synchronizing timing information from staffs. Normally in code(Score). In order to create polyrhythmic music, this engraver should be removed from code(Score) and placed in code(Staff). -dit(code(Tuplet_engraver)) Engraves tuplet brackets? In code(Staff). -dit(code(Vertical_align_engraver)) +dit(code(Tuplet_engraver))indexcode(Tuplet_engraver) Engraves tuplet brackets? In code(Staff). +dit(code(Vertical_align_engraver))indexcode(Vertical_align_engraver) +) + + +sect(Pre-defined Identifiers)cindex(Pre-defined Identifiers) +label(ident) + +Various identifiers are defined in the initialization files to +provide shorthands for some settings. + +description( +dit(code(\break))keyindex(break) Force a line break in music by using a large +argument for the keyword code(\penalty). +dit(code(\center))keyindex(center) Used for setting textalignment property. Is set to 0. +dit(code(\down))keyindex(down) Used for setting direction setting properties. Is +equal to -1. +dit(code(\free))keyindex(free) Used for setting direction setting properties. Is +equal to 0. +dit(code(\infinity))keyindex(infinity) Used for setting the Score.beamslopedamping +property. Is actually equal to 10000. +dit(code(\left))keyindex(left) Used for setting textalignment property. Is equal to -1. +dit(code(\nobreak))keyindex(nobreak) Prevent a line break in music by using a large +negative argument for the keyword code(\penalty). +dit(code(\none))keyindex(none) Used for setting Score.beamslopedamping and +Score.beamquantisation properties. Is equal to 0. +dit(code(\normal))keyindex(normal) Used for setting Score.beamslopedamping and +Score.beamquantisation properties. Is equal to 1. +dit(code(\normalkey))keyindex(normalkey) Select normal key signatures where each octave +has the same key signature. This sets the Staff.keyoctaviation property. +dit(code(\right))keyindex(right) Used for setting textalignment property. Is set to 1. +dit(code(\shiftoff))keyindex(shiftoff) Disable horizontal shifting of note heads that collide. +Sets the Voice.horizontalNoteShift property. +dit(code(\shifton))keyindex(shifton) Enable note heads that collide with other note heads +to be shifted horiztonally. Sets the Voice.horizontalNoteShift property. +dit(code(\slurboth))keyindex(slurboth) Allow slurs to be above or below notes. This +sets the Voice.slurVerticalDirection property. +dit(code(\slurdown))keyindex(slurdown) Force slurs to be below notes. This sets the +Voice.slurVerticalDirection property. +dit(code(\slurup))keyindex(slurup) Force slurs to be above notes. This sets the +Voice.slurVerticalDirection property. +dit(code(\specialkey))keyindex(specialkey) Allow keys signatures do differ in different +octaves. This sets the Staff.keyoctaviation property. +dit(code(\stemboth))keyindex(stemboth) Allow stems, beams, and slurs to point either +direction. This sets the Voice.verticalDirection property. +dit(code(\stemdown))keyindex(stemdown) Force stems, beams, and slurs to point down. +This sets the Voice.verticalDirection property. +dit(code(\stemup))keyindex(stemup) Force stems, beams and slurs to point up. This +sets the Voice.verticalDirection property. +dit(code(\traditional))keyindex(traditional) Used for setting the +Score.beamquantisation property. Is equal to 2. +dit(code(\up))keyindex(up) Used for setting various direction properties. Is +equal to 1. +) + + + +sect(Sound output) + +subsect(output definition) + +The MIDI block is analogous to the paper block, but it is simpler. +The code(\midi) block can contain:cindex(MIDI block) + +itemize( +it() a code(\tempo) definition. +it() context definitions ) +Assignments are illegal in the code(\midi) block. + + +subsect(Context definitions) cindex(context definitions) + +Context definitions follow the precisely the same syntax as within the +\paper block. Translation modules for sound are called performers. +The contexts for MIDI output are defined in file(performer.ly). + + +subsect(MIDI Instrument Names)cindex(MIDI Instrument Names) +label(midilist) + +The MIDI instrument name is set by the indexandcode(Staff.midiInstrument) +property or, if that property is not set, the ndexandcode(Staff.instrument) +property. The instrument name should be chosen from this list. If +string does not exactly match one from this list then LilyPond uses +the default piano. + +COMMENT( acordina = accordion, tango accordian = concertina + distortion guitar = distorted guitar + orchestral strings = harp + pan flute = wood flute? ) + +verb("acoustic grand" "contrabass" "lead 7 (fifths)" +"bright acoustic" "tremolo strings" "lead 8 (bass+lead)" +"electric grand" "pizzicato strings" "pad 1 (new age)" +"honky-tonk" "orchestral strings" "pad 2 (warm)" +"electric piano 1" "timpani" "pad 3 (polysynth)" +"electric piano 2" "string ensemble 1" "pad 4 (choir)" +"harpsichord" "string ensemble 2" "pad 5 (bowed)" +"clav" "synthstrings 1" "pad 6 (metallic)" +"celesta" "synthstrings 2" "pad 7 (halo)" +"glockenspiel" "choir aahs" "pad 8 (sweep)" +"music box" "voice oohs" "fx 1 (rain)" +"vibraphone" "synth voice" "fx 2 (soundtrack)" +"marimba" "orchestra hit" "fx 3 (crystal)" +"xylophone" "trumpet" "fx 4 (atmosphere)" +"tubular bells" "trombone" "fx 5 (brightness)" +"dulcimer" "tuba" "fx 6 (goblins)" +"drawbar organ" "muted trumpet" "fx 7 (echoes)" +"percussive organ" "french horn" "fx 8 (sci-fi)" +"rock organ" "brass section" "sitar" +"church organ" "synthbrass 1" "banjo" +"reed organ" "synthbrass 2" "shamisen" +"accordion" "soprano sax" "koto" +"harmonica" "alto sax" "kalimba" +"concertina" "tenor sax" "bagpipe" +"acoustic guitar (nylon)" "baritone sax" "fiddle" +"acoustic guitar (steel)" "oboe" "shanai" +"electric guitar (jazz)" "english horn" "tinkle bell" +"electric guitar (clean)" "bassoon" "agogo" +"electric guitar (muted)" "clarinet" "steel drums" +"overdriven guitar" "piccolo" "woodblock" +"distorted guitar" "flute" "taiko drum" +"guitar harmonics" "recorder" "melodic tom" +"acoustic bass" "pan flute" "synth drum" +"electric bass (finger)" "blown bottle" "reverse cymbal" +"electric bass (pick)" "skakuhachi" "guitar fret noise" +"fretless bass" "whistle" "breath noise" +"slap bass 1" "ocarina" "seashore" +"slap bass 2" "lead 1 (square)" "bird tweet" +"synth bass 1" "lead 2 (sawtooth)" "telephone ring" +"synth bass 2" "lead 3 (calliope)" "helicopter" +"violin" "lead 4 (chiff)" "applause" +"viola" "lead 5 (charang)" "gunshot" +"cello" "lead 6 (voice)") -subsubsect(MIDI Types and Performers) + +subsubsect(MIDI Types and Performers)cindex(MIDI Types and Performers) The types available for MIDI translators are: description( -dit(code(Performer_group_performer)) -dit(code(Score_performer)) -dit(code(Staff_performer)) +dit(code(Performer_group_performer))indexcode(Performer_group_performer) +dit(code(Score_performer))indexcode(Score_performer) +dit(code(Staff_performer))indexcode(Staff_performer) ) The performers for MIDI translators are: description( -dit(code(Key_performer)) -dit(code(Time_signature_performer)) -dit(code(Note_performer)) -dit(code(Lyric_performer)) -dit(code(Swallow_performer)) +dit(code(Key_performer))indexcode(Key_performer) +dit(code(Time_signature_performer))indexcode(Time_signature_performer) +dit(code(Note_performer))indexcode(Note_performer) +dit(code(Lyric_performer))indexcode(Lyric_performer) +dit(code(Swallow_performer))indexcode(Swallow_performer) ) -) -sect(Running LilyPond) + + + +sect(Running LilyPond)cindex(Running LilyPond) When invoked with a filename that has no extension, LilyPond will try @@ -2444,3 +2519,16 @@ as well. Subsequent code(\paper) keywords will produces sequentially numbered file names. Several files can be specified; they will each be processed independently.footnote(Not entirely true: the status of GUILE is kept). + +sect(Future improvements)cindex(Future improvements) + +Chord tremolos will be done with a code(\repeat) variant in +future versions. + +The syntax of repeats is not entirely crystallised. You can expect +more variants, better MIDI integration, better time handling. + + +whenlatex( +latexcommand(\printindex) +) diff --git a/Documentation/tex/tutorial.yo b/Documentation/tex/tutorial.yo index 23ceafe444..c764814d9a 100644 --- a/Documentation/tex/tutorial.yo +++ b/Documentation/tex/tutorial.yo @@ -48,7 +48,7 @@ latexlayoutcmds( whenlatex(notableofcontents()) whentexinfo(notableofcontents()) -article(Mudela -- Using LilyPond to typeset music) +article(Typesetting music with LilyPond) (Han-Wen Nienhuys and Jan Nieuwenhuizen) (nop()PIPETHROUGH(date "+%B %d, %Y")()()nop()) @@ -67,29 +67,24 @@ sect(Introduction) label(tutorial:introduction) latexcommand(\parindent2pc) -LilyPond is a program that can print music from a specification that -you, the user, supply. Using LilyPond may be a bit quaint in the -beginning, because you have to give that specification using a -em(language). This document is a gentle introduction to that -language, which is called Mudela, an abbreviation for Music Definition -Language. - -We will demonstrate the working of Mudela by presenting examples of -input alongside with the resulting output. We will comment on these -examples using English terms for notation, so if you are not familiar -with these terms, you should consult the glossary that is distributed -with LilyPond: it contains a list of musical terms along with -explanations and translations in some other languages. +LilyPond prints music from a specification that you, the user, supply. +You have to give that specification using a em(language). This +document is a gentle introduction to that language, which is called +Mudela, an abbreviation for Music Definition Language. + +We will demonstrate Mudela by presenting examples of input along with +resulting output. We will use English terms for notation, so if you +are not familiar with those, you should consult the glossary that is +distributed with LilyPond. sect(The first tune) label(sec:firsttune) To demonstrate what LilyPond input looks like, we start off with a -full fledged, yet simple, example. It is a convoluted version -of one of the menuets in bind(J.)bind(S.)Bach's em(Clavierbuchlein). +full fledged, yet simple example. It is a convoluted version +of the famous menuet in bind(J.)bind(S.)Bach's em(Klavierbuechlein). -mudela(verbatim)( -% lines preceded by a percent are comments. +mudela(verbatim)(% lines preceded by a percent are comments. \include "paper16.ly" \score { \notes @@ -97,11 +92,11 @@ mudela(verbatim)( \key g; \time 3/4; - \repeat "semi" 2 { + \repeat "volta" 2 { d4 g,8 a b c d4 g, g | e'4 c8 d e fis g4 g, g | - c4 d8( )c b a( )b4 c8 b a g | - a4 b8 a g fis g2. | + c4 d8()c b a( )b4 c8 b a g | + a4 [b8 a] [g fis] g2. | } b'4 g8 a b g @@ -118,20 +113,18 @@ mudela(verbatim)( } }) -Before we will discuss the contents of the above, it would be best if -you would try to enter and save this text with a text editor, compile -it with LilyPond and view the output. Details of this procedure may -vary from system to system. On a Unix system, you should enter the -input in a file ending in file(.ly), such as file(menuet.ly). To -create the output, one would issue code(ly2dvi menuet). +You can try to enter and save this text with a text editor. It is also +included with in the package as file(input/menuet.ly). Compile it +with LilyPond and view the output. Details of this procedure may vary +from system to system. To create the output, one would issue +code(ly2dvi menuet). file(ly2dvi) is a program that does the +job of calling LilyPond and TeX() and adjusting page margins. -file(ly2dvi) is a little program that does the job of calling the -LilyPond and TeX() and adjusting page margins. +If all goes well, this will create the file file(menuet.dvi). +To view this output, issue the command code(xdvi menuet). -If all goes well, this will create the output file file(menuet.dvi). -To view this output, issue the command code(xdvi menuet). Now that we -are familiar with the procedure to view the output, we will analyse -the input itself, line by line. +Now that we are familiar with the procedure to produce output, we will +analyse the input itself, line by line. verb(% lines preceded by a percent are comments.)COMMENT( @@ -143,16 +136,11 @@ by `code(%{)' and `code(%})'COMMENT( )By default, LilyPond will use definitions for a staff of 20 nop(point)footnote(A point is the standard measure of length for -printing. One point is 1/72.27 inch.) - -high. If you want smaller output (e.g., 16 point), you have to import -the settings for that size. You can do this by including a file. -code(\include "file") is replaced by the contents of code(file). -LilyPond will inspect the standard search path to look for the requested -file.COMMENT( +printing. One point is 1/72.27 inch.) high. We want smaller output +(16 point staff height), you have to import the settings for that +size, which is done.COMMENT( -)verb(\score { -) COMMENT( +)verb(\score {) COMMENT( ) A mudela file combines music with directions for outputting that music. The music is combined with the output directions by putting @@ -173,54 +161,60 @@ using raised quotes (`code(')') and ``lowered'' quotes (commas: higher is code(c''). One and two octaves below central C is denoted by code(c) and code(c,) respectively. -If you have to indicate the pitches in a long piece that is written in -either a high or very low octave, you would have to type very many -quotes. To remedy this, LilyPond has a so-called ``relative'' octave -entry mode. In this mode, notes without quotes are chosen in such an -octave that they are the closest to the preceding note. If you add a -high-quote an extra octave is added. The lowered quote will substract -an extra octave. Because the first note obviously has no predecessor, +For pitches in a long piece you might have to type many quotes. To +remedy this, LilyPond has a ``relative'' octave entry mode. In this +mode, octaves of notes without quotes are chosen such that a note is +as close as possible to the the preceding note. If you add a +high-quote an extra octave is added. The lowered quote (a comma) will +subtract an extra octave. Because the first note has no predecessor, you have to give the (absolute) pitch of the note to start with. COMMENT( )verb( - { % sequential music follows + \sequential { )COMMENT( -) The brace indicates that what follows is sequential music, i.e., -notes that are to be played and printed after each other. This is in -contrast with simultaneous music: notes that are to be played like a -chord. You should be careful not to confuse this brace with the one -coming after code(\score).COMMENT( +) What follows is sequential music, i.e., +notes that are to be played and printed after each other. +COMMENT( )verb( - \time 3/4; % set the time signature. + \time 3/4; ) COMMENT( -) This command changes the time signature of the current piece: this -prints a 3/4 sign. The 3/4 value is also used to generate bar lines -in the right spots. -verb( +) This command changes the time signature of the current piece: a 3/4 +sign is printed. This commond is also used to generate bar lines +in the right spots.COMMENT( + +)verb( \key g; ) COMMENT( -) This command changes the current key to G-major. Although -this command comes after the code(\time) command, in the -output, the key comes before the time signature: LilyPond knows about -music typesetting conventions. -verb( - \repeat "semi" 2 { -) COMMENT( +) This command changes the current key to G-major. Although this +command comes after the code(\time) command, in the output, the key +signature comes before the time signature: LilyPond knows about music +typesetting conventions. COMMENT( -) This command tells LilyPond that the enclosed piece of music must -be played twice. -verb( - d4 -) COMMENT( +)verb( \repeat "volta" 2 ) COMMENT( + +) This command tells LilyPond that the following piece of music must +be played twice; code("volta") volta brackets should be used for +alternatives---if there were any. +COMMENT( -) This is a code(d) note. The relative music was started with a -code(c''), the real pitch of this note is code(d''). The 4 -designates the duration of the note (it is a quarter note). COMMENT( +)verb( { ) COMMENT( + +)The subject of the repeat are again sequential notes. Since +code(\sequential) is such a common construct, a abbreviation is +provided: just leave off code(\sequential), and the result is the +same. COMMENT( + +)verb(d4) COMMENT( + +) This is a note with pitch code(d) (determined up to octaves). The +relative music was started with a code(c''), so the real pitch of this +note is code(d''). The code(4) designates the duration of the note +(it is a quarter note). COMMENT( )verb( a b @@ -228,18 +222,19 @@ designates the duration of the note (it is a quarter note). COMMENT( )These are notes with pitch code(a') and code(b'). Because their duration is the same as the code(g), there is no need to enter the -duration (It is not illegal to enter it anyway. You would then enter -code(a4 b4)) COMMENT( +duration (You may enter it anyway, eg. code(a4 b4)) COMMENT( )verb( d4 g, g | ) COMMENT( -) Three more notes: The code(|) is a ``barcheck''. When processing the +) Three more notes. The `code(|)' character is a `barcheck'. When processing the music, LilyPond will check that barchecks are found at the start of -a measure. This can help you track down notes you forgot to enter. -verb( - e'4 c8 d e fis +a measure. This can help you track down errors. +COMMENT( + +)verb( + e'4 ) COMMENT( ) So far, no notes were chromatically altered. Here is the first one @@ -247,40 +242,53 @@ that is: code(fis). Mudela by default uses Dutch note names, and ``Fis'' is the Dutch note name for ``F sharp''. However, there is no sharp sign in the output. The program keeps track of key signatures, and will only print accidentals if they are needed. -verb( +COMMENT( + +)verb(c8 d e fis)COMMENT( + +)LilyPond guesses were beams can be added to eighth and shorter notes. +In this case, a beam over 4 eighths is added. +COMMENT( + +)verb( c4 d8( )c b a( )b4 c8 b a g | ) COMMENT( ) The next line shows how to make a slur: the beginning and ending note of the slur is marked with an opening and closing parenthesis respectively. In the line shown above this is -done for two slurs. Note that parentheses (slur markers) are between -the notes. COMMENT(As you can see, parentheses do not have to nest.) -verb( - a4 b8 a g fis g2. | -) COMMENT( +done for two slurs. Slur markers (parentheses) are between +the notes.COMMENT( +)verb( + a4 [b8 a] [g fis] +)COMMENT( -) A duration that is to be augmented with a duration dot, is notated -with a duration number followed by periods, as many as you want -augmentation dots. -verb( +)Automatic beaming can be overridden by inserting beam marks +(brackets). Brackets are put around notes you want beamed.COMMENT( + +)verb(g2. |)COMMENT( + +)A duration with augmentation dot is notated +with the duration number followed by a period.COMMENT( +)verb( } ) COMMENT( -) The end of the repeated music. LilyPond will typset a repeat bar. -verb( +) This ends the sequential music to be repeated. LilyPond will typset +a repeat bar. COMMENT( + +)verb( cis'4 b8 cis a4 | ) COMMENT( -) This line shows that Lily will print an accidental if that is +)This line shows that Lily will print an accidental if that is needed: the first C sharp will be printed with an accidental, the second one without. COMMENT( )verb( a8-. b-. cis-. d-. e-. fis-. )COMMENT( -)There is more to music than pitches and rhythms. An important aspect -is articulation. You can enter articulation signs either in a verbose -in abbreviated for. Here we demonstrate the abbreviated form: it is +)You can enter articulation signs either in a verbose or in an +abbreviated form. Here we demonstrate the abbreviated form: it is formed by a dash and the the character for the articulation to use, e.g. code(-.) for staccato as shown above. COMMENT( @@ -289,30 +297,30 @@ e.g. code(-.) for staccato as shown above. COMMENT( ) COMMENT( ) -Rests are denoted by the special notename code(r). You can also make +Rests are denoted by the special notename code(r). You can also enter an invisible rest by using the special notename code(s). verb( d2.-\fermata ) COMMENT( -) All articulations have a verbose form, like code(\fermata). The -``command'' COMMENT(Hi Adrian :-) code(\fermata) is not part of the +)All articulations have a verbose form, like code(\fermata). The +`command' code(\fermata) is not part of the core of the language (most of the other discussed elements are), but it is an abbreviation of a more complicated description of a fermata. code(\fermata) names that description and is therefore called an -em(identifier). +em(identifier). COMMENT( -verb( - } -) COMMENT( +)verb( } ) COMMENT( ) -This ends the sequential music. +Here the music ends. +COMMENT( -verb(\paper { - linewidth = 14.0\cm; -}) -This specifies a conversion from music to notation output. Most of +)verb(\paper { + linewidth = 10.0\cm; +})COMMENT( + +)This specifies a conversion from music to notation output. Most of the details of this conversions (font sizes, dimensions, etc.) have been taken care of, but to fit the output in this document, it has to be smaller. We do this by setting the line width to 10 centimeters @@ -325,43 +333,41 @@ COMMENT( )The last brace ends the code(\score) block. -There are a couple of things to note here. The input format tries to -capture the meaning of em(music), and not notation. Therefore the -format contains musical concepts like pitches and durations, instead -of symbols and positions. Second, the format tries to be -em(context-free): a note will sound the same regardless of the current -time signature, the key nop(etc.) +There are two things to note here. The format contains musical +concepts like pitches and durations, instead of symbols and positions: +the input format tries to capture the meaning of em(music), and not +notation. Therefore Second, the format tries to be em(context-free): +a note will sound the same regardless of the current time signature, +the key, etc. The purpose of LilyPond informally is explained by the term `music -typesetter'. As you may have figured out by now, this is not a really -adequate name: not only does the program print musical symbols, it -also tries to make esthetic decisions, and it also em(generates) both -the symbols and the decisions from a high-level musical description. -In other words, the function of LilyPond would be best described by -`music compiler' or `music to notation compiler'. - -As you can see, the most interesting part of the input is music +typesetter'. This is not a fully correct name: not only does the +program print musical symbols, it also makes esthetic decisions. All +symbols and their placement is em(generated) from a high-level musical +description. In other words, LilyPond would be best +described by `music compiler' or `music to notation compiler'. + +The most interesting part of the input is the music itself, in this case the sequence of notes. We will therefore focus -on entering music for now. Consequently, when we mean -verb(\score { - \notes { XXXX } +on music for now. Consequently, when we mean COMMENT( +)verb(\score { + \notes { MUSIC } \paper { } })COMMENT( ) we will leave out the the repetitive details for now and only print -code(XXXX). - +code(MUSIC). sect(When you know the notes to nop(print)ellipsis()) -The basic building block of music is the note. We lightly touched -notes in the previous example. Here comes the full explanation A note -is made of a pitch and a duration. The pitch of the central C is -written as code(c'). This is in line with musicological notation; -there this pitch is transcribed as nop(c)sups(1) or c'. A -quarter-note duration is written as code(4). So, to print a quarter -note whose pitch is central C, you enter the following code(c'4). +The basic building block of music is the note. Here comes the full +explanation A note is made of a pitch and a duration. The pitch of +the central C is written as code(c'). This is in line with +musicological notation; there this pitch is transcribed as +nop(c)sups(1) or c'. A quarter-note duration is written as code(4). +So, to print a quarter note whose pitch is central C, you enter the +following code(c'4). subsect(Duration) @@ -399,17 +405,11 @@ subsect(Basic pitches) The pitch code(c') consists of two parts: one part for the note name, and one for the octave. The letter specifies which note name to use: note names simply are the letters code(a) to code(g). The number of -apostrophes specifies the octave to use: the central C is denoted by -code(c').footnote(By convention, the A above central C at concert +apostrophes specifies the octave to use: the C below central C is denoted by +code(c).footnote(By convention, the A above central C at concert pitch is the tone that is used to tune instruments. Its frequency is -about 440 Hz.) The C which is an eighth higher (the C in the -``two-line octave'') is denoted by code(c''): every octave adds a -quote. A note name without quotes designates the pitch below code(c') -(the C in the ``small octave''). If you want to go down even further, -commas (sunken apostrophes) should be added, e.g., the C in the -``contra octave'' is expressed as code(c,,). - -This example demonstrates pitches +about 440 Hz.) Octaves can be added and substracted by adding quotes +(code(')) and adding commas (code(,)). mudela(fragment,verbatim,center)( c,,4 c, c c' c'' c''' d'4 e'4 f'4 g'4 ) @@ -417,9 +417,8 @@ mudela(fragment,verbatim,center)( subsect(Alterations) -We have so far ignored chromatically altered pitches. The names `a' -to `g' for entering pitches are convenient: they are short, -pronounceable and they resemble the words for pitches in normal +The names `a' to `g' for entering pitches are convenient: th7ey are +short, pronounceable and they resemble the words for pitches in normal musical vocabulary. Enter flats and sharps. In English there is no standard terse word @@ -427,7 +426,7 @@ for C sharp or C flat. For this reason, mudela uses a different, non-English convention for entering altered pitches: a note is made sharp by adding the suffix `--is' to its name, and flat by adding the suffix `--es'. For a double sharp another `--is' suffix is added, for -flats another `--es' nop(suffix.) footnote(Variations on this +flats another `--es' nop(suffix.)footnote(Variations on this convention are used in a number of germanic languages, notably Dutch, German, Swedish, and Norwegian.) The names for the alterations of C are given in bind(Table)ref(notename-tab). @@ -452,43 +451,49 @@ Throughout this document we will continue to use these names.footnote( Mudela defaults to Dutch notenames. To make (Dutch) pronunciation easier, the a-flat and e-flat are contracted to code(as) and code(es). Similarly, the a double flat and e double flat are - contracted to code(ases) and code(eses). For consistency, the dutch + contracted to code(ases) and code(eses). For consistency, the Dutch names also include code(aes), code(aeses), code(ees) and code(eeses)) If you are not comfortable with these names, you can make your own. Note names for different languages are included with the example -initialisation files, amongst others English (C sharp is abbreviated -to code(cs)), Italian, Swedish and Norwegian. If you want to use -these names, issue code(\include "LANGUAGE.ly") where you could -substitute code(italiano), code(deutsch) etc. for LANGUAGE. You -should include these files at toplevel, i.e., before opening a -code(\score) block. +initialisation files, among others English (C sharp is abbreviated to +code(cs)), Italian, Swedish and Norwegian. If you want to use these +names, issue code(\include "LANGUAGE.ly") where you could substitute +code(italiano), code(deutsch) etc. for LANGUAGE. You should include +these files at toplevel, i.e., before opening a code(\score) block. + + + sect(Chords) -The previous examples all notes that were to be played sequentially, one -note following the other. You can also use LilyPond to typeset -chords. You do this by expressing in mudela simultaneous music, -i.e., notes that are to be played concurrently. +You can also use LilyPond to typeset chords. You do this by +expressing in mudela simultaneous music, i.e., notes that are to be +played concurrently. subsect(Where the chords have no names) -In Mudela you can form simultaneous music by enclosing notes in -pointed parentheses, bind(i.e.)bind(langle())bind(and)rangle(). ASCII -doesn't really have these delimiters, so Mudela uses the larger-than -(code(>)) and smaller-than (code(<)) signs instead. For example, a -D-major chord is expressed as -mudela(fragment,verbatim,center)( - + +In Mudela you can form simultaneous music by entering +code(\simultaneous {)var(stuff)code( }). A D-major chord is expressed +as COMMENT( + +)verb( +\simultaneous { d'8 fis'8 a'8 d''8 } +)mudela(fragment,verbatim,center)( + \context Voice \simultaneous { d'8 fis'8 a'8 d''8 } ) -Chords can be entered in the music in the same places that notes -can. As an example we give a snippet of ``Twinkle Twinkle Little -Star'' in chords. The chords may seem slightly unconventional, but -they only serve to show how chords work. We've aligned the chords in -the input on their starting beat to help you reading it. This -layout does not influence the typesetting result in any way. +Simultaneous music are often used, so they an abbreviated form: +You can enter code(\simultaneous {)var(stuff)code( }) as +code(< )var(stuff)code( >). + +Chords can be entered in the music in the same places that notes can. +As an example we give a snippet of ``Twinkle Twinkle Little Star'' in +chords. We've aligned the chords in the input on their starting beat +to help you reading it. This layout does not influence the +typesetting result in any way. mudela(verbatim, fragment)( \relative c' { @@ -518,7 +523,6 @@ elegantly. To adequately solve this, you have to persuade LilyPond to make separate stems for both sequential music lists. This is a topic that is covered in bind(Section)ref(sec:polyphonic). -[Chords and relative mode] subsect(Chords with names) @@ -559,38 +563,29 @@ and you may enter it any way you like, either as chords or as notes. sect(Adding nuances: articulation and dynamics) -Music can have articulation, dynamics (louder and softer), etc. These -aspecs have notation, so LilyPond can print those. We'll start out by -explaining how to obtain the smallest grains of nuance: the -articulation of a single note. Articulation is entered by writing a -dash and the name of the desired articulation mark. You have to add a -backslash in front of the name to distinguish it from the name of a -note. COMMENT( +Articulation is entered by writing a dash and the name of the +desired articulation mark. You have to add a backslash in front of +the name to distinguish it from the name of a note. COMMENT( )mudela(fragment,verbatim)( c''4-\staccato c''4-\tenuto )COMMENT( -) Typing a lot of staccato notes in this syntax will get tedious very -quickly. Therefore, Mudela has handy abbreviations for -articulation marks such as staccato and tenuto. They are shown in the -following example: COMMENT( +)Typing a lot of staccato notes in this syntax will get tedious very +quickly. However, there are handy abbreviations for a few +articulations. They are shown in the following example: COMMENT( )mudela()( -\score{ < - \property Score.textstyle = typewriter - \context Staff \notes { - c''4-. - c''4-- - c''4-+ - c''4-| - c''4-> - c''4-^ - } - \context Lyrics\lyrics { - "."4 "-" "+" "|" ">" "\^{ }" } - > - \paper { linewidth = -1.\cm; } +\score{ \notes { + \property Voice.textStyle = typewriter + c''4-._"c-." s4 + c''4--_"c-{}-" s4 + c''4-+_"c-+" s4 + c''4-|_"c-|" s4 + c''4->_"c->" s4 + c''4-^_"c-\\^{ }" s4 + } +% \paper { linewidth = 12.\cm; } })COMMENT( )Text and digits for fingering can be entered in the same manner: add a @@ -598,38 +593,23 @@ dash and the text or digit to be printed: COMMENT( )mudela(fragment,verbatim)(c''4-1 g''4-5 c''-"Sul tasto" ) -COMMENT(Currently, the meaning of the -syntax `note-dash-digit/articulation/text' is ``add a superscript to this -note.'' This is not in line with our goal to em (define) music with -Mudela. We hope that this will be fixed in a future version of the -language. In the meantime you can abuse this: the super- and -subscripts can be forced into up or down position respectively by entering an -a caret (code(^)) or an underscore, code (_) instead of the dash: -mudela (fragment,verbatim,center) ( - c'4-^ c'4^^ c'''4-^ c'''4_^ -)) Dynamic markings are another way to add a nuance to a note. They are -entered by adding the name for the dynamic sign after the note. You -should not enter a dash between the name and the note.footnote(This - is inconsistent. We hope that this will be fixed in a later - version of the language.)COMMENT( +entered by adding the name for the dynamic sign after the note. COMMENT( )mudela(verbatim,fragment)( - c4 \ff c4 \fp c4 c4 \ppp c4 c4 \sfz + c4-\ff c4-\fp c4 c4-\ppp c4 c4-\sfz )COMMENT( -UGH ) sect(Bridging the notes: beams, slurs and ties) -Music typesetting does not use fixed symbols only. A lot of symbols -are variable: they run from one note to another. In LilyPond -terminology, such a symbol is called a em(spanner). To print a -spanner, you have to attach a marker to the note that begins it and to -the one that ends it. These are the spanners that are entered like -this: +A lot of symbols in notation have variable shape;they run from one +note to another. In LilyPond terminology, such a symbol is called a +em(spanner). To print a spanner, you have to attach a marker to the +note that begins it and to the one that ends it. These are the +spanners that are entered like this: description( dit(Slur) @@ -638,7 +618,7 @@ start marker is. The stopping marker is the closing parenthesis. For example: mudela(fragment,center,verbatim)( c'4( )c'4 ) -The slur is flexible: you can nest nop(slurs,)footnote(This is +You can nest nop(slurs,)footnote(This is inconsistent when compared to the syntax for articulation hints. This will be fixed some time, we hope.) and you can connect a note with a slur on both the left and the right side: @@ -651,18 +631,11 @@ dit(Beam) The starting marker for the beam is the opening bracket, the ending marker is the closing bracket. The brackets have to be em(around) the -beamed notes. footnote(Strictly speaking, a beam is not a musical -concept: beaming doesn't change the meaning of music, it only -clarifies the rhythmic structure. One might argue that beams should -not be present in a music representation language. Unfortunately, -LilyPond is not smart enough to insert beams into music on its own. - -LilyPond does have code that guesses what the pattern should look -like, so that you don't have to specify the beaming for complicated -patterns. Alas, the algorithm used is not foolproof -yet: code([c8. c32 c32]) will produce incorrect results.) - -mudela(fragment,verbatim)( +beamed notes. LilyPond has code that guesses what the pattern should +look like, so that you don't have to specify the beaming for +complicated patterns. COMMENT( + +)mudela(fragment,verbatim)( [c'8 c'] [c'16 c' c' c'] [c'16. c'32 c' c'16.] ) @@ -700,7 +673,7 @@ within a note. It is your job to make sure that each spanner that you start, also ends. If it doesn't, then Bad Things are likely to happen. If you end -spanners that are not started, LilyPond will warn you about illegal +spanners that are not started, LilyPond will warn you about invalid ending markers. sect(Commands) @@ -760,7 +733,7 @@ dit(code(\key) var(pitch) var(type)) This command changes the current line. The var(type) argument is an integer. Useful values are available as the predefined identifiers code(\major) and code(\minor). Omitting the second argument gives major keys. The - key of C-minor can thus be specified as `code(\key es)' or + key of C-minor can be specified as `code(\key es)' or `code(\key c \minor)'. dit(code(\keysignature) var(pitchlist)) @@ -801,11 +774,11 @@ equivalent to notes, so they can appear in the same places as notes. sect(Notation context) -In bind(Section)ref(tutorial:more-staffs) it was explained that there -are more ways to notate a simple chord: as a single voice on a single -staff or in multiple staffs (and we'll soon see, that you can typeset -it as multiple voices on a staff). Obviously the concept of staff is -not really something musical. But what is it then? + +There are different ways to print multiple parts: as chords on a +single staff, as voices on a single staff, or in multiple staffs. The +concept of staff is not something musical. But what is it then? + The most simplistic explanation is: a staff is a graphic peculiarity of the notation system. In other words, a staff is a picture of five @@ -926,16 +899,14 @@ code(\context) command (Staff, GrandStaff) were all names of different contexts. A notation context is a conversion between music and notation. -We make one final observation before listing the standard notation -contexts: a score can contain many staffs and a staff can contain many -voices. This suggests that notation contexts are objects that can -contain other notation contexts. +A score can contain many staffs and a staff can contain many voices. +This suggests that notation contexts are objects that can contain +other notation contexts. -The following - is a list in alfabetic order of the contexts that are supported by -LilyPond. Each notation context is characterised by its name, the -notation elements it creates, and the contexts that it can contain. -description( +The following is a list in alfabetic order of the contexts that are +supported by LilyPond. Each notation context is characterised by its +name, the notation elements it creates, and the contexts that it can +contain. description( dit(GrandStaff) A code(GrandStaff) context contains code(Staff) @@ -948,7 +919,7 @@ dit(GrandStaff) A code(GrandStaff) context contains code(Staff) staff. The bar lines of the contained staffs are connected vertically. -dit(Lyrics) As its name suggests, The code(Lyrics) context deals with +dit(Lyrics) The code(Lyrics) context deals with typesetting lyrics. This topic will be covered in bind(Section)ref(tutorial:lyrics). @@ -986,10 +957,10 @@ COMMENT(do ChoireStaff) If you are familiar with structured documents, you might see the analogy of a context with a stylesheet: a stylesheet is neither -presentation nor information, but rather a recipe em(how) a specific -piece of information should be presented. The big difference with -stylesheets is that in music notation the elements provided by context -are essential to understanding what is notated. +presentation nor information, but a recipe em(how) a specific piece of +information should be presented. Contrary to stylesheet, in music +notation the elements provided by context are essential to +understanding what is notated. The notions of ``current clef'' and ``current position within the measure'' are all properties of notation contexts. Commands like @@ -1118,7 +1089,7 @@ other words, notes enclosed in braces. Let us try the following counterpoint:CO As you can see the result is not perfect. The notes on the last two beats look like plain chords and not like separate voices. What -really happened was that the stems of the upper and lower voices were + happened was that the stems of the upper and lower voices were printed on top of each other. To remedy this, engravers traditionally make the stems of the lower @@ -1349,6 +1320,8 @@ var(beatsperminute);, for example: COMMENT( sect(Contexts revisited: engravers) label(tutorial:engravers) +[revise] + As was promised, we will now take a dive into the more wizardrous parts of LilyPond: redefining (notation) contexts. We previously explained that a context @@ -1382,17 +1355,14 @@ etc. A notation context is formed by a group of engravers. A special class in LilyPond---the code(Engraver_group_engraver)---allows engravers to -cooperate in a group, thus forming a notation context. A variant of -this grouping object is the code(Line_group_engraver_group), which -puts the output of all the engravers (clefs, bars, etc) into a -compound object, so that these symbols can be treated as a whole. +cooperate in a group, thus forming a notation context. The following definition shows a simplified Staff context: COMMENT( )verb( \translator { - \context "Line_group_engraver_group"; + \context "Engraver_group_engraver"; \name Staff ; \consists "Bar_engraver"; @@ -1401,7 +1371,7 @@ The following definition shows a simplified Staff context: COMMENT( \consists "Local_key_engraver"; \consists "Time_signature_engraver"; \consists "Staff_symbol_engraver"; - + defaultClef = treble; \accepts "Voice"; @@ -1424,14 +1394,16 @@ is done by having only one administration for timing information: in the default configuration there is only one code(Timing_engraver), in the code(Score) context. -All staffs use the information in the code(Timing_engraver) for -generating bar lines and time signatures. So, we can have different -timing for every staff, by moving the code(Timing_engraver) into the - Staff context. +All staffs use the information in code(Score) context's the +code(Timing_engraver) for generating bar lines and time signatures. +So, we can have different timing for every staff, by moving the +code(Timing_engraver) into the Staff context. You can also declare contexts, and reference them. This is useful in combination with code(\remove "..."): code(\remove) does the opposite -of code(\consists). +of code(\consists). This example demonstrates how to move the +code(Timing_engraver) from code(Score) context into code(Staff) +context. mudela(verbatim)( @@ -1499,27 +1471,19 @@ rests; here they are used as a placeholder to attach articulation marks to. mudela(verbatim)( - bach = \notes \relative c { g16 d' b' a b d, b' d, } - bachBeams = \notes { [s4] [s4] } - staffStuff = \notes { \clef bass; \time 4/4; s1 \bar "|."; } - + bachMotive = \notes \relative c { g16 d' b' a b d, b' d, } + bach = \sequential { \clef bass; \time 4/4; \bachMotive \bachMotive \bar "|."; } slursOne = \notes { s16( s s s s16 s s )s } slursTwo = \notes { s16-. s s() s s16() s s ()s } \score{ - - - { < - \context Voice = celloVoice { \bach \bach} - \context Voice = celloVoice < { \slursOne \slursOne } - { \bachBeams \bachBeams } > - \staffStuff + \context Staff { < + \context Voice = celloVoice { \bach} + \context Voice = celloVoice { \slursOne \slursOne } > < - \context Voice = celloVoice { \bach \bach } - \context Voice = celloVoice < { \slursTwo \slursTwo } - { \bachBeams \bachBeams } > - \staffStuff + \context Voice = celloVoice { \bach } + \context Voice = celloVoice { \slursTwo \slursTwo } > } \paper { linewidth = -1.;} @@ -1596,9 +1560,7 @@ mudela(verbatim,center)( \context Staff=two \notes\relative c{ \time 4/8; \clef "bass"; - \stemup [c8( e - \translator Staff=one \stemup - g )c] + [c8( e \translator Staff=one g )c] } > \paper { @@ -1614,18 +1576,7 @@ for triplet in LilyPond reflects this. To make a triplet, you enter COMMENT( )mudela(verbatim,fragment,center)( - \context Voice \times 2/3 { c''4 c''4 c''4 } -)COMMENT( - -)Since tuplet brackets are printed by the Voice context, a Voice -context must exist before code(\times) is interpreted. To ensure this, -a context is instantiated explicitly with code(\context Voice). You -don't need this, if a Voice context is already instantiated, like in -the following example: -COMMENT( - -)mudela(fragment,verbatim,center)( - c''4 \times 2/3 { c''4 c''4 c''4 } c''4 + \times 2/3 { c''4 c''4 c''4 } )COMMENT( ) @@ -1650,7 +1601,7 @@ COMMENT( \relative c'{ \time 2/4; g' a - \repeat "semi" 2 { b c } + \repeat "volta" 2 { b c } \alternative { { d c } { d e } } @@ -1667,7 +1618,7 @@ COMMENT( )mudela(verbatim,fragment,center)( \context Lyrics \lyrics { - \repeat "folded" 2 { } + \repeat "fold" 2 { } \alternative { { Let's not sing this twice } @@ -1677,6 +1628,7 @@ COMMENT( } ) + sect(Grace notes) sect(\rhythm) diff --git a/Documentation/topdocs/INSTALL.yo b/Documentation/topdocs/INSTALL.yo index 63fc6e4c76..013ed5d385 100644 --- a/Documentation/topdocs/INSTALL.yo +++ b/Documentation/topdocs/INSTALL.yo @@ -92,9 +92,8 @@ the proper paths for the bourne and C-shell respectively are generated in file(buildscripts/out/lilypond-profile) and file(buildscripts/out/lilypond-login) during compilation. -LilyPond is a hideously slow program. A fast CPU and plenty of RAM is -recommended for comfortable use. - +LilyPond is a hiddeously big, slow and bloated program. A fast CPU +and plenty of RAM is recommended for comfortable use. sect(WEBSITE) @@ -133,7 +132,7 @@ man2html can be had from lurl(http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Ne The website will build without this utility, but you will not see our hypertextified bibliography. - TeTeX users should not forget to rerun texhash. + ) You also have to install file(buildscripts/out/ps-to-gifs) in a @@ -265,38 +264,6 @@ it()The -O2 option triggers bugs on various platforms (PowerPC, Alpha). it() On PPC you need at least EGCS-1.1.2f. ) -nsect(EXAMPLE) - -This is what I type in my xterm: - -verb( - lilypond someinput.ly - tex someinput.tex - xdvi someinput& -) - -This is what the output looks like over here: - -verb( - GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0 - Parsing ... [/home/hw/share/lilypond/init// - <..etc..> - init//performer.ly]]][input/kortjakje.ly] - Creating elements ...[8][16][24][25] - Preprocessing elements... - Calculating column positions ... [14][25] - Postprocessing elements... - TeX output to someinput.tex ... - Creating MIDI elements ...MIDI output to someinput.midi ... - - - hw:~/musix/spacer$ xdvi someinput& - [1] 855 -) - -Check out the input files, some of them have comments -Please refer to the man page for more information. - sect(REDHAT LINUX) RedHat Linux users can compile an RPM. A spec file is in @@ -310,8 +277,7 @@ verb( ) Precompiled i386 RedHat RPMS are available from -lurl(http://linux.umbc.edu/software/lilypond/rpms/). - +lurl(ftp://freshmeat.net/pub/rpms/lilypond/). sect(DEBIAN GNU/LINUX) @@ -334,5 +300,7 @@ nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl) nemail(Jan Nieuwenhuizen)(janneke@gnu.org) +In case of problems, please use the mailing list for help. + Have fun! diff --git a/INSTALL.txt b/INSTALL.txt index 3dfb8ed76a..f1ae153a05 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -111,29 +111,30 @@ and C-shell respectively are generated in build- scripts/out/lilypond-profile and buildscripts/out/lilypond- login during compilation. -LilyPond is a hideously slow program. A fast CPU and plenty -of RAM is recommended for comfortable use. +LilyPond is a hiddeously big, slow and bloated program. A +fast CPU and plenty of RAM is recommended for comfortable +use. 5: WEBSITE -If you want to auto-generate Lily's website, you'll need +If you want to auto-generate Lily's website, you'll need some additional conversion tools. o xpmtoppm (from the Portable Bitmap Utilities) (For Red- - Hat Linux users: it is included within the package - libgr-progs). the original is at ftp://ftp.x.org/con- + Hat Linux users: it is included within the package + libgr-progs). the original is at ftp://ftp.x.org/con- trib/utilities/netpbm-1mar1994.p1.tar.gz -o pnmtopng, which is also in libgr-progs for RedHat. The - original is at +o pnmtopng, which is also in libgr-progs for RedHat. The + original is at ftp://swrinde.nde.swri.edu/pub/png/applications/pnm- topng-2.37.2.tar.gz.i The version of pnmtopng that is distributed with RedHat - 5.1 and 5.2 contains a bug: pnmtopng is dynamically - linked to the wrong version of libpng. Recompile it - from source, and make sure that the pnmtopng binary is - linked statically to the libpng that is included in + 5.1 and 5.2 contains a bug: pnmtopng is dynamically + linked to the wrong version of libpng. Recompile it + from source, and make sure that the pnmtopng binary is + linked statically to the libpng that is included in libgr. RedHat 6.0 does not have this problem. tar xzf libgr-2.0.13.tar.gz @@ -142,21 +143,19 @@ o pnmtopng, which is also in libgr-progs for RedHat. The rm libpng.so* make pnmtopng - You can then install the new pnmtopng into + You can then install the new pnmtopng into /usr/local/bin/ o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html. Which, in turn depends on man2html for proper installa- - tion. man2html can be had from http://askdon- + tion. man2html can be had from http://askdon- ald.ask.uni-karlsruhe.de/hppd/hpux/Network- ing/WWW/Man2html-1.05. - The website will build without this utility, but you + The website will build without this utility, but you will not see our hypertextified bibliography. - TeTeX users should not forget to rerun texhash. - -You also have to install buildscripts/out/ps-to-gifs in a +You also have to install buildscripts/out/ps-to-gifs in a directory that is in the path. 6: CONFIGURING and COMPILING @@ -180,9 +179,9 @@ This will install a number of files, something close to: /usr/local/share/lilypond/* /usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo -The above assumes that you are root and have the GNU devel- +The above assumes that you are root and have the GNU devel- opment tools, and your make is GNU make. If this is not the -case, you can adjust your environment variables to your +case, you can adjust your environment variables to your taste: export CPPFLAGS="-I /home/me/my_include -DWEIRD_FOOBAR" @@ -191,16 +190,16 @@ taste: CPPFLAGS are the preprocessor flags. The configure script is Cygnus configure, and it will accept ---help. If you are not root, you will probably have to make +--help. If you are not root, you will probably have to make it with a different --prefix option. Our favourite location is ./configure --prefix=$HOME/usr -In this case, you will have to set up MFINPUTS, and TEXIN- +In this case, you will have to set up MFINPUTS, and TEXIN- PUTS accordingly. -Since GNU LilyPond currently is beta, you are advised to +Since GNU LilyPond currently is beta, you are advised to also use --enable-debugging @@ -212,33 +211,33 @@ Options to configure include: Enable debugging print routines (lilypond -D option) --enable-optimise - Set maximum optimisation: compile with -O2. This can - be unreliable on some compiler/platform combinations + Set maximum optimisation: compile with -O2. This can + be unreliable on some compiler/platform combinations (eg, DEC Alpha and PPC) --enable-profiling Compile with support for profiling. --enable-config - Output to a different configuration file. Needed for + Output to a different configuration file. Needed for multi-platform builds -All options are documented in the configure help The option +All options are documented in the configure help The option --enable-optimise is recommended for Real Life usage. If you do make all -everything will be compiled, but nothing will be installed. -The resulting binaries can be found in the subdirectories +everything will be compiled, but nothing will be installed. +The resulting binaries can be found in the subdirectories out/ (which contain all files generated during compilation). 7: CONFIGURING FOR MULTIPLE PLATFORMS If you want to compile LilyPond with different configuration -settings, then, you can use the --enable-config option. -Example: suppose I want to build with and without profil- +settings, then, you can use the --enable-config option. +Example: suppose I want to build with and without profil- ing. Then I'd use the following for the normal build, ./configure --prefix=~ --disable-optimise --enable-checking @@ -261,45 +260,18 @@ If you have done a successful make, then a simple should do the trick. If you are doing an upgrade, please remember to remove obso- -lete .pk and .tfm files of the fonts. A script has been +lete .pk and .tfm files of the fonts. A script has been provided to do the work for you, see bin/clean-fonts.sh. CAVEATS -o The -O2 option triggers bugs on various platforms - (PowerPC, Alpha). If you experience problems, you +o The -O2 option triggers bugs on various platforms + (PowerPC, Alpha). If you experience problems, you should first try turning off this. o On PPC you need at least EGCS-1.1.2f. -EXAMPLE - -This is what I type in my xterm: - - lilypond someinput.ly - tex someinput.tex - xdvi someinput& - -This is what the output looks like over here: - - GNU LilyPond 0.0.78 #4/FlowerLib 1.1.24 #0 - Parsing ... [/home/hw/share/lilypond/init// - <..etc..> - init//performer.ly]]][input/kortjakje.ly] - Creating elements ...[8][16][24][25] - Preprocessing elements... - Calculating column positions ... [14][25] - Postprocessing elements... - TeX output to someinput.tex ... - Creating MIDI elements ...MIDI output to someinput.midi ... - - hw:~/musix/spacer$ xdvi someinput& - [1] 855 - -Check out the input files, some of them have comments Please -refer to the man page for more information. - 9: REDHAT LINUX RedHat Linux users can compile an RPM. A spec file is in @@ -311,8 +283,8 @@ You can make the rpm by issuing rpm -tb lilypond-x.y.z.tar.gz rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z -Precompiled i386 RedHat RPMS are available from -http://linux.umbc.edu/software/lilypond/rpms/. +Precompiled i386 RedHat RPMS are available from ftp://fresh- +meat.net/pub/rpms/lilypond/. 10: DEBIAN GNU/LINUX @@ -331,4 +303,6 @@ Han-Wen Nienhuys Jan Nieuwenhuizen +In case of problems, please use the mailing list for help. + Have fun! diff --git a/NEWS b/NEWS index a07ce5738a..fd7f2aa6a1 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,19 @@ +pl 66.hwn1 + - bf: chord mode unsigned '-' -> unsigned CHORD_MINUS (1 SR conflict). + - refman reedit. + - dotdown only when verticalDirection is set. + - bfs: abc2ly convertor (more or less) successfully converts +movement 2 of Beethoven 7. + - \repeat "semi" -> \repeat "volta" + - all spacing params into paper vars. + - spacing before grace notes. + - warn if font not found. + - staccato dot / tenuto centering + - spacing for clefs. + - bf: Stem_staff_side::do_substitute_element_pointer (); + - new screenshot + +******** pl 65.hwn1 - refman updates - added \simultaneous { } , \sequential { } syntax, for diff --git a/README.txt b/README.txt index edc1dd003f..996a5c59ee 100644 --- a/README.txt +++ b/README.txt @@ -1,34 +1,35 @@ This is the toplevel README to LilyPond -LilyPond is the GNU Project music typesetter. It transforms -a musical description file into beautiful sheet music. +LilyPond is a music typesetter. It produces beautiful sheet +music using a high level description file as input. Lily- +Pond is part of the GNU Project. 1: VERSIONING -LilyPond uses a versioning scheme similar to the Linux ker- -nel. In a version "x.y.z", an even second number 'y' -denotes a stable version. For development versions 'y' is +LilyPond uses a versioning scheme similar to the Linux ker- +nel. In a version "x.y.z", an even second number 'y' +denotes a stable version. For development versions 'y' is odd. For using straightforward score production, please use -the latest stable version. Development versions may not +the latest stable version. Development versions may not produce good or nice scores. 2: REQUIREMENTS -For the compilation and running of LilyPond you need some +For the compilation and running of LilyPond you need some additional packages. Please refer to the installation instructions. -NOTE: If you downloaded a binary (.rpm or a W95/NT .zip +NOTE: If you downloaded a binary (.rpm or a W95/NT .zip file), then you don't have to compile LilyPond. 3: INSTALLATION -For your convenience, a formatted copy of the INSTALL +For your convenience, a formatted copy of the INSTALL instructions are in the toplevel directory, as INSTALL.txt -The process is fairly straightforward, but chances are that -you have to specify directories for to configure: this is +The process is fairly straightforward, but chances are that +you have to specify directories for to configure: this is done with the options --enable-tex-dir and --enable-mf-dir 4: DOCUMENTATION @@ -40,46 +41,46 @@ ure first, and then do this: make doc -You can also simply read the .yo sources. They are ASCII +You can also simply read the .yo sources. They are ASCII text. The complete documentation is accessible in formatted -form at the website http://www.cs.uu.nl/people/hanwen/lily- +form at the website http://www.cs.uu.nl/people/hanwen/lily- pond/index.html 5: COMMENTS -LilyPond is a long way from finished and polished. We do +LilyPond is a long way from finished and polished. We do appreciate criticism, comments, bugreports, patches, etc. Please send your e-mail to one of the MAILING LISTS -and not to us personally. See Documentation/links.yo for +and not to us personally. See Documentation/links.yo for more info. 6: WINDOWS 32 -If you have received this file as part of a DOS/Window32 -distribution (LilyPond-*.zip), then it is advisable to also -download the source package, since it might contain more +If you have received this file as part of a DOS/Window32 +distribution (LilyPond-*.zip), then it is advisable to also +download the source package, since it might contain more documentation ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/ If you decide to build LilyPond from source, please read the -INSTALL.txt document first, especially the Windows NT/95 +INSTALL.txt document first, especially the Windows NT/95 section. 7: CAVEATS * Please read the file BUGS for some ugly bugs. -* If you have installed a previous version, be sure to +* If you have installed a previous version, be sure to remove old font files, eg rm `find /var/lib/texmf/fonts -name 'feta*'` -a script to do this for you is in buildscripts/clean- +a script to do this for you is in buildscripts/clean- fonts.sh 8: CDROM DISTRIBUTIONS -If you have received LilyPond on a cdrom, chances are that -development has moved a some patchlevels up. Please check +If you have received LilyPond on a cdrom, chances are that +development has moved a some patchlevels up. Please check the latest version of LilyPond before reporting bugs. diff --git a/TODO b/TODO index f922b37570..cfc892e184 100644 --- a/TODO +++ b/TODO @@ -9,22 +9,8 @@ Most of the items are marked in the code as well Grep -i for TODO, FIXME and ugh/ugr/urg. .* TODO before 1.2 -. * align left edge of broken (de)cresc/slur/tie/tuplet/volta -. * auto-staff-switching. -. * staccato-dot placement/quantisation is broken again -. * warning if feta-nummer.tfm not found -. * broken examples: -input/star-spangled-banner.ly: hw? -. * spacing of accidentals -. * key restorations & repeats -. * rename \paper? -. * Grace_slur_engraver. -. * paperXX.ly \quartwidth, font setting not up to date. (Should read from AFM?) -. * input/star-spangled-banner.ly: fold for lyrics? . * Break_req handling is silly (break_forbid () + \break fucks up.) -. * account for accidentals in spacing. -. * We need feta-din*.mf files for more sizes than 10. -. * fix dynamics decently, ie. use kerning & ligatures. +. * chord names. .* Cleanups needed . * \$ and $ identifier syntax in examples. @@ -55,7 +41,12 @@ input/star-spangled-banner.ly: hw? > > .* STUFF -. * auto melismaBusy for beams. +. * We need feta-din*.mf files for more sizes than 10. +. * align left edge of broken (de)cresc/slur/tie/tuplet/volta +. * fix dynamics decently, ie. use kerning & ligatures. +. * key restorations & repeats +. * paperXX.ly \quartwidth, font setting not up to date. (Should read from AFM?) +. * * auto melismaBusy for beams. . *In Caro Mio Ben, bar 8, there's a syllable that starts on a note, and ends on a pair of grace notes. Standard practice is to mark this with a slur starting on the main note and ending on the grace note, so a @@ -276,8 +267,6 @@ spec. Is this a bug in afm2tfm?) f = fopen ("/dev/null", "r") assert (feof (f)) . * tetex: mfplain.mem -. * timesig: sometimes bottom digit too high: Xdvi doesn't handle - newly created fonts correctly. .* PROJECTS . * Scripts: diff --git a/VERSION b/VERSION index 4d94b6ae43..29a7cbaab8 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=66 +PATCH_LEVEL=67 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/flower/include/tuple.hh b/flower/include/tuple.hh new file mode 100644 index 0000000000..251eca1afd --- /dev/null +++ b/flower/include/tuple.hh @@ -0,0 +1,33 @@ +/* + tuple.hh -- declare Tuple + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + +#ifndef TUPLET_HH +#define TUPLET_HH + + +template +struct Tuple +{ + T e1_; + U e2_; + + Tuple (T t, U u) + { + e1_ = t; + e2_ = u; + } + Tuple () + { + } +}; + + + +#endif /* TUPLET_HH */ + diff --git a/input/bugs/addlyrmus.ly b/input/bugs/addlyrmus.ly new file mode 100644 index 0000000000..32b095b864 --- /dev/null +++ b/input/bugs/addlyrmus.ly @@ -0,0 +1,4 @@ + +\context Voice \addlyrics + { s8 s16 s32 s64 } + { [c16 c c c] } diff --git a/input/bugs/auto-staff-switch.ly b/input/bugs/auto-staff-switch.ly index ddf2b840be..649e24a292 100644 --- a/input/bugs/auto-staff-switch.ly +++ b/input/bugs/auto-staff-switch.ly @@ -35,4 +35,4 @@ }} -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/bugs/swits.ly b/input/bugs/swits.ly new file mode 100644 index 0000000000..44ee313124 --- /dev/null +++ b/input/bugs/swits.ly @@ -0,0 +1,15 @@ +\score{ + \context PianoStaff < + \context Staff=one \notes{ s2 } + \context Staff=two \notes\relative c{ + \time 4/8; + \clef "bass"; + [c8( e \stemup \translator Staff=one \stemup + g )c] + } + > + \paper { + linewidth=-1.0; + } +} +) diff --git a/input/denneboom.ly b/input/denneboom.ly index f088d1da8e..89f1a36275 100644 --- a/input/denneboom.ly +++ b/input/denneboom.ly @@ -7,7 +7,7 @@ copyright = "public domain"; \include "paper20.ly" -\version "1.1.52"; +\version "1.1.66"; oden = \lyrics{ O | diff --git a/input/example-3.ly b/input/example-3.ly index 753fd8faca..09473cbfcd 100644 --- a/input/example-3.ly +++ b/input/example-3.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; one = \notes\relative c{ c'' d e f diff --git a/input/just-friends.ly b/input/just-friends.ly index dfd40560bb..adf51909ba 100644 --- a/input/just-friends.ly +++ b/input/just-friends.ly @@ -57,4 +57,4 @@ of a certain tune (Jazz, Real Book, for example), like } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/menuet.ly b/input/menuet.ly new file mode 100644 index 0000000000..fb7f564a34 --- /dev/null +++ b/input/menuet.ly @@ -0,0 +1,29 @@ +% lines preceded by a percent are comments. +\include "paper16.ly" +\score { + \notes + \relative c'' + \sequential { + \key g; + \time 3/4; + + \repeat "volta" 2 \sequential { + d4 g,8 a b c d4 g, g | + e'4 c8 d e fis g4 g, g | + c4 d8()c b a( )b4 c8 b a g | + a4 [b8 a] [g fis] g2. | + } + + b'4 g8 a b g + a4 d,8 e fis d | + g4 e8 fis g d cis4 b8 cis a4 | + a8-. b-. cis-. d-. e-. fis-. + g4 fis e | + fis a, r8 cis8 + d2.-\fermata + \bar "|."; + } + \paper { + linewidth = 10.0 \cm; % standard settings are too wide for a book + } +} diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index 896184b5d0..e06b3a653f 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -23,7 +23,7 @@ * organ staff... %} -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/rhythm.ly b/input/rhythm.ly index a3217d5daf..28cded36a6 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -7,7 +7,7 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; -\version "1.1.52"; +\version "1.1.66"; ritme = \notes\transpose c'' { \time 4/4; diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index 4b7eeacfaf..4a08b2fe33 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -170,4 +170,4 @@ handLyrics = \notes \context GrandStaff < } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/accidental-spacing.sly b/input/test/accidental-spacing.sly new file mode 100644 index 0000000000..8d7bb18d8b --- /dev/null +++ b/input/test/accidental-spacing.sly @@ -0,0 +1 @@ +c''4 c4 cis4 cis [c8 c \clef "bass"; f,, f] diff --git a/input/test/auto-staff-switch.ly b/input/test/auto-staff-switch.ly index ddf2b840be..649e24a292 100644 --- a/input/test/auto-staff-switch.ly +++ b/input/test/auto-staff-switch.ly @@ -35,4 +35,4 @@ }} -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/bar-scripts.ly b/input/test/bar-scripts.ly index 640fb0df69..be26a05b5f 100644 --- a/input/test/bar-scripts.ly +++ b/input/test/bar-scripts.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; onestaff = \context Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/beam-chord.ly b/input/test/beam-chord.ly index 6362e8c1f4..88cc5a0425 100644 --- a/input/test/beam-chord.ly +++ b/input/test/beam-chord.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes\transpose c'{ diff --git a/input/test/beam-interstaff.ly b/input/test/beam-interstaff.ly index 287ff990f3..4e330f2ec8 100644 --- a/input/test/beam-interstaff.ly +++ b/input/test/beam-interstaff.ly @@ -30,4 +30,4 @@ } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly index a3b35770fb..1223fd7428 100644 --- a/input/test/beam-isknee.ly +++ b/input/test/beam-isknee.ly @@ -21,4 +21,4 @@ } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/beam-pos.ly b/input/test/beam-pos.ly index ad0f619d21..08fc5cb8df 100644 --- a/input/test/beam-pos.ly +++ b/input/test/beam-pos.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes\transpose c''{ diff --git a/input/test/beams.ly b/input/test/beams.ly index fa773dd69c..89ad63567c 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -6,7 +6,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "1.1.52"; +\version "1.1.66"; \score{ < diff --git a/input/test/breathing-sign.ly b/input/test/breathing-sign.ly index 541a817623..6d532570f7 100644 --- a/input/test/breathing-sign.ly +++ b/input/test/breathing-sign.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score { \notes \relative c' { diff --git a/input/test/broken.ly b/input/test/broken.ly index d7403184e4..167ce9e782 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.1.52"; +\version "1.1.66"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/chord-inversion.ly b/input/test/chord-inversion.ly index 0c9b3f6f98..cbdbc7913f 100644 --- a/input/test/chord-inversion.ly +++ b/input/test/chord-inversion.ly @@ -22,4 +22,4 @@ inversions = \notes\transpose c''\chords{ > } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/chord-table.ly b/input/test/chord-table.ly index 907782915f..df32a90d38 100644 --- a/input/test/chord-table.ly +++ b/input/test/chord-table.ly @@ -41,4 +41,4 @@ tab = \notes\transpose c'''\chords{ } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/chords.ly b/input/test/chords.ly index bc75dbddc2..96806af6db 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; %{ Would this be acceptable/good enough/convenient for entry? diff --git a/input/test/clefs.ly b/input/test/clefs.ly index cd97e9815f..09d0ea7f20 100644 --- a/input/test/clefs.ly +++ b/input/test/clefs.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score { \notes{ diff --git a/input/test/collisions.ly b/input/test/collisions.ly index 370ce9463f..65eb317a90 100644 --- a/input/test/collisions.ly +++ b/input/test/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "1.1.52"; +\version "1.1.66"; twovoice = \context Staff \notes < \context Voice=i { \stemdown c4 d e f g2~ g4 a [c8 d e f] c2| } @@ -33,11 +33,39 @@ chordstest = \context Staff \notes < } > +hairyChord = \context Staff \notes\relative c' < + \context Voice=one { + \property Voice.horizontalNoteShift=0 + \stemup + e4 + } + + \context Voice=two { + \stemup + \property Voice.horizontalNoteShift=1 + cis + } + + \context Voice=three { + \property Voice.horizontalNoteShift=2 + \stemup + ais + } + + \context Voice=four { + \stemdown + \property Voice.horizontalNoteShift=-1 + fis + } +> + + \score{ \notes \transpose c'' { \twovoice \twovoicesteminvert - \threevoice - \break \chordstest + \threevoice \break + \chordstest + \hairyChord } % \midi { \tempo 4:80 } diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly index 2997c12deb..27db6dfbe1 100644 --- a/input/test/defaultbars.ly +++ b/input/test/defaultbars.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score { diff --git a/input/test/dots.fly b/input/test/dots.fly index 8a00b4861f..262501b822 100644 --- a/input/test/dots.fly +++ b/input/test/dots.fly @@ -1,10 +1,10 @@ - -d''4. b c4 | +\time 6/8; +d''4. b \context Staff < - \context Voice = VA { \stemup r4. } - \context Voice = VB { \stemdown r4. } + \context Voice = VA { \stemup f'' r4. } + \context Voice = VB { \stemdown b, r4. } > diff --git a/input/test/dotted-slur.ly b/input/test/dotted-slur.ly index 5050baddbc..47d85f22f6 100644 --- a/input/test/dotted-slur.ly +++ b/input/test/dotted-slur.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes{ @@ -7,7 +7,7 @@ c( d e )c | \slurnormal c( d e )c | - \property Voice.slurdash = 3 + \property Voice.slurDash = 3 c( d e )c | \slurnormal c( d e )c | diff --git a/input/test/extender.ly b/input/test/extender.ly index 45c2ae105f..ff15b066af 100644 --- a/input/test/extender.ly +++ b/input/test/extender.ly @@ -5,4 +5,4 @@ > } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/extra-staff.ly b/input/test/extra-staff.ly index 98269b0aea..3cadd1acef 100644 --- a/input/test/extra-staff.ly +++ b/input/test/extra-staff.ly @@ -42,4 +42,4 @@ extra-staff.ly: } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/font-body.ly b/input/test/font-body.ly index 474e9a9dd1..719e9cbd20 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; FontBody= \notes\transpose c''{ \bar "|:"; diff --git a/input/test/font.ly b/input/test/font.ly index 95bfcc5840..1293eb86bf 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.1.52"; +\version "1.1.66"; \include "font-body.ly" \score{ diff --git a/input/test/font16.ly b/input/test/font16.ly index f8b65b215e..ead17ec1ff 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.1.52"; +\version "1.1.66"; \include "paper16.ly" \include "font-body.ly" diff --git a/input/test/font20.ly b/input/test/font20.ly index 2f5e368d45..b225a1007f 100644 --- a/input/test/font20.ly +++ b/input/test/font20.ly @@ -17,5 +17,5 @@ TestedFeatures = gourlay_maxmeasures =5.; } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/gmsusd.ly b/input/test/gmsusd.ly index 8535e0663f..3d57a611a0 100644 --- a/input/test/gmsusd.ly +++ b/input/test/gmsusd.ly @@ -3,7 +3,7 @@ % perhaps the current modifier approach is too simplistic -\version "1.1.52"; +\version "1.1.66"; gmsus=\notes\relative c \chords{ g1 diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index f04b4f961e..d3766a4cce 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; %{ diff --git a/input/test/grace.ly b/input/test/grace.ly index 6c68d06e8f..d9cdb871cd 100644 --- a/input/test/grace.ly +++ b/input/test/grace.ly @@ -1,6 +1,6 @@ \score {\notes \context Voice = VA \relative c'' { - \grace c8 c4 + \grace b8 c4 \grace { [c32 cis32] } gis4 \grace { [cis32 dis32] } e4 \grace { [c32 d] }\times 2/3 { [c8 c c] } @@ -10,4 +10,5 @@ \grace { \property Grace.graceAlignPosition = \right c16} c4 } \paper {linewidth = -1.;} +\midi{ } } diff --git a/input/test/hara-kiri-switch.ly b/input/test/hara-kiri-switch.ly index 0009eb1e42..9fb65d4fcf 100644 --- a/input/test/hara-kiri-switch.ly +++ b/input/test/hara-kiri-switch.ly @@ -1,4 +1,4 @@ -\version "1.1.64"; +\version "1.1.66"; voiceOne = \notes \relative c'' { a1 a a diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index d337bc7e36..8c293bd033 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; toeter_i = \notes\relative c <{ \property Staff.instrument = "Toeters" diff --git a/input/test/hshift.fly b/input/test/hshift.fly index 5545874fc4..b6ea8f09c4 100644 --- a/input/test/hshift.fly +++ b/input/test/hshift.fly @@ -1,8 +1,10 @@ \context Staff < - \context Voice =VA {\stemup \property Voice.horizontalNoteShift = 0 g'' } - \context Voice =VB {\stemup \property Voice.horizontalNoteShift = 1 e } - \context Voice =VC {\stemup \property Voice.horizontalNoteShift = 2 c } - \context Voice =VD {\stemup \property Voice.horizontalNoteShift = 3 a } - \context Voice =VE {\stemup \property Voice.horizontalNoteShift = 4 f } + \context Voice =VA {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = "0" g'' } + \context Voice =VB {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = "1" e } + \context Voice =VC {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = "2" c } + \context Voice =VD {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = "3" a } + \context Voice =VE {\property Voice.verticalDirection=1 \property Voice.horizontalNoteShift = "4" f } > + + diff --git a/input/test/hyphen.ly b/input/test/hyphen.ly index 21c2f4de6f..9864755e75 100644 --- a/input/test/hyphen.ly +++ b/input/test/hyphen.ly @@ -5,7 +5,7 @@ > } -\version "1.1.53"; +\version "1.1.66"; diff --git a/input/test/incipit.ly b/input/test/incipit.ly index d2057b2d77..6be1828c52 100644 --- a/input/test/incipit.ly +++ b/input/test/incipit.ly @@ -6,7 +6,7 @@ /Mats B %} -\version "1.1.52"; +\version "1.1.66"; incipit = \notes\relative c'{ diff --git a/input/test/keys.ly b/input/test/keys.ly index 8dc730e6b3..dbb76b187a 100644 --- a/input/test/keys.ly +++ b/input/test/keys.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; %{ test key itemv breaking diff --git a/input/test/keys2.ly b/input/test/keys2.ly index 5a12cc0bb0..042ada104c 100644 --- a/input/test/keys2.ly +++ b/input/test/keys2.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; blah = \notes { diff --git a/input/test/knee.ly b/input/test/knee.ly index d854ee539d..45aabd9528 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes\relative c'{ [c16 \stemdown c'' \stemboth c,, d] diff --git a/input/test/lyric-combine.ly b/input/test/lyric-combine.ly index 814744a235..794e03ba52 100644 --- a/input/test/lyric-combine.ly +++ b/input/test/lyric-combine.ly @@ -7,7 +7,7 @@ enteredby = "HWN, chords by Johan Vromans"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; m =\notes \relative c'' { \property Staff.automaticMelismas = "1" diff --git a/input/test/mark.ly b/input/test/mark.ly index ab478a9b21..1a04e91a7b 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; global = \notes { s1 | \mark "A"; diff --git a/input/test/memory.ly b/input/test/memory.ly index 804aca9c57..59bf4629e8 100644 --- a/input/test/memory.ly +++ b/input/test/memory.ly @@ -11,5 +11,5 @@ bla = \notes { > \paper { Gourlay_maxmeaures = 2.; } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/multi-rest.ly b/input/test/multi-rest.ly index e05b218f4f..606485d194 100644 --- a/input/test/multi-rest.ly +++ b/input/test/multi-rest.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; voice_one = \notes\transpose c''{ \stemup R1 * 2 | f'4-. r r2 | R1 * 3 | diff --git a/input/test/noteheadstyle.ly b/input/test/noteheadstyle.ly index abc1e5fbd4..b3604af716 100644 --- a/input/test/noteheadstyle.ly +++ b/input/test/noteheadstyle.ly @@ -26,4 +26,4 @@ c4 c2 c8 c16 c16 c1 } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/notemode-chords.ly b/input/test/notemode-chords.ly index a096409a42..2cec22d983 100644 --- a/input/test/notemode-chords.ly +++ b/input/test/notemode-chords.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes \transpose c''{ diff --git a/input/test/orchestscore.ly b/input/test/orchestscore.ly index f055cdd281..d0ab269d63 100644 --- a/input/test/orchestscore.ly +++ b/input/test/orchestscore.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; m = \notes \relative c''{ c1 | c2 c | c c | c c | c c | c c | c c | c c | diff --git a/input/test/ossia.ly b/input/test/ossia.ly index 1057776aff..aaef7ac1f2 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; \score { diff --git a/input/test/rest-collision.ly b/input/test/rest-collision.ly index d5e5e9bc5b..262bb63b07 100644 --- a/input/test/rest-collision.ly +++ b/input/test/rest-collision.ly @@ -38,4 +38,4 @@ restsII = \context Staff \notes { } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/scripts.ly b/input/test/scripts.ly index 92d4a624af..25b8993891 100644 --- a/input/test/scripts.ly +++ b/input/test/scripts.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; blah = \notes{ \transpose c'' { diff --git a/input/test/sleur.ly b/input/test/sleur.ly index b5ae077078..f4949f11f9 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.1.52"; +\version "1.1.66"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index 6b5619b7c8..1372820cb9 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,5 +1,5 @@ % test damping -\version "1.1.52"; +\version "1.1.66"; \score{ \notes\relative c'{ diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly index 7107a6edd9..f76f15f93b 100644 --- a/input/test/slur-interstaff.ly +++ b/input/test/slur-interstaff.ly @@ -36,4 +36,4 @@ } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/slurs.ly b/input/test/slurs.ly index 0cc8f2f06c..f32241229c 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes\transpose c'{ diff --git a/input/test/spacing-2.ly b/input/test/spacing-2.ly index 3977dc81e1..af7ca40fad 100644 --- a/input/test/spacing-2.ly +++ b/input/test/spacing-2.ly @@ -33,4 +33,4 @@ source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris."; } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/spacing.ly b/input/test/spacing.ly index de7accdd5a..827e8c4e61 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "1.1.52"; +\version "1.1.66"; multipart = \notes \relative c'{ \context StaffGroup < diff --git a/input/test/span-bars.ly b/input/test/span-bars.ly index ce5d89b3e1..cb56403e15 100644 --- a/input/test/span-bars.ly +++ b/input/test/span-bars.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; nt = \notes { c1 \break c1 c1 } stuff = \notes \relative c'' < \context Staff = stone { \nt } diff --git a/input/test/staccato-pos.sly b/input/test/staccato-pos.sly new file mode 100644 index 0000000000..31bcd80900 --- /dev/null +++ b/input/test/staccato-pos.sly @@ -0,0 +1,3 @@ +\stemup +e''4-. f-. d-. +c,-. b-. c'''-. d-. diff --git a/input/test/staff-margin.ly b/input/test/staff-margin.ly index fbf54a16f4..6173ae7ba7 100644 --- a/input/test/staff-margin.ly +++ b/input/test/staff-margin.ly @@ -1,6 +1,6 @@ -\version "1.1.52"; +\version "1.1.66"; \score { diff --git a/input/test/staff-side-slur.ly b/input/test/staff-side-slur.ly index 3c1a5fe44e..99f6374232 100644 --- a/input/test/staff-side-slur.ly +++ b/input/test/staff-side-slur.ly @@ -18,4 +18,4 @@ } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/staff-size.ly b/input/test/staff-size.ly index 40db541ff0..16f418ea97 100644 --- a/input/test/staff-size.ly +++ b/input/test/staff-size.ly @@ -14,4 +14,4 @@ > \paper { linewidth = -1.; } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/stem-tremolo.ly b/input/test/stem-tremolo.ly index bc59e46504..7405c6e32a 100644 --- a/input/test/stem-tremolo.ly +++ b/input/test/stem-tremolo.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; \score{ \notes \transpose c'''{ \stemup diff --git a/input/test/stem.ly b/input/test/stem.ly index 274405cbb6..ad30a70299 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "1.1.52"; +\version "1.1.66"; beamintervals = \notes{ \time 7/4; diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly index 7b819215e4..b0536ab331 100644 --- a/input/test/tchaikovsky.ly +++ b/input/test/tchaikovsky.ly @@ -7,7 +7,7 @@ enteredby = "Maarten Storm"; instrument= "Violoncello"; } -\version "1.1.52"; +\version "1.1.66"; % this is an example of extreme dynamics diff --git a/input/test/test-lyrics.ly b/input/test/test-lyrics.ly index 8cbeaaa738..e7152a842f 100644 --- a/input/test/test-lyrics.ly +++ b/input/test/test-lyrics.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; $somewhat_long = \lyrics{ \property Lyrics . textStyle = "roman" diff --git a/input/test/thumb.ly b/input/test/thumb.ly index ae3016d156..eccd7465a4 100644 --- a/input/test/thumb.ly +++ b/input/test/thumb.ly @@ -7,7 +7,7 @@ % the thumb-script is used in cello music to indicate a note that should % be played with your thumb. -\version "1.1.52"; +\version "1.1.66"; \score { \notes \relative c'' { [ <)b_\thumb b'-3> diff --git a/input/test/title.ly b/input/test/title.ly index 05ee23883d..f812043dfd 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -10,7 +10,7 @@ source = "urtext"; instrument= "Instrument"; } -\version "1.1.52"; +\version "1.1.66"; \score{ \notes diff --git a/input/test/transposition.ly b/input/test/transposition.ly index be8fca2c86..2fd27b3ddd 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -22,7 +22,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; vOne = \notes \relative c''{ \clef"violin"; diff --git a/input/test/tup.ly b/input/test/tup.ly index e532ed3030..e2b5865480 100644 --- a/input/test/tup.ly +++ b/input/test/tup.ly @@ -8,4 +8,4 @@ } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index b3de054952..5e6b85576f 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -1,5 +1,5 @@ -\version "1.1.52"; +\version "1.1.66"; \score { \notes < diff --git a/input/test/vertical-text.ly b/input/test/vertical-text.ly index 59d8024761..2b588baf15 100644 --- a/input/test/vertical-text.ly +++ b/input/test/vertical-text.ly @@ -15,4 +15,4 @@ } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index cb188cc04c..95cc53e305 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -7,7 +7,7 @@ enteredby = "HWN, chords by Johan Vromans"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; melodie = \notes\relative c'' { \clef "violin"; diff --git a/input/twinkle.ly b/input/twinkle.ly index d8b695706f..a80a874f2a 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -20,7 +20,7 @@ Tested Features: lyrics, interleaving lyrics and staffs, repeats, auto beaming, adding lyrics to notes, hyphens %} -\version "1.1.52"; +\version "1.1.66"; melody = \notes \relative c'' { \clef violin; diff --git a/lily/align-element.cc b/lily/align-element.cc index a92f7502b3..0705d69388 100644 --- a/lily/align-element.cc +++ b/lily/align-element.cc @@ -11,6 +11,7 @@ #include "direction.hh" #include "debug.hh" #include "hash-table-iter.hh" +#include "dimension-cache.hh" struct Align_element_content { Graphical_element * elem_l_; diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 52e68e6a61..d372242011 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -56,7 +56,8 @@ All_font_metrics::find_tfm (String name) Font_metric * All_font_metrics::find_font (String name) -{ Font_metric * f=0; +{ + Font_metric * f=0; f = find_tfm (name); if (f) return f; @@ -65,6 +66,8 @@ All_font_metrics::find_font (String name) if (f) return f; + warning (_f("Can't find font `%s', loading default font.", name.ch_C())); + f = find_tfm (default_font_sz_); if (f) return f; diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index 550fbd652a..b9332ed78d 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -6,7 +6,7 @@ (c) 1999 Jan Nieuwenhuizen */ -#include "new-beaming.hh" +#include "beaming.hh" #include "auto-beam-engraver.hh" #include "musical-request.hh" #include "bar.hh" diff --git a/lily/axis-group-element.cc b/lily/axis-group-element.cc index bda1a307f4..09f7ad4d27 100644 --- a/lily/axis-group-element.cc +++ b/lily/axis-group-element.cc @@ -8,6 +8,7 @@ #include "axis-group-element.hh" #include "graphical-axis-group.hh" +#include "dimension-cache.hh" Link_array Axis_group_element::get_extra_dependencies() const @@ -77,12 +78,7 @@ Axis_group_element::do_substitute_element_pointer (Score_element*o, while ((i = elem_l_arr_.find_i (go))>=0) elem_l_arr_.substitute (go,gn); -#if 0 - if (n) - elem_l_arr_[i] = n; - else - elem_l_arr_.del (i); -#endif + extra_elems_.substitute (o, n); } diff --git a/lily/bar-script-engraver.cc b/lily/bar-script-engraver.cc index 086f6bd62f..c96b062124 100644 --- a/lily/bar-script-engraver.cc +++ b/lily/bar-script-engraver.cc @@ -15,7 +15,7 @@ #include "lily-guile.hh" #include "paper-column.hh" #include "paper-def.hh" - +#include "dimension-cache.hh" Bar_script_engraver::Bar_script_engraver () { axis_ = Y_AXIS; diff --git a/lily/bar.cc b/lily/bar.cc index 913c2c72ed..aba1466cd9 100644 --- a/lily/bar.cc +++ b/lily/bar.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "bar.hh" #include "string.hh" #include "molecule.hh" diff --git a/lily/base-span-bar-engraver.cc b/lily/base-span-bar-engraver.cc index e28362da15..617408c4a4 100644 --- a/lily/base-span-bar-engraver.cc +++ b/lily/base-span-bar-engraver.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "lily-guile.hh" #include "span-bar.hh" #include "base-span-bar-engraver.hh" diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 608167f01b..7568a7f700 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -14,7 +14,7 @@ #include "stem.hh" #include "warn.hh" #include "time-description.hh" -#include "new-beaming.hh" +#include "beaming.hh" #include "score-engraver.hh" Beam_engraver::Beam_engraver () diff --git a/lily/beam.cc b/lily/beam.cc index ad751ac71c..b4d351d269 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -25,7 +25,7 @@ needs what, and what information should be available when. #include #include "chord-tremolo.hh" -#include "new-beaming.hh" +#include "beaming.hh" #include "proto.hh" #include "dimensions.hh" #include "beam.hh" diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index cf7cc9a649..1e65bbe23e 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "lily-guile.hh" #include "break-align-item.hh" #include "dimensions.hh" @@ -13,7 +14,6 @@ #include "paper-def.hh" #include "paper-column.hh" - /* Handle spacing for prefatory matter. diff --git a/lily/chord.cc b/lily/chord.cc index 867add9c73..7a42576502 100644 --- a/lily/chord.cc +++ b/lily/chord.cc @@ -58,6 +58,9 @@ find_notename_i (Array const* pitch_arr_p, Musical_pitch p) return i; } +/* + trap (NL) != trap(english) + */ static int trap_i (Musical_pitch tonic, Musical_pitch p) { diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 208365788a..aa9c9feb4b 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -14,6 +14,7 @@ #include "lookup.hh" #include "text-item.hh" #include "paper-score.hh" +#include "dimension-cache.hh" void Clef_item::do_pre_processing() diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index e9989408b3..2e7bc610db 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -9,6 +9,7 @@ #include "note-column.hh" #include "collision-engraver.hh" #include "collision.hh" +#include "dimension-cache.hh" void Collision_engraver::process_acknowledged () diff --git a/lily/collision.cc b/lily/collision.cc index 4b1fb66685..ef3b75af4c 100644 --- a/lily/collision.cc +++ b/lily/collision.cc @@ -11,6 +11,7 @@ #include "note-head.hh" #include "paper-def.hh" #include "ly-symbols.hh" +#include "tuple.hh" Collision::Collision() { @@ -25,6 +26,26 @@ Collision::add_column (Note_column* ncol_l) add_dependency (ncol_l); } +void +Collision::do_pre_processing() +{ + Array autos (automatic_shift ()); + Array hand (forced_shift ()); + Link_array done; + + Real wid = paper_l ()->note_width (); + for (int i=0; i < hand.size (); i++) + { + hand[i].e1_->translate_axis (hand[i].e2_ *wid, X_AXIS); + done.push (hand[i].e1_); + } + + for (int i=0; i < autos.size (); i++) + { + if (!done.find_l (autos[i].e1_)) + autos[i].e1_->translate_axis (autos[i].e2_ * wid, X_AXIS); + } +} /** This complicated routine moves note columns around horizontally to ensure that notes don't clash. @@ -34,11 +55,13 @@ Collision::add_column (Note_column* ncol_l) TODO: forced hshift */ -void -Collision::do_pre_processing() +Array< Shift_tup > +Collision::automatic_shift () { Drul_array > clash_groups; Drul_array > shifts; + Array tups; + for (int i=0; i < clash_l_arr_.size(); i++) { @@ -70,7 +93,7 @@ Collision::do_pre_processing() if (shift[i-1] == shift[i]) { warning (_ ("Too many clashing notecolumns. Ignoring them.")); - return; + return tups; } } } @@ -136,29 +159,34 @@ Collision::do_pre_processing() } while ((flip (&d))!= UP); } + + do { for (int i=0; i < clash_groups[d].size (); i++) - { - SCM force = clash_groups[d][i]->remove_elt_property (force_hshift_scm_sym); - if (force != SCM_BOOL_F) - { - force = SCM_CDR (force); - offsets[d][i] = gh_scm2double (force); - } - } + tups.push (Shift_tup (clash_groups[d][i], offsets[d][i])); } - while ((flip (&d))!= UP); + while (flip (&d) != UP); + return tups; +} + + +Array +Collision::forced_shift () +{ + Array tups; - Real wid_f = paper_l ()->note_width (); - do + for (int i=0; i < clash_l_arr_.size (); i++) { - for (int i=0; i < clash_groups[d].size (); i++) + SCM force = clash_l_arr_[i]->remove_elt_property (force_hshift_scm_sym); + if (force != SCM_BOOL_F) { - clash_groups[d][i]->translate_axis (offsets[d][i]*wid_f, X_AXIS); + force = SCM_CDR (force); + tups. push (Shift_tup (clash_l_arr_[i], + gh_scm2double (force))); } } - while (flip (&d) != UP); + return tups; } diff --git a/lily/dimension-cache.cc b/lily/dimension-cache.cc index c78fe6e8e8..be69da1115 100644 --- a/lily/dimension-cache.cc +++ b/lily/dimension-cache.cc @@ -166,3 +166,9 @@ Dimension_cache::set_callback (Dim_cache_callback c) { callback_l_ =c; } + +Real +Dimension_cache::offset () const +{ + return offset_; +} diff --git a/lily/dots.cc b/lily/dots.cc index e81108b0c6..cb68fc2c0c 100644 --- a/lily/dots.cc +++ b/lily/dots.cc @@ -22,10 +22,11 @@ void Dots::do_post_processing () { if (!resolve_dir_) - resolve_dir_ = DOWN; + resolve_dir_ = UP; if (!(position_i_ % 2)) position_i_ += resolve_dir_; + if (!dots_i_) { set_elt_property (transparent_scm_sym, SCM_BOOL_T); diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 0d6b61ae25..7e41e93bb5 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -133,17 +133,17 @@ Dynamic_engraver::do_process_requests() staff_side_p_->dir_ = (Direction) (int) prop; } - prop = get_property ("dynamicPadding", 0); - if (prop.isnum_b ()) - { - staff_side_p_->set_elt_property (padding_scm_sym, - gh_double2scm(Real(prop))); - } + prop = get_property ("dynamicPadding", 0); + if (prop.isnum_b ()) + { + staff_side_p_->set_elt_property (padding_scm_sym, + gh_double2scm(Real(prop))); + } announce_element (Score_element_info (text_p_, absd)); announce_element (Score_element_info (staff_side_p_, absd)); } else if (Span_req *span_l - = dynamic_cast (dynamic_req_l_arr_[i])) + = dynamic_cast (dynamic_req_l_arr_[i])) { if (span_l->span_dir_ == STOP) { diff --git a/lily/encompass-info.cc b/lily/encompass-info.cc index 9b42db316c..aa97ad46b5 100644 --- a/lily/encompass-info.cc +++ b/lily/encompass-info.cc @@ -6,7 +6,7 @@ (c) 1998--1999 Jan Nieuwenhuizen */ - +#include "dimension-cache.hh" #include "proto.hh" #include "stem.hh" #include "note-column.hh" diff --git a/lily/folded-repeat-iterator.cc b/lily/folded-repeat-iterator.cc index ca1a2edc19..b7d0431a13 100644 --- a/lily/folded-repeat-iterator.cc +++ b/lily/folded-repeat-iterator.cc @@ -1,5 +1,5 @@ /* - new-repeated-music-iterator.cc -- implement Folded_repeat_iterator + repeated-music-iterator.cc -- implement Folded_repeat_iterator source file of the GNU LilyPond music typesetter @@ -8,7 +8,7 @@ */ #include "folded-repeat-iterator.hh" -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "music-list.hh" #include "simultaneous-music-iterator.hh" #include "translator-group.hh" diff --git a/lily/grace-align-item.cc b/lily/grace-align-item.cc index 74e551bfa4..4da8f4b6b5 100644 --- a/lily/grace-align-item.cc +++ b/lily/grace-align-item.cc @@ -9,6 +9,7 @@ #include "grace-align-item.hh" #include "lookup.hh" +#include "paper-column.hh" Grace_align_item::Grace_align_item () { @@ -21,6 +22,8 @@ Grace_align_item::do_pre_processing () { Real nhw = lookup_l ()->notehead (2, "").dim_[X_AXIS].length(); threshold_interval_[MIN] = nhw* 1.5; + column_l ()->set_elt_property (contains_grace_scm_sym, SCM_BOOL_T); + Axis_align_item::do_pre_processing (); Note_head_side::do_pre_processing (); @@ -34,3 +37,7 @@ Grace_align_item::do_substitute_element_pointer (Score_element*o, Score_element* Axis_align_item::do_substitute_element_pointer (o,n); Note_head_side::do_substitute_element_pointer( o,n); } +void +Grace_align_item::do_add_processing () +{ +} diff --git a/lily/grace-position-engraver.cc b/lily/grace-position-engraver.cc index d8dcb08257..873ff05f30 100644 --- a/lily/grace-position-engraver.cc +++ b/lily/grace-position-engraver.cc @@ -12,6 +12,7 @@ #include "note-head.hh" #include "local-key-item.hh" #include "paper-column.hh" +#include "dimension-cache.hh" class Grace_position_engraver:public Engraver { @@ -93,6 +94,7 @@ Grace_position_engraver::do_pre_move_processing () align_l_->dim_cache_[X_AXIS]->parent_l_ = 0; last_musical_col_l_->add_element (align_l_); } + last_musical_col_l_ = get_staff_info ().musical_pcol_l (); } diff --git a/lily/graphical-axis-group.cc b/lily/graphical-axis-group.cc index a3b8ffdb28..f1321c55e4 100644 --- a/lily/graphical-axis-group.cc +++ b/lily/graphical-axis-group.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "interval.hh" #include "graphical-axis-group.hh" #include "axis-group-element.hh" diff --git a/lily/graphical-element.cc b/lily/graphical-element.cc index 89bdd3b95a..3a53b698f6 100644 --- a/lily/graphical-element.cc +++ b/lily/graphical-element.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "graphical-element.hh" #include "graphical-axis-group.hh" #include "debug.hh" diff --git a/lily/include/beaming.hh b/lily/include/beaming.hh new file mode 100644 index 0000000000..3dcf419bf6 --- /dev/null +++ b/lily/include/beaming.hh @@ -0,0 +1,39 @@ +/* + beaming.hh -- declare beaming.hh + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + +#ifndef BEAMING_HH +#define BEAMING_HH + +#include "parray.hh" +#include "drul-array.hh" +#include "moment.hh" + +struct Beaming_info +{ + Moment start_mom_; + Drul_array beams_i_drul_; + + Beaming_info (Moment, int); + int count (Direction d); + Beaming_info (); +}; + +struct Beaming_info_list +{ + Array infos_; + + int beam_extend_count (Direction) const; + int min_denominator_index () const; + void beamify (); + void add_stem (Moment d, int beams); +}; + + +#endif /* BEAMING_HH */ + diff --git a/lily/include/collision.hh b/lily/include/collision.hh index 42b14277cf..c0d51b35aa 100644 --- a/lily/include/collision.hh +++ b/lily/include/collision.hh @@ -11,6 +11,10 @@ #define COLLISION_HH #include "lily-proto.hh" #include "axis-group-item.hh" +#include "tuple.hh" + + +typedef Tuple Shift_tup; /** Resolve conflicts between various Note_columns (chords). @@ -22,12 +26,15 @@ */ class Collision : public Axis_group_item { protected: - virtual void do_substitute_element_pointer (Score_element*,Score_element*); - virtual void do_pre_processing(); + Array automatic_shift (); + Array forced_shift (); + + virtual void do_substitute_element_pointer (Score_element*,Score_element*); + virtual void do_pre_processing(); public: - Link_array clash_l_arr_; + Link_array clash_l_arr_; - void add_column (Note_column*ncol_l); - Collision(); + void add_column (Note_column*ncol_l); + Collision(); }; #endif // COLLISION_HH diff --git a/lily/include/dimension-cache.hh b/lily/include/dimension-cache.hh index b55d1c65a9..4edb9431e2 100644 --- a/lily/include/dimension-cache.hh +++ b/lily/include/dimension-cache.hh @@ -39,6 +39,7 @@ class Dimension_cache void init (); public: + Real offset () const; void set_callback (Dim_cache_callback); /** The #offset_# is defined with regard to this graphical_element/ dimension_cache. */ diff --git a/lily/include/grace-align-item.hh b/lily/include/grace-align-item.hh index 4305875b55..e12dbeead2 100644 --- a/lily/include/grace-align-item.hh +++ b/lily/include/grace-align-item.hh @@ -19,6 +19,7 @@ public: VIRTUAL_COPY_CONS (Score_element); Grace_align_item (); protected: + virtual void do_add_processing (); virtual void do_substitute_element_pointer (Score_element*,Score_element*); virtual void do_pre_processing (); }; diff --git a/lily/include/graphical-element.hh b/lily/include/graphical-element.hh index 819a0ea31f..2dee6fac91 100644 --- a/lily/include/graphical-element.hh +++ b/lily/include/graphical-element.hh @@ -14,9 +14,6 @@ #include "lily-proto.hh" #include "interval.hh" #include "virtual-methods.hh" -#include "dimension-cache.hh" - - /** The 2d geometric aspects of a score-element. It was put in a separate class, because Score_element got quite big. diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index dd2cd050f9..7d4a55efd6 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -76,6 +76,7 @@ struct Command_req; struct Command_script_req; struct Command_tie_engraver; struct Crescendo ; +struct Dimension_cache; struct Directional_spanner; struct Dot_column; struct Dots; diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh index 9d446bae0b..0d929dd23e 100644 --- a/lily/include/ly-symbols.hh +++ b/lily/include/ly-symbols.hh @@ -13,7 +13,7 @@ #include "lily-guile.hh" #ifndef DECLARE_LY_SYMBOL -#define DECLARE_LY_SYMBOL(a) extern SCM a ## _scm_sym +#define DECLARE_LY_SYMBOL(a) extern SCM a ## _scm_sym #endif DECLARE_LY_SYMBOL(alt_symbol); @@ -29,6 +29,7 @@ DECLARE_LY_SYMBOL(break_priority); DECLARE_LY_SYMBOL(breakable); DECLARE_LY_SYMBOL(char); DECLARE_LY_SYMBOL(change); +DECLARE_LY_SYMBOL(contains_grace); DECLARE_LY_SYMBOL(damping); DECLARE_LY_SYMBOL(dashed); DECLARE_LY_SYMBOL(dangling); @@ -56,6 +57,7 @@ DECLARE_LY_SYMBOL(molecule); DECLARE_LY_SYMBOL(notewidth); DECLARE_LY_SYMBOL(non_default); DECLARE_LY_SYMBOL(non_rhythmic); +DECLARE_LY_SYMBOL(no_staff_support); DECLARE_LY_SYMBOL(octave_dir); DECLARE_LY_SYMBOL(origin); DECLARE_LY_SYMBOL(output); diff --git a/lily/include/new-beaming.hh b/lily/include/new-beaming.hh index c4c0778b42..65296f8106 100644 --- a/lily/include/new-beaming.hh +++ b/lily/include/new-beaming.hh @@ -1,39 +1,2 @@ -/* - new-beaming.hh -- declare New_beaming.hh - - source file of the GNU LilyPond music typesetter - - (c) 1999 Han-Wen Nienhuys - - */ - -#ifndef NEW_BEAMING_HH -#define NEW_BEAMING_HH - -#include "parray.hh" -#include "drul-array.hh" -#include "moment.hh" - -struct Beaming_info -{ - Moment start_mom_; - Drul_array beams_i_drul_; - - Beaming_info (Moment, int); - int count (Direction d); - Beaming_info (); -}; - -struct Beaming_info_list -{ - Array infos_; - - int beam_extend_count (Direction) const; - int min_denominator_index () const; - void beamify (); - void add_stem (Moment d, int beams); -}; - - -#endif /* NEW_BEAMING_HH */ +#error diff --git a/lily/include/new-repeated-music.hh b/lily/include/new-repeated-music.hh index 5cf2ff3166..65296f8106 100644 --- a/lily/include/new-repeated-music.hh +++ b/lily/include/new-repeated-music.hh @@ -1,86 +1,2 @@ -/* - new-repeated-music.hh -- declare Repeated_music - - source file of the GNU LilyPond music typesetter - - (c) 1999 Han-Wen Nienhuys - - */ -#ifndef RepEATED_MUSIC_HH -#define RepEATED_MUSIC_HH - -#include "music.hh" - - -/** - Musical repeats. - - A repeat, when played has the form of BODY A BODY B BODY C. - - In this examples, the list {A B C} is put in ALTERNATIVES_P_. BODY - is put in REPEAT_BODY_P_. Either the body or the alternative may - be omitted. - - There are three modes of representing this music: - - BODY A - B - C - - is called "folded". Mostly used for lyrics. - - - BODY A B C - - is called "semi" folded. This is common notation - - BODY A BODY B BODY C - - is called unfolded. Useful for MIDI. - - - If the number of repeats is smaller than the number of alternatives, then - the excess alternatives are ignored for all timing purposes. - - If the number of repeats is bigger than the number of alternatives, then - the first alternative is assumed to be repeated. - -*/ -class Repeated_music : public Music -{ -public: - bool fold_b_; - /// if FOLD_B_ is false, semifold this. - bool semi_fold_b_; - - /// how often do we repeat? - int repeats_i_; - - Music * repeat_body_p_; - Music_sequence * alternatives_p_; - - virtual Musical_pitch to_relative_octave (Musical_pitch); - - /// The duration of this piece of music - virtual Moment length_mom () const; - - Moment alternatives_length_mom () const; - - void print() const; - /// Transpose, with the interval central C to #p# - virtual void transpose (Musical_pitch p); - - /// Scale the music in time by #factor#. - virtual void compress (Moment factor); - VIRTUAL_COPY_CONS(Music); - - Repeated_music (Music*, int , Music_sequence*); - Repeated_music (Repeated_music const&); - ~Repeated_music (); -protected: - virtual void do_print() const; -}; - - -#endif /* RepEATED_MUSIC_HH */ +#error diff --git a/lily/include/parseconstruct.hh b/lily/include/parseconstruct.hh index 572e465602..65296f8106 100644 --- a/lily/include/parseconstruct.hh +++ b/lily/include/parseconstruct.hh @@ -1,18 +1,2 @@ -/* - parseconstruct.hh -- part of GNU LilyPond - - (c) 1996--1999 Han-Wen Nienhuys -*/ - -#ifndef PARSECONSTRUCT_HH -#define PARSECONSTRUCT_HH - -#include "lily-proto.hh" - -String * get_scriptdef (char c); -Request* get_script_req (char); -Request*get_grouping_req (Array i_arr); #error -#endif // PARSECONSTRUCT_HH - diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh new file mode 100644 index 0000000000..25b2bee652 --- /dev/null +++ b/lily/include/repeated-music.hh @@ -0,0 +1,86 @@ +/* + repeated-music.hh -- declare Repeated_music + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + +#ifndef RepEATED_MUSIC_HH +#define RepEATED_MUSIC_HH + +#include "music.hh" + + +/** + Musical repeats. + + A repeat, when played has the form of BODY A BODY B BODY C. + + In this examples, the list {A B C} is put in ALTERNATIVES_P_. BODY + is put in REPEAT_BODY_P_. Either the body or the alternative may + be omitted. + + There are three modes of representing this music: + + BODY A + B + C + + is called "folded". Mostly used for lyrics. + + + BODY A B C + + is called "semi" folded. This is common notation + + BODY A BODY B BODY C + + is called unfolded. Useful for MIDI. + + + If the number of repeats is smaller than the number of alternatives, then + the excess alternatives are ignored for all timing purposes. + + If the number of repeats is bigger than the number of alternatives, then + the first alternative is assumed to be repeated. + +*/ +class Repeated_music : public Music +{ +public: + bool fold_b_; + /// if FOLD_B_ is false, semifold this. + bool volta_fold_b_; + + /// how often do we repeat? + int repeats_i_; + + Music * repeat_body_p_; + Music_sequence * alternatives_p_; + + virtual Musical_pitch to_relative_octave (Musical_pitch); + + /// The duration of this piece of music + virtual Moment length_mom () const; + + Moment alternatives_length_mom () const; + + void print() const; + /// Transpose, with the interval central C to #p# + virtual void transpose (Musical_pitch p); + + /// Scale the music in time by #factor#. + virtual void compress (Moment factor); + VIRTUAL_COPY_CONS(Music); + + Repeated_music (Music*, int , Music_sequence*); + Repeated_music (Repeated_music const&); + ~Repeated_music (); +protected: + virtual void do_print() const; +}; + + +#endif /* RepEATED_MUSIC_HH */ diff --git a/lily/include/stem-staff-side.hh b/lily/include/stem-staff-side.hh index 4cbea4c089..2279a6e54b 100644 --- a/lily/include/stem-staff-side.hh +++ b/lily/include/stem-staff-side.hh @@ -33,6 +33,7 @@ public: protected: virtual Direction get_default_direction ()const; virtual void do_pre_processing (); + virtual void do_post_processing (); virtual void do_substitute_element_pointer (Score_element*o,Score_element*e); }; diff --git a/lily/item.cc b/lily/item.cc index cf3891cb0b..f6ea7066e7 100644 --- a/lily/item.cc +++ b/lily/item.cc @@ -5,6 +5,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "paper-score.hh" #include "debug.hh" diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index c0c59c48f4..e677118a19 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -21,7 +21,7 @@ #include "time-scaled-music-iterator.hh" #include "time-scaled-music.hh" #include "context-specced-music.hh" -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "folded-repeat-iterator.hh" #include "unfolded-repeat-iterator.hh" #include "grace-iterator.hh" diff --git a/lily/new-beaming.cc b/lily/new-beaming.cc index 07337b25c9..6406d2a61e 100644 --- a/lily/new-beaming.cc +++ b/lily/new-beaming.cc @@ -1,5 +1,5 @@ /* - new-beaming.cc -- implement Beaming_info, Beaming_info_list + beaming.cc -- implement Beaming_info, Beaming_info_list source file of the GNU LilyPond music typesetter @@ -7,7 +7,7 @@ */ -#include "new-beaming.hh" +#include "beaming.hh" Beaming_info::Beaming_info( ) { diff --git a/lily/note-head.cc b/lily/note-head.cc index 8e6ec890dc..8afe7358ce 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -74,6 +74,8 @@ Note_head::do_brew_molecule_p() const Molecule* out = new Molecule (lookup_l()->notehead (balltype_i_, type)); + Box b = out->dim_; + if (streepjes_i) { Direction dir = sign (position_i_); @@ -94,7 +96,8 @@ Note_head::do_brew_molecule_p() const out->add_molecule (s); } } - + + out->dim_ = b; out->translate_axis (inter_f*position_i_, Y_AXIS); return out; } diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 2669e2fa51..55282d2334 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -54,6 +54,13 @@ Note_heads_engraver::do_process_requests() { Dots * d = new Dots; note_p->dots_l_ = d; + + Scalar dir = get_property ("verticalDirection",0); + if (dir.isdir_b()) + { + d->resolve_dir_ = int (dir); + } + announce_element (Score_element_info (d,0)); dot_p_arr_.push (d); } diff --git a/lily/parser.yy b/lily/parser.yy index 9fc2b7e3f1..7015597e16 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -40,7 +40,7 @@ #include "lyric-combine-music.hh" #include "transposed-music.hh" #include "time-scaled-music.hh" -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "mudela-version.hh" #include "grace-music.hh" @@ -231,7 +231,7 @@ yylex (YYSTYPE *s, void * v_l) %type pitch_list %type chord -%type chord_additions chord_subtractions chord_notes chord_step +%type chord_additions chord_substractions chord_notes chord_step %type chord_note chord_inversion %type midi_block midi_body %type duration_length @@ -719,7 +719,7 @@ Repeated_music: Repeated_music * r = new Repeated_music ($4, $3 >? 1, m); $$ = r; r->fold_b_ = (*$2 == "fold"); - r->semi_fold_b_ = (*$2 == "semi"); + r->volta_fold_b_ = (*$2 == "volta"); delete $2; r->set_spot ($4->spot ()); } @@ -1447,7 +1447,7 @@ simple_element: ; chord: - steno_tonic_pitch optional_notemode_duration chord_additions chord_subtractions chord_inversion { + steno_tonic_pitch optional_notemode_duration chord_additions chord_substractions chord_inversion { $$ = THIS->get_chord (*$1, $3, $4, $5, *$2); }; @@ -1470,7 +1470,7 @@ chord_notes: } ; -chord_subtractions: +chord_substractions: { $$ = new Array; } @@ -1480,10 +1480,6 @@ chord_subtractions: ; -/* - forevery : X : optional_X sucks. Devise a solution. -*/ - chord_inversion: { $$ = 0; @@ -1522,7 +1518,7 @@ chord_note: $$->octave_i_ = $1 > 7 ? 1 : 0; $$->accidental_i_ = 1; } - | unsigned '-' { + | unsigned CHORD_MINUS { $$ = new Musical_pitch; $$->notename_i_ = ($1 - 1) % 7; $$->octave_i_ = $1 > 7 ? 1 : 0; diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc index 9dad869f63..35873e2407 100644 --- a/lily/repeat-engraver.cc +++ b/lily/repeat-engraver.cc @@ -14,7 +14,7 @@ #include "command-request.hh" #include "time-description.hh" #include "engraver-group-engraver.hh" -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "time-description.hh" #include "volta-spanner.hh" #include "note-column.hh" @@ -31,7 +31,7 @@ Repeat_engraver::do_try_music (Music* m) if (repeated_music_l_) return false; - if (r->semi_fold_b_) + if (r->volta_fold_b_) { repeated_music_l_ = r; } diff --git a/lily/repeated-music.cc b/lily/repeated-music.cc index 1aba90d57c..57b1b2bf88 100644 --- a/lily/repeated-music.cc +++ b/lily/repeated-music.cc @@ -1,5 +1,5 @@ /* - new-repeated-music.cc -- implement Repeated_music + repeated-music.cc -- implement Repeated_music source file of the GNU LilyPond music typesetter @@ -7,7 +7,7 @@ */ -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "music-list.hh" #include "musical-pitch.hh" #include "debug.hh" @@ -18,7 +18,7 @@ Repeated_music::Repeated_music(Music *beg, int times, Music_sequence * alts) fold_b_ = false; repeats_i_ = times; alternatives_p_ = alts; - semi_fold_b_ = true; + volta_fold_b_ = true; if (alts) alts->music_p_list_p_->truncate (times); } @@ -28,7 +28,7 @@ Repeated_music::Repeated_music (Repeated_music const &s) { repeats_i_ = s.repeats_i_; fold_b_ = s.fold_b_; - semi_fold_b_ = s.semi_fold_b_; + volta_fold_b_ = s.volta_fold_b_; repeat_body_p_ = s.repeat_body_p_ ? s.repeat_body_p_->clone () : 0; alternatives_p_ = s.alternatives_p_ @@ -122,7 +122,7 @@ Repeated_music::length_mom () const else { Moment beg = (repeat_body_p_) ? repeat_body_p_->length_mom () : Rational(0); - if (!semi_fold_b_) + if (!volta_fold_b_) beg *= Rational (repeats_i_); m += beg; } diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index a2f1103d8a..7cff96e6e9 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "slur.hh" #include "rhythmic-column-engraver.hh" #include "note-head.hh" diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index d329ca93e5..3f4d67d74b 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -35,8 +35,6 @@ Rhythmic_head::do_post_processing () { if (dots_l_) { - if (stem_l_) - dots_l_->resolve_dir_ = stem_l_->dir_; dots_l_->position_i_ = position_i_; } } diff --git a/lily/score-element.cc b/lily/score-element.cc index 302b6dd352..fdeba32ff3 100644 --- a/lily/score-element.cc +++ b/lily/score-element.cc @@ -22,6 +22,8 @@ #include "molecule.hh" #include "misc.hh" #include "paper-outputter.hh" +#include "dimension-cache.hh" + Interval Score_element::dim_cache_callback (Dimension_cache*c) diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 815e736675..0ab5c2e960 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "super-element.hh" #include "line-of-score.hh" #include "debug.hh" diff --git a/lily/score-priority-engraver.cc b/lily/score-priority-engraver.cc index 0948bc7537..40ee448250 100644 --- a/lily/score-priority-engraver.cc +++ b/lily/score-priority-engraver.cc @@ -6,6 +6,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "axis-group-item.hh" #include "score-priority-engraver.hh" #include "item.hh" diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index 4112e44970..d38aed9b0f 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -10,6 +10,7 @@ #include "engraver.hh" #include "script-column.hh" #include "staff-side.hh" +#include "dimension-cache.hh" /** Find potentially colliding scripts, and put them in a diff --git a/lily/script-column.cc b/lily/script-column.cc index a14c02c29e..8b37895814 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -8,6 +8,7 @@ */ #include "script-column.hh" #include "staff-side.hh" +#include "dimension-cache.hh" static Staff_side_item * get_Staff_side (Item *i) diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index f36e5e11a1..66fcda0166 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -11,6 +11,7 @@ #include "stem.hh" #include "staff-symbol.hh" #include "rhythmic-head.hh" +#include "dimension-cache.hh" Script_engraver::Script_engraver() { @@ -77,17 +78,19 @@ Script_engraver::do_process_requests() if (l->dir_) ss->dir_ = l->dir_; - Real padding = 1.0; + Real padding = 0.0; Scalar paddingprop = get_property ("articulationScriptPadding", 0); if (paddingprop.length_i() && paddingprop.isnum_b ()) { padding = (Real)paddingprop; } - - ss->staff_support_b_ = !follow_staff; + + if (follow_staff) + ss->set_elt_property (no_staff_support_scm_sym, SCM_BOOL_T); p->set_staff_side (ss); ss->set_elt_property (script_priority_scm_sym, priority); - ss->set_elt_property (padding_scm_sym, gh_double2scm(padding)); + if (padding) + ss->set_elt_property (padding_scm_sym, gh_double2scm(padding)); script_p_arr_.push (p); staff_side_p_arr_.push (ss); diff --git a/lily/script.cc b/lily/script.cc index 984d20063a..71adfd6339 100644 --- a/lily/script.cc +++ b/lily/script.cc @@ -1,5 +1,5 @@ /* - g-script.cc -- implement Script + script.cc -- implement Script source file of the GNU LilyPond music typesetter @@ -17,6 +17,7 @@ #include "lookup.hh" #include "staff-side.hh" #include "paper-def.hh" +#include "dimension-cache.hh" Script::Script () { @@ -59,6 +60,9 @@ Script::get_molecule(Direction d) const void Script::do_pre_processing () { + /* + center my self on the note head. + */ Graphical_element * e = staff_side_l_->dim_cache_[X_AXIS]->parent_l_->element_l(); translate_axis (e->extent (X_AXIS).center (), X_AXIS); @@ -69,7 +73,12 @@ Script::do_post_processing () { Direction d = staff_side_l_->dir_; Molecule m (get_molecule(d)); - translate_axis (- m.dim_[Y_AXIS][Direction (-d)], Y_AXIS); + + /* + UGH UGH UGH + */ + if (staff_side_l_->get_elt_property (no_staff_support_scm_sym) == SCM_BOOL_F) + translate_axis (- m.dim_[Y_AXIS][Direction (-d)], Y_AXIS); } void diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index 5b4a599fe3..df73a595a4 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -69,7 +69,7 @@ Spacing_spanner::do_measure (int col1, int col2) const Array meas_springs; - Real non_musical_space_strength = paper_l ()->get_var ("non_musical_space_strength"); + Real non_musical_space_strength = paper_l ()->get_var ("breakable_column_space_strength"); for (int i= col1; i < col2; i++) { Item * l = scol(i); @@ -112,15 +112,20 @@ Spacing_spanner::do_measure (int col1, int col2) const } s.distance_f_ = left_distance; + /* - Only do tight spaces *after* barlines, not before. + Only do tight spaces *after* barlines (breakable columns), + not before. We want the space before barline to be like the note spacing in the measure. */ - if (!lc->musical_b ()) + if (lc->breakable_b () || lc->original_l_) s.strength_f_ = non_musical_space_strength; + else if (!lc->musical_b ()) + left_distance *= paper_l ()->get_var ("decrease_nonmus_spacing_factor"); + Real right_dist = 0.0; if (next_hint != SCM_BOOL_F) { @@ -137,8 +142,15 @@ Spacing_spanner::do_measure (int col1, int col2) const don't want to create too much extra space for accidentals */ if (lc->musical_b () && rc->musical_b ()) - right_dist /= 2.0; + { + if (rc->get_elt_property (contains_grace_scm_sym) == SCM_BOOL_F) + right_dist *= paper_l ()->get_var ("musical_to_musical_left_spacing_factor"); + } + if (rc->musical_b () && rc->get_elt_property (contains_grace_scm_sym) != SCM_BOOL_F) + right_dist *= paper_l ()->get_var ("before_grace_spacing_factor"); + + s.distance_f_ = left_distance + right_dist; Real stretch_dist = 0.; diff --git a/lily/span-bar.cc b/lily/span-bar.cc index 65b57f9620..9e02523461 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -5,7 +5,7 @@ (c) 1997--1999 Han-Wen Nienhuys */ - +#include "dimension-cache.hh" #include "span-bar.hh" #include "lookup.hh" #include "dimensions.hh" diff --git a/lily/span-score-bar-engraver.cc b/lily/span-score-bar-engraver.cc index 048e752936..087df227da 100644 --- a/lily/span-score-bar-engraver.cc +++ b/lily/span-score-bar-engraver.cc @@ -10,6 +10,7 @@ #include "span-bar.hh" #include "span-score-bar-engraver.hh" #include "paper-def.hh" +#include "dimension-cache.hh" Span_bar* Span_score_bar_engraver::get_span_bar_p () const diff --git a/lily/spanner.cc b/lily/spanner.cc index 27f72c9e0f..23360b5e88 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -5,7 +5,7 @@ (c) 1996, 1997--1999 Han-Wen Nienhuys */ - +#include "dimension-cache.hh" #include "debug.hh" #include "spanner.hh" #include "paper-column.hh" diff --git a/lily/staff-side.cc b/lily/staff-side.cc index 4ffb6059b7..7ffcce8c7a 100644 --- a/lily/staff-side.cc +++ b/lily/staff-side.cc @@ -12,13 +12,13 @@ #include "debug.hh" #include "warn.hh" #include "dimensions.hh" +#include "dimension-cache.hh" Staff_side_element::Staff_side_element () { dir_ = CENTER; to_position_l_ = 0; set_elt_property (transparent_scm_sym, SCM_BOOL_T); - staff_support_b_ = true; axis_ = Y_AXIS; } @@ -103,14 +103,23 @@ Staff_side_element::position_self () ? to_position_l_->extent (axis_) : Interval(0,0); - Real off = dim_cache_[axis_]->relative_coordinate (common); + Real off = dim_cache_[axis_]->relative_coordinate (common); + + SCM pad = remove_elt_property (padding_scm_sym); if (pad != SCM_BOOL_F) { off += gh_scm2double (SCM_CDR(pad)) * dir_; } - Real total_off = dim[dir_] - sym_dim[-dir_] + off; + Real total_off = dim[dir_] + off; + + /* + no_staff_support_scm_sym is ugh bugfix to get staccato dots right. + */ + if (to_position_l_ && to_position_l_->get_elt_property (no_staff_support_scm_sym) == SCM_BOOL_F) + total_off += - sym_dim[-dir_]; + dim_cache_[axis_]->set_offset (total_off); if (fabs (total_off) > 100 CM) programming_error ("Huh ? Improbable staff side dim."); @@ -127,7 +136,7 @@ Staff_side_element::do_post_processing () void Staff_side_element::do_add_processing () { - if (staff_support_b_ + if (get_elt_property (no_staff_support_scm_sym) == SCM_BOOL_F && axis_ == Y_AXIS && staff_symbol_l ()) { add_support (staff_symbol_l ()); diff --git a/lily/stem-info.cc b/lily/stem-info.cc index d945823d66..f3c6550b86 100644 --- a/lily/stem-info.cc +++ b/lily/stem-info.cc @@ -10,6 +10,7 @@ #include "proto.hh" #include "misc.hh" #include "debug.hh" +#include "dimension-cache.hh" #include "align-element.hh" #include "stem.hh" diff --git a/lily/stem-staff-side.cc b/lily/stem-staff-side.cc index 4df6a8e9c9..9af9d40bb6 100644 --- a/lily/stem-staff-side.cc +++ b/lily/stem-staff-side.cc @@ -7,8 +7,11 @@ */ +#include "dimension-cache.hh" #include "stem-staff-side.hh" #include "stem.hh" +#include "staff-symbol.hh" +#include "paper-def.hh" Stem_staff_side_item::Stem_staff_side_item () { @@ -24,6 +27,7 @@ Stem_staff_side_item::do_substitute_element_pointer (Score_element*o, { stem_l_ = dynamic_cast (n); } + Staff_side_item::do_substitute_element_pointer (o,n); } void @@ -44,12 +48,52 @@ void Stem_staff_side_item::do_pre_processing () { SCM p = remove_elt_property (padding_scm_sym); - if (p != SCM_BOOL_F && stem_l_) + Real pad = paper_l ()->get_var ("articulation_script_padding_default"); + if (get_elt_property (no_staff_support_scm_sym) != SCM_BOOL_F) + pad =0.0; + + Real il = (stem_l_) ? stem_l_->staff_line_leading_f (): paper_l ()->get_var ("interline"); + + if (p != SCM_BOOL_F) { - p = SCM_CDR (p); - set_elt_property (padding_scm_sym, - gh_double2scm(stem_l_->staff_line_leading_f () - * gh_scm2double (p))); + pad = gh_scm2double (p); } + pad *= il ; + set_elt_property (padding_scm_sym, + gh_double2scm(pad)); + Staff_side_item::do_pre_processing (); } + +void +Stem_staff_side_item::do_post_processing () +{ + Staff_side_item::do_post_processing (); + + /* + Ugh: try to get staccato dots right. + + TODO: + + + should use general no_staff_line_collision elt property, and use + the same elt prop also for positioning slurs, ties and dots. + */ + if (get_elt_property (no_staff_support_scm_sym) != SCM_BOOL_F) + { + Dimension_cache * c =common_group (staff_symbol_l (), Y_AXIS); + Real staff_coord = staff_symbol_l ()->relative_coordinate (c, Y_AXIS) + + staff_symbol_l ()->dim_cache_[Y_AXIS]->offset (); + Real self_coord = relative_coordinate (c, Y_AXIS) + + dim_cache_[Y_AXIS]->offset (); + Real now_coord = self_coord - staff_coord; + + Real desired_coord = ceil (dir_ * 2.0 * now_coord / staff_line_leading_f ()); + if (! (int (desired_coord) % 2)) + { + desired_coord ++; + } + + translate_axis (desired_coord * dir_ * staff_line_leading_f () / 2.0 - now_coord, Y_AXIS); + } +} diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 74a0d33fc1..e1748316b3 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -6,6 +6,7 @@ (c) 1998--1999 Han-Wen Nienhuys */ +#include "dimension-cache.hh" #include "engraver.hh" #include "staff-side.hh" diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc index 99a3164063..f57d40d44c 100644 --- a/lily/unfolded-repeat-iterator.cc +++ b/lily/unfolded-repeat-iterator.cc @@ -8,7 +8,7 @@ */ -#include "new-repeated-music.hh" +#include "repeated-music.hh" #include "music-list.hh" #include "unfolded-repeat-iterator.hh" #include "debug.hh" @@ -49,7 +49,7 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += mus->repeat_body_p_->length_mom (); - if (!mus->semi_fold_b_) + if (!mus->volta_fold_b_) done_count_ ++; if (alternative_cons_l_) @@ -57,7 +57,7 @@ Unfolded_repeat_iterator::next_element () current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); do_main_b_ = false; } - else if (done_count_ < mus->repeats_i_ && !mus->semi_fold_b_) + else if (done_count_ < mus->repeats_i_ && !mus->volta_fold_b_) { current_iter_p_ = get_iterator_p (mus->repeat_body_p_); do_main_b_ = true; @@ -73,20 +73,20 @@ Unfolded_repeat_iterator::next_element () { done_mom_ += alternative_cons_l_->car_->length_mom (); - if (mus->semi_fold_b_ || + if (mus->volta_fold_b_ || mus->repeats_i_ - done_count_ < alternative_count_i_) alternative_cons_l_ = alternative_cons_l_->next_; /* we've done the main body as well, but didn't go over the other increment. */ - if (mus->semi_fold_b_) + if (mus->volta_fold_b_) done_count_ ++; } if (done_count_ < mus->repeats_i_ && alternative_cons_l_) { - if (mus->semi_fold_b_) + if (mus->volta_fold_b_) current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); else { diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly index a57db26e50..eb9cac2cc1 100644 --- a/ly/book-fragment.ly +++ b/ly/book-fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly" diff --git a/ly/book-init.ly b/ly/book-init.ly index 1820f71541..52b5ff9113 100644 --- a/ly/book-init.ly +++ b/ly/book-init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly"; diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly index 4cc0ac1dc7..6f0c57de39 100644 --- a/ly/center-fragment.ly +++ b/ly/center-fragment.ly @@ -1,7 +1,7 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly" diff --git a/ly/center.ly b/ly/center.ly index 1fec210840..47f22dcd54 100644 --- a/ly/center.ly +++ b/ly/center.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly" diff --git a/ly/declarations.ly b/ly/declarations.ly index 837777d921..3b44423d82 100644 --- a/ly/declarations.ly +++ b/ly/declarations.ly @@ -8,8 +8,6 @@ longa = \duration { -2 0 } \include "script.ly" -Gourlay = 1.0 -Wordwrap = 0.0 % declarations for standard directions left = -1 right = 1 diff --git a/ly/fragment.ly b/ly/fragment.ly index 5c3ea3e33e..804174746f 100644 --- a/ly/fragment.ly +++ b/ly/fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly" diff --git a/ly/init.ly b/ly/init.ly index 05f97097c1..c21855bbb1 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.1.52"; +\version "1.1.66"; \include "declarations.ly"; diff --git a/ly/paper16.ly b/ly/paper16.ly index 785f85834c..454d8d98e2 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -2,7 +2,7 @@ -\version "1.1.52"; +\version "1.1.66"; paper_sixteen = \paper { staffheight = 16.0\pt; diff --git a/ly/paper20.ly b/ly/paper20.ly index c4ac674fdd..004c4d09df 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -1,7 +1,7 @@ % paper20.ly -\version "1.1.52"; +\version "1.1.66"; paper_twenty = \paper { staffheight = 20.0\pt; diff --git a/ly/paper23.ly b/ly/paper23.ly index 57f64a7497..1590b4ac58 100644 --- a/ly/paper23.ly +++ b/ly/paper23.ly @@ -1,7 +1,7 @@ % paper23.ly -\version "1.1.52"; +\version "1.1.66"; paper_twentythree = \paper { staffheight = 23.0\pt; diff --git a/ly/params.ly b/ly/params.ly index 1189cd97aa..12f1c34a3f 100644 --- a/ly/params.ly +++ b/ly/params.ly @@ -124,7 +124,7 @@ code(\interline / 5) by default. slur_x_gap = \interline / 5.0; slur_y_gap = 0.25 * \interline; slur_y_free = 0.75 * \interline; -slur_x_minimum = 3.0 * \interline; +slur_x_minimum = 1.5 * \interline; %{ Like beams, slurs often aren't as steep as the notes they encompass. @@ -145,7 +145,7 @@ slur_interstaff_snap_max_slope_change = 0.5; -tie_x_minimum = \slur_x_minimum; +tie_x_minimum = \interline + \slur_x_minimum; % OSU: tie gap == slur gap tie_x_gap = \slur_x_gap; tie_y_gap = 0.25 * \interline; @@ -187,6 +187,15 @@ Maximum number of measures per line to try when using Gourlay method. Decreasing this greatly reduces computation time. %} gourlay_maxmeasures = 10.; + +%{ +Gourlay is a better, TeX like algorithm for breaking lines. Wordwrap is faster, but leaves +really spaced out lines at the end +%} + +Gourlay = 1.0; +Wordwrap = 0.0; + castingalgorithm = \Gourlay; %{ Ross. page 151 lists these values, but we think that thick lines @@ -241,16 +250,38 @@ postBreakPadding = 0.0; stemSpacingCorrection = 0.5*\interline; -% relative strength of space following tprefatory matter, and inline clefs. -non_musical_space_strength = 8.0; +%{ + relative strength of space following breakable columns (eg. prefatory matter) + %} +breakable_column_space_strength = 8.0; + +% space after inline clefs and such get this much stretched +decrease_nonmus_spacing_factor = 1.0 ; + +%{ + space before musical columns (eg. taken by accidentals) get this much + stretched when they follow a musical column, in absence of grace notes. + + 0.0 means no extra space (accidentals are ignored) +%} +musical_to_musical_left_spacing_factor = 0.4; +%{ + stretch space this much if there are grace notes before the column +%} +before_grace_spacing_factor = 1.2; -%If columns do not have spacing information set, set it to this much +%{ +If columns do not have spacing information set, set it to this much +%} loose_column_distance = 2.0 * \interline; % if stem is on middle line, choose this direction. stem_default_neutral_direction = 1.0; +% in interline +articulation_script_padding_default = 1.0; + \include "engraver.ly"; diff --git a/ly/property.ly b/ly/property.ly index a8a404f055..f3f21a9960 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -8,7 +8,7 @@ SEE THE REFERENCE MANUAL FOR EXPLANATIONS. %} -\version "1.1.52"; +\version "1.1.66"; %hmm, (these) abbrevs suck, imo % i guess they're meant as some form of doco @@ -37,6 +37,7 @@ onevoice = { \stemboth \shiftoff } +%{ THESE ARE DEPRECATED %} voiceone = \context Voice = one { \stemup @@ -59,6 +60,8 @@ voicefour = \shifton } +%{ END OF DEPRECATED %} + % ugh, cluttering global namespace... @@ -121,11 +124,11 @@ normalsize = { } normalkey = { - \property Staff.keyoctaviation = 1 + \property Staff.keyOctaviation = 1 } specialkey = { - \property Staff.keyoctaviation = 0 + \property Staff.keyOctaviation = 0 } % End the incipit and print a ``normal line start''. diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index a88efa0ad8..1869f292dc 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -56,6 +56,8 @@ fi %files %doc htmldocs/ %doc out/examples/ +%doc mutopia/ + # hairy to hook it in (possibly non-existing) emacs %doc mudela-mode.el diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 6c88842f89..caf324b529 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.66 -Entered-date: 23JUL99 +Version: 1.1.67 +Entered-date: 26JUL99 Description: LilyPond is a music typesetter. It produces beautiful sheet music using a high level description file as input. LilyPond is part of @@ -13,8 +13,8 @@ Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.1.66.tar.gz + 1000k lilypond-1.1.67.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.1.66.tar.gz + 1000k lilypond-1.1.67.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 4d4372075a..cfd75ac2d1 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.66 +Version: 1.1.67 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.66.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.67.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys @@ -61,6 +61,8 @@ fi %files %doc htmldocs/ %doc out/examples/ +%doc mutopia/ + # hairy to hook it in (possibly non-existing) emacs %doc mudela-mode.el diff --git a/make/toplevel.make.in b/make/toplevel.make.in index 0b829a8511..e312f58478 100644 --- a/make/toplevel.make.in +++ b/make/toplevel.make.in @@ -27,10 +27,10 @@ STEPMAKE_TEMPLATES=toplevel yolily-toplevel po include $(depth)/make/stepmake.make # -website: htmldoc examples doc++ fonts +website: fonts htmldoc examples doc++ fonts: - $(MAKE) -C mf + $(MAKE) -C $(depth)/mf examples: $(MAKE) CONFIGSUFFIX='www' -C input WWW diff --git a/mudela-mode.el b/mudela-mode.el index 4a39958f0d..fd8d61b95f 100644 --- a/mudela-mode.el +++ b/mudela-mode.el @@ -31,17 +31,18 @@ ;; (defconst mudela-font-lock-keywords - (let* ((keywords '("alternative" "repeat" - "accepts" "accidentals" "break" "bar" "cadenza" - "clef" "cm" "consists" "consistsend" "contains" "duration" - "spanrequest" "grace" "scmfile" "lyrics" - "in" "translator" "context" "key" "maininput" "notes" - "musical_pitch" "time" "midi" "mm" "header" - "notenames" "octave" "output" "partial" "paper" "plet" "name" "addlyrics" - "property" "pt" "shape" "relative" "include" "score" - "scm" "scmfile" - "script" "skip" "table" "times" "textscript" "symboltables" "type" - "tempo" "transpose" "version" "grouping" + (let* ((keywords '("spanrequest" "simultaneous" "sequential" "accepts" + "alternative" "bar" "breathe" + "cadenza" "chordmodifiers" "chords" "clef" "cm" "consists" + "consistsend" "context" + "duration" "font" "grace" "header" "in" "lyrics" + "key" "keysignature" "mark" "musicalpitch" + "time" "times" "midi" "mm" "name" "notenames" + "notes" "partial" "paper" "penalty" "property" "pt" + "relative" "remove" "repeat" "repetitions" "addlyrics" + "scm" "scmfile" "score" "script" + "shape" "skip" "textscript" "tempo" "translator" "transpose" + "type" "version" )) (kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|"))) diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index 9663a9b281..878c45cadd 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly index b88420f9ba..d4aa49e421 100644 --- a/mutopia/Coriolan/clarinetti-part.ly +++ b/mutopia/Coriolan/clarinetti-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "clarinetti.ly" diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index 12f9d51f14..a59839dda6 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "clarinetto-1.ly" \include "clarinetto-2.ly" diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index fe65e1f79d..cc8b8e17da 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; clarinetto1 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index 140bfab551..88060cdc18 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; clarinetto2 = \notes \relative c { R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly index 82287a8420..3ff6ff380c 100644 --- a/mutopia/Coriolan/contrabasso-part.ly +++ b/mutopia/Coriolan/contrabasso-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "contrabasso.ly" diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index 09a95d239c..b7682d4c97 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; contrabasso = \notes \relative c { % \translator Staff=violoncello diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 530d6daed8..21e996492d 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly index 4bb3ef670e..5e58c35641 100644 --- a/mutopia/Coriolan/corni-part.ly +++ b/mutopia/Coriolan/corni-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "corni.ly" diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index 488ce53deb..d69ba591da 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "corno-1.ly" \include "corno-2.ly" diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index f590f63031..59f6cf1345 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; corno1 = \notes \relative c { R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index 771c75ac57..8a2d6c328d 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; corno2 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly index 807d2c86f0..29d695be54 100644 --- a/mutopia/Coriolan/fagotti-part.ly +++ b/mutopia/Coriolan/fagotti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "fagotti.ly" diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index 6b041a4c7b..d0938e5888 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "fagotto-1.ly" \include "fagotto-2.ly" diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index 3599a3b20e..2371da95e3 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; fagotto1 = \notes \relative c { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index a7da1b1e91..afd7a5b947 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; fagotto2 = \notes \relative c { R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index ab246c4999..af24dcc1e9 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "flauti.ly" diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index bb617f040b..8b0db9c4db 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "flauto-1.ly" \include "flauto-2.ly" diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index cc58b2e8dc..cf4115abc7 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; flauto1 = \notes \relative c { R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index 5a85db28d2..006a19bb32 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; flauto2 = \notes \relative c { R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly index 1aa8083f41..fcbedb7f58 100644 --- a/mutopia/Coriolan/global.ly +++ b/mutopia/Coriolan/global.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; global = \notes { \time 4/4; diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 1a76753e3b..f70c8f656e 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; oboe1 = \notes \relative c'' { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index 3f63f8e683..a9bda44e50 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; oboe2 = \notes \relative c{ R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly index 4dc9b03581..985b8de9d8 100644 --- a/mutopia/Coriolan/oboi-part.ly +++ b/mutopia/Coriolan/oboi-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "oboi.ly" diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly index 226c4b9627..26e90098b2 100644 --- a/mutopia/Coriolan/oboi.ly +++ b/mutopia/Coriolan/oboi.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "oboe-1.ly" \include "oboe-2.ly" diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index 089fb1ca25..515b13a0af 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; timpani = \notes \relative c { R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly index eb7d80eb41..a0e71e2239 100644 --- a/mutopia/Coriolan/trombe-part.ly +++ b/mutopia/Coriolan/trombe-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "trombe.ly" diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly index 19b0052a97..8a47de80a4 100644 --- a/mutopia/Coriolan/trombe.ly +++ b/mutopia/Coriolan/trombe.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "trombo-1.ly" \include "trombo-2.ly" diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index 9fb05d6e4f..e8ba8617e0 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; trombo1 = \notes \relative c { R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index 75d7bf3ef4..53e8ec731a 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; trombo2 = \notes \relative c { R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index 6dbd46b2d6..fb5952c0d7 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; viola1 = \notes \relative c { c'1\ff ~ | c | f,4-. r r2 | r1 | diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly index ebec60e0ed..803a0a3951 100644 --- a/mutopia/Coriolan/viola-2.ly +++ b/mutopia/Coriolan/viola-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; viola2 = \notes \relative c { % starts on (actualy, most part is on) same staff as viola1 diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index d7448fa7a7..ddc1e52af8 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "viola-1.ly" diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly index 29287a6c9a..edf5d48227 100644 --- a/mutopia/Coriolan/violino-1-part.ly +++ b/mutopia/Coriolan/violino-1-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "violino-1.ly" diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index 5ea0add43d..db96641bc0 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; violino1 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly index 7cb9b83583..f637b85514 100644 --- a/mutopia/Coriolan/violino-2-part.ly +++ b/mutopia/Coriolan/violino-2-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "violino-2.ly" diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index a0583cd203..cc225188f6 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; violino2 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly index 0fa1446a1a..2761b42ecb 100644 --- a/mutopia/Coriolan/violoncello-part.ly +++ b/mutopia/Coriolan/violoncello-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index b2743d9e0b..a6527aa7bf 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; violoncello = \notes \relative c { c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 | diff --git a/mutopia/D.Scarlatti/progress.ly b/mutopia/D.Scarlatti/progress.ly index b3e4d878f7..87afad723a 100644 --- a/mutopia/D.Scarlatti/progress.ly +++ b/mutopia/D.Scarlatti/progress.ly @@ -807,4 +807,4 @@ Bar_number_engraver;}} ---------------------------------------------------- -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/D.Scarlatti/sonata-k1-l366.ly b/mutopia/D.Scarlatti/sonata-k1-l366.ly index 226e353c76..f4c8687554 100644 --- a/mutopia/D.Scarlatti/sonata-k1-l366.ly +++ b/mutopia/D.Scarlatti/sonata-k1-l366.ly @@ -266,4 +266,4 @@ s1 \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/D.Scarlatti/sonata-k2-l388.ly b/mutopia/D.Scarlatti/sonata-k2-l388.ly index 6e3d0dec97..787954b01b 100644 --- a/mutopia/D.Scarlatti/sonata-k2-l388.ly +++ b/mutopia/D.Scarlatti/sonata-k2-l388.ly @@ -336,4 +336,4 @@ g,4. | Bar_number_engraver;}} } -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly index 93da8cb3ff..a0679704bc 100644 --- a/mutopia/D.Scarlatti/sonata-k3-l378.ly +++ b/mutopia/D.Scarlatti/sonata-k3-l378.ly @@ -251,4 +251,4 @@ LHtoL = { \tolower \stemdown } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/D.Scarlatti/sonata-k4-l390.ly b/mutopia/D.Scarlatti/sonata-k4-l390.ly index d40371b61b..6a0229cd3a 100644 --- a/mutopia/D.Scarlatti/sonata-k4-l390.ly +++ b/mutopia/D.Scarlatti/sonata-k4-l390.ly @@ -311,4 +311,4 @@ s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] | \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/D.Zipoli/verso_2.ly b/mutopia/D.Zipoli/verso_2.ly index 3a88cee648..f6a045780a 100644 --- a/mutopia/D.Zipoli/verso_2.ly +++ b/mutopia/D.Zipoli/verso_2.ly @@ -17,7 +17,7 @@ title = "Verso II"; under the Gnu Public Licence. %} -\version "1.1.52"; +\version "1.1.66"; $voice_one = \notes \relative c' { a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~| diff --git a/mutopia/E.Satie/gnossienne-4.ly b/mutopia/E.Satie/gnossienne-4.ly index d9d499c9b3..e7affa3b7f 100644 --- a/mutopia/E.Satie/gnossienne-4.ly +++ b/mutopia/E.Satie/gnossienne-4.ly @@ -12,7 +12,7 @@ Tested Features: cross staff auto beams and slurs, grace notes, no bars %} -\version "1.1.52"; +\version "1.1.66"; \include "nederlands.ly" diff --git a/mutopia/E.Satie/petite-ouverture-a-danser.ly b/mutopia/E.Satie/petite-ouverture-a-danser.ly index e77a6da234..6df72c0d00 100644 --- a/mutopia/E.Satie/petite-ouverture-a-danser.ly +++ b/mutopia/E.Satie/petite-ouverture-a-danser.ly @@ -12,7 +12,7 @@ Tested Features: %} -\version "1.1.52"; +\version "1.1.66"; \include "nederlands.ly" diff --git a/mutopia/F.Schubert/AnSylvia.ly b/mutopia/F.Schubert/AnSylvia.ly index 409e7aefde..58c3386e2a 100644 --- a/mutopia/F.Schubert/AnSylvia.ly +++ b/mutopia/F.Schubert/AnSylvia.ly @@ -10,7 +10,7 @@ title = "An Sylvia"; } -\version "1.1.52"; +\version "1.1.66"; \include "paper16.ly"; \include "paper13.ly"; @@ -238,8 +238,8 @@ tune=\notes \relative c'' { %19 d2. \context Staff < {\voiceone b8( )g8} {\voicetwo [b8 g8]} > | %20 - \property Voice.slurdash = 2 - fis4( )e \property Voice.slurdash = "" + \property Voice.slurDash = 2 + fis4( )e \property Voice.slurDash = "" \context Staff < {\voiceone r2}{\voicetwo r4 e4} > | %21 c'2. [b16( a g )fis] | diff --git a/mutopia/F.Schubert/standchen-16.ly b/mutopia/F.Schubert/standchen-16.ly index 3564426fa3..ed207db339 100644 --- a/mutopia/F.Schubert/standchen-16.ly +++ b/mutopia/F.Schubert/standchen-16.ly @@ -9,6 +9,6 @@ description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "standchen.ly" diff --git a/mutopia/F.Schubert/standchen-20.ly b/mutopia/F.Schubert/standchen-20.ly index d5dbd8c30e..eb7261fa15 100644 --- a/mutopia/F.Schubert/standchen-20.ly +++ b/mutopia/F.Schubert/standchen-20.ly @@ -10,7 +10,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; % fool make-website % \include "standchen.ly"; diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index 977682d3d4..4f13f4d24f 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -16,7 +16,7 @@ multiple \paper{}s in one \score Note: Original key F. %} -\version "1.1.52"; +\version "1.1.66"; vocalVerse = \notes\relative c''{ \property Voice.dynamicDir=1 @@ -335,7 +335,7 @@ vocals = \notes{ } vocalStaff = \context Staff = vocal< - \property Staff.instrument = "alto sax" + \property Staff.instrument = "synth voice" \global \vocals > diff --git a/mutopia/Hymns/diademata.ly b/mutopia/Hymns/diademata.ly index b3310914a3..143376a808 100644 --- a/mutopia/Hymns/diademata.ly +++ b/mutopia/Hymns/diademata.ly @@ -7,7 +7,7 @@ metre = "6 6. 8 6. D"; } -\version "1.1.52"; +\version "1.1.66"; sop=\notes \transpose c''{ ees2 ees4 ees4 g2 g2 | c'1. diff --git a/mutopia/Hymns/laudatedom.ly b/mutopia/Hymns/laudatedom.ly index ffdcd6f23e..52fad10fb7 100644 --- a/mutopia/Hymns/laudatedom.ly +++ b/mutopia/Hymns/laudatedom.ly @@ -4,7 +4,7 @@ composer = "Parry"; metre = "10 10 . 11 11"; } -\version "1.1.52"; +\version "1.1.66"; sop = \notes \transpose c''{ f4 | d' bes c' | f2 \bar "||"; diff --git a/mutopia/Hymns/maccabaeus.ly b/mutopia/Hymns/maccabaeus.ly index 1ad5091acb..442bc91e09 100644 --- a/mutopia/Hymns/maccabaeus.ly +++ b/mutopia/Hymns/maccabaeus.ly @@ -7,7 +7,7 @@ title = "Maccabaeus"; metre = "10 11. 11 11. and refrain"; } -\version "1.1.52"; +\version "1.1.66"; sop=\notes \relative c'' { b2 gis4. a8 |b2 e,2 | diff --git a/mutopia/Hymns/ode.ly b/mutopia/Hymns/ode.ly index 24542cdbc6..2bcad864ef 100644 --- a/mutopia/Hymns/ode.ly +++ b/mutopia/Hymns/ode.ly @@ -7,7 +7,7 @@ metre = "8 7 8 7 D"; } -\version "1.1.52"; +\version "1.1.66"; sop=\notes \relative c'' { b4 b c d | d c b a | g g a b | b4. a8 a2 | diff --git a/mutopia/Hymns/stille.ly b/mutopia/Hymns/stille.ly index 6974285d12..019fd54ade 100644 --- a/mutopia/Hymns/stille.ly +++ b/mutopia/Hymns/stille.ly @@ -8,7 +8,7 @@ } -\version "1.1.52"; +\version "1.1.66"; %{ Note: there are other verses, but the three here seem to be diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly index 36945c0d0a..77767b4022 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly @@ -4,7 +4,7 @@ piece = "Allemande"; } -\version "1.1.52"; +\version "1.1.66"; global = \notes{ \time 4/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly index 99dfaa16eb..7f95c67107 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly @@ -10,7 +10,7 @@ %% %% Noe liknende skjer også i mellom andre og tredje stemme i takt 28 -\version "1.1.52"; +\version "1.1.66"; global = \notes{ \time 2/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly index 597e706039..3b428b11ea 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -10,7 +10,7 @@ copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; global = \notes { \time 4/4; diff --git a/mutopia/J.S.Bach/Duette/global-i.ly b/mutopia/J.S.Bach/Duette/global-i.ly index 849b54bf18..403f229c43 100644 --- a/mutopia/J.S.Bach/Duette/global-i.ly +++ b/mutopia/J.S.Bach/Duette/global-i.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; $global_i = \notes{ \time 12/8; diff --git a/mutopia/J.S.Bach/Duette/global-ii.ly b/mutopia/J.S.Bach/Duette/global-ii.ly index 3a2346ec92..449382fc47 100644 --- a/mutopia/J.S.Bach/Duette/global-ii.ly +++ b/mutopia/J.S.Bach/Duette/global-ii.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; $global_ii = \notes{ \time 4/4; diff --git a/mutopia/J.S.Bach/Duette/viola-i.ly b/mutopia/J.S.Bach/Duette/viola-i.ly index 66451308b1..8771e9bfc3 100644 --- a/mutopia/J.S.Bach/Duette/viola-i.ly +++ b/mutopia/J.S.Bach/Duette/viola-i.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global-i.ly" \include "violoncello-i.ly"; diff --git a/mutopia/J.S.Bach/Duette/viola-ii.ly b/mutopia/J.S.Bach/Duette/viola-ii.ly index f91fa3b4b3..bb76f7c6cb 100644 --- a/mutopia/J.S.Bach/Duette/viola-ii.ly +++ b/mutopia/J.S.Bach/Duette/viola-ii.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; \include "global-ii.ly" \include "violoncello-ii.ly"; diff --git a/mutopia/J.S.Bach/Duette/viola-part.ly b/mutopia/J.S.Bach/Duette/viola-part.ly index 19e03a8869..6510f4f66a 100644 --- a/mutopia/J.S.Bach/Duette/viola-part.ly +++ b/mutopia/J.S.Bach/Duette/viola-part.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % { diff --git a/mutopia/J.S.Bach/Duette/violino-i.ly b/mutopia/J.S.Bach/Duette/violino-i.ly index 8ee946729f..b210045a07 100644 --- a/mutopia/J.S.Bach/Duette/violino-i.ly +++ b/mutopia/J.S.Bach/Duette/violino-i.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; $violino_i = \notes\relative c'' { \property Voice.beamAutoEnd = "3/8" diff --git a/mutopia/J.S.Bach/Duette/violino-ii.ly b/mutopia/J.S.Bach/Duette/violino-ii.ly index 61b1c03ab6..2664373a0c 100644 --- a/mutopia/J.S.Bach/Duette/violino-ii.ly +++ b/mutopia/J.S.Bach/Duette/violino-ii.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; $violino_ii = \notes\relative c''{ R1*8 | @@ -101,4 +101,4 @@ $violino_ii_staff = \context Staff = violino < \$violino_ii \$global_ii > -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Duette/violino-part.ly b/mutopia/J.S.Bach/Duette/violino-part.ly index ff19bd3fd1..3468a5def4 100644 --- a/mutopia/J.S.Bach/Duette/violino-part.ly +++ b/mutopia/J.S.Bach/Duette/violino-part.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % { diff --git a/mutopia/J.S.Bach/Duette/violino-viola.ly b/mutopia/J.S.Bach/Duette/violino-viola.ly index df41210a36..3292c5a2c0 100644 --- a/mutopia/J.S.Bach/Duette/violino-viola.ly +++ b/mutopia/J.S.Bach/Duette/violino-viola.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % { \include "violino-i.ly"; diff --git a/mutopia/J.S.Bach/Duette/violino-violoncello.ly b/mutopia/J.S.Bach/Duette/violino-violoncello.ly index 16cb715e15..a1a9e166e4 100644 --- a/mutopia/J.S.Bach/Duette/violino-violoncello.ly +++ b/mutopia/J.S.Bach/Duette/violino-violoncello.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % { \include "violino-i.ly"; diff --git a/mutopia/J.S.Bach/Duette/violoncello-i.ly b/mutopia/J.S.Bach/Duette/violoncello-i.ly index 9b42424dad..fc3ff5691f 100644 --- a/mutopia/J.S.Bach/Duette/violoncello-i.ly +++ b/mutopia/J.S.Bach/Duette/violoncello-i.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; $violoncello_i = \notes\relative c{ \property Voice.beamAutoEnd = "3/8" diff --git a/mutopia/J.S.Bach/Duette/violoncello-ii.ly b/mutopia/J.S.Bach/Duette/violoncello-ii.ly index 19f5dfacfa..7e1e770313 100644 --- a/mutopia/J.S.Bach/Duette/violoncello-ii.ly +++ b/mutopia/J.S.Bach/Duette/violoncello-ii.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; $violoncello_ii = \notes\relative c{ r2 a'2|c e,| f8(e)d2 e8()fis| g a bes2 a8()gis| diff --git a/mutopia/J.S.Bach/Duette/violoncello-part.ly b/mutopia/J.S.Bach/Duette/violoncello-part.ly index 10878f83e6..6c79bc7b8b 100644 --- a/mutopia/J.S.Bach/Duette/violoncello-part.ly +++ b/mutopia/J.S.Bach/Duette/violoncello-part.ly @@ -8,7 +8,7 @@ enteredby = "jcn"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index f10fa350ab..a0f127a41d 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -12,7 +12,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; % upper = \context Staff \notes\relative c { upper = \context Staff=upper \notes\relative c { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index 24fcc6d71e..0d8b15a7dd 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -10,7 +10,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; upper = \context Staff \notes\relative c{ \context Voice=i \property Voice . textStyle = "italic" diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index 07048f3d24..75fde5d4cb 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; one = \context Staff \notes\relative c { \context Voice=i diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 213589b9d8..3bd84c5f3e 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; upper = \context Staff \notes\relative c{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index 16edc408f4..b83aa3bf1e 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; one = \context Staff \notes\relative c{ diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly index 3b11fae767..bab72175af 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly index 622ccb12fd..96e750a706 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly @@ -99,4 +99,4 @@ allemande = \context Staff \notes< > -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly index d835f9b3c9..66fd70bc0a 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "allemande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly index 9741a5e4f5..8d6e0b8f5f 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly index 123c6de140..1a8ab22cc6 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly @@ -88,4 +88,4 @@ courante = \context Staff \notes< \$courante_b > -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly index 02b676844a..0901b5407a 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "courante-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly index f5b0528995..2956b1feed 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly index 51e81a8571..9ca1079345 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly @@ -102,4 +102,4 @@ gigue = \notes< \$gigue_b > -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly index fff70f59e9..b6a1ad56e0 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "gigue-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly index ce6c6c983b..0ab8471e10 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly @@ -16,7 +16,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly index 410cc6d946..1393a3d5b0 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly @@ -148,4 +148,4 @@ menuetto_ii = \context Staff\notes \relative c { d2. } -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly index 1d8cde31b7..5a6c36dbd9 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly @@ -17,7 +17,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "menuetto-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly index 977e6d24fd..3714541670 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly index dbc6e7b2d8..cc2d406fbb 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly @@ -194,4 +194,4 @@ prelude = \context Staff \notes< \$prelude_b > -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly index ed4be20863..669726565f 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly index 320035f023..0555aca760 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly index c47147d957..2ca87484a4 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly @@ -89,4 +89,4 @@ sarabande = \context Staff \notes< \$sarabande_b > -\version "1.1.55"; +\version "1.1.66"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly index 47e8abd46a..6d95062cc5 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.1.55"; +\version "1.1.66"; \include "sarabande-urtext.ly"; diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index 1a1dfb0256..5606351562 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ TODO: use autobeaming. %} -\version "1.1.52"; +\version "1.1.66"; tenor = diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index 8e76f0d347..0dd39148e9 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -19,7 +19,7 @@ * auto beaming %} -\version "1.1.52"; +\version "1.1.66"; \include "nederlands.ly" % for correct parsing of note names diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index 77af81893f..27c4afdaf0 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "1.1.52"; +\version "1.1.66"; % should do programmable input. soprane = diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly index ac73c392b1..19c30d875d 100644 --- a/mutopia/L.Mozart/sinfonia.ly +++ b/mutopia/L.Mozart/sinfonia.ly @@ -383,4 +383,4 @@ bassocontinuo = \notes \relative c'{ \midi{ \tempo 4 = 100; } } -\version "1.1.52"; +\version "1.1.66"; diff --git a/mutopia/N.W.Gade/brass.ly b/mutopia/N.W.Gade/brass.ly index 0ed9fa42a7..66d81e748d 100644 --- a/mutopia/N.W.Gade/brass.ly +++ b/mutopia/N.W.Gade/brass.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; corI=\notes\relative c'' { \key c; diff --git a/mutopia/N.W.Gade/parts.ly b/mutopia/N.W.Gade/parts.ly index 6fefbe715f..c5d9c84237 100644 --- a/mutopia/N.W.Gade/parts.ly +++ b/mutopia/N.W.Gade/parts.ly @@ -11,7 +11,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + % Process with 'ly2dvi -s parts.ly' to get the separate parts. -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "wood.ly" diff --git a/mutopia/N.W.Gade/score.ly b/mutopia/N.W.Gade/score.ly index 1d68186fa3..ff9e2dd852 100644 --- a/mutopia/N.W.Gade/score.ly +++ b/mutopia/N.W.Gade/score.ly @@ -8,7 +8,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + "Statens Musikbibliotek, Stockholm, Sweden"; } -\version "1.1.52"; +\version "1.1.66"; \include "global.ly" \include "wood.ly" diff --git a/mutopia/N.W.Gade/strings.ly b/mutopia/N.W.Gade/strings.ly index 9a831dbf58..ea6716e96b 100644 --- a/mutopia/N.W.Gade/strings.ly +++ b/mutopia/N.W.Gade/strings.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; viI=\notes\relative c'' { diff --git a/mutopia/N.W.Gade/wood.ly b/mutopia/N.W.Gade/wood.ly index 8e25033682..19645bc252 100644 --- a/mutopia/N.W.Gade/wood.ly +++ b/mutopia/N.W.Gade/wood.ly @@ -1,4 +1,4 @@ -\version "1.1.52"; +\version "1.1.66"; flauto=\notes\relative c''' { \clef "treble"; diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly index 4187780dc0..e96e58e894 100644 --- a/mutopia/W.A.Mozart/cadenza.ly +++ b/mutopia/W.A.Mozart/cadenza.ly @@ -11,7 +11,7 @@ copyright = "public domain"; Tested Features: cadenza mode %} -\version "1.1.52"; +\version "1.1.66"; cad = \notes \relative c' { diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index 4987ce2aaf..2562ff27a8 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.1.52"; +\version "1.1.66"; allegro = \notes diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly index e3a08a46fd..06eb3754ff 100644 --- a/mutopia/gallina.ly +++ b/mutopia/gallina.ly @@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper definition below. --MB %} -\version "1.1.52"; +\version "1.1.66"; global = \notes { \property StaffGroup.timeSignatureStyle = "old" diff --git a/scripts/abc2ly.py b/scripts/abc2ly.py index dead360f7e..d06608da23 100644 --- a/scripts/abc2ly.py +++ b/scripts/abc2ly.py @@ -8,7 +8,8 @@ # ABC standard v1.6: http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt # -program_name = 'abc-to-ly' + +program_name = 'abc2ly' version = '@TOPLEVEL_VERSION@' import __main__ import getopt @@ -22,11 +23,26 @@ except: sys.exit (1) +voice_idx_dict = {} + + header = {} lyrics = [] voices = [] +current_voice_idx = -1 +current_lyric_idx = -1 + +def select_voice (name): + if not voice_idx_dict.has_key (name): + voices.append ('') + voice_idx_dict[name] = len (voices) -1 + __main__.current_voice_idx = voice_idx_dict[name] + +# assert 0 +# current_voice_idx >= 0 + global_voice_stuff = [] -default_len = 4 +default_len = 8 global_key = [0] * 7 # UGH names = ["One", "Two", "Three"] DIGITS='0123456789' @@ -54,49 +70,56 @@ class Rational: pass -def dump_global (): - print ("global = \\notes{") +def dump_global (outf): + outf.write ("\nglobal = \\notes{") for i in global_voice_stuff: - print (i); - print ("}") + outf.write (i); + outf.write ("\n}") -def dump_header (hdr): - print '\\header {' - for k in hdr.keys (): - print '%s = "%s";\n'% (k,hdr[k]) - print '}' +def dump_header (outf,hdr): + outf.write ('\\header {') + ks = hdr.keys () + ks.sort () + for k in ks: + outf.write ('\n%s = "%s";\n'% (k,hdr[k])) + outf.write ('}') -def dump_lyrics (): +def dump_lyrics (outf): for i in range (len (lyrics)): - print ("verse%s = \\lyrics {" % names [i]) - print (lyrics [i]) - print ("}") - -def dump_voices (): - for i in range (len (voices)): - print ("voice%s = \\notes {" % names [i]) - print (voices [i]) - print ("}") + outf.write ("\nverse%s = \\lyrics {" % names [i]) + outf.write ("\n" + lyrics [i]) + outf.write ("\n}") + +def dump_voices (outf): + ks = voice_idx_dict.keys() + ks.sort () + for k in ks: + outf.write ("\nvoice%s = \\notes {" % k) + outf.write ("\n" + voices [voice_idx_dict[k]]) + outf.write ("\n}") -def dump_score (): - print r"""\score{ +def dump_score (outf): + outf.write (r"""\score{ \notes< - \global""" + \global""") - for i in range (len (voices)): - print (" \\context Staff=%s \\voice%s" % - (names [i], names [i])) + ks = voice_idx_dict.keys (); + ks.sort () + for k in ks: + outf.write ("\n \\context Staff=\"%s\" \\$voice%s " % (k,k))# ugh for i in range (len (lyrics)): j = i if j >= len (voices): j = len (voices) - 1 - print (" \\context Lyrics=%s \\addlyrics \\voice%s \\verse%s" % + outf.write ("\n \\context Lyrics=\"%s\" \\addlyrics \\$voice%s \\$verse%s " % (names [i], names [j], names [i])) - print (" >") - dump_header (header) - #print "%%%s" % global_voice_stuff, 1 - print ("}") + outf.write ("\n >") + dump_header (outf ,header) + outf.write (r""" +\paper {} +\midi {} +}""") def set_default_length (s): m = re.search ('1/([0-9]+)', s) @@ -218,17 +241,20 @@ def compute_key (k): return key_table tup_lookup = { + '2' : '3/2', '3' : '2/3', '4' : '4/3', '5' : '4/5', '6' : '4/6', + '7' : '6/7', + '9': '8/9', } def try_parse_tuplet_begin (str, state): - if str and str[0] in DIGITS: - dig = str[0] - str = str[1:] + if re.match ('\([0-9]', str): + dig = str[1] + str = str[2:] state.parsing_tuplet = 1 voices_append ("\\times %s {" % tup_lookup[dig]) @@ -248,21 +274,30 @@ def header_append (key, a): s = header[key] + "\n" header [key] = s + a -def lyrics_append (a): - i = len (lyrics) - 1 - if i < 0: - i = 0 - if len (lyrics) <= i: - lyrics.append ('') - lyrics [i] = lyrics [i] + a + "\n" - -def voices_append (a): - i = len (voices) - 1 - if i < 0: - i = 0 - if len (voices) <= i: - voices.append ('') - voices [i] = voices [i] + a + "\n" +def stuff_append (stuff, idx, a): + if not stuff: + stuff.append ('') + + v = stuff[idx] + + #wordwrap + linelen = len (v) - string.rfind(v, '\n') + if linelen + len (a) > 80: + v = v + '\n' + v = v + a + ' ' + stuff [idx] = v + + + +def voices_append(a): + if current_voice_idx < 0: + select_voice ('default') + + stuff_append (voices, current_voice_idx, a) + +def lyrics_append(a): + stuff_append (lyrics, current_lyric_idx, a) + def try_parse_header_line (ln): m = re.match ('^(.): *(.*)$', ln) @@ -295,12 +330,17 @@ def try_parse_header_line (ln): header ['subtitle'] = a if g == 'L': set_default_length (ln) + if g == 'V': + a = re.sub (' .*$', '', a) + select_voice (a) if g == 'W': if not len (a): lyrics.append ('') else: lyrics_append (a); - return m + + return '' + return ln def pitch_to_mudela_name (name, acc): s = '' @@ -349,11 +389,75 @@ def duration_to_mudela_duration (multiply_tup, defaultlen, dots): class Parser_state: def __init__ (self): + self.next_articulation = '' self.next_dots = 0 self.next_den = 1 self.parsing_tuplet = 0 +# return (num,den,dots) +def parse_duration (str, parser_state): + num = 0 + den = parser_state.next_den + parser_state.next_den = 1 + + (str, num) = parse_num (str) + if not num: + num = 1 + + if str[0] == '/': + while str[0] == '/': + str= str[1:] + d = 2 + if str[0] in DIGITS: + (str, d) =parse_num (str) + + den = den * d + + current_dots = parser_state.next_dots + parser_state.next_dots = 0 + while str[0] == '>': + str = str [1:] + current_dots = current_dots + 1; + parser_state.next_den = parser_state.next_den * 2 + + while str[0] == '<': + str = str [1:] + den = den * 2 + parser_state.next_dots = parser_state.next_dots + 1 + + + return (str, num,den,current_dots) + + +def try_parse_rest (str, parser_state): + if not str or str[0] <> 'z': + return str + + str = str[1:] + + (str, num,den,d) = parse_duration (str, parser_state) + voices_append ('r%s' % duration_to_mudela_duration ((num,den), default_len, d)) + + return str + +def try_parse_articulation (str, state): + + if str and str[0] == '.': + state.next_articulation = state.next_articulation + '-.' + str = str[1:] + + # s7m2 input doesnt care about spaces + if re.match('[ \t]*\(', str): + str = string.lstrip (str) + + slur_begin =0 + while str and str[0] == '(' and str[1] not in DIGITS: + slur_begin = slur_begin + 1 + state.next_articulation = state.next_articulation + '(' + str = str[1:] + return str + # WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP ! def try_parse_note (str, parser_state): mud = '' @@ -361,11 +465,8 @@ def try_parse_note (str, parser_state): slur_begin =0 if not str: return str - - if str[0] == '(': - slur_begin = 1 - str = str[1:] + articulation ='' acc = 0 if str[0] in '^=_': c = str[0] @@ -397,45 +498,31 @@ def try_parse_note (str, parser_state): octave = octave + 1 str = str[1:] - num = 0 - den = parser_state.next_den - parser_state.next_den = 1 + (str, num,den,current_dots) = parse_duration (str, parser_state) - (str, num) = parse_num (str) - if not num: - num = 1 - - if str[0] == '/': - while str[0] == '/': - str= str[1:] - d = 2 - if str[0] in DIGITS: - (str, d) =parse_num (str) - - den = den * d - current_dots = parser_state.next_dots - parser_state.next_dots = 0 - while str[0] == '>': - str = str [1:] - current_dots = current_dots + 1; - parser_state.next_den = parser_state.next_den * 2 + if re.match('[ \t]*\)', str): + str = string.lstrip (str) - while str[0] == '<': - str = str [1:] - den = den * 2 - parser_state.next_dots = parser_state.next_dots + 1 - - + slur_end =0 + while str and str[0] == ')': + slur_end = slur_end + 1 + str = str[1:] + + if slur_end: + voices_append ('%s' % ')' *slur_end ) voices_append ("%s%s%s" % (pitch_to_mudela_name (notename, acc + global_key[notename]), octave_to_mudela_quotes (octave), duration_to_mudela_duration ((num,den), default_len, current_dots))) - slur_end =0 - if str[0] == ')': - slur_begin = 1 - str = str[1:] + if parser_state.next_articulation: + articulation = articulation + parser_state.next_articulation + parser_state.next_articulation = '' + + voices_append (articulation) + if slur_begin: + voices_append ('%s' % '(' * slur_begin ) return str @@ -447,7 +534,7 @@ def junk_space (str): return str -def try_parse_guitar_chord (str): +def try_parse_guitar_chord (str, state): if str and str[0] == '"': str = str[1:] gc = '' @@ -458,8 +545,7 @@ def try_parse_guitar_chord (str): if str: str = str[1:] - sys.stderr.write ("warning: ignoring guitar chord: %s\n" % gc) - + state.next_articulation = "-\"%s\"" % gc return str def try_parse_escape (str): @@ -481,8 +567,13 @@ def try_parse_escape (str): # :: left-right repeat # -def try_parse_bar (str): +def try_parse_bar (str,state): if str and str[0] == '|': + + if state.parsing_tuplet: + state.parsing_tuplet =0 + voices_append ('} ') + bs = '' str = str[1:] if str: @@ -498,32 +589,57 @@ def try_parse_bar (str): str = str[1:] if str and str[:2] == '[|': + if state.parsing_tuplet: + state.parsing_tuplet =0 + voices_append ('} ') sys.stderr.write ("warning: thick-thin bar kludge\n") voices_append ('\\bar "||";') str = str[2:] if str and str[:2] == ':|': + if state.parsing_tuplet: + state.parsing_tuplet =0 + voices_append ('} ') + sys.stderr.write ("warning: repeat kludge\n") voices_append ('\\bar ":|:";') str = str[2:] if str and str[:2] == '::': + if state.parsing_tuplet: + state.parsing_tuplet =0 + voices_append ('} ') + sys.stderr.write ("warning: repeat kludge\n") voices_append ('\\bar ":|:";') str = str[2:] return str +def try_parse_tie (str): + if str and str[0] == '-': + str = str[1:] + voices_append (' ~ ') + return str def try_parse_chord_delims (str): if str and str[0] == '[': str = str[1:] voices_append ('<') + ch = '' if str and str[0] == ']': str = str[1:] - voices_append ('>') + ch = '>' + + end = 0 + while str and str[0] == ')': + end = end + 1 + str = str[1:] + + voices_append ("\\spanrequest \\stop \"slur\"" * end); + voices_append (ch) return str def try_parse_grace_delims (str): @@ -537,43 +653,57 @@ def try_parse_grace_delims (str): return str -# Try nibbling characters off until the line doesn't change. -def try_parse_body_line (ln, state): - prev_ln = '' - while ln != prev_ln: - prev_ln = ln - ln = try_parse_chord_delims (ln) - ln = try_parse_note (ln, state) - ln = try_parse_bar (ln) - ln = try_parse_escape (ln) - ln = try_parse_guitar_chord (ln) - ln = try_parse_tuplet_begin (ln, state) - ln = try_parse_group_end (ln, state) - ln = try_parse_grace_delims (ln) - ln = junk_space (ln) - - if ln: - sys.stderr.write ("Huh? Don't understand `%s'\n" % ln) - - +happy_count = 100 def parse_file (fn): f = open (fn) ls = f.readlines () - head = 1 state = Parser_state () - for l in ls: - if re.match ('^[\t ]*(%.*)?$', l): + lineno = 0 + sys.stderr.write ("Parsing line ... ") + sys.stderr.flush () + + for ln in ls: + lineno = lineno + 1 + + if not (lineno % happy_count): + sys.stderr.write ('[%d]'% lineno) + sys.stderr.flush () + if re.match ('^[\t ]*(%.*)?$', ln): continue - - if head: - m = try_parse_header_line (l) - if not m: - head = 0 + m = re.match ('^(.*?)%(.*)$',ln) + if m: + voices_append ('%% %s\n' % m.group(2)) + ln = m.group (1) - if not head: - m = try_parse_body_line (l,state) + orig_ln = ln + + ln = try_parse_header_line (ln) + + # Try nibbling characters off until the line doesn't change. + prev_ln = '' + while ln != prev_ln: + prev_ln = ln + ln = try_parse_chord_delims (ln) + ln = try_parse_rest (ln, state) + ln = try_parse_articulation (ln,state) + ln = try_parse_note (ln, state) + ln = try_parse_bar (ln, state) + ln = try_parse_tie (ln) + ln = try_parse_escape (ln) + ln = try_parse_guitar_chord (ln, state) + ln = try_parse_tuplet_begin (ln, state) + ln = try_parse_group_end (ln, state) + ln = try_parse_grace_delims (ln) + ln = junk_space (ln) + + if ln: + msg = "%s: %d: Huh? Don't understand\n" % (fn, lineno) + sys.stderr.write (msg) + left = orig_ln[0:-len (ln)] + sys.stderr.write (left + '\n') + sys.stderr.write (' ' * len (left) + ln + '\n') def identify(): @@ -581,24 +711,27 @@ def identify(): def help (): print r""" -This is a disfunctional ABC to mudela convertor. It only gulps input, and -says huh when confused. Go ahead and fix me. +This is an ABC to mudela convertor. -Usage: abc-2-ly INPUTFILE +Usage: abc2ly INPUTFILE -h, --help this help. +-o, --output set output filename """ identify() -(options, files) = getopt.getopt (sys.argv[1:], 'h', ['help']) +(options, files) = getopt.getopt (sys.argv[1:], 'o:h', ['help', 'output=']) +out_filename = '' for opt in options: o = opt[0] a = opt[1] if o== '--help' or o == '-h': help () + if o == '--output' or o == '-o': + out_filename = a else: print o raise getopt.error @@ -607,11 +740,19 @@ for opt in options: for f in files: if f == '-': f = '' + parse_file (f) - dump_global () - dump_lyrics () - dump_voices () - dump_score () + outf = None + if out_filename: + outf = open (out_filename, 'w') + else: + outf = sys.stdout + + + dump_global (outf) + dump_lyrics (outf) + dump_voices (outf) + dump_score (outf) diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 47308fcf54..97bd9af2c8 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -385,6 +385,17 @@ if 1: conversions.append ((1,1,65), conv, 'slurdash -> slurDash, keyoctaviation -> keyOctaviation') +if 1: + def conv(lines): + newlines =[] + for x in lines: + x = re.sub ('\\repeat +\"?semi\"?','\\repeat "volta"', x) + newlines.append (x) + return newlines + + conversions.append ((1,1,66), conv, + 'semi -> volta') + ############################ diff --git a/stepmake/stepmake/tex-rules.make b/stepmake/stepmake/tex-rules.make index 52b8ea7e39..f48e99c7d0 100644 --- a/stepmake/stepmake/tex-rules.make +++ b/stepmake/stepmake/tex-rules.make @@ -8,9 +8,10 @@ $(outdir)/%.dvi: $(outdir)/%.tex $(outdir)/%.dvi: $(outdir)/%.latex (cd $(outdir)&& \ latex \\nonstopmode \\input $(